; 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_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 [3 x i8] c"Gl\00" @.str146 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str147 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str148 = private unnamed_addr constant [3 x i8] c"to\00" @.str149 = private unnamed_addr constant [6 x i8] c"chain\00" @.str150 = private unnamed_addr constant [6 x i8] c"delay\00" @.str151 = private unnamed_addr constant [6 x i8] c"value\00" @.str152 = private unnamed_addr constant [5 x i8] c"stop\00" @.str153 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str154 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str155 = private unnamed_addr constant [2 x i8] c"[\00" @.str156 = private unnamed_addr constant [3 x i8] c"..\00" @.str157 = private unnamed_addr constant [2 x i8] c"]\00" @.str158 = private unnamed_addr constant [2 x i8] c"]\00" @.str159 = private unnamed_addr constant [2 x i8] c"(\00" @.str160 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str161 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str162 = private unnamed_addr constant [2 x i8] c"-\00" @.str163 = private unnamed_addr constant [2 x i8] c"-\00" @.str164 = private unnamed_addr constant [2 x i8] c"~\00" @.str165 = private unnamed_addr constant [2 x i8] c"~\00" @.str166 = private unnamed_addr constant [4 x i8] c"not\00" @.str167 = private unnamed_addr constant [4 x i8] c"not\00" @.str168 = private unnamed_addr constant [2 x i8] c"*\00" @.str169 = private unnamed_addr constant [2 x i8] c"/\00" @.str170 = private unnamed_addr constant [2 x i8] c"%\00" @.str171 = private unnamed_addr constant [3 x i8] c"<<\00" @.str172 = private unnamed_addr constant [3 x i8] c">>\00" @.str173 = private unnamed_addr constant [2 x i8] c"&\00" @.str174 = private unnamed_addr constant [2 x i8] c"+\00" @.str175 = private unnamed_addr constant [2 x i8] c"-\00" @.str176 = private unnamed_addr constant [2 x i8] c"|\00" @.str177 = private unnamed_addr constant [2 x i8] c"^\00" @.str178 = private unnamed_addr constant [2 x i8] c"<\00" @.str179 = private unnamed_addr constant [3 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 [3 x i8] c"==\00" @.str183 = private unnamed_addr constant [3 x i8] c"!=\00" @.str184 = private unnamed_addr constant [4 x i8] c"and\00" @.str185 = private unnamed_addr constant [4 x i8] c"and\00" @.str186 = private unnamed_addr constant [3 x i8] c"or\00" @.str187 = private unnamed_addr constant [3 x i8] c"or\00" @.str188 = private unnamed_addr constant [2 x i8] c"{\00" @.str189 = private unnamed_addr constant [2 x i8] c"}\00" @.str190 = private unnamed_addr constant [2 x i8] c":\00" @.str191 = private unnamed_addr constant [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 [43 x i8] c"expected newline or ';' between statements\00" @.str197 = private unnamed_addr constant [2 x i8] c"}\00" @.str198 = private unnamed_addr constant [4 x i8] c"let\00" @.str199 = private unnamed_addr constant [4 x i8] c"var\00" @.str200 = private unnamed_addr constant [4 x i8] c"var\00" @.str201 = private unnamed_addr constant [2 x i8] c":\00" @.str202 = private unnamed_addr constant [2 x i8] c"=\00" @.str203 = private unnamed_addr constant [7 x i8] c"return\00" @.str204 = private unnamed_addr constant [2 x i8] c"}\00" @.str205 = private unnamed_addr constant [3 x i8] c"if\00" @.str206 = private unnamed_addr constant [5 x i8] c"else\00" @.str207 = private unnamed_addr constant [3 x i8] c"if\00" @.str208 = private unnamed_addr constant [6 x i8] c"while\00" @.str209 = private unnamed_addr constant [4 x i8] c"for\00" @.str210 = private unnamed_addr constant [2 x i8] c"(\00" @.str211 = private unnamed_addr constant [3 x i8] c"..\00" @.str212 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str213 = private unnamed_addr constant [8 x i8] c"machine\00" @.str214 = private unnamed_addr constant [2 x i8] c"{\00" @.str215 = private unnamed_addr constant [2 x i8] c"}\00" @.str216 = private unnamed_addr constant [2 x i8] c"=\00" @.str217 = private unnamed_addr constant [2 x i8] c"}\00" @.str218 = private unnamed_addr constant [5 x i8] c"emit\00" @.str219 = private unnamed_addr constant [7 x i8] c"become\00" @.str220 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str221 = private unnamed_addr constant [7 x i8] c"enable\00" @.str222 = private unnamed_addr constant [8 x i8] c"disable\00" @.str223 = private unnamed_addr constant [7 x i8] c"enable\00" @.str224 = private unnamed_addr constant [6 x i8] c"layer\00" @.str225 = private unnamed_addr constant [6 x i8] c"layer\00" @.str226 = private unnamed_addr constant [7 x i8] c"system\00" @.str227 = private unnamed_addr constant [7 x i8] c"system\00" @.str228 = private unnamed_addr constant [3 x i8] c"on\00" @.str229 = private unnamed_addr constant [7 x i8] c"attach\00" @.str230 = private unnamed_addr constant [3 x i8] c"on\00" @.str231 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" @.str232 = private unnamed_addr constant [2 x i8] c"{\00" @.str233 = private unnamed_addr constant [7 x i8] c"detach\00" @.str234 = private unnamed_addr constant [3 x i8] c"on\00" @.str235 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" @.str236 = private unnamed_addr constant [6 x i8] c"break\00" @.str237 = private unnamed_addr constant [9 x i8] c"continue\00" @.str238 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str239 = private unnamed_addr constant [6 x i8] c"match\00" @.str240 = private unnamed_addr constant [2 x i8] c"{\00" @.str241 = private unnamed_addr constant [2 x i8] c"}\00" @.str242 = private unnamed_addr constant [2 x i8] c",\00" @.str243 = private unnamed_addr constant [3 x i8] c"=>\00" @.str244 = private unnamed_addr constant [2 x i8] c"{\00" @.str245 = private unnamed_addr constant [2 x i8] c"}\00" @.str246 = private unnamed_addr constant [2 x i8] c"=\00" @.str247 = private unnamed_addr constant [3 x i8] c"+=\00" @.str248 = private unnamed_addr constant [3 x i8] c"-=\00" @.str249 = private unnamed_addr constant [3 x i8] c"*=\00" @.str250 = private unnamed_addr constant [3 x i8] c"/=\00" @.str251 = private unnamed_addr constant [2 x i8] c":\00" @.str252 = private unnamed_addr constant [2 x i8] c"=\00" @.str253 = private unnamed_addr constant [2 x i8] c":\00" @.str254 = private unnamed_addr constant [2 x i8] c"=\00" @.str255 = private unnamed_addr constant [4 x i8] c"new\00" @.str256 = private unnamed_addr constant [6 x i8] c"match\00" @.str257 = private unnamed_addr constant [8 x i8] c"machine\00" @.str258 = private unnamed_addr constant [7 x i8] c"become\00" @.str259 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str260 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str261 = private unnamed_addr constant [6 x i8] c"query\00" @.str262 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str263 = private unnamed_addr constant [6 x i8] c"scene\00" @.str264 = private unnamed_addr constant [6 x i8] c"layer\00" @.str265 = private unnamed_addr constant [8 x i8] c"handler\00" @.str266 = private unnamed_addr constant [9 x i8] c"property\00" @.str267 = private unnamed_addr constant [6 x i8] c"model\00" @.str268 = private unnamed_addr constant [5 x i8] c"enum\00" @.str269 = private unnamed_addr constant [6 x i8] c"event\00" @.str270 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str271 = private unnamed_addr constant [9 x i8] c"function\00" @.str272 = private unnamed_addr constant [4 x i8] c"let\00" @.str273 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str274 = private unnamed_addr constant [4 x i8] c"var\00" @.str275 = private unnamed_addr constant [6 x i8] c"const\00" @.str276 = private unnamed_addr constant [3 x i8] c"if\00" @.str277 = private unnamed_addr constant [5 x i8] c"else\00" @.str278 = private unnamed_addr constant [6 x i8] c"while\00" @.str279 = private unnamed_addr constant [4 x i8] c"for\00" @.str280 = private unnamed_addr constant [7 x i8] c"return\00" @.str281 = private unnamed_addr constant [7 x i8] c"import\00" @.str282 = private unnamed_addr constant [8 x i8] c"program\00" @.str283 = private unnamed_addr constant [6 x i8] c"entry\00" @.str284 = private unnamed_addr constant [3 x i8] c"ui\00" @.str285 = private unnamed_addr constant [6 x i8] c"break\00" @.str286 = private unnamed_addr constant [9 x i8] c"continue\00" @.str287 = private unnamed_addr constant [4 x i8] c"and\00" @.str288 = private unnamed_addr constant [3 x i8] c"or\00" @.str289 = private unnamed_addr constant [4 x i8] c"not\00" @.str290 = private unnamed_addr constant [5 x i8] c"true\00" @.str291 = private unnamed_addr constant [6 x i8] c"false\00" @.str292 = private unnamed_addr constant [5 x i8] c"null\00" @.str293 = private unnamed_addr constant [2 x i8] c"(\00" @.str294 = private unnamed_addr constant [2 x i8] c"'\00" @.str295 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\00" @.str296 = private unnamed_addr constant [2 x i8] c")\00" @.str297 = private unnamed_addr constant [2 x i8] c":\00" @.str298 = private unnamed_addr constant [2 x i8] c",\00" @.str299 = private unnamed_addr constant [2 x i8] c")\00" @.str300 = private unnamed_addr constant [5 x i8] c"void\00" @.str301 = private unnamed_addr constant [3 x i8] c"->\00" @.str302 = private unnamed_addr constant [2 x i8] c"{\00" @.str303 = private unnamed_addr constant [2 x i8] c"}\00" @.str304 = private unnamed_addr constant [7 x i8] c"export\00" @.str305 = private unnamed_addr constant [9 x i8] c"internal\00" @.str306 = private unnamed_addr constant [9 x i8] c"function\00" @.str307 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00" @.str308 = private unnamed_addr constant [2 x i8] c"}\00" @.str309 = private unnamed_addr constant [2 x i8] c"_\00" @.str310 = private unnamed_addr constant [3 x i8] c"OS\00" @.str311 = private unnamed_addr constant [11 x i8] c"Windows_NT\00" @.str312 = private unnamed_addr constant [1 x i8] c"\00" @.str313 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" @.str314 = private unnamed_addr constant [1 x i8] c"\00" @.str315 = private unnamed_addr constant [5 x i8] c"bin/\00" @.str316 = private unnamed_addr constant [5 x i8] c"PATH\00" @.str317 = private unnamed_addr constant [1 x i8] c"\00" @.str318 = private unnamed_addr constant [3 x i8] c"rb\00" @.str319 = private unnamed_addr constant [5 x i8] c".exe\00" @.str320 = private unnamed_addr constant [3 x i8] c"rb\00" @.str321 = private unnamed_addr constant [1 x i8] c"\00" @.str322 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" @.str323 = 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" @.str324 = private unnamed_addr constant [2 x i8] c"@\00" @.str325 = private unnamed_addr constant [7 x i8] c"export\00" @.str326 = private unnamed_addr constant [7 x i8] c"Public\00" @.str327 = private unnamed_addr constant [3 x i8] c"On\00" @.str328 = private unnamed_addr constant [2 x i8] c"(\00" @.str329 = private unnamed_addr constant [2 x i8] c")\00" @.str330 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str331 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" @.str332 = private unnamed_addr constant [2 x i8] c"(\00" @.str333 = private unnamed_addr constant [2 x i8] c")\00" @.str334 = private unnamed_addr constant [10 x i8] c"OnDespawn\00" @.str335 = private unnamed_addr constant [2 x i8] c"(\00" @.str336 = private unnamed_addr constant [2 x i8] c",\00" @.str337 = private unnamed_addr constant [2 x i8] c":\00" @.str338 = private unnamed_addr constant [2 x i8] c")\00" @.str339 = private unnamed_addr constant [9 x i8] c"OnAttach\00" @.str340 = private unnamed_addr constant [2 x i8] c"(\00" @.str341 = private unnamed_addr constant [2 x i8] c")\00" @.str342 = private unnamed_addr constant [9 x i8] c"OnDetach\00" @.str343 = private unnamed_addr constant [2 x i8] c"(\00" @.str344 = private unnamed_addr constant [2 x i8] c")\00" @.str345 = private unnamed_addr constant [9 x i8] c"OnEnable\00" @.str346 = private unnamed_addr constant [2 x i8] c"(\00" @.str347 = private unnamed_addr constant [2 x i8] c")\00" @.str348 = private unnamed_addr constant [10 x i8] c"OnDisable\00" @.str349 = private unnamed_addr constant [2 x i8] c"(\00" @.str350 = private unnamed_addr constant [2 x i8] c")\00" @.str351 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str352 = private unnamed_addr constant [6 x i8] c"Start\00" @.str353 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str354 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str355 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str356 = private unnamed_addr constant [6 x i8] c"Owned\00" @.str357 = private unnamed_addr constant [7 x i8] c"Server\00" @.str358 = private unnamed_addr constant [7 x i8] c"server\00" @.str359 = private unnamed_addr constant [10 x i8] c"Predicted\00" @.str360 = private unnamed_addr constant [10 x i8] c"predicted\00" @.str361 = private unnamed_addr constant [9 x i8] c"ToServer\00" @.str362 = private unnamed_addr constant [9 x i8] c"toserver\00" @.str363 = private unnamed_addr constant [10 x i8] c"ToClients\00" @.str364 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str365 = private unnamed_addr constant [7 x i8] c"System\00" @.str366 = private unnamed_addr constant [7 x i8] c"Update\00" @.str367 = private unnamed_addr constant [2 x i8] c"(\00" @.str368 = private unnamed_addr constant [2 x i8] c")\00" @.str369 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" @.str370 = private unnamed_addr constant [2 x i8] c"(\00" @.str371 = private unnamed_addr constant [2 x i8] c",\00" @.str372 = private unnamed_addr constant [2 x i8] c")\00" @.str373 = private unnamed_addr constant [10 x i8] c"Namespace\00" @.str374 = private unnamed_addr constant [2 x i8] c"(\00" @.str375 = private unnamed_addr constant [2 x i8] c")\00" @.str376 = private unnamed_addr constant [14 x i8] c"deterministic\00" @.str377 = private unnamed_addr constant [11 x i8] c"ClearColor\00" @.str378 = private unnamed_addr constant [2 x i8] c"(\00" @.str379 = private unnamed_addr constant [2 x i8] c")\00" @.str380 = private unnamed_addr constant [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 [7 x i8] c"import\00" @.str384 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" @.str385 = private unnamed_addr constant [5 x i8] c"enum\00" @.str386 = private unnamed_addr constant [6 x i8] c"event\00" @.str387 = private unnamed_addr constant [9 x i8] c"property\00" @.str388 = private unnamed_addr constant [6 x i8] c"model\00" @.str389 = private unnamed_addr constant [6 x i8] c"scene\00" @.str390 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str391 = private unnamed_addr constant [8 x i8] c"handler\00" @.str392 = private unnamed_addr constant [7 x i8] c"server\00" @.str393 = private unnamed_addr constant [7 x i8] c"model_\00" @.str394 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str395 = private unnamed_addr constant [7 x i8] c"model_\00" @.str396 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str397 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str398 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str399 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str400 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str401 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str402 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str403 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str404 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str405 = private unnamed_addr constant [6 x i8] c"Start\00" @.str406 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str407 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str408 = private unnamed_addr constant [3 x i8] c"ui\00" @.str409 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str410 = private unnamed_addr constant [4 x i8] c"var\00" @.str411 = private unnamed_addr constant [6 x i8] c"const\00" @.str412 = private unnamed_addr constant [9 x i8] c"function\00" @.str413 = private unnamed_addr constant [7 x i8] c"extern\00" @.str414 = private unnamed_addr constant [6 x i8] c"entry\00" @.str415 = private unnamed_addr constant [5 x i8] c"test\00" @.str416 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00" @.str417 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" @.str418 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str419 = private unnamed_addr constant [22 x i8] c"import: no directory \00" @.str420 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str421 = private unnamed_addr constant [2 x i8] c"/\00" @.str422 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str423 = private unnamed_addr constant [1 x i8] c"\00" @.str424 = private unnamed_addr constant [12 x i8] c"index.ludic\00" @.str425 = private unnamed_addr constant [13 x i8] c"/index.ludic\00" @.str426 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" @.str427 = private unnamed_addr constant [1 x i8] c"\00" @.str428 = private unnamed_addr constant [9 x i8] c"import: \00" @.str429 = private unnamed_addr constant [42 x i8] c" is a directory with no index.ludic (add \00" @.str430 = private unnamed_addr constant [22 x i8] c" listing its imports)\00" @.str431 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str432 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str433 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str434 = private unnamed_addr constant [20 x i8] c"cannot open import \00" @.str435 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str436 = private unnamed_addr constant [1 x i8] c"\00" @.str437 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str438 = private unnamed_addr constant [1 x i8] c"\00" @.str439 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" @.str440 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" @.str441 = private unnamed_addr constant [1 x i8] c"\00" @.str442 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" @.str443 = private unnamed_addr constant [1 x i8] c"\00" @.str444 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" @.str445 = private unnamed_addr constant [1 x i8] c"\00" @.str446 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" @.str447 = private unnamed_addr constant [1 x i8] c"\00" @.str448 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" @.str449 = private unnamed_addr constant [1 x i8] c"\00" @.str450 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" @.str451 = private unnamed_addr constant [1 x i8] c"\00" @.str452 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str453 = private unnamed_addr constant [1 x i8] c"\00" @.str454 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str455 = private unnamed_addr constant [1 x i8] c"\00" @.str456 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str457 = private unnamed_addr constant [1 x i8] c"\00" @.str458 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str459 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str460 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" @.str461 = private unnamed_addr constant [1 x i8] c"\00" @.str462 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str463 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" @.str464 = private unnamed_addr constant [1 x i8] c"\00" @.str465 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str466 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str467 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str468 = private unnamed_addr constant [1 x i8] c"\00" @.str469 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str470 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str471 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str472 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str473 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str474 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str475 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" @.str476 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" @.str477 = private unnamed_addr constant [1 x i8] c"\00" @.str478 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" @.str479 = private unnamed_addr constant [1 x i8] c"\00" @.str480 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str481 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" @.str482 = private unnamed_addr constant [1 x i8] c"\00" @.str483 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str484 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" @.str485 = private unnamed_addr constant [1 x i8] c"\00" @.str486 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str487 = private unnamed_addr constant [1 x i8] c"\00" @.str488 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" @.str489 = private unnamed_addr constant [1 x i8] c"\00" @.str490 = private unnamed_addr constant [24 x i8] c"runtime/native/gl.ludic\00" @.str491 = private unnamed_addr constant [1 x i8] c"\00" @.str492 = private unnamed_addr constant [24 x i8] c"runtime/native/vk.ludic\00" @.str493 = private unnamed_addr constant [1 x i8] c"\00" @.str494 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str495 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str496 = private unnamed_addr constant [1 x i8] c"\00" @.str497 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str498 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str499 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str500 = private unnamed_addr constant [5 x i8] c"Body\00" @.str501 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str502 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" @.str503 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str504 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str505 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" @.str506 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str507 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str508 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" @.str509 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str510 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" @.str511 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str512 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str513 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str514 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" @.str515 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str516 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" @.str517 = private unnamed_addr constant [7 x i8] c"Update\00" @.str518 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str519 = private unnamed_addr constant [12 x i8] c"esys_motion\00" @.str520 = private unnamed_addr constant [7 x i8] c"Update\00" @.str521 = private unnamed_addr constant [5 x i8] c"Body\00" @.str522 = private unnamed_addr constant [10 x i8] c"esys_move\00" @.str523 = private unnamed_addr constant [7 x i8] c"Update\00" @.str524 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str525 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" @.str526 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str527 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str528 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" @.str529 = private unnamed_addr constant [7 x i8] c"Render\00" @.str530 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str531 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" @.str532 = private unnamed_addr constant [7 x i8] c"Render\00" @.str533 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str534 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" @.str535 = private unnamed_addr constant [7 x i8] c"Render\00" @.str536 = private unnamed_addr constant [6 x i8] c"Ludic\00" @.str537 = private unnamed_addr constant [7 x i8] c"import\00" @.str538 = private unnamed_addr constant [2 x i8] c"@\00" @.str539 = private unnamed_addr constant [2 x i8] c"(\00" @.str540 = private unnamed_addr constant [2 x i8] c"(\00" @.str541 = private unnamed_addr constant [2 x i8] c")\00" @.str542 = private unnamed_addr constant [8 x i8] c"program\00" @.str543 = private unnamed_addr constant [2 x i8] c"{\00" @.str544 = private unnamed_addr constant [2 x i8] c"}\00" @.str545 = private unnamed_addr constant [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 [9 x i8] c"Computed\00" @.str549 = private unnamed_addr constant [5 x i8] c"Sync\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 [12 x i8] c"cancellable\00" @.str555 = private unnamed_addr constant [2 x i8] c"{\00" @.str556 = private unnamed_addr constant [2 x i8] c"}\00" @.str557 = private unnamed_addr constant [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 [2 x i8] c"}\00" @.str561 = private unnamed_addr constant [7 x i8] c"Update\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 [6 x i8] c"phase\00" @.str567 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str568 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\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 [2 x i8] c"}\00" @.str573 = private unnamed_addr constant [2 x i8] c",\00" @.str574 = private unnamed_addr constant [2 x i8] c"]\00" @.str575 = private unnamed_addr constant [6 x i8] c"where\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 [6 x i8] c"query\00" @.str581 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" @.str582 = private unnamed_addr constant [4 x i8] c"and\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 [2 x i8] c":\00" @.str587 = private unnamed_addr constant [6 x i8] c"these\00" @.str588 = private unnamed_addr constant [2 x i8] c"[\00" @.str589 = private unnamed_addr constant [2 x i8] c"]\00" @.str590 = private unnamed_addr constant [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 [2 x i8] c"]\00" @.str594 = private unnamed_addr constant [3 x i8] c"on\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 [2 x i8] c",\00" @.str601 = private unnamed_addr constant [2 x i8] c":\00" @.str602 = private unnamed_addr constant [2 x i8] c"{\00" @.str603 = private unnamed_addr constant [2 x i8] c"}\00" @.str604 = private unnamed_addr constant [6 x i8] c"start\00" @.str605 = private unnamed_addr constant [7 x i8] c"public\00" @.str606 = private unnamed_addr constant [6 x i8] c"shows\00" @.str607 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str608 = private unnamed_addr constant [6 x i8] c"loads\00" @.str609 = private unnamed_addr constant [6 x i8] c"start\00" @.str610 = private unnamed_addr constant [6 x i8] c"shows\00" @.str611 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str612 = private unnamed_addr constant [5 x i8] c"then\00" @.str613 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" @.str614 = private unnamed_addr constant [6 x i8] c"loads\00" @.str615 = private unnamed_addr constant [5 x i8] c"then\00" @.str616 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" @.str617 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str618 = private unnamed_addr constant [7 x i8] c"_enter\00" @.str619 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str620 = private unnamed_addr constant [6 x i8] c"_exit\00" @.str621 = private unnamed_addr constant [2 x i8] c"{\00" @.str622 = private unnamed_addr constant [2 x i8] c"}\00" @.str623 = private unnamed_addr constant [3 x i8] c"on\00" @.str624 = private unnamed_addr constant [6 x i8] c"enter\00" @.str625 = private unnamed_addr constant [5 x i8] c"exit\00" @.str626 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" @.str627 = private unnamed_addr constant [6 x i8] c"layer\00" @.str628 = private unnamed_addr constant [7 x i8] c"public\00" @.str629 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str630 = private unnamed_addr constant [6 x i8] c"_show\00" @.str631 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str632 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str633 = private unnamed_addr constant [2 x i8] c"{\00" @.str634 = private unnamed_addr constant [2 x i8] c"}\00" @.str635 = private unnamed_addr constant [2 x i8] c"@\00" @.str636 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str637 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" @.str638 = private unnamed_addr constant [2 x i8] c")\00" @.str639 = private unnamed_addr constant [8 x i8] c"handler\00" @.str640 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" @.str641 = private unnamed_addr constant [2 x i8] c"_\00" @.str642 = private unnamed_addr constant [2 x i8] c"}\00" @.str643 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" @.str644 = private unnamed_addr constant [2 x i8] c"}\00" @.str645 = private unnamed_addr constant [8 x i8] c"_Loader\00" @.str646 = private unnamed_addr constant [7 x i8] c"Update\00" @.str647 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str648 = private unnamed_addr constant [5 x i8] c"pump\00" @.str649 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str650 = private unnamed_addr constant [6 x i8] c"ready\00" @.str651 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" @.str652 = private unnamed_addr constant [7 x i8] c"Render\00" @.str653 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" @.str654 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str655 = private unnamed_addr constant [6 x i8] c"_left\00" @.str656 = private unnamed_addr constant [4 x i8] c"int\00" @.str657 = private unnamed_addr constant [2 x i8] c"=\00" @.str658 = private unnamed_addr constant [7 x i8] c"_Timer\00" @.str659 = private unnamed_addr constant [7 x i8] c"Update\00" @.str660 = private unnamed_addr constant [3 x i8] c"-=\00" @.str661 = private unnamed_addr constant [3 x i8] c"<=\00" @.str662 = private unnamed_addr constant [3 x i8] c"id\00" @.str663 = private unnamed_addr constant [5 x i8] c"goto\00" @.str664 = private unnamed_addr constant [3 x i8] c"==\00" @.str665 = private unnamed_addr constant [3 x i8] c"id\00" @.str666 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str667 = private unnamed_addr constant [10 x i8] c"UiClicked\00" @.str668 = private unnamed_addr constant [2 x i8] c"{\00" @.str669 = private unnamed_addr constant [2 x i8] c"}\00" @.str670 = private unnamed_addr constant [2 x i8] c"(\00" @.str671 = private unnamed_addr constant [2 x i8] c")\00" @.str672 = private unnamed_addr constant [2 x i8] c",\00" @.str673 = private unnamed_addr constant [2 x i8] c")\00" @.str674 = private unnamed_addr constant [2 x i8] c",\00" @.str675 = private unnamed_addr constant [2 x i8] c"}\00" @.str676 = private unnamed_addr constant [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 [5 x i8] c"Sync\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 [2 x i8] c",\00" @.str686 = private unnamed_addr constant [2 x i8] c")\00" @.str687 = private unnamed_addr constant [5 x i8] c"void\00" @.str688 = private unnamed_addr constant [3 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 [2 x i8] c"}\00" @.str694 = private unnamed_addr constant [2 x i8] c"}\00" @.str695 = private unnamed_addr constant [2 x i8] c"{\00" @.str696 = private unnamed_addr constant [2 x i8] c"}\00" @.str697 = private unnamed_addr constant [3 x i8] c" \00" @.str698 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" @.str699 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str700 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str701 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str702 = private unnamed_addr constant [4 x i8] c", 1\00" @.str703 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str704 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str705 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str706 = private unnamed_addr constant [3 x i8] c"%t\00" @.str707 = private unnamed_addr constant [3 x i8] c" \00" @.str708 = private unnamed_addr constant [11 x i8] c" = alloca \00" @.str709 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str710 = private unnamed_addr constant [3 x i8] c"%t\00" @.str711 = private unnamed_addr constant [4 x i8] c"int\00" @.str712 = private unnamed_addr constant [5 x i8] c"bool\00" @.str713 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str714 = private unnamed_addr constant [7 x i8] c"entity\00" @.str715 = private unnamed_addr constant [4 x i8] c"i32\00" @.str716 = private unnamed_addr constant [4 x i8] c"i32\00" @.str717 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str718 = private unnamed_addr constant [4 x i8] c"i32\00" @.str719 = private unnamed_addr constant [5 x i8] c"long\00" @.str720 = private unnamed_addr constant [4 x i8] c"i64\00" @.str721 = private unnamed_addr constant [6 x i8] c"float\00" @.str722 = private unnamed_addr constant [6 x i8] c"float\00" @.str723 = private unnamed_addr constant [7 x i8] c"double\00" @.str724 = private unnamed_addr constant [7 x i8] c"double\00" @.str725 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str726 = private unnamed_addr constant [4 x i8] c"i64\00" @.str727 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str728 = private unnamed_addr constant [4 x i8] c"i64\00" @.str729 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str730 = private unnamed_addr constant [5 x i8] c"i128\00" @.str731 = private unnamed_addr constant [5 x i8] c"byte\00" @.str732 = private unnamed_addr constant [3 x i8] c"i8\00" @.str733 = private unnamed_addr constant [6 x i8] c"words\00" @.str734 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str735 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str736 = private unnamed_addr constant [7 x i8] c"floats\00" @.str737 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str738 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str739 = private unnamed_addr constant [5 x i8] c"void\00" @.str740 = private unnamed_addr constant [5 x i8] c"void\00" @.str741 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str742 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" @.str743 = private unnamed_addr constant [4 x i8] c"int\00" @.str744 = private unnamed_addr constant [10 x i8] c"EndReason\00" @.str745 = private unnamed_addr constant [10 x i8] c"Despawned\00" @.str746 = private unnamed_addr constant [10 x i8] c"SceneExit\00" @.str747 = private unnamed_addr constant [5 x i8] c"Quit\00" @.str748 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str749 = private unnamed_addr constant [2 x i8] c".\00" @.str750 = private unnamed_addr constant [2 x i8] c".\00" @.str751 = private unnamed_addr constant [3 x i8] c"of\00" @.str752 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str753 = private unnamed_addr constant [5 x i8] c"make\00" @.str754 = private unnamed_addr constant [5 x i8] c"zero\00" @.str755 = private unnamed_addr constant [4 x i8] c"add\00" @.str756 = private unnamed_addr constant [4 x i8] c"sub\00" @.str757 = private unnamed_addr constant [6 x i8] c"scale\00" @.str758 = private unnamed_addr constant [6 x i8] c"along\00" @.str759 = private unnamed_addr constant [5 x i8] c"step\00" @.str760 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str761 = private unnamed_addr constant [4 x i8] c"Map\00" @.str762 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str763 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str764 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str765 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str766 = private unnamed_addr constant [9 x i8] c"Collider\00" @.str767 = private unnamed_addr constant [7 x i8] c"center\00" @.str768 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str769 = private unnamed_addr constant [6 x i8] c"Input\00" @.str770 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str771 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str772 = private unnamed_addr constant [2 x i8] c"_\00" @.str773 = private unnamed_addr constant [3 x i8] c"[]\00" @.str774 = private unnamed_addr constant [7 x i8] c"string\00" @.str775 = private unnamed_addr constant [4 x i8] c"int\00" @.str776 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str777 = private unnamed_addr constant [5 x i8] c"bool\00" @.str778 = private unnamed_addr constant [7 x i8] c"entity\00" @.str779 = private unnamed_addr constant [4 x i8] c"int\00" @.str780 = private unnamed_addr constant [7 x i8] c"reason\00" @.str781 = private unnamed_addr constant [4 x i8] c"int\00" @.str782 = private unnamed_addr constant [6 x i8] c"@.str\00" @.str783 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" @.str784 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str785 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str786 = private unnamed_addr constant [2 x i8] c"-\00" @.str787 = private unnamed_addr constant [2 x i8] c"-\00" @.str788 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str789 = private unnamed_addr constant [5 x i8] c"null\00" @.str790 = private unnamed_addr constant [2 x i8] c"0\00" @.str791 = private unnamed_addr constant [2 x i8] c"-\00" @.str792 = private unnamed_addr constant [5 x i8] c"void\00" @.str793 = private unnamed_addr constant [9 x i8] c" store \00" @.str794 = private unnamed_addr constant [2 x i8] c" \00" @.str795 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str796 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str797 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str798 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00" @.str799 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str800 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" @.str801 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" @.str802 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" @.str803 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" @.str804 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" @.str805 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" @.str806 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" @.str807 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" @.str808 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" @.str809 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" @.str810 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" @.str811 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" @.str812 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" @.str813 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" @.str814 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" @.str815 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" @.str816 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" @.str817 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" @.str818 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" @.str819 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" @.str820 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" @.str821 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" @.str822 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" @.str823 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" @.str824 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" @.str825 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" @.str826 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" @.str827 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" @.str828 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" @.str829 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" @.str830 = private unnamed_addr constant [32 x i8] c"declare i32 @win_key_char(i32)\0A\00" @.str831 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" @.str832 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" @.str833 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" @.str834 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" @.str835 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" @.str836 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" @.str837 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" @.str838 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" @.str839 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" @.str840 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" @.str841 = private unnamed_addr constant [37 x i8] c"declare void @snd_set_pan(ptr, i32)\0A\00" @.str842 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" @.str843 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" @.str844 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" @.str845 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" @.str846 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" @.str847 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" @.str848 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" @.str849 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" @.str850 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" @.str851 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" @.str852 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" @.str853 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" @.str854 = 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" @.str855 = 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" @.str856 = 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" @.str857 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" @.str858 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" @.str859 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" @.str860 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" @.str861 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str862 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str863 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" @.str864 = private unnamed_addr constant [10 x i8] c"property \00" @.str865 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" @.str866 = private unnamed_addr constant [10 x i8] c"property \00" @.str867 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str868 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str869 = private unnamed_addr constant [4 x i8] c"i32\00" @.str870 = private unnamed_addr constant [3 x i8] c", \00" @.str871 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str872 = private unnamed_addr constant [10 x i8] c"variable \00" @.str873 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" @.str874 = private unnamed_addr constant [10 x i8] c"variable \00" @.str875 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str876 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str877 = private unnamed_addr constant [20 x i8] c" = internal global \00" @.str878 = private unnamed_addr constant [2 x i8] c" \00" @.str879 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str880 = private unnamed_addr constant [9 x i8] c"declare \00" @.str881 = private unnamed_addr constant [3 x i8] c" @\00" @.str882 = private unnamed_addr constant [2 x i8] c"(\00" @.str883 = private unnamed_addr constant [3 x i8] c", \00" @.str884 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str885 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00" @.str886 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" @.str887 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str888 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" @.str889 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" @.str890 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" @.str891 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" @.str892 = 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" @.str893 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str894 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" @.str895 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00" @.str896 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" @.str897 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" @.str898 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" @.str899 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" @.str900 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" @.str901 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" @.str902 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" @.str903 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" @.str904 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" @.str905 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" @.str906 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" @.str907 = 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" @.str908 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" @.str909 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" @.str910 = 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" @.str911 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" @.str912 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" @.str913 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" @.str914 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" @.str915 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" @.str916 = 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" @.str917 = 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" @.str918 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" @.str919 = 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" @.str920 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00" @.str921 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str922 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" @.str923 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" @.str924 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str925 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str926 = 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" @.str927 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str928 = 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" @.str929 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str930 = 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" @.str931 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str932 = 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" @.str933 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str934 = 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" @.str935 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str936 = 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" @.str937 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00" @.str938 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str939 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" @.str940 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" @.str941 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str942 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str943 = 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" @.str944 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str945 = 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" @.str946 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str947 = 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" @.str948 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str949 = 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" @.str950 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str951 = 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" @.str952 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str953 = 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" @.str954 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" @.str955 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" @.str956 = 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" @.str957 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str958 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" @.str959 = 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" @.str960 = 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" @.str961 = 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" @.str962 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" @.str963 = private unnamed_addr constant [15 x i8] c"no such field \00" @.str964 = private unnamed_addr constant [3 x i8] c" \00" @.str965 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str966 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str967 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str968 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str969 = private unnamed_addr constant [6 x i8] c"words\00" @.str970 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str971 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str972 = private unnamed_addr constant [4 x i8] c"int\00" @.str973 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str974 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str975 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str976 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str977 = private unnamed_addr constant [7 x i8] c"floats\00" @.str978 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str979 = private unnamed_addr constant [6 x i8] c"float\00" @.str980 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str981 = private unnamed_addr constant [7 x i8] c"double\00" @.str982 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str983 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str984 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str985 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str986 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" @.str987 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str988 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str989 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str990 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str991 = private unnamed_addr constant [5 x i8] c"byte\00" @.str992 = private unnamed_addr constant [3 x i8] c" \00" @.str993 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str994 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str995 = private unnamed_addr constant [3 x i8] c" \00" @.str996 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" @.str997 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str998 = private unnamed_addr constant [3 x i8] c" \00" @.str999 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str1000 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1001 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1002 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1003 = private unnamed_addr constant [7 x i8] c"resize\00" @.str1004 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str1005 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str1006 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1007 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1008 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1009 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1010 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1011 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1012 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1013 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1014 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1015 = private unnamed_addr constant [4 x i8] c"run\00" @.str1016 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1017 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1018 = private unnamed_addr constant [3 x i8] c" \00" @.str1019 = private unnamed_addr constant [4 x i8] c" = \00" @.str1020 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1021 = private unnamed_addr constant [7 x i8] c"resize\00" @.str1022 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1023 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1024 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str1025 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1026 = private unnamed_addr constant [2 x i8] c")\00" @.str1027 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1028 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str1029 = private unnamed_addr constant [27 x i8] c"call ptr @lp_pak_open(ptr \00" @.str1030 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1031 = private unnamed_addr constant [2 x i8] c")\00" @.str1032 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1033 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str1034 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1035 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1036 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1037 = private unnamed_addr constant [7 x i8] c"@fread\00" @.str1038 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1039 = private unnamed_addr constant [8 x i8] c"@fwrite\00" @.str1040 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str1041 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str1042 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str1043 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1044 = private unnamed_addr constant [2 x i8] c")\00" @.str1045 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1046 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1047 = private unnamed_addr constant [4 x i8] c"int\00" @.str1048 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1049 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1050 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1051 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" @.str1052 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1053 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1054 = private unnamed_addr constant [2 x i8] c")\00" @.str1055 = private unnamed_addr constant [4 x i8] c"int\00" @.str1056 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1057 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" @.str1058 = private unnamed_addr constant [2 x i8] c")\00" @.str1059 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1060 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1061 = private unnamed_addr constant [4 x i8] c"int\00" @.str1062 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1063 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" @.str1064 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1065 = private unnamed_addr constant [2 x i8] c"0\00" @.str1066 = private unnamed_addr constant [5 x i8] c"void\00" @.str1067 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1068 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" @.str1069 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1070 = private unnamed_addr constant [2 x i8] c"0\00" @.str1071 = private unnamed_addr constant [5 x i8] c"void\00" @.str1072 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1073 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str1074 = private unnamed_addr constant [4 x i8] c"int\00" @.str1075 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1076 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str1077 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str1078 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1079 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str1080 = private unnamed_addr constant [7 x i8] c"string\00" @.str1081 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1082 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str1083 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1084 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str1085 = private unnamed_addr constant [2 x i8] c"0\00" @.str1086 = private unnamed_addr constant [5 x i8] c"void\00" @.str1087 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1088 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1089 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1090 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1091 = private unnamed_addr constant [4 x i8] c"run\00" @.str1092 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" @.str1093 = private unnamed_addr constant [2 x i8] c")\00" @.str1094 = private unnamed_addr constant [4 x i8] c"int\00" @.str1095 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1096 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str1097 = private unnamed_addr constant [2 x i8] c")\00" @.str1098 = private unnamed_addr constant [7 x i8] c"string\00" @.str1099 = private unnamed_addr constant [2 x i8] c"0\00" @.str1100 = private unnamed_addr constant [5 x i8] c"void\00" @.str1101 = private unnamed_addr constant [28 x i8] c"call ptr @lp_win_stdio(i32 \00" @.str1102 = private unnamed_addr constant [2 x i8] c")\00" @.str1103 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str1104 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" @.str1105 = private unnamed_addr constant [5 x i8] c"free\00" @.str1106 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1107 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1108 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1109 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1110 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1111 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1112 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1113 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1114 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1115 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1116 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1117 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1118 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1119 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1120 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str1121 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1122 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1123 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1124 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1125 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1126 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1127 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1128 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1129 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1130 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str1131 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1132 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1133 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1134 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1135 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1136 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1137 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1138 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1139 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1140 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1141 = private unnamed_addr constant [5 x i8] c"free\00" @.str1142 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str1143 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1144 = private unnamed_addr constant [2 x i8] c"0\00" @.str1145 = private unnamed_addr constant [5 x i8] c"void\00" @.str1146 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1147 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1148 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1149 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str1150 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1151 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1152 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1153 = private unnamed_addr constant [2 x i8] c"0\00" @.str1154 = private unnamed_addr constant [5 x i8] c"void\00" @.str1155 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1156 = private unnamed_addr constant [3 x i8] c" \00" @.str1157 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str1158 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1159 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1160 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1161 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1162 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" @.str1163 = private unnamed_addr constant [4 x i8] c"int\00" @.str1164 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1165 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1166 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1167 = private unnamed_addr constant [4 x i8] c"int\00" @.str1168 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1169 = private unnamed_addr constant [2 x i8] c"1\00" @.str1170 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1171 = private unnamed_addr constant [2 x i8] c"0\00" @.str1172 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1173 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1174 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" @.str1175 = private unnamed_addr constant [7 x i8] c"string\00" @.str1176 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1177 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" @.str1178 = private unnamed_addr constant [4 x i8] c"int\00" @.str1179 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1180 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" @.str1181 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1182 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1183 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" @.str1184 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1185 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1186 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1187 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1188 = private unnamed_addr constant [2 x i8] c"0\00" @.str1189 = private unnamed_addr constant [5 x i8] c"void\00" @.str1190 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1191 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" @.str1192 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1193 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1194 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1195 = private unnamed_addr constant [2 x i8] c"0\00" @.str1196 = private unnamed_addr constant [5 x i8] c"void\00" @.str1197 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1198 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" @.str1199 = private unnamed_addr constant [2 x i8] c"0\00" @.str1200 = private unnamed_addr constant [5 x i8] c"void\00" @.str1201 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1202 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" @.str1203 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1204 = private unnamed_addr constant [2 x i8] c"0\00" @.str1205 = private unnamed_addr constant [5 x i8] c"void\00" @.str1206 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1207 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" @.str1208 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1209 = private unnamed_addr constant [2 x i8] c"0\00" @.str1210 = private unnamed_addr constant [5 x i8] c"void\00" @.str1211 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str1212 = private unnamed_addr constant [28 x i8] c"call i32 @win_key_char(i32 \00" @.str1213 = private unnamed_addr constant [2 x i8] c")\00" @.str1214 = private unnamed_addr constant [4 x i8] c"int\00" @.str1215 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1216 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" @.str1217 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1218 = private unnamed_addr constant [2 x i8] c"0\00" @.str1219 = private unnamed_addr constant [5 x i8] c"void\00" @.str1220 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1221 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" @.str1222 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1223 = private unnamed_addr constant [2 x i8] c"0\00" @.str1224 = private unnamed_addr constant [5 x i8] c"void\00" @.str1225 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1226 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" @.str1227 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1228 = private unnamed_addr constant [2 x i8] c"0\00" @.str1229 = private unnamed_addr constant [5 x i8] c"void\00" @.str1230 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1231 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" @.str1232 = private unnamed_addr constant [2 x i8] c")\00" @.str1233 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1234 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1235 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" @.str1236 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1237 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1238 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1239 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1240 = private unnamed_addr constant [2 x i8] c"0\00" @.str1241 = private unnamed_addr constant [5 x i8] c"void\00" @.str1242 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1243 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" @.str1244 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1245 = private unnamed_addr constant [2 x i8] c"0\00" @.str1246 = private unnamed_addr constant [5 x i8] c"void\00" @.str1247 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1248 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" @.str1249 = private unnamed_addr constant [2 x i8] c")\00" @.str1250 = private unnamed_addr constant [4 x i8] c"int\00" @.str1251 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1252 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" @.str1253 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1254 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1255 = private unnamed_addr constant [2 x i8] c"0\00" @.str1256 = private unnamed_addr constant [5 x i8] c"void\00" @.str1257 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1258 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(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 [12 x i8] c"snd_set_pan\00" @.str1264 = private unnamed_addr constant [30 x i8] c" call void @snd_set_pan(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 [11 x i8] c"hs_req_new\00" @.str1270 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" @.str1271 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1272 = private unnamed_addr constant [2 x i8] c")\00" @.str1273 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1274 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1275 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" @.str1276 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1277 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1278 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1279 = private unnamed_addr constant [2 x i8] c"0\00" @.str1280 = private unnamed_addr constant [5 x i8] c"void\00" @.str1281 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1282 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" @.str1283 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1284 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1285 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1286 = private unnamed_addr constant [2 x i8] c"0\00" @.str1287 = private unnamed_addr constant [5 x i8] c"void\00" @.str1288 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1289 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" @.str1290 = private unnamed_addr constant [7 x i8] c", ptr \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_done\00" @.str1295 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" @.str1296 = private unnamed_addr constant [2 x i8] c")\00" @.str1297 = private unnamed_addr constant [4 x i8] c"int\00" @.str1298 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1299 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" @.str1300 = private unnamed_addr constant [2 x i8] c")\00" @.str1301 = private unnamed_addr constant [4 x i8] c"int\00" @.str1302 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1303 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" @.str1304 = private unnamed_addr constant [2 x i8] c")\00" @.str1305 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1306 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1307 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" @.str1308 = private unnamed_addr constant [2 x i8] c")\00" @.str1309 = private unnamed_addr constant [4 x i8] c"int\00" @.str1310 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1311 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" @.str1312 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1313 = private unnamed_addr constant [2 x i8] c")\00" @.str1314 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1315 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1316 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" @.str1317 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1318 = private unnamed_addr constant [2 x i8] c"0\00" @.str1319 = private unnamed_addr constant [5 x i8] c"void\00" @.str1320 = private unnamed_addr constant [2 x i8] c"0\00" @.str1321 = private unnamed_addr constant [5 x i8] c"void\00" @.str1322 = private unnamed_addr constant [6 x i8] c"float\00" @.str1323 = private unnamed_addr constant [7 x i8] c"double\00" @.str1324 = private unnamed_addr constant [1 x i8] c"\00" @.str1325 = private unnamed_addr constant [1 x i8] c"\00" @.str1326 = private unnamed_addr constant [16 x i8] c"@deterministic \00" @.str1327 = private unnamed_addr constant [22 x i8] c" cannot compute with \00" @.str1328 = private unnamed_addr constant [56 x i8] c": floating point differs between machines \E2\80\94 use fixed\00" @.str1329 = private unnamed_addr constant [7 x i8] c"double\00" @.str1330 = private unnamed_addr constant [7 x i8] c"double\00" @.str1331 = private unnamed_addr constant [7 x i8] c"double\00" @.str1332 = private unnamed_addr constant [6 x i8] c"float\00" @.str1333 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str1334 = private unnamed_addr constant [2 x i8] c" \00" @.str1335 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str1336 = private unnamed_addr constant [2 x i8] c"-\00" @.str1337 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str1338 = private unnamed_addr constant [2 x i8] c"*\00" @.str1339 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str1340 = private unnamed_addr constant [2 x i8] c"/\00" @.str1341 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str1342 = private unnamed_addr constant [2 x i8] c"%\00" @.str1343 = private unnamed_addr constant [5 x i8] c"frem\00" @.str1344 = private unnamed_addr constant [2 x i8] c" \00" @.str1345 = private unnamed_addr constant [2 x i8] c" \00" @.str1346 = private unnamed_addr constant [3 x i8] c", \00" @.str1347 = private unnamed_addr constant [35 x i8] c"internal: not a literal expression\00" @.str1348 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1349 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str1350 = private unnamed_addr constant [5 x i8] c"null\00" @.str1351 = private unnamed_addr constant [6 x i8] c"float\00" @.str1352 = private unnamed_addr constant [7 x i8] c"double\00" @.str1353 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1354 = private unnamed_addr constant [2 x i8] c"0\00" @.str1355 = private unnamed_addr constant [3 x i8] c".0\00" @.str1356 = private unnamed_addr constant [7 x i8] c"double\00" @.str1357 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str1358 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1359 = private unnamed_addr constant [6 x i8] c"float\00" @.str1360 = private unnamed_addr constant [7 x i8] c"double\00" @.str1361 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1362 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1363 = private unnamed_addr constant [7 x i8] c"double\00" @.str1364 = private unnamed_addr constant [6 x i8] c"float\00" @.str1365 = private unnamed_addr constant [66 x i8] c": a double does not narrow to float implicitly \E2\80\94 write float(x)\00" @.str1366 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1367 = private unnamed_addr constant [13 x i8] c": fixed and \00" @.str1368 = private unnamed_addr constant [41 x i8] c" do not mix implicitly \E2\80\94 convert with \00" @.str1369 = private unnamed_addr constant [16 x i8] c"(x) or fixed(x)\00" @.str1370 = private unnamed_addr constant [4 x i8] c"i64\00" @.str1371 = private unnamed_addr constant [12 x i8] c"sitofp i64 \00" @.str1372 = private unnamed_addr constant [5 x i8] c" to \00" @.str1373 = private unnamed_addr constant [4 x i8] c"i32\00" @.str1374 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str1375 = private unnamed_addr constant [5 x i8] c" to \00" @.str1376 = private unnamed_addr constant [5 x i8] c": a \00" @.str1377 = private unnamed_addr constant [17 x i8] c" is not a number\00" @.str1378 = private unnamed_addr constant [25 x i8] c"LUDIC_WARN_FLOAT_PROMOTE\00" @.str1379 = private unnamed_addr constant [1 x i8] c"\00" @.str1380 = private unnamed_addr constant [2 x i8] c":\00" @.str1381 = private unnamed_addr constant [23 x i8] c": warning: a computed \00" @.str1382 = private unnamed_addr constant [17 x i8] c" is promoted to \00" @.str1383 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1384 = private unnamed_addr constant [2 x i8] c"<\00" @.str1385 = private unnamed_addr constant [4 x i8] c"olt\00" @.str1386 = private unnamed_addr constant [3 x i8] c"<=\00" @.str1387 = private unnamed_addr constant [4 x i8] c"ole\00" @.str1388 = private unnamed_addr constant [2 x i8] c">\00" @.str1389 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str1390 = private unnamed_addr constant [3 x i8] c">=\00" @.str1391 = private unnamed_addr constant [4 x i8] c"oge\00" @.str1392 = private unnamed_addr constant [3 x i8] c"==\00" @.str1393 = private unnamed_addr constant [4 x i8] c"oeq\00" @.str1394 = private unnamed_addr constant [4 x i8] c"une\00" @.str1395 = private unnamed_addr constant [6 x i8] c"float\00" @.str1396 = private unnamed_addr constant [18 x i8] c"the left side of \00" @.str1397 = private unnamed_addr constant [19 x i8] c"the right side of \00" @.str1398 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str1399 = private unnamed_addr constant [2 x i8] c" \00" @.str1400 = private unnamed_addr constant [2 x i8] c" \00" @.str1401 = private unnamed_addr constant [3 x i8] c", \00" @.str1402 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1403 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1404 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1405 = private unnamed_addr constant [1 x i8] c"\00" @.str1406 = private unnamed_addr constant [2 x i8] c"+\00" @.str1407 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str1408 = private unnamed_addr constant [2 x i8] c"-\00" @.str1409 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str1410 = private unnamed_addr constant [2 x i8] c"*\00" @.str1411 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str1412 = private unnamed_addr constant [2 x i8] c"/\00" @.str1413 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str1414 = private unnamed_addr constant [2 x i8] c"%\00" @.str1415 = private unnamed_addr constant [5 x i8] c"frem\00" @.str1416 = private unnamed_addr constant [1 x i8] c"\00" @.str1417 = private unnamed_addr constant [10 x i8] c"operator \00" @.str1418 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str1419 = private unnamed_addr constant [2 x i8] c" \00" @.str1420 = private unnamed_addr constant [2 x i8] c" \00" @.str1421 = private unnamed_addr constant [3 x i8] c", \00" @.str1422 = private unnamed_addr constant [7 x i8] c"double\00" @.str1423 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1424 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1425 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str1426 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1427 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1428 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str1429 = private unnamed_addr constant [5 x i8] c" to \00" @.str1430 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1431 = private unnamed_addr constant [2 x i8] c" \00" @.str1432 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str1433 = private unnamed_addr constant [4 x i8] c"(x)\00" @.str1434 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1435 = private unnamed_addr constant [2 x i8] c" \00" @.str1436 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1437 = private unnamed_addr constant [4 x i8] c"int\00" @.str1438 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1439 = private unnamed_addr constant [2 x i8] c" \00" @.str1440 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1441 = private unnamed_addr constant [5 x i8] c"long\00" @.str1442 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1443 = private unnamed_addr constant [2 x i8] c" \00" @.str1444 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str1445 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1446 = private unnamed_addr constant [2 x i8] c" \00" @.str1447 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1448 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1449 = private unnamed_addr constant [6 x i8] c"float\00" @.str1450 = private unnamed_addr constant [14 x i8] c"float_bits(x)\00" @.str1451 = private unnamed_addr constant [15 x i8] c"bitcast float \00" @.str1452 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1453 = private unnamed_addr constant [4 x i8] c"int\00" @.str1454 = private unnamed_addr constant [13 x i8] c"bitcast i32 \00" @.str1455 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1456 = private unnamed_addr constant [6 x i8] c"float\00" @.str1457 = private unnamed_addr constant [7 x i8] c"double\00" @.str1458 = private unnamed_addr constant [15 x i8] c"double_bits(x)\00" @.str1459 = private unnamed_addr constant [16 x i8] c"bitcast double \00" @.str1460 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1461 = private unnamed_addr constant [5 x i8] c"long\00" @.str1462 = private unnamed_addr constant [13 x i8] c"bitcast i64 \00" @.str1463 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1464 = private unnamed_addr constant [7 x i8] c"double\00" @.str1465 = private unnamed_addr constant [2 x i8] c"0\00" @.str1466 = private unnamed_addr constant [6 x i8] c"float\00" @.str1467 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1468 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1469 = private unnamed_addr constant [2 x i8] c"1\00" @.str1470 = private unnamed_addr constant [28 x i8] c"call ptr @lp_fp_str(double \00" @.str1471 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1472 = private unnamed_addr constant [2 x i8] c")\00" @.str1473 = private unnamed_addr constant [7 x i8] c"string\00" @.str1474 = private unnamed_addr constant [43 x i8] c"declare i32 @snprintf(ptr, i64, ptr, ...)\0A\00" @.str1475 = private unnamed_addr constant [34 x i8] c"declare double @strtod(ptr, ptr)\0A\00" @.str1476 = private unnamed_addr constant [32 x i8] c"declare ptr @strpbrk(ptr, ptr)\0A\00" @.str1477 = private unnamed_addr constant [63 x i8] c"@.fmt_fpg = private unnamed_addr constant [5 x i8] c\22%.*g\5C00\22\0A\00" @.str1478 = private unnamed_addr constant [67 x i8] c"@.fp_marks = private unnamed_addr constant [8 x i8] c\22.eEnNiI\5C00\22\0A\00" @.str1479 = private unnamed_addr constant [49 x i8] c"define ptr @lp_fp_str(double %v, i32 %single) {\0A\00" @.str1480 = private unnamed_addr constant [58 x i8] c"entry:\0A %buf = call ptr @malloc(i64 40)\0A br label %try\0A\00" @.str1481 = private unnamed_addr constant [52 x i8] c"try:\0A %p = phi i32 [ 6, %entry ], [ %p1, %again ]\0A\00" @.str1482 = 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" @.str1483 = private unnamed_addr constant [48 x i8] c" %r = call double @strtod(ptr %buf, ptr null)\0A\00" @.str1484 = private unnamed_addr constant [71 x i8] c" %rf = fptrunc double %r to float\0A %vf = fptrunc double %v to float\0A\00" @.str1485 = private unnamed_addr constant [66 x i8] c" %eqf = fcmp oeq float %rf, %vf\0A %eqd = fcmp oeq double %r, %v\0A\00" @.str1486 = 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" @.str1487 = 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" @.str1488 = private unnamed_addr constant [42 x i8] c" br i1 %stop, label %done, label %again\0A\00" @.str1489 = private unnamed_addr constant [24 x i8] c"again:\0A br label %try\0A\00" @.str1490 = 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" @.str1491 = private unnamed_addr constant [40 x i8] c" br i1 %whole, label %dot, label %out\0A\00" @.str1492 = 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" @.str1493 = 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" @.str1494 = 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" @.str1495 = private unnamed_addr constant [39 x i8] c" store i8 0, ptr %e2\0A br label %out\0A\00" @.str1496 = private unnamed_addr constant [23 x i8] c"out:\0A ret ptr %buf\0A}\0A\00" @.str1497 = private unnamed_addr constant [2 x i8] c"4\00" @.str1498 = private unnamed_addr constant [7 x i8] c"floats\00" @.str1499 = private unnamed_addr constant [7 x i8] c"double\00" @.str1500 = private unnamed_addr constant [2 x i8] c"8\00" @.str1501 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str1502 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1503 = private unnamed_addr constant [3 x i8] c", \00" @.str1504 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1505 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1506 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str1507 = private unnamed_addr constant [2 x i8] c")\00" @.str1508 = private unnamed_addr constant [6 x i8] c"float\00" @.str1509 = private unnamed_addr constant [2 x i8] c"f\00" @.str1510 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1511 = private unnamed_addr constant [3 x i8] c" @\00" @.str1512 = private unnamed_addr constant [2 x i8] c"(\00" @.str1513 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1514 = private unnamed_addr constant [6 x i8] c"call \00" @.str1515 = private unnamed_addr constant [3 x i8] c" @\00" @.str1516 = private unnamed_addr constant [2 x i8] c"(\00" @.str1517 = private unnamed_addr constant [2 x i8] c" \00" @.str1518 = private unnamed_addr constant [2 x i8] c")\00" @.str1519 = private unnamed_addr constant [6 x i8] c"float\00" @.str1520 = private unnamed_addr constant [2 x i8] c"f\00" @.str1521 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1522 = private unnamed_addr constant [3 x i8] c" @\00" @.str1523 = private unnamed_addr constant [2 x i8] c"(\00" @.str1524 = private unnamed_addr constant [3 x i8] c", \00" @.str1525 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1526 = private unnamed_addr constant [6 x i8] c"call \00" @.str1527 = private unnamed_addr constant [3 x i8] c" @\00" @.str1528 = private unnamed_addr constant [2 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 [2 x i8] c" \00" @.str1532 = private unnamed_addr constant [2 x i8] c")\00" @.str1533 = private unnamed_addr constant [4 x i8] c"f64\00" @.str1534 = private unnamed_addr constant [6 x i8] c"float\00" @.str1535 = private unnamed_addr constant [4 x i8] c"f32\00" @.str1536 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1537 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1538 = private unnamed_addr constant [2 x i8] c".\00" @.str1539 = private unnamed_addr constant [2 x i8] c"(\00" @.str1540 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1541 = private unnamed_addr constant [6 x i8] c"call \00" @.str1542 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1543 = private unnamed_addr constant [2 x i8] c".\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 [2 x i8] c")\00" @.str1547 = private unnamed_addr constant [4 x i8] c"f64\00" @.str1548 = private unnamed_addr constant [6 x i8] c"float\00" @.str1549 = private unnamed_addr constant [4 x i8] c"f32\00" @.str1550 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1551 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1552 = private unnamed_addr constant [2 x i8] c".\00" @.str1553 = private unnamed_addr constant [2 x i8] c"(\00" @.str1554 = private unnamed_addr constant [3 x i8] c", \00" @.str1555 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1556 = private unnamed_addr constant [6 x i8] c"call \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 [2 x i8] c" \00" @.str1561 = private unnamed_addr constant [3 x i8] c", \00" @.str1562 = private unnamed_addr constant [2 x i8] c" \00" @.str1563 = private unnamed_addr constant [2 x i8] c")\00" @.str1564 = private unnamed_addr constant [4 x i8] c"olt\00" @.str1565 = private unnamed_addr constant [4 x i8] c"max\00" @.str1566 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str1567 = private unnamed_addr constant [6 x i8] c"fcmp \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 [3 x i8] c", \00" @.str1571 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1572 = private unnamed_addr constant [3 x i8] c", \00" @.str1573 = private unnamed_addr constant [2 x i8] c" \00" @.str1574 = private unnamed_addr constant [3 x i8] c", \00" @.str1575 = private unnamed_addr constant [2 x i8] c" \00" @.str1576 = private unnamed_addr constant [1 x i8] c"\00" @.str1577 = private unnamed_addr constant [1 x i8] c"\00" @.str1578 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1579 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1580 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1581 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str1582 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1583 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1584 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1585 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1586 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1587 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1588 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1589 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1590 = private unnamed_addr constant [4 x i8] c"log\00" @.str1591 = private unnamed_addr constant [4 x i8] c"log\00" @.str1592 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1593 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1594 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1595 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1596 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1597 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1598 = private unnamed_addr constant [5 x i8] c"atan\00" @.str1599 = private unnamed_addr constant [5 x i8] c"atan\00" @.str1600 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1601 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1602 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1603 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1604 = private unnamed_addr constant [6 x i8] c"round\00" @.str1605 = private unnamed_addr constant [6 x i8] c"round\00" @.str1606 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str1607 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str1608 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1609 = private unnamed_addr constant [10 x i8] c"fcmp ogt \00" @.str1610 = private unnamed_addr constant [2 x i8] c" \00" @.str1611 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1612 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str1613 = private unnamed_addr constant [2 x i8] c" \00" @.str1614 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1615 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1616 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1617 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1618 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1619 = private unnamed_addr constant [4 x i8] c"int\00" @.str1620 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1621 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1622 = private unnamed_addr constant [2 x i8] c" \00" @.str1623 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str1624 = private unnamed_addr constant [8 x i8] c", 180.0\00" @.str1625 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1626 = private unnamed_addr constant [2 x i8] c" \00" @.str1627 = private unnamed_addr constant [3 x i8] c", \00" @.str1628 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1629 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1630 = private unnamed_addr constant [9 x i8] c" 180.0, \00" @.str1631 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str1632 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1633 = private unnamed_addr constant [2 x i8] c" \00" @.str1634 = private unnamed_addr constant [3 x i8] c", \00" @.str1635 = private unnamed_addr constant [4 x i8] c"min\00" @.str1636 = private unnamed_addr constant [4 x i8] c"max\00" @.str1637 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1638 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1639 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1640 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1641 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1642 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1643 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1644 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1645 = private unnamed_addr constant [6 x i8] c"frem \00" @.str1646 = private unnamed_addr constant [2 x i8] c" \00" @.str1647 = private unnamed_addr constant [3 x i8] c", \00" @.str1648 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1649 = private unnamed_addr constant [2 x i8] c" \00" @.str1650 = private unnamed_addr constant [3 x i8] c", \00" @.str1651 = private unnamed_addr constant [6 x i8] c"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"clamp\00" @.str1655 = private unnamed_addr constant [4 x i8] c"max\00" @.str1656 = private unnamed_addr constant [4 x i8] c"min\00" @.str1657 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1658 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1659 = private unnamed_addr constant [2 x i8] c" \00" @.str1660 = private unnamed_addr constant [3 x i8] c", \00" @.str1661 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1662 = private unnamed_addr constant [2 x i8] c" \00" @.str1663 = private unnamed_addr constant [3 x i8] c", \00" @.str1664 = private unnamed_addr constant [6 x i8] c"fadd \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 [13 x i8] c"inverse_lerp\00" @.str1668 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1669 = private unnamed_addr constant [2 x i8] c" \00" @.str1670 = private unnamed_addr constant [3 x i8] c", \00" @.str1671 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1672 = private unnamed_addr constant [2 x i8] c" \00" @.str1673 = private unnamed_addr constant [3 x i8] c", \00" @.str1674 = private unnamed_addr constant [6 x i8] c"fdiv \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"remap\00" @.str1678 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1679 = private unnamed_addr constant [2 x i8] c" \00" @.str1680 = private unnamed_addr constant [3 x i8] c", \00" @.str1681 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1682 = private unnamed_addr constant [2 x i8] c" \00" @.str1683 = private unnamed_addr constant [3 x i8] c", \00" @.str1684 = private unnamed_addr constant [6 x i8] c"fdiv \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"fmul \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"fadd \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 [11 x i8] c"smoothstep\00" @.str1697 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1698 = private unnamed_addr constant [2 x i8] c" \00" @.str1699 = private unnamed_addr constant [3 x i8] c", \00" @.str1700 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1701 = private unnamed_addr constant [2 x i8] c" \00" @.str1702 = private unnamed_addr constant [3 x i8] c", \00" @.str1703 = private unnamed_addr constant [6 x i8] c"fdiv \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 [4 x i8] c"max\00" @.str1707 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1708 = private unnamed_addr constant [4 x i8] c"min\00" @.str1709 = private unnamed_addr constant [4 x i8] c"1.0\00" @.str1710 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1711 = private unnamed_addr constant [2 x i8] c" \00" @.str1712 = private unnamed_addr constant [3 x i8] c", \00" @.str1713 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1714 = private unnamed_addr constant [2 x i8] c" \00" @.str1715 = private unnamed_addr constant [6 x i8] c", 2.0\00" @.str1716 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1717 = private unnamed_addr constant [7 x i8] c" 3.0, \00" @.str1718 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1719 = private unnamed_addr constant [2 x i8] c" \00" @.str1720 = private unnamed_addr constant [3 x i8] c", \00" @.str1721 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1722 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1723 = private unnamed_addr constant [2 x i8] c" \00" @.str1724 = private unnamed_addr constant [3 x i8] c", \00" @.str1725 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str1726 = private unnamed_addr constant [10 x i8] c"fcmp ole \00" @.str1727 = private unnamed_addr constant [2 x i8] c" \00" @.str1728 = private unnamed_addr constant [3 x i8] c", \00" @.str1729 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str1730 = private unnamed_addr constant [2 x i8] c" \00" @.str1731 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1732 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str1733 = private unnamed_addr constant [2 x i8] c" \00" @.str1734 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1735 = private unnamed_addr constant [3 x i8] c", \00" @.str1736 = private unnamed_addr constant [2 x i8] c" \00" @.str1737 = private unnamed_addr constant [3 x i8] c", \00" @.str1738 = private unnamed_addr constant [2 x i8] c" \00" @.str1739 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1740 = private unnamed_addr constant [2 x i8] c" \00" @.str1741 = private unnamed_addr constant [3 x i8] c", \00" @.str1742 = private unnamed_addr constant [11 x i8] c"select i1 \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 [3 x i8] c", \00" @.str1746 = private unnamed_addr constant [2 x i8] c" \00" @.str1747 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1748 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1749 = private unnamed_addr constant [6 x i8] c"fsub \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 [6 x i8] c"fsub \00" @.str1753 = private unnamed_addr constant [2 x i8] c" \00" @.str1754 = private unnamed_addr constant [3 x i8] c", \00" @.str1755 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1756 = private unnamed_addr constant [2 x i8] c" \00" @.str1757 = private unnamed_addr constant [3 x i8] c", \00" @.str1758 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1759 = private unnamed_addr constant [2 x i8] c" \00" @.str1760 = private unnamed_addr constant [3 x i8] c", \00" @.str1761 = private unnamed_addr constant [6 x i8] c"fadd \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"dist2\00" @.str1765 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1766 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1767 = private unnamed_addr constant [9 x i8] c" has no \00" @.str1768 = private unnamed_addr constant [6 x i8] c" form\00" @.str1769 = private unnamed_addr constant [4 x i8] c"min\00" @.str1770 = private unnamed_addr constant [4 x i8] c"max\00" @.str1771 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1772 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1773 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1774 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1775 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1776 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1777 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1778 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1779 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1780 = private unnamed_addr constant [4 x i8] c"min\00" @.str1781 = private unnamed_addr constant [4 x i8] c"max\00" @.str1782 = private unnamed_addr constant [4 x i8] c"slt\00" @.str1783 = private unnamed_addr constant [4 x i8] c"max\00" @.str1784 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str1785 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str1786 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str1787 = private unnamed_addr constant [3 x i8] c", \00" @.str1788 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1789 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1790 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1791 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1792 = private unnamed_addr constant [3 x i8] c", \00" @.str1793 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1794 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1795 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1796 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1797 = private unnamed_addr constant [3 x i8] c", \00" @.str1798 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1799 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1800 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1801 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1802 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1803 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1804 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1805 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str1806 = private unnamed_addr constant [3 x i8] c", \00" @.str1807 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str1808 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1809 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1810 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1811 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1812 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1813 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str1814 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1815 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1816 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1817 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str1818 = private unnamed_addr constant [3 x i8] c", \00" @.str1819 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1820 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1821 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1822 = private unnamed_addr constant [3 x i8] c", \00" @.str1823 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1824 = private unnamed_addr constant [3 x i8] c", \00" @.str1825 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1826 = private unnamed_addr constant [3 x i8] c", \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 [4 x i8] c"min\00" @.str1830 = private unnamed_addr constant [4 x i8] c"max\00" @.str1831 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1832 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1833 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1834 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1835 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1836 = private unnamed_addr constant [6 x i8] c"round\00" @.str1837 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1838 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1839 = private unnamed_addr constant [6 x i8] c"remap\00" @.str1840 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1841 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1842 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1843 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1844 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1845 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1846 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1847 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1848 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1849 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1850 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1851 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1852 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str1853 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str1854 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1855 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str1856 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1857 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1858 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1859 = private unnamed_addr constant [4 x i8] c"log\00" @.str1860 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1861 = private unnamed_addr constant [1 x i8] c"\00" @.str1862 = private unnamed_addr constant [4 x i8] c"min\00" @.str1863 = private unnamed_addr constant [4 x i8] c"max\00" @.str1864 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1865 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1866 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1867 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1868 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1869 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1870 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1871 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1872 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1873 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1874 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1875 = private unnamed_addr constant [4 x i8] c"int\00" @.str1876 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1877 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1878 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1879 = private unnamed_addr constant [4 x i8] c"int\00" @.str1880 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1881 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1882 = private unnamed_addr constant [8 x i8] c", 65535\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 [6 x i8] c"round\00" @.str1887 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1888 = private unnamed_addr constant [8 x i8] c", 32768\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 [5 x i8] c"lerp\00" @.str1893 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1894 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1895 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1896 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1897 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1898 = private unnamed_addr constant [2 x i8] c")\00" @.str1899 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1900 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1901 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1902 = private unnamed_addr constant [2 x i8] c")\00" @.str1903 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1904 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1905 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1906 = private unnamed_addr constant [9 x i8] c", 102944\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"tan\00" @.str1911 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1912 = private unnamed_addr constant [2 x i8] c")\00" @.str1913 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1914 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1915 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1916 = private unnamed_addr constant [2 x i8] c")\00" @.str1917 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1918 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1919 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1920 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1921 = private unnamed_addr constant [2 x i8] c")\00" @.str1922 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1923 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1924 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1925 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1926 = private unnamed_addr constant [2 x i8] c")\00" @.str1927 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1928 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1929 = private unnamed_addr constant [2 x i8] c")\00" @.str1930 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1931 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1932 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1933 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1934 = private unnamed_addr constant [2 x i8] c")\00" @.str1935 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1936 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1937 = private unnamed_addr constant [2 x i8] c")\00" @.str1938 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1939 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1940 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1941 = private unnamed_addr constant [3 x i8] c", \00" @.str1942 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(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"dist2\00" @.str1946 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1947 = private unnamed_addr constant [3 x i8] c", \00" @.str1948 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1949 = private unnamed_addr constant [3 x i8] c", \00" @.str1950 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1951 = private unnamed_addr constant [3 x i8] c", \00" @.str1952 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1953 = private unnamed_addr constant [5 x i8] c"dist\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"sub i32 \00" @.str1957 = private unnamed_addr constant [3 x i8] c", \00" @.str1958 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1959 = private unnamed_addr constant [3 x i8] c", \00" @.str1960 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1961 = private unnamed_addr constant [2 x i8] c")\00" @.str1962 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1963 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1964 = private unnamed_addr constant [6 x i8] c"94548\00" @.str1965 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1966 = private unnamed_addr constant [2 x i8] c")\00" @.str1967 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1968 = private unnamed_addr constant [4 x i8] c"log\00" @.str1969 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1970 = private unnamed_addr constant [2 x i8] c")\00" @.str1971 = private unnamed_addr constant [6 x i8] c"45426\00" @.str1972 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1973 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1974 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1975 = private unnamed_addr constant [2 x i8] c")\00" @.str1976 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1977 = private unnamed_addr constant [2 x i8] c")\00" @.str1978 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1979 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1980 = private unnamed_addr constant [5 x i8] c"1144\00" @.str1981 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1982 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1983 = private unnamed_addr constant [8 x i8] c"3754936\00" @.str1984 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1985 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1986 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1987 = private unnamed_addr constant [3 x i8] c", \00" @.str1988 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1989 = private unnamed_addr constant [3 x i8] c", \00" @.str1990 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1991 = private unnamed_addr constant [3 x i8] c", \00" @.str1992 = private unnamed_addr constant [4 x i8] c"int\00" @.str1993 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1994 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1995 = private unnamed_addr constant [3 x i8] c", \00" @.str1996 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1997 = private unnamed_addr constant [3 x i8] c", \00" @.str1998 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1999 = private unnamed_addr constant [3 x i8] c", \00" @.str2000 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2001 = private unnamed_addr constant [3 x i8] c", \00" @.str2002 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2003 = private unnamed_addr constant [3 x i8] c", \00" @.str2004 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2005 = private unnamed_addr constant [3 x i8] c", \00" @.str2006 = private unnamed_addr constant [4 x i8] c"int\00" @.str2007 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str2008 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2009 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2010 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2011 = private unnamed_addr constant [3 x i8] c", \00" @.str2012 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2013 = private unnamed_addr constant [3 x i8] c", \00" @.str2014 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2015 = private unnamed_addr constant [3 x i8] c", \00" @.str2016 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2017 = private unnamed_addr constant [3 x i8] c", \00" @.str2018 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2019 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2020 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2021 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2022 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2023 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2024 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2025 = private unnamed_addr constant [3 x i8] c", \00" @.str2026 = private unnamed_addr constant [4 x i8] c"int\00" @.str2027 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str2028 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2029 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str2030 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2031 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2032 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2033 = private unnamed_addr constant [3 x i8] c", \00" @.str2034 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2035 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str2036 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2037 = private unnamed_addr constant [3 x i8] c", \00" @.str2038 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2039 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2040 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2041 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2042 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2043 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2044 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2045 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2046 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2047 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2048 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2049 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str2050 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2051 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str2052 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2053 = private unnamed_addr constant [3 x i8] c", \00" @.str2054 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2055 = private unnamed_addr constant [3 x i8] c", \00" @.str2056 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str2057 = private unnamed_addr constant [3 x i8] c", \00" @.str2058 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2059 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2060 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2061 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2062 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str2063 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2064 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2065 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2066 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str2067 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2068 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str2069 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2070 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str2071 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2072 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2073 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" @.str2074 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2075 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2076 = 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" @.str2077 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00" @.str2078 = 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" @.str2079 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" @.str2080 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" @.str2081 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" @.str2082 = 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" @.str2083 = 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" @.str2084 = 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" @.str2085 = 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" @.str2086 = 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" @.str2087 = 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" @.str2088 = 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" @.str2089 = 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" @.str2090 = 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" @.str2091 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00" @.str2092 = 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" @.str2093 = 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" @.str2094 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" @.str2095 = 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" @.str2096 = 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" @.str2097 = 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" @.str2098 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00" @.str2099 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2100 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" @.str2101 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" @.str2102 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" @.str2103 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" @.str2104 = private unnamed_addr constant [4 x i8] c"z:\0A\00" @.str2105 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str2106 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str2107 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str2108 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" @.str2109 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" @.str2110 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" @.str2111 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" @.str2112 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" @.str2113 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" @.str2114 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" @.str2115 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" @.str2116 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str2117 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" @.str2118 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" @.str2119 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" @.str2120 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str2121 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" @.str2122 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" @.str2123 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" @.str2124 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" @.str2125 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" @.str2126 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" @.str2127 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" @.str2128 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" @.str2129 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" @.str2130 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" @.str2131 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" @.str2132 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" @.str2133 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" @.str2134 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" @.str2135 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" @.str2136 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" @.str2137 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" @.str2138 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" @.str2139 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" @.str2140 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" @.str2141 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" @.str2142 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" @.str2143 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" @.str2144 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" @.str2145 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" @.str2146 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" @.str2147 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" @.str2148 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" @.str2149 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" @.str2150 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" @.str2151 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" @.str2152 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" @.str2153 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2154 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00" @.str2155 = 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" @.str2156 = 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" @.str2157 = 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" @.str2158 = 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" @.str2159 = 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" @.str2160 = 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" @.str2161 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" @.str2162 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" @.str2163 = 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" @.str2164 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" @.str2165 = 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" @.str2166 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" @.str2167 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" @.str2168 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" @.str2169 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00" @.str2170 = 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" @.str2171 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" @.str2172 = 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" @.str2173 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" @.str2174 = 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" @.str2175 = 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" @.str2176 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" @.str2177 = 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" @.str2178 = 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" @.str2179 = 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" @.str2180 = 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" @.str2181 = 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" @.str2182 = 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" @.str2183 = 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" @.str2184 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" @.str2185 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2186 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2187 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str2188 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2189 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2190 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2191 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str2192 = private unnamed_addr constant [3 x i8] c", \00" @.str2193 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2194 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2195 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2196 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2197 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2198 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2199 = private unnamed_addr constant [5 x i8] c"make\00" @.str2200 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2201 = private unnamed_addr constant [2 x i8] c"x\00" @.str2202 = private unnamed_addr constant [2 x i8] c"y\00" @.str2203 = private unnamed_addr constant [4 x i8] c"add\00" @.str2204 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2205 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2206 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2207 = private unnamed_addr constant [7 x i8] c"length\00" @.str2208 = private unnamed_addr constant [9 x i8] c"distance\00" @.str2209 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str2210 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str2211 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str2212 = private unnamed_addr constant [6 x i8] c"angle\00" @.str2213 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str2214 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2215 = private unnamed_addr constant [2 x i8] c"0\00" @.str2216 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2217 = private unnamed_addr constant [5 x i8] c"make\00" @.str2218 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2219 = private unnamed_addr constant [2 x i8] c"x\00" @.str2220 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2221 = private unnamed_addr constant [2 x i8] c"y\00" @.str2222 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2223 = private unnamed_addr constant [4 x i8] c"add\00" @.str2224 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2225 = private unnamed_addr constant [3 x i8] c", \00" @.str2226 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2227 = private unnamed_addr constant [3 x i8] c", \00" @.str2228 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2229 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2230 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2231 = private unnamed_addr constant [3 x i8] c", \00" @.str2232 = private unnamed_addr constant [9 x i8] c"sub 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 [6 x i8] c"scale\00" @.str2236 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2237 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2238 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2239 = private unnamed_addr constant [3 x i8] c", \00" @.str2240 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2241 = private unnamed_addr constant [7 x i8] c"length\00" @.str2242 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2243 = private unnamed_addr constant [3 x i8] c", \00" @.str2244 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2245 = private unnamed_addr constant [2 x i8] c")\00" @.str2246 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2247 = private unnamed_addr constant [9 x i8] c"distance\00" @.str2248 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2249 = private unnamed_addr constant [3 x i8] c", \00" @.str2250 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2251 = private unnamed_addr constant [3 x i8] c", \00" @.str2252 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2253 = private unnamed_addr constant [3 x i8] c", \00" @.str2254 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2255 = private unnamed_addr constant [2 x i8] c")\00" @.str2256 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2257 = private unnamed_addr constant [10 x i8] c"normalize\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 [13 x i8] c"icmp eq i32 \00" @.str2263 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2264 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2265 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str2266 = private unnamed_addr constant [6 x i8] c"65536\00" @.str2267 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2268 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str2269 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2270 = private unnamed_addr constant [2 x i8] c")\00" @.str2271 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2272 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2273 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2274 = private unnamed_addr constant [2 x i8] c")\00" @.str2275 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2276 = private unnamed_addr constant [3 x i8] c", \00" @.str2277 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2278 = private unnamed_addr constant [3 x i8] c", \00" @.str2279 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2280 = private unnamed_addr constant [6 x i8] c"angle\00" @.str2281 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str2282 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2283 = private unnamed_addr constant [2 x i8] c")\00" @.str2284 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2285 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str2286 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2287 = private unnamed_addr constant [2 x i8] c")\00" @.str2288 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2289 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2290 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2291 = private unnamed_addr constant [2 x i8] c")\00" @.str2292 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2293 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2294 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2295 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2296 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2297 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2298 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2299 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2300 = private unnamed_addr constant [5 x i8] c"make\00" @.str2301 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2302 = private unnamed_addr constant [2 x i8] c"x\00" @.str2303 = private unnamed_addr constant [2 x i8] c"y\00" @.str2304 = private unnamed_addr constant [4 x i8] c"add\00" @.str2305 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2306 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2307 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2308 = private unnamed_addr constant [6 x i8] c"equal\00" @.str2309 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str2310 = private unnamed_addr constant [10 x i8] c"to_vector\00" @.str2311 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2312 = private unnamed_addr constant [7 x i8] c"within\00" @.str2313 = private unnamed_addr constant [8 x i8] c"heading\00" @.str2314 = private unnamed_addr constant [6 x i8] c"along\00" @.str2315 = private unnamed_addr constant [5 x i8] c"step\00" @.str2316 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2317 = private unnamed_addr constant [2 x i8] c"0\00" @.str2318 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2319 = private unnamed_addr constant [5 x i8] c"make\00" @.str2320 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2321 = private unnamed_addr constant [2 x i8] c"x\00" @.str2322 = private unnamed_addr constant [4 x i8] c"int\00" @.str2323 = private unnamed_addr constant [2 x i8] c"y\00" @.str2324 = private unnamed_addr constant [4 x i8] c"int\00" @.str2325 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2326 = private unnamed_addr constant [7 x i8] c"within\00" @.str2327 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2328 = private unnamed_addr constant [3 x i8] c", \00" @.str2329 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2330 = private unnamed_addr constant [3 x i8] c", \00" @.str2331 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2332 = private unnamed_addr constant [3 x i8] c", \00" @.str2333 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2334 = private unnamed_addr constant [3 x i8] c", \00" @.str2335 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2336 = private unnamed_addr constant [3 x i8] c", \00" @.str2337 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2338 = private unnamed_addr constant [4 x i8] c"int\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 [14 x i8] c"icmp sle i32 \00" @.str2342 = private unnamed_addr constant [3 x i8] c", \00" @.str2343 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2344 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2345 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2346 = private unnamed_addr constant [8 x i8] c"heading\00" @.str2347 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str2348 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" @.str2349 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00" @.str2350 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2351 = private unnamed_addr constant [2 x i8] c")\00" @.str2352 = private unnamed_addr constant [4 x i8] c"int\00" @.str2353 = private unnamed_addr constant [6 x i8] c"along\00" @.str2354 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str2355 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" @.str2356 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00" @.str2357 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2358 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2359 = private unnamed_addr constant [2 x i8] c")\00" @.str2360 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2361 = private unnamed_addr constant [5 x i8] c"step\00" @.str2362 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str2363 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" @.str2364 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(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 [4 x i8] c"add\00" @.str2368 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2369 = private unnamed_addr constant [3 x i8] c", \00" @.str2370 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2371 = private unnamed_addr constant [3 x i8] c", \00" @.str2372 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2373 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2374 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2375 = private unnamed_addr constant [3 x i8] c", \00" @.str2376 = private unnamed_addr constant [9 x i8] c"sub 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 [6 x i8] c"scale\00" @.str2380 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2381 = private unnamed_addr constant [3 x i8] c", \00" @.str2382 = private unnamed_addr constant [9 x i8] c"mul 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 [4 x i8] c"dot\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 [9 x i8] c"add i32 \00" @.str2391 = private unnamed_addr constant [3 x i8] c", \00" @.str2392 = private unnamed_addr constant [4 x i8] c"int\00" @.str2393 = private unnamed_addr constant [6 x i8] c"equal\00" @.str2394 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" @.str2395 = private unnamed_addr constant [3 x i8] c", \00" @.str2396 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2397 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2398 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2399 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str2400 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2401 = private unnamed_addr constant [3 x i8] c", \00" @.str2402 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2403 = private unnamed_addr constant [3 x i8] c", \00" @.str2404 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2405 = private unnamed_addr constant [3 x i8] c", \00" @.str2406 = private unnamed_addr constant [4 x i8] c"int\00" @.str2407 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2408 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2409 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2410 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2411 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2412 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2413 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2414 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2415 = private unnamed_addr constant [5 x i8] c", 96\00" @.str2416 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2417 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2418 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2419 = private unnamed_addr constant [5 x i8] c", 64\00" @.str2420 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2421 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2422 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2423 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2424 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2425 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2426 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2427 = private unnamed_addr constant [3 x i8] c", \00" @.str2428 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2429 = private unnamed_addr constant [3 x i8] c", \00" @.str2430 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2431 = private unnamed_addr constant [3 x i8] c", \00" @.str2432 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str2433 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2434 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" @.str2435 = private unnamed_addr constant [3 x i8] c", \00" @.str2436 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str2437 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2438 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str2439 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str2440 = private unnamed_addr constant [3 x i8] c", \00" @.str2441 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2442 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2443 = private unnamed_addr constant [5 x i8] c"make\00" @.str2444 = private unnamed_addr constant [2 x i8] c"x\00" @.str2445 = private unnamed_addr constant [2 x i8] c"y\00" @.str2446 = private unnamed_addr constant [2 x i8] c"w\00" @.str2447 = private unnamed_addr constant [2 x i8] c"h\00" @.str2448 = private unnamed_addr constant [6 x i8] c"right\00" @.str2449 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str2450 = private unnamed_addr constant [7 x i8] c"center\00" @.str2451 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2452 = private unnamed_addr constant [11 x i8] c"intersects\00" @.str2453 = private unnamed_addr constant [5 x i8] c"make\00" @.str2454 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str2455 = private unnamed_addr constant [2 x i8] c"x\00" @.str2456 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2457 = private unnamed_addr constant [2 x i8] c"y\00" @.str2458 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2459 = private unnamed_addr constant [2 x i8] c"w\00" @.str2460 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2461 = private unnamed_addr constant [2 x i8] c"h\00" @.str2462 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2463 = private unnamed_addr constant [6 x i8] c"right\00" @.str2464 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2465 = private unnamed_addr constant [3 x i8] c", \00" @.str2466 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2467 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str2468 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2469 = private unnamed_addr constant [3 x i8] c", \00" @.str2470 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2471 = private unnamed_addr constant [7 x i8] c"center\00" @.str2472 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2473 = private unnamed_addr constant [4 x i8] c", 1\00" @.str2474 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2475 = private unnamed_addr constant [4 x i8] c", 1\00" @.str2476 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2477 = private unnamed_addr constant [3 x i8] c", \00" @.str2478 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2479 = private unnamed_addr constant [3 x i8] c", \00" @.str2480 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2481 = private unnamed_addr constant [9 x i8] c"contains\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 [4 x i8] c"sge\00" @.str2487 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2488 = private unnamed_addr constant [4 x i8] c"sge\00" @.str2489 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2490 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2491 = private unnamed_addr constant [3 x i8] c", \00" @.str2492 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2493 = private unnamed_addr constant [3 x i8] c", \00" @.str2494 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2495 = private unnamed_addr constant [3 x i8] c", \00" @.str2496 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2497 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2498 = private unnamed_addr constant [3 x i8] c", \00" @.str2499 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2500 = private unnamed_addr constant [3 x i8] c", \00" @.str2501 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2502 = private unnamed_addr constant [3 x i8] c", \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 [4 x i8] c"slt\00" @.str2506 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2507 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2508 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2509 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2510 = private unnamed_addr constant [3 x i8] c", \00" @.str2511 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2512 = private unnamed_addr constant [3 x i8] c", \00" @.str2513 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2514 = private unnamed_addr constant [3 x i8] c", \00" @.str2515 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2516 = private unnamed_addr constant [7 x i8] c"length\00" @.str2517 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2518 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2519 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2520 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2521 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2522 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2523 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2524 = private unnamed_addr constant [10 x i8] c"ends_with\00" @.str2525 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2526 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2527 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2528 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2529 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2530 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2531 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2532 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2533 = private unnamed_addr constant [6 x i8] c"split\00" @.str2534 = private unnamed_addr constant [5 x i8] c"join\00" @.str2535 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2536 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2537 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str2538 = private unnamed_addr constant [2 x i8] c")\00" @.str2539 = private unnamed_addr constant [7 x i8] c"string\00" @.str2540 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2541 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str2542 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2543 = private unnamed_addr constant [7 x i8] c", 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 [7 x i8] c"equals\00" @.str2547 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str2548 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2549 = private unnamed_addr constant [2 x i8] c")\00" @.str2550 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2551 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2552 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str2553 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2554 = private unnamed_addr constant [2 x i8] c")\00" @.str2555 = private unnamed_addr constant [7 x i8] c"string\00" @.str2556 = private unnamed_addr constant [7 x i8] c"length\00" @.str2557 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2558 = private unnamed_addr constant [2 x i8] c")\00" @.str2559 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2560 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2561 = private unnamed_addr constant [4 x i8] c"int\00" @.str2562 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2563 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2564 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2565 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str2566 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str2567 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2568 = private unnamed_addr constant [4 x i8] c"int\00" @.str2569 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2570 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" @.str2571 = private unnamed_addr constant [2 x i8] c")\00" @.str2572 = private unnamed_addr constant [4 x i8] c"int\00" @.str2573 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2574 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_upper(ptr \00" @.str2575 = private unnamed_addr constant [2 x i8] c")\00" @.str2576 = private unnamed_addr constant [7 x i8] c"string\00" @.str2577 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2578 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_lower(ptr \00" @.str2579 = private unnamed_addr constant [2 x i8] c")\00" @.str2580 = private unnamed_addr constant [7 x i8] c"string\00" @.str2581 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2582 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_trim(ptr \00" @.str2583 = private unnamed_addr constant [2 x i8] c")\00" @.str2584 = private unnamed_addr constant [7 x i8] c"string\00" @.str2585 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2586 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00" @.str2587 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2588 = private unnamed_addr constant [2 x i8] c")\00" @.str2589 = private unnamed_addr constant [7 x i8] c"string\00" @.str2590 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2591 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2592 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2593 = private unnamed_addr constant [8 x i8] c", i1 1)\00" @.str2594 = private unnamed_addr constant [7 x i8] c"string\00" @.str2595 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2596 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2597 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2598 = private unnamed_addr constant [8 x i8] c", i1 0)\00" @.str2599 = private unnamed_addr constant [7 x i8] c"string\00" @.str2600 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2601 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00" @.str2602 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2603 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2604 = private unnamed_addr constant [2 x i8] c")\00" @.str2605 = private unnamed_addr constant [7 x i8] c"string\00" @.str2606 = private unnamed_addr constant [6 x i8] c"split\00" @.str2607 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00" @.str2608 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2609 = private unnamed_addr constant [2 x i8] c")\00" @.str2610 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str2611 = private unnamed_addr constant [5 x i8] c"join\00" @.str2612 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00" @.str2613 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2614 = private unnamed_addr constant [2 x i8] c")\00" @.str2615 = private unnamed_addr constant [7 x i8] c"string\00" @.str2616 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2617 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2618 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(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 [9 x i8] c"contains\00" @.str2622 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str2623 = private unnamed_addr constant [7 x i8] c", null\00" @.str2624 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2625 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2626 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2627 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str2628 = private unnamed_addr constant [7 x i8] c", null\00" @.str2629 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2630 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2631 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2632 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2633 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2634 = private unnamed_addr constant [3 x i8] c", \00" @.str2635 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2636 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2637 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2638 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str2639 = private unnamed_addr constant [4 x i8] c"int\00" @.str2640 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2641 = private unnamed_addr constant [2 x i8] c")\00" @.str2642 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2643 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2644 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2645 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2646 = private unnamed_addr constant [2 x i8] c")\00" @.str2647 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2648 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2649 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2650 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2651 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2652 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2653 = private unnamed_addr constant [2 x i8] c")\00" @.str2654 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2655 = private unnamed_addr constant [3 x i8] c", \00" @.str2656 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2657 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2658 = private unnamed_addr constant [2 x i8] c"0\00" @.str2659 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" @.str2660 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2661 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" @.str2662 = private unnamed_addr constant [7 x i8] c"ew_end\00" @.str2663 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str2664 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2665 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2666 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2667 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2668 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2669 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2670 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2671 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2672 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2673 = private unnamed_addr constant [2 x i8] c")\00" @.str2674 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2675 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2676 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2677 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2678 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2679 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str2680 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2681 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2682 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str2683 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2684 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00" @.str2685 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2686 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2687 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2688 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2689 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2690 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2691 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2692 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2693 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2694 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2695 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2696 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2697 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2698 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2699 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" @.str2700 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" @.str2701 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2702 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" @.str2703 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2704 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2705 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2706 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2707 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2708 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2709 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2710 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2711 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2712 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2713 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2714 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00" @.str2715 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2716 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2717 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2718 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2719 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2720 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2721 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2722 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2723 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2724 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2725 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2726 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2727 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2728 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2729 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" @.str2730 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" @.str2731 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2732 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" @.str2733 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2734 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2735 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2736 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2737 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2738 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2739 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2740 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2741 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2742 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2743 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2744 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00" @.str2745 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2746 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2747 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" @.str2748 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" @.str2749 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" @.str2750 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" @.str2751 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2752 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" @.str2753 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" @.str2754 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" @.str2755 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" @.str2756 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" @.str2757 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" @.str2758 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" @.str2759 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" @.str2760 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00" @.str2761 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" @.str2762 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" @.str2763 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" @.str2764 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" @.str2765 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2766 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" @.str2767 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" @.str2768 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" @.str2769 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" @.str2770 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" @.str2771 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" @.str2772 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" @.str2773 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" @.str2774 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" @.str2775 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00" @.str2776 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" @.str2777 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" @.str2778 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" @.str2779 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" @.str2780 = private unnamed_addr constant [8 x i8] c"build:\0A\00" @.str2781 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str2782 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" @.str2783 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" @.str2784 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" @.str2785 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2786 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" @.str2787 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" @.str2788 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" @.str2789 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2790 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2791 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2792 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00" @.str2793 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" @.str2794 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" @.str2795 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" @.str2796 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" @.str2797 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" @.str2798 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" @.str2799 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" @.str2800 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" @.str2801 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2802 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00" @.str2803 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2804 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" @.str2805 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" @.str2806 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" @.str2807 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2808 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" @.str2809 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" @.str2810 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2811 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2812 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2813 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2814 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2815 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2816 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2817 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2818 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2819 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" @.str2820 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" @.str2821 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" @.str2822 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2823 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2824 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2825 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2826 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" @.str2827 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2828 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2829 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2830 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" @.str2831 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2832 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2833 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" @.str2834 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" @.str2835 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" @.str2836 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str2837 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" @.str2838 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2839 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" @.str2840 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" @.str2841 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" @.str2842 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" @.str2843 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2844 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str2845 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" @.str2846 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" @.str2847 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2848 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" @.str2849 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" @.str2850 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" @.str2851 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" @.str2852 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" @.str2853 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2854 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" @.str2855 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" @.str2856 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" @.str2857 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2858 = private unnamed_addr constant [7 x i8] c"term:\0A\00" @.str2859 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" @.str2860 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2861 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2862 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2863 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" @.str2864 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2865 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2866 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2867 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2868 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2869 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2870 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" @.str2871 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" @.str2872 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2873 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" @.str2874 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" @.str2875 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" @.str2876 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2877 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2878 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2879 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2880 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str2881 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2882 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" @.str2883 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2884 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" @.str2885 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" @.str2886 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" @.str2887 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" @.str2888 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" @.str2889 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" @.str2890 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2891 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" @.str2892 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2893 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str2894 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" @.str2895 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" @.str2896 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str2897 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" @.str2898 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str2899 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str2900 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2901 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str2902 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str2903 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" @.str2904 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str2905 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" @.str2906 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str2907 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str2908 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str2909 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str2910 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" @.str2911 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str2912 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2913 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" @.str2914 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str2915 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" @.str2916 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" @.str2917 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" @.str2918 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" @.str2919 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2920 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str2921 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str2922 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2923 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2924 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2925 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" @.str2926 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str2927 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" @.str2928 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str2929 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" @.str2930 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" @.str2931 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str2932 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str2933 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str2934 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" @.str2935 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" @.str2936 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" @.str2937 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" @.str2938 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" @.str2939 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" @.str2940 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" @.str2941 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" @.str2942 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2943 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str2944 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" @.str2945 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" @.str2946 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" @.str2947 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" @.str2948 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" @.str2949 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2950 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2951 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00" @.str2952 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2953 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" @.str2954 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" @.str2955 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" @.str2956 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" @.str2957 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" @.str2958 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str2959 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" @.str2960 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" @.str2961 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2962 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2963 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2964 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" @.str2965 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2966 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" @.str2967 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" @.str2968 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" @.str2969 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" @.str2970 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" @.str2971 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" @.str2972 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" @.str2973 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" @.str2974 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" @.str2975 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2976 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2977 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2978 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" @.str2979 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" @.str2980 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" @.str2981 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" @.str2982 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" @.str2983 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" @.str2984 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" @.str2985 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" @.str2986 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2987 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2988 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2989 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" @.str2990 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" @.str2991 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str2992 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" @.str2993 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" @.str2994 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" @.str2995 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" @.str2996 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" @.str2997 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" @.str2998 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" @.str2999 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" @.str3000 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" @.str3001 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" @.str3002 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" @.str3003 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" @.str3004 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" @.str3005 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" @.str3006 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" @.str3007 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" @.str3008 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" @.str3009 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" @.str3010 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" @.str3011 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" @.str3012 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" @.str3013 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" @.str3014 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" @.str3015 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str3016 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" @.str3017 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" @.str3018 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" @.str3019 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3020 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3021 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00" @.str3022 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3023 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str3024 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str3025 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" @.str3026 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str3027 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str3028 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3029 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str3030 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str3031 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" @.str3032 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str3033 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" @.str3034 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str3035 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str3036 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str3037 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str3038 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" @.str3039 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str3040 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3041 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" @.str3042 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str3043 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00" @.str3044 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" @.str3045 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00" @.str3046 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" @.str3047 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" @.str3048 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" @.str3049 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" @.str3050 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" @.str3051 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" @.str3052 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" @.str3053 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str3054 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str3055 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3056 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3057 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str3058 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" @.str3059 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3060 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" @.str3061 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" @.str3062 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" @.str3063 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str3064 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" @.str3065 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str3066 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" @.str3067 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" @.str3068 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str3069 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str3070 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str3071 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str3072 = private unnamed_addr constant [7 x i8] c"last:\0A\00" @.str3073 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" @.str3074 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str3075 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str3076 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" @.str3077 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" @.str3078 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00" @.str3079 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" @.str3080 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" @.str3081 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" @.str3082 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str3083 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" @.str3084 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" @.str3085 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" @.str3086 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" @.str3087 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3088 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3089 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str3090 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3091 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" @.str3092 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3093 = private unnamed_addr constant [3 x i8] c"of\00" @.str3094 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str3095 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str3096 = private unnamed_addr constant [4 x i8] c"mix\00" @.str3097 = private unnamed_addr constant [8 x i8] c"combine\00" @.str3098 = private unnamed_addr constant [5 x i8] c"of64\00" @.str3099 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str3100 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str3101 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3102 = private unnamed_addr constant [5 x i8] c", 16\00" @.str3103 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3104 = private unnamed_addr constant [3 x i8] c", \00" @.str3105 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str3106 = private unnamed_addr constant [14 x i8] c", -2048144789\00" @.str3107 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3108 = private unnamed_addr constant [5 x i8] c", 13\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", -1028477387\00" @.str3113 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3114 = private unnamed_addr constant [5 x i8] c", 16\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 [10 x i8] c"lshr i64 \00" @.str3118 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3119 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3120 = private unnamed_addr constant [3 x i8] c", \00" @.str3121 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str3122 = private unnamed_addr constant [21 x i8] c", -49064778989728563\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 [23 x i8] c", -4265267296055464877\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 [3 x i8] c"of\00" @.str3134 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str3135 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00" @.str3136 = private unnamed_addr constant [2 x i8] c")\00" @.str3137 = private unnamed_addr constant [4 x i8] c"int\00" @.str3138 = private unnamed_addr constant [5 x i8] c"of64\00" @.str3139 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str3140 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00" @.str3141 = private unnamed_addr constant [2 x i8] c")\00" @.str3142 = private unnamed_addr constant [5 x i8] c"long\00" @.str3143 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str3144 = private unnamed_addr constant [5 x i8] c"long\00" @.str3145 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str3146 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00" @.str3147 = private unnamed_addr constant [2 x i8] c")\00" @.str3148 = private unnamed_addr constant [4 x i8] c"int\00" @.str3149 = private unnamed_addr constant [4 x i8] c"mix\00" @.str3150 = private unnamed_addr constant [4 x i8] c"int\00" @.str3151 = private unnamed_addr constant [2 x i8] c"0\00" @.str3152 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3153 = private unnamed_addr constant [14 x i8] c", -1640531527\00" @.str3154 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str3155 = private unnamed_addr constant [4 x i8] c", 6\00" @.str3156 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3157 = private unnamed_addr constant [4 x i8] c", 2\00" @.str3158 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3159 = private unnamed_addr constant [3 x i8] c", \00" @.str3160 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3161 = private unnamed_addr constant [3 x i8] c", \00" @.str3162 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3163 = private unnamed_addr constant [3 x i8] c", \00" @.str3164 = private unnamed_addr constant [4 x i8] c"int\00" @.str3165 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00" @.str3166 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3167 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" @.str3168 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" @.str3169 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3170 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3171 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3172 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3173 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3174 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3175 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str3176 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str3177 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3178 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3179 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" @.str3180 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" @.str3181 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" @.str3182 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" @.str3183 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" @.str3184 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3185 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3186 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3187 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3188 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" @.str3189 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" @.str3190 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3191 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00" @.str3192 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3193 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" @.str3194 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" @.str3195 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3196 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3197 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3198 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3199 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3200 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3201 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str3202 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str3203 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3204 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3205 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" @.str3206 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" @.str3207 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" @.str3208 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" @.str3209 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" @.str3210 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3211 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3212 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3213 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3214 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" @.str3215 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" @.str3216 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3217 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00" @.str3218 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3219 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" @.str3220 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" @.str3221 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3222 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3223 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" @.str3224 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3225 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3226 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3227 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3228 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" @.str3229 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" @.str3230 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3231 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3232 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" @.str3233 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" @.str3234 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" @.str3235 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" @.str3236 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" @.str3237 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str3238 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" @.str3239 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str3240 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" @.str3241 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" @.str3242 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" @.str3243 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" @.str3244 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" @.str3245 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" @.str3246 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" @.str3247 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" @.str3248 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" @.str3249 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" @.str3250 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" @.str3251 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" @.str3252 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str3253 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" @.str3254 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3255 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3256 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3257 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3258 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" @.str3259 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" @.str3260 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str3261 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3262 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str3263 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str3264 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" @.str3265 = private unnamed_addr constant [4 x i8] c"hex\00" @.str3266 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str3267 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str3268 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str3269 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str3270 = private unnamed_addr constant [7 x i8] c"base64\00" @.str3271 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str3272 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00" @.str3273 = private unnamed_addr constant [2 x i8] c")\00" @.str3274 = private unnamed_addr constant [7 x i8] c"string\00" @.str3275 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str3276 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str3277 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3278 = private unnamed_addr constant [2 x i8] c")\00" @.str3279 = private unnamed_addr constant [7 x i8] c"string\00" @.str3280 = private unnamed_addr constant [4 x i8] c"hex\00" @.str3281 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00" @.str3282 = private unnamed_addr constant [2 x i8] c")\00" @.str3283 = private unnamed_addr constant [7 x i8] c"string\00" @.str3284 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str3285 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str3286 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3287 = private unnamed_addr constant [2 x i8] c")\00" @.str3288 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3289 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str3290 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str3291 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str3292 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str3293 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00" @.str3294 = private unnamed_addr constant [2 x i8] c")\00" @.str3295 = private unnamed_addr constant [7 x i8] c"string\00" @.str3296 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str3297 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00" @.str3298 = private unnamed_addr constant [4 x i8] c"int\00" @.str3299 = private unnamed_addr constant [7 x i8] c"base64\00" @.str3300 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00" @.str3301 = private unnamed_addr constant [2 x i8] c")\00" @.str3302 = private unnamed_addr constant [7 x i8] c"string\00" @.str3303 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str3304 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3305 = private unnamed_addr constant [2 x i8] c")\00" @.str3306 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str3307 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3308 = private unnamed_addr constant [2 x i8] c")\00" @.str3309 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3310 = 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" @.str3311 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00" @.str3312 = 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" @.str3313 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" @.str3314 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3315 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" @.str3316 = 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" @.str3317 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" @.str3318 = 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" @.str3319 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00" @.str3320 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" @.str3321 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" @.str3322 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" @.str3323 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" @.str3324 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" @.str3325 = 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" @.str3326 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" @.str3327 = 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" @.str3328 = 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" @.str3329 = 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" @.str3330 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" @.str3331 = 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" @.str3332 = 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" @.str3333 = 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" @.str3334 = 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" @.str3335 = 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" @.str3336 = 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" @.str3337 = 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" @.str3338 = 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" @.str3339 = 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" @.str3340 = 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" @.str3341 = 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" @.str3342 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" @.str3343 = 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" @.str3344 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" @.str3345 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" @.str3346 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" @.str3347 = 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" @.str3348 = 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" @.str3349 = 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" @.str3350 = 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" @.str3351 = 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" @.str3352 = 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" @.str3353 = 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" @.str3354 = 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" @.str3355 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" @.str3356 = 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" @.str3357 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" @.str3358 = 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" @.str3359 = 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" @.str3360 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" @.str3361 = 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" @.str3362 = 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" @.str3363 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" @.str3364 = 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" @.str3365 = 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" @.str3366 = 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" @.str3367 = 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" @.str3368 = 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" @.str3369 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" @.str3370 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" @.str3371 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" @.str3372 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" @.str3373 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" @.str3374 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" @.str3375 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" @.str3376 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" @.str3377 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" @.str3378 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" @.str3379 = 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" @.str3380 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str3381 = 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" @.str3382 = 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" @.str3383 = 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" @.str3384 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" @.str3385 = 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" @.str3386 = 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" @.str3387 = 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" @.str3388 = 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" @.str3389 = 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" @.str3390 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" @.str3391 = 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" @.str3392 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" @.str3393 = 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" @.str3394 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" @.str3395 = 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" @.str3396 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" @.str3397 = 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" @.str3398 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" @.str3399 = 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" @.str3400 = 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" @.str3401 = 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" @.str3402 = 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" @.str3403 = 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" @.str3404 = 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" @.str3405 = 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" @.str3406 = 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" @.str3407 = 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" @.str3408 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" @.str3409 = 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" @.str3410 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" @.str3411 = 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" @.str3412 = 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" @.str3413 = 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" @.str3414 = 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" @.str3415 = 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" @.str3416 = 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" @.str3417 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00" @.str3418 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00" @.str3419 = 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" @.str3420 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00" @.str3421 = 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" @.str3422 = 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" @.str3423 = 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" @.str3424 = 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" @.str3425 = 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" @.str3426 = 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" @.str3427 = 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" @.str3428 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00" @.str3429 = 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" @.str3430 = 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" @.str3431 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00" @.str3432 = 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" @.str3433 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" @.str3434 = 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" @.str3435 = 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" @.str3436 = 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" @.str3437 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str3438 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" @.str3439 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3440 = 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" @.str3441 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" @.str3442 = 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" @.str3443 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" @.str3444 = 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" @.str3445 = 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" @.str3446 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" @.str3447 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00" @.str3448 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" @.str3449 = 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" @.str3450 = 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" @.str3451 = 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" @.str3452 = 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" @.str3453 = 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" @.str3454 = 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" @.str3455 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00" @.str3456 = 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" @.str3457 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" @.str3458 = 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" @.str3459 = 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" @.str3460 = 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" @.str3461 = 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" @.str3462 = 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" @.str3463 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str3464 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" @.str3465 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str3466 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" @.str3467 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" @.str3468 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" @.str3469 = 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" @.str3470 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" @.str3471 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00" @.str3472 = 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" @.str3473 = 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" @.str3474 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00" @.str3475 = 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" @.str3476 = 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" @.str3477 = 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" @.str3478 = 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" @.str3479 = 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" @.str3480 = 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" @.str3481 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00" @.str3482 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3483 = 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" @.str3484 = 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" @.str3485 = 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" @.str3486 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" @.str3487 = 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" @.str3488 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" @.str3489 = 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" @.str3490 = 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" @.str3491 = 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" @.str3492 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" @.str3493 = 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" @.str3494 = 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" @.str3495 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" @.str3496 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" @.str3497 = 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" @.str3498 = 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" @.str3499 = 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" @.str3500 = 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" @.str3501 = 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" @.str3502 = 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" @.str3503 = 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" @.str3504 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" @.str3505 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" @.str3506 = 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" @.str3507 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" @.str3508 = 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" @.str3509 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" @.str3510 = private unnamed_addr constant [4 x i8] c"new\00" @.str3511 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3512 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3513 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3514 = private unnamed_addr constant [6 x i8] c"parse\00" @.str3515 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3516 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3517 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3518 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3519 = private unnamed_addr constant [4 x i8] c"new\00" @.str3520 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3521 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00" @.str3522 = private unnamed_addr constant [7 x i8] c"string\00" @.str3523 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3524 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3525 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00" @.str3526 = private unnamed_addr constant [7 x i8] c"string\00" @.str3527 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3528 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00" @.str3529 = private unnamed_addr constant [7 x i8] c"string\00" @.str3530 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3531 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00" @.str3532 = private unnamed_addr constant [2 x i8] c")\00" @.str3533 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3534 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3535 = private unnamed_addr constant [7 x i8] c"string\00" @.str3536 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3537 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00" @.str3538 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3539 = private unnamed_addr constant [2 x i8] c")\00" @.str3540 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3541 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00" @.str3542 = private unnamed_addr constant [2 x i8] c")\00" @.str3543 = private unnamed_addr constant [7 x i8] c"string\00" @.str3544 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00" @.str3545 = 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" @.str3546 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" @.str3547 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3548 = 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" @.str3549 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3550 = 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" @.str3551 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3552 = 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" @.str3553 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3554 = 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" @.str3555 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" @.str3556 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00" @.str3557 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00" @.str3558 = 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" @.str3559 = 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" @.str3560 = 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" @.str3561 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3562 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00" @.str3563 = 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" @.str3564 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" @.str3565 = 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" @.str3566 = 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" @.str3567 = 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" @.str3568 = 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" @.str3569 = 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" @.str3570 = 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" @.str3571 = 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" @.str3572 = 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" @.str3573 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3574 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00" @.str3575 = 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" @.str3576 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3577 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3578 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3579 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3580 = 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" @.str3581 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00" @.str3582 = 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" @.str3583 = 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" @.str3584 = 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" @.str3585 = 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" @.str3586 = 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" @.str3587 = 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" @.str3588 = 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" @.str3589 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" @.str3590 = 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" @.str3591 = 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" @.str3592 = 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" @.str3593 = 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" @.str3594 = 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" @.str3595 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" @.str3596 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" @.str3597 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00" @.str3598 = 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" @.str3599 = 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" @.str3600 = 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" @.str3601 = 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" @.str3602 = 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" @.str3603 = 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" @.str3604 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" @.str3605 = 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" @.str3606 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" @.str3607 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" @.str3608 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00" @.str3609 = 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" @.str3610 = 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" @.str3611 = 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" @.str3612 = 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" @.str3613 = 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" @.str3614 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" @.str3615 = 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" @.str3616 = 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" @.str3617 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00" @.str3618 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3619 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3620 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str3621 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str3622 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3623 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" @.str3624 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3625 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3626 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str3627 = private unnamed_addr constant [4 x i8] c", 1\00" @.str3628 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3629 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str3630 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3631 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3632 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(i32 \00" @.str3633 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3634 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3635 = private unnamed_addr constant [2 x i8] c")\00" @.str3636 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3637 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3638 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(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 [9 x i8] c"simplex2\00" @.str3644 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(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 [5 x i8] c"fbm2\00" @.str3650 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(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 [7 x i8] c", i32 \00" @.str3654 = private unnamed_addr constant [2 x i8] c")\00" @.str3655 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3656 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3657 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(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 [37 x i8] c"call i32 @lp_noise_cellular2_id(i32 \00" @.str3663 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3664 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3665 = private unnamed_addr constant [2 x i8] c")\00" @.str3666 = private unnamed_addr constant [4 x i8] c"int\00" @.str3667 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00" @.str3668 = 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" @.str3669 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00" @.str3670 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" @.str3671 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3672 = 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" @.str3673 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" @.str3674 = 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" @.str3675 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00" @.str3676 = 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" @.str3677 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" @.str3678 = 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" @.str3679 = 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" @.str3680 = 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" @.str3681 = 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" @.str3682 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00" @.str3683 = 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" @.str3684 = 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" @.str3685 = 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" @.str3686 = 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" @.str3687 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3688 = 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" @.str3689 = 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" @.str3690 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3691 = 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" @.str3692 = 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" @.str3693 = 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" @.str3694 = 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" @.str3695 = 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" @.str3696 = 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" @.str3697 = 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" @.str3698 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3699 = 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" @.str3700 = 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" @.str3701 = 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" @.str3702 = 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" @.str3703 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3704 = 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" @.str3705 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" @.str3706 = 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" @.str3707 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3708 = 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" @.str3709 = 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" @.str3710 = 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" @.str3711 = 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" @.str3712 = 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" @.str3713 = 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" @.str3714 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3715 = 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" @.str3716 = 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" @.str3717 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3718 = 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" @.str3719 = 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" @.str3720 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3721 = 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" @.str3722 = 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" @.str3723 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" @.str3724 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" @.str3725 = 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" @.str3726 = 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" @.str3727 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" @.str3728 = 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" @.str3729 = 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" @.str3730 = 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" @.str3731 = 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" @.str3732 = 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" @.str3733 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" @.str3734 = 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" @.str3735 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" @.str3736 = 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" @.str3737 = 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" @.str3738 = 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" @.str3739 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" @.str3740 = 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" @.str3741 = 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" @.str3742 = 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" @.str3743 = 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" @.str3744 = 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" @.str3745 = 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" @.str3746 = 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" @.str3747 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" @.str3748 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" @.str3749 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" @.str3750 = 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" @.str3751 = 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" @.str3752 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" @.str3753 = 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" @.str3754 = 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" @.str3755 = 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" @.str3756 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" @.str3757 = 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" @.str3758 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" @.str3759 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" @.str3760 = 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" @.str3761 = 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" @.str3762 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" @.str3763 = 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" @.str3764 = 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" @.str3765 = 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" @.str3766 = 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" @.str3767 = 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" @.str3768 = 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" @.str3769 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3770 = 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" @.str3771 = 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" @.str3772 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3773 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00" @.str3774 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" @.str3775 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3776 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3777 = private unnamed_addr constant [5 x i8] c"info\00" @.str3778 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3779 = private unnamed_addr constant [6 x i8] c"error\00" @.str3780 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3781 = private unnamed_addr constant [6 x i8] c"level\00" @.str3782 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str3783 = private unnamed_addr constant [4 x i8] c"i64\00" @.str3784 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str3785 = private unnamed_addr constant [2 x i8] c")\00" @.str3786 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str3787 = private unnamed_addr constant [2 x i8] c")\00" @.str3788 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3789 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str3790 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" @.str3791 = private unnamed_addr constant [2 x i8] c"0\00" @.str3792 = private unnamed_addr constant [5 x i8] c"void\00" @.str3793 = private unnamed_addr constant [6 x i8] c"level\00" @.str3794 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str3795 = private unnamed_addr constant [4 x i8] c"int\00" @.str3796 = private unnamed_addr constant [2 x i8] c"2\00" @.str3797 = private unnamed_addr constant [8 x i8] c"[INFO] \00" @.str3798 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3799 = private unnamed_addr constant [2 x i8] c"0\00" @.str3800 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" @.str3801 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3802 = private unnamed_addr constant [2 x i8] c"1\00" @.str3803 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" @.str3804 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3805 = private unnamed_addr constant [2 x i8] c"3\00" @.str3806 = private unnamed_addr constant [8 x i8] c"[WARN] \00" @.str3807 = private unnamed_addr constant [6 x i8] c"error\00" @.str3808 = private unnamed_addr constant [2 x i8] c"4\00" @.str3809 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" @.str3810 = private unnamed_addr constant [7 x i8] c"string\00" @.str3811 = private unnamed_addr constant [2 x i8] c"+\00" @.str3812 = private unnamed_addr constant [7 x i8] c"string\00" @.str3813 = private unnamed_addr constant [2 x i8] c"+\00" @.str3814 = private unnamed_addr constant [2 x i8] c" \00" @.str3815 = private unnamed_addr constant [7 x i8] c"string\00" @.str3816 = private unnamed_addr constant [2 x i8] c"+\00" @.str3817 = private unnamed_addr constant [7 x i8] c"string\00" @.str3818 = private unnamed_addr constant [2 x i8] c"+\00" @.str3819 = private unnamed_addr constant [2 x i8] c"=\00" @.str3820 = private unnamed_addr constant [7 x i8] c"string\00" @.str3821 = private unnamed_addr constant [2 x i8] c"+\00" @.str3822 = private unnamed_addr constant [7 x i8] c"string\00" @.str3823 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00" @.str3824 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3825 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3826 = private unnamed_addr constant [2 x i8] c"0\00" @.str3827 = private unnamed_addr constant [5 x i8] c"void\00" @.str3828 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" @.str3829 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" @.str3830 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00" @.str3831 = 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" @.str3832 = private unnamed_addr constant [12 x i8] c"go:\0A %e = \00" @.str3833 = private unnamed_addr constant [34 x i8] c"\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3834 = 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" @.str3835 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str3836 = private unnamed_addr constant [5 x i8] c"args\00" @.str3837 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3838 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3839 = private unnamed_addr constant [4 x i8] c"env\00" @.str3840 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3841 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3842 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3843 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3844 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3845 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3846 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3847 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3848 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3849 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3850 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3851 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3852 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3853 = private unnamed_addr constant [9 x i8] c"temp_dir\00" @.str3854 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3855 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str3856 = private unnamed_addr constant [4 x i8] c"int\00" @.str3857 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3858 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str3859 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str3860 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3861 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str3862 = private unnamed_addr constant [7 x i8] c"string\00" @.str3863 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3864 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00" @.str3865 = private unnamed_addr constant [4 x i8] c"int\00" @.str3866 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3867 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str3868 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3869 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str3870 = private unnamed_addr constant [2 x i8] c"0\00" @.str3871 = private unnamed_addr constant [5 x i8] c"void\00" @.str3872 = private unnamed_addr constant [4 x i8] c"env\00" @.str3873 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3874 = private unnamed_addr constant [2 x i8] c")\00" @.str3875 = private unnamed_addr constant [7 x i8] c"string\00" @.str3876 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3877 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3878 = private unnamed_addr constant [2 x i8] c")\00" @.str3879 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str3880 = private unnamed_addr constant [7 x i8] c", null\00" @.str3881 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3882 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3883 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3884 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3885 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3886 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3887 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str3888 = private unnamed_addr constant [2 x i8] c")\00" @.str3889 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" @.str3890 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str3891 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3892 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3893 = private unnamed_addr constant [2 x i8] c"0\00" @.str3894 = private unnamed_addr constant [5 x i8] c"void\00" @.str3895 = private unnamed_addr constant [5 x i8] c"args\00" @.str3896 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00" @.str3897 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str3898 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3899 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00" @.str3900 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3901 = private unnamed_addr constant [2 x i8] c")\00" @.str3902 = private unnamed_addr constant [7 x i8] c"string\00" @.str3903 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3904 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" @.str3905 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3906 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str3907 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3908 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3909 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3910 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3911 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3912 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3913 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" @.str3914 = private unnamed_addr constant [2 x i8] c")\00" @.str3915 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3916 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3917 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3918 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3919 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3920 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3921 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00" @.str3922 = private unnamed_addr constant [7 x i8] c"string\00" @.str3923 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3924 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00" @.str3925 = private unnamed_addr constant [7 x i8] c"string\00" @.str3926 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3927 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00" @.str3928 = private unnamed_addr constant [2 x i8] c")\00" @.str3929 = private unnamed_addr constant [7 x i8] c"string\00" @.str3930 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3931 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00" @.str3932 = private unnamed_addr constant [2 x i8] c")\00" @.str3933 = private unnamed_addr constant [7 x i8] c"string\00" @.str3934 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3935 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00" @.str3936 = private unnamed_addr constant [2 x i8] c")\00" @.str3937 = private unnamed_addr constant [7 x i8] c"string\00" @.str3938 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str3939 = private unnamed_addr constant [7 x i8] c"string\00" @.str3940 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" @.str3941 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" @.str3942 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" @.str3943 = private unnamed_addr constant [5 x i8] c"HOME\00" @.str3944 = private unnamed_addr constant [2 x i8] c".\00" @.str3945 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" @.str3946 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" @.str3947 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str3948 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str3949 = private unnamed_addr constant [7 x i8] c"Darwin\00" @.str3950 = private unnamed_addr constant [14 x i8] c"XDG_DATA_HOME\00" @.str3951 = private unnamed_addr constant [16 x i8] c"XDG_CONFIG_HOME\00" @.str3952 = private unnamed_addr constant [15 x i8] c"XDG_CACHE_HOME\00" @.str3953 = private unnamed_addr constant [15 x i8] c"/.local/share/\00" @.str3954 = private unnamed_addr constant [10 x i8] c"/.config/\00" @.str3955 = private unnamed_addr constant [9 x i8] c"/.cache/\00" @.str3956 = private unnamed_addr constant [2 x i8] c"/\00" @.str3957 = private unnamed_addr constant [6 x i8] c"macos\00" @.str3958 = private unnamed_addr constant [6 x i8] c"Linux\00" @.str3959 = private unnamed_addr constant [6 x i8] c"linux\00" @.str3960 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00" @.str3961 = 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" @.str3962 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" @.str3963 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" @.str3964 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00" @.str3965 = 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" @.str3966 = 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" @.str3967 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" @.str3968 = 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" @.str3969 = 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" @.str3970 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" @.str3971 = 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" @.str3972 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str3973 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3974 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3975 = private unnamed_addr constant [39 x i8] c"@L_os_darwin = internal global i32 -1\0A\00" @.str3976 = private unnamed_addr constant [33 x i8] c"define i32 @lp_os_is_darwin() {\0A\00" @.str3977 = 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" @.str3978 = private unnamed_addr constant [20 x i8] c"done:\0A ret i32 %c\0A\00" @.str3979 = private unnamed_addr constant [72 x i8] c"probe:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str3980 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str3981 = private unnamed_addr constant [38 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A\00" @.str3982 = 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" @.str3983 = private unnamed_addr constant [45 x i8] c"define ptr @lp_os_xdg(ptr %var, ptr %rel) {\0A\00" @.str3984 = 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" @.str3985 = 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" @.str3986 = private unnamed_addr constant [47 x i8] c"use:\0A %u = call ptr @lp_os_join2(ptr %v, ptr \00" @.str3987 = private unnamed_addr constant [16 x i8] c")\0A ret ptr %u\0A\00" @.str3988 = 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" @.str3989 = private unnamed_addr constant [67 x i8] c"define ptr @lp_os_known(ptr %app, ptr %mac, ptr %var, ptr %rel) {\0A\00" @.str3990 = 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" @.str3991 = 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" @.str3992 = 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" @.str3993 = 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" @.str3994 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3995 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3996 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3997 = 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" @.str3998 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3999 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4000 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4001 = 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" @.str4002 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4003 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4004 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4005 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str4006 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4007 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4008 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str4009 = 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" @.str4010 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str4011 = 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" @.str4012 = 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" @.str4013 = 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" @.str4014 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str4015 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00" @.str4016 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str4017 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str4018 = 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" @.str4019 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" @.str4020 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4021 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" @.str4022 = 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" @.str4023 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" @.str4024 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4025 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" @.str4026 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00" @.str4027 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str4028 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" @.str4029 = private unnamed_addr constant [4 x i8] c"len\00" @.str4030 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str4031 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str4032 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str4033 = private unnamed_addr constant [6 x i8] c"chars\00" @.str4034 = private unnamed_addr constant [6 x i8] c"upper\00" @.str4035 = private unnamed_addr constant [6 x i8] c"lower\00" @.str4036 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str4037 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" @.str4038 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str4039 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str4040 = private unnamed_addr constant [2 x i8] c")\00" @.str4041 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str4042 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4043 = private unnamed_addr constant [4 x i8] c"int\00" @.str4044 = private unnamed_addr constant [4 x i8] c"len\00" @.str4045 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00" @.str4046 = private unnamed_addr constant [2 x i8] c")\00" @.str4047 = private unnamed_addr constant [4 x i8] c"int\00" @.str4048 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str4049 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00" @.str4050 = private unnamed_addr constant [2 x i8] c")\00" @.str4051 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4052 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str4053 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00" @.str4054 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4055 = private unnamed_addr constant [2 x i8] c")\00" @.str4056 = private unnamed_addr constant [4 x i8] c"int\00" @.str4057 = private unnamed_addr constant [6 x i8] c"chars\00" @.str4058 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00" @.str4059 = private unnamed_addr constant [2 x i8] c")\00" @.str4060 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str4061 = private unnamed_addr constant [6 x i8] c"upper\00" @.str4062 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str4063 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str4064 = private unnamed_addr constant [7 x i8] c"string\00" @.str4065 = private unnamed_addr constant [6 x i8] c"lower\00" @.str4066 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str4067 = private unnamed_addr constant [9 x i8] c", i32 0)\00" @.str4068 = private unnamed_addr constant [7 x i8] c"string\00" @.str4069 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str4070 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00" @.str4071 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4072 = private unnamed_addr constant [2 x i8] c")\00" @.str4073 = private unnamed_addr constant [7 x i8] c"string\00" @.str4074 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00" @.str4075 = private unnamed_addr constant [2 x i8] c")\00" @.str4076 = private unnamed_addr constant [4 x i8] c"int\00" @.str4077 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00" @.str4078 = 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" @.str4079 = 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" @.str4080 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4081 = 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" @.str4082 = 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" @.str4083 = 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" @.str4084 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str4085 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" @.str4086 = 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" @.str4087 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" @.str4088 = 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" @.str4089 = 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" @.str4090 = 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" @.str4091 = 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" @.str4092 = 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" @.str4093 = 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" @.str4094 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" @.str4095 = 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" @.str4096 = 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" @.str4097 = 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" @.str4098 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" @.str4099 = 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" @.str4100 = 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" @.str4101 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" @.str4102 = 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" @.str4103 = 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" @.str4104 = 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" @.str4105 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" @.str4106 = 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" @.str4107 = 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" @.str4108 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" @.str4109 = 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" @.str4110 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" @.str4111 = 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" @.str4112 = 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" @.str4113 = 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" @.str4114 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00" @.str4115 = 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" @.str4116 = 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" @.str4117 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" @.str4118 = 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" @.str4119 = 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" @.str4120 = 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" @.str4121 = 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" @.str4122 = 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" @.str4123 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4124 = 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" @.str4125 = 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" @.str4126 = 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" @.str4127 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" @.str4128 = 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" @.str4129 = 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" @.str4130 = 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" @.str4131 = 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" @.str4132 = 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" @.str4133 = 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" @.str4134 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" @.str4135 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" @.str4136 = 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" @.str4137 = 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" @.str4138 = 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" @.str4139 = 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" @.str4140 = 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" @.str4141 = 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" @.str4142 = 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" @.str4143 = 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" @.str4144 = 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" @.str4145 = 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" @.str4146 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" @.str4147 = 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" @.str4148 = 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" @.str4149 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" @.str4150 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00" @.str4151 = 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" @.str4152 = 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" @.str4153 = 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" @.str4154 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00" @.str4155 = 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" @.str4156 = 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" @.str4157 = 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" @.str4158 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00" @.str4159 = 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" @.str4160 = 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" @.str4161 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" @.str4162 = 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" @.str4163 = 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" @.str4164 = 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" @.str4165 = 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" @.str4166 = 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" @.str4167 = 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" @.str4168 = 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" @.str4169 = 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" @.str4170 = 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" @.str4171 = 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" @.str4172 = 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" @.str4173 = 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" @.str4174 = 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" @.str4175 = 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" @.str4176 = 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" @.str4177 = 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" @.str4178 = 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" @.str4179 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00" @.str4180 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" @.str4181 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" @.str4182 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" @.str4183 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" @.str4184 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" @.str4185 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" @.str4186 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" @.str4187 = 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" @.str4188 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" @.str4189 = 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" @.str4190 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00" @.str4191 = 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" @.str4192 = 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" @.str4193 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" @.str4194 = 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" @.str4195 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" @.str4196 = 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" @.str4197 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" @.str4198 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00" @.str4199 = 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" @.str4200 = 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" @.str4201 = 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" @.str4202 = 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" @.str4203 = 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" @.str4204 = 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" @.str4205 = 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" @.str4206 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4207 = 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" @.str4208 = 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" @.str4209 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" @.str4210 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00" @.str4211 = 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" @.str4212 = 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" @.str4213 = 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" @.str4214 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4215 = 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" @.str4216 = 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" @.str4217 = 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" @.str4218 = 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" @.str4219 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00" @.str4220 = 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" @.str4221 = 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" @.str4222 = 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" @.str4223 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" @.str4224 = 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" @.str4225 = 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" @.str4226 = 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" @.str4227 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00" @.str4228 = 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" @.str4229 = 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" @.str4230 = 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" @.str4231 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4232 = 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" @.str4233 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" @.str4234 = 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" @.str4235 = 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" @.str4236 = 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" @.str4237 = 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" @.str4238 = 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" @.str4239 = 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" @.str4240 = 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" @.str4241 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4242 = 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" @.str4243 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4244 = 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" @.str4245 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str4246 = private unnamed_addr constant [7 x i8] c"exists\00" @.str4247 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str4248 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str4249 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str4250 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str4251 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4252 = private unnamed_addr constant [5 x i8] c"size\00" @.str4253 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str4254 = private unnamed_addr constant [5 x i8] c"copy\00" @.str4255 = private unnamed_addr constant [5 x i8] c"list\00" @.str4256 = private unnamed_addr constant [5 x i8] c"join\00" @.str4257 = private unnamed_addr constant [4 x i8] c"dir\00" @.str4258 = private unnamed_addr constant [5 x i8] c"base\00" @.str4259 = private unnamed_addr constant [4 x i8] c"ext\00" @.str4260 = private unnamed_addr constant [5 x i8] c"stem\00" @.str4261 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str4262 = private unnamed_addr constant [3 x i8] c"of\00" @.str4263 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str4264 = private unnamed_addr constant [7 x i8] c"exists\00" @.str4265 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00" @.str4266 = private unnamed_addr constant [2 x i8] c")\00" @.str4267 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4268 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str4269 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00" @.str4270 = private unnamed_addr constant [2 x i8] c")\00" @.str4271 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4272 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str4273 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00" @.str4274 = private unnamed_addr constant [2 x i8] c")\00" @.str4275 = private unnamed_addr constant [7 x i8] c"string\00" @.str4276 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4277 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00" @.str4278 = private unnamed_addr constant [2 x i8] c")\00" @.str4279 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4280 = private unnamed_addr constant [5 x i8] c"size\00" @.str4281 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00" @.str4282 = private unnamed_addr constant [2 x i8] c")\00" @.str4283 = private unnamed_addr constant [4 x i8] c"int\00" @.str4284 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str4285 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00" @.str4286 = private unnamed_addr constant [2 x i8] c")\00" @.str4287 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4288 = private unnamed_addr constant [5 x i8] c"list\00" @.str4289 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00" @.str4290 = private unnamed_addr constant [2 x i8] c")\00" @.str4291 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str4292 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str4293 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00" @.str4294 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4295 = private unnamed_addr constant [2 x i8] c")\00" @.str4296 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4297 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str4298 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00" @.str4299 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4300 = private unnamed_addr constant [2 x i8] c")\00" @.str4301 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4302 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00" @.str4303 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4304 = private unnamed_addr constant [2 x i8] c")\00" @.str4305 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4306 = private unnamed_addr constant [4 x i8] c"dir\00" @.str4307 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00" @.str4308 = private unnamed_addr constant [2 x i8] c")\00" @.str4309 = private unnamed_addr constant [7 x i8] c"string\00" @.str4310 = private unnamed_addr constant [5 x i8] c"base\00" @.str4311 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00" @.str4312 = private unnamed_addr constant [2 x i8] c")\00" @.str4313 = private unnamed_addr constant [7 x i8] c"string\00" @.str4314 = private unnamed_addr constant [4 x i8] c"ext\00" @.str4315 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00" @.str4316 = private unnamed_addr constant [2 x i8] c")\00" @.str4317 = private unnamed_addr constant [7 x i8] c"string\00" @.str4318 = private unnamed_addr constant [5 x i8] c"stem\00" @.str4319 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00" @.str4320 = private unnamed_addr constant [2 x i8] c")\00" @.str4321 = private unnamed_addr constant [7 x i8] c"string\00" @.str4322 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str4323 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00" @.str4324 = private unnamed_addr constant [2 x i8] c")\00" @.str4325 = private unnamed_addr constant [7 x i8] c"string\00" @.str4326 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00" @.str4327 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4328 = private unnamed_addr constant [2 x i8] c")\00" @.str4329 = private unnamed_addr constant [7 x i8] c"string\00" @.str4330 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str4331 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(ptr \00" @.str4332 = private unnamed_addr constant [2 x i8] c")\00" @.str4333 = private unnamed_addr constant [7 x i8] c"string\00" @.str4334 = private unnamed_addr constant [26 x i8] c"call ptr @lp_mime_of(ptr \00" @.str4335 = private unnamed_addr constant [2 x i8] c")\00" @.str4336 = private unnamed_addr constant [7 x i8] c"string\00" @.str4337 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" @.str4338 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" @.str4339 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" @.str4340 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" @.str4341 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" @.str4342 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" @.str4343 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" @.str4344 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00" @.str4345 = 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" @.str4346 = 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" @.str4347 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00" @.str4348 = 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" @.str4349 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00" @.str4350 = 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" @.str4351 = 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" @.str4352 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4353 = 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" @.str4354 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" @.str4355 = 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" @.str4356 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" @.str4357 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00" @.str4358 = 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" @.str4359 = 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" @.str4360 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" @.str4361 = 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" @.str4362 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" @.str4363 = 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" @.str4364 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" @.str4365 = 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" @.str4366 = 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" @.str4367 = 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" @.str4368 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" @.str4369 = 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" @.str4370 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" @.str4371 = 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" @.str4372 = 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" @.str4373 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00" @.str4374 = 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" @.str4375 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" @.str4376 = 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" @.str4377 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00" @.str4378 = 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" @.str4379 = 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" @.str4380 = 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" @.str4381 = 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" @.str4382 = 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" @.str4383 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00" @.str4384 = 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" @.str4385 = 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" @.str4386 = 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" @.str4387 = 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" @.str4388 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" @.str4389 = 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" @.str4390 = 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" @.str4391 = 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" @.str4392 = 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" @.str4393 = 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" @.str4394 = 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" @.str4395 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00" @.str4396 = 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" @.str4397 = 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" @.str4398 = 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" @.str4399 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00" @.str4400 = 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" @.str4401 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00" @.str4402 = 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" @.str4403 = 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" @.str4404 = 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" @.str4405 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" @.str4406 = 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" @.str4407 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" @.str4408 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" @.str4409 = 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" @.str4410 = 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" @.str4411 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" @.str4412 = 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" @.str4413 = 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" @.str4414 = 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" @.str4415 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" @.str4416 = 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" @.str4417 = 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" @.str4418 = 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" @.str4419 = 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" @.str4420 = 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" @.str4421 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" @.str4422 = 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" @.str4423 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" @.str4424 = 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" @.str4425 = 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" @.str4426 = 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" @.str4427 = 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" @.str4428 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" @.str4429 = 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" @.str4430 = 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" @.str4431 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" @.str4432 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" @.str4433 = 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" @.str4434 = 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" @.str4435 = 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" @.str4436 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00" @.str4437 = 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" @.str4438 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 1\0A\00" @.str4439 = 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" @.str4440 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00" @.str4441 = 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" @.str4442 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" @.str4443 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4444 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00" @.str4445 = 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" @.str4446 = private unnamed_addr constant [23 x i8] c"packed:\0A ret i32 %pn\0A\00" @.str4447 = 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" @.str4448 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" @.str4449 = 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" @.str4450 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00" @.str4451 = 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" @.str4452 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" @.str4453 = 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" @.str4454 = 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" @.str4455 = 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" @.str4456 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00" @.str4457 = 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" @.str4458 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00" @.str4459 = 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" @.str4460 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4461 = 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" @.str4462 = 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" @.str4463 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00" @.str4464 = 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" @.str4465 = 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" @.str4466 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00" @.str4467 = 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" @.str4468 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4469 = 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" @.str4470 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00" @.str4471 = 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" @.str4472 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00" @.str4473 = 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" @.str4474 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4475 = 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" @.str4476 = 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" @.str4477 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00" @.str4478 = 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" @.str4479 = 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" @.str4480 = 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" @.str4481 = 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" @.str4482 = 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" @.str4483 = 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" @.str4484 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00" @.str4485 = 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" @.str4486 = 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" @.str4487 = 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" @.str4488 = 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" @.str4489 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" @.str4490 = 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" @.str4491 = 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" @.str4492 = 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" @.str4493 = 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" @.str4494 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00" @.str4495 = 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" @.str4496 = 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" @.str4497 = 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" @.str4498 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" @.str4499 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" @.str4500 = 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" @.str4501 = 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" @.str4502 = 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" @.str4503 = 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" @.str4504 = 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" @.str4505 = 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" @.str4506 = 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" @.str4507 = 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" @.str4508 = private unnamed_addr constant [4 x i8] c"png\00" @.str4509 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str4510 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str4511 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4512 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str4513 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4514 = private unnamed_addr constant [4 x i8] c"gif\00" @.str4515 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str4516 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str4517 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str4518 = private unnamed_addr constant [5 x i8] c"webp\00" @.str4519 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str4520 = private unnamed_addr constant [4 x i8] c"svg\00" @.str4521 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str4522 = private unnamed_addr constant [4 x i8] c"txt\00" @.str4523 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str4524 = private unnamed_addr constant [3 x i8] c"md\00" @.str4525 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str4526 = private unnamed_addr constant [4 x i8] c"csv\00" @.str4527 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str4528 = private unnamed_addr constant [5 x i8] c"html\00" @.str4529 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4530 = private unnamed_addr constant [4 x i8] c"htm\00" @.str4531 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4532 = private unnamed_addr constant [4 x i8] c"css\00" @.str4533 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str4534 = private unnamed_addr constant [3 x i8] c"js\00" @.str4535 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str4536 = private unnamed_addr constant [5 x i8] c"json\00" @.str4537 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str4538 = private unnamed_addr constant [4 x i8] c"xml\00" @.str4539 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str4540 = private unnamed_addr constant [4 x i8] c"zip\00" @.str4541 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str4542 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str4543 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str4544 = private unnamed_addr constant [4 x i8] c"wav\00" @.str4545 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str4546 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str4547 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str4548 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str4549 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str4550 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str4551 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str4552 = private unnamed_addr constant [4 x i8] c"otf\00" @.str4553 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str4554 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str4555 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str4556 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" @.str4557 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" @.str4558 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" @.str4559 = private unnamed_addr constant [3 x i8] c", \00" @.str4560 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" @.str4561 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4562 = private unnamed_addr constant [3 x i8] c" }\00" @.str4563 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str4564 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00" @.str4565 = 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" @.str4566 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" @.str4567 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" @.str4568 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" @.str4569 = 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" @.str4570 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" @.str4571 = 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" @.str4572 = 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" @.str4573 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00" @.str4574 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00" @.str4575 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00" @.str4576 = 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" @.str4577 = 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" @.str4578 = 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" @.str4579 = 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" @.str4580 = 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" @.str4581 = 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" @.str4582 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00" @.str4583 = 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" @.str4584 = 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" @.str4585 = 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" @.str4586 = 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" @.str4587 = 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" @.str4588 = 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" @.str4589 = 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" @.str4590 = 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" @.str4591 = 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" @.str4592 = 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" @.str4593 = 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" @.str4594 = 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" @.str4595 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4596 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str4597 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" @.str4598 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" @.str4599 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" @.str4600 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str4601 = 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" @.str4602 = 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" @.str4603 = 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" @.str4604 = 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" @.str4605 = 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" @.str4606 = private unnamed_addr constant [34 x i8] c"declare i32 @open(ptr, i32, ...)\0A\00" @.str4607 = private unnamed_addr constant [25 x i8] c"declare i32 @close(i32)\0A\00" @.str4608 = private unnamed_addr constant [35 x i8] c"declare i64 @lseek(i32, i64, i32)\0A\00" @.str4609 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" @.str4610 = private unnamed_addr constant [38 x i8] c"declare ptr @fmemopen(ptr, i64, ptr)\0A\00" @.str4611 = private unnamed_addr constant [25 x i8] c"declare i32 @chdir(ptr)\0A\00" @.str4612 = private unnamed_addr constant [45 x i8] c"declare i32 @_NSGetExecutablePath(ptr, ptr)\0A\00" @.str4613 = private unnamed_addr constant [63 x i8] c"@.pak_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4614 = private unnamed_addr constant [73 x i8] c"@.pak_idx = private unnamed_addr constant [12 x i8] c\22packs.index\5C00\22\0A\00" @.str4615 = private unnamed_addr constant [74 x i8] c"@.pak_res = private unnamed_addr constant [13 x i8] c\22../Resources\5C00\22\0A\00" @.str4616 = 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" @.str4617 = private unnamed_addr constant [65 x i8] c"@.pak_home = private unnamed_addr constant [5 x i8] c\22HOME\5C00\22\0A\00" @.str4618 = private unnamed_addr constant [57 x i8] c"@L_pak_base = internal global [8 x ptr] zeroinitializer\0A\00" @.str4619 = private unnamed_addr constant [37 x i8] c"@L_pak_n = internal global i32 0\0A\00" @.str4620 = private unnamed_addr constant [44 x i8] c"@L_pak_splash = internal global ptr null\0A\00" @.str4621 = private unnamed_addr constant [41 x i8] c"@L_pak_splashbg = internal global i32 0\0A\00" @.str4622 = private unnamed_addr constant [42 x i8] c"declare void @splash_show(ptr, i32, i32)\0A\00" @.str4623 = private unnamed_addr constant [29 x i8] c"declare void @splash_hide()\0A\00" @.str4624 = private unnamed_addr constant [38 x i8] c"declare void @app_set_icon(ptr, i32)\0A\00" @.str4625 = private unnamed_addr constant [63 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] \00" @.str4626 = private unnamed_addr constant [61 x i8] c"[{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }]\0A\00" @.str4627 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_mount(ptr %path) {\0A\00" @.str4628 = 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" @.str4629 = 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" @.str4630 = 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" @.str4631 = 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" @.str4632 = 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" @.str4633 = 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" @.str4634 = 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" @.str4635 = 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" @.str4636 = private unnamed_addr constant [51 x i8] c"clo:\0A %c2 = call i32 @close(i32 %fd)\0A ret i32 0\0A\00" @.str4637 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4638 = private unnamed_addr constant [35 x i8] c"define ptr @lp_pak_norm(ptr %p) {\0A\00" @.str4639 = 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" @.str4640 = 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" @.str4641 = 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" @.str4642 = private unnamed_addr constant [22 x i8] c"same:\0A ret ptr %p\0A}\0A\00" @.str4643 = private unnamed_addr constant [63 x i8] c"define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) {\0A\00" @.str4644 = 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" @.str4645 = 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" @.str4646 = 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" @.str4647 = 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" @.str4648 = 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" @.str4649 = private unnamed_addr constant [67 x i8] c" %iseq = icmp eq i32 %c, 0\0A br i1 %iseq, label %hit, label %cmp\0A\00" @.str4650 = 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" @.str4651 = 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" @.str4652 = 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" @.str4653 = 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" @.str4654 = 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" @.str4655 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str4656 = private unnamed_addr constant [51 x i8] c"define ptr @lp_pak_find(ptr %path, ptr %outlen) {\0A\00" @.str4657 = 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" @.str4658 = 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" @.str4659 = 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" @.str4660 = 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" @.str4661 = 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" @.str4662 = private unnamed_addr constant [19 x i8] c"got:\0A ret ptr %r\0A\00" @.str4663 = 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" @.str4664 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str4665 = private unnamed_addr constant [37 x i8] c"define i32 @lp_pak_has(ptr %path) {\0A\00" @.str4666 = 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" @.str4667 = 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" @.str4668 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_bytes(ptr %path) {\0A\00" @.str4669 = private unnamed_addr constant [99 x i8] c"entry:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %b = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" @.str4670 = private unnamed_addr constant [67 x i8] c" %hit = icmp ne ptr %b, null\0A br i1 %hit, label %yes, label %no\0A\00" @.str4671 = private unnamed_addr constant [44 x i8] c"yes:\0A %l = load i32, ptr %lp\0A ret i32 %l\0A\00" @.str4672 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str4673 = private unnamed_addr constant [49 x i8] c"define ptr @lp_pak_open(ptr %path, ptr %mode) {\0A\00" @.str4674 = 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" @.str4675 = 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" @.str4676 = private unnamed_addr constant [72 x i8] c" %hit = icmp ne ptr %blob, null\0A br i1 %hit, label %mem, label %real\0A\00" @.str4677 = 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" @.str4678 = 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" @.str4679 = private unnamed_addr constant [39 x i8] c"define ptr @lp_pak_slurp(ptr %path) {\0A\00" @.str4680 = 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" @.str4681 = 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" @.str4682 = 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" @.str4683 = 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" @.str4684 = private unnamed_addr constant [22 x i8] c"no:\0A ret ptr null\0A}\0A\00" @.str4685 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_boot_dir(ptr %dir) {\0A\00" @.str4686 = 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" @.str4687 = private unnamed_addr constant [72 x i8] c" %none = icmp eq ptr %txt, null\0A br i1 %none, label %no, label %scan\0A\00" @.str4688 = 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" @.str4689 = 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" @.str4690 = private unnamed_addr constant [71 x i8] c" %atend = icmp eq i32 %c0i, 0\0A br i1 %atend, label %fin, label %eol\0A\00" @.str4691 = private unnamed_addr constant [48 x i8] c"eol:\0A store i32 %i, ptr %jp\0A br label %escan\0A\00" @.str4692 = 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" @.str4693 = 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" @.str4694 = 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" @.str4695 = 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" @.str4696 = 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" @.str4697 = 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" @.str4698 = 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" @.str4699 = 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" @.str4700 = 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" @.str4701 = 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" @.str4702 = 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" @.str4703 = 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" @.str4704 = 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" @.str4705 = private unnamed_addr constant [47 x i8] c"fin:\0A %gf = load i32, ptr %got\0A ret i32 %gf\0A\00" @.str4706 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4707 = private unnamed_addr constant [71 x i8] c"@.pak_kw_pack = private unnamed_addr constant [6 x i8] c\22pack \5C00\22\0A\00" @.str4708 = private unnamed_addr constant [71 x i8] c"@.pak_kw_home = private unnamed_addr constant [6 x i8] c\22home \5C00\22\0A\00" @.str4709 = private unnamed_addr constant [73 x i8] c"@.pak_kw_splash = private unnamed_addr constant [8 x i8] c\22splash \5C00\22\0A\00" @.str4710 = private unnamed_addr constant [75 x i8] c"@.pak_kw_spbg = private unnamed_addr constant [10 x i8] c\22splashbg \5C00\22\0A\00" @.str4711 = private unnamed_addr constant [42 x i8] c"define void @lp_pak_sethome(ptr %name) {\0A\00" @.str4712 = 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" @.str4713 = 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" @.str4714 = 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" @.str4715 = 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" @.str4716 = 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" @.str4717 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4718 = private unnamed_addr constant [70 x i8] c"@.pak_appdata = private unnamed_addr constant [8 x i8] c\22APPDATA\5C00\22\0A\00" @.str4719 = private unnamed_addr constant [30 x i8] c"define void @lp_pak_boot() {\0A\00" @.str4720 = 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" @.str4721 = 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" @.str4722 = 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" @.str4723 = 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" @.str4724 = 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" @.str4725 = private unnamed_addr constant [9 x i8] c"splash:\0A\00" @.str4726 = private unnamed_addr constant [33 x i8] c" call void @lp_pak_splash_go()\0A\00" @.str4727 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str4728 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4729 = private unnamed_addr constant [35 x i8] c"define void @lp_pak_splash_go() {\0A\00" @.str4730 = 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" @.str4731 = 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" @.str4732 = private unnamed_addr constant [74 x i8] c" %miss = icmp eq ptr %blob, null\0A br i1 %miss, label %out, label %show\0A\00" @.str4733 = 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" @.str4734 = private unnamed_addr constant [72 x i8] c" call void @splash_show(ptr %blob, i32 %len, i32 %bg)\0A br label %out\0A\00" @.str4735 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4736 = private unnamed_addr constant [39 x i8] c"define void @lp_app_icon(ptr %path) {\0A\00" @.str4737 = 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" @.str4738 = 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" @.str4739 = private unnamed_addr constant [72 x i8] c" %tiny = icmp sle i64 %n64, 0\0A br i1 %tiny, label %shut, label %read\0A\00" @.str4740 = 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" @.str4741 = private unnamed_addr constant [64 x i8] c" %c1 = call i32 @fclose(ptr %f)\0A %n32 = trunc i64 %rd to i32\0A\00" @.str4742 = 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" @.str4743 = private unnamed_addr constant [51 x i8] c"shut:\0A %c2 = call i32 @fclose(ptr %f)\0A ret void\0A\00" @.str4744 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4745 = private unnamed_addr constant [35 x i8] c"declare ptr @__acrt_iob_func(i32)\0A\00" @.str4746 = private unnamed_addr constant [33 x i8] c"declare i32 @_setmode(i32, i32)\0A\00" @.str4747 = private unnamed_addr constant [37 x i8] c"declare ptr @_fsopen(ptr, ptr, i32)\0A\00" @.str4748 = private unnamed_addr constant [29 x i8] c"declare i64 @_ftelli64(ptr)\0A\00" @.str4749 = private unnamed_addr constant [39 x i8] c"declare i32 @_fseeki64(ptr, i64, i32)\0A\00" @.str4750 = private unnamed_addr constant [27 x i8] c"declare i64 @_time64(ptr)\0A\00" @.str4751 = private unnamed_addr constant [32 x i8] c"declare i32 @_access(ptr, i32)\0A\00" @.str4752 = private unnamed_addr constant [26 x i8] c"declare i32 @_mkdir(ptr)\0A\00" @.str4753 = private unnamed_addr constant [26 x i8] c"declare i32 @_chdir(ptr)\0A\00" @.str4754 = private unnamed_addr constant [24 x i8] c"declare i32 @_getpid()\0A\00" @.str4755 = private unnamed_addr constant [35 x i8] c"declare i32 @_open(ptr, i32, ...)\0A\00" @.str4756 = private unnamed_addr constant [26 x i8] c"declare i32 @_close(i32)\0A\00" @.str4757 = private unnamed_addr constant [39 x i8] c"declare i64 @_lseeki64(i32, i64, i32)\0A\00" @.str4758 = private unnamed_addr constant [34 x i8] c"declare i32 @_putenv_s(ptr, ptr)\0A\00" @.str4759 = private unnamed_addr constant [34 x i8] c"declare i64 @_get_osfhandle(i32)\0A\00" @.str4760 = private unnamed_addr constant [40 x i8] c"declare i32 @_open_osfhandle(i64, i32)\0A\00" @.str4761 = private unnamed_addr constant [32 x i8] c"declare ptr @_fdopen(i32, ptr)\0A\00" @.str4762 = private unnamed_addr constant [41 x i8] c"declare i32 @MoveFileExA(ptr, ptr, i32)\0A\00" @.str4763 = private unnamed_addr constant [31 x i8] c"declare i32 @DeleteFileA(ptr)\0A\00" @.str4764 = private unnamed_addr constant [36 x i8] c"declare i32 @RemoveDirectoryA(ptr)\0A\00" @.str4765 = private unnamed_addr constant [39 x i8] c"declare ptr @FindFirstFileA(ptr, ptr)\0A\00" @.str4766 = private unnamed_addr constant [38 x i8] c"declare i32 @FindNextFileA(ptr, ptr)\0A\00" @.str4767 = private unnamed_addr constant [29 x i8] c"declare i32 @FindClose(ptr)\0A\00" @.str4768 = private unnamed_addr constant [63 x i8] c"declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr)\0A\00" @.str4769 = private unnamed_addr constant [53 x i8] c"declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64)\0A\00" @.str4770 = private unnamed_addr constant [31 x i8] c"declare i32 @CloseHandle(ptr)\0A\00" @.str4771 = private unnamed_addr constant [48 x i8] c"declare i32 @GetModuleFileNameA(ptr, ptr, i32)\0A\00" @.str4772 = private unnamed_addr constant [37 x i8] c"declare i32 @GetTempPathA(i32, ptr)\0A\00" @.str4773 = private unnamed_addr constant [51 x i8] c"declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr)\0A\00" @.str4774 = private unnamed_addr constant [61 x i8] c"declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr)\0A\00" @.str4775 = private unnamed_addr constant [49 x i8] c"declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr)\0A\00" @.str4776 = private unnamed_addr constant [49 x i8] c"declare i32 @SetFilePointer(ptr, i32, ptr, i32)\0A\00" @.str4777 = private unnamed_addr constant [65 x i8] c"@.win_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4778 = private unnamed_addr constant [66 x i8] c"@.win_lpk = private unnamed_addr constant [4 x i8] c\22lpk\5C00\22\0A\00" @.str4779 = private unnamed_addr constant [63 x i8] c"@.win_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str4780 = private unnamed_addr constant [70 x i8] c"@.win_windows = private unnamed_addr constant [8 x i8] c\22Windows\5C00\22\0A\00" @.str4781 = private unnamed_addr constant [69 x i8] c"@.win_x64 = private unnamed_addr constant [7 x i8] c\22x86_64\5C00\22\0A\00" @.str4782 = private unnamed_addr constant [48 x i8] c"define internal void @lp_win_slashes(ptr %s) {\0A\00" @.str4783 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %lp\0A\00" @.str4784 = 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" @.str4785 = 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" @.str4786 = private unnamed_addr constant [43 x i8] c"fix:\0A store i8 47, ptr %p\0A br label %nx\0A\00" @.str4787 = private unnamed_addr constant [60 x i8] c"nx:\0A %p1 = getelementptr i8, ptr %p, i64 1\0A br label %lp\0A\00" @.str4788 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str4789 = private unnamed_addr constant [42 x i8] c"@L_win_stdio_bin = internal global i32 0\0A\00" @.str4790 = private unnamed_addr constant [46 x i8] c"define internal ptr @lp_win_stdio(i32 %fd) {\0A\00" @.str4791 = 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" @.str4792 = 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" @.str4793 = 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" @.str4794 = private unnamed_addr constant [46 x i8] c"define internal ptr @fopen(ptr %p, ptr %m) {\0A\00" @.str4795 = 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" @.str4796 = 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" @.str4797 = 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" @.str4798 = 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" @.str4799 = 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" @.str4800 = 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" @.str4801 = 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" @.str4802 = 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" @.str4803 = 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" @.str4804 = private unnamed_addr constant [39 x i8] c"define internal i32 @remove(ptr %p) {\0A\00" @.str4805 = 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" @.str4806 = 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" @.str4807 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 0\0A\00" @.str4808 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str4809 = 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" @.str4810 = 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" @.str4811 = 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" @.str4812 = 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" @.str4813 = 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" @.str4814 = private unnamed_addr constant [43 x i8] c"define internal ptr @opendir(ptr %path) {\0A\00" @.str4815 = 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" @.str4816 = 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" @.str4817 = 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" @.str4818 = 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" @.str4819 = private unnamed_addr constant [46 x i8] c"no:\0A call void @free(ptr %d)\0A ret ptr null\0A\00" @.str4820 = 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" @.str4821 = private unnamed_addr constant [40 x i8] c"define internal ptr @readdir(ptr %d) {\0A\00" @.str4822 = 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" @.str4823 = private unnamed_addr constant [47 x i8] c"take:\0A store i32 0, ptr %fl\0A br label %give\0A\00" @.str4824 = 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" @.str4825 = private unnamed_addr constant [62 x i8] c"give:\0A %de = getelementptr i8, ptr %d, i64 39\0A ret ptr %de\0A\00" @.str4826 = private unnamed_addr constant [23 x i8] c"end:\0A ret ptr null\0A}\0A\00" @.str4827 = 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" @.str4828 = 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" @.str4829 = 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" @.str4830 = private unnamed_addr constant [66 x i8] c" %nm = icmp eq ptr %m, null\0A br i1 %nm, label %bad, label %map\0A\00" @.str4831 = 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" @.str4832 = private unnamed_addr constant [18 x i8] c"ok:\0A ret ptr %v\0A\00" @.str4833 = private unnamed_addr constant [43 x i8] c"bad:\0A ret ptr inttoptr (i64 -1 to ptr)\0A}\0A\00" @.str4834 = private unnamed_addr constant [64 x i8] c"define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) {\0A\00" @.str4835 = 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" @.str4836 = 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" @.str4837 = 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" @.str4838 = 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" @.str4839 = 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" @.str4840 = 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" @.str4841 = private unnamed_addr constant [60 x i8] c"shut:\0A %c = call i32 @CloseHandle(ptr %h)\0A br label %bad\0A\00" @.str4842 = private unnamed_addr constant [23 x i8] c"bad:\0A ret ptr null\0A}\0A\00" @.str4843 = private unnamed_addr constant [65 x i8] c"define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) {\0A\00" @.str4844 = 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" @.str4845 = private unnamed_addr constant [56 x i8] c"fix:\0A call void @lp_win_slashes(ptr %buf)\0A ret i32 0\0A\00" @.str4846 = private unnamed_addr constant [22 x i8] c"fail:\0A ret i32 -1\0A}\0A\00" @.str4847 = 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" @.str4848 = 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" @.str4849 = 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" @.str4850 = 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" @.str4851 = 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" @.str4852 = private unnamed_addr constant [40 x i8] c"define internal i32 @uname(ptr %buf) {\0A\00" @.str4853 = 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" @.str4854 = private unnamed_addr constant [12 x i8] c"USERPROFILE\00" @.str4855 = private unnamed_addr constant [8 x i8] c"APPDATA\00" @.str4856 = private unnamed_addr constant [13 x i8] c"LOCALAPPDATA\00" @.str4857 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str4858 = private unnamed_addr constant [1 x i8] c"\00" @.str4859 = private unnamed_addr constant [8 x i8] c"windows\00" @.str4860 = private unnamed_addr constant [7 x i8] c"x86_64\00" @.str4861 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str4862 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4863 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4864 = private unnamed_addr constant [50 x i8] c"define ptr @lp_os_winknown(ptr %var, ptr %app) {\0A\00" @.str4865 = 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" @.str4866 = private unnamed_addr constant [54 x i8] c"home:\0A %h = call ptr @lp_os_home()\0A br label %join\0A\00" @.str4867 = private unnamed_addr constant [23 x i8] c"use:\0A br label %join\0A\00" @.str4868 = 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" @.str4869 = 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" @.str4870 = 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" @.str4871 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4872 = 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" @.str4873 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4874 = 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" @.str4875 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4876 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %t = call ptr @lp_os_getenv_or(ptr \00" @.str4877 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4878 = private unnamed_addr constant [44 x i8] c")\0A %r = call ptr @lp_os_join2(ptr %t, ptr \00" @.str4879 = private unnamed_addr constant [54 x i8] c")\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" @.str4880 = private unnamed_addr constant [42 x i8] c"define ptr @lp_os_platform() {\0A ret ptr \00" @.str4881 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str4882 = private unnamed_addr constant [38 x i8] c"define ptr @lp_os_arch() {\0A ret ptr \00" @.str4883 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str4884 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str4885 = 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" @.str4886 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str4887 = 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" @.str4888 = 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" @.str4889 = 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" @.str4890 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str4891 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4892 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4893 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4894 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4895 = private unnamed_addr constant [4 x i8] c"len\00" @.str4896 = private unnamed_addr constant [5 x i8] c"push\00" @.str4897 = private unnamed_addr constant [6 x i8] c"clear\00" @.str4898 = private unnamed_addr constant [7 x i8] c"sample\00" @.str4899 = private unnamed_addr constant [6 x i8] c"first\00" @.str4900 = private unnamed_addr constant [5 x i8] c"last\00" @.str4901 = private unnamed_addr constant [4 x i8] c"pop\00" @.str4902 = private unnamed_addr constant [5 x i8] c"swap\00" @.str4903 = private unnamed_addr constant [9 x i8] c"contains\00" @.str4904 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4905 = private unnamed_addr constant [8 x i8] c"reverse\00" @.str4906 = private unnamed_addr constant [7 x i8] c"insert\00" @.str4907 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str4908 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4909 = private unnamed_addr constant [5 x i8] c"sort\00" @.str4910 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str4911 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str4912 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str4913 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4914 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4915 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4916 = private unnamed_addr constant [3 x i8] c", \00" @.str4917 = private unnamed_addr constant [3 x i8] c"ig\00" @.str4918 = private unnamed_addr constant [4 x i8] c"igd\00" @.str4919 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4920 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4921 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4922 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4923 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4924 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4925 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4926 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str4927 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4928 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4929 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str4930 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4931 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4932 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4933 = private unnamed_addr constant [3 x i8] c", \00" @.str4934 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4935 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str4936 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str4937 = private unnamed_addr constant [2 x i8] c")\00" @.str4938 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str4939 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4940 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4941 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4942 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4943 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4944 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4945 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4946 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4947 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4948 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4949 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4950 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4951 = private unnamed_addr constant [2 x i8] c" \00" @.str4952 = private unnamed_addr constant [3 x i8] c", \00" @.str4953 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00" @.str4954 = private unnamed_addr constant [2 x i8] c"(\00" @.str4955 = private unnamed_addr constant [2 x i8] c" \00" @.str4956 = private unnamed_addr constant [3 x i8] c", \00" @.str4957 = private unnamed_addr constant [2 x i8] c" \00" @.str4958 = private unnamed_addr constant [2 x i8] c")\00" @.str4959 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4960 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4961 = private unnamed_addr constant [6 x i8] c"call \00" @.str4962 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str4963 = private unnamed_addr constant [2 x i8] c"(\00" @.str4964 = private unnamed_addr constant [2 x i8] c" \00" @.str4965 = private unnamed_addr constant [2 x i8] c")\00" @.str4966 = private unnamed_addr constant [6 x i8] c"call \00" @.str4967 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str4968 = private unnamed_addr constant [2 x i8] c"(\00" @.str4969 = private unnamed_addr constant [2 x i8] c" \00" @.str4970 = private unnamed_addr constant [2 x i8] c")\00" @.str4971 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4972 = private unnamed_addr constant [2 x i8] c" \00" @.str4973 = private unnamed_addr constant [3 x i8] c", \00" @.str4974 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str4975 = private unnamed_addr constant [2 x i8] c" \00" @.str4976 = private unnamed_addr constant [3 x i8] c", \00" @.str4977 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4978 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4979 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4980 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4981 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4982 = private unnamed_addr constant [3 x i8] c", \00" @.str4983 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str4984 = private unnamed_addr constant [2 x i8] c")\00" @.str4985 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4986 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4987 = private unnamed_addr constant [2 x i8] c"1\00" @.str4988 = private unnamed_addr constant [6 x i8] c"ms_wc\00" @.str4989 = private unnamed_addr constant [6 x i8] c"ms_wb\00" @.str4990 = private unnamed_addr constant [6 x i8] c"ms_we\00" @.str4991 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4992 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4993 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4994 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4995 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4996 = private unnamed_addr constant [3 x i8] c", \00" @.str4997 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4998 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4999 = private unnamed_addr constant [10 x i8] c", 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 [9 x i8] c"mul i32 \00" @.str5003 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5004 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5005 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5006 = private unnamed_addr constant [2 x i8] c"0\00" @.str5007 = private unnamed_addr constant [6 x i8] c"ms_ic\00" @.str5008 = private unnamed_addr constant [6 x i8] c"ms_ib\00" @.str5009 = private unnamed_addr constant [6 x i8] c"ms_ie\00" @.str5010 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5011 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5012 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5013 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5014 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5015 = private unnamed_addr constant [3 x i8] c", \00" @.str5016 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5017 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5018 = private unnamed_addr constant [10 x i8] c", 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 [9 x i8] c"add i32 \00" @.str5022 = private unnamed_addr constant [3 x i8] c", \00" @.str5023 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5024 = private unnamed_addr constant [3 x i8] c", \00" @.str5025 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5026 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5027 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5028 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5029 = private unnamed_addr constant [3 x i8] c", \00" @.str5030 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5031 = private unnamed_addr constant [3 x i8] c", \00" @.str5032 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5033 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5034 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5035 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5036 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5037 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5038 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5039 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5040 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5041 = private unnamed_addr constant [6 x i8] c"ms_mc\00" @.str5042 = private unnamed_addr constant [6 x i8] c"ms_mb\00" @.str5043 = private unnamed_addr constant [8 x i8] c"ms_mend\00" @.str5044 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5045 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5046 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5047 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5048 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5049 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5050 = private unnamed_addr constant [3 x i8] c", \00" @.str5051 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5052 = private unnamed_addr constant [3 x i8] c", \00" @.str5053 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5054 = private unnamed_addr constant [3 x i8] c", \00" @.str5055 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5056 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5057 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5058 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5059 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5060 = private unnamed_addr constant [6 x i8] c"load \00" @.str5061 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5062 = private unnamed_addr constant [6 x i8] c"load \00" @.str5063 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5064 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5065 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" @.str5066 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" @.str5067 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" @.str5068 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5069 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5070 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5071 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5072 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5073 = private unnamed_addr constant [9 x i8] c" store \00" @.str5074 = private unnamed_addr constant [2 x i8] c" \00" @.str5075 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5076 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5077 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5078 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5079 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5080 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5081 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5082 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5083 = private unnamed_addr constant [9 x i8] c" store \00" @.str5084 = private unnamed_addr constant [2 x i8] c" \00" @.str5085 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5086 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5087 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5088 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5089 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5090 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5091 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5092 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5093 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5094 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5095 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5096 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5097 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5098 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5099 = private unnamed_addr constant [7 x i8] c"ms_dac\00" @.str5100 = private unnamed_addr constant [7 x i8] c"ms_dab\00" @.str5101 = private unnamed_addr constant [7 x i8] c"ms_dae\00" @.str5102 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5103 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5104 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5105 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5106 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5107 = private unnamed_addr constant [3 x i8] c", \00" @.str5108 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5109 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5110 = private unnamed_addr constant [10 x i8] c", 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 [6 x i8] c"load \00" @.str5114 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5115 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5116 = private unnamed_addr constant [9 x i8] c" store \00" @.str5117 = private unnamed_addr constant [2 x i8] c" \00" @.str5118 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5119 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5120 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5121 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5122 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5123 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5124 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5125 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5126 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5127 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5128 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5129 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" @.str5130 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" @.str5131 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" @.str5132 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5133 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5134 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5135 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5136 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5137 = private unnamed_addr constant [3 x i8] c", \00" @.str5138 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5139 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5140 = private unnamed_addr constant [10 x i8] c", 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 [6 x i8] c"load \00" @.str5144 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5145 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5146 = private unnamed_addr constant [9 x i8] c" store \00" @.str5147 = private unnamed_addr constant [2 x i8] c" \00" @.str5148 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5149 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5150 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5151 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5152 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5153 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5154 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5155 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5156 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5157 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5158 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5159 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5160 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5161 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" @.str5162 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" @.str5163 = private unnamed_addr constant [7 x i8] c"ms_cbe\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 [15 x i8] c"load i32, ptr \00" @.str5168 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5169 = private unnamed_addr constant [3 x i8] c", \00" @.str5170 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5171 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5172 = private unnamed_addr constant [10 x i8] c", 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 [6 x i8] c"load \00" @.str5176 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5177 = private unnamed_addr constant [9 x i8] c" store \00" @.str5178 = private unnamed_addr constant [2 x i8] c" \00" @.str5179 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5180 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5181 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5182 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5183 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5184 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5185 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5186 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5187 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5188 = private unnamed_addr constant [3 x i8] c", \00" @.str5189 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5190 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5191 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5192 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5193 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5194 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5195 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5196 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5197 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str5198 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5199 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5200 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" @.str5201 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5202 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" @.str5203 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5204 = private unnamed_addr constant [22 x i8] c": no function named '\00" @.str5205 = private unnamed_addr constant [2 x i8] c"'\00" @.str5206 = private unnamed_addr constant [4 x i8] c"len\00" @.str5207 = private unnamed_addr constant [5 x i8] c"push\00" @.str5208 = private unnamed_addr constant [7 x i8] c"sample\00" @.str5209 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str5210 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" @.str5211 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00" @.str5212 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5213 = private unnamed_addr constant [2 x i8] c")\00" @.str5214 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str5215 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5216 = private unnamed_addr constant [15 x i8] c" needs a slice\00" @.str5217 = private unnamed_addr constant [6 x i8] c"clear\00" @.str5218 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str5219 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5220 = private unnamed_addr constant [2 x i8] c"0\00" @.str5221 = private unnamed_addr constant [5 x i8] c"void\00" @.str5222 = private unnamed_addr constant [6 x i8] c"first\00" @.str5223 = private unnamed_addr constant [2 x i8] c"0\00" @.str5224 = private unnamed_addr constant [6 x i8] c"load \00" @.str5225 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5226 = private unnamed_addr constant [5 x i8] c"last\00" @.str5227 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5228 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5229 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5230 = private unnamed_addr constant [6 x i8] c"load \00" @.str5231 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5232 = private unnamed_addr constant [4 x i8] c"pop\00" @.str5233 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5234 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5235 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5236 = private unnamed_addr constant [6 x i8] c"load \00" @.str5237 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5238 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5239 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5240 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5241 = private unnamed_addr constant [5 x i8] c"swap\00" @.str5242 = private unnamed_addr constant [6 x i8] c"load \00" @.str5243 = private unnamed_addr constant [7 x i8] c", ptr \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 [9 x i8] c" store \00" @.str5247 = private unnamed_addr constant [2 x i8] c" \00" @.str5248 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5249 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5250 = private unnamed_addr constant [9 x i8] c" store \00" @.str5251 = private unnamed_addr constant [2 x i8] c" \00" @.str5252 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5253 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5254 = private unnamed_addr constant [2 x i8] c"0\00" @.str5255 = private unnamed_addr constant [5 x i8] c"void\00" @.str5256 = private unnamed_addr constant [9 x i8] c"contains\00" @.str5257 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str5258 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5259 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5260 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5261 = private unnamed_addr constant [3 x i8] c"-1\00" @.str5262 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5263 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5264 = private unnamed_addr constant [2 x i8] c"0\00" @.str5265 = private unnamed_addr constant [8 x i8] c"lc_cond\00" @.str5266 = private unnamed_addr constant [8 x i8] c"lc_body\00" @.str5267 = private unnamed_addr constant [7 x i8] c"lc_hit\00" @.str5268 = private unnamed_addr constant [8 x i8] c"lc_next\00" @.str5269 = private unnamed_addr constant [7 x i8] c"lc_end\00" @.str5270 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5271 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5272 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5273 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5274 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5275 = private unnamed_addr constant [3 x i8] c", \00" @.str5276 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5277 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5278 = private unnamed_addr constant [10 x i8] c", 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 [6 x i8] c"load \00" @.str5282 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5283 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str5284 = private unnamed_addr constant [2 x i8] c" \00" @.str5285 = private unnamed_addr constant [3 x i8] c", \00" @.str5286 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5287 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5288 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5289 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5290 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5291 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5292 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5293 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5294 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5295 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5296 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5297 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5298 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5299 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5300 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5301 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5302 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str5303 = private unnamed_addr constant [4 x i8] c"int\00" @.str5304 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5305 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5306 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5307 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5308 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5309 = private unnamed_addr constant [7 x i8] c"insert\00" @.str5310 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5311 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5312 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5313 = private unnamed_addr constant [5 x i8] c"li_c\00" @.str5314 = private unnamed_addr constant [5 x i8] c"li_b\00" @.str5315 = private unnamed_addr constant [5 x i8] c"li_e\00" @.str5316 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5317 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5318 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5319 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5320 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5321 = private unnamed_addr constant [3 x i8] c", \00" @.str5322 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5323 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5324 = private unnamed_addr constant [10 x i8] c", 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 [9 x i8] c"sub i32 \00" @.str5328 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5329 = private unnamed_addr constant [6 x i8] c"load \00" @.str5330 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5331 = private unnamed_addr constant [9 x i8] c" store \00" @.str5332 = private unnamed_addr constant [2 x i8] c" \00" @.str5333 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5334 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5335 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5336 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5337 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5338 = private unnamed_addr constant [3 x i8] c":\0A\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 [9 x i8] c"add i32 \00" @.str5344 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5345 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5346 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5347 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5348 = private unnamed_addr constant [2 x i8] c"0\00" @.str5349 = private unnamed_addr constant [5 x i8] c"void\00" @.str5350 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str5351 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5352 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5353 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5354 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5355 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5356 = private unnamed_addr constant [5 x i8] c"lr_c\00" @.str5357 = private unnamed_addr constant [5 x i8] c"lr_b\00" @.str5358 = private unnamed_addr constant [5 x i8] c"lr_e\00" @.str5359 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5360 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5361 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5362 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5363 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5364 = private unnamed_addr constant [3 x i8] c", \00" @.str5365 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5366 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5367 = private unnamed_addr constant [10 x i8] c", 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 [9 x i8] c"add i32 \00" @.str5371 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5372 = private unnamed_addr constant [6 x i8] c"load \00" @.str5373 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5374 = private unnamed_addr constant [9 x i8] c" store \00" @.str5375 = private unnamed_addr constant [2 x i8] c" \00" @.str5376 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5377 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5378 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5379 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5380 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5381 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5382 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5383 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5384 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5385 = private unnamed_addr constant [2 x i8] c"0\00" @.str5386 = private unnamed_addr constant [5 x i8] c"void\00" @.str5387 = private unnamed_addr constant [7 x i8] c"remove\00" @.str5388 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5389 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5390 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5391 = private unnamed_addr constant [3 x i8] c"-1\00" @.str5392 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5393 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5394 = private unnamed_addr constant [2 x i8] c"0\00" @.str5395 = private unnamed_addr constant [5 x i8] c"lv_c\00" @.str5396 = private unnamed_addr constant [5 x i8] c"lv_b\00" @.str5397 = private unnamed_addr constant [5 x i8] c"lv_h\00" @.str5398 = private unnamed_addr constant [5 x i8] c"lv_n\00" @.str5399 = private unnamed_addr constant [5 x i8] c"lv_e\00" @.str5400 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5401 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5402 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5403 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5404 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5405 = private unnamed_addr constant [3 x i8] c", \00" @.str5406 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5407 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5408 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5409 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5410 = private unnamed_addr constant [3 x i8] c", \00" @.str5411 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5412 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5413 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5414 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5415 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5416 = private unnamed_addr constant [6 x i8] c"load \00" @.str5417 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5418 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str5419 = private unnamed_addr constant [2 x i8] c" \00" @.str5420 = private unnamed_addr constant [3 x i8] c", \00" @.str5421 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5422 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5423 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5424 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5425 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5426 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5427 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5428 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5429 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5430 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5431 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5432 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5433 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5434 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5435 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5436 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5437 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5438 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5439 = private unnamed_addr constant [6 x i8] c"lv_do\00" @.str5440 = private unnamed_addr constant [7 x i8] c"lv_end\00" @.str5441 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5442 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5443 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5444 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5445 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5446 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5447 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5448 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5449 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5450 = private unnamed_addr constant [6 x i8] c"lv_dc\00" @.str5451 = private unnamed_addr constant [6 x i8] c"lv_db\00" @.str5452 = private unnamed_addr constant [6 x i8] c"lv_de\00" @.str5453 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5454 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5455 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5456 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5457 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5458 = private unnamed_addr constant [3 x i8] c", \00" @.str5459 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5460 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5461 = private unnamed_addr constant [10 x i8] c", 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 [9 x i8] c"add i32 \00" @.str5465 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5466 = private unnamed_addr constant [6 x i8] c"load \00" @.str5467 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5468 = private unnamed_addr constant [9 x i8] c" store \00" @.str5469 = private unnamed_addr constant [2 x i8] c" \00" @.str5470 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5471 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5472 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5473 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5474 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5475 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5476 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5477 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5478 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5479 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5480 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5481 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5482 = private unnamed_addr constant [2 x i8] c"0\00" @.str5483 = private unnamed_addr constant [5 x i8] c"void\00" @.str5484 = private unnamed_addr constant [5 x i8] c"sort\00" @.str5485 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5486 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5487 = private unnamed_addr constant [5 x i8] c", 32\00" @.str5488 = private unnamed_addr constant [9 x i8] c"sort_ins\00" @.str5489 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" @.str5490 = private unnamed_addr constant [9 x i8] c"sort_end\00" @.str5491 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5492 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5493 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5494 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5495 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5496 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5497 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5498 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5499 = private unnamed_addr constant [2 x i8] c"1\00" @.str5500 = private unnamed_addr constant [6 x i8] c"ls_oc\00" @.str5501 = private unnamed_addr constant [6 x i8] c"ls_ob\00" @.str5502 = private unnamed_addr constant [6 x i8] c"ls_oe\00" @.str5503 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5504 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5505 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5506 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5507 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5508 = private unnamed_addr constant [3 x i8] c", \00" @.str5509 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5510 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5511 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5512 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5513 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5514 = private unnamed_addr constant [6 x i8] c"load \00" @.str5515 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5516 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5517 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5518 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5519 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5520 = private unnamed_addr constant [6 x i8] c"ls_ic\00" @.str5521 = private unnamed_addr constant [6 x i8] c"ls_ib\00" @.str5522 = private unnamed_addr constant [6 x i8] c"ls_ie\00" @.str5523 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5524 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5525 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5526 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5527 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5528 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5529 = private unnamed_addr constant [6 x i8] c"load \00" @.str5530 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5531 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str5532 = private unnamed_addr constant [2 x i8] c" \00" @.str5533 = private unnamed_addr constant [3 x i8] c", \00" @.str5534 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5535 = private unnamed_addr constant [3 x i8] c", \00" @.str5536 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5537 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5538 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5539 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5540 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5541 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5542 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5543 = private unnamed_addr constant [9 x i8] c" store \00" @.str5544 = private unnamed_addr constant [2 x i8] c" \00" @.str5545 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5546 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5547 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5548 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5549 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5550 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5551 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5552 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5553 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5554 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5555 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5556 = private unnamed_addr constant [9 x i8] c" store \00" @.str5557 = private unnamed_addr constant [2 x i8] c" \00" @.str5558 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5559 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5560 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5561 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5562 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5563 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5564 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5565 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5566 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5567 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5568 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5569 = private unnamed_addr constant [1 x i8] c"\00" @.str5570 = private unnamed_addr constant [1 x i8] c"\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 [2 x i8] c"0\00" @.str5575 = private unnamed_addr constant [5 x i8] c"void\00" @.str5576 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str5577 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" @.str5578 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" @.str5579 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5580 = private unnamed_addr constant [2 x i8] c"0\00" @.str5581 = private unnamed_addr constant [5 x i8] c"void\00" @.str5582 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str5583 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str5584 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5585 = private unnamed_addr constant [8 x i8] c": key '\00" @.str5586 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" @.str5587 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str5588 = private unnamed_addr constant [5 x i8] c"void\00" @.str5589 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5590 = private unnamed_addr constant [8 x i8] c": key '\00" @.str5591 = private unnamed_addr constant [23 x i8] c"' must return a number\00" @.str5592 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str5593 = private unnamed_addr constant [2 x i8] c"0\00" @.str5594 = private unnamed_addr constant [5 x i8] c"void\00" @.str5595 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5596 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5597 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5598 = private unnamed_addr constant [2 x i8] c"0\00" @.str5599 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5600 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5601 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5602 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5603 = private unnamed_addr constant [8 x i8] c"lr_cond\00" @.str5604 = private unnamed_addr constant [8 x i8] c"lr_body\00" @.str5605 = private unnamed_addr constant [7 x i8] c"lr_end\00" @.str5606 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5607 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5608 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5609 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5610 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5611 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5612 = private unnamed_addr constant [3 x i8] c", \00" @.str5613 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5614 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5615 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5616 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5617 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5618 = private unnamed_addr constant [6 x i8] c"load \00" @.str5619 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5620 = private unnamed_addr constant [6 x i8] c"load \00" @.str5621 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5622 = private unnamed_addr constant [9 x i8] c" store \00" @.str5623 = private unnamed_addr constant [2 x i8] c" \00" @.str5624 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5625 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5626 = private unnamed_addr constant [9 x i8] c" store \00" @.str5627 = private unnamed_addr constant [2 x i8] c" \00" @.str5628 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5629 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5630 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5631 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5632 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5633 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5634 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5635 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5636 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5637 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5638 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5639 = private unnamed_addr constant [2 x i8] c"0\00" @.str5640 = private unnamed_addr constant [5 x i8] c"void\00" @.str5641 = private unnamed_addr constant [3 x i8] c"in\00" @.str5642 = private unnamed_addr constant [4 x i8] c"out\00" @.str5643 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str5644 = private unnamed_addr constant [5 x i8] c"back\00" @.str5645 = private unnamed_addr constant [7 x i8] c"bounce\00" @.str5646 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str5647 = private unnamed_addr constant [7 x i8] c"495616\00" @.str5648 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5649 = private unnamed_addr constant [8 x i8] c", 35747\00" @.str5650 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5651 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str5652 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5653 = private unnamed_addr constant [8 x i8] c", 53620\00" @.str5654 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5655 = private unnamed_addr constant [8 x i8] c", 61440\00" @.str5656 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5657 = private unnamed_addr constant [8 x i8] c", 62557\00" @.str5658 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5659 = private unnamed_addr constant [8 x i8] c", 64512\00" @.str5660 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5661 = private unnamed_addr constant [8 x i8] c", 59578\00" @.str5662 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5663 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5664 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5665 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5666 = private unnamed_addr constant [8 x i8] c", 47663\00" @.str5667 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5668 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5669 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5670 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5671 = private unnamed_addr constant [8 x i8] c", 23831\00" @.str5672 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5673 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5674 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5675 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str5676 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5677 = private unnamed_addr constant [4 x i8] c", 3\00" @.str5678 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5679 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5680 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5681 = private unnamed_addr constant [3 x i8] c", \00" @.str5682 = private unnamed_addr constant [7 x i8] c"177051\00" @.str5683 = private unnamed_addr constant [7 x i8] c"111515\00" @.str5684 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5685 = private unnamed_addr constant [3 x i8] c", \00" @.str5686 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5687 = private unnamed_addr constant [5 x i8] c", 10\00" @.str5688 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str5689 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str5690 = private unnamed_addr constant [2 x i8] c")\00" @.str5691 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5692 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str5693 = private unnamed_addr constant [7 x i8] c"137258\00" @.str5694 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str5695 = private unnamed_addr constant [2 x i8] c")\00" @.str5696 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5697 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5698 = private unnamed_addr constant [3 x i8] c"in\00" @.str5699 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5700 = private unnamed_addr constant [4 x i8] c"out\00" @.str5701 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5702 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str5703 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5704 = private unnamed_addr constant [5 x i8] c"back\00" @.str5705 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5706 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str5707 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5708 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5709 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5710 = private unnamed_addr constant [5 x i8] c"once\00" @.str5711 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str5712 = private unnamed_addr constant [9 x i8] c"finished\00" @.str5713 = private unnamed_addr constant [9 x i8] c"duration\00" @.str5714 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str5715 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str5716 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5717 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5718 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5719 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5720 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5721 = private unnamed_addr constant [3 x i8] c", \00" @.str5722 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str5723 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5724 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5725 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5726 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5727 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5728 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5729 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str5730 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5731 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5732 = private unnamed_addr constant [3 x i8] c", \00" @.str5733 = private unnamed_addr constant [4 x i8] c"int\00" @.str5734 = private unnamed_addr constant [5 x i8] c"once\00" @.str5735 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5736 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5737 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5738 = private unnamed_addr constant [3 x i8] c", \00" @.str5739 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5740 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5741 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5742 = private unnamed_addr constant [4 x i8] c"int\00" @.str5743 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str5744 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5745 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5746 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5747 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5748 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5749 = private unnamed_addr constant [3 x i8] c", \00" @.str5750 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5751 = private unnamed_addr constant [3 x i8] c", \00" @.str5752 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5753 = private unnamed_addr constant [3 x i8] c", \00" @.str5754 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5755 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5756 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5757 = private unnamed_addr constant [4 x i8] c"int\00" @.str5758 = private unnamed_addr constant [9 x i8] c"finished\00" @.str5759 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5760 = private unnamed_addr constant [3 x i8] c", \00" @.str5761 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5762 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5763 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5764 = private unnamed_addr constant [9 x i8] c"duration\00" @.str5765 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str5766 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5767 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5768 = private unnamed_addr constant [3 x i8] c", \00" @.str5769 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5770 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str5771 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5772 = private unnamed_addr constant [3 x i8] c", \00" @.str5773 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5774 = private unnamed_addr constant [3 x i8] c", \00" @.str5775 = private unnamed_addr constant [4 x i8] c"int\00" @.str5776 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5777 = private unnamed_addr constant [3 x i8] c", \00" @.str5778 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5779 = private unnamed_addr constant [3 x i8] c", \00" @.str5780 = private unnamed_addr constant [4 x i8] c"int\00" @.str5781 = private unnamed_addr constant [9 x i8] c"progress\00" @.str5782 = private unnamed_addr constant [5 x i8] c"loop\00" @.str5783 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str5784 = private unnamed_addr constant [5 x i8] c"done\00" @.str5785 = private unnamed_addr constant [5 x i8] c"ease\00" @.str5786 = private unnamed_addr constant [7 x i8] c"number\00" @.str5787 = private unnamed_addr constant [6 x i8] c"round\00" @.str5788 = private unnamed_addr constant [6 x i8] c"point\00" @.str5789 = private unnamed_addr constant [5 x i8] c"tint\00" @.str5790 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5791 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5792 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5793 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5794 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5795 = private unnamed_addr constant [9 x i8] c"progress\00" @.str5796 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5797 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5798 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5799 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5800 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5801 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5802 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5803 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5804 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str5805 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5806 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5807 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5808 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str5809 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5810 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5811 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5812 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5813 = private unnamed_addr constant [5 x i8] c"loop\00" @.str5814 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str5815 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str5816 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5817 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str5818 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5819 = private unnamed_addr constant [9 x i8] c", 131072\00" @.str5820 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str5821 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str5822 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5823 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5824 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5825 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5826 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5827 = private unnamed_addr constant [5 x i8] c"done\00" @.str5828 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00" @.str5829 = private unnamed_addr constant [2 x i8] c")\00" @.str5830 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5831 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5832 = private unnamed_addr constant [3 x i8] c", \00" @.str5833 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5834 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5835 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5836 = private unnamed_addr constant [5 x i8] c"ease\00" @.str5837 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" @.str5838 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5839 = private unnamed_addr constant [7 x i8] c"number\00" @.str5840 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5841 = private unnamed_addr constant [6 x i8] c"round\00" @.str5842 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5843 = private unnamed_addr constant [3 x i8] c", \00" @.str5844 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5845 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5846 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5847 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5848 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5849 = private unnamed_addr constant [3 x i8] c", \00" @.str5850 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5851 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str5852 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str5853 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5854 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5855 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5856 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5857 = private unnamed_addr constant [3 x i8] c", \00" @.str5858 = private unnamed_addr constant [4 x i8] c"int\00" @.str5859 = private unnamed_addr constant [6 x i8] c"point\00" @.str5860 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str5861 = private unnamed_addr constant [3 x i8] c"16\00" @.str5862 = private unnamed_addr constant [3 x i8] c"16\00" @.str5863 = private unnamed_addr constant [2 x i8] c"8\00" @.str5864 = private unnamed_addr constant [2 x i8] c"8\00" @.str5865 = private unnamed_addr constant [2 x i8] c"0\00" @.str5866 = private unnamed_addr constant [2 x i8] c"0\00" @.str5867 = private unnamed_addr constant [4 x i8] c"int\00" @.str5868 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5869 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5870 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5871 = private unnamed_addr constant [12 x i8] c"rect_circle\00" @.str5872 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5873 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5874 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5875 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5876 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5877 = private unnamed_addr constant [3 x i8] c", \00" @.str5878 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5879 = private unnamed_addr constant [3 x i8] c", \00" @.str5880 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5881 = private unnamed_addr constant [3 x i8] c", \00" @.str5882 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5883 = private unnamed_addr constant [3 x i8] c", \00" @.str5884 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5885 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5886 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5887 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5888 = private unnamed_addr constant [3 x i8] c", \00" @.str5889 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5890 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5891 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5892 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5893 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5894 = private unnamed_addr constant [3 x i8] c", \00" @.str5895 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5896 = private unnamed_addr constant [3 x i8] c", \00" @.str5897 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5898 = private unnamed_addr constant [3 x i8] c", \00" @.str5899 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5900 = private unnamed_addr constant [3 x i8] c", \00" @.str5901 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5902 = private unnamed_addr constant [3 x i8] c", \00" @.str5903 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5904 = private unnamed_addr constant [3 x i8] c", \00" @.str5905 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5906 = private unnamed_addr constant [3 x i8] c", \00" @.str5907 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5908 = private unnamed_addr constant [3 x i8] c", \00" @.str5909 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5910 = private unnamed_addr constant [3 x i8] c", \00" @.str5911 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5912 = private unnamed_addr constant [3 x i8] c", \00" @.str5913 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5914 = private unnamed_addr constant [3 x i8] c", \00" @.str5915 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5916 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5917 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5918 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5919 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5920 = private unnamed_addr constant [3 x i8] c", \00" @.str5921 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5922 = private unnamed_addr constant [3 x i8] c", \00" @.str5923 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5924 = private unnamed_addr constant [3 x i8] c", \00" @.str5925 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5926 = private unnamed_addr constant [3 x i8] c", \00" @.str5927 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5928 = private unnamed_addr constant [3 x i8] c", \00" @.str5929 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5930 = private unnamed_addr constant [3 x i8] c", \00" @.str5931 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5932 = private unnamed_addr constant [3 x i8] c", \00" @.str5933 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5934 = private unnamed_addr constant [3 x i8] c", \00" @.str5935 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5936 = private unnamed_addr constant [3 x i8] c", \00" @.str5937 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5938 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5939 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5940 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5941 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5942 = private unnamed_addr constant [3 x i8] c", \00" @.str5943 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5944 = private unnamed_addr constant [3 x i8] c", \00" @.str5945 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5946 = private unnamed_addr constant [3 x i8] c", \00" @.str5947 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5948 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5949 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5950 = private unnamed_addr constant [3 x i8] c", \00" @.str5951 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5952 = private unnamed_addr constant [3 x i8] c", \00" @.str5953 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5954 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5955 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5956 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5957 = private unnamed_addr constant [3 x i8] c", \00" @.str5958 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5959 = private unnamed_addr constant [3 x i8] c", \00" @.str5960 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5961 = private unnamed_addr constant [3 x i8] c", \00" @.str5962 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5963 = private unnamed_addr constant [3 x i8] c", \00" @.str5964 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5965 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5966 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5967 = private unnamed_addr constant [3 x i8] c", \00" @.str5968 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5969 = private unnamed_addr constant [3 x i8] c", \00" @.str5970 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5971 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5972 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5973 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5974 = private unnamed_addr constant [6 x i8] c"words\00" @.str5975 = private unnamed_addr constant [5 x i8] c"copy\00" @.str5976 = private unnamed_addr constant [5 x i8] c"fill\00" @.str5977 = private unnamed_addr constant [5 x i8] c"peek\00" @.str5978 = private unnamed_addr constant [5 x i8] c"poke\00" @.str5979 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5980 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5981 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5982 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5983 = private unnamed_addr constant [2 x i8] c")\00" @.str5984 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str5985 = private unnamed_addr constant [6 x i8] c"words\00" @.str5986 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5987 = private unnamed_addr constant [4 x i8] c", 4\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 [6 x i8] c"words\00" @.str5993 = private unnamed_addr constant [5 x i8] c"copy\00" @.str5994 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5995 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5996 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str5997 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5998 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str5999 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6000 = private unnamed_addr constant [2 x i8] c"0\00" @.str6001 = private unnamed_addr constant [5 x i8] c"void\00" @.str6002 = private unnamed_addr constant [5 x i8] c"fill\00" @.str6003 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6004 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6005 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str6006 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6007 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6008 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6009 = private unnamed_addr constant [2 x i8] c"0\00" @.str6010 = private unnamed_addr constant [5 x i8] c"void\00" @.str6011 = private unnamed_addr constant [5 x i8] c"peek\00" @.str6012 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str6013 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6014 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str6015 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str6016 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6017 = private unnamed_addr constant [4 x i8] c"int\00" @.str6018 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str6019 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6020 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str6021 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str6022 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str6023 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6024 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6025 = private unnamed_addr constant [2 x i8] c"0\00" @.str6026 = private unnamed_addr constant [5 x i8] c"void\00" @.str6027 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6028 = private unnamed_addr constant [6 x i8] c"delta\00" @.str6029 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str6030 = private unnamed_addr constant [4 x i8] c"now\00" @.str6031 = private unnamed_addr constant [6 x i8] c"since\00" @.str6032 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6033 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str6034 = private unnamed_addr constant [4 x i8] c"int\00" @.str6035 = private unnamed_addr constant [6 x i8] c"delta\00" @.str6036 = private unnamed_addr constant [5 x i8] c"1092\00" @.str6037 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6038 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str6039 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str6040 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6041 = private unnamed_addr constant [7 x i8] c", 1092\00" @.str6042 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6043 = private unnamed_addr constant [6 x i8] c"since\00" @.str6044 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str6045 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6046 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6047 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6048 = private unnamed_addr constant [3 x i8] c", \00" @.str6049 = private unnamed_addr constant [4 x i8] c"int\00" @.str6050 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str6051 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6052 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6053 = private unnamed_addr constant [4 x i8] c"int\00" @.str6054 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str6055 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str6056 = private unnamed_addr constant [6 x i8] c"hours\00" @.str6057 = private unnamed_addr constant [5 x i8] c"days\00" @.str6058 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str6059 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str6060 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str6061 = private unnamed_addr constant [8 x i8] c"as_days\00" @.str6062 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str6063 = private unnamed_addr constant [4 x i8] c"int\00" @.str6064 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str6065 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6066 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6067 = private unnamed_addr constant [4 x i8] c"int\00" @.str6068 = private unnamed_addr constant [6 x i8] c"hours\00" @.str6069 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6070 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6071 = private unnamed_addr constant [4 x i8] c"int\00" @.str6072 = private unnamed_addr constant [5 x i8] c"days\00" @.str6073 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6074 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6075 = private unnamed_addr constant [4 x i8] c"int\00" @.str6076 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str6077 = private unnamed_addr constant [4 x i8] c"int\00" @.str6078 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str6079 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6080 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6081 = private unnamed_addr constant [4 x i8] c"int\00" @.str6082 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str6083 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6084 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6085 = private unnamed_addr constant [4 x i8] c"int\00" @.str6086 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6087 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6088 = private unnamed_addr constant [4 x i8] c"int\00" @.str6089 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6090 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6091 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6092 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str6093 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6094 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6095 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6096 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6097 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6098 = private unnamed_addr constant [4 x i8] c"new\00" @.str6099 = private unnamed_addr constant [5 x i8] c"year\00" @.str6100 = private unnamed_addr constant [6 x i8] c"month\00" @.str6101 = private unnamed_addr constant [4 x i8] c"day\00" @.str6102 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6103 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str6104 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str6105 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str6106 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str6107 = private unnamed_addr constant [10 x i8] c"diff_days\00" @.str6108 = private unnamed_addr constant [4 x i8] c"new\00" @.str6109 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6110 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6111 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6112 = private unnamed_addr constant [2 x i8] c")\00" @.str6113 = private unnamed_addr constant [4 x i8] c"int\00" @.str6114 = private unnamed_addr constant [5 x i8] c"year\00" @.str6115 = private unnamed_addr constant [4 x i8] c"int\00" @.str6116 = private unnamed_addr constant [6 x i8] c"month\00" @.str6117 = private unnamed_addr constant [4 x i8] c"int\00" @.str6118 = private unnamed_addr constant [4 x i8] c"day\00" @.str6119 = private unnamed_addr constant [4 x i8] c"int\00" @.str6120 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6121 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6122 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6123 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6124 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6125 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6126 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6127 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6128 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6129 = private unnamed_addr constant [4 x i8] c"int\00" @.str6130 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str6131 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6132 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6133 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6134 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6135 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6136 = private unnamed_addr constant [6 x i8] c", 100\00" @.str6137 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6138 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6139 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6140 = private unnamed_addr constant [6 x i8] c", 400\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 [8 x i8] c"and i1 \00" @.str6144 = private unnamed_addr constant [3 x i8] c", \00" @.str6145 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str6146 = private unnamed_addr constant [3 x i8] c", \00" @.str6147 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6148 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6149 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6150 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str6151 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6152 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6153 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str6154 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6155 = private unnamed_addr constant [5 x i8] c", 12\00" @.str6156 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6157 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6158 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6159 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6160 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6161 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6162 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6163 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6164 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str6165 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6166 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6167 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str6168 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6169 = private unnamed_addr constant [3 x i8] c", \00" @.str6170 = private unnamed_addr constant [4 x i8] c"int\00" @.str6171 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str6172 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6173 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6174 = private unnamed_addr constant [4 x i8] c"int\00" @.str6175 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str6176 = private unnamed_addr constant [9 x i8] c"add 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"sub i32 \00" @.str6180 = private unnamed_addr constant [3 x i8] c", \00" @.str6181 = private unnamed_addr constant [4 x i8] c"int\00" @.str6182 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6183 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6184 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6185 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6186 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6187 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6188 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6189 = private unnamed_addr constant [3 x i8] c", \00" @.str6190 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6191 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6192 = private unnamed_addr constant [5 x i8] c"from\00" @.str6193 = private unnamed_addr constant [5 x i8] c"date\00" @.str6194 = private unnamed_addr constant [4 x i8] c"add\00" @.str6195 = private unnamed_addr constant [5 x i8] c"year\00" @.str6196 = private unnamed_addr constant [6 x i8] c"month\00" @.str6197 = private unnamed_addr constant [4 x i8] c"day\00" @.str6198 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6199 = private unnamed_addr constant [5 x i8] c"hour\00" @.str6200 = private unnamed_addr constant [7 x i8] c"minute\00" @.str6201 = private unnamed_addr constant [7 x i8] c"second\00" @.str6202 = private unnamed_addr constant [7 x i8] c"format\00" @.str6203 = private unnamed_addr constant [6 x i8] c"parse\00" @.str6204 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str6205 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6206 = private unnamed_addr constant [2 x i8] c")\00" @.str6207 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" @.str6208 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6209 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6210 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6211 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str6212 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6213 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6214 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6215 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6216 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6217 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6218 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6219 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6220 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6221 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6222 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6223 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6224 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6225 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6226 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6227 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6228 = private unnamed_addr constant [6 x i8] c", 100\00" @.str6229 = private unnamed_addr constant [1 x i8] c"\00" @.str6230 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str6231 = private unnamed_addr constant [3 x i8] c"YY\00" @.str6232 = private unnamed_addr constant [3 x i8] c"MM\00" @.str6233 = private unnamed_addr constant [3 x i8] c"DD\00" @.str6234 = private unnamed_addr constant [3 x i8] c"HH\00" @.str6235 = private unnamed_addr constant [3 x i8] c"mm\00" @.str6236 = private unnamed_addr constant [3 x i8] c"ss\00" @.str6237 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00" @.str6238 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6239 = private unnamed_addr constant [2 x i8] c")\00" @.str6240 = private unnamed_addr constant [7 x i8] c"string\00" @.str6241 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" @.str6242 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6243 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6244 = private unnamed_addr constant [2 x i8] c"0\00" @.str6245 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6246 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6247 = private unnamed_addr constant [5 x i8] c"1970\00" @.str6248 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6249 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6250 = private unnamed_addr constant [2 x i8] c"1\00" @.str6251 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6252 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6253 = private unnamed_addr constant [2 x i8] c"1\00" @.str6254 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6255 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6256 = private unnamed_addr constant [2 x i8] c"0\00" @.str6257 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6258 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6259 = private unnamed_addr constant [2 x i8] c"0\00" @.str6260 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6261 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6262 = private unnamed_addr constant [2 x i8] c"0\00" @.str6263 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str6264 = private unnamed_addr constant [3 x i8] c"MM\00" @.str6265 = private unnamed_addr constant [3 x i8] c"DD\00" @.str6266 = private unnamed_addr constant [3 x i8] c"HH\00" @.str6267 = private unnamed_addr constant [3 x i8] c"mm\00" @.str6268 = private unnamed_addr constant [3 x i8] c"ss\00" @.str6269 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00" @.str6270 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6271 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6272 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6273 = private unnamed_addr constant [2 x i8] c")\00" @.str6274 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6275 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6276 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6277 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6278 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6279 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6280 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6281 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6282 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6283 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6284 = private unnamed_addr constant [2 x i8] c")\00" @.str6285 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6286 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6287 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6288 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6289 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6290 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6291 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6292 = private unnamed_addr constant [3 x i8] c", \00" @.str6293 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6294 = private unnamed_addr constant [3 x i8] c", \00" @.str6295 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6296 = private unnamed_addr constant [3 x i8] c", \00" @.str6297 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6298 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6299 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6300 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6301 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str6302 = private unnamed_addr constant [4 x i8] c"int\00" @.str6303 = private unnamed_addr constant [7 x i8] c"format\00" @.str6304 = private unnamed_addr constant [6 x i8] c"parse\00" @.str6305 = private unnamed_addr constant [5 x i8] c"from\00" @.str6306 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6307 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6308 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6309 = private unnamed_addr constant [2 x i8] c")\00" @.str6310 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6311 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6312 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6313 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6314 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6315 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6316 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6317 = private unnamed_addr constant [3 x i8] c", \00" @.str6318 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6319 = private unnamed_addr constant [3 x i8] c", \00" @.str6320 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6321 = private unnamed_addr constant [3 x i8] c", \00" @.str6322 = private unnamed_addr constant [4 x i8] c"int\00" @.str6323 = private unnamed_addr constant [5 x i8] c"date\00" @.str6324 = private unnamed_addr constant [4 x i8] c"int\00" @.str6325 = private unnamed_addr constant [4 x i8] c"add\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 [4 x i8] c"int\00" @.str6329 = private unnamed_addr constant [5 x i8] c"year\00" @.str6330 = private unnamed_addr constant [4 x i8] c"int\00" @.str6331 = private unnamed_addr constant [6 x i8] c"month\00" @.str6332 = private unnamed_addr constant [4 x i8] c"int\00" @.str6333 = private unnamed_addr constant [4 x i8] c"day\00" @.str6334 = private unnamed_addr constant [4 x i8] c"int\00" @.str6335 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6336 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6337 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6338 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6339 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6340 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6341 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6342 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6343 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6344 = private unnamed_addr constant [4 x i8] c"int\00" @.str6345 = private unnamed_addr constant [5 x i8] c"hour\00" @.str6346 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6347 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6348 = private unnamed_addr constant [4 x i8] c"int\00" @.str6349 = private unnamed_addr constant [7 x i8] c"minute\00" @.str6350 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6351 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6352 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6353 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6354 = private unnamed_addr constant [4 x i8] c"int\00" @.str6355 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6356 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6357 = private unnamed_addr constant [4 x i8] c"int\00" @.str6358 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" @.str6359 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" @.str6360 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" @.str6361 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" @.str6362 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str6363 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" @.str6364 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" @.str6365 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" @.str6366 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str6367 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" @.str6368 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" @.str6369 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" @.str6370 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" @.str6371 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" @.str6372 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" @.str6373 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" @.str6374 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" @.str6375 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" @.str6376 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str6377 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str6378 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str6379 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" @.str6380 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" @.str6381 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" @.str6382 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" @.str6383 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" @.str6384 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" @.str6385 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str6386 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6387 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" @.str6388 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" @.str6389 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" @.str6390 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" @.str6391 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" @.str6392 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" @.str6393 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" @.str6394 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" @.str6395 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" @.str6396 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" @.str6397 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" @.str6398 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" @.str6399 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" @.str6400 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" @.str6401 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" @.str6402 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str6403 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" @.str6404 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str6405 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str6406 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str6407 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" @.str6408 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" @.str6409 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" @.str6410 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" @.str6411 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" @.str6412 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" @.str6413 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" @.str6414 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" @.str6415 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" @.str6416 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" @.str6417 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" @.str6418 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" @.str6419 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" @.str6420 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" @.str6421 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" @.str6422 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" @.str6423 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" @.str6424 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" @.str6425 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" @.str6426 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" @.str6427 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" @.str6428 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str6429 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6430 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00" @.str6431 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" @.str6432 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" @.str6433 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00" @.str6434 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" @.str6435 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" @.str6436 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" @.str6437 = 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" @.str6438 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6439 = 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" @.str6440 = 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" @.str6441 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" @.str6442 = 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" @.str6443 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" @.str6444 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" @.str6445 = 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" @.str6446 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str6447 = 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" @.str6448 = 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" @.str6449 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" @.str6450 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" @.str6451 = 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" @.str6452 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" @.str6453 = 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" @.str6454 = 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" @.str6455 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" @.str6456 = private unnamed_addr constant [4 x i8] c"now\00" @.str6457 = private unnamed_addr constant [4 x i8] c"set\00" @.str6458 = private unnamed_addr constant [8 x i8] c"advance\00" @.str6459 = private unnamed_addr constant [6 x i8] c"reset\00" @.str6460 = private unnamed_addr constant [4 x i8] c"now\00" @.str6461 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str6462 = private unnamed_addr constant [4 x i8] c"int\00" @.str6463 = private unnamed_addr constant [6 x i8] c"reset\00" @.str6464 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" @.str6465 = private unnamed_addr constant [2 x i8] c"0\00" @.str6466 = private unnamed_addr constant [5 x i8] c"void\00" @.str6467 = private unnamed_addr constant [4 x i8] c"set\00" @.str6468 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6469 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str6470 = private unnamed_addr constant [2 x i8] c"0\00" @.str6471 = private unnamed_addr constant [5 x i8] c"void\00" @.str6472 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str6473 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6474 = private unnamed_addr constant [3 x i8] c", \00" @.str6475 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6476 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str6477 = private unnamed_addr constant [2 x i8] c"0\00" @.str6478 = private unnamed_addr constant [5 x i8] c"void\00" @.str6479 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str6480 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str6481 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str6482 = private unnamed_addr constant [7 x i8] c"darken\00" @.str6483 = private unnamed_addr constant [8 x i8] c"lighten\00" @.str6484 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str6485 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str6486 = private unnamed_addr constant [3 x i8] c", \00" @.str6487 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6488 = private unnamed_addr constant [6 x i8] c", 255\00" @.str6489 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6490 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6491 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6492 = private unnamed_addr constant [4 x i8] c", 8\00" @.str6493 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6494 = private unnamed_addr constant [3 x i8] c", \00" @.str6495 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6496 = private unnamed_addr constant [3 x i8] c", \00" @.str6497 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6498 = private unnamed_addr constant [3 x i8] c", \00" @.str6499 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6500 = private unnamed_addr constant [3 x i8] c", \00" @.str6501 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6502 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6503 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6504 = private unnamed_addr constant [3 x i8] c", \00" @.str6505 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str6506 = private unnamed_addr constant [4 x i8] c"int\00" @.str6507 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str6508 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6509 = private unnamed_addr constant [5 x i8] c", 24\00" @.str6510 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6511 = private unnamed_addr constant [3 x i8] c", \00" @.str6512 = private unnamed_addr constant [4 x i8] c"int\00" @.str6513 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str6514 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6515 = private unnamed_addr constant [11 x i8] c", 16777215\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 [5 x i8] c"lerp\00" @.str6522 = private unnamed_addr constant [3 x i8] c"16\00" @.str6523 = private unnamed_addr constant [3 x i8] c"16\00" @.str6524 = private unnamed_addr constant [2 x i8] c"8\00" @.str6525 = private unnamed_addr constant [2 x i8] c"8\00" @.str6526 = private unnamed_addr constant [2 x i8] c"0\00" @.str6527 = private unnamed_addr constant [2 x i8] c"0\00" @.str6528 = private unnamed_addr constant [4 x i8] c"int\00" @.str6529 = private unnamed_addr constant [7 x i8] c"darken\00" @.str6530 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \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"0\00" @.str6534 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6535 = private unnamed_addr constant [3 x i8] c", \00" @.str6536 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6537 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6538 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6539 = private unnamed_addr constant [3 x i8] c", \00" @.str6540 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6541 = private unnamed_addr constant [5 x i8] c", 16\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 [4 x i8] c"int\00" @.str6547 = private unnamed_addr constant [3 x i8] c"16\00" @.str6548 = private unnamed_addr constant [2 x i8] c"8\00" @.str6549 = private unnamed_addr constant [2 x i8] c"0\00" @.str6550 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6551 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6552 = private unnamed_addr constant [3 x i8] c", \00" @.str6553 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6554 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6555 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6556 = private unnamed_addr constant [3 x i8] c", \00" @.str6557 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6558 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6559 = private unnamed_addr constant [3 x i8] c", \00" @.str6560 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6561 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6562 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6563 = private unnamed_addr constant [3 x i8] c", \00" @.str6564 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6565 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6566 = private unnamed_addr constant [3 x i8] c", \00" @.str6567 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6568 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6569 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6570 = private unnamed_addr constant [3 x i8] c", \00" @.str6571 = private unnamed_addr constant [4 x i8] c"int\00" @.str6572 = private unnamed_addr constant [6 x i8] c"White\00" @.str6573 = private unnamed_addr constant [5 x i8] c"Snow\00" @.str6574 = private unnamed_addr constant [6 x i8] c"Ivory\00" @.str6575 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" @.str6576 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" @.str6577 = private unnamed_addr constant [9 x i8] c"SeaShell\00" @.str6578 = private unnamed_addr constant [6 x i8] c"Linen\00" @.str6579 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" @.str6580 = private unnamed_addr constant [8 x i8] c"OldLace\00" @.str6581 = private unnamed_addr constant [6 x i8] c"Beige\00" @.str6582 = private unnamed_addr constant [6 x i8] c"Cream\00" @.str6583 = private unnamed_addr constant [9 x i8] c"Honeydew\00" @.str6584 = private unnamed_addr constant [10 x i8] c"MintCream\00" @.str6585 = private unnamed_addr constant [6 x i8] c"Azure\00" @.str6586 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" @.str6587 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" @.str6588 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" @.str6589 = private unnamed_addr constant [9 x i8] c"Lavender\00" @.str6590 = private unnamed_addr constant [5 x i8] c"Bone\00" @.str6591 = private unnamed_addr constant [10 x i8] c"Parchment\00" @.str6592 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" @.str6593 = private unnamed_addr constant [10 x i8] c"LightGray\00" @.str6594 = private unnamed_addr constant [7 x i8] c"Silver\00" @.str6595 = private unnamed_addr constant [4 x i8] c"Ash\00" @.str6596 = private unnamed_addr constant [9 x i8] c"DarkGray\00" @.str6597 = private unnamed_addr constant [5 x i8] c"Gray\00" @.str6598 = private unnamed_addr constant [8 x i8] c"DimGray\00" @.str6599 = private unnamed_addr constant [7 x i8] c"Nickel\00" @.str6600 = private unnamed_addr constant [6 x i8] c"Slate\00" @.str6601 = private unnamed_addr constant [10 x i8] c"SlateGray\00" @.str6602 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" @.str6603 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" @.str6604 = private unnamed_addr constant [9 x i8] c"Charcoal\00" @.str6605 = private unnamed_addr constant [9 x i8] c"Graphite\00" @.str6606 = private unnamed_addr constant [5 x i8] c"Onyx\00" @.str6607 = private unnamed_addr constant [4 x i8] c"Jet\00" @.str6608 = private unnamed_addr constant [6 x i8] c"Black\00" @.str6609 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" @.str6610 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" @.str6611 = private unnamed_addr constant [6 x i8] c"Ebony\00" @.str6612 = private unnamed_addr constant [4 x i8] c"Red\00" @.str6613 = private unnamed_addr constant [8 x i8] c"Crimson\00" @.str6614 = private unnamed_addr constant [8 x i8] c"Scarlet\00" @.str6615 = private unnamed_addr constant [10 x i8] c"Vermilion\00" @.str6616 = private unnamed_addr constant [10 x i8] c"FireBrick\00" @.str6617 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" @.str6618 = private unnamed_addr constant [8 x i8] c"DarkRed\00" @.str6619 = private unnamed_addr constant [7 x i8] c"Maroon\00" @.str6620 = private unnamed_addr constant [5 x i8] c"Ruby\00" @.str6621 = private unnamed_addr constant [9 x i8] c"Cardinal\00" @.str6622 = private unnamed_addr constant [10 x i8] c"IndianRed\00" @.str6623 = private unnamed_addr constant [5 x i8] c"Rust\00" @.str6624 = private unnamed_addr constant [8 x i8] c"Sangria\00" @.str6625 = private unnamed_addr constant [8 x i8] c"Redwood\00" @.str6626 = private unnamed_addr constant [7 x i8] c"Cerise\00" @.str6627 = private unnamed_addr constant [9 x i8] c"Amaranth\00" @.str6628 = private unnamed_addr constant [8 x i8] c"Carmine\00" @.str6629 = private unnamed_addr constant [9 x i8] c"Chestnut\00" @.str6630 = private unnamed_addr constant [6 x i8] c"Brick\00" @.str6631 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" @.str6632 = private unnamed_addr constant [5 x i8] c"Pink\00" @.str6633 = private unnamed_addr constant [10 x i8] c"LightPink\00" @.str6634 = private unnamed_addr constant [8 x i8] c"HotPink\00" @.str6635 = private unnamed_addr constant [9 x i8] c"DeepPink\00" @.str6636 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" @.str6637 = private unnamed_addr constant [5 x i8] c"Rose\00" @.str6638 = private unnamed_addr constant [6 x i8] c"Blush\00" @.str6639 = private unnamed_addr constant [7 x i8] c"Salmon\00" @.str6640 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" @.str6641 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" @.str6642 = private unnamed_addr constant [6 x i8] c"Coral\00" @.str6643 = private unnamed_addr constant [11 x i8] c"Watermelon\00" @.str6644 = private unnamed_addr constant [9 x i8] c"Flamingo\00" @.str6645 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" @.str6646 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" @.str6647 = private unnamed_addr constant [8 x i8] c"Magenta\00" @.str6648 = private unnamed_addr constant [6 x i8] c"Mauve\00" @.str6649 = private unnamed_addr constant [5 x i8] c"Puce\00" @.str6650 = private unnamed_addr constant [8 x i8] c"Thistle\00" @.str6651 = private unnamed_addr constant [7 x i8] c"Orchid\00" @.str6652 = private unnamed_addr constant [7 x i8] c"Orange\00" @.str6653 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" @.str6654 = private unnamed_addr constant [10 x i8] c"Tangerine\00" @.str6655 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" @.str6656 = private unnamed_addr constant [8 x i8] c"Apricot\00" @.str6657 = private unnamed_addr constant [6 x i8] c"Peach\00" @.str6658 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" @.str6659 = private unnamed_addr constant [6 x i8] c"Amber\00" @.str6660 = private unnamed_addr constant [7 x i8] c"Bronze\00" @.str6661 = private unnamed_addr constant [7 x i8] c"Copper\00" @.str6662 = private unnamed_addr constant [9 x i8] c"Marigold\00" @.str6663 = private unnamed_addr constant [7 x i8] c"Carrot\00" @.str6664 = private unnamed_addr constant [10 x i8] c"Persimmon\00" @.str6665 = private unnamed_addr constant [7 x i8] c"Papaya\00" @.str6666 = private unnamed_addr constant [7 x i8] c"Sunset\00" @.str6667 = private unnamed_addr constant [7 x i8] c"Yellow\00" @.str6668 = private unnamed_addr constant [12 x i8] c"LightYellow\00" @.str6669 = private unnamed_addr constant [5 x i8] c"Gold\00" @.str6670 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" @.str6671 = private unnamed_addr constant [6 x i8] c"Lemon\00" @.str6672 = private unnamed_addr constant [7 x i8] c"Canary\00" @.str6673 = private unnamed_addr constant [8 x i8] c"Mustard\00" @.str6674 = private unnamed_addr constant [5 x i8] c"Flax\00" @.str6675 = private unnamed_addr constant [6 x i8] c"Wheat\00" @.str6676 = private unnamed_addr constant [5 x i8] c"Corn\00" @.str6677 = private unnamed_addr constant [10 x i8] c"Dandelion\00" @.str6678 = private unnamed_addr constant [8 x i8] c"Saffron\00" @.str6679 = private unnamed_addr constant [6 x i8] c"Khaki\00" @.str6680 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" @.str6681 = private unnamed_addr constant [6 x i8] c"Straw\00" @.str6682 = private unnamed_addr constant [6 x i8] c"Brown\00" @.str6683 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" @.str6684 = private unnamed_addr constant [7 x i8] c"Sienna\00" @.str6685 = private unnamed_addr constant [10 x i8] c"Chocolate\00" @.str6686 = private unnamed_addr constant [5 x i8] c"Peru\00" @.str6687 = private unnamed_addr constant [4 x i8] c"Tan\00" @.str6688 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" @.str6689 = private unnamed_addr constant [5 x i8] c"Sand\00" @.str6690 = private unnamed_addr constant [7 x i8] c"Coffee\00" @.str6691 = private unnamed_addr constant [9 x i8] c"Espresso\00" @.str6692 = private unnamed_addr constant [9 x i8] c"Mahogany\00" @.str6693 = private unnamed_addr constant [7 x i8] c"Walnut\00" @.str6694 = private unnamed_addr constant [6 x i8] c"Umber\00" @.str6695 = private unnamed_addr constant [6 x i8] c"Sepia\00" @.str6696 = private unnamed_addr constant [6 x i8] c"Taupe\00" @.str6697 = private unnamed_addr constant [5 x i8] c"Fawn\00" @.str6698 = private unnamed_addr constant [8 x i8] c"Caramel\00" @.str6699 = private unnamed_addr constant [6 x i8] c"Cocoa\00" @.str6700 = private unnamed_addr constant [6 x i8] c"Hazel\00" @.str6701 = private unnamed_addr constant [6 x i8] c"Wenge\00" @.str6702 = private unnamed_addr constant [6 x i8] c"Green\00" @.str6703 = private unnamed_addr constant [5 x i8] c"Lime\00" @.str6704 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" @.str6705 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" @.str6706 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" @.str6707 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" @.str6708 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" @.str6709 = private unnamed_addr constant [10 x i8] c"MintGreen\00" @.str6710 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" @.str6711 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" @.str6712 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" @.str6713 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" @.str6714 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" @.str6715 = private unnamed_addr constant [6 x i8] c"Olive\00" @.str6716 = private unnamed_addr constant [5 x i8] c"Moss\00" @.str6717 = private unnamed_addr constant [5 x i8] c"Fern\00" @.str6718 = private unnamed_addr constant [8 x i8] c"Emerald\00" @.str6719 = private unnamed_addr constant [5 x i8] c"Jade\00" @.str6720 = private unnamed_addr constant [10 x i8] c"Malachite\00" @.str6721 = private unnamed_addr constant [9 x i8] c"Shamrock\00" @.str6722 = private unnamed_addr constant [10 x i8] c"Pistachio\00" @.str6723 = private unnamed_addr constant [8 x i8] c"Avocado\00" @.str6724 = private unnamed_addr constant [5 x i8] c"Pine\00" @.str6725 = private unnamed_addr constant [5 x i8] c"Sage\00" @.str6726 = private unnamed_addr constant [6 x i8] c"Kelly\00" @.str6727 = private unnamed_addr constant [7 x i8] c"Hunter\00" @.str6728 = private unnamed_addr constant [6 x i8] c"Basil\00" @.str6729 = private unnamed_addr constant [7 x i8] c"Clover\00" @.str6730 = private unnamed_addr constant [8 x i8] c"Juniper\00" @.str6731 = private unnamed_addr constant [5 x i8] c"Neon\00" @.str6732 = private unnamed_addr constant [5 x i8] c"Cyan\00" @.str6733 = private unnamed_addr constant [5 x i8] c"Aqua\00" @.str6734 = private unnamed_addr constant [10 x i8] c"LightCyan\00" @.str6735 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" @.str6736 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" @.str6737 = private unnamed_addr constant [10 x i8] c"Turquoise\00" @.str6738 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" @.str6739 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" @.str6740 = private unnamed_addr constant [5 x i8] c"Teal\00" @.str6741 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" @.str6742 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" @.str6743 = private unnamed_addr constant [7 x i8] c"Lagoon\00" @.str6744 = private unnamed_addr constant [8 x i8] c"Seafoam\00" @.str6745 = private unnamed_addr constant [9 x i8] c"Cerulean\00" @.str6746 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" @.str6747 = private unnamed_addr constant [6 x i8] c"Robin\00" @.str6748 = private unnamed_addr constant [10 x i8] c"Verdigris\00" @.str6749 = private unnamed_addr constant [8 x i8] c"Celadon\00" @.str6750 = private unnamed_addr constant [5 x i8] c"Blue\00" @.str6751 = private unnamed_addr constant [10 x i8] c"LightBlue\00" @.str6752 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" @.str6753 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" @.str6754 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" @.str6755 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" @.str6756 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" @.str6757 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" @.str6758 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" @.str6759 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" @.str6760 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" @.str6761 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" @.str6762 = private unnamed_addr constant [5 x i8] c"Navy\00" @.str6763 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" @.str6764 = private unnamed_addr constant [7 x i8] c"Cobalt\00" @.str6765 = private unnamed_addr constant [9 x i8] c"Sapphire\00" @.str6766 = private unnamed_addr constant [6 x i8] c"Denim\00" @.str6767 = private unnamed_addr constant [7 x i8] c"Indigo\00" @.str6768 = private unnamed_addr constant [9 x i8] c"Prussian\00" @.str6769 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" @.str6770 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" @.str6771 = private unnamed_addr constant [5 x i8] c"Iris\00" @.str6772 = private unnamed_addr constant [9 x i8] c"Glaucous\00" @.str6773 = private unnamed_addr constant [7 x i8] c"Zaffre\00" @.str6774 = private unnamed_addr constant [6 x i8] c"Berry\00" @.str6775 = private unnamed_addr constant [7 x i8] c"Purple\00" @.str6776 = private unnamed_addr constant [7 x i8] c"Violet\00" @.str6777 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" @.str6778 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" @.str6779 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" @.str6780 = private unnamed_addr constant [9 x i8] c"Amethyst\00" @.str6781 = private unnamed_addr constant [5 x i8] c"Plum\00" @.str6782 = private unnamed_addr constant [9 x i8] c"Eggplant\00" @.str6783 = private unnamed_addr constant [6 x i8] c"Grape\00" @.str6784 = private unnamed_addr constant [5 x i8] c"Wine\00" @.str6785 = private unnamed_addr constant [9 x i8] c"Mulberry\00" @.str6786 = private unnamed_addr constant [6 x i8] c"Lilac\00" @.str6787 = private unnamed_addr constant [9 x i8] c"Wisteria\00" @.str6788 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" @.str6789 = private unnamed_addr constant [10 x i8] c"Byzantium\00" @.str6790 = private unnamed_addr constant [7 x i8] c"Tyrian\00" @.str6791 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" @.str6792 = private unnamed_addr constant [8 x i8] c"Orchid2\00" @.str6793 = private unnamed_addr constant [6 x i8] c"Space\00" @.str6794 = private unnamed_addr constant [6 x i8] c"Enter\00" @.str6795 = private unnamed_addr constant [7 x i8] c"Return\00" @.str6796 = private unnamed_addr constant [7 x i8] c"Escape\00" @.str6797 = private unnamed_addr constant [4 x i8] c"Esc\00" @.str6798 = private unnamed_addr constant [6 x i8] c"Shift\00" @.str6799 = private unnamed_addr constant [4 x i8] c"Tab\00" @.str6800 = private unnamed_addr constant [10 x i8] c"Backspace\00" @.str6801 = private unnamed_addr constant [3 x i8] c"Up\00" @.str6802 = private unnamed_addr constant [5 x i8] c"Down\00" @.str6803 = private unnamed_addr constant [5 x i8] c"Left\00" @.str6804 = private unnamed_addr constant [6 x i8] c"Right\00" @.str6805 = private unnamed_addr constant [7 x i8] c"Digit0\00" @.str6806 = private unnamed_addr constant [7 x i8] c"Digit1\00" @.str6807 = private unnamed_addr constant [7 x i8] c"Digit2\00" @.str6808 = private unnamed_addr constant [7 x i8] c"Digit3\00" @.str6809 = private unnamed_addr constant [7 x i8] c"Digit4\00" @.str6810 = private unnamed_addr constant [7 x i8] c"Digit5\00" @.str6811 = private unnamed_addr constant [7 x i8] c"Digit6\00" @.str6812 = private unnamed_addr constant [7 x i8] c"Digit7\00" @.str6813 = private unnamed_addr constant [7 x i8] c"Digit8\00" @.str6814 = private unnamed_addr constant [7 x i8] c"Digit9\00" @.str6815 = private unnamed_addr constant [15 x i8] c"getelementptr \00" @.str6816 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" @.str6817 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str6818 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6819 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" @.str6820 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6821 = private unnamed_addr constant [2 x i8] c")\00" @.str6822 = private unnamed_addr constant [3 x i8] c" \00" @.str6823 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6824 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6825 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6826 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6827 = private unnamed_addr constant [9 x i8] c" store \00" @.str6828 = private unnamed_addr constant [2 x i8] c" \00" @.str6829 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6830 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6831 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str6832 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6833 = private unnamed_addr constant [2 x i8] c")\00" @.str6834 = private unnamed_addr constant [3 x i8] c" \00" @.str6835 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6836 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str6837 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str6838 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6839 = private unnamed_addr constant [3 x i8] c" \00" @.str6840 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6841 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str6842 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6843 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6844 = private unnamed_addr constant [3 x i8] c" \00" @.str6845 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6846 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" @.str6847 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6848 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6849 = private unnamed_addr constant [3 x i8] c" \00" @.str6850 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6851 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6852 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6853 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6854 = private unnamed_addr constant [4 x i8] c"int\00" @.str6855 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str6856 = private unnamed_addr constant [2 x i8] c")\00" @.str6857 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6858 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6859 = private unnamed_addr constant [4 x i8] c"int\00" @.str6860 = private unnamed_addr constant [2 x i8] c"0\00" @.str6861 = private unnamed_addr constant [5 x i8] c"void\00" @.str6862 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00" @.str6863 = private unnamed_addr constant [3 x i8] c"[]\00" @.str6864 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00" @.str6865 = private unnamed_addr constant [6 x i8] c" and \00" @.str6866 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6867 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6868 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str6869 = private unnamed_addr constant [3 x i8] c", \00" @.str6870 = private unnamed_addr constant [5 x i8] c"grow\00" @.str6871 = private unnamed_addr constant [4 x i8] c"put\00" @.str6872 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6873 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6874 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6875 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6876 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6877 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6878 = private unnamed_addr constant [4 x i8] c", 2\00" @.str6879 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6880 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6881 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6882 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str6883 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6884 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6885 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6886 = private unnamed_addr constant [3 x i8] c", \00" @.str6887 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6888 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str6889 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6890 = private unnamed_addr constant [2 x i8] c")\00" @.str6891 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6892 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6893 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6894 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6895 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6896 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6897 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6898 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6899 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6900 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6901 = private unnamed_addr constant [3 x i8] c" \00" @.str6902 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6903 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6904 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6905 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6906 = private unnamed_addr constant [9 x i8] c" store \00" @.str6907 = private unnamed_addr constant [2 x i8] c" \00" @.str6908 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6909 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6910 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6911 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6912 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6913 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6914 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6915 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6916 = private unnamed_addr constant [4 x i8] c"int\00" @.str6917 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6918 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6919 = private unnamed_addr constant [7 x i8] c"result\00" @.str6920 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" @.str6921 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" @.str6922 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6923 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6924 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6925 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6926 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str6927 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6928 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6929 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6930 = private unnamed_addr constant [6 x i8] c"tryok\00" @.str6931 = private unnamed_addr constant [8 x i8] c"tryelse\00" @.str6932 = private unnamed_addr constant [7 x i8] c"tryend\00" @.str6933 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6934 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6935 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6936 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6937 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6938 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6939 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str6940 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6941 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6942 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6943 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6944 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6945 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6946 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6947 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6948 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str6949 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6950 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6951 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6952 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6953 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6954 = private unnamed_addr constant [6 x i8] c"error\00" @.str6955 = private unnamed_addr constant [7 x i8] c"string\00" @.str6956 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6957 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6958 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6959 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6960 = private unnamed_addr constant [4 x i8] c"int\00" @.str6961 = private unnamed_addr constant [6 x i8] c"load \00" @.str6962 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6963 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6964 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6965 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6966 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6967 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6968 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6969 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6970 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6971 = private unnamed_addr constant [3 x i8] c"sc\00" @.str6972 = private unnamed_addr constant [6 x i8] c"scend\00" @.str6973 = private unnamed_addr constant [4 x i8] c"and\00" @.str6974 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6975 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6976 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6977 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6978 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6979 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6980 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6981 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6982 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6983 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6984 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6985 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6986 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6987 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6988 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6989 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6990 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6991 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6992 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6993 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6994 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6995 = private unnamed_addr constant [2 x i8] c"<\00" @.str6996 = private unnamed_addr constant [4 x i8] c"slt\00" @.str6997 = private unnamed_addr constant [3 x i8] c"<=\00" @.str6998 = private unnamed_addr constant [4 x i8] c"sle\00" @.str6999 = private unnamed_addr constant [2 x i8] c">\00" @.str7000 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str7001 = private unnamed_addr constant [3 x i8] c">=\00" @.str7002 = private unnamed_addr constant [4 x i8] c"sge\00" @.str7003 = private unnamed_addr constant [3 x i8] c"==\00" @.str7004 = private unnamed_addr constant [3 x i8] c"eq\00" @.str7005 = private unnamed_addr constant [3 x i8] c"ne\00" @.str7006 = private unnamed_addr constant [2 x i8] c"<\00" @.str7007 = private unnamed_addr constant [3 x i8] c"<=\00" @.str7008 = private unnamed_addr constant [2 x i8] c">\00" @.str7009 = private unnamed_addr constant [3 x i8] c">=\00" @.str7010 = private unnamed_addr constant [3 x i8] c"==\00" @.str7011 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7012 = private unnamed_addr constant [2 x i8] c"+\00" @.str7013 = private unnamed_addr constant [4 x i8] c"add\00" @.str7014 = private unnamed_addr constant [2 x i8] c"-\00" @.str7015 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7016 = private unnamed_addr constant [2 x i8] c"*\00" @.str7017 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7018 = private unnamed_addr constant [2 x i8] c"/\00" @.str7019 = private unnamed_addr constant [5 x i8] c"sdiv\00" @.str7020 = private unnamed_addr constant [2 x i8] c"&\00" @.str7021 = private unnamed_addr constant [4 x i8] c"and\00" @.str7022 = private unnamed_addr constant [2 x i8] c"|\00" @.str7023 = private unnamed_addr constant [3 x i8] c"or\00" @.str7024 = private unnamed_addr constant [2 x i8] c"^\00" @.str7025 = private unnamed_addr constant [4 x i8] c"xor\00" @.str7026 = private unnamed_addr constant [3 x i8] c"<<\00" @.str7027 = private unnamed_addr constant [4 x i8] c"shl\00" @.str7028 = private unnamed_addr constant [3 x i8] c">>\00" @.str7029 = private unnamed_addr constant [5 x i8] c"lshr\00" @.str7030 = private unnamed_addr constant [5 x i8] c"srem\00" @.str7031 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7032 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str7033 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7034 = private unnamed_addr constant [3 x i8] c"a \00" @.str7035 = private unnamed_addr constant [6 x i8] c" slot\00" @.str7036 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7037 = private unnamed_addr constant [3 x i8] c"a \00" @.str7038 = private unnamed_addr constant [22 x i8] c" does not convert to \00" @.str7039 = private unnamed_addr constant [41 x i8] c" implicitly \E2\80\94 write int(x) or fixed(x)\00" @.str7040 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7041 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7042 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7043 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7044 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7045 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7046 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7047 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7048 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7049 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7050 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7051 = private unnamed_addr constant [2 x i8] c"+\00" @.str7052 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str7053 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7054 = private unnamed_addr constant [2 x i8] c")\00" @.str7055 = private unnamed_addr constant [7 x i8] c"string\00" @.str7056 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str7057 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7058 = private unnamed_addr constant [2 x i8] c")\00" @.str7059 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7060 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str7061 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7062 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7063 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7064 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7065 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7066 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7067 = private unnamed_addr constant [5 x i8] c"long\00" @.str7068 = private unnamed_addr constant [4 x i8] c"int\00" @.str7069 = private unnamed_addr constant [4 x i8] c"and\00" @.str7070 = private unnamed_addr constant [3 x i8] c"or\00" @.str7071 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7072 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7073 = private unnamed_addr constant [2 x i8] c"+\00" @.str7074 = private unnamed_addr constant [2 x i8] c"+\00" @.str7075 = private unnamed_addr constant [3 x i8] c"==\00" @.str7076 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7077 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7078 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7079 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7080 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7081 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7082 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7083 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7084 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7085 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7086 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str7087 = private unnamed_addr constant [2 x i8] c" \00" @.str7088 = private unnamed_addr constant [2 x i8] c" \00" @.str7089 = private unnamed_addr constant [3 x i8] c", \00" @.str7090 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7091 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7092 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7093 = private unnamed_addr constant [6 x i8] c" i64 \00" @.str7094 = private unnamed_addr constant [3 x i8] c", \00" @.str7095 = private unnamed_addr constant [5 x i8] c"long\00" @.str7096 = private unnamed_addr constant [2 x i8] c"*\00" @.str7097 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7098 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7099 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7100 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7101 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str7102 = private unnamed_addr constant [3 x i8] c", \00" @.str7103 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str7104 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7105 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7106 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7107 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7108 = private unnamed_addr constant [2 x i8] c"/\00" @.str7109 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7110 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7111 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str7112 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7113 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7114 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7115 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str7116 = private unnamed_addr constant [3 x i8] c", \00" @.str7117 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7118 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7119 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7120 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str7121 = private unnamed_addr constant [3 x i8] c", \00" @.str7122 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7123 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str7124 = private unnamed_addr constant [3 x i8] c", \00" @.str7125 = private unnamed_addr constant [4 x i8] c"int\00" @.str7126 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" @.str7127 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" @.str7128 = private unnamed_addr constant [19 x i8] c"no argument named \00" @.str7129 = private unnamed_addr constant [5 x i8] c"exok\00" @.str7130 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str7131 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7132 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7133 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7134 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7135 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7136 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str7137 = private unnamed_addr constant [1 x i8] c"\00" @.str7138 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str7139 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7140 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" @.str7141 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7142 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7143 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7144 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7145 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7146 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7147 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str7148 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" @.str7149 = private unnamed_addr constant [7 x i8] c"__each\00" @.str7150 = private unnamed_addr constant [5 x i8] c"self\00" @.str7151 = private unnamed_addr constant [2 x i8] c"0\00" @.str7152 = private unnamed_addr constant [5 x i8] c"void\00" @.str7153 = private unnamed_addr constant [6 x i8] c"count\00" @.str7154 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" @.str7155 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7156 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7157 = private unnamed_addr constant [2 x i8] c"0\00" @.str7158 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7159 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7160 = private unnamed_addr constant [2 x i8] c"0\00" @.str7161 = private unnamed_addr constant [3 x i8] c"cc\00" @.str7162 = private unnamed_addr constant [3 x i8] c"cb\00" @.str7163 = private unnamed_addr constant [3 x i8] c"cn\00" @.str7164 = private unnamed_addr constant [3 x i8] c"ce\00" @.str7165 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7166 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7167 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7168 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7169 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7170 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str7171 = private unnamed_addr constant [3 x i8] c", \00" @.str7172 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7173 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7174 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7175 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7176 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7177 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7178 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str7179 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7180 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7181 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str7182 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7183 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str7184 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str7185 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7186 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str7187 = private unnamed_addr constant [3 x i8] c", \00" @.str7188 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7189 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7190 = private unnamed_addr constant [3 x i8] c", \00" @.str7191 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7192 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7193 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7194 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7195 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7196 = private unnamed_addr constant [4 x i8] c", 1\00" @.str7197 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7198 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7199 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7200 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7201 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7202 = private unnamed_addr constant [4 x i8] c"int\00" @.str7203 = private unnamed_addr constant [2 x i8] c".\00" @.str7204 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" @.str7205 = private unnamed_addr constant [3 x i8] c"of\00" @.str7206 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7207 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str7208 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str7209 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7210 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str7211 = private unnamed_addr constant [3 x i8] c", \00" @.str7212 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str7213 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7214 = private unnamed_addr constant [8 x i8] c", i32 0\00" @.str7215 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7216 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str7217 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7218 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str7219 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7220 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7221 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str7222 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7223 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str7224 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str7225 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7226 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str7227 = private unnamed_addr constant [3 x i8] c", \00" @.str7228 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str7229 = private unnamed_addr constant [3 x i8] c", \00" @.str7230 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7231 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7232 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7233 = private unnamed_addr constant [5 x i8] c"name\00" @.str7234 = private unnamed_addr constant [7 x i8] c"string\00" @.str7235 = private unnamed_addr constant [3 x i8] c"of\00" @.str7236 = private unnamed_addr constant [4 x i8] c"has\00" @.str7237 = private unnamed_addr constant [6 x i8] c"count\00" @.str7238 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str7239 = private unnamed_addr constant [2 x i8] c"_\00" @.str7240 = private unnamed_addr constant [5 x i8] c"Math\00" @.str7241 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00" @.str7242 = private unnamed_addr constant [5 x i8] c"Text\00" @.str7243 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00" @.str7244 = private unnamed_addr constant [5 x i8] c"List\00" @.str7245 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00" @.str7246 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str7247 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00" @.str7248 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str7249 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str7250 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str7251 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00" @.str7252 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str7253 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00" @.str7254 = private unnamed_addr constant [6 x i8] c"Color\00" @.str7255 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00" @.str7256 = private unnamed_addr constant [5 x i8] c"Time\00" @.str7257 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00" @.str7258 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str7259 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00" @.str7260 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str7261 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00" @.str7262 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str7263 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00" @.str7264 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str7265 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00" @.str7266 = private unnamed_addr constant [4 x i8] c"Log\00" @.str7267 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00" @.str7268 = private unnamed_addr constant [3 x i8] c"Os\00" @.str7269 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00" @.str7270 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str7271 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00" @.str7272 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str7273 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00" @.str7274 = private unnamed_addr constant [5 x i8] c"Path\00" @.str7275 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00" @.str7276 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str7277 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00" @.str7278 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str7279 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00" @.str7280 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str7281 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00" @.str7282 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str7283 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00" @.str7284 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str7285 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00" @.str7286 = private unnamed_addr constant [5 x i8] c"Date\00" @.str7287 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00" @.str7288 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str7289 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00" @.str7290 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str7291 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00" @.str7292 = private unnamed_addr constant [4 x i8] c"App\00" @.str7293 = private unnamed_addr constant [12 x i8] c"splash_hide\00" @.str7294 = private unnamed_addr constant [28 x i8] c" call void @splash_hide()\0A\00" @.str7295 = private unnamed_addr constant [2 x i8] c"0\00" @.str7296 = private unnamed_addr constant [5 x i8] c"void\00" @.str7297 = private unnamed_addr constant [9 x i8] c"set_icon\00" @.str7298 = private unnamed_addr constant [30 x i8] c" call void @lp_app_icon(ptr \00" @.str7299 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7300 = private unnamed_addr constant [2 x i8] c"0\00" @.str7301 = private unnamed_addr constant [5 x i8] c"void\00" @.str7302 = private unnamed_addr constant [21 x i8] c"unknown builtin App.\00" @.str7303 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str7304 = private unnamed_addr constant [9 x i8] c"capacity\00" @.str7305 = private unnamed_addr constant [4 x i8] c"int\00" @.str7306 = private unnamed_addr constant [9 x i8] c"reserved\00" @.str7307 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7308 = private unnamed_addr constant [4 x i8] c"int\00" @.str7309 = private unnamed_addr constant [5 x i8] c"free\00" @.str7310 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str7311 = private unnamed_addr constant [4 x i8] c"int\00" @.str7312 = private unnamed_addr constant [5 x i8] c"live\00" @.str7313 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7314 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str7315 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str7316 = private unnamed_addr constant [3 x i8] c", \00" @.str7317 = private unnamed_addr constant [4 x i8] c"int\00" @.str7318 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00" @.str7319 = private unnamed_addr constant [7 x i8] c"Screen\00" @.str7320 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7321 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7322 = private unnamed_addr constant [6 x i8] c"color\00" @.str7323 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" @.str7324 = private unnamed_addr constant [10 x i8] c"fill_rect\00" @.str7325 = private unnamed_addr constant [2 x i8] c"x\00" @.str7326 = private unnamed_addr constant [2 x i8] c"y\00" @.str7327 = private unnamed_addr constant [6 x i8] c"width\00" @.str7328 = private unnamed_addr constant [7 x i8] c"height\00" @.str7329 = private unnamed_addr constant [6 x i8] c"color\00" @.str7330 = private unnamed_addr constant [4 x i8] c"bar\00" @.str7331 = private unnamed_addr constant [4 x i8] c"bar\00" @.str7332 = private unnamed_addr constant [2 x i8] c"x\00" @.str7333 = private unnamed_addr constant [2 x i8] c"y\00" @.str7334 = private unnamed_addr constant [6 x i8] c"width\00" @.str7335 = private unnamed_addr constant [7 x i8] c"height\00" @.str7336 = private unnamed_addr constant [6 x i8] c"value\00" @.str7337 = private unnamed_addr constant [4 x i8] c"max\00" @.str7338 = private unnamed_addr constant [6 x i8] c"color\00" @.str7339 = private unnamed_addr constant [5 x i8] c"back\00" @.str7340 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" @.str7341 = private unnamed_addr constant [11 x i8] c"frame_rect\00" @.str7342 = private unnamed_addr constant [2 x i8] c"x\00" @.str7343 = private unnamed_addr constant [2 x i8] c"y\00" @.str7344 = private unnamed_addr constant [6 x i8] c"width\00" @.str7345 = private unnamed_addr constant [7 x i8] c"height\00" @.str7346 = private unnamed_addr constant [6 x i8] c"color\00" @.str7347 = private unnamed_addr constant [10 x i8] c"put_pixel\00" @.str7348 = private unnamed_addr constant [7 x i8] c"put_px\00" @.str7349 = private unnamed_addr constant [2 x i8] c"x\00" @.str7350 = private unnamed_addr constant [2 x i8] c"y\00" @.str7351 = private unnamed_addr constant [6 x i8] c"color\00" @.str7352 = private unnamed_addr constant [10 x i8] c"draw_text\00" @.str7353 = private unnamed_addr constant [5 x i8] c"text\00" @.str7354 = private unnamed_addr constant [2 x i8] c"x\00" @.str7355 = private unnamed_addr constant [2 x i8] c"y\00" @.str7356 = private unnamed_addr constant [5 x i8] c"text\00" @.str7357 = private unnamed_addr constant [6 x i8] c"color\00" @.str7358 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7359 = private unnamed_addr constant [12 x i8] c"draw_number\00" @.str7360 = private unnamed_addr constant [9 x i8] c"text_int\00" @.str7361 = private unnamed_addr constant [2 x i8] c"x\00" @.str7362 = private unnamed_addr constant [2 x i8] c"y\00" @.str7363 = private unnamed_addr constant [6 x i8] c"value\00" @.str7364 = private unnamed_addr constant [6 x i8] c"color\00" @.str7365 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7366 = private unnamed_addr constant [5 x i8] c"show\00" @.str7367 = private unnamed_addr constant [8 x i8] c"present\00" @.str7368 = private unnamed_addr constant [6 x i8] c"width\00" @.str7369 = private unnamed_addr constant [9 x i8] c"screen_w\00" @.str7370 = private unnamed_addr constant [7 x i8] c"height\00" @.str7371 = private unnamed_addr constant [9 x i8] c"screen_h\00" @.str7372 = private unnamed_addr constant [7 x i8] c"status\00" @.str7373 = private unnamed_addr constant [7 x i8] c"status\00" @.str7374 = private unnamed_addr constant [5 x i8] c"text\00" @.str7375 = private unnamed_addr constant [5 x i8] c"line\00" @.str7376 = private unnamed_addr constant [5 x i8] c"line\00" @.str7377 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7378 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7379 = private unnamed_addr constant [3 x i8] c"x2\00" @.str7380 = private unnamed_addr constant [3 x i8] c"y2\00" @.str7381 = private unnamed_addr constant [6 x i8] c"color\00" @.str7382 = private unnamed_addr constant [7 x i8] c"circle\00" @.str7383 = private unnamed_addr constant [7 x i8] c"circle\00" @.str7384 = private unnamed_addr constant [2 x i8] c"x\00" @.str7385 = private unnamed_addr constant [2 x i8] c"y\00" @.str7386 = private unnamed_addr constant [7 x i8] c"radius\00" @.str7387 = private unnamed_addr constant [6 x i8] c"color\00" @.str7388 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str7389 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str7390 = private unnamed_addr constant [2 x i8] c"x\00" @.str7391 = private unnamed_addr constant [2 x i8] c"y\00" @.str7392 = private unnamed_addr constant [7 x i8] c"radius\00" @.str7393 = private unnamed_addr constant [6 x i8] c"color\00" @.str7394 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str7395 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str7396 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7397 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7398 = private unnamed_addr constant [3 x i8] c"x2\00" @.str7399 = private unnamed_addr constant [3 x i8] c"y2\00" @.str7400 = private unnamed_addr constant [3 x i8] c"x3\00" @.str7401 = private unnamed_addr constant [3 x i8] c"y3\00" @.str7402 = private unnamed_addr constant [6 x i8] c"color\00" @.str7403 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str7404 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str7405 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7406 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7407 = private unnamed_addr constant [3 x i8] c"x2\00" @.str7408 = private unnamed_addr constant [3 x i8] c"y2\00" @.str7409 = private unnamed_addr constant [3 x i8] c"x3\00" @.str7410 = private unnamed_addr constant [3 x i8] c"y3\00" @.str7411 = private unnamed_addr constant [6 x i8] c"color\00" @.str7412 = private unnamed_addr constant [7 x i8] c"sprite\00" @.str7413 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str7414 = private unnamed_addr constant [3 x i8] c"id\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 [14 x i8] c"sprite_scaled\00" @.str7418 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str7419 = private unnamed_addr constant [3 x i8] c"id\00" @.str7420 = private unnamed_addr constant [2 x i8] c"x\00" @.str7421 = private unnamed_addr constant [2 x i8] c"y\00" @.str7422 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7423 = private unnamed_addr constant [5 x i8] c"oval\00" @.str7424 = private unnamed_addr constant [5 x i8] c"oval\00" @.str7425 = private unnamed_addr constant [2 x i8] c"x\00" @.str7426 = private unnamed_addr constant [2 x i8] c"y\00" @.str7427 = private unnamed_addr constant [3 x i8] c"rx\00" @.str7428 = private unnamed_addr constant [3 x i8] c"ry\00" @.str7429 = private unnamed_addr constant [6 x i8] c"color\00" @.str7430 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7431 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7432 = private unnamed_addr constant [2 x i8] c"x\00" @.str7433 = private unnamed_addr constant [2 x i8] c"y\00" @.str7434 = private unnamed_addr constant [5 x i8] c"clip\00" @.str7435 = private unnamed_addr constant [5 x i8] c"clip\00" @.str7436 = private unnamed_addr constant [2 x i8] c"x\00" @.str7437 = private unnamed_addr constant [2 x i8] c"y\00" @.str7438 = private unnamed_addr constant [6 x i8] c"width\00" @.str7439 = private unnamed_addr constant [7 x i8] c"height\00" @.str7440 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str7441 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str7442 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str7443 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str7444 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7445 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str7446 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str7447 = private unnamed_addr constant [5 x i8] c"text\00" @.str7448 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str7449 = private unnamed_addr constant [7 x i8] c"get_px\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 [7 x i8] c"Sprite\00" @.str7453 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7454 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00" @.str7455 = private unnamed_addr constant [5 x i8] c"path\00" @.str7456 = private unnamed_addr constant [6 x i8] c"cellw\00" @.str7457 = private unnamed_addr constant [6 x i8] c"cellh\00" @.str7458 = private unnamed_addr constant [5 x i8] c"cell\00" @.str7459 = private unnamed_addr constant [11 x i8] c"atlas_cell\00" @.str7460 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7461 = private unnamed_addr constant [4 x i8] c"col\00" @.str7462 = private unnamed_addr constant [4 x i8] c"row\00" @.str7463 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str7464 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00" @.str7465 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7466 = private unnamed_addr constant [4 x i8] c"col\00" @.str7467 = private unnamed_addr constant [4 x i8] c"row\00" @.str7468 = private unnamed_addr constant [5 x i8] c"cols\00" @.str7469 = private unnamed_addr constant [5 x i8] c"rows\00" @.str7470 = private unnamed_addr constant [6 x i8] c"strip\00" @.str7471 = private unnamed_addr constant [12 x i8] c"atlas_strip\00" @.str7472 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7473 = private unnamed_addr constant [4 x i8] c"col\00" @.str7474 = private unnamed_addr constant [4 x i8] c"row\00" @.str7475 = private unnamed_addr constant [6 x i8] c"count\00" @.str7476 = private unnamed_addr constant [5 x i8] c"rows\00" @.str7477 = private unnamed_addr constant [7 x i8] c"define\00" @.str7478 = private unnamed_addr constant [13 x i8] c"atlas_define\00" @.str7479 = private unnamed_addr constant [5 x i8] c"name\00" @.str7480 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str7481 = private unnamed_addr constant [4 x i8] c"col\00" @.str7482 = private unnamed_addr constant [4 x i8] c"row\00" @.str7483 = private unnamed_addr constant [6 x i8] c"named\00" @.str7484 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str7485 = private unnamed_addr constant [5 x i8] c"name\00" @.str7486 = private unnamed_addr constant [5 x i8] c"draw\00" @.str7487 = private unnamed_addr constant [11 x i8] c"atlas_draw\00" @.str7488 = private unnamed_addr constant [3 x i8] c"id\00" @.str7489 = private unnamed_addr constant [2 x i8] c"x\00" @.str7490 = private unnamed_addr constant [2 x i8] c"y\00" @.str7491 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str7492 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00" @.str7493 = private unnamed_addr constant [3 x i8] c"id\00" @.str7494 = private unnamed_addr constant [2 x i8] c"x\00" @.str7495 = private unnamed_addr constant [2 x i8] c"y\00" @.str7496 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7497 = private unnamed_addr constant [11 x i8] c"draw_meter\00" @.str7498 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00" @.str7499 = private unnamed_addr constant [2 x i8] c"x\00" @.str7500 = private unnamed_addr constant [2 x i8] c"y\00" @.str7501 = private unnamed_addr constant [6 x i8] c"value\00" @.str7502 = private unnamed_addr constant [4 x i8] c"max\00" @.str7503 = private unnamed_addr constant [9 x i8] c"per_icon\00" @.str7504 = private unnamed_addr constant [8 x i8] c"spacing\00" @.str7505 = private unnamed_addr constant [5 x i8] c"full\00" @.str7506 = private unnamed_addr constant [5 x i8] c"half\00" @.str7507 = private unnamed_addr constant [6 x i8] c"empty\00" @.str7508 = private unnamed_addr constant [6 x i8] c"width\00" @.str7509 = private unnamed_addr constant [12 x i8] c"atlas_width\00" @.str7510 = private unnamed_addr constant [3 x i8] c"id\00" @.str7511 = private unnamed_addr constant [7 x i8] c"height\00" @.str7512 = private unnamed_addr constant [13 x i8] c"atlas_height\00" @.str7513 = private unnamed_addr constant [3 x i8] c"id\00" @.str7514 = private unnamed_addr constant [5 x i8] c"Font\00" @.str7515 = private unnamed_addr constant [5 x i8] c"load\00" @.str7516 = private unnamed_addr constant [10 x i8] c"font_load\00" @.str7517 = private unnamed_addr constant [5 x i8] c"path\00" @.str7518 = private unnamed_addr constant [3 x i8] c"Ui\00" @.str7519 = private unnamed_addr constant [6 x i8] c"build\00" @.str7520 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str7521 = private unnamed_addr constant [5 x i8] c"open\00" @.str7522 = private unnamed_addr constant [8 x i8] c"ui_open\00" @.str7523 = private unnamed_addr constant [3 x i8] c"id\00" @.str7524 = private unnamed_addr constant [6 x i8] c"close\00" @.str7525 = private unnamed_addr constant [9 x i8] c"ui_close\00" @.str7526 = private unnamed_addr constant [5 x i8] c"tick\00" @.str7527 = private unnamed_addr constant [8 x i8] c"ui_tick\00" @.str7528 = private unnamed_addr constant [4 x i8] c"key\00" @.str7529 = private unnamed_addr constant [8 x i8] c"clicked\00" @.str7530 = private unnamed_addr constant [11 x i8] c"ui_clicked\00" @.str7531 = private unnamed_addr constant [3 x i8] c"id\00" @.str7532 = private unnamed_addr constant [9 x i8] c"set_text\00" @.str7533 = private unnamed_addr constant [12 x i8] c"ui_set_text\00" @.str7534 = private unnamed_addr constant [3 x i8] c"id\00" @.str7535 = private unnamed_addr constant [5 x i8] c"text\00" @.str7536 = private unnamed_addr constant [7 x i8] c"render\00" @.str7537 = private unnamed_addr constant [10 x i8] c"ui_render\00" @.str7538 = private unnamed_addr constant [5 x i8] c"File\00" @.str7539 = private unnamed_addr constant [5 x i8] c"open\00" @.str7540 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7541 = private unnamed_addr constant [5 x i8] c"path\00" @.str7542 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7543 = private unnamed_addr constant [5 x i8] c"read\00" @.str7544 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7545 = private unnamed_addr constant [5 x i8] c"file\00" @.str7546 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str7547 = private unnamed_addr constant [6 x i8] c"count\00" @.str7548 = private unnamed_addr constant [6 x i8] c"write\00" @.str7549 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7550 = private unnamed_addr constant [5 x i8] c"file\00" @.str7551 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str7552 = private unnamed_addr constant [6 x i8] c"count\00" @.str7553 = private unnamed_addr constant [5 x i8] c"seek\00" @.str7554 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7555 = private unnamed_addr constant [5 x i8] c"file\00" @.str7556 = private unnamed_addr constant [7 x i8] c"offset\00" @.str7557 = private unnamed_addr constant [7 x i8] c"whence\00" @.str7558 = private unnamed_addr constant [5 x i8] c"tell\00" @.str7559 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7560 = private unnamed_addr constant [5 x i8] c"file\00" @.str7561 = private unnamed_addr constant [6 x i8] c"close\00" @.str7562 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7563 = private unnamed_addr constant [5 x i8] c"file\00" @.str7564 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str7565 = private unnamed_addr constant [7 x i8] c"sparks\00" @.str7566 = private unnamed_addr constant [10 x i8] c"fx_sparks\00" @.str7567 = private unnamed_addr constant [2 x i8] c"x\00" @.str7568 = private unnamed_addr constant [2 x i8] c"y\00" @.str7569 = private unnamed_addr constant [6 x i8] c"color\00" @.str7570 = private unnamed_addr constant [6 x i8] c"count\00" @.str7571 = private unnamed_addr constant [7 x i8] c"number\00" @.str7572 = private unnamed_addr constant [10 x i8] c"fx_number\00" @.str7573 = private unnamed_addr constant [2 x i8] c"x\00" @.str7574 = private unnamed_addr constant [2 x i8] c"y\00" @.str7575 = private unnamed_addr constant [6 x i8] c"value\00" @.str7576 = private unnamed_addr constant [6 x i8] c"color\00" @.str7577 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7578 = private unnamed_addr constant [9 x i8] c"fx_clear\00" @.str7579 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str7580 = private unnamed_addr constant [9 x i8] c"spawn_at\00" @.str7581 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" @.str7582 = private unnamed_addr constant [9 x i8] c"Position\00" @.str7583 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" @.str7584 = private unnamed_addr constant [5 x i8] c"name\00" @.str7585 = private unnamed_addr constant [3 x i8] c"at\00" @.str7586 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str7587 = private unnamed_addr constant [2 x i8] c")\00" @.str7588 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7589 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00" @.str7590 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str7591 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7592 = private unnamed_addr constant [2 x i8] c"x\00" @.str7593 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str7594 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7595 = private unnamed_addr constant [2 x i8] c"y\00" @.str7596 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7597 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7598 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7599 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7600 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7601 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7602 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7603 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str7604 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" @.str7605 = private unnamed_addr constant [5 x i8] c"name\00" @.str7606 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" @.str7607 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str7608 = private unnamed_addr constant [2 x i8] c")\00" @.str7609 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7610 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00" @.str7611 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str7612 = private unnamed_addr constant [5 x i8] c"font\00" @.str7613 = private unnamed_addr constant [12 x i8] c"assets_font\00" @.str7614 = private unnamed_addr constant [5 x i8] c"name\00" @.str7615 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00" @.str7616 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00" @.str7617 = private unnamed_addr constant [5 x i8] c"path\00" @.str7618 = private unnamed_addr constant [6 x i8] c"image\00" @.str7619 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str7620 = private unnamed_addr constant [5 x i8] c"path\00" @.str7621 = private unnamed_addr constant [5 x i8] c"load\00" @.str7622 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str7623 = private unnamed_addr constant [5 x i8] c"path\00" @.str7624 = private unnamed_addr constant [4 x i8] c"get\00" @.str7625 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str7626 = private unnamed_addr constant [5 x i8] c"name\00" @.str7627 = private unnamed_addr constant [8 x i8] c"enqueue\00" @.str7628 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00" @.str7629 = private unnamed_addr constant [5 x i8] c"name\00" @.str7630 = private unnamed_addr constant [5 x i8] c"path\00" @.str7631 = private unnamed_addr constant [5 x i8] c"pump\00" @.str7632 = private unnamed_addr constant [12 x i8] c"assets_pump\00" @.str7633 = private unnamed_addr constant [4 x i8] c"max\00" @.str7634 = private unnamed_addr constant [6 x i8] c"total\00" @.str7635 = private unnamed_addr constant [13 x i8] c"assets_total\00" @.str7636 = private unnamed_addr constant [7 x i8] c"loaded\00" @.str7637 = private unnamed_addr constant [14 x i8] c"assets_loaded\00" @.str7638 = private unnamed_addr constant [6 x i8] c"ready\00" @.str7639 = private unnamed_addr constant [13 x i8] c"assets_ready\00" @.str7640 = private unnamed_addr constant [9 x i8] c"progress\00" @.str7641 = private unnamed_addr constant [16 x i8] c"assets_progress\00" @.str7642 = private unnamed_addr constant [7 x i8] c"Camera\00" @.str7643 = private unnamed_addr constant [4 x i8] c"set\00" @.str7644 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7645 = private unnamed_addr constant [2 x i8] c"x\00" @.str7646 = private unnamed_addr constant [2 x i8] c"y\00" @.str7647 = private unnamed_addr constant [7 x i8] c"follow\00" @.str7648 = private unnamed_addr constant [14 x i8] c"camera_follow\00" @.str7649 = private unnamed_addr constant [2 x i8] c"x\00" @.str7650 = private unnamed_addr constant [2 x i8] c"y\00" @.str7651 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7652 = private unnamed_addr constant [6 x i8] c"shake\00" @.str7653 = private unnamed_addr constant [13 x i8] c"camera_shake\00" @.str7654 = private unnamed_addr constant [7 x i8] c"amount\00" @.str7655 = private unnamed_addr constant [10 x i8] c"shake_for\00" @.str7656 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00" @.str7657 = private unnamed_addr constant [7 x i8] c"amount\00" @.str7658 = private unnamed_addr constant [7 x i8] c"frames\00" @.str7659 = private unnamed_addr constant [5 x i8] c"zoom\00" @.str7660 = private unnamed_addr constant [12 x i8] c"camera_zoom\00" @.str7661 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7662 = private unnamed_addr constant [4 x i8] c"Map\00" @.str7663 = private unnamed_addr constant [5 x i8] c"size\00" @.str7664 = private unnamed_addr constant [9 x i8] c"map_size\00" @.str7665 = private unnamed_addr constant [6 x i8] c"width\00" @.str7666 = private unnamed_addr constant [7 x i8] c"height\00" @.str7667 = private unnamed_addr constant [4 x i8] c"row\00" @.str7668 = private unnamed_addr constant [8 x i8] c"map_row\00" @.str7669 = private unnamed_addr constant [2 x i8] c"y\00" @.str7670 = private unnamed_addr constant [6 x i8] c"cells\00" @.str7671 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7672 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7673 = private unnamed_addr constant [2 x i8] c"x\00" @.str7674 = private unnamed_addr constant [2 x i8] c"y\00" @.str7675 = private unnamed_addr constant [4 x i8] c"get\00" @.str7676 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7677 = private unnamed_addr constant [2 x i8] c"x\00" @.str7678 = private unnamed_addr constant [2 x i8] c"y\00" @.str7679 = private unnamed_addr constant [4 x i8] c"set\00" @.str7680 = private unnamed_addr constant [8 x i8] c"map_set\00" @.str7681 = private unnamed_addr constant [2 x i8] c"x\00" @.str7682 = private unnamed_addr constant [2 x i8] c"y\00" @.str7683 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7684 = private unnamed_addr constant [5 x i8] c"fill\00" @.str7685 = private unnamed_addr constant [9 x i8] c"map_fill\00" @.str7686 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7687 = private unnamed_addr constant [5 x i8] c"rect\00" @.str7688 = private unnamed_addr constant [9 x i8] c"map_rect\00" @.str7689 = private unnamed_addr constant [2 x i8] c"x\00" @.str7690 = private unnamed_addr constant [2 x i8] c"y\00" @.str7691 = private unnamed_addr constant [6 x i8] c"width\00" @.str7692 = private unnamed_addr constant [7 x i8] c"height\00" @.str7693 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7694 = private unnamed_addr constant [7 x i8] c"border\00" @.str7695 = private unnamed_addr constant [11 x i8] c"map_border\00" @.str7696 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7697 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str7698 = private unnamed_addr constant [16 x i8] c"map_random_cell\00" @.str7699 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7700 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str7701 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00" @.str7702 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7703 = private unnamed_addr constant [5 x i8] c"from\00" @.str7704 = private unnamed_addr constant [10 x i8] c"min_tiles\00" @.str7705 = private unnamed_addr constant [9 x i8] c"is_solid\00" @.str7706 = private unnamed_addr constant [13 x i8] c"map_is_solid\00" @.str7707 = private unnamed_addr constant [2 x i8] c"x\00" @.str7708 = private unnamed_addr constant [2 x i8] c"y\00" @.str7709 = private unnamed_addr constant [12 x i8] c"is_solid_at\00" @.str7710 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00" @.str7711 = private unnamed_addr constant [2 x i8] c"x\00" @.str7712 = private unnamed_addr constant [2 x i8] c"y\00" @.str7713 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str7714 = private unnamed_addr constant [12 x i8] c"map_to_tile\00" @.str7715 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str7716 = private unnamed_addr constant [6 x i8] c"width\00" @.str7717 = private unnamed_addr constant [10 x i8] c"map_width\00" @.str7718 = private unnamed_addr constant [7 x i8] c"height\00" @.str7719 = private unnamed_addr constant [11 x i8] c"map_height\00" @.str7720 = private unnamed_addr constant [7 x i8] c"Random\00" @.str7721 = private unnamed_addr constant [6 x i8] c"range\00" @.str7722 = private unnamed_addr constant [10 x i8] c"rng_range\00" @.str7723 = private unnamed_addr constant [4 x i8] c"low\00" @.str7724 = private unnamed_addr constant [5 x i8] c"high\00" @.str7725 = private unnamed_addr constant [9 x i8] c"weighted\00" @.str7726 = private unnamed_addr constant [13 x i8] c"rng_weighted\00" @.str7727 = private unnamed_addr constant [8 x i8] c"weights\00" @.str7728 = private unnamed_addr constant [7 x i8] c"chance\00" @.str7729 = private unnamed_addr constant [11 x i8] c"rng_chance\00" @.str7730 = private unnamed_addr constant [8 x i8] c"percent\00" @.str7731 = private unnamed_addr constant [5 x i8] c"seed\00" @.str7732 = private unnamed_addr constant [5 x i8] c"seed\00" @.str7733 = private unnamed_addr constant [6 x i8] c"value\00" @.str7734 = private unnamed_addr constant [6 x i8] c"value\00" @.str7735 = private unnamed_addr constant [10 x i8] c"rng_value\00" @.str7736 = private unnamed_addr constant [4 x i8] c"int\00" @.str7737 = private unnamed_addr constant [8 x i8] c"rng_int\00" @.str7738 = private unnamed_addr constant [4 x i8] c"max\00" @.str7739 = private unnamed_addr constant [5 x i8] c"sign\00" @.str7740 = private unnamed_addr constant [9 x i8] c"rng_sign\00" @.str7741 = private unnamed_addr constant [6 x i8] c"Input\00" @.str7742 = private unnamed_addr constant [4 x i8] c"key\00" @.str7743 = private unnamed_addr constant [4 x i8] c"key\00" @.str7744 = private unnamed_addr constant [5 x i8] c"bind\00" @.str7745 = private unnamed_addr constant [11 x i8] c"input_bind\00" @.str7746 = private unnamed_addr constant [7 x i8] c"action\00" @.str7747 = private unnamed_addr constant [4 x i8] c"key\00" @.str7748 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str7749 = private unnamed_addr constant [13 x i8] c"input_rebind\00" @.str7750 = private unnamed_addr constant [7 x i8] c"action\00" @.str7751 = private unnamed_addr constant [4 x i8] c"old\00" @.str7752 = private unnamed_addr constant [4 x i8] c"new\00" @.str7753 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7754 = private unnamed_addr constant [11 x i8] c"input_poll\00" @.str7755 = private unnamed_addr constant [5 x i8] c"down\00" @.str7756 = private unnamed_addr constant [11 x i8] c"input_down\00" @.str7757 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str7758 = private unnamed_addr constant [14 x i8] c"input_pressed\00" @.str7759 = private unnamed_addr constant [7 x i8] c"record\00" @.str7760 = private unnamed_addr constant [13 x i8] c"input_record\00" @.str7761 = private unnamed_addr constant [7 x i8] c"replay\00" @.str7762 = private unnamed_addr constant [13 x i8] c"input_replay\00" @.str7763 = private unnamed_addr constant [7 x i8] c"action\00" @.str7764 = private unnamed_addr constant [14 x i8] c"input_default\00" @.str7765 = private unnamed_addr constant [7 x i8] c"action\00" @.str7766 = private unnamed_addr constant [4 x i8] c"key\00" @.str7767 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str7768 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00" @.str7769 = private unnamed_addr constant [7 x i8] c"action\00" @.str7770 = private unnamed_addr constant [7 x i8] c"button\00" @.str7771 = private unnamed_addr constant [7 x i8] c"active\00" @.str7772 = private unnamed_addr constant [13 x i8] c"input_active\00" @.str7773 = private unnamed_addr constant [7 x i8] c"action\00" @.str7774 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str7775 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00" @.str7776 = private unnamed_addr constant [7 x i8] c"action\00" @.str7777 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str7778 = private unnamed_addr constant [20 x i8] c"input_just_released\00" @.str7779 = private unnamed_addr constant [7 x i8] c"action\00" @.str7780 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str7781 = private unnamed_addr constant [15 x i8] c"input_key_down\00" @.str7782 = private unnamed_addr constant [4 x i8] c"key\00" @.str7783 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str7784 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00" @.str7785 = private unnamed_addr constant [4 x i8] c"key\00" @.str7786 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str7787 = private unnamed_addr constant [19 x i8] c"input_key_released\00" @.str7788 = private unnamed_addr constant [4 x i8] c"key\00" @.str7789 = private unnamed_addr constant [10 x i8] c"key_label\00" @.str7790 = private unnamed_addr constant [16 x i8] c"input_key_label\00" @.str7791 = private unnamed_addr constant [4 x i8] c"key\00" @.str7792 = private unnamed_addr constant [6 x i8] c"press\00" @.str7793 = private unnamed_addr constant [12 x i8] c"input_press\00" @.str7794 = private unnamed_addr constant [4 x i8] c"key\00" @.str7795 = private unnamed_addr constant [8 x i8] c"release\00" @.str7796 = private unnamed_addr constant [14 x i8] c"input_release\00" @.str7797 = private unnamed_addr constant [4 x i8] c"key\00" @.str7798 = private unnamed_addr constant [5 x i8] c"axis\00" @.str7799 = private unnamed_addr constant [11 x i8] c"input_axis\00" @.str7800 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7801 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7802 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str7803 = private unnamed_addr constant [13 x i8] c"input_axis_i\00" @.str7804 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7805 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7806 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str7807 = private unnamed_addr constant [13 x i8] c"input_move_i\00" @.str7808 = private unnamed_addr constant [7 x i8] c"vector\00" @.str7809 = private unnamed_addr constant [13 x i8] c"input_vector\00" @.str7810 = private unnamed_addr constant [5 x i8] c"left\00" @.str7811 = private unnamed_addr constant [6 x i8] c"right\00" @.str7812 = private unnamed_addr constant [3 x i8] c"up\00" @.str7813 = private unnamed_addr constant [5 x i8] c"down\00" @.str7814 = private unnamed_addr constant [9 x i8] c"strength\00" @.str7815 = private unnamed_addr constant [15 x i8] c"input_strength\00" @.str7816 = private unnamed_addr constant [7 x i8] c"action\00" @.str7817 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str7818 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00" @.str7819 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str7820 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00" @.str7821 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str7822 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00" @.str7823 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str7824 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00" @.str7825 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str7826 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00" @.str7827 = private unnamed_addr constant [7 x i8] c"button\00" @.str7828 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str7829 = private unnamed_addr constant [12 x i8] c"input_wheel\00" @.str7830 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str7831 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00" @.str7832 = private unnamed_addr constant [2 x i8] c"x\00" @.str7833 = private unnamed_addr constant [2 x i8] c"y\00" @.str7834 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7835 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str7836 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str7837 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00" @.str7838 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7839 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str7840 = private unnamed_addr constant [17 x i8] c"input_pad_button\00" @.str7841 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7842 = private unnamed_addr constant [7 x i8] c"button\00" @.str7843 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str7844 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00" @.str7845 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7846 = private unnamed_addr constant [5 x i8] c"axis\00" @.str7847 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str7848 = private unnamed_addr constant [14 x i8] c"input_set_pad\00" @.str7849 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7850 = private unnamed_addr constant [10 x i8] c"connected\00" @.str7851 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7852 = private unnamed_addr constant [3 x i8] c"lx\00" @.str7853 = private unnamed_addr constant [3 x i8] c"ly\00" @.str7854 = private unnamed_addr constant [3 x i8] c"rx\00" @.str7855 = private unnamed_addr constant [3 x i8] c"ry\00" @.str7856 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str7857 = private unnamed_addr constant [18 x i8] c"input_touch_count\00" @.str7858 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str7859 = private unnamed_addr constant [14 x i8] c"input_touch_x\00" @.str7860 = private unnamed_addr constant [6 x i8] c"index\00" @.str7861 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str7862 = private unnamed_addr constant [14 x i8] c"input_touch_y\00" @.str7863 = private unnamed_addr constant [6 x i8] c"index\00" @.str7864 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str7865 = private unnamed_addr constant [16 x i8] c"input_set_touch\00" @.str7866 = private unnamed_addr constant [6 x i8] c"index\00" @.str7867 = private unnamed_addr constant [2 x i8] c"x\00" @.str7868 = private unnamed_addr constant [2 x i8] c"y\00" @.str7869 = private unnamed_addr constant [7 x i8] c"active\00" @.str7870 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str7871 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str7872 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7873 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str7874 = private unnamed_addr constant [5 x i8] c"load\00" @.str7875 = private unnamed_addr constant [11 x i8] c"audio_load\00" @.str7876 = private unnamed_addr constant [5 x i8] c"path\00" @.str7877 = private unnamed_addr constant [7 x i8] c"define\00" @.str7878 = private unnamed_addr constant [13 x i8] c"audio_define\00" @.str7879 = private unnamed_addr constant [5 x i8] c"name\00" @.str7880 = private unnamed_addr constant [5 x i8] c"path\00" @.str7881 = private unnamed_addr constant [6 x i8] c"named\00" @.str7882 = private unnamed_addr constant [12 x i8] c"audio_named\00" @.str7883 = private unnamed_addr constant [5 x i8] c"name\00" @.str7884 = private unnamed_addr constant [5 x i8] c"play\00" @.str7885 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" @.str7886 = private unnamed_addr constant [5 x i8] c"name\00" @.str7887 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7888 = private unnamed_addr constant [3 x i8] c"id\00" @.str7889 = private unnamed_addr constant [11 x i8] c"play_sound\00" @.str7890 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7891 = private unnamed_addr constant [3 x i8] c"id\00" @.str7892 = private unnamed_addr constant [8 x i8] c"play_at\00" @.str7893 = private unnamed_addr constant [14 x i8] c"audio_play_at\00" @.str7894 = private unnamed_addr constant [3 x i8] c"id\00" @.str7895 = private unnamed_addr constant [5 x i8] c"gain\00" @.str7896 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str7897 = private unnamed_addr constant [4 x i8] c"pan\00" @.str7898 = private unnamed_addr constant [11 x i8] c"play_music\00" @.str7899 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" @.str7900 = private unnamed_addr constant [5 x i8] c"name\00" @.str7901 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" @.str7902 = private unnamed_addr constant [3 x i8] c"id\00" @.str7903 = private unnamed_addr constant [5 x i8] c"stop\00" @.str7904 = private unnamed_addr constant [11 x i8] c"audio_stop\00" @.str7905 = private unnamed_addr constant [3 x i8] c"id\00" @.str7906 = private unnamed_addr constant [11 x i8] c"stop_music\00" @.str7907 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00" @.str7908 = private unnamed_addr constant [9 x i8] c"stop_all\00" @.str7909 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00" @.str7910 = private unnamed_addr constant [7 x i8] c"volume\00" @.str7911 = private unnamed_addr constant [13 x i8] c"audio_volume\00" @.str7912 = private unnamed_addr constant [2 x i8] c"v\00" @.str7913 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str7914 = private unnamed_addr constant [12 x i8] c"audio_pitch\00" @.str7915 = private unnamed_addr constant [2 x i8] c"v\00" @.str7916 = private unnamed_addr constant [11 x i8] c"is_playing\00" @.str7917 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00" @.str7918 = private unnamed_addr constant [3 x i8] c"id\00" @.str7919 = private unnamed_addr constant [5 x i8] c"Http\00" @.str7920 = private unnamed_addr constant [4 x i8] c"get\00" @.str7921 = private unnamed_addr constant [9 x i8] c"http_get\00" @.str7922 = private unnamed_addr constant [4 x i8] c"url\00" @.str7923 = private unnamed_addr constant [5 x i8] c"post\00" @.str7924 = private unnamed_addr constant [10 x i8] c"http_post\00" @.str7925 = private unnamed_addr constant [4 x i8] c"url\00" @.str7926 = private unnamed_addr constant [5 x i8] c"body\00" @.str7927 = private unnamed_addr constant [8 x i8] c"request\00" @.str7928 = private unnamed_addr constant [13 x i8] c"http_request\00" @.str7929 = private unnamed_addr constant [7 x i8] c"method\00" @.str7930 = private unnamed_addr constant [4 x i8] c"url\00" @.str7931 = private unnamed_addr constant [5 x i8] c"body\00" @.str7932 = private unnamed_addr constant [5 x i8] c"open\00" @.str7933 = private unnamed_addr constant [10 x i8] c"http_open\00" @.str7934 = private unnamed_addr constant [7 x i8] c"method\00" @.str7935 = private unnamed_addr constant [4 x i8] c"url\00" @.str7936 = private unnamed_addr constant [4 x i8] c"set\00" @.str7937 = private unnamed_addr constant [16 x i8] c"http_set_header\00" @.str7938 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7939 = private unnamed_addr constant [5 x i8] c"name\00" @.str7940 = private unnamed_addr constant [6 x i8] c"value\00" @.str7941 = private unnamed_addr constant [5 x i8] c"body\00" @.str7942 = private unnamed_addr constant [10 x i8] c"http_body\00" @.str7943 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7944 = private unnamed_addr constant [5 x i8] c"body\00" @.str7945 = private unnamed_addr constant [11 x i8] c"body_bytes\00" @.str7946 = private unnamed_addr constant [12 x i8] c"http_body_n\00" @.str7947 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7948 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7949 = private unnamed_addr constant [4 x i8] c"len\00" @.str7950 = private unnamed_addr constant [5 x i8] c"send\00" @.str7951 = private unnamed_addr constant [14 x i8] c"http_send_req\00" @.str7952 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7953 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7954 = private unnamed_addr constant [10 x i8] c"http_poll\00" @.str7955 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7956 = private unnamed_addr constant [7 x i8] c"status\00" @.str7957 = private unnamed_addr constant [15 x i8] c"http_status_of\00" @.str7958 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7959 = private unnamed_addr constant [3 x i8] c"ok\00" @.str7960 = private unnamed_addr constant [8 x i8] c"http_ok\00" @.str7961 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7962 = private unnamed_addr constant [5 x i8] c"text\00" @.str7963 = private unnamed_addr constant [10 x i8] c"http_text\00" @.str7964 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7965 = private unnamed_addr constant [9 x i8] c"body_len\00" @.str7966 = private unnamed_addr constant [14 x i8] c"http_body_len\00" @.str7967 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7968 = private unnamed_addr constant [7 x i8] c"header\00" @.str7969 = private unnamed_addr constant [15 x i8] c"http_header_of\00" @.str7970 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7971 = private unnamed_addr constant [5 x i8] c"name\00" @.str7972 = private unnamed_addr constant [5 x i8] c"free\00" @.str7973 = private unnamed_addr constant [11 x i8] c"http_close\00" @.str7974 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7975 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7976 = private unnamed_addr constant [11 x i8] c"http_parse\00" @.str7977 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7978 = private unnamed_addr constant [4 x i8] c"len\00" @.str7979 = private unnamed_addr constant [6 x i8] c"World\00" @.str7980 = private unnamed_addr constant [4 x i8] c"get\00" @.str7981 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str7982 = private unnamed_addr constant [4 x i8] c"set\00" @.str7983 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str7984 = private unnamed_addr constant [4 x i8] c"has\00" @.str7985 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str7986 = private unnamed_addr constant [6 x i8] c"count\00" @.str7987 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str7988 = private unnamed_addr constant [5 x i8] c"size\00" @.str7989 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str7990 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str7991 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str7992 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str7993 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str7994 = private unnamed_addr constant [5 x i8] c"save\00" @.str7995 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str7996 = private unnamed_addr constant [5 x i8] c"load\00" @.str7997 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str7998 = private unnamed_addr constant [8 x i8] c"prop_id\00" @.str7999 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8000 = private unnamed_addr constant [9 x i8] c"field_id\00" @.str8001 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8002 = private unnamed_addr constant [9 x i8] c"model_id\00" @.str8003 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8004 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8005 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8006 = private unnamed_addr constant [14 x i8] c"register_prop\00" @.str8007 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str8008 = private unnamed_addr constant [7 x i8] c"attach\00" @.str8009 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str8010 = private unnamed_addr constant [7 x i8] c"detach\00" @.str8011 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str8012 = private unnamed_addr constant [11 x i8] c"query_next\00" @.str8013 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str8014 = private unnamed_addr constant [8 x i8] c"Network\00" @.str8015 = private unnamed_addr constant [5 x i8] c"send\00" @.str8016 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str8017 = private unnamed_addr constant [5 x i8] c"poll\00" @.str8018 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str8019 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8020 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8021 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8022 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8023 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8024 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8025 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8026 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8027 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8028 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8029 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8030 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8031 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8032 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8033 = private unnamed_addr constant [7 x i8] c"System\00" @.str8034 = private unnamed_addr constant [4 x i8] c"run\00" @.str8035 = private unnamed_addr constant [4 x i8] c"run\00" @.str8036 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8037 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8038 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str8039 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str8040 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str8041 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str8042 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8043 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8044 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str8045 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str8046 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str8047 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str8048 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8049 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8050 = private unnamed_addr constant [5 x i8] c"Save\00" @.str8051 = private unnamed_addr constant [6 x i8] c"write\00" @.str8052 = private unnamed_addr constant [5 x i8] c"save\00" @.str8053 = private unnamed_addr constant [5 x i8] c"read\00" @.str8054 = private unnamed_addr constant [5 x i8] c"load\00" @.str8055 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str8056 = private unnamed_addr constant [8 x i8] c"compile\00" @.str8057 = private unnamed_addr constant [14 x i8] c"regex_compile\00" @.str8058 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8059 = private unnamed_addr constant [6 x i8] c"valid\00" @.str8060 = private unnamed_addr constant [12 x i8] c"regex_valid\00" @.str8061 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8062 = private unnamed_addr constant [8 x i8] c"matches\00" @.str8063 = private unnamed_addr constant [14 x i8] c"regex_matches\00" @.str8064 = private unnamed_addr constant [5 x i8] c"text\00" @.str8065 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8066 = private unnamed_addr constant [5 x i8] c"test\00" @.str8067 = private unnamed_addr constant [11 x i8] c"regex_test\00" @.str8068 = private unnamed_addr constant [5 x i8] c"text\00" @.str8069 = private unnamed_addr constant [3 x i8] c"re\00" @.str8070 = private unnamed_addr constant [5 x i8] c"find\00" @.str8071 = private unnamed_addr constant [11 x i8] c"regex_find\00" @.str8072 = private unnamed_addr constant [5 x i8] c"text\00" @.str8073 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8074 = private unnamed_addr constant [5 x i8] c"exec\00" @.str8075 = private unnamed_addr constant [11 x i8] c"regex_exec\00" @.str8076 = private unnamed_addr constant [5 x i8] c"text\00" @.str8077 = private unnamed_addr constant [3 x i8] c"re\00" @.str8078 = private unnamed_addr constant [5 x i8] c"next\00" @.str8079 = private unnamed_addr constant [11 x i8] c"regex_next\00" @.str8080 = private unnamed_addr constant [5 x i8] c"text\00" @.str8081 = private unnamed_addr constant [3 x i8] c"re\00" @.str8082 = private unnamed_addr constant [5 x i8] c"from\00" @.str8083 = private unnamed_addr constant [8 x i8] c"replace\00" @.str8084 = private unnamed_addr constant [14 x i8] c"regex_replace\00" @.str8085 = private unnamed_addr constant [5 x i8] c"text\00" @.str8086 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8087 = private unnamed_addr constant [12 x i8] c"replacement\00" @.str8088 = private unnamed_addr constant [6 x i8] c"group\00" @.str8089 = private unnamed_addr constant [12 x i8] c"regex_group\00" @.str8090 = private unnamed_addr constant [6 x i8] c"match\00" @.str8091 = private unnamed_addr constant [2 x i8] c"n\00" @.str8092 = private unnamed_addr constant [12 x i8] c"group_count\00" @.str8093 = private unnamed_addr constant [18 x i8] c"regex_group_count\00" @.str8094 = private unnamed_addr constant [6 x i8] c"match\00" @.str8095 = private unnamed_addr constant [6 x i8] c"start\00" @.str8096 = private unnamed_addr constant [12 x i8] c"regex_start\00" @.str8097 = private unnamed_addr constant [6 x i8] c"match\00" @.str8098 = private unnamed_addr constant [2 x i8] c"n\00" @.str8099 = private unnamed_addr constant [4 x i8] c"end\00" @.str8100 = private unnamed_addr constant [10 x i8] c"regex_end\00" @.str8101 = private unnamed_addr constant [6 x i8] c"match\00" @.str8102 = private unnamed_addr constant [2 x i8] c"n\00" @.str8103 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8104 = private unnamed_addr constant [9 x i8] c"regex_ok\00" @.str8105 = private unnamed_addr constant [6 x i8] c"match\00" @.str8106 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str8107 = private unnamed_addr constant [5 x i8] c"from\00" @.str8108 = private unnamed_addr constant [12 x i8] c"bigint_from\00" @.str8109 = private unnamed_addr constant [6 x i8] c"value\00" @.str8110 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8111 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00" @.str8112 = private unnamed_addr constant [5 x i8] c"text\00" @.str8113 = private unnamed_addr constant [4 x i8] c"add\00" @.str8114 = private unnamed_addr constant [11 x i8] c"bigint_add\00" @.str8115 = private unnamed_addr constant [2 x i8] c"a\00" @.str8116 = private unnamed_addr constant [2 x i8] c"b\00" @.str8117 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8118 = private unnamed_addr constant [11 x i8] c"bigint_sub\00" @.str8119 = private unnamed_addr constant [2 x i8] c"a\00" @.str8120 = private unnamed_addr constant [2 x i8] c"b\00" @.str8121 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8122 = private unnamed_addr constant [11 x i8] c"bigint_mul\00" @.str8123 = private unnamed_addr constant [2 x i8] c"a\00" @.str8124 = private unnamed_addr constant [2 x i8] c"b\00" @.str8125 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8126 = private unnamed_addr constant [11 x i8] c"bigint_neg\00" @.str8127 = private unnamed_addr constant [2 x i8] c"a\00" @.str8128 = private unnamed_addr constant [4 x i8] c"pow\00" @.str8129 = private unnamed_addr constant [11 x i8] c"bigint_pow\00" @.str8130 = private unnamed_addr constant [2 x i8] c"a\00" @.str8131 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8132 = private unnamed_addr constant [4 x i8] c"div\00" @.str8133 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00" @.str8134 = private unnamed_addr constant [2 x i8] c"a\00" @.str8135 = private unnamed_addr constant [2 x i8] c"d\00" @.str8136 = private unnamed_addr constant [4 x i8] c"mod\00" @.str8137 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00" @.str8138 = private unnamed_addr constant [2 x i8] c"a\00" @.str8139 = private unnamed_addr constant [2 x i8] c"d\00" @.str8140 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8141 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00" @.str8142 = private unnamed_addr constant [2 x i8] c"a\00" @.str8143 = private unnamed_addr constant [2 x i8] c"b\00" @.str8144 = private unnamed_addr constant [3 x i8] c"eq\00" @.str8145 = private unnamed_addr constant [10 x i8] c"bigint_eq\00" @.str8146 = private unnamed_addr constant [2 x i8] c"a\00" @.str8147 = private unnamed_addr constant [2 x i8] c"b\00" @.str8148 = private unnamed_addr constant [8 x i8] c"is_zero\00" @.str8149 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00" @.str8150 = private unnamed_addr constant [2 x i8] c"a\00" @.str8151 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str8152 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00" @.str8153 = private unnamed_addr constant [2 x i8] c"a\00" @.str8154 = private unnamed_addr constant [4 x i8] c"str\00" @.str8155 = private unnamed_addr constant [11 x i8] c"bigint_str\00" @.str8156 = private unnamed_addr constant [2 x i8] c"a\00" @.str8157 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str8158 = private unnamed_addr constant [5 x i8] c"from\00" @.str8159 = private unnamed_addr constant [13 x i8] c"decimal_from\00" @.str8160 = private unnamed_addr constant [6 x i8] c"value\00" @.str8161 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8162 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00" @.str8163 = private unnamed_addr constant [5 x i8] c"text\00" @.str8164 = private unnamed_addr constant [4 x i8] c"add\00" @.str8165 = private unnamed_addr constant [12 x i8] c"decimal_add\00" @.str8166 = private unnamed_addr constant [2 x i8] c"a\00" @.str8167 = private unnamed_addr constant [2 x i8] c"b\00" @.str8168 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8169 = private unnamed_addr constant [12 x i8] c"decimal_sub\00" @.str8170 = private unnamed_addr constant [2 x i8] c"a\00" @.str8171 = private unnamed_addr constant [2 x i8] c"b\00" @.str8172 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8173 = private unnamed_addr constant [12 x i8] c"decimal_mul\00" @.str8174 = private unnamed_addr constant [2 x i8] c"a\00" @.str8175 = private unnamed_addr constant [2 x i8] c"b\00" @.str8176 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8177 = private unnamed_addr constant [12 x i8] c"decimal_neg\00" @.str8178 = private unnamed_addr constant [2 x i8] c"a\00" @.str8179 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8180 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00" @.str8181 = private unnamed_addr constant [2 x i8] c"a\00" @.str8182 = private unnamed_addr constant [2 x i8] c"b\00" @.str8183 = private unnamed_addr constant [3 x i8] c"eq\00" @.str8184 = private unnamed_addr constant [11 x i8] c"decimal_eq\00" @.str8185 = private unnamed_addr constant [2 x i8] c"a\00" @.str8186 = private unnamed_addr constant [2 x i8] c"b\00" @.str8187 = private unnamed_addr constant [6 x i8] c"scale\00" @.str8188 = private unnamed_addr constant [14 x i8] c"decimal_scale\00" @.str8189 = private unnamed_addr constant [2 x i8] c"d\00" @.str8190 = private unnamed_addr constant [8 x i8] c"rescale\00" @.str8191 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00" @.str8192 = private unnamed_addr constant [2 x i8] c"d\00" @.str8193 = private unnamed_addr constant [7 x i8] c"places\00" @.str8194 = private unnamed_addr constant [4 x i8] c"str\00" @.str8195 = private unnamed_addr constant [12 x i8] c"decimal_str\00" @.str8196 = private unnamed_addr constant [2 x i8] c"d\00" @.str8197 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str8198 = private unnamed_addr constant [4 x i8] c"new\00" @.str8199 = private unnamed_addr constant [9 x i8] c"dict_new\00" @.str8200 = private unnamed_addr constant [4 x i8] c"set\00" @.str8201 = private unnamed_addr constant [9 x i8] c"dict_set\00" @.str8202 = private unnamed_addr constant [2 x i8] c"d\00" @.str8203 = private unnamed_addr constant [4 x i8] c"key\00" @.str8204 = private unnamed_addr constant [6 x i8] c"value\00" @.str8205 = private unnamed_addr constant [4 x i8] c"get\00" @.str8206 = private unnamed_addr constant [9 x i8] c"dict_get\00" @.str8207 = private unnamed_addr constant [2 x i8] c"d\00" @.str8208 = private unnamed_addr constant [4 x i8] c"key\00" @.str8209 = private unnamed_addr constant [7 x i8] c"get_or\00" @.str8210 = private unnamed_addr constant [12 x i8] c"dict_get_or\00" @.str8211 = private unnamed_addr constant [2 x i8] c"d\00" @.str8212 = private unnamed_addr constant [4 x i8] c"key\00" @.str8213 = private unnamed_addr constant [9 x i8] c"fallback\00" @.str8214 = private unnamed_addr constant [4 x i8] c"has\00" @.str8215 = private unnamed_addr constant [9 x i8] c"dict_has\00" @.str8216 = private unnamed_addr constant [2 x i8] c"d\00" @.str8217 = private unnamed_addr constant [4 x i8] c"key\00" @.str8218 = private unnamed_addr constant [7 x i8] c"remove\00" @.str8219 = private unnamed_addr constant [12 x i8] c"dict_remove\00" @.str8220 = private unnamed_addr constant [2 x i8] c"d\00" @.str8221 = private unnamed_addr constant [4 x i8] c"key\00" @.str8222 = private unnamed_addr constant [5 x i8] c"size\00" @.str8223 = private unnamed_addr constant [10 x i8] c"dict_size\00" @.str8224 = private unnamed_addr constant [2 x i8] c"d\00" @.str8225 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8226 = private unnamed_addr constant [11 x i8] c"dict_clear\00" @.str8227 = private unnamed_addr constant [2 x i8] c"d\00" @.str8228 = private unnamed_addr constant [5 x i8] c"keys\00" @.str8229 = private unnamed_addr constant [10 x i8] c"dict_keys\00" @.str8230 = private unnamed_addr constant [2 x i8] c"d\00" @.str8231 = private unnamed_addr constant [4 x i8] c"Set\00" @.str8232 = private unnamed_addr constant [4 x i8] c"new\00" @.str8233 = private unnamed_addr constant [8 x i8] c"set_new\00" @.str8234 = private unnamed_addr constant [4 x i8] c"add\00" @.str8235 = private unnamed_addr constant [8 x i8] c"set_add\00" @.str8236 = private unnamed_addr constant [2 x i8] c"s\00" @.str8237 = private unnamed_addr constant [4 x i8] c"key\00" @.str8238 = private unnamed_addr constant [4 x i8] c"has\00" @.str8239 = private unnamed_addr constant [8 x i8] c"set_has\00" @.str8240 = private unnamed_addr constant [2 x i8] c"s\00" @.str8241 = private unnamed_addr constant [4 x i8] c"key\00" @.str8242 = private unnamed_addr constant [7 x i8] c"remove\00" @.str8243 = private unnamed_addr constant [11 x i8] c"set_remove\00" @.str8244 = private unnamed_addr constant [2 x i8] c"s\00" @.str8245 = private unnamed_addr constant [4 x i8] c"key\00" @.str8246 = private unnamed_addr constant [5 x i8] c"size\00" @.str8247 = private unnamed_addr constant [9 x i8] c"set_size\00" @.str8248 = private unnamed_addr constant [2 x i8] c"s\00" @.str8249 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8250 = private unnamed_addr constant [10 x i8] c"set_clear\00" @.str8251 = private unnamed_addr constant [2 x i8] c"s\00" @.str8252 = private unnamed_addr constant [8 x i8] c"members\00" @.str8253 = private unnamed_addr constant [12 x i8] c"set_members\00" @.str8254 = private unnamed_addr constant [2 x i8] c"s\00" @.str8255 = private unnamed_addr constant [4 x i8] c"Job\00" @.str8256 = private unnamed_addr constant [6 x i8] c"defer\00" @.str8257 = private unnamed_addr constant [10 x i8] c"job_defer\00" @.str8258 = private unnamed_addr constant [4 x i8] c"run\00" @.str8259 = private unnamed_addr constant [8 x i8] c"job_run\00" @.str8260 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8261 = private unnamed_addr constant [4 x i8] c"arg\00" @.str8262 = private unnamed_addr constant [8 x i8] c"fulfill\00" @.str8263 = private unnamed_addr constant [12 x i8] c"job_fulfill\00" @.str8264 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8265 = private unnamed_addr constant [6 x i8] c"value\00" @.str8266 = private unnamed_addr constant [5 x i8] c"fail\00" @.str8267 = private unnamed_addr constant [9 x i8] c"job_fail\00" @.str8268 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8269 = private unnamed_addr constant [6 x i8] c"error\00" @.str8270 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str8271 = private unnamed_addr constant [11 x i8] c"job_cancel\00" @.str8272 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8273 = private unnamed_addr constant [5 x i8] c"pump\00" @.str8274 = private unnamed_addr constant [9 x i8] c"job_pump\00" @.str8275 = private unnamed_addr constant [7 x i8] c"budget\00" @.str8276 = private unnamed_addr constant [5 x i8] c"done\00" @.str8277 = private unnamed_addr constant [9 x i8] c"job_done\00" @.str8278 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8279 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8280 = private unnamed_addr constant [7 x i8] c"job_ok\00" @.str8281 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8282 = private unnamed_addr constant [7 x i8] c"failed\00" @.str8283 = private unnamed_addr constant [11 x i8] c"job_failed\00" @.str8284 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8285 = private unnamed_addr constant [10 x i8] c"cancelled\00" @.str8286 = private unnamed_addr constant [14 x i8] c"job_cancelled\00" @.str8287 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8288 = private unnamed_addr constant [7 x i8] c"result\00" @.str8289 = private unnamed_addr constant [11 x i8] c"job_result\00" @.str8290 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8291 = private unnamed_addr constant [6 x i8] c"error\00" @.str8292 = private unnamed_addr constant [10 x i8] c"job_error\00" @.str8293 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8294 = private unnamed_addr constant [8 x i8] c"pending\00" @.str8295 = private unnamed_addr constant [12 x i8] c"job_pending\00" @.str8296 = private unnamed_addr constant [5 x i8] c"free\00" @.str8297 = private unnamed_addr constant [9 x i8] c"job_free\00" @.str8298 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8299 = private unnamed_addr constant [13 x i8] c"parallel_for\00" @.str8300 = private unnamed_addr constant [17 x i8] c"job_parallel_for\00" @.str8301 = private unnamed_addr constant [6 x i8] c"count\00" @.str8302 = private unnamed_addr constant [5 x i8] c"work\00" @.str8303 = private unnamed_addr constant [4 x i8] c"ctx\00" @.str8304 = private unnamed_addr constant [10 x i8] c"is_worker\00" @.str8305 = private unnamed_addr constant [14 x i8] c"job_is_worker\00" @.str8306 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str8307 = private unnamed_addr constant [4 x i8] c"all\00" @.str8308 = private unnamed_addr constant [9 x i8] c"prom_all\00" @.str8309 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8310 = private unnamed_addr constant [5 x i8] c"race\00" @.str8311 = private unnamed_addr constant [10 x i8] c"prom_race\00" @.str8312 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8313 = private unnamed_addr constant [11 x i8] c"count_done\00" @.str8314 = private unnamed_addr constant [16 x i8] c"prom_count_done\00" @.str8315 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8316 = private unnamed_addr constant [9 x i8] c"all_done\00" @.str8317 = private unnamed_addr constant [14 x i8] c"prom_all_done\00" @.str8318 = private unnamed_addr constant [8 x i8] c"handles\00" @.str8319 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str8320 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8321 = private unnamed_addr constant [11 x i8] c"sync_mutex\00" @.str8322 = private unnamed_addr constant [5 x i8] c"lock\00" @.str8323 = private unnamed_addr constant [10 x i8] c"sync_lock\00" @.str8324 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8325 = private unnamed_addr constant [7 x i8] c"unlock\00" @.str8326 = private unnamed_addr constant [12 x i8] c"sync_unlock\00" @.str8327 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8328 = private unnamed_addr constant [9 x i8] c"try_lock\00" @.str8329 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00" @.str8330 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str8331 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8332 = private unnamed_addr constant [12 x i8] c"sync_atomic\00" @.str8333 = private unnamed_addr constant [4 x i8] c"get\00" @.str8334 = private unnamed_addr constant [9 x i8] c"sync_get\00" @.str8335 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8336 = private unnamed_addr constant [4 x i8] c"set\00" @.str8337 = private unnamed_addr constant [9 x i8] c"sync_set\00" @.str8338 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8339 = private unnamed_addr constant [6 x i8] c"value\00" @.str8340 = private unnamed_addr constant [4 x i8] c"add\00" @.str8341 = private unnamed_addr constant [9 x i8] c"sync_add\00" @.str8342 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8343 = private unnamed_addr constant [6 x i8] c"delta\00" @.str8344 = private unnamed_addr constant [4 x i8] c"cas\00" @.str8345 = private unnamed_addr constant [9 x i8] c"sync_cas\00" @.str8346 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str8347 = private unnamed_addr constant [7 x i8] c"expect\00" @.str8348 = private unnamed_addr constant [5 x i8] c"next\00" @.str8349 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8350 = private unnamed_addr constant [13 x i8] c"sync_channel\00" @.str8351 = private unnamed_addr constant [5 x i8] c"send\00" @.str8352 = private unnamed_addr constant [10 x i8] c"sync_send\00" @.str8353 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8354 = private unnamed_addr constant [6 x i8] c"value\00" @.str8355 = private unnamed_addr constant [5 x i8] c"recv\00" @.str8356 = private unnamed_addr constant [10 x i8] c"sync_recv\00" @.str8357 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8358 = private unnamed_addr constant [9 x i8] c"can_recv\00" @.str8359 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00" @.str8360 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8361 = private unnamed_addr constant [4 x i8] c"len\00" @.str8362 = private unnamed_addr constant [9 x i8] c"sync_len\00" @.str8363 = private unnamed_addr constant [8 x i8] c"channel\00" @.str8364 = private unnamed_addr constant [10 x i8] c"cpu_count\00" @.str8365 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00" @.str8366 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str8367 = private unnamed_addr constant [5 x i8] c"from\00" @.str8368 = private unnamed_addr constant [10 x i8] c"huge_from\00" @.str8369 = private unnamed_addr constant [6 x i8] c"value\00" @.str8370 = private unnamed_addr constant [4 x i8] c"add\00" @.str8371 = private unnamed_addr constant [9 x i8] c"huge_add\00" @.str8372 = private unnamed_addr constant [2 x i8] c"a\00" @.str8373 = private unnamed_addr constant [2 x i8] c"b\00" @.str8374 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8375 = private unnamed_addr constant [9 x i8] c"huge_sub\00" @.str8376 = private unnamed_addr constant [2 x i8] c"a\00" @.str8377 = private unnamed_addr constant [2 x i8] c"b\00" @.str8378 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8379 = private unnamed_addr constant [9 x i8] c"huge_mul\00" @.str8380 = private unnamed_addr constant [2 x i8] c"a\00" @.str8381 = private unnamed_addr constant [2 x i8] c"b\00" @.str8382 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8383 = private unnamed_addr constant [9 x i8] c"huge_neg\00" @.str8384 = private unnamed_addr constant [2 x i8] c"a\00" @.str8385 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8386 = private unnamed_addr constant [9 x i8] c"huge_cmp\00" @.str8387 = private unnamed_addr constant [2 x i8] c"a\00" @.str8388 = private unnamed_addr constant [2 x i8] c"b\00" @.str8389 = private unnamed_addr constant [5 x i8] c"sign\00" @.str8390 = private unnamed_addr constant [10 x i8] c"huge_sign\00" @.str8391 = private unnamed_addr constant [2 x i8] c"a\00" @.str8392 = private unnamed_addr constant [9 x i8] c"mantissa\00" @.str8393 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00" @.str8394 = private unnamed_addr constant [2 x i8] c"a\00" @.str8395 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8396 = private unnamed_addr constant [9 x i8] c"huge_exp\00" @.str8397 = private unnamed_addr constant [2 x i8] c"a\00" @.str8398 = private unnamed_addr constant [4 x i8] c"str\00" @.str8399 = private unnamed_addr constant [9 x i8] c"huge_str\00" @.str8400 = private unnamed_addr constant [2 x i8] c"a\00" @.str8401 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str8402 = private unnamed_addr constant [13 x i8] c"from_degrees\00" @.str8403 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00" @.str8404 = private unnamed_addr constant [2 x i8] c"d\00" @.str8405 = private unnamed_addr constant [11 x i8] c"to_degrees\00" @.str8406 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00" @.str8407 = private unnamed_addr constant [2 x i8] c"a\00" @.str8408 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str8409 = private unnamed_addr constant [11 x i8] c"angle_wrap\00" @.str8410 = private unnamed_addr constant [2 x i8] c"a\00" @.str8411 = private unnamed_addr constant [4 x i8] c"sin\00" @.str8412 = private unnamed_addr constant [10 x i8] c"angle_sin\00" @.str8413 = private unnamed_addr constant [2 x i8] c"a\00" @.str8414 = private unnamed_addr constant [4 x i8] c"cos\00" @.str8415 = private unnamed_addr constant [10 x i8] c"angle_cos\00" @.str8416 = private unnamed_addr constant [2 x i8] c"a\00" @.str8417 = private unnamed_addr constant [4 x i8] c"add\00" @.str8418 = private unnamed_addr constant [10 x i8] c"angle_add\00" @.str8419 = private unnamed_addr constant [2 x i8] c"a\00" @.str8420 = private unnamed_addr constant [2 x i8] c"b\00" @.str8421 = private unnamed_addr constant [5 x i8] c"diff\00" @.str8422 = private unnamed_addr constant [11 x i8] c"angle_diff\00" @.str8423 = private unnamed_addr constant [2 x i8] c"a\00" @.str8424 = private unnamed_addr constant [2 x i8] c"b\00" @.str8425 = private unnamed_addr constant [13 x i8] c"diff_degrees\00" @.str8426 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00" @.str8427 = private unnamed_addr constant [2 x i8] c"a\00" @.str8428 = private unnamed_addr constant [2 x i8] c"b\00" @.str8429 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8430 = private unnamed_addr constant [11 x i8] c"angle_lerp\00" @.str8431 = private unnamed_addr constant [2 x i8] c"a\00" @.str8432 = private unnamed_addr constant [2 x i8] c"b\00" @.str8433 = private unnamed_addr constant [2 x i8] c"t\00" @.str8434 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str8435 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str8436 = private unnamed_addr constant [14 x i8] c"percent_clamp\00" @.str8437 = private unnamed_addr constant [2 x i8] c"v\00" @.str8438 = private unnamed_addr constant [3 x i8] c"of\00" @.str8439 = private unnamed_addr constant [11 x i8] c"percent_of\00" @.str8440 = private unnamed_addr constant [4 x i8] c"num\00" @.str8441 = private unnamed_addr constant [4 x i8] c"den\00" @.str8442 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8443 = private unnamed_addr constant [13 x i8] c"percent_lerp\00" @.str8444 = private unnamed_addr constant [2 x i8] c"a\00" @.str8445 = private unnamed_addr constant [2 x i8] c"b\00" @.str8446 = private unnamed_addr constant [2 x i8] c"t\00" @.str8447 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8448 = private unnamed_addr constant [14 x i8] c"percent_apply\00" @.str8449 = private unnamed_addr constant [6 x i8] c"value\00" @.str8450 = private unnamed_addr constant [2 x i8] c"p\00" @.str8451 = private unnamed_addr constant [5 x i8] c"Grid\00" @.str8452 = private unnamed_addr constant [5 x i8] c"line\00" @.str8453 = private unnamed_addr constant [10 x i8] c"grid_line\00" @.str8454 = private unnamed_addr constant [3 x i8] c"x0\00" @.str8455 = private unnamed_addr constant [3 x i8] c"y0\00" @.str8456 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8457 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8458 = private unnamed_addr constant [8 x i8] c"blocked\00" @.str8459 = private unnamed_addr constant [13 x i8] c"grid_blocked\00" @.str8460 = private unnamed_addr constant [2 x i8] c"x\00" @.str8461 = private unnamed_addr constant [2 x i8] c"y\00" @.str8462 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8463 = private unnamed_addr constant [14 x i8] c"line_of_sight\00" @.str8464 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00" @.str8465 = private unnamed_addr constant [3 x i8] c"x0\00" @.str8466 = private unnamed_addr constant [3 x i8] c"y0\00" @.str8467 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8468 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8469 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8470 = private unnamed_addr constant [6 x i8] c"flood\00" @.str8471 = private unnamed_addr constant [11 x i8] c"grid_flood\00" @.str8472 = private unnamed_addr constant [2 x i8] c"x\00" @.str8473 = private unnamed_addr constant [2 x i8] c"y\00" @.str8474 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8475 = private unnamed_addr constant [7 x i8] c"a_star\00" @.str8476 = private unnamed_addr constant [12 x i8] c"path_a_star\00" @.str8477 = private unnamed_addr constant [3 x i8] c"x0\00" @.str8478 = private unnamed_addr constant [3 x i8] c"y0\00" @.str8479 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8480 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8481 = private unnamed_addr constant [5 x i8] c"wall\00" @.str8482 = private unnamed_addr constant [6 x i8] c"Light\00" @.str8483 = private unnamed_addr constant [8 x i8] c"ambient\00" @.str8484 = private unnamed_addr constant [14 x i8] c"light_ambient\00" @.str8485 = private unnamed_addr constant [6 x i8] c"color\00" @.str8486 = private unnamed_addr constant [6 x i8] c"point\00" @.str8487 = private unnamed_addr constant [12 x i8] c"light_point\00" @.str8488 = private unnamed_addr constant [2 x i8] c"x\00" @.str8489 = private unnamed_addr constant [2 x i8] c"y\00" @.str8490 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8491 = private unnamed_addr constant [6 x i8] c"color\00" @.str8492 = private unnamed_addr constant [7 x i8] c"energy\00" @.str8493 = private unnamed_addr constant [5 x i8] c"spot\00" @.str8494 = private unnamed_addr constant [11 x i8] c"light_spot\00" @.str8495 = private unnamed_addr constant [2 x i8] c"x\00" @.str8496 = private unnamed_addr constant [2 x i8] c"y\00" @.str8497 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8498 = private unnamed_addr constant [6 x i8] c"color\00" @.str8499 = private unnamed_addr constant [7 x i8] c"energy\00" @.str8500 = private unnamed_addr constant [10 x i8] c"direction\00" @.str8501 = private unnamed_addr constant [7 x i8] c"spread\00" @.str8502 = private unnamed_addr constant [8 x i8] c"occlude\00" @.str8503 = private unnamed_addr constant [14 x i8] c"light_occlude\00" @.str8504 = private unnamed_addr constant [2 x i8] c"x\00" @.str8505 = private unnamed_addr constant [2 x i8] c"y\00" @.str8506 = private unnamed_addr constant [6 x i8] c"width\00" @.str8507 = private unnamed_addr constant [7 x i8] c"height\00" @.str8508 = private unnamed_addr constant [16 x i8] c"clear_occluders\00" @.str8509 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00" @.str8510 = private unnamed_addr constant [8 x i8] c"falloff\00" @.str8511 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00" @.str8512 = private unnamed_addr constant [9 x i8] c"exponent\00" @.str8513 = private unnamed_addr constant [5 x i8] c"soft\00" @.str8514 = private unnamed_addr constant [15 x i8] c"light_set_soft\00" @.str8515 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8516 = private unnamed_addr constant [4 x i8] c"gel\00" @.str8517 = private unnamed_addr constant [14 x i8] c"light_set_gel\00" @.str8518 = private unnamed_addr constant [6 x i8] c"color\00" @.str8519 = private unnamed_addr constant [10 x i8] c"clear_gel\00" @.str8520 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00" @.str8521 = private unnamed_addr constant [7 x i8] c"height\00" @.str8522 = private unnamed_addr constant [17 x i8] c"light_set_height\00" @.str8523 = private unnamed_addr constant [7 x i8] c"height\00" @.str8524 = private unnamed_addr constant [7 x i8] c"normal\00" @.str8525 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00" @.str8526 = private unnamed_addr constant [2 x i8] c"x\00" @.str8527 = private unnamed_addr constant [2 x i8] c"y\00" @.str8528 = private unnamed_addr constant [6 x i8] c"width\00" @.str8529 = private unnamed_addr constant [7 x i8] c"height\00" @.str8530 = private unnamed_addr constant [3 x i8] c"nx\00" @.str8531 = private unnamed_addr constant [3 x i8] c"ny\00" @.str8532 = private unnamed_addr constant [14 x i8] c"clear_normals\00" @.str8533 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00" @.str8534 = private unnamed_addr constant [12 x i8] c"time_of_day\00" @.str8535 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00" @.str8536 = private unnamed_addr constant [2 x i8] c"t\00" @.str8537 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str8538 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8539 = private unnamed_addr constant [10 x i8] c"anim_clip\00" @.str8540 = private unnamed_addr constant [5 x i8] c"name\00" @.str8541 = private unnamed_addr constant [7 x i8] c"frames\00" @.str8542 = private unnamed_addr constant [4 x i8] c"fps\00" @.str8543 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8544 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str8545 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" @.str8546 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8547 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8548 = private unnamed_addr constant [6 x i8] c"fired\00" @.str8549 = private unnamed_addr constant [11 x i8] c"anim_fired\00" @.str8550 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8551 = private unnamed_addr constant [5 x i8] c"play\00" @.str8552 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" @.str8553 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8554 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8555 = private unnamed_addr constant [10 x i8] c"anim_play\00" @.str8556 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8557 = private unnamed_addr constant [4 x i8] c"fps\00" @.str8558 = private unnamed_addr constant [7 x i8] c"frames\00" @.str8559 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8560 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str8561 = private unnamed_addr constant [3 x i8] c"to\00" @.str8562 = private unnamed_addr constant [10 x i8] c"motion_to\00" @.str8563 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8564 = private unnamed_addr constant [5 x i8] c"from\00" @.str8565 = private unnamed_addr constant [3 x i8] c"to\00" @.str8566 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8567 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8568 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str8569 = private unnamed_addr constant [3 x i8] c"to\00" @.str8570 = private unnamed_addr constant [9 x i8] c"tween_to\00" @.str8571 = private unnamed_addr constant [5 x i8] c"from\00" @.str8572 = private unnamed_addr constant [3 x i8] c"to\00" @.str8573 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8574 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8575 = private unnamed_addr constant [6 x i8] c"chain\00" @.str8576 = private unnamed_addr constant [12 x i8] c"tween_chain\00" @.str8577 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8578 = private unnamed_addr constant [3 x i8] c"to\00" @.str8579 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8580 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8581 = private unnamed_addr constant [6 x i8] c"delay\00" @.str8582 = private unnamed_addr constant [12 x i8] c"tween_delay\00" @.str8583 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8584 = private unnamed_addr constant [6 x i8] c"ticks\00" @.str8585 = private unnamed_addr constant [6 x i8] c"value\00" @.str8586 = private unnamed_addr constant [12 x i8] c"tween_value\00" @.str8587 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8588 = private unnamed_addr constant [5 x i8] c"stop\00" @.str8589 = private unnamed_addr constant [11 x i8] c"tween_stop\00" @.str8590 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8591 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str8592 = private unnamed_addr constant [15 x i8] c"tween_parallel\00" @.str8593 = private unnamed_addr constant [2 x i8] c"a\00" @.str8594 = private unnamed_addr constant [2 x i8] c"b\00" @.str8595 = private unnamed_addr constant [6 x i8] c"Query\00" @.str8596 = private unnamed_addr constant [6 x i8] c"count\00" @.str8597 = private unnamed_addr constant [12 x i8] c"query_count\00" @.str8598 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8599 = private unnamed_addr constant [6 x i8] c"first\00" @.str8600 = private unnamed_addr constant [12 x i8] c"query_first\00" @.str8601 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8602 = private unnamed_addr constant [8 x i8] c"nearest\00" @.str8603 = private unnamed_addr constant [14 x i8] c"query_nearest\00" @.str8604 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8605 = private unnamed_addr constant [4 x i8] c"pos\00" @.str8606 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str8607 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str8608 = private unnamed_addr constant [2 x i8] c"x\00" @.str8609 = private unnamed_addr constant [2 x i8] c"y\00" @.str8610 = private unnamed_addr constant [7 x i8] c"within\00" @.str8611 = private unnamed_addr constant [13 x i8] c"query_within\00" @.str8612 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8613 = private unnamed_addr constant [4 x i8] c"pos\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 [7 x i8] c"radius\00" @.str8617 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str8618 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str8619 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str8620 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8621 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8622 = private unnamed_addr constant [5 x i8] c"name\00" @.str8623 = private unnamed_addr constant [6 x i8] c"field\00" @.str8624 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8625 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8626 = private unnamed_addr constant [5 x i8] c"name\00" @.str8627 = private unnamed_addr constant [11 x i8] c"prop_count\00" @.str8628 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str8629 = private unnamed_addr constant [10 x i8] c"prop_name\00" @.str8630 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str8631 = private unnamed_addr constant [6 x i8] c"index\00" @.str8632 = private unnamed_addr constant [12 x i8] c"field_count\00" @.str8633 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str8634 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8635 = private unnamed_addr constant [11 x i8] c"field_name\00" @.str8636 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str8637 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8638 = private unnamed_addr constant [6 x i8] c"index\00" @.str8639 = private unnamed_addr constant [11 x i8] c"field_type\00" @.str8640 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str8641 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8642 = private unnamed_addr constant [6 x i8] c"index\00" @.str8643 = private unnamed_addr constant [4 x i8] c"get\00" @.str8644 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str8645 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8646 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8647 = private unnamed_addr constant [6 x i8] c"field\00" @.str8648 = private unnamed_addr constant [4 x i8] c"set\00" @.str8649 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str8650 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8651 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8652 = private unnamed_addr constant [6 x i8] c"field\00" @.str8653 = private unnamed_addr constant [6 x i8] c"value\00" @.str8654 = private unnamed_addr constant [4 x i8] c"has\00" @.str8655 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str8656 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8657 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8658 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8659 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8660 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8661 = private unnamed_addr constant [6 x i8] c"model\00" @.str8662 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8663 = private unnamed_addr constant [5 x i8] c"name\00" @.str8664 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8665 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00" @.str8666 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8667 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8668 = private unnamed_addr constant [14 x i8] c"reflect_apply\00" @.str8669 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8670 = private unnamed_addr constant [6 x i8] c"value\00" @.str8671 = private unnamed_addr constant [6 x i8] c"Value\00" @.str8672 = private unnamed_addr constant [5 x i8] c"null\00" @.str8673 = private unnamed_addr constant [11 x i8] c"value_null\00" @.str8674 = private unnamed_addr constant [4 x i8] c"int\00" @.str8675 = private unnamed_addr constant [10 x i8] c"value_int\00" @.str8676 = private unnamed_addr constant [2 x i8] c"n\00" @.str8677 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8678 = private unnamed_addr constant [12 x i8] c"value_fixed\00" @.str8679 = private unnamed_addr constant [2 x i8] c"f\00" @.str8680 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8681 = private unnamed_addr constant [11 x i8] c"value_bool\00" @.str8682 = private unnamed_addr constant [2 x i8] c"b\00" @.str8683 = private unnamed_addr constant [4 x i8] c"str\00" @.str8684 = private unnamed_addr constant [10 x i8] c"value_str\00" @.str8685 = private unnamed_addr constant [2 x i8] c"s\00" @.str8686 = private unnamed_addr constant [5 x i8] c"list\00" @.str8687 = private unnamed_addr constant [11 x i8] c"value_list\00" @.str8688 = private unnamed_addr constant [7 x i8] c"object\00" @.str8689 = private unnamed_addr constant [13 x i8] c"value_object\00" @.str8690 = private unnamed_addr constant [4 x i8] c"add\00" @.str8691 = private unnamed_addr constant [10 x i8] c"value_add\00" @.str8692 = private unnamed_addr constant [5 x i8] c"list\00" @.str8693 = private unnamed_addr constant [5 x i8] c"item\00" @.str8694 = private unnamed_addr constant [4 x i8] c"put\00" @.str8695 = private unnamed_addr constant [10 x i8] c"value_put\00" @.str8696 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8697 = private unnamed_addr constant [4 x i8] c"key\00" @.str8698 = private unnamed_addr constant [5 x i8] c"item\00" @.str8699 = private unnamed_addr constant [4 x i8] c"get\00" @.str8700 = private unnamed_addr constant [10 x i8] c"value_get\00" @.str8701 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8702 = private unnamed_addr constant [4 x i8] c"key\00" @.str8703 = private unnamed_addr constant [4 x i8] c"has\00" @.str8704 = private unnamed_addr constant [10 x i8] c"value_has\00" @.str8705 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8706 = private unnamed_addr constant [4 x i8] c"key\00" @.str8707 = private unnamed_addr constant [3 x i8] c"at\00" @.str8708 = private unnamed_addr constant [9 x i8] c"value_at\00" @.str8709 = private unnamed_addr constant [5 x i8] c"list\00" @.str8710 = private unnamed_addr constant [6 x i8] c"index\00" @.str8711 = private unnamed_addr constant [7 x i8] c"key_at\00" @.str8712 = private unnamed_addr constant [13 x i8] c"value_key_at\00" @.str8713 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8714 = private unnamed_addr constant [6 x i8] c"index\00" @.str8715 = private unnamed_addr constant [6 x i8] c"count\00" @.str8716 = private unnamed_addr constant [12 x i8] c"value_count\00" @.str8717 = private unnamed_addr constant [6 x i8] c"value\00" @.str8718 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8719 = private unnamed_addr constant [11 x i8] c"value_kind\00" @.str8720 = private unnamed_addr constant [6 x i8] c"value\00" @.str8721 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str8722 = private unnamed_addr constant [13 x i8] c"value_as_int\00" @.str8723 = private unnamed_addr constant [6 x i8] c"value\00" @.str8724 = private unnamed_addr constant [7 x i8] c"as_str\00" @.str8725 = private unnamed_addr constant [13 x i8] c"value_as_str\00" @.str8726 = private unnamed_addr constant [6 x i8] c"value\00" @.str8727 = private unnamed_addr constant [5 x i8] c"Json\00" @.str8728 = private unnamed_addr constant [7 x i8] c"encode\00" @.str8729 = private unnamed_addr constant [12 x i8] c"json_encode\00" @.str8730 = private unnamed_addr constant [6 x i8] c"value\00" @.str8731 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8732 = private unnamed_addr constant [11 x i8] c"json_parse\00" @.str8733 = private unnamed_addr constant [5 x i8] c"text\00" @.str8734 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str8735 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8736 = private unnamed_addr constant [10 x i8] c"xml_parse\00" @.str8737 = private unnamed_addr constant [5 x i8] c"text\00" @.str8738 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8739 = private unnamed_addr constant [8 x i8] c"xml_tag\00" @.str8740 = private unnamed_addr constant [5 x i8] c"node\00" @.str8741 = private unnamed_addr constant [5 x i8] c"text\00" @.str8742 = private unnamed_addr constant [9 x i8] c"xml_text\00" @.str8743 = private unnamed_addr constant [5 x i8] c"node\00" @.str8744 = private unnamed_addr constant [5 x i8] c"attr\00" @.str8745 = private unnamed_addr constant [9 x i8] c"xml_attr\00" @.str8746 = private unnamed_addr constant [5 x i8] c"node\00" @.str8747 = private unnamed_addr constant [4 x i8] c"key\00" @.str8748 = private unnamed_addr constant [9 x i8] c"attr_int\00" @.str8749 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00" @.str8750 = private unnamed_addr constant [5 x i8] c"node\00" @.str8751 = private unnamed_addr constant [4 x i8] c"key\00" @.str8752 = private unnamed_addr constant [5 x i8] c"dflt\00" @.str8753 = private unnamed_addr constant [4 x i8] c"has\00" @.str8754 = private unnamed_addr constant [8 x i8] c"xml_has\00" @.str8755 = private unnamed_addr constant [5 x i8] c"node\00" @.str8756 = private unnamed_addr constant [4 x i8] c"key\00" @.str8757 = private unnamed_addr constant [11 x i8] c"attr_count\00" @.str8758 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00" @.str8759 = private unnamed_addr constant [5 x i8] c"node\00" @.str8760 = private unnamed_addr constant [12 x i8] c"child_count\00" @.str8761 = private unnamed_addr constant [16 x i8] c"xml_child_count\00" @.str8762 = private unnamed_addr constant [5 x i8] c"node\00" @.str8763 = private unnamed_addr constant [6 x i8] c"child\00" @.str8764 = private unnamed_addr constant [10 x i8] c"xml_child\00" @.str8765 = private unnamed_addr constant [5 x i8] c"node\00" @.str8766 = private unnamed_addr constant [6 x i8] c"index\00" @.str8767 = private unnamed_addr constant [5 x i8] c"find\00" @.str8768 = private unnamed_addr constant [9 x i8] c"xml_find\00" @.str8769 = private unnamed_addr constant [5 x i8] c"node\00" @.str8770 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8771 = private unnamed_addr constant [6 x i8] c"count\00" @.str8772 = private unnamed_addr constant [10 x i8] c"xml_count\00" @.str8773 = private unnamed_addr constant [5 x i8] c"node\00" @.str8774 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8775 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str8776 = private unnamed_addr constant [7 x i8] c"decode\00" @.str8777 = private unnamed_addr constant [14 x i8] c"base64_decode\00" @.str8778 = private unnamed_addr constant [4 x i8] c"src\00" @.str8779 = private unnamed_addr constant [7 x i8] c"encode\00" @.str8780 = private unnamed_addr constant [14 x i8] c"base64_encode\00" @.str8781 = private unnamed_addr constant [4 x i8] c"src\00" @.str8782 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str8783 = private unnamed_addr constant [5 x i8] c"read\00" @.str8784 = private unnamed_addr constant [11 x i8] c"tiled_read\00" @.str8785 = private unnamed_addr constant [5 x i8] c"path\00" @.str8786 = private unnamed_addr constant [9 x i8] c"read_tsx\00" @.str8787 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00" @.str8788 = private unnamed_addr constant [5 x i8] c"path\00" @.str8789 = private unnamed_addr constant [5 x i8] c"load\00" @.str8790 = private unnamed_addr constant [11 x i8] c"tiled_load\00" @.str8791 = private unnamed_addr constant [5 x i8] c"path\00" @.str8792 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8793 = private unnamed_addr constant [9 x i8] c"tmap_gid\00" @.str8794 = private unnamed_addr constant [4 x i8] c"map\00" @.str8795 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8796 = private unnamed_addr constant [2 x i8] c"x\00" @.str8797 = private unnamed_addr constant [2 x i8] c"y\00" @.str8798 = private unnamed_addr constant [8 x i8] c"resolve\00" @.str8799 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00" @.str8800 = private unnamed_addr constant [4 x i8] c"map\00" @.str8801 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8802 = private unnamed_addr constant [6 x i8] c"width\00" @.str8803 = private unnamed_addr constant [11 x i8] c"tmap_width\00" @.str8804 = private unnamed_addr constant [4 x i8] c"map\00" @.str8805 = private unnamed_addr constant [7 x i8] c"height\00" @.str8806 = private unnamed_addr constant [12 x i8] c"tmap_height\00" @.str8807 = private unnamed_addr constant [4 x i8] c"map\00" @.str8808 = private unnamed_addr constant [12 x i8] c"layer_count\00" @.str8809 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00" @.str8810 = private unnamed_addr constant [4 x i8] c"map\00" @.str8811 = private unnamed_addr constant [11 x i8] c"layer_name\00" @.str8812 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00" @.str8813 = private unnamed_addr constant [4 x i8] c"map\00" @.str8814 = private unnamed_addr constant [6 x i8] c"index\00" @.str8815 = private unnamed_addr constant [5 x i8] c"draw\00" @.str8816 = private unnamed_addr constant [10 x i8] c"tmap_draw\00" @.str8817 = private unnamed_addr constant [4 x i8] c"map\00" @.str8818 = private unnamed_addr constant [5 x i8] c"camx\00" @.str8819 = private unnamed_addr constant [5 x i8] c"camy\00" @.str8820 = private unnamed_addr constant [10 x i8] c"draw_anim\00" @.str8821 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00" @.str8822 = private unnamed_addr constant [4 x i8] c"map\00" @.str8823 = private unnamed_addr constant [5 x i8] c"camx\00" @.str8824 = private unnamed_addr constant [5 x i8] c"camy\00" @.str8825 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8826 = private unnamed_addr constant [10 x i8] c"frame_gid\00" @.str8827 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00" @.str8828 = private unnamed_addr constant [4 x i8] c"map\00" @.str8829 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8830 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8831 = private unnamed_addr constant [9 x i8] c"animated\00" @.str8832 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00" @.str8833 = private unnamed_addr constant [4 x i8] c"map\00" @.str8834 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8835 = private unnamed_addr constant [8 x i8] c"project\00" @.str8836 = private unnamed_addr constant [13 x i8] c"tmap_project\00" @.str8837 = private unnamed_addr constant [4 x i8] c"map\00" @.str8838 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8839 = private unnamed_addr constant [8 x i8] c"collide\00" @.str8840 = private unnamed_addr constant [13 x i8] c"tmap_collide\00" @.str8841 = private unnamed_addr constant [4 x i8] c"map\00" @.str8842 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8843 = private unnamed_addr constant [15 x i8] c"collision_kind\00" @.str8844 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00" @.str8845 = private unnamed_addr constant [4 x i8] c"map\00" @.str8846 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8847 = private unnamed_addr constant [5 x i8] c"tree\00" @.str8848 = private unnamed_addr constant [10 x i8] c"tmap_tree\00" @.str8849 = private unnamed_addr constant [4 x i8] c"map\00" @.str8850 = private unnamed_addr constant [10 x i8] c"tile_prop\00" @.str8851 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00" @.str8852 = private unnamed_addr constant [4 x i8] c"map\00" @.str8853 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8854 = private unnamed_addr constant [5 x i8] c"name\00" @.str8855 = private unnamed_addr constant [12 x i8] c"tile_shapes\00" @.str8856 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00" @.str8857 = private unnamed_addr constant [4 x i8] c"map\00" @.str8858 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8859 = private unnamed_addr constant [13 x i8] c"object_count\00" @.str8860 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00" @.str8861 = private unnamed_addr constant [4 x i8] c"map\00" @.str8862 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8863 = private unnamed_addr constant [7 x i8] c"object\00" @.str8864 = private unnamed_addr constant [12 x i8] c"tmap_object\00" @.str8865 = private unnamed_addr constant [4 x i8] c"map\00" @.str8866 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8867 = private unnamed_addr constant [6 x i8] c"index\00" @.str8868 = private unnamed_addr constant [13 x i8] c"object_shape\00" @.str8869 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00" @.str8870 = private unnamed_addr constant [7 x i8] c"object\00" @.str8871 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8872 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00" @.str8873 = private unnamed_addr constant [10 x i8] c"container\00" @.str8874 = private unnamed_addr constant [5 x i8] c"name\00" @.str8875 = private unnamed_addr constant [9 x i8] c"prop_int\00" @.str8876 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00" @.str8877 = private unnamed_addr constant [10 x i8] c"container\00" @.str8878 = private unnamed_addr constant [5 x i8] c"name\00" @.str8879 = private unnamed_addr constant [10 x i8] c"prop_type\00" @.str8880 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00" @.str8881 = private unnamed_addr constant [10 x i8] c"container\00" @.str8882 = private unnamed_addr constant [5 x i8] c"name\00" @.str8883 = private unnamed_addr constant [11 x i8] c"load_types\00" @.str8884 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00" @.str8885 = private unnamed_addr constant [5 x i8] c"path\00" @.str8886 = private unnamed_addr constant [9 x i8] c"template\00" @.str8887 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00" @.str8888 = private unnamed_addr constant [5 x i8] c"path\00" @.str8889 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8890 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00" @.str8891 = private unnamed_addr constant [4 x i8] c"map\00" @.str8892 = private unnamed_addr constant [7 x i8] c"object\00" @.str8893 = private unnamed_addr constant [6 x i8] c"model\00" @.str8894 = private unnamed_addr constant [12 x i8] c"spawn_layer\00" @.str8895 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00" @.str8896 = private unnamed_addr constant [4 x i8] c"map\00" @.str8897 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8898 = private unnamed_addr constant [6 x i8] c"model\00" @.str8899 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str8900 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00" @.str8901 = private unnamed_addr constant [4 x i8] c"map\00" @.str8902 = private unnamed_addr constant [2 x i8] c"x\00" @.str8903 = private unnamed_addr constant [2 x i8] c"y\00" @.str8904 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str8905 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00" @.str8906 = private unnamed_addr constant [4 x i8] c"map\00" @.str8907 = private unnamed_addr constant [2 x i8] c"x\00" @.str8908 = private unnamed_addr constant [2 x i8] c"y\00" @.str8909 = private unnamed_addr constant [11 x i8] c"layer_kind\00" @.str8910 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00" @.str8911 = private unnamed_addr constant [4 x i8] c"map\00" @.str8912 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8913 = private unnamed_addr constant [14 x i8] c"layer_opacity\00" @.str8914 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00" @.str8915 = private unnamed_addr constant [4 x i8] c"map\00" @.str8916 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8917 = private unnamed_addr constant [11 x i8] c"layer_tint\00" @.str8918 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00" @.str8919 = private unnamed_addr constant [4 x i8] c"map\00" @.str8920 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8921 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00" @.str8922 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00" @.str8923 = private unnamed_addr constant [4 x i8] c"map\00" @.str8924 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8925 = private unnamed_addr constant [14 x i8] c"layer_offsety\00" @.str8926 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00" @.str8927 = private unnamed_addr constant [4 x i8] c"map\00" @.str8928 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8929 = private unnamed_addr constant [6 x i8] c"world\00" @.str8930 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00" @.str8931 = private unnamed_addr constant [5 x i8] c"path\00" @.str8932 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str8933 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00" @.str8934 = private unnamed_addr constant [6 x i8] c"world\00" @.str8935 = private unnamed_addr constant [10 x i8] c"world_map\00" @.str8936 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00" @.str8937 = private unnamed_addr constant [6 x i8] c"world\00" @.str8938 = private unnamed_addr constant [6 x i8] c"index\00" @.str8939 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str8940 = private unnamed_addr constant [4 x i8] c"vk_\00" @.str8941 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str8942 = private unnamed_addr constant [4 x i8] c"gl_\00" @.str8943 = private unnamed_addr constant [2 x i8] c"_\00" @.str8944 = private unnamed_addr constant [2 x i8] c".\00" @.str8945 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" @.str8946 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str8947 = private unnamed_addr constant [2 x i8] c".\00" @.str8948 = private unnamed_addr constant [14 x i8] c"enum variant \00" @.str8949 = private unnamed_addr constant [8 x i8] c" takes \00" @.str8950 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" @.str8951 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str8952 = private unnamed_addr constant [2 x i8] c")\00" @.str8953 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8954 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8955 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8956 = private unnamed_addr constant [3 x i8] c" \00" @.str8957 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str8958 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8959 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8960 = private unnamed_addr constant [9 x i8] c" store \00" @.str8961 = private unnamed_addr constant [2 x i8] c" \00" @.str8962 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8963 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8964 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" @.str8965 = private unnamed_addr constant [5 x i8] c"self\00" @.str8966 = private unnamed_addr constant [2 x i8] c"0\00" @.str8967 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8968 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8969 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8970 = private unnamed_addr constant [4 x i8] c"key\00" @.str8971 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str8972 = private unnamed_addr constant [4 x i8] c"int\00" @.str8973 = private unnamed_addr constant [5 x i8] c"save\00" @.str8974 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" @.str8975 = private unnamed_addr constant [2 x i8] c"0\00" @.str8976 = private unnamed_addr constant [5 x i8] c"void\00" @.str8977 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str8978 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" @.str8979 = private unnamed_addr constant [2 x i8] c"0\00" @.str8980 = private unnamed_addr constant [5 x i8] c"void\00" @.str8981 = private unnamed_addr constant [5 x i8] c"load\00" @.str8982 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" @.str8983 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8984 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str8985 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" @.str8986 = private unnamed_addr constant [4 x i8] c"int\00" @.str8987 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str8988 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" @.str8989 = private unnamed_addr constant [2 x i8] c")\00" @.str8990 = private unnamed_addr constant [4 x i8] c"int\00" @.str8991 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str8992 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" @.str8993 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8994 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8995 = private unnamed_addr constant [2 x i8] c"0\00" @.str8996 = private unnamed_addr constant [5 x i8] c"void\00" @.str8997 = private unnamed_addr constant [5 x i8] c"quit\00" @.str8998 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" @.str8999 = private unnamed_addr constant [2 x i8] c"0\00" @.str9000 = private unnamed_addr constant [5 x i8] c"void\00" @.str9001 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str9002 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" @.str9003 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9004 = private unnamed_addr constant [2 x i8] c")\00" @.str9005 = private unnamed_addr constant [4 x i8] c"int\00" @.str9006 = private unnamed_addr constant [6 x i8] c"apply\00" @.str9007 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" @.str9008 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9009 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9010 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9011 = private unnamed_addr constant [2 x i8] c"0\00" @.str9012 = private unnamed_addr constant [5 x i8] c"void\00" @.str9013 = private unnamed_addr constant [10 x i8] c"sync_size\00" @.str9014 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" @.str9015 = private unnamed_addr constant [2 x i8] c")\00" @.str9016 = private unnamed_addr constant [4 x i8] c"int\00" @.str9017 = private unnamed_addr constant [6 x i8] c"owner\00" @.str9018 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" @.str9019 = private unnamed_addr constant [2 x i8] c")\00" @.str9020 = private unnamed_addr constant [4 x i8] c"int\00" @.str9021 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str9022 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" @.str9023 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9024 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9025 = private unnamed_addr constant [2 x i8] c"0\00" @.str9026 = private unnamed_addr constant [5 x i8] c"void\00" @.str9027 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str9028 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" @.str9029 = private unnamed_addr constant [2 x i8] c")\00" @.str9030 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9031 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str9032 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str9033 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9034 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9035 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9036 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9037 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9038 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str9039 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" @.str9040 = private unnamed_addr constant [4 x i8] c"int\00" @.str9041 = private unnamed_addr constant [9 x i8] c"net_pump\00" @.str9042 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" @.str9043 = private unnamed_addr constant [2 x i8] c"0\00" @.str9044 = private unnamed_addr constant [5 x i8] c"void\00" @.str9045 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" @.str9046 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" @.str9047 = private unnamed_addr constant [2 x i8] c"0\00" @.str9048 = private unnamed_addr constant [5 x i8] c"void\00" @.str9049 = private unnamed_addr constant [12 x i8] c"tick_render\00" @.str9050 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" @.str9051 = private unnamed_addr constant [2 x i8] c"0\00" @.str9052 = private unnamed_addr constant [5 x i8] c"void\00" @.str9053 = private unnamed_addr constant [9 x i8] c"set_role\00" @.str9054 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9055 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" @.str9056 = private unnamed_addr constant [2 x i8] c"0\00" @.str9057 = private unnamed_addr constant [5 x i8] c"void\00" @.str9058 = private unnamed_addr constant [13 x i8] c"set_local_id\00" @.str9059 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9060 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" @.str9061 = private unnamed_addr constant [2 x i8] c"0\00" @.str9062 = private unnamed_addr constant [5 x i8] c"void\00" @.str9063 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9064 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9065 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" @.str9066 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9067 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9068 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9069 = private unnamed_addr constant [2 x i8] c"0\00" @.str9070 = private unnamed_addr constant [5 x i8] c"void\00" @.str9071 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str9072 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str9073 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" @.str9074 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9075 = private unnamed_addr constant [2 x i8] c")\00" @.str9076 = private unnamed_addr constant [4 x i8] c"int\00" @.str9077 = private unnamed_addr constant [4 x i8] c"len\00" @.str9078 = private unnamed_addr constant [5 x i8] c"push\00" @.str9079 = private unnamed_addr constant [7 x i8] c"string\00" @.str9080 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9081 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9082 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str9083 = private unnamed_addr constant [2 x i8] c")\00" @.str9084 = private unnamed_addr constant [7 x i8] c"string\00" @.str9085 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str9086 = private unnamed_addr constant [2 x i8] c")\00" @.str9087 = private unnamed_addr constant [7 x i8] c"string\00" @.str9088 = private unnamed_addr constant [6 x i8] c"print\00" @.str9089 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9090 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str9091 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9092 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9093 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" @.str9094 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9095 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" @.str9096 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9097 = private unnamed_addr constant [2 x i8] c"0\00" @.str9098 = private unnamed_addr constant [5 x i8] c"void\00" @.str9099 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str9100 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9101 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9102 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9103 = private unnamed_addr constant [2 x i8] c")\00" @.str9104 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9105 = private unnamed_addr constant [6 x i8] c"words\00" @.str9106 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9107 = private unnamed_addr constant [4 x i8] c", 4\00" @.str9108 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9109 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9110 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9111 = private unnamed_addr constant [2 x i8] c")\00" @.str9112 = private unnamed_addr constant [6 x i8] c"words\00" @.str9113 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9114 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9115 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str9116 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9117 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9118 = private unnamed_addr constant [6 x i8] c"float\00" @.str9119 = private unnamed_addr constant [7 x i8] c"double\00" @.str9120 = private unnamed_addr constant [4 x i8] c"int\00" @.str9121 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9122 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9123 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9124 = private unnamed_addr constant [4 x i8] c"int\00" @.str9125 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9126 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9127 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9128 = private unnamed_addr constant [4 x i8] c"int\00" @.str9129 = private unnamed_addr constant [4 x i8] c"int\00" @.str9130 = private unnamed_addr constant [5 x i8] c"long\00" @.str9131 = private unnamed_addr constant [5 x i8] c"long\00" @.str9132 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str9133 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str9134 = private unnamed_addr constant [12 x i8] c"double_bits\00" @.str9135 = private unnamed_addr constant [17 x i8] c"double_from_bits\00" @.str9136 = private unnamed_addr constant [7 x i8] c"floats\00" @.str9137 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9138 = private unnamed_addr constant [6 x i8] c"float\00" @.str9139 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9140 = private unnamed_addr constant [7 x i8] c"double\00" @.str9141 = private unnamed_addr constant [6 x i8] c"floor\00" @.str9142 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9143 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9144 = private unnamed_addr constant [4 x i8] c"int\00" @.str9145 = private unnamed_addr constant [7 x i8] c"expect\00" @.str9146 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9147 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9148 = private unnamed_addr constant [2 x i8] c":\00" @.str9149 = private unnamed_addr constant [16 x i8] c": expect failed\00" @.str9150 = private unnamed_addr constant [1 x i8] c"\00" @.str9151 = private unnamed_addr constant [1 x i8] c"\00" @.str9152 = private unnamed_addr constant [2 x i8] c"0\00" @.str9153 = private unnamed_addr constant [5 x i8] c"void\00" @.str9154 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str9155 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9156 = private unnamed_addr constant [3 x i8] c", \00" @.str9157 = private unnamed_addr constant [2 x i8] c":\00" @.str9158 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str9159 = private unnamed_addr constant [2 x i8] c"0\00" @.str9160 = private unnamed_addr constant [5 x i8] c"void\00" @.str9161 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str9162 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9163 = private unnamed_addr constant [3 x i8] c", \00" @.str9164 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9165 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9166 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9167 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9168 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9169 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9170 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str9171 = private unnamed_addr constant [3 x i8] c", \00" @.str9172 = private unnamed_addr constant [2 x i8] c":\00" @.str9173 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" @.str9174 = private unnamed_addr constant [2 x i8] c"0\00" @.str9175 = private unnamed_addr constant [5 x i8] c"void\00" @.str9176 = private unnamed_addr constant [6 x i8] c"panic\00" @.str9177 = private unnamed_addr constant [2 x i8] c":\00" @.str9178 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str9179 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9180 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9181 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9182 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9183 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9184 = private unnamed_addr constant [2 x i8] c"0\00" @.str9185 = private unnamed_addr constant [5 x i8] c"void\00" @.str9186 = private unnamed_addr constant [7 x i8] c"assert\00" @.str9187 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9188 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9189 = private unnamed_addr constant [5 x i8] c"asok\00" @.str9190 = private unnamed_addr constant [6 x i8] c"asbad\00" @.str9191 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9192 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9193 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9194 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9195 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9196 = private unnamed_addr constant [2 x i8] c":\00" @.str9197 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" @.str9198 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9199 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9200 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9201 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9202 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9203 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9204 = private unnamed_addr constant [2 x i8] c"0\00" @.str9205 = private unnamed_addr constant [5 x i8] c"void\00" @.str9206 = private unnamed_addr constant [3 x i8] c"ok\00" @.str9207 = private unnamed_addr constant [3 x i8] c"ok\00" @.str9208 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str9209 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9210 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9211 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str9212 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9213 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9214 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9215 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9216 = private unnamed_addr constant [4 x i8] c"int\00" @.str9217 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9218 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9219 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9220 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str9221 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str9222 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9223 = private unnamed_addr constant [7 x i8] c"result\00" @.str9224 = private unnamed_addr constant [4 x i8] c"err\00" @.str9225 = private unnamed_addr constant [4 x i8] c"err\00" @.str9226 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str9227 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9228 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9229 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9230 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9231 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9232 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9233 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9234 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9235 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9236 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str9237 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9238 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9239 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9240 = private unnamed_addr constant [7 x i8] c"result\00" @.str9241 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str9242 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str9243 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9244 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9245 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9246 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9247 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9248 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9249 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9250 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9251 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str9252 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str9253 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str9254 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9255 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9256 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9257 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9258 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9259 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9260 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9261 = private unnamed_addr constant [5 x i8] c"some\00" @.str9262 = private unnamed_addr constant [5 x i8] c"some\00" @.str9263 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str9264 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9265 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9266 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str9267 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9268 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9269 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9270 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9271 = private unnamed_addr constant [4 x i8] c"int\00" @.str9272 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9273 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9274 = private unnamed_addr constant [7 x i8] c"option\00" @.str9275 = private unnamed_addr constant [5 x i8] c"none\00" @.str9276 = private unnamed_addr constant [5 x i8] c"none\00" @.str9277 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str9278 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9279 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9280 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9281 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9282 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9283 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9284 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9285 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9286 = private unnamed_addr constant [7 x i8] c"option\00" @.str9287 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str9288 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str9289 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9290 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9291 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9292 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9293 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9294 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9295 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9296 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9297 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str9298 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str9299 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9300 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9301 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9302 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9303 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9304 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9305 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9306 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9307 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str9308 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str9309 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9310 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str9311 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9312 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str9313 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str9314 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9315 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9316 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9317 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9318 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9319 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9320 = private unnamed_addr constant [4 x i8] c"int\00" @.str9321 = private unnamed_addr constant [4 x i8] c"int\00" @.str9322 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str9323 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" @.str9324 = private unnamed_addr constant [2 x i8] c")\00" @.str9325 = private unnamed_addr constant [4 x i8] c"int\00" @.str9326 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str9327 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" @.str9328 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9329 = private unnamed_addr constant [2 x i8] c")\00" @.str9330 = private unnamed_addr constant [4 x i8] c"int\00" @.str9331 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str9332 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" @.str9333 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9334 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9335 = private unnamed_addr constant [2 x i8] c")\00" @.str9336 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9337 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9338 = private unnamed_addr constant [4 x i8] c"int\00" @.str9339 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str9340 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str9341 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9342 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" @.str9343 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9344 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9345 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str9346 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9347 = private unnamed_addr constant [2 x i8] c"0\00" @.str9348 = private unnamed_addr constant [5 x i8] c"void\00" @.str9349 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str9350 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" @.str9351 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9352 = private unnamed_addr constant [2 x i8] c")\00" @.str9353 = private unnamed_addr constant [4 x i8] c"int\00" @.str9354 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str9355 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" @.str9356 = private unnamed_addr constant [4 x i8] c"int\00" @.str9357 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str9358 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" @.str9359 = private unnamed_addr constant [2 x i8] c")\00" @.str9360 = private unnamed_addr constant [4 x i8] c"int\00" @.str9361 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str9362 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" @.str9363 = private unnamed_addr constant [2 x i8] c")\00" @.str9364 = private unnamed_addr constant [4 x i8] c"int\00" @.str9365 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str9366 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" @.str9367 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9368 = private unnamed_addr constant [2 x i8] c")\00" @.str9369 = private unnamed_addr constant [4 x i8] c"int\00" @.str9370 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str9371 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" @.str9372 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9373 = private unnamed_addr constant [2 x i8] c")\00" @.str9374 = private unnamed_addr constant [4 x i8] c"int\00" @.str9375 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str9376 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" @.str9377 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9378 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9379 = private unnamed_addr constant [2 x i8] c"0\00" @.str9380 = private unnamed_addr constant [5 x i8] c"void\00" @.str9381 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str9382 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" @.str9383 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9384 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9385 = private unnamed_addr constant [2 x i8] c"0\00" @.str9386 = private unnamed_addr constant [5 x i8] c"void\00" @.str9387 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str9388 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" @.str9389 = private unnamed_addr constant [2 x i8] c")\00" @.str9390 = private unnamed_addr constant [4 x i8] c"int\00" @.str9391 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str9392 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" @.str9393 = private unnamed_addr constant [4 x i8] c"int\00" @.str9394 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str9395 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" @.str9396 = private unnamed_addr constant [2 x i8] c")\00" @.str9397 = private unnamed_addr constant [7 x i8] c"string\00" @.str9398 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str9399 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" @.str9400 = private unnamed_addr constant [2 x i8] c")\00" @.str9401 = private unnamed_addr constant [4 x i8] c"int\00" @.str9402 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str9403 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" @.str9404 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9405 = private unnamed_addr constant [2 x i8] c")\00" @.str9406 = private unnamed_addr constant [7 x i8] c"string\00" @.str9407 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str9408 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" @.str9409 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9410 = private unnamed_addr constant [2 x i8] c")\00" @.str9411 = private unnamed_addr constant [7 x i8] c"string\00" @.str9412 = private unnamed_addr constant [3 x i8] c" \00" @.str9413 = private unnamed_addr constant [2 x i8] c"0\00" @.str9414 = private unnamed_addr constant [5 x i8] c"void\00" @.str9415 = private unnamed_addr constant [4 x i8] c" = \00" @.str9416 = private unnamed_addr constant [6 x i8] c"call \00" @.str9417 = private unnamed_addr constant [3 x i8] c" @\00" @.str9418 = private unnamed_addr constant [2 x i8] c"(\00" @.str9419 = private unnamed_addr constant [3 x i8] c", \00" @.str9420 = private unnamed_addr constant [2 x i8] c" \00" @.str9421 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9422 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str9423 = private unnamed_addr constant [18 x i8] c"unknown function \00" @.str9424 = private unnamed_addr constant [3 x i8] c" \00" @.str9425 = private unnamed_addr constant [2 x i8] c"0\00" @.str9426 = private unnamed_addr constant [5 x i8] c"void\00" @.str9427 = private unnamed_addr constant [4 x i8] c" = \00" @.str9428 = private unnamed_addr constant [6 x i8] c"call \00" @.str9429 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str9430 = private unnamed_addr constant [2 x i8] c"(\00" @.str9431 = private unnamed_addr constant [3 x i8] c", \00" @.str9432 = private unnamed_addr constant [2 x i8] c" \00" @.str9433 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9434 = private unnamed_addr constant [2 x i8] c"0\00" @.str9435 = private unnamed_addr constant [4 x i8] c"int\00" @.str9436 = private unnamed_addr constant [4 x i8] c"int\00" @.str9437 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9438 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9439 = private unnamed_addr constant [5 x i8] c"null\00" @.str9440 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9441 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9442 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str9443 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9444 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9445 = private unnamed_addr constant [2 x i8] c")\00" @.str9446 = private unnamed_addr constant [7 x i8] c"string\00" @.str9447 = private unnamed_addr constant [7 x i8] c"string\00" @.str9448 = private unnamed_addr constant [4 x i8] c"fn \00" @.str9449 = private unnamed_addr constant [22 x i8] c": no function called \00" @.str9450 = private unnamed_addr constant [5 x i8] c"void\00" @.str9451 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9452 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9453 = private unnamed_addr constant [4 x i8] c"fn \00" @.str9454 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" @.str9455 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str9456 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9457 = private unnamed_addr constant [7 x i8] c"const \00" @.str9458 = private unnamed_addr constant [6 x i8] c"load \00" @.str9459 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str9460 = private unnamed_addr constant [4 x i8] c"int\00" @.str9461 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" @.str9462 = private unnamed_addr constant [6 x i8] c"Color\00" @.str9463 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" @.str9464 = private unnamed_addr constant [4 x i8] c"int\00" @.str9465 = private unnamed_addr constant [4 x i8] c"Key\00" @.str9466 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str9467 = private unnamed_addr constant [4 x i8] c"int\00" @.str9468 = private unnamed_addr constant [4 x i8] c"int\00" @.str9469 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str9470 = private unnamed_addr constant [2 x i8] c"x\00" @.str9471 = private unnamed_addr constant [2 x i8] c"y\00" @.str9472 = private unnamed_addr constant [2 x i8] c"x\00" @.str9473 = private unnamed_addr constant [4 x i8] c"int\00" @.str9474 = private unnamed_addr constant [4 x i8] c"int\00" @.str9475 = private unnamed_addr constant [5 x i8] c"byte\00" @.str9476 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9477 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str9478 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9479 = private unnamed_addr constant [4 x i8] c"int\00" @.str9480 = private unnamed_addr constant [2 x i8] c"-\00" @.str9481 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str9482 = private unnamed_addr constant [2 x i8] c" \00" @.str9483 = private unnamed_addr constant [10 x i8] c"operator \00" @.str9484 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str9485 = private unnamed_addr constant [2 x i8] c"-\00" @.str9486 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9487 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9488 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9489 = private unnamed_addr constant [2 x i8] c"-\00" @.str9490 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" @.str9491 = private unnamed_addr constant [5 x i8] c"long\00" @.str9492 = private unnamed_addr constant [2 x i8] c"~\00" @.str9493 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str9494 = private unnamed_addr constant [5 x i8] c", -1\00" @.str9495 = private unnamed_addr constant [5 x i8] c"long\00" @.str9496 = private unnamed_addr constant [2 x i8] c"-\00" @.str9497 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9498 = private unnamed_addr constant [2 x i8] c"~\00" @.str9499 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str9500 = private unnamed_addr constant [5 x i8] c", -1\00" @.str9501 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9502 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9503 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9504 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9505 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9506 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" @.str9507 = private unnamed_addr constant [2 x i8] c"0\00" @.str9508 = private unnamed_addr constant [4 x i8] c"int\00" @.str9509 = private unnamed_addr constant [9 x i8] c" store \00" @.str9510 = private unnamed_addr constant [2 x i8] c" \00" @.str9511 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9512 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9513 = private unnamed_addr constant [2 x i8] c"0\00" @.str9514 = private unnamed_addr constant [4 x i8] c"int\00" @.str9515 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" @.str9516 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" @.str9517 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" @.str9518 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str9519 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" @.str9520 = private unnamed_addr constant [2 x i8] c"=\00" @.str9521 = private unnamed_addr constant [6 x i8] c"load \00" @.str9522 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9523 = private unnamed_addr constant [3 x i8] c"i8\00" @.str9524 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str9525 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str9526 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9527 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9528 = private unnamed_addr constant [5 x i8] c"then\00" @.str9529 = private unnamed_addr constant [5 x i8] c"else\00" @.str9530 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str9531 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9532 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9533 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9534 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9535 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9536 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9537 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9538 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9539 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9540 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9541 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9542 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9543 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9544 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9545 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9546 = private unnamed_addr constant [6 x i8] c"wcond\00" @.str9547 = private unnamed_addr constant [6 x i8] c"wbody\00" @.str9548 = private unnamed_addr constant [5 x i8] c"wend\00" @.str9549 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9550 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9551 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9552 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9553 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9554 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9555 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9556 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9557 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9558 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9559 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9560 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9561 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9562 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9563 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9564 = private unnamed_addr constant [4 x i8] c"int\00" @.str9565 = private unnamed_addr constant [6 x i8] c"fcond\00" @.str9566 = private unnamed_addr constant [6 x i8] c"fbody\00" @.str9567 = private unnamed_addr constant [6 x i8] c"fcont\00" @.str9568 = private unnamed_addr constant [5 x i8] c"fend\00" @.str9569 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9570 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9571 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9572 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9573 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9574 = private unnamed_addr constant [3 x i8] c", \00" @.str9575 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9576 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9577 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9578 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9579 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9580 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9581 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9582 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9583 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9584 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9585 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9586 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9587 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9588 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9589 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9590 = private unnamed_addr constant [8 x i8] c"%retval\00" @.str9591 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9592 = private unnamed_addr constant [2 x i8] c"_\00" @.str9593 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9594 = private unnamed_addr constant [8 x i8] c" binds \00" @.str9595 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" @.str9596 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9597 = private unnamed_addr constant [10 x i8] c" payload \00" @.str9598 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" @.str9599 = private unnamed_addr constant [3 x i8] c" \00" @.str9600 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str9601 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9602 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9603 = private unnamed_addr constant [6 x i8] c"load \00" @.str9604 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9605 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9606 = private unnamed_addr constant [5 x i8] c"mend\00" @.str9607 = private unnamed_addr constant [2 x i8] c"0\00" @.str9608 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9609 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str9610 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9611 = private unnamed_addr constant [3 x i8] c", \00" @.str9612 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str9613 = private unnamed_addr constant [3 x i8] c", \00" @.str9614 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str9615 = private unnamed_addr constant [5 x i8] c"marm\00" @.str9616 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9617 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9618 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9619 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9620 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9621 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9622 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9623 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9624 = private unnamed_addr constant [10 x i8] c"match on \00" @.str9625 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" @.str9626 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" @.str9627 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9628 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9629 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9630 = private unnamed_addr constant [5 x i8] c"mend\00" @.str9631 = private unnamed_addr constant [2 x i8] c"0\00" @.str9632 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9633 = private unnamed_addr constant [3 x i8] c", \00" @.str9634 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str9635 = private unnamed_addr constant [3 x i8] c", \00" @.str9636 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str9637 = private unnamed_addr constant [5 x i8] c"marm\00" @.str9638 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9639 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9640 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9641 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9642 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9643 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9644 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9645 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9646 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9647 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9648 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9649 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" @.str9650 = private unnamed_addr constant [2 x i8] c"0\00" @.str9651 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9652 = private unnamed_addr constant [5 x i8] c"null\00" @.str9653 = private unnamed_addr constant [3 x i8] c" \00" @.str9654 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" @.str9655 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9656 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9657 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9658 = private unnamed_addr constant [3 x i8] c" \00" @.str9659 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" @.str9660 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9661 = private unnamed_addr constant [9 x i8] c" store \00" @.str9662 = private unnamed_addr constant [2 x i8] c" \00" @.str9663 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9664 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9665 = private unnamed_addr constant [2 x i8] c"0\00" @.str9666 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str9667 = private unnamed_addr constant [3 x i8] c"-1\00" @.str9668 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9669 = private unnamed_addr constant [14 x i8] c" call void @\00" @.str9670 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9671 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" @.str9672 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9673 = private unnamed_addr constant [2 x i8] c"0\00" @.str9674 = private unnamed_addr constant [4 x i8] c"int\00" @.str9675 = private unnamed_addr constant [3 x i8] c", \00" @.str9676 = private unnamed_addr constant [2 x i8] c" \00" @.str9677 = private unnamed_addr constant [3 x i8] c" \00" @.str9678 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" @.str9679 = private unnamed_addr constant [2 x i8] c"(\00" @.str9680 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9681 = private unnamed_addr constant [4 x i8] c"int\00" @.str9682 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9683 = private unnamed_addr constant [2 x i8] c"(\00" @.str9684 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9685 = private unnamed_addr constant [2 x i8] c"0\00" @.str9686 = private unnamed_addr constant [4 x i8] c"int\00" @.str9687 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9688 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9689 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9690 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9691 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" @.str9692 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str9693 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9694 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" @.str9695 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str9696 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str9697 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" @.str9698 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" @.str9699 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" @.str9700 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" @.str9701 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" @.str9702 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9703 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" @.str9704 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9705 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" @.str9706 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9707 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" @.str9708 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" @.str9709 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" @.str9710 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" @.str9711 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9712 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str9713 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str9714 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9715 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" @.str9716 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str9717 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str9718 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" @.str9719 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str9720 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9721 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str9722 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9723 = private unnamed_addr constant [5 x i8] c"@LE_\00" @.str9724 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9725 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" @.str9726 = private unnamed_addr constant [3 x i8] c"%h\00" @.str9727 = private unnamed_addr constant [3 x i8] c" \00" @.str9728 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9729 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9730 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str9731 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str9732 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9733 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" @.str9734 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str9735 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" @.str9736 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" @.str9737 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" @.str9738 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" @.str9739 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9740 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" @.str9741 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str9742 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" @.str9743 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" @.str9744 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" @.str9745 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" @.str9746 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str9747 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9748 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" @.str9749 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" @.str9750 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str9751 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" @.str9752 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" @.str9753 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" @.str9754 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" @.str9755 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str9756 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str9757 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" @.str9758 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str9759 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9760 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str9761 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" @.str9762 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" @.str9763 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" @.str9764 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9765 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str9766 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" @.str9767 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str9768 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str9769 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9770 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" @.str9771 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" @.str9772 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" @.str9773 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str9774 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9775 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9776 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9777 = private unnamed_addr constant [2 x i8] c"0\00" @.str9778 = private unnamed_addr constant [6 x i8] c"qcond\00" @.str9779 = private unnamed_addr constant [6 x i8] c"qbody\00" @.str9780 = private unnamed_addr constant [6 x i8] c"qnext\00" @.str9781 = private unnamed_addr constant [5 x i8] c"qend\00" @.str9782 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9783 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9784 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9785 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9786 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str9787 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9788 = private unnamed_addr constant [3 x i8] c", \00" @.str9789 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9790 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9791 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9792 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9793 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9794 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9795 = private unnamed_addr constant [3 x i8] c" \00" @.str9796 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9797 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str9798 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9799 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9800 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9801 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9802 = private unnamed_addr constant [3 x i8] c"qa\00" @.str9803 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9804 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9805 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9806 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9807 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9808 = private unnamed_addr constant [2 x i8] c"0\00" @.str9809 = private unnamed_addr constant [3 x i8] c" \00" @.str9810 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9811 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9812 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9813 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9814 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9815 = private unnamed_addr constant [3 x i8] c", \00" @.str9816 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" @.str9817 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9818 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9819 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str9820 = private unnamed_addr constant [3 x i8] c", \00" @.str9821 = private unnamed_addr constant [3 x i8] c" \00" @.str9822 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9823 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9824 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9825 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9826 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9827 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str9828 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9829 = private unnamed_addr constant [3 x i8] c"qt\00" @.str9830 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9831 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9832 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9833 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9834 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9835 = private unnamed_addr constant [3 x i8] c" \00" @.str9836 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9837 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9838 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9839 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9840 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9841 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9842 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9843 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9844 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9845 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9846 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9847 = private unnamed_addr constant [3 x i8] c"qw\00" @.str9848 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9849 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9850 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9851 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9852 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9853 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9854 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9855 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9856 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9857 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9858 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9859 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9860 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9861 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9862 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9863 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9864 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9865 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9866 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9867 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" @.str9868 = private unnamed_addr constant [3 x i8] c" \00" @.str9869 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9870 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9871 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9872 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9873 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" @.str9874 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9875 = private unnamed_addr constant [3 x i8] c" \00" @.str9876 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9877 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9878 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9879 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9880 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9881 = private unnamed_addr constant [3 x i8] c" \00" @.str9882 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9883 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9884 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9885 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9886 = private unnamed_addr constant [9 x i8] c" store \00" @.str9887 = private unnamed_addr constant [2 x i8] c" \00" @.str9888 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9889 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9890 = private unnamed_addr constant [3 x i8] c" \00" @.str9891 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9892 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9893 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9894 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9895 = private unnamed_addr constant [9 x i8] c" store \00" @.str9896 = private unnamed_addr constant [2 x i8] c" \00" @.str9897 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9898 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9899 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9900 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9901 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9902 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9903 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9904 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str9905 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9906 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9907 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9908 = private unnamed_addr constant [3 x i8] c" \00" @.str9909 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9910 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9911 = private unnamed_addr constant [11 x i8] c"], ptr @S_\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 [4 x i8] c"ptr\00" @.str9915 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9916 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9917 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9918 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str9919 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" @.str9920 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" @.str9921 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9922 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9923 = private unnamed_addr constant [5 x i8] c"wgok\00" @.str9924 = private unnamed_addr constant [6 x i8] c"wgbad\00" @.str9925 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9926 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9927 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9928 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9929 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9930 = private unnamed_addr constant [2 x i8] c":\00" @.str9931 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str9932 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" @.str9933 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9934 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9935 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9936 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9937 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9938 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9939 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str9940 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" @.str9941 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str9942 = private unnamed_addr constant [17 x i8] c": unknown model \00" @.str9943 = private unnamed_addr constant [3 x i8] c" \00" @.str9944 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9945 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9946 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9947 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9948 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9949 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9950 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9951 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str9952 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9953 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9954 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9955 = private unnamed_addr constant [8 x i8] c"despawn\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 [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9959 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9960 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9961 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9962 = private unnamed_addr constant [3 x i8] c", \00" @.str9963 = private unnamed_addr constant [3 x i8] c"dh\00" @.str9964 = private unnamed_addr constant [4 x i8] c"dhn\00" @.str9965 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9966 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9967 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9968 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9969 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str9970 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9971 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str9972 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9973 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str9974 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9975 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9976 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str9977 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9978 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9979 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9980 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" @.str9981 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9982 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" @.str9983 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9984 = private unnamed_addr constant [3 x i8] c" \00" @.str9985 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9986 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9987 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9988 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9989 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9990 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" @.str9991 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9992 = private unnamed_addr constant [7 x i8] c"attach\00" @.str9993 = private unnamed_addr constant [8 x i8] c"attdone\00" @.str9994 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9995 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9996 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9997 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9998 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9999 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10000 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10001 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10002 = private unnamed_addr constant [3 x i8] c" \00" @.str10003 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10004 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10005 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10006 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10007 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str10008 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str10009 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10010 = private unnamed_addr constant [7 x i8] c"detach\00" @.str10011 = private unnamed_addr constant [8 x i8] c"detdone\00" @.str10012 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10013 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10014 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10015 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10016 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10017 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str10018 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10019 = private unnamed_addr constant [3 x i8] c" \00" @.str10020 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10021 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10022 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10023 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10024 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10025 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10026 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10027 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10028 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10029 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10030 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str10031 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10032 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10033 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10034 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10035 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10036 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10037 = private unnamed_addr constant [2 x i8] c"0\00" @.str10038 = private unnamed_addr constant [2 x i8] c"1\00" @.str10039 = private unnamed_addr constant [7 x i8] c"system\00" @.str10040 = private unnamed_addr constant [6 x i8] c"layer\00" @.str10041 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10042 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" @.str10043 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10044 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str10045 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str10046 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str10047 = private unnamed_addr constant [6 x i8] c"_show\00" @.str10048 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10049 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10050 = private unnamed_addr constant [3 x i8] c" \00" @.str10051 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10052 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10053 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10054 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10055 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str10056 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10057 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10058 = private unnamed_addr constant [3 x i8] c" \00" @.str10059 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10060 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10061 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10062 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10063 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10064 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10065 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10066 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10067 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10068 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10069 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str10070 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10071 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str10072 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10073 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10074 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10075 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str10076 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str10077 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str10078 = private unnamed_addr constant [2 x i8] c"_\00" @.str10079 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10080 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10081 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10082 = private unnamed_addr constant [5 x i8] c"void\00" @.str10083 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10084 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10085 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" @.str10086 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10087 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10088 = private unnamed_addr constant [1 x i8] c"\00" @.str10089 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" @.str10090 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10091 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10092 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" @.str10093 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10094 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10095 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str10096 = private unnamed_addr constant [3 x i8] c", \00" @.str10097 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str10098 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10099 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10100 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str10101 = private unnamed_addr constant [3 x i8] c", \00" @.str10102 = private unnamed_addr constant [5 x i8] c"hrun\00" @.str10103 = private unnamed_addr constant [6 x i8] c"hskip\00" @.str10104 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10105 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10106 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10107 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10108 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" @.str10109 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10110 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10111 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10112 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10113 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" @.str10114 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10115 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10116 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str10117 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" @.str10118 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" @.str10119 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str10120 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" @.str10121 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10122 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str10123 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" @.str10124 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" @.str10125 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" @.str10126 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str10127 = 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" @.str10128 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str10129 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str10130 = 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" @.str10131 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str10132 = private unnamed_addr constant [2 x i8] c"c\00" @.str10133 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10134 = private unnamed_addr constant [5 x i8] c" %h\00" @.str10135 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10136 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10137 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str10138 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str10139 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" @.str10140 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10141 = private unnamed_addr constant [7 x i8] c" %has\00" @.str10142 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" @.str10143 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10144 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" @.str10145 = private unnamed_addr constant [11 x i8] c", label %t\00" @.str10146 = private unnamed_addr constant [11 x i8] c", label %c\00" @.str10147 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10148 = private unnamed_addr constant [2 x i8] c"t\00" @.str10149 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10150 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10151 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10152 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10153 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10154 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str10155 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str10156 = private unnamed_addr constant [2 x i8] c"_\00" @.str10157 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str10158 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10159 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10160 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10161 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10162 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str10163 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" @.str10164 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10165 = private unnamed_addr constant [6 x i8] c" %fp\00" @.str10166 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" @.str10167 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10168 = private unnamed_addr constant [6 x i8] c" %fd\00" @.str10169 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" @.str10170 = private unnamed_addr constant [5 x i8] c", 1\0A\00" @.str10171 = private unnamed_addr constant [6 x i8] c" %fn\00" @.str10172 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" @.str10173 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" @.str10174 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" @.str10175 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10176 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" @.str10177 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str10178 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10179 = private unnamed_addr constant [14 x i8] c" br label %c\00" @.str10180 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10181 = private unnamed_addr constant [2 x i8] c"c\00" @.str10182 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" @.str10183 = 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" @.str10184 = private unnamed_addr constant [4 x i8] c"int\00" @.str10185 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10186 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10187 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" @.str10188 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10189 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10190 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" @.str10191 = private unnamed_addr constant [2 x i8] c")\00" @.str10192 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10193 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10194 = private unnamed_addr constant [3 x i8] c"pf\00" @.str10195 = private unnamed_addr constant [4 x i8] c"pfn\00" @.str10196 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10197 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10198 = private unnamed_addr constant [10 x i8] c", 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 [20 x i8] c"call i32 @L_prefab_\00" @.str10202 = private unnamed_addr constant [3 x i8] c"()\00" @.str10203 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10204 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10205 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10206 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str10207 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" @.str10208 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10209 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10210 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10211 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10212 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10213 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10214 = private unnamed_addr constant [6 x i8] c"Start\00" @.str10215 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str10216 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10217 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str10218 = private unnamed_addr constant [2 x i8] c"'\00" @.str10219 = private unnamed_addr constant [6 x i8] c"Start\00" @.str10220 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10221 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10222 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10223 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10224 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10225 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10226 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" @.str10227 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" @.str10228 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" @.str10229 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" @.str10230 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" @.str10231 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" @.str10232 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" @.str10233 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" @.str10234 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" @.str10235 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" @.str10236 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" @.str10237 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" @.str10238 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" @.str10239 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" @.str10240 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" @.str10241 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" @.str10242 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" @.str10243 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" @.str10244 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" @.str10245 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" @.str10246 = private unnamed_addr constant [12 x i8] c"module_init\00" @.str10247 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" @.str10248 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" @.str10249 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10250 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10251 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10252 = 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" @.str10253 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" @.str10254 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str10255 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" @.str10256 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10257 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" @.str10258 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" @.str10259 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" @.str10260 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str10261 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10262 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" @.str10263 = private unnamed_addr constant [6 x i8] c"add:\0A\00" @.str10264 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str10265 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" @.str10266 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" @.str10267 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" @.str10268 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" @.str10269 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" @.str10270 = 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" @.str10271 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str10272 = private unnamed_addr constant [4 x i8] c"dsp\00" @.str10273 = private unnamed_addr constant [4 x i8] c"dsh\00" @.str10274 = private unnamed_addr constant [4 x i8] c"dsb\00" @.str10275 = private unnamed_addr constant [5 x i8] c"dsdo\00" @.str10276 = private unnamed_addr constant [4 x i8] c"dsc\00" @.str10277 = private unnamed_addr constant [4 x i8] c"dsn\00" @.str10278 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10279 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10280 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" @.str10281 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10282 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10283 = private unnamed_addr constant [3 x i8] c" \00" @.str10284 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" @.str10285 = private unnamed_addr constant [7 x i8] c" ], [ \00" @.str10286 = private unnamed_addr constant [4 x i8] c", %\00" @.str10287 = private unnamed_addr constant [4 x i8] c" ]\0A\00" @.str10288 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" @.str10289 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10290 = private unnamed_addr constant [3 x i8] c", \00" @.str10291 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10292 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10293 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10294 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10295 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10296 = private unnamed_addr constant [3 x i8] c" \00" @.str10297 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10298 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" @.str10299 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10300 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10301 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10302 = private unnamed_addr constant [3 x i8] c", \00" @.str10303 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10304 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10305 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10306 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10307 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10308 = private unnamed_addr constant [3 x i8] c" \00" @.str10309 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10310 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" @.str10311 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10312 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str10313 = private unnamed_addr constant [13 x i8] c" call void \00" @.str10314 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10315 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10316 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10317 = private unnamed_addr constant [5 x i8] c":\0A \00" @.str10318 = private unnamed_addr constant [12 x i8] c" = add i32 \00" @.str10319 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" @.str10320 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10321 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10322 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str10323 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10324 = private unnamed_addr constant [3 x i8] c", \00" @.str10325 = private unnamed_addr constant [6 x i8] c"scrun\00" @.str10326 = private unnamed_addr constant [7 x i8] c"scskip\00" @.str10327 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10328 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10329 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10330 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10331 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10332 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10333 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10334 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10335 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10336 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str10337 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10338 = private unnamed_addr constant [3 x i8] c", \00" @.str10339 = private unnamed_addr constant [5 x i8] c"mrun\00" @.str10340 = private unnamed_addr constant [6 x i8] c"mskip\00" @.str10341 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10342 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10343 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10344 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10345 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" @.str10346 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10347 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10348 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10349 = private unnamed_addr constant [5 x i8] c"void\00" @.str10350 = private unnamed_addr constant [6 x i8] c"enter\00" @.str10351 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str10352 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" @.str10353 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" @.str10354 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str10355 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10356 = private unnamed_addr constant [5 x i8] c"exit\00" @.str10357 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" @.str10358 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str10359 = private unnamed_addr constant [2 x i8] c"_\00" @.str10360 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10361 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10362 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10363 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10364 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" @.str10365 = private unnamed_addr constant [2 x i8] c"_\00" @.str10366 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10367 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10368 = private unnamed_addr constant [6 x i8] c"enter\00" @.str10369 = private unnamed_addr constant [5 x i8] c"exit\00" @.str10370 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" @.str10371 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" @.str10372 = private unnamed_addr constant [6 x i8] c" %is\00" @.str10373 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" @.str10374 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10375 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" @.str10376 = private unnamed_addr constant [15 x i8] c", label %leave\00" @.str10377 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str10378 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10379 = private unnamed_addr constant [6 x i8] c"leave\00" @.str10380 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" @.str10381 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" @.str10382 = private unnamed_addr constant [5 x i8] c"next\00" @.str10383 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10384 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10385 = private unnamed_addr constant [5 x i8] c"void\00" @.str10386 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10387 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" @.str10388 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10389 = private unnamed_addr constant [4 x i8] c"int\00" @.str10390 = private unnamed_addr constant [3 x i8] c"%e\00" @.str10391 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10392 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10393 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" @.str10394 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" @.str10395 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10396 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" @.str10397 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10398 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str10399 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str10400 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10401 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10402 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10403 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10404 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str10405 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str10406 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10407 = private unnamed_addr constant [4 x i8] c"hit\00" @.str10408 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str10409 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str10410 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10411 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str10412 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10413 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str10414 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str10415 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10416 = private unnamed_addr constant [5 x i8] c"next\00" @.str10417 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10418 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" @.str10419 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" @.str10420 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10421 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" @.str10422 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str10423 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" @.str10424 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" @.str10425 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str10426 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str10427 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" @.str10428 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" @.str10429 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" @.str10430 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" @.str10431 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str10432 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10433 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10434 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10435 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10436 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str10437 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str10438 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10439 = private unnamed_addr constant [4 x i8] c"hit\00" @.str10440 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str10441 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str10442 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10443 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str10444 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10445 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str10446 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str10447 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10448 = private unnamed_addr constant [5 x i8] c"next\00" @.str10449 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10450 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" @.str10451 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str10452 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str10453 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" @.str10454 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str10455 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str10456 = private unnamed_addr constant [3 x i8] c", \00" @.str10457 = private unnamed_addr constant [3 x i8] c", \00" @.str10458 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10459 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str10460 = private unnamed_addr constant [6 x i8] c"@evL_\00" @.str10461 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str10462 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str10463 = private unnamed_addr constant [6 x i8] c"@evN_\00" @.str10464 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" @.str10465 = private unnamed_addr constant [6 x i8] c"@evO_\00" @.str10466 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str10467 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10468 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" @.str10469 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" @.str10470 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str10471 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10472 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str10473 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10474 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str10475 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str10476 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10477 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10478 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str10479 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str10480 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10481 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10482 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" @.str10483 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str10484 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str10485 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str10486 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" @.str10487 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" @.str10488 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str10489 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10490 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str10491 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10492 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str10493 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str10494 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10495 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10496 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str10497 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str10498 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10499 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str10500 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" @.str10501 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str10502 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str10503 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str10504 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" @.str10505 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" @.str10506 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str10507 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10508 = 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" @.str10509 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" @.str10510 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" @.str10511 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10512 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" @.str10513 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" @.str10514 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" @.str10515 = private unnamed_addr constant [5 x i8] c"void\00" @.str10516 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" @.str10517 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" @.str10518 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10519 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" @.str10520 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" @.str10521 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str10522 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10523 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" @.str10524 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" @.str10525 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str10526 = private unnamed_addr constant [3 x i8] c" \00" @.str10527 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str10528 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10529 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10530 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10531 = private unnamed_addr constant [9 x i8] c" store \00" @.str10532 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10533 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10534 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10535 = private unnamed_addr constant [9 x i8] c" store \00" @.str10536 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10537 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10538 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10539 = private unnamed_addr constant [3 x i8] c" \00" @.str10540 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str10541 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10542 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10543 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10544 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10545 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10546 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10547 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10548 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10549 = private unnamed_addr constant [4 x i8] c"evl\00" @.str10550 = private unnamed_addr constant [4 x i8] c"evb\00" @.str10551 = private unnamed_addr constant [4 x i8] c"evd\00" @.str10552 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10553 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10554 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10555 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10556 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" @.str10557 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10558 = private unnamed_addr constant [3 x i8] c", \00" @.str10559 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10560 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10561 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10562 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10563 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10564 = private unnamed_addr constant [3 x i8] c" \00" @.str10565 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10566 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10567 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10568 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10569 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str10570 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str10571 = private unnamed_addr constant [7 x i8] c", null\00" @.str10572 = private unnamed_addr constant [5 x i8] c"evdo\00" @.str10573 = private unnamed_addr constant [5 x i8] c"evsk\00" @.str10574 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10575 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10576 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10577 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10578 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10579 = private unnamed_addr constant [13 x i8] c" call void \00" @.str10580 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str10581 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10582 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10583 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10584 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10585 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10586 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10587 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10588 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10589 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10590 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10591 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10592 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10593 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10594 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str10595 = 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" @.str10596 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10597 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10598 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10599 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10600 = private unnamed_addr constant [5 x i8] c"void\00" @.str10601 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10602 = private unnamed_addr constant [8 x i8] c"define \00" @.str10603 = private unnamed_addr constant [6 x i8] c" @ev_\00" @.str10604 = private unnamed_addr constant [2 x i8] c"(\00" @.str10605 = private unnamed_addr constant [3 x i8] c", \00" @.str10606 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10607 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str10608 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10609 = 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" @.str10610 = private unnamed_addr constant [3 x i8] c"sw\00" @.str10611 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10612 = private unnamed_addr constant [7 x i8] c" %swi\00" @.str10613 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" @.str10614 = private unnamed_addr constant [7 x i8] c" %swn\00" @.str10615 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" @.str10616 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10617 = private unnamed_addr constant [7 x i8] c" %swg\00" @.str10618 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" @.str10619 = private unnamed_addr constant [7 x i8] c", %swn\00" @.str10620 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10621 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" @.str10622 = private unnamed_addr constant [13 x i8] c", label %swb\00" @.str10623 = private unnamed_addr constant [13 x i8] c", label %swd\00" @.str10624 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10625 = private unnamed_addr constant [4 x i8] c"swb\00" @.str10626 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10627 = private unnamed_addr constant [8 x i8] c" %swop\00" @.str10628 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10629 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10630 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str10631 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10632 = private unnamed_addr constant [8 x i8] c" %swov\00" @.str10633 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str10634 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10635 = private unnamed_addr constant [7 x i8] c" %swm\00" @.str10636 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" @.str10637 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" @.str10638 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" @.str10639 = private unnamed_addr constant [13 x i8] c", label %swh\00" @.str10640 = private unnamed_addr constant [13 x i8] c", label %swx\00" @.str10641 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10642 = private unnamed_addr constant [4 x i8] c"swh\00" @.str10643 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10644 = private unnamed_addr constant [8 x i8] c" %swlp\00" @.str10645 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10646 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10647 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str10648 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10649 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" @.str10650 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str10651 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10652 = private unnamed_addr constant [4 x i8] c"swx\00" @.str10653 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10654 = private unnamed_addr constant [9 x i8] c" %swinc\00" @.str10655 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" @.str10656 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" @.str10657 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" @.str10658 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10659 = private unnamed_addr constant [4 x i8] c"swd\00" @.str10660 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" @.str10661 = private unnamed_addr constant [15 x i8] c" br label %sw\00" @.str10662 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10663 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10664 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10665 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" @.str10666 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" @.str10667 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" @.str10668 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" @.str10669 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" @.str10670 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" @.str10671 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10672 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10673 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10674 = private unnamed_addr constant [5 x i8] c" %e\00" @.str10675 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" @.str10676 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10677 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" @.str10678 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10679 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10680 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10681 = private unnamed_addr constant [2 x i8] c"h\00" @.str10682 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10683 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10684 = private unnamed_addr constant [2 x i8] c"n\00" @.str10685 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10686 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" @.str10687 = 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" @.str10688 = 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" @.str10689 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" @.str10690 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" @.str10691 = 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" @.str10692 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" @.str10693 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" @.str10694 = private unnamed_addr constant [6 x i8] c" %pm\00" @.str10695 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10696 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10697 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" @.str10698 = private unnamed_addr constant [12 x i8] c", label %pk\00" @.str10699 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str10700 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10701 = private unnamed_addr constant [3 x i8] c"pk\00" @.str10702 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10703 = private unnamed_addr constant [2 x i8] c"_\00" @.str10704 = private unnamed_addr constant [6 x i8] c" %fc\00" @.str10705 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10706 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10707 = private unnamed_addr constant [6 x i8] c" %fe\00" @.str10708 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" @.str10709 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10710 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" @.str10711 = private unnamed_addr constant [12 x i8] c", label %fh\00" @.str10712 = private unnamed_addr constant [12 x i8] c", label %fn\00" @.str10713 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10714 = private unnamed_addr constant [3 x i8] c"fh\00" @.str10715 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10716 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10717 = private unnamed_addr constant [3 x i8] c"fn\00" @.str10718 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10719 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str10720 = private unnamed_addr constant [3 x i8] c"pn\00" @.str10721 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10722 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10723 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" @.str10724 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10725 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10726 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10727 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10728 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10729 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10730 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10731 = private unnamed_addr constant [2 x i8] c"g\00" @.str10732 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10733 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10734 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10735 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10736 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10737 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10738 = private unnamed_addr constant [2 x i8] c"_\00" @.str10739 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str10740 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10741 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10742 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" @.str10743 = private unnamed_addr constant [12 x i8] c", label %gf\00" @.str10744 = private unnamed_addr constant [12 x i8] c", label %gk\00" @.str10745 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10746 = private unnamed_addr constant [3 x i8] c"gf\00" @.str10747 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10748 = private unnamed_addr constant [6 x i8] c" %ga\00" @.str10749 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10750 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10751 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10752 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10753 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10754 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10755 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" @.str10756 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10757 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10758 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" @.str10759 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10760 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10761 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10762 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10763 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" @.str10764 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10765 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10766 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" @.str10767 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10768 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10769 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10770 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" @.str10771 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10772 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10773 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" @.str10774 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10775 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10776 = private unnamed_addr constant [3 x i8] c"gk\00" @.str10777 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10778 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str10779 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10780 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10781 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" @.str10782 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10783 = 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" @.str10784 = 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" @.str10785 = 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" @.str10786 = 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" @.str10787 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" @.str10788 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" @.str10789 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10790 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10791 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10792 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10793 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10794 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10795 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10796 = private unnamed_addr constant [2 x i8] c"g\00" @.str10797 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10798 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10799 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10800 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10801 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10802 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10803 = private unnamed_addr constant [2 x i8] c"_\00" @.str10804 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str10805 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10806 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10807 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str10808 = private unnamed_addr constant [12 x i8] c", label %sf\00" @.str10809 = private unnamed_addr constant [12 x i8] c", label %sk\00" @.str10810 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10811 = private unnamed_addr constant [3 x i8] c"sf\00" @.str10812 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10813 = private unnamed_addr constant [6 x i8] c" %sa\00" @.str10814 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10815 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10816 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10817 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10818 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10819 = private unnamed_addr constant [6 x i8] c" %sp\00" @.str10820 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" @.str10821 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" @.str10822 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10823 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10824 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10825 = private unnamed_addr constant [6 x i8] c" %sb\00" @.str10826 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" @.str10827 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" @.str10828 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10829 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10830 = private unnamed_addr constant [6 x i8] c" %sw\00" @.str10831 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" @.str10832 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" @.str10833 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10834 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10835 = private unnamed_addr constant [3 x i8] c"sk\00" @.str10836 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10837 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10838 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10839 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10840 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" @.str10841 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10842 = 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" @.str10843 = 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" @.str10844 = 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" @.str10845 = 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" @.str10846 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" @.str10847 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10848 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10849 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10850 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10851 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10852 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10853 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10854 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10855 = private unnamed_addr constant [2 x i8] c"g\00" @.str10856 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10857 = private unnamed_addr constant [6 x i8] c" %hp\00" @.str10858 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10859 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10860 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10861 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str10862 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" @.str10863 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10864 = private unnamed_addr constant [6 x i8] c" %hr\00" @.str10865 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" @.str10866 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" @.str10867 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10868 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10869 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10870 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str10871 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10872 = 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" @.str10873 = 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" @.str10874 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" @.str10875 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" @.str10876 = 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" @.str10877 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" @.str10878 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" @.str10879 = 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" @.str10880 = 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" @.str10881 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" @.str10882 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" @.str10883 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10884 = 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" @.str10885 = 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" @.str10886 = 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" @.str10887 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" @.str10888 = 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" @.str10889 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" @.str10890 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10891 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10892 = 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" @.str10893 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10894 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10895 = 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" @.str10896 = 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" @.str10897 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" @.str10898 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10899 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str10900 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" @.str10901 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" @.str10902 = private unnamed_addr constant [7 x i8] c" %mdc\00" @.str10903 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10904 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10905 = private unnamed_addr constant [7 x i8] c" %mde\00" @.str10906 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" @.str10907 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10908 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" @.str10909 = private unnamed_addr constant [13 x i8] c", label %mdh\00" @.str10910 = private unnamed_addr constant [13 x i8] c", label %mdn\00" @.str10911 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10912 = private unnamed_addr constant [4 x i8] c"mdh\00" @.str10913 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10914 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10915 = private unnamed_addr constant [4 x i8] c"mdn\00" @.str10916 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10917 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10918 = private unnamed_addr constant [4 x i8] c"int\00" @.str10919 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10920 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10921 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" @.str10922 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10923 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10924 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" @.str10925 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str10926 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" @.str10927 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10928 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str10929 = private unnamed_addr constant [12 x i8] c", label %sh\00" @.str10930 = private unnamed_addr constant [12 x i8] c", label %sn\00" @.str10931 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10932 = private unnamed_addr constant [3 x i8] c"sh\00" @.str10933 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" @.str10934 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" @.str10935 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" @.str10936 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10937 = private unnamed_addr constant [3 x i8] c"sn\00" @.str10938 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10939 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10940 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" @.str10941 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" @.str10942 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" @.str10943 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" @.str10944 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str10945 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str10946 = 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" @.str10947 = 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" @.str10948 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" @.str10949 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" @.str10950 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" @.str10951 = private unnamed_addr constant [1 x i8] c"\00" @.str10952 = private unnamed_addr constant [4 x i8] c"int\00" @.str10953 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" @.str10954 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" @.str10955 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" @.str10956 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" @.str10957 = private unnamed_addr constant [6 x i8] c" %pe\00" @.str10958 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" @.str10959 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10960 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" @.str10961 = private unnamed_addr constant [12 x i8] c", label %ph\00" @.str10962 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str10963 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10964 = private unnamed_addr constant [3 x i8] c"ph\00" @.str10965 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str10966 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10967 = private unnamed_addr constant [3 x i8] c"pn\00" @.str10968 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10969 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" @.str10970 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str10971 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" @.str10972 = 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" @.str10973 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" @.str10974 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10975 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" @.str10976 = private unnamed_addr constant [7 x i8] c" %fce\00" @.str10977 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10978 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10979 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" @.str10980 = private unnamed_addr constant [13 x i8] c", label %fch\00" @.str10981 = private unnamed_addr constant [13 x i8] c", label %fcn\00" @.str10982 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10983 = private unnamed_addr constant [4 x i8] c"fch\00" @.str10984 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10985 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10986 = private unnamed_addr constant [4 x i8] c"fcn\00" @.str10987 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10988 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10989 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str10990 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" @.str10991 = 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" @.str10992 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" @.str10993 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str10994 = private unnamed_addr constant [7 x i8] c" %fne\00" @.str10995 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10996 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10997 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" @.str10998 = private unnamed_addr constant [13 x i8] c", label %fnk\00" @.str10999 = private unnamed_addr constant [13 x i8] c", label %fnn\00" @.str11000 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11001 = private unnamed_addr constant [4 x i8] c"fnk\00" @.str11002 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11003 = private unnamed_addr constant [2 x i8] c"_\00" @.str11004 = private unnamed_addr constant [8 x i8] c" %fnfe\00" @.str11005 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str11006 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11007 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" @.str11008 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" @.str11009 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" @.str11010 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11011 = private unnamed_addr constant [5 x i8] c"fnfh\00" @.str11012 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11013 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11014 = private unnamed_addr constant [5 x i8] c"fnfn\00" @.str11015 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11016 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11017 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11018 = private unnamed_addr constant [4 x i8] c"fnn\00" @.str11019 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11020 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11021 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11022 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str11023 = private unnamed_addr constant [7 x i8] c" %fte\00" @.str11024 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11025 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11026 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" @.str11027 = private unnamed_addr constant [13 x i8] c", label %ftk\00" @.str11028 = private unnamed_addr constant [13 x i8] c", label %ftn\00" @.str11029 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11030 = private unnamed_addr constant [4 x i8] c"ftk\00" @.str11031 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11032 = private unnamed_addr constant [2 x i8] c"_\00" @.str11033 = private unnamed_addr constant [8 x i8] c" %ftfe\00" @.str11034 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str11035 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11036 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" @.str11037 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" @.str11038 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" @.str11039 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11040 = private unnamed_addr constant [5 x i8] c"ftfh\00" @.str11041 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11042 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11043 = private unnamed_addr constant [5 x i8] c"ftfn\00" @.str11044 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11045 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11046 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11047 = private unnamed_addr constant [4 x i8] c"ftn\00" @.str11048 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11049 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str11050 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11051 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" @.str11052 = private unnamed_addr constant [6 x i8] c"Input\00" @.str11053 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str11054 = private unnamed_addr constant [7 x i8] c"Update\00" @.str11055 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str11056 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11057 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" @.str11058 = private unnamed_addr constant [7 x i8] c"Render\00" @.str11059 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str11060 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11061 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11062 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11063 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11064 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str11065 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str11066 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11067 = private unnamed_addr constant [6 x i8] c"Start\00" @.str11068 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11069 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str11070 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str11071 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11072 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str11073 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" @.str11074 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11075 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str11076 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" @.str11077 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11078 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11079 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str11080 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" @.str11081 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11082 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11083 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str11084 = private unnamed_addr constant [3 x i8] c", \00" @.str11085 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11086 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str11087 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11088 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str11089 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11090 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str11091 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" @.str11092 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11093 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str11094 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str11095 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" @.str11096 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11097 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str11098 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str11099 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str11100 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" @.str11101 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11102 = private unnamed_addr constant [6 x i8] c"Input\00" @.str11103 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str11104 = private unnamed_addr constant [7 x i8] c"Update\00" @.str11105 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str11106 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str11107 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" @.str11108 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11109 = private unnamed_addr constant [7 x i8] c"Render\00" @.str11110 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str11111 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str11112 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" @.str11113 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str11114 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11115 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11116 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11117 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" @.str11118 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11119 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str11120 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" @.str11121 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str11122 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str11123 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" @.str11124 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str11125 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" @.str11126 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" @.str11127 = private unnamed_addr constant [15 x i8] c"machine state \00" @.str11128 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str11129 = private unnamed_addr constant [1 x i8] c"\00" @.str11130 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" @.str11131 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" @.str11132 = private unnamed_addr constant [2 x i8] c")\00" @.str11133 = private unnamed_addr constant [6 x i8] c"smend\00" @.str11134 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11135 = private unnamed_addr constant [3 x i8] c", \00" @.str11136 = private unnamed_addr constant [6 x i8] c"sbody\00" @.str11137 = private unnamed_addr constant [5 x i8] c"sarm\00" @.str11138 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11139 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11140 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11141 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11142 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11143 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11144 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11145 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11146 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11147 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11148 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11149 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11150 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str11151 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11152 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" @.str11153 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11154 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11155 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" @.str11156 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" @.str11157 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11158 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" @.str11159 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11160 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str11161 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str11162 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11163 = private unnamed_addr constant [5 x i8] c"file\00" @.str11164 = private unnamed_addr constant [4 x i8] c"%io\00" @.str11165 = private unnamed_addr constant [3 x i8] c" \00" @.str11166 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" @.str11167 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str11168 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str11169 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" @.str11170 = private unnamed_addr constant [5 x i8] c"size\00" @.str11171 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str11172 = private unnamed_addr constant [3 x i8] c" \00" @.str11173 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str11174 = private unnamed_addr constant [3 x i8] c", \00" @.str11175 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11176 = private unnamed_addr constant [5 x i8] c"%ioa\00" @.str11177 = private unnamed_addr constant [3 x i8] c" \00" @.str11178 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" @.str11179 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11180 = private unnamed_addr constant [5 x i8] c"save\00" @.str11181 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11182 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11183 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11184 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11185 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11186 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11187 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11188 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11189 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str11190 = private unnamed_addr constant [3 x i8] c" \00" @.str11191 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str11192 = private unnamed_addr constant [3 x i8] c", \00" @.str11193 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11194 = private unnamed_addr constant [2 x i8] c"0\00" @.str11195 = private unnamed_addr constant [8 x i8] c"@L_entc\00" @.str11196 = private unnamed_addr constant [2 x i8] c"4\00" @.str11197 = private unnamed_addr constant [9 x i8] c"@L_freen\00" @.str11198 = private unnamed_addr constant [2 x i8] c"4\00" @.str11199 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" @.str11200 = private unnamed_addr constant [5 x i8] c", 4\0A\00" @.str11201 = private unnamed_addr constant [9 x i8] c"@L_alive\00" @.str11202 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11203 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" @.str11204 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11205 = private unnamed_addr constant [8 x i8] c"@L_kind\00" @.str11206 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11207 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" @.str11208 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str11209 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str11210 = private unnamed_addr constant [2 x i8] c"4\00" @.str11211 = private unnamed_addr constant [5 x i8] c"%csz\00" @.str11212 = private unnamed_addr constant [3 x i8] c" \00" @.str11213 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str11214 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" @.str11215 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" @.str11216 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str11217 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str11218 = private unnamed_addr constant [5 x i8] c"file\00" @.str11219 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" @.str11220 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str11221 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str11222 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str11223 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str11224 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" @.str11225 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" @.str11226 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11227 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" @.str11228 = private unnamed_addr constant [7 x i8] c"fwrite\00" @.str11229 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" @.str11230 = 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" @.str11231 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" @.str11232 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" @.str11233 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11234 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" @.str11235 = private unnamed_addr constant [6 x i8] c"fread\00" @.str11236 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" @.str11237 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" @.str11238 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" @.str11239 = private unnamed_addr constant [5 x i8] c"save\00" @.str11240 = private unnamed_addr constant [1 x i8] c"\00" @.str11241 = private unnamed_addr constant [5 x i8] c"%wsn\00" @.str11242 = private unnamed_addr constant [3 x i8] c" \00" @.str11243 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str11244 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str11245 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11246 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11247 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11248 = private unnamed_addr constant [5 x i8] c"load\00" @.str11249 = private unnamed_addr constant [1 x i8] c"\00" @.str11250 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11251 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" @.str11252 = private unnamed_addr constant [5 x i8] c"size\00" @.str11253 = private unnamed_addr constant [1 x i8] c"\00" @.str11254 = private unnamed_addr constant [5 x i8] c"%wzn\00" @.str11255 = private unnamed_addr constant [3 x i8] c" \00" @.str11256 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str11257 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str11258 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11259 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11260 = private unnamed_addr constant [5 x i8] c"file\00" @.str11261 = private unnamed_addr constant [3 x i8] c"i8\00" @.str11262 = private unnamed_addr constant [3 x i8] c"i8\00" @.str11263 = private unnamed_addr constant [2 x i8] c"1\00" @.str11264 = private unnamed_addr constant [2 x i8] c"4\00" @.str11265 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" @.str11266 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11267 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str11268 = private unnamed_addr constant [13 x i8] c"@Sync field \00" @.str11269 = private unnamed_addr constant [2 x i8] c".\00" @.str11270 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" @.str11271 = private unnamed_addr constant [7 x i8] c"model \00" @.str11272 = private unnamed_addr constant [9 x i8] c" @Syncs \00" @.str11273 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" @.str11274 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" @.str11275 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str11276 = private unnamed_addr constant [3 x i8] c" \00" @.str11277 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11278 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str11279 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str11280 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str11281 = private unnamed_addr constant [3 x i8] c" \00" @.str11282 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str11283 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11284 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11285 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11286 = private unnamed_addr constant [3 x i8] c" \00" @.str11287 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str11288 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11289 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11290 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11291 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11292 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11293 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11294 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11295 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" @.str11296 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11297 = private unnamed_addr constant [3 x i8] c" \00" @.str11298 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11299 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str11300 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str11301 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str11302 = private unnamed_addr constant [3 x i8] c" \00" @.str11303 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str11304 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11305 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11306 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11307 = private unnamed_addr constant [3 x i8] c" \00" @.str11308 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str11309 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11310 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str11311 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11312 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str11313 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11314 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11315 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str11316 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11317 = 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" @.str11318 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11319 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11320 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11321 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11322 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11323 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11324 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11325 = private unnamed_addr constant [2 x i8] c"h\00" @.str11326 = private unnamed_addr constant [7 x i8] c":\0A %r\00" @.str11327 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" @.str11328 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" @.str11329 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11330 = private unnamed_addr constant [2 x i8] c"n\00" @.str11331 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11332 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str11333 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11334 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11335 = 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" @.str11336 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11337 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11338 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11339 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11340 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11341 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11342 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11343 = private unnamed_addr constant [2 x i8] c"h\00" @.str11344 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" @.str11345 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" @.str11346 = private unnamed_addr constant [2 x i8] c"n\00" @.str11347 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11348 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11349 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" @.str11350 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11351 = 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" @.str11352 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11353 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11354 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11355 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11356 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11357 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11358 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11359 = private unnamed_addr constant [2 x i8] c"h\00" @.str11360 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11361 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11362 = private unnamed_addr constant [2 x i8] c"n\00" @.str11363 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11364 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str11365 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" @.str11366 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str11367 = 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" @.str11368 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" @.str11369 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str11370 = 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" @.str11371 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" @.str11372 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str11373 = 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" @.str11374 = 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" @.str11375 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" @.str11376 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" @.str11377 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" @.str11378 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" @.str11379 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str11380 = 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" @.str11381 = 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" @.str11382 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" @.str11383 = 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" @.str11384 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" @.str11385 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str11386 = 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" @.str11387 = 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" @.str11388 = 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" @.str11389 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" @.str11390 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" @.str11391 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" @.str11392 = 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" @.str11393 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" @.str11394 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str11395 = 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" @.str11396 = 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" @.str11397 = 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" @.str11398 = 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" @.str11399 = 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" @.str11400 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" @.str11401 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str11402 = private unnamed_addr constant [11 x i8] c"L_net_send\00" @.str11403 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str11404 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" @.str11405 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str11406 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str11407 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" @.str11408 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" @.str11409 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" @.str11410 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" @.str11411 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" @.str11412 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11413 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" @.str11414 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11415 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11416 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11417 = private unnamed_addr constant [11 x i8] c", label %x\00" @.str11418 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11419 = private unnamed_addr constant [2 x i8] c"h\00" @.str11420 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11421 = private unnamed_addr constant [2 x i8] c"_\00" @.str11422 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str11423 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" @.str11424 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11425 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str11426 = private unnamed_addr constant [9 x i8] c" = load \00" @.str11427 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str11428 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11429 = private unnamed_addr constant [3 x i8] c", \00" @.str11430 = private unnamed_addr constant [5 x i8] c" %fv\00" @.str11431 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str11432 = private unnamed_addr constant [2 x i8] c"(\00" @.str11433 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11434 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11435 = private unnamed_addr constant [2 x i8] c"x\00" @.str11436 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11437 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11438 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str11439 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str11440 = private unnamed_addr constant [6 x i8] c"panel\00" @.str11441 = private unnamed_addr constant [4 x i8] c"col\00" @.str11442 = private unnamed_addr constant [4 x i8] c"row\00" @.str11443 = private unnamed_addr constant [6 x i8] c"label\00" @.str11444 = private unnamed_addr constant [7 x i8] c"button\00" @.str11445 = private unnamed_addr constant [6 x i8] c"image\00" @.str11446 = private unnamed_addr constant [7 x i8] c"spacer\00" @.str11447 = private unnamed_addr constant [5 x i8] c"font\00" @.str11448 = private unnamed_addr constant [5 x i8] c"size\00" @.str11449 = private unnamed_addr constant [3 x i8] c"fg\00" @.str11450 = private unnamed_addr constant [6 x i8] c"align\00" @.str11451 = private unnamed_addr constant [3 x i8] c"id\00" @.str11452 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" @.str11453 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11454 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11455 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11456 = private unnamed_addr constant [2 x i8] c"w\00" @.str11457 = private unnamed_addr constant [2 x i8] c"h\00" @.str11458 = private unnamed_addr constant [2 x i8] c"x\00" @.str11459 = private unnamed_addr constant [2 x i8] c"y\00" @.str11460 = private unnamed_addr constant [4 x i8] c"pad\00" @.str11461 = private unnamed_addr constant [4 x i8] c"gap\00" @.str11462 = private unnamed_addr constant [3 x i8] c"bg\00" @.str11463 = private unnamed_addr constant [3 x i8] c"fg\00" @.str11464 = private unnamed_addr constant [7 x i8] c"border\00" @.str11465 = private unnamed_addr constant [5 x i8] c"grow\00" @.str11466 = private unnamed_addr constant [5 x i8] c"font\00" @.str11467 = private unnamed_addr constant [5 x i8] c"size\00" @.str11468 = private unnamed_addr constant [6 x i8] c"inset\00" @.str11469 = private unnamed_addr constant [6 x i8] c"focus\00" @.str11470 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" @.str11471 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11472 = private unnamed_addr constant [2 x i8] c"1\00" @.str11473 = private unnamed_addr constant [3 x i8] c"id\00" @.str11474 = private unnamed_addr constant [5 x i8] c"goto\00" @.str11475 = private unnamed_addr constant [5 x i8] c"text\00" @.str11476 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" @.str11477 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11478 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11479 = private unnamed_addr constant [5 x i8] c"skin\00" @.str11480 = private unnamed_addr constant [6 x i8] c"image\00" @.str11481 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" @.str11482 = private unnamed_addr constant [2 x i8] c")\00" @.str11483 = private unnamed_addr constant [5 x i8] c"skin\00" @.str11484 = private unnamed_addr constant [6 x i8] c"align\00" @.str11485 = private unnamed_addr constant [7 x i8] c"center\00" @.str11486 = private unnamed_addr constant [4 x i8] c"end\00" @.str11487 = private unnamed_addr constant [2 x i8] c"1\00" @.str11488 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" @.str11489 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11490 = private unnamed_addr constant [3 x i8] c", \00" @.str11491 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str11492 = private unnamed_addr constant [5 x i8] c"void\00" @.str11493 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" @.str11494 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11495 = private unnamed_addr constant [9 x i8] c" store \00" @.str11496 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str11497 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11498 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11499 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11500 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str11501 = private unnamed_addr constant [5 x i8] c"void\00" @.str11502 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str11503 = private unnamed_addr constant [6 x i8] c"load \00" @.str11504 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" @.str11505 = private unnamed_addr constant [7 x i8] c" ret \00" @.str11506 = private unnamed_addr constant [2 x i8] c" \00" @.str11507 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11508 = private unnamed_addr constant [8 x i8] c"define \00" @.str11509 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str11510 = private unnamed_addr constant [2 x i8] c"(\00" @.str11511 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str11512 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11513 = private unnamed_addr constant [1 x i8] c"\00" @.str11514 = private unnamed_addr constant [4 x i8] c"int\00" @.str11515 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" @.str11516 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11517 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11518 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" @.str11519 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str11520 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str11521 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11522 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11523 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str11524 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" @.str11525 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11526 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11527 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11528 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11529 = private unnamed_addr constant [5 x i8] c"void\00" @.str11530 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11531 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str11532 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" @.str11533 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str11534 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11535 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" @.str11536 = 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" @.str11537 = 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" @.str11538 = 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" @.str11539 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11540 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11541 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11542 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" @.str11543 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" @.str11544 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" @.str11545 = private unnamed_addr constant [6 x i8] c"tfilt\00" @.str11546 = private unnamed_addr constant [7 x i8] c"tbegin\00" @.str11547 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" @.str11548 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11549 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11550 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11551 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11552 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11553 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" @.str11554 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str11555 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str11556 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" @.str11557 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11558 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11559 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11560 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" @.str11561 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11562 = private unnamed_addr constant [8 x i8] c"ok - \00" @.str11563 = private unnamed_addr constant [8 x i8] c"FAIL - \00" @.str11564 = private unnamed_addr constant [5 x i8] c"tcmp\00" @.str11565 = private unnamed_addr constant [5 x i8] c"trun\00" @.str11566 = private unnamed_addr constant [6 x i8] c"tskip\00" @.str11567 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str11568 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str11569 = private unnamed_addr constant [7 x i8] c", null\00" @.str11570 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11571 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11572 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11573 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11574 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11575 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str11576 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11577 = private unnamed_addr constant [2 x i8] c")\00" @.str11578 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11579 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11580 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11581 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11582 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11583 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11584 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11585 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str11586 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11587 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11588 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11589 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" @.str11590 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" @.str11591 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" @.str11592 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11593 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" @.str11594 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11595 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11596 = private unnamed_addr constant [6 x i8] c"tpass\00" @.str11597 = private unnamed_addr constant [6 x i8] c"tfail\00" @.str11598 = private unnamed_addr constant [6 x i8] c"tdone\00" @.str11599 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11600 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11601 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11602 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11603 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11604 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str11605 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11606 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11607 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11608 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11609 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str11610 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11611 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11612 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11613 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" @.str11614 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str11615 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11616 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11617 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11618 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11619 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11620 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11621 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11622 = private unnamed_addr constant [6 x i8] c"tnone\00" @.str11623 = private unnamed_addr constant [5 x i8] c"tsum\00" @.str11624 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str11625 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str11626 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str11627 = private unnamed_addr constant [7 x i8] c", null\00" @.str11628 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11629 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11630 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str11631 = private unnamed_addr constant [3 x i8] c", \00" @.str11632 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11633 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11634 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11635 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11636 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11637 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" @.str11638 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11639 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" @.str11640 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11641 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str11642 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str11643 = private unnamed_addr constant [3 x i8] c", \00" @.str11644 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" @.str11645 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11646 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11647 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11648 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11649 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str11650 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str11651 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11652 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str11653 = private unnamed_addr constant [11 x i8] c"function '\00" @.str11654 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str11655 = private unnamed_addr constant [2 x i8] c":\00" @.str11656 = private unnamed_addr constant [2 x i8] c")\00" @.str11657 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" @.str11658 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str11659 = 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" @.str11660 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" @.str11661 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" @.str11662 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" @.str11663 = private unnamed_addr constant [10 x i8] c" x i32] [\00" @.str11664 = private unnamed_addr constant [3 x i8] c", \00" @.str11665 = private unnamed_addr constant [5 x i8] c"i32 \00" @.str11666 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str11667 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" @.str11668 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str11669 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" @.str11670 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11671 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" @.str11672 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" @.str11673 = private unnamed_addr constant [2 x i8] c"w\00" @.str11674 = 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" @.str11675 = 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" @.str11676 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str11677 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str11678 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" @.str11679 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" @.str11680 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11681 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" @.str11682 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" @.str11683 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" @.str11684 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" @.str11685 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11686 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11687 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" @.str11688 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str11689 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" @.str11690 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11691 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11692 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str11693 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" @.str11694 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" @.str11695 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11696 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" @.str11697 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11698 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" @.str11699 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" @.str11700 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" @.str11701 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" @.str11702 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" @.str11703 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" @.str11704 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" @.str11705 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str11706 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11707 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str11708 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" @.str11709 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str11710 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" @.str11711 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" @.str11712 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" @.str11713 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11714 = 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" @.str11715 = private unnamed_addr constant [3 x i8] c"wb\00" @.str11716 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str11717 = private unnamed_addr constant [2 x i8] c"/\00" @.str11718 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" @.str11719 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" @.str11720 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11721 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" @.str11722 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" @.str11723 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" @.str11724 = private unnamed_addr constant [7 x i8] c"rm -f \00" @.str11725 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" @.str11726 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" @.str11727 = private unnamed_addr constant [3 x i8] c"rb\00" @.str11728 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11729 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11730 = private unnamed_addr constant [6 x i8] c"clang\00" @.str11731 = private unnamed_addr constant [8 x i8] c"VERSION\00" @.str11732 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" @.str11733 = private unnamed_addr constant [7 x i8] c"ludic \00" @.str11734 = private unnamed_addr constant [1 x i8] c"\00" @.str11735 = private unnamed_addr constant [1 x i8] c"\00" @.str11736 = private unnamed_addr constant [2 x i8] c"?\00" @.str11737 = private unnamed_addr constant [1 x i8] c"\00" @.str11738 = private unnamed_addr constant [10 x i8] c"--version\00" @.str11739 = private unnamed_addr constant [11 x i8] c"--windowed\00" @.str11740 = private unnamed_addr constant [11 x i8] c"--headless\00" @.str11741 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" @.str11742 = private unnamed_addr constant [14 x i8] c"--emit-module\00" @.str11743 = private unnamed_addr constant [6 x i8] c"--fmt\00" @.str11744 = private unnamed_addr constant [13 x i8] c"--save-temps\00" @.str11745 = private unnamed_addr constant [6 x i8] c"--run\00" @.str11746 = private unnamed_addr constant [11 x i8] c"--coverage\00" @.str11747 = private unnamed_addr constant [9 x i8] c"--target\00" @.str11748 = private unnamed_addr constant [6 x i8] c"--gui\00" @.str11749 = private unnamed_addr constant [7 x i8] c"--link\00" @.str11750 = private unnamed_addr constant [3 x i8] c"-o\00" @.str11751 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" @.str11752 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11753 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" @.str11754 = private unnamed_addr constant [8 x i8] c"windows\00" @.str11755 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" @.str11756 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str11757 = private unnamed_addr constant [2 x i8] c".\00" @.str11758 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" @.str11759 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" @.str11760 = private unnamed_addr constant [5 x i8] c".exe\00" @.str11761 = private unnamed_addr constant [5 x i8] c".exe\00" @.str11762 = private unnamed_addr constant [4 x i8] c".ll\00" @.str11763 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" @.str11764 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" @.str11765 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" @.str11766 = private unnamed_addr constant [2 x i8] c" \00" @.str11767 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" @.str11768 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" @.str11769 = private unnamed_addr constant [2 x i8] c" \00" @.str11770 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" @.str11771 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" @.str11772 = private unnamed_addr constant [2 x i8] c" \00" @.str11773 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" @.str11774 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" @.str11775 = private unnamed_addr constant [2 x i8] c" \00" @.str11776 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" @.str11777 = private unnamed_addr constant [2 x i8] c" \00" @.str11778 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" @.str11779 = private unnamed_addr constant [2 x i8] c" \00" @.str11780 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" @.str11781 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" @.str11782 = private unnamed_addr constant [2 x i8] c" \00" @.str11783 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" @.str11784 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" @.str11785 = private unnamed_addr constant [2 x i8] c" \00" @.str11786 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" @.str11787 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" @.str11788 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" @.str11789 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" @.str11790 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" @.str11791 = private unnamed_addr constant [2 x i8] c" \00" @.str11792 = private unnamed_addr constant [2 x i8] c" \00" @.str11793 = private unnamed_addr constant [2 x i8] c" \00" @.str11794 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" @.str11795 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" @.str11796 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" @.str11797 = private unnamed_addr constant [2 x i8] c" \00" @.str11798 = private unnamed_addr constant [2 x i8] c" \00" @.str11799 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" @.str11800 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" @.str11801 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" @.str11802 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" @.str11803 = private unnamed_addr constant [2 x i8] c" \00" @.str11804 = private unnamed_addr constant [2 x i8] c" \00" @.str11805 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" @.str11806 = private unnamed_addr constant [3 x i8] c" \22\00" @.str11807 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11808 = private unnamed_addr constant [5 x i8] c" -o \00" @.str11809 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11810 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11811 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" @.str11812 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11813 = 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 } @.str11814 = private unnamed_addr constant [4 x i8] c"png\00" @.str11815 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str11816 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str11817 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11818 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str11819 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11820 = private unnamed_addr constant [4 x i8] c"gif\00" @.str11821 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str11822 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str11823 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str11824 = private unnamed_addr constant [5 x i8] c"webp\00" @.str11825 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str11826 = private unnamed_addr constant [4 x i8] c"svg\00" @.str11827 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str11828 = private unnamed_addr constant [4 x i8] c"txt\00" @.str11829 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str11830 = private unnamed_addr constant [3 x i8] c"md\00" @.str11831 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str11832 = private unnamed_addr constant [4 x i8] c"csv\00" @.str11833 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str11834 = private unnamed_addr constant [5 x i8] c"html\00" @.str11835 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11836 = private unnamed_addr constant [4 x i8] c"htm\00" @.str11837 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11838 = private unnamed_addr constant [4 x i8] c"css\00" @.str11839 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str11840 = private unnamed_addr constant [3 x i8] c"js\00" @.str11841 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str11842 = private unnamed_addr constant [5 x i8] c"json\00" @.str11843 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str11844 = private unnamed_addr constant [4 x i8] c"xml\00" @.str11845 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str11846 = private unnamed_addr constant [4 x i8] c"zip\00" @.str11847 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str11848 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str11849 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str11850 = private unnamed_addr constant [4 x i8] c"wav\00" @.str11851 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str11852 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str11853 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str11854 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str11855 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str11856 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str11857 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str11858 = private unnamed_addr constant [4 x i8] c"otf\00" @.str11859 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str11860 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str11861 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str11862 = 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 @.str11814, ptr @.str11815 }, { ptr, ptr } { ptr @.str11816, ptr @.str11817 }, { ptr, ptr } { ptr @.str11818, ptr @.str11819 }, { ptr, ptr } { ptr @.str11820, ptr @.str11821 }, { ptr, ptr } { ptr @.str11822, ptr @.str11823 }, { ptr, ptr } { ptr @.str11824, ptr @.str11825 }, { ptr, ptr } { ptr @.str11826, ptr @.str11827 }, { ptr, ptr } { ptr @.str11828, ptr @.str11829 }, { ptr, ptr } { ptr @.str11830, ptr @.str11831 }, { ptr, ptr } { ptr @.str11832, ptr @.str11833 }, { ptr, ptr } { ptr @.str11834, ptr @.str11835 }, { ptr, ptr } { ptr @.str11836, ptr @.str11837 }, { ptr, ptr } { ptr @.str11838, ptr @.str11839 }, { ptr, ptr } { ptr @.str11840, ptr @.str11841 }, { ptr, ptr } { ptr @.str11842, ptr @.str11843 }, { ptr, ptr } { ptr @.str11844, ptr @.str11845 }, { ptr, ptr } { ptr @.str11846, ptr @.str11847 }, { ptr, ptr } { ptr @.str11848, ptr @.str11849 }, { ptr, ptr } { ptr @.str11850, ptr @.str11851 }, { ptr, ptr } { ptr @.str11852, ptr @.str11853 }, { ptr, ptr } { ptr @.str11854, ptr @.str11855 }, { ptr, ptr } { ptr @.str11856, ptr @.str11857 }, { ptr, ptr } { ptr @.str11858, ptr @.str11859 }, { ptr, ptr } { ptr @.str11860, ptr @.str11861 }] 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 @.str11862) 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 %t1111 = alloca i32 %t1132 = alloca i32 %t1133 = alloca i32 %t1134 = alloca i32 %t1135 = alloca i32 %t1136 = alloca i32 %t1190 = alloca i32 %t1215 = alloca ptr %t1221 = alloca ptr %t1233 = alloca ptr %t1244 = alloca ptr %t1260 = alloca i32 %t1270 = 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_gl 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_vk br label %ifend244 ifend244: %t1112 = load ptr, ptr %t1 %t1113 = getelementptr inbounds %Cmp_Node, ptr %t1112, i32 0, i32 4 %t1114 = load ptr, ptr %t1113 %t1115 = getelementptr inbounds %Cmp_Node, ptr %t1114, i32 0, i32 0 %t1116 = load i32, ptr %t1115 %t1117 = icmp eq i32 %t1116, 33 %t1118 = zext i1 %t1117 to i32 %t1119 = icmp ne i32 %t1118, 0 %t1120 = zext i1 %t1119 to i32 store i32 %t1120, ptr %t1111 br i1 %t1119, label %sc245, label %scend246 sc245: %t1121 = load ptr, ptr %t1 %t1122 = getelementptr inbounds %Cmp_Node, ptr %t1121, i32 0, i32 4 %t1123 = load ptr, ptr %t1122 %t1124 = getelementptr inbounds %Cmp_Node, ptr %t1123, i32 0, i32 1 %t1125 = load ptr, ptr %t1124 %t1126 = call i32 @lp_str_eq(ptr %t1125, ptr @.str147) %t1127 = icmp ne i32 %t1126, 0 %t1128 = zext i1 %t1127 to i32 store i32 %t1128, ptr %t1111 br label %scend246 scend246: %t1129 = load i32, ptr %t1111 %t1130 = icmp ne i32 %t1129, 0 %t1131 = zext i1 %t1130 to i32 store i32 %t1131, ptr %t1110 br i1 %t1130, label %sc247, label %scend248 sc247: %t1137 = load ptr, ptr %t1 %t1138 = getelementptr inbounds %Cmp_Node, ptr %t1137, i32 0, i32 1 %t1139 = load ptr, ptr %t1138 %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str148) %t1141 = icmp ne i32 %t1140, 0 %t1142 = zext i1 %t1141 to i32 store i32 %t1142, ptr %t1136 br i1 %t1141, label %scend250, label %sc249 sc249: %t1143 = load ptr, ptr %t1 %t1144 = getelementptr inbounds %Cmp_Node, ptr %t1143, i32 0, i32 1 %t1145 = load ptr, ptr %t1144 %t1146 = call i32 @lp_str_eq(ptr %t1145, ptr @.str149) %t1147 = icmp ne i32 %t1146, 0 %t1148 = zext i1 %t1147 to i32 store i32 %t1148, ptr %t1136 br label %scend250 scend250: %t1149 = load i32, ptr %t1136 %t1150 = icmp ne i32 %t1149, 0 %t1151 = zext i1 %t1150 to i32 store i32 %t1151, ptr %t1135 br i1 %t1150, label %scend252, label %sc251 sc251: %t1152 = load ptr, ptr %t1 %t1153 = getelementptr inbounds %Cmp_Node, ptr %t1152, i32 0, i32 1 %t1154 = load ptr, ptr %t1153 %t1155 = call i32 @lp_str_eq(ptr %t1154, ptr @.str150) %t1156 = icmp ne i32 %t1155, 0 %t1157 = zext i1 %t1156 to i32 store i32 %t1157, ptr %t1135 br label %scend252 scend252: %t1158 = load i32, ptr %t1135 %t1159 = icmp ne i32 %t1158, 0 %t1160 = zext i1 %t1159 to i32 store i32 %t1160, ptr %t1134 br i1 %t1159, label %scend254, label %sc253 sc253: %t1161 = load ptr, ptr %t1 %t1162 = getelementptr inbounds %Cmp_Node, ptr %t1161, i32 0, i32 1 %t1163 = load ptr, ptr %t1162 %t1164 = call i32 @lp_str_eq(ptr %t1163, ptr @.str151) %t1165 = icmp ne i32 %t1164, 0 %t1166 = zext i1 %t1165 to i32 store i32 %t1166, ptr %t1134 br label %scend254 scend254: %t1167 = load i32, ptr %t1134 %t1168 = icmp ne i32 %t1167, 0 %t1169 = zext i1 %t1168 to i32 store i32 %t1169, ptr %t1133 br i1 %t1168, label %scend256, label %sc255 sc255: %t1170 = load ptr, ptr %t1 %t1171 = getelementptr inbounds %Cmp_Node, ptr %t1170, i32 0, i32 1 %t1172 = load ptr, ptr %t1171 %t1173 = call i32 @lp_str_eq(ptr %t1172, ptr @.str152) %t1174 = icmp ne i32 %t1173, 0 %t1175 = zext i1 %t1174 to i32 store i32 %t1175, ptr %t1133 br label %scend256 scend256: %t1176 = load i32, ptr %t1133 %t1177 = icmp ne i32 %t1176, 0 %t1178 = zext i1 %t1177 to i32 store i32 %t1178, ptr %t1132 br i1 %t1177, label %scend258, label %sc257 sc257: %t1179 = load ptr, ptr %t1 %t1180 = getelementptr inbounds %Cmp_Node, ptr %t1179, i32 0, i32 1 %t1181 = load ptr, ptr %t1180 %t1182 = call i32 @lp_str_eq(ptr %t1181, ptr @.str153) %t1183 = icmp ne i32 %t1182, 0 %t1184 = zext i1 %t1183 to i32 store i32 %t1184, ptr %t1132 br label %scend258 scend258: %t1185 = load i32, ptr %t1132 %t1186 = icmp ne i32 %t1185, 0 %t1187 = zext i1 %t1186 to i32 store i32 %t1187, ptr %t1110 br label %scend248 scend248: %t1188 = load i32, ptr %t1110 %t1189 = icmp ne i32 %t1188, 0 br i1 %t1189, label %then259, label %ifend261 then259: store i32 1, ptr @g_g_uses_tween_rt br label %ifend261 ifend261: %t1191 = load ptr, ptr %t1 %t1192 = getelementptr inbounds %Cmp_Node, ptr %t1191, i32 0, i32 4 %t1193 = load ptr, ptr %t1192 %t1194 = getelementptr inbounds %Cmp_Node, ptr %t1193, i32 0, i32 0 %t1195 = load i32, ptr %t1194 %t1196 = icmp eq i32 %t1195, 33 %t1197 = zext i1 %t1196 to i32 %t1198 = icmp ne i32 %t1197, 0 %t1199 = zext i1 %t1198 to i32 store i32 %t1199, ptr %t1190 br i1 %t1198, label %sc262, label %scend263 sc262: %t1200 = load ptr, ptr %t1 %t1201 = getelementptr inbounds %Cmp_Node, ptr %t1200, i32 0, i32 4 %t1202 = load ptr, ptr %t1201 %t1203 = getelementptr inbounds %Cmp_Node, ptr %t1202, i32 0, i32 1 %t1204 = load ptr, ptr %t1203 %t1205 = call i32 @lp_str_eq(ptr %t1204, ptr @.str154) %t1206 = icmp ne i32 %t1205, 0 %t1207 = zext i1 %t1206 to i32 store i32 %t1207, ptr %t1190 br label %scend263 scend263: %t1208 = load i32, ptr %t1190 %t1209 = icmp ne i32 %t1208, 0 br i1 %t1209, label %then264, label %ifend266 then264: store i32 1, ptr @g_g_uses_fx br label %ifend266 ifend266: br label %ifend5 else4: %t1210 = call i32 @fn_is_op(ptr @.str155) %t1211 = icmp ne i32 %t1210, 0 br i1 %t1211, label %then267, label %else268 then267: %t1212 = load i32, ptr @g_pi %t1213 = add i32 %t1212, 1 store i32 %t1213, ptr @g_pi %t1214 = call ptr @fn_expr() store ptr %t1214, ptr %t1215 %t1216 = call i32 @fn_is_op(ptr @.str156) %t1217 = icmp ne i32 %t1216, 0 br i1 %t1217, label %then270, label %else271 then270: %t1218 = load i32, ptr @g_pi %t1219 = add i32 %t1218, 1 store i32 %t1219, ptr @g_pi %t1220 = call ptr @fn_node(i32 44) store ptr %t1220, ptr %t1221 %t1222 = load ptr, ptr %t1221 %t1223 = getelementptr inbounds %Cmp_Node, ptr %t1222, i32 0, i32 4 %t1224 = load ptr, ptr %t1 store ptr %t1224, ptr %t1223 %t1225 = load ptr, ptr %t1221 %t1226 = getelementptr inbounds %Cmp_Node, ptr %t1225, i32 0, i32 5 %t1227 = load ptr, ptr %t1215 store ptr %t1227, ptr %t1226 %t1228 = load ptr, ptr %t1221 %t1229 = getelementptr inbounds %Cmp_Node, ptr %t1228, i32 0, i32 6 %t1230 = call ptr @fn_expr() store ptr %t1230, ptr %t1229 call void @fn_eat_op(ptr @.str157) %t1231 = load ptr, ptr %t1221 store ptr %t1231, ptr %t1 br label %ifend272 else271: %t1232 = call ptr @fn_node(i32 36) store ptr %t1232, ptr %t1233 %t1234 = load ptr, ptr %t1233 %t1235 = getelementptr inbounds %Cmp_Node, ptr %t1234, i32 0, i32 4 %t1236 = load ptr, ptr %t1 store ptr %t1236, ptr %t1235 %t1237 = load ptr, ptr %t1233 %t1238 = getelementptr inbounds %Cmp_Node, ptr %t1237, i32 0, i32 5 %t1239 = load ptr, ptr %t1215 store ptr %t1239, ptr %t1238 call void @fn_eat_op(ptr @.str158) %t1240 = load ptr, ptr %t1233 store ptr %t1240, ptr %t1 br label %ifend272 ifend272: br label %ifend269 else268: %t1241 = call i32 @fn_is_op(ptr @.str159) %t1242 = icmp ne i32 %t1241, 0 br i1 %t1242, label %then273, label %else274 then273: %t1243 = call ptr @fn_node(i32 34) store ptr %t1243, ptr %t1244 %t1245 = load ptr, ptr %t1244 %t1246 = getelementptr inbounds %Cmp_Node, ptr %t1245, i32 0, i32 4 %t1247 = load ptr, ptr %t1 store ptr %t1247, ptr %t1246 %t1248 = load ptr, ptr %t1244 %t1249 = getelementptr inbounds %Cmp_Node, ptr %t1248, i32 0, i32 8 %t1250 = load ptr, ptr @g_toks %t1251 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 0 %t1252 = load ptr, ptr %t1251 %t1253 = load i32, ptr @g_pi %t1254 = getelementptr inbounds ptr, ptr %t1252, i32 %t1253 %t1255 = load ptr, ptr %t1254 %t1256 = getelementptr inbounds %Cmp_Tok, ptr %t1255, i32 0, i32 3 %t1257 = load i32, ptr %t1256 store i32 %t1257, ptr %t1249 %t1258 = load ptr, ptr %t1244 call void @fn_args_call(ptr %t1258) %t1259 = load ptr, ptr %t1244 store ptr %t1259, ptr %t1 %t1261 = load ptr, ptr %t1244 %t1262 = getelementptr inbounds %Cmp_Node, ptr %t1261, i32 0, i32 4 %t1263 = load ptr, ptr %t1262 %t1264 = getelementptr inbounds %Cmp_Node, ptr %t1263, i32 0, i32 0 %t1265 = load i32, ptr %t1264 %t1266 = icmp eq i32 %t1265, 33 %t1267 = zext i1 %t1266 to i32 %t1268 = icmp ne i32 %t1267, 0 %t1269 = zext i1 %t1268 to i32 store i32 %t1269, ptr %t1260 br i1 %t1268, label %sc276, label %scend277 sc276: %t1271 = load ptr, ptr %t1244 %t1272 = getelementptr inbounds %Cmp_Node, ptr %t1271, i32 0, i32 4 %t1273 = load ptr, ptr %t1272 %t1274 = getelementptr inbounds %Cmp_Node, ptr %t1273, i32 0, i32 1 %t1275 = load ptr, ptr %t1274 %t1276 = call i32 @lp_str_eq(ptr %t1275, ptr @.str160) %t1277 = icmp ne i32 %t1276, 0 %t1278 = zext i1 %t1277 to i32 store i32 %t1278, ptr %t1270 br i1 %t1277, label %scend279, label %sc278 sc278: %t1279 = load ptr, ptr %t1244 %t1280 = getelementptr inbounds %Cmp_Node, ptr %t1279, i32 0, i32 4 %t1281 = load ptr, ptr %t1280 %t1282 = getelementptr inbounds %Cmp_Node, ptr %t1281, i32 0, i32 1 %t1283 = load ptr, ptr %t1282 %t1284 = call i32 @lp_str_eq(ptr %t1283, ptr @.str161) %t1285 = icmp ne i32 %t1284, 0 %t1286 = zext i1 %t1285 to i32 store i32 %t1286, ptr %t1270 br label %scend279 scend279: %t1287 = load i32, ptr %t1270 %t1288 = icmp ne i32 %t1287, 0 %t1289 = zext i1 %t1288 to i32 store i32 %t1289, ptr %t1260 br label %scend277 scend277: %t1290 = load i32, ptr %t1260 %t1291 = icmp ne i32 %t1290, 0 br i1 %t1291, label %then280, label %ifend282 then280: %t1292 = load ptr, ptr %t1244 %t1293 = getelementptr inbounds %Cmp_Node, ptr %t1292, i32 0, i32 4 %t1294 = load ptr, ptr %t1293 %t1295 = getelementptr inbounds %Cmp_Node, ptr %t1294, i32 0, i32 1 %t1296 = load ptr, ptr %t1295 call void @fn_warn_draw_sprite(ptr %t1296) br label %ifend282 ifend282: br label %ifend275 else274: br label %wend2 ifend275: br label %ifend269 ifend269: br label %ifend5 ifend5: br label %wcond0 wend2: %t1297 = load ptr, ptr %t1 store ptr %t1297, ptr %retval br label %ret ret: %t1298 = load ptr, ptr %retval ret ptr %t1298 } 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 @.str162) %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 @.str163, 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 @.str164) %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 @.str165, 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 @.str166) %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 @.str167, 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 @.str168) %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 @.str169) %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 @.str170) %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 @.str171) %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 @.str172) %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 @.str173) %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 @.str174) %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 @.str175) %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 @.str176) %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 @.str177) %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 @.str178) %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 @.str179) %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 @.str180) %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 @.str181) %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 @.str182) %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 @.str183) %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 @.str184) %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 @.str185, 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 @.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_and() %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_record() { entry: %retval = alloca ptr %t1 = alloca ptr %t6 = alloca ptr call void @fn_eat_op(ptr @.str188) %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 @.str189) %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 @.str190) %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 @.str191) %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 @.str192) %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 @.str193) %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 @.str194) %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 @.str195) %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 @.str196) br label %ifend13 ifend13: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str197) %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 @.str198) %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 @.str199) %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 @.str200) %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 @.str201) %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 @.str202) %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 @.str203) %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 @.str204) %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 @.str205) %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 @.str206) %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 @.str207) %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 @.str208) %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 @.str209) %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 @.str210) %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 @.str211) %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 @.str212) %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 @.str213) %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 @.str214) 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 @.str215) %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 @.str216) %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 @.str217) %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 @.str218) %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 @.str219) %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 @.str220) %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 @.str221) %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 @.str222) %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 @.str223) %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 @.str224) %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 @.str225, 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 @.str226) %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 @.str227, 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 @.str228) %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 @.str229) %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 @.str230) %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 @.str231) 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 @.str232) %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 @.str233) %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 @.str234) %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 @.str235) 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 @.str236) %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 @.str237) %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 @.str238) %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 @.str239) %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 @.str240) 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 @.str241) %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 @.str242) %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 @.str243) call void @fn_skipnl() %t497 = call i32 @fn_is_op(ptr @.str244) %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 @.str245) %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 @.str246) %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 @.str247) %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 @.str248) %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 @.str249) %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 @.str250) %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 @.str251) %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 @.str252) %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 @.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 call void @fn_eat_op(ptr @.str254) %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 @.str255) %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 @.str256) %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 @.str257) %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 @.str258) %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 @.str259) %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 @.str260) %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 @.str261) %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 @.str262) %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 @.str263) %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 @.str264) %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 @.str265) %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 @.str266) %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 @.str267) %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 @.str268) %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 @.str269) %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 @.str270) %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 @.str271) %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 @.str272) %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 @.str273) %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 @.str274) %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 @.str275) %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 @.str276) %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 @.str277) %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 @.str278) %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 @.str279) %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 @.str280) %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 @.str281) %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 @.str282) %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 @.str283) %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 @.str284) %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 @.str285) %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 @.str286) %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 @.str287) %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 @.str288) %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 @.str289) %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 @.str290) %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 @.str291) %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 @.str292) %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 @.str293) %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 @.str294, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str295) call void @fn_perr(ptr %t16) br label %ifend2 ifend2: br label %wcond3 wcond3: %t17 = call i32 @fn_is_op(ptr @.str296) %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 @.str297) %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 @.str298) %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 @.str299) %t55 = load ptr, ptr %t3 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 store ptr @.str300, ptr %t56 %t57 = call i32 @fn_is_op(ptr @.str301) %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 @.str302) 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 @.str303) %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 @.str304) %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 @.str305) %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 @.str306) %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 @.str307) 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 @.str308) %t106 = load ptr, ptr %t3 %t107 = call ptr @fn_ns_lower(ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str309) 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 @.str310) 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 @.str311) 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 @.str312, 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 @.str313) 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 @.str314, 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 @.str315) %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 @.str316) 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 @.str317, 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 @.str318) 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 @.str319) %t71 = call ptr @lp_pak_open(ptr %t70, ptr @.str320) 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 @.str321, 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 @.str322, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str323) 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 @.str324) %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 @.str325) %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 @.str326) %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 @.str327) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then9, label %else10 then9: call void @fn_eat_op(ptr @.str328) %t36 = call ptr @fn_eat_id() store ptr %t36, ptr %t9 call void @fn_eat_op(ptr @.str329) br label %ifend11 else10: %t37 = load ptr, ptr %t26 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str330) %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 @.str331) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then15, label %else16 then15: call void @fn_eat_op(ptr @.str332) %t44 = call ptr @fn_eat_id() store ptr %t44, ptr %t2 call void @fn_eat_op(ptr @.str333) br label %ifend17 else16: %t45 = load ptr, ptr %t26 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str334) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then18, label %else19 then18: call void @fn_eat_op(ptr @.str335) %t48 = call ptr @fn_eat_id() store ptr %t48, ptr %t3 %t49 = call i32 @fn_is_op(ptr @.str336) %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 @.str337) %t54 = call ptr @fn_eat_id() store ptr %t54, ptr %t4 br label %ifend23 ifend23: call void @fn_eat_op(ptr @.str338) br label %ifend20 else19: %t55 = load ptr, ptr %t26 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str339) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then24, label %else25 then24: call void @fn_eat_op(ptr @.str340) %t58 = call ptr @fn_eat_id() store ptr %t58, ptr %t5 call void @fn_eat_op(ptr @.str341) br label %ifend26 else25: %t59 = load ptr, ptr %t26 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str342) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then27, label %else28 then27: call void @fn_eat_op(ptr @.str343) %t62 = call ptr @fn_eat_id() store ptr %t62, ptr %t6 call void @fn_eat_op(ptr @.str344) br label %ifend29 else28: %t63 = load ptr, ptr %t26 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str345) %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then30, label %else31 then30: call void @fn_eat_op(ptr @.str346) %t66 = call ptr @fn_eat_id() store ptr %t66, ptr %t7 call void @fn_eat_op(ptr @.str347) br label %ifend32 else31: %t67 = load ptr, ptr %t26 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str348) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then33, label %else34 then33: call void @fn_eat_op(ptr @.str349) %t70 = call ptr @fn_eat_id() store ptr %t70, ptr %t8 call void @fn_eat_op(ptr @.str350) br label %ifend35 else34: %t71 = load ptr, ptr %t26 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str351) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then36, label %else37 then36: store ptr @.str352, ptr %t11 br label %ifend38 else37: %t74 = load ptr, ptr %t26 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str353) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then39, label %else40 then39: store ptr @.str354, ptr %t11 br label %ifend41 else40: %t77 = load ptr, ptr %t26 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str355) %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 @.str356) %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 @.str357) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then48, label %else49 then48: store ptr @.str358, ptr %t14 br label %ifend50 else49: %t86 = load ptr, ptr %t26 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str359) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then51, label %else52 then51: store ptr @.str360, ptr %t14 br label %ifend53 else52: %t89 = load ptr, ptr %t26 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str361) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then54, label %else55 then54: store ptr @.str362, ptr %t15 br label %ifend56 else55: %t92 = load ptr, ptr %t26 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str363) %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then57, label %else58 then57: store ptr @.str364, ptr %t15 br label %ifend59 else58: %t95 = load ptr, ptr %t26 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str365) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then60, label %else61 then60: store ptr @.str366, ptr %t16 %t98 = call i32 @fn_is_op(ptr @.str367) %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 @.str368) br label %ifend65 ifend65: br label %ifend62 else61: %t103 = load ptr, ptr %t26 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str369) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then66, label %else67 then66: call void @fn_eat_op(ptr @.str370) %t106 = call ptr @fn_eat_id() store ptr %t106, ptr %t17 call void @fn_eat_op(ptr @.str371) %t107 = call ptr @fn_eat_id() store ptr %t107, ptr %t18 call void @fn_eat_op(ptr @.str372) br label %ifend68 else67: %t108 = load ptr, ptr %t26 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str373) %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then69, label %else70 then69: call void @fn_eat_op(ptr @.str374) %t111 = call ptr @fn_eat_id() store ptr %t111, ptr %t19 call void @fn_eat_op(ptr @.str375) br label %ifend71 else70: %t112 = load ptr, ptr %t26 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str376) %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 @.str377) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then75, label %else76 then75: call void @fn_eat_op(ptr @.str378) %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 @.str379) br label %ifend77 else76: %t119 = call i32 @fn_is_op(ptr @.str380) %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 @.str381) %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 @.str382) %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 @.str383) %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 @.str384) 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 @.str385) %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 @.str386) %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 @.str387) %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 @.str388) %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 @.str389) %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 @.str390) %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 @.str391) %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 @.str392) %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 @.str393, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str394) 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 @.str395, ptr %t365) %t367 = call ptr @lp_str_concat(ptr %t366, ptr @.str396) 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 @.str397, ptr %t378) %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str398) 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 @.str399, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str400) 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 @.str401, ptr %t404) %t406 = call ptr @lp_str_concat(ptr %t405, ptr @.str402) 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 @.str403, ptr %t417) %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str404) 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 @.str405) %t431 = icmp ne i32 %t430, 0 br i1 %t431, label %then196, label %else197 then196: call void @fn_ensure_event_empty(ptr @.str406) br label %ifend198 else197: call void @fn_ensure_event_empty(ptr @.str407) 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 @.str408) %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 @.str409) %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 @.str410) %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 @.str411) %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 @.str412) %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 @.str413) %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 @.str414) %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 @.str415) %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 @.str416, 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 @.str417) 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 @.str418) 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 @.str419, 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 @.str420) %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 @.str421) %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 @.str422) %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 @.str423, 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 @.str424) store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str425) 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 @.str426) %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 @.str427) %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 @.str428, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str429) %t52 = load ptr, ptr %t26 %t53 = call ptr @lp_str_concat(ptr %t51, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str430) 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 @.str431, ptr @.str432) %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 @.str433) %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 @.str434, ptr %t187) call void @fn_perr(ptr %t188) br label %ifend46 ifend46: store ptr @.str435, 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 %t72 = alloca i32 %t101 = 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 @.str436, ptr @g_cur_dir call void @fn_do_import(ptr @.str437) %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 @.str438, ptr @g_cur_dir call void @fn_do_import(ptr @.str439) call void @fn_do_import(ptr @.str440) %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 @.str441, ptr @g_cur_dir call void @fn_do_import(ptr @.str442) %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 @.str443, ptr @g_cur_dir call void @fn_do_import(ptr @.str444) %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 @.str445, ptr @g_cur_dir call void @fn_do_import(ptr @.str446) %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 @.str447, ptr @g_cur_dir call void @fn_do_import(ptr @.str448) %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 @.str449, ptr @g_cur_dir call void @fn_do_import(ptr @.str450) %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 @.str451, ptr @g_cur_dir call void @fn_do_import(ptr @.str452) %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 @.str453, ptr @g_cur_dir call void @fn_do_import(ptr @.str454) %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 @.str455, ptr @g_cur_dir call void @fn_do_import(ptr @.str456) %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 @.str457, ptr @g_cur_dir call void @fn_do_import(ptr @.str458) call void @fn_do_import(ptr @.str459) call void @fn_do_import(ptr @.str460) %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 @.str461, ptr @g_cur_dir call void @fn_do_import(ptr @.str462) call void @fn_do_import(ptr @.str463) %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 @.str464, ptr @g_cur_dir call void @fn_do_import(ptr @.str465) call void @fn_do_import(ptr @.str466) call void @fn_do_import(ptr @.str467) %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 @.str468, ptr @g_cur_dir call void @fn_do_import(ptr @.str469) call void @fn_do_import(ptr @.str470) call void @fn_do_import(ptr @.str471) call void @fn_do_import(ptr @.str472) call void @fn_do_import(ptr @.str473) call void @fn_do_import(ptr @.str474) call void @fn_do_import(ptr @.str475) %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 @.str476) 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 @.str477, ptr @g_cur_dir call void @fn_do_import(ptr @.str478) %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 @.str479, ptr @g_cur_dir call void @fn_do_import(ptr @.str480) call void @fn_do_import(ptr @.str481) %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 @.str482, ptr @g_cur_dir call void @fn_do_import(ptr @.str483) call void @fn_do_import(ptr @.str484) %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 @.str485, ptr @g_cur_dir call void @fn_do_import(ptr @.str486) %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 @.str487, ptr @g_cur_dir call void @fn_do_import(ptr @.str488) %t60 = load ptr, ptr %t1 store ptr %t60, ptr @g_cur_dir br label %ifend59 ifend59: %t61 = load i32, ptr @g_g_uses_gl %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then60, label %ifend62 then60: store ptr @.str489, ptr @g_cur_dir call void @fn_do_import(ptr @.str490) %t63 = load ptr, ptr %t1 store ptr %t63, ptr @g_cur_dir br label %ifend62 ifend62: %t64 = load i32, ptr @g_g_uses_vk %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then63, label %ifend65 then63: store ptr @.str491, ptr @g_cur_dir call void @fn_do_import(ptr @.str492) %t66 = load ptr, ptr %t1 store ptr %t66, ptr @g_cur_dir br label %ifend65 ifend65: %t67 = load i32, ptr @g_g_uses_anim_rt %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then66, label %ifend68 then66: store i32 1, ptr @g_g_uses_esys store ptr @.str493, ptr @g_cur_dir call void @fn_do_import(ptr @.str494) call void @fn_do_import(ptr @.str495) %t69 = load ptr, ptr %t1 store ptr %t69, ptr @g_cur_dir br label %ifend68 ifend68: %t70 = call i32 @fn_uses_engine_systems() %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then69, label %ifend71 then69: store i32 1, ptr @g_g_uses_esys store ptr @.str496, ptr @g_cur_dir %t73 = call ptr @fn_find_comp(ptr @.str497) %t74 = icmp ne ptr %t73, null %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t72 br i1 %t76, label %scend73, label %sc72 sc72: %t78 = call ptr @fn_find_comp(ptr @.str498) %t79 = icmp ne ptr %t78, null %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t72 br label %scend73 scend73: %t83 = load i32, ptr %t72 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then74, label %ifend76 then74: call void @fn_do_import(ptr @.str499) br label %ifend76 ifend76: %t85 = call ptr @fn_find_comp(ptr @.str500) %t86 = icmp ne ptr %t85, null %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then77, label %ifend79 then77: call void @fn_do_import(ptr @.str501) call void @fn_do_import(ptr @.str502) br label %ifend79 ifend79: %t89 = call ptr @fn_find_comp(ptr @.str503) %t90 = icmp ne ptr %t89, null %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then80, label %ifend82 then80: call void @fn_do_import(ptr @.str504) call void @fn_do_import(ptr @.str505) br label %ifend82 ifend82: %t93 = call ptr @fn_find_comp(ptr @.str506) %t94 = icmp ne ptr %t93, null %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then83, label %ifend85 then83: call void @fn_do_import(ptr @.str507) call void @fn_do_import(ptr @.str508) br label %ifend85 ifend85: %t97 = call ptr @fn_find_comp(ptr @.str509) %t98 = icmp ne ptr %t97, null %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then86, label %ifend88 then86: call void @fn_do_import(ptr @.str510) br label %ifend88 ifend88: %t102 = call ptr @fn_find_comp(ptr @.str511) %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 %t101 br i1 %t105, label %scend90, label %sc89 sc89: %t107 = call ptr @fn_find_comp(ptr @.str512) %t108 = icmp ne ptr %t107, null %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t101 br label %scend90 scend90: %t112 = load i32, ptr %t101 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then91, label %ifend93 then91: call void @fn_do_import(ptr @.str513) call void @fn_do_import(ptr @.str514) store i32 1, ptr @g_g_uses_light br label %ifend93 ifend93: %t114 = load ptr, ptr %t1 store ptr %t114, ptr @g_cur_dir br label %ifend71 ifend71: 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 @.str515, 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 @.str516, 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 @.str517, 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 @.str518, 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 @.str519, 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 @.str520, 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 @.str521, 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 @.str522, 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 @.str523, 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 @.str524, 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 @.str525, 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 @.str526, 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 @.str527, 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 @.str528, 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 @.str529, 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 @.str530, 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 @.str531, 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 @.str532, 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 @.str533, 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 @.str534, 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 @.str535, 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 @.str536, ptr @g_g_game_name br label %wcond42 wcond42: %t537 = call i32 @fn_is_id(ptr @.str537) %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 @.str538) %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 @.str539) %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 @.str540) %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 @.str541) %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 @.str542) %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 @.str543) 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 @.str544) %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 @.str545) 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 @.str546) %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 @.str547) %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 @.str548) %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 @.str549) %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 @.str550) %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 @.str551) %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 @.str552) %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 @.str553) %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 @.str554) %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 @.str555) 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 @.str556) %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 @.str557) %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 @.str558) %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 @.str559) %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 @.str560) %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 @.str561, 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 @.str562) %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 @.str563) %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 @.str564) %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 @.str565) %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 @.str566) %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 @.str567, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str568) 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 @.str569) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str570) %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 @.str571) %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 @.str572) 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 @.str573) %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 @.str574) %t72 = call i32 @fn_is_id(ptr @.str575) %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 @.str576) br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str577) %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 @.str578) %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 @.str579) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 %t39 = call i32 @fn_is_id(ptr @.str580) %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 @.str581) 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 @.str582, 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 @.str583) %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 @.str584) %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 @.str585) %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 @.str586) %t13 = load ptr, ptr %t12 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str587) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: call void @fn_eat_op(ptr @.str588) call void @fn_skipnl() br label %wcond9 wcond9: %t16 = call i32 @fn_is_op(ptr @.str589) %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 @.str590) %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 @.str591) %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 @.str592) %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 @.str593) br label %ifend8 else7: %t98 = load ptr, ptr %t12 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str594) %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 @.str595) %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 @.str596) %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 @.str597) %t7 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t7) call void @fn_eat_op(ptr @.str598) %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 @.str599) %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 @.str600) %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 @.str601) %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 @.str602) %t10 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t10) call void @fn_eat_op(ptr @.str603) %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 @.str604) %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 @.str605) %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 @.str606) %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 @.str607) %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 @.str608) %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 @.str609) %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 @.str610) %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 @.str611) %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 @.str612) %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 @.str613) 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 @.str614) %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 @.str615) %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 @.str616) 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 @.str617, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str618) 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 @.str619, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str620) call void @fn_ensure_event_empty(ptr %t94) br label %ifend31 ifend31: call void @fn_skipnl() call void @fn_eat_op(ptr @.str621) 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 @.str622) %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 @.str623) %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 @.str624) %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 @.str625) %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 @.str626) br label %ifend46 ifend46: br label %ifend43 ifend43: br label %wcond32 ifend40: %t116 = call i32 @fn_is_id(ptr @.str627) %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 @.str628) %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 @.str629, ptr %t126) %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str630) call void @fn_ensure_event_empty(ptr %t128) %t129 = load ptr, ptr %t121 %t130 = call ptr @lp_str_concat(ptr @.str631, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str632) call void @fn_ensure_event_empty(ptr %t131) br label %ifend52 ifend52: call void @fn_skipnl() call void @fn_eat_op(ptr @.str633) %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 @.str634) %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 @.str635) %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 @.str636) %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 @.str637, ptr %t151) %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str638) 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 @.str639) %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 @.str640) 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 @.str641) %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 @.str642) br label %wcond32 ifend49: call void @fn_perr(ptr @.str643) br label %wcond32 wend34: call void @fn_eat_op(ptr @.str644) %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 @.str645) store ptr %t9, ptr %t5 %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 store ptr @.str646, 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 @.str647, 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 @.str648, 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 @.str649, 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 @.str650, 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 @.str651) store ptr %t191, ptr %t187 %t192 = load ptr, ptr %t185 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 store ptr @.str652, 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 @.str653, 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 @.str654, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str655) 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 @.str656, 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 @.str657, 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 @.str658) store ptr %t142, ptr %t138 %t143 = load ptr, ptr %t136 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 3 store ptr @.str659, 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 @.str660, 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 @.str661, 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 @.str662) %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 @.str663) %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 @.str664, 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 @.str665, 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 @.str666, 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 @.str667, 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 @.str668) 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 @.str669) %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 @.str670) %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 @.str671) %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 @.str672) %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 @.str673) 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 @.str674) %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 @.str675) %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 @.str676) 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 @.str677) %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 @.str678) %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 @.str679) %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 @.str680) %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 @.str681) %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 @.str682) br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str683) %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 @.str684) %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 @.str685) %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 @.str686) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 store ptr @.str687, ptr %t48 %t49 = call i32 @fn_is_op(ptr @.str688) %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 @.str689) %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 @.str690) %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 @.str691) %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 @.str692) %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 @.str693) %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 @.str694) 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 @.str695) 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 @.str696) %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 @.str697) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str698) %t19 = load i32, ptr %t15 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str699) %t21 = load ptr, ptr %t17 %t22 = call ptr @lp_str_concat(ptr @.str700, 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 @.str701, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str702) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str703) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str704) %t31 = load ptr, ptr %t17 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str705) 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 @.str706, 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 @.str707) %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 @.str708) %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 @.str709) %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 @.str710, 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 @.str711) %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 @.str712) %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 @.str713) %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 @.str714) %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 @.str715, 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 @.str716, ptr %retval br label %ret ifend11: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str717) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: store ptr @.str718, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str719) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: store ptr @.str720, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str721) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then18, label %ifend20 then18: store ptr @.str722, ptr %retval br label %ret ifend20: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str723) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then21, label %ifend23 then21: store ptr @.str724, ptr %retval br label %ret ifend23: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str725) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then24, label %ifend26 then24: store ptr @.str726, ptr %retval br label %ret ifend26: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str727) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then27, label %ifend29 then27: store ptr @.str728, ptr %retval br label %ret ifend29: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str729) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then30, label %ifend32 then30: store ptr @.str730, ptr %retval br label %ret ifend32: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str731) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then33, label %ifend35 then33: store ptr @.str732, ptr %retval br label %ret ifend35: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str733) %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 @.str734) %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 @.str735) %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 @.str736) %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 @.str737) %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 @.str738, ptr %retval br label %ret ifend46: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str739) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then47, label %ifend49 then47: store ptr @.str740, ptr %retval br label %ret ifend49: store ptr @.str741, 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 @.str742, 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 @.str743, 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 @.str744) %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 @.str745) %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 @.str746) %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 @.str747) %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 @.str748) %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 @.str749) %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 @.str750) %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 @.str751) %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 @.str752) %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 @.str753) %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 @.str754) %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 @.str755) %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 @.str756) %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 @.str757) %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 @.str758) %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 @.str759) %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 @.str760, 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 @.str761) %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 @.str762) %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 @.str763) %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 @.str764) %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 @.str765, 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 @.str766) %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 @.str767) %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 @.str768, 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 @.str769) %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 @.str770) %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 @.str771, 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 @.str772) %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 @.str773, 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 @.str774, 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 @.str775, 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 @.str776, 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 @.str777, 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 @.str778, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 store ptr @.str779, 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 @.str780, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 store ptr @.str781, 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 @.str782, 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 @.str783) %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 @.str784) 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 @.str785) %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 @.str786) %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 @.str787, 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 @.str788) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then27, label %ifend29 then27: store ptr @.str789, ptr %retval br label %ret ifend29: store ptr @.str790, 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 @.str791) %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 @.str792, 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 @.str793) %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 @.str794) %t50 = load ptr, ptr %t45 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str795) %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 @.str796) 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 @.str797) %t56 = load ptr, ptr %t4 store ptr %t56, ptr @g_code call void @fn_emit(ptr @.str798) %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 @.str799) 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 @.str800) call void @fn_emith(ptr @.str801) call void @fn_emith(ptr @.str802) call void @fn_emith(ptr @.str803) call void @fn_emith(ptr @.str804) call void @fn_emith(ptr @.str805) call void @fn_emith(ptr @.str806) call void @fn_emith(ptr @.str807) %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 @.str808) call void @fn_emith(ptr @.str809) call void @fn_emith(ptr @.str810) call void @fn_emith(ptr @.str811) br label %ifend2 ifend2: call void @fn_emith(ptr @.str812) call void @fn_emith(ptr @.str813) call void @fn_emith(ptr @.str814) call void @fn_emith(ptr @.str815) call void @fn_emith(ptr @.str816) call void @fn_emith(ptr @.str817) call void @fn_emith(ptr @.str818) call void @fn_emith(ptr @.str819) call void @fn_emith(ptr @.str820) call void @fn_emith(ptr @.str821) call void @fn_emith(ptr @.str822) call void @fn_emith(ptr @.str823) call void @fn_emith(ptr @.str824) call void @fn_emith(ptr @.str825) call void @fn_emith(ptr @.str826) call void @fn_emith(ptr @.str827) call void @fn_emith(ptr @.str828) call void @fn_emith(ptr @.str829) call void @fn_emith(ptr @.str830) call void @fn_emith(ptr @.str831) call void @fn_emith(ptr @.str832) call void @fn_emith(ptr @.str833) call void @fn_emith(ptr @.str834) call void @fn_emith(ptr @.str835) call void @fn_emith(ptr @.str836) call void @fn_emith(ptr @.str837) call void @fn_emith(ptr @.str838) call void @fn_emith(ptr @.str839) call void @fn_emith(ptr @.str840) call void @fn_emith(ptr @.str841) call void @fn_emith(ptr @.str842) call void @fn_emith(ptr @.str843) call void @fn_emith(ptr @.str844) call void @fn_emith(ptr @.str845) call void @fn_emith(ptr @.str846) call void @fn_emith(ptr @.str847) call void @fn_emith(ptr @.str848) call void @fn_emith(ptr @.str849) call void @fn_emith(ptr @.str850) call void @fn_emith(ptr @.str851) %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 @.str852) call void @fn_emith(ptr @.str853) br label %ifend5 ifend5: call void @fn_emith(ptr @.str854) call void @fn_emith(ptr @.str855) call void @fn_emith(ptr @.str856) call void @fn_emith(ptr @.str857) call void @fn_emith(ptr @.str858) call void @fn_emith(ptr @.str859) call void @fn_emith(ptr @.str860) %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 @.str861) %t11 = load ptr, ptr @g_g_game_name call void @fn_emith(ptr %t11) call void @fn_emith(ptr @.str862) call void @fn_emith(ptr @.str863) 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 @.str864, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str865) 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 @.str866, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str867) 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 @.str868) %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 @.str869) 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 @.str870) 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 @.str871) 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 @.str872, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str873) 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 @.str874, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str875) 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 @.str876) %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 @.str877) %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 @.str878) %t225 = load ptr, ptr %t149 %t226 = call ptr @fn_global_init(ptr %t225) call void @fn_emith(ptr %t226) call void @fn_emith(ptr @.str879) 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 @.str880) %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 @.str881) %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 @.str882) 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 @.str883) 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 @.str884) 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 @.str885) call void @fn_emith(ptr @.str886) call void @fn_emith(ptr @.str887) call void @fn_emith(ptr @.str888) call void @fn_emith(ptr @.str889) call void @fn_emith(ptr @.str890) call void @fn_emith(ptr @.str891) call void @fn_emith(ptr @.str892) call void @fn_emith(ptr @.str893) call void @fn_emith(ptr @.str894) call void @fn_emith(ptr @.str895) call void @fn_emith(ptr @.str896) call void @fn_emith(ptr @.str897) call void @fn_emith(ptr @.str898) call void @fn_emith(ptr @.str899) call void @fn_emith(ptr @.str900) call void @fn_emith(ptr @.str901) call void @fn_emith(ptr @.str902) call void @fn_emith(ptr @.str903) call void @fn_emith(ptr @.str904) call void @fn_emith(ptr @.str905) call void @fn_emith(ptr @.str906) call void @fn_emith(ptr @.str907) call void @fn_emith(ptr @.str908) call void @fn_emith(ptr @.str909) call void @fn_emith(ptr @.str910) call void @fn_emith(ptr @.str911) call void @fn_emith(ptr @.str912) call void @fn_emith(ptr @.str913) call void @fn_emith(ptr @.str914) call void @fn_emith(ptr @.str915) call void @fn_emith(ptr @.str916) call void @fn_emith(ptr @.str917) call void @fn_emith(ptr @.str918) call void @fn_emith(ptr @.str919) br label %ret ret: ret void } define void @fn_emit_int_str() { entry: 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) 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) br label %ret ret: ret void } define void @fn_emit_long_str() { entry: 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) 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) br label %ret ret: ret void } define void @fn_emit_str_slice() { entry: call void @fn_emith(ptr @.str954) call void @fn_emith(ptr @.str955) call void @fn_emith(ptr @.str956) call void @fn_emith(ptr @.str957) call void @fn_emith(ptr @.str958) call void @fn_emith(ptr @.str959) call void @fn_emith(ptr @.str960) call void @fn_emith(ptr @.str961) 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 @.str962, 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 @.str963, 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 @.str964) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str965) %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 @.str966) %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 @.str967) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str968) %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 @.str969) %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 @.str970, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str971) %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 @.str972, 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 @.str973) %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 @.str974, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str975) %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 @.str976, 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 @.str977) %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 @.str978) %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 @.str979, 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 @.str980) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then14, label %ifend16 then14: store ptr @.str981, ptr %t67 br label %ifend16 ifend16: %t73 = load ptr, ptr %t67 %t74 = call ptr @lp_str_concat(ptr @.str982, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str983) %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 @.str984) %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 @.str985) %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 @.str986, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str987) %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 @.str988, 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 @.str989, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str990) %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 @.str991, 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 @.str992) %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str993) %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 @.str994) %t129 = call ptr @fn_nreg() store ptr %t129, ptr %t130 call void @fn_emit(ptr @.str995) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str996) %t132 = load ptr, ptr %t124 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str997) %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 @.str998) %t140 = load ptr, ptr %t139 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str999) %t141 = load ptr, ptr %t122 %t142 = call ptr @fn_llty(ptr %t141) call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str1000) %t143 = load ptr, ptr %t130 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str1001) %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 @.str1002) %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 @.str1003) %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 @.str1004) %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 @.str1005) %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 @.str1006) %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 @.str1007) %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 @.str1008) %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 @.str1009) %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 @.str1010) %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 @.str1011) %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 @.str1012) %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 @.str1013) %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 @.str1014) %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 @.str1015) %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 @.str1016) %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 @.str1017) %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 @.str1018) %t3 = load ptr, ptr %t2 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str1019) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str1020) %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 @.str1021) %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 @.str1022, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1023) %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 @.str1024, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1025) %t19 = load ptr, ptr %t15 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1026) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str1027) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str1028) %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 @.str1029, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1030) %t36 = load ptr, ptr %t32 %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1031) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str1032) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1033) %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 @.str1034) %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 @.str1035, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1036) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 store ptr @.str1037, ptr %t66 %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str1038) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then11, label %ifend13 then11: store ptr @.str1039, ptr %t66 br label %ifend13 ifend13: %t70 = load ptr, ptr %t66 %t71 = call ptr @lp_str_concat(ptr @.str1040, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str1041) %t73 = load ptr, ptr %t57 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1042) %t76 = load ptr, ptr %t65 %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1043) %t79 = load ptr, ptr %t54 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1044) %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 @.str1045, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1046) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1047) store ptr %t88, ptr %retval br label %ret ifend10: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1048) %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 @.str1049, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1050) %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 @.str1051, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1052) %t109 = load ptr, ptr %t105 %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1053) %t112 = load ptr, ptr %t100 %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str1054) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str1055) store ptr %t116, ptr %retval br label %ret ifend16: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str1056) %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 @.str1057, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1058) %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 @.str1059, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1060) %t131 = call ptr @fn_emit_bind(ptr %t130) %t132 = call ptr @fn_val(ptr %t131, ptr @.str1061) store ptr %t132, ptr %retval br label %ret ifend19: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1062) %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 @.str1063) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1064) %t140 = call ptr @fn_val(ptr @.str1065, ptr @.str1066) store ptr %t140, ptr %retval br label %ret ifend22: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1067) %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 @.str1068) %t147 = load ptr, ptr %t146 call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str1069) %t148 = call ptr @fn_val(ptr @.str1070, ptr @.str1071) store ptr %t148, ptr %retval br label %ret ifend25: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1072) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then26, label %ifend28 then26: %t152 = call ptr @fn_emit_bind(ptr @.str1073) %t153 = call ptr @fn_val(ptr %t152, ptr @.str1074) store ptr %t153, ptr %retval br label %ret ifend28: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str1075) %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 @.str1076) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = call ptr @lp_str_concat(ptr @.str1077, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str1078) %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 @.str1079, ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) %t172 = call ptr @fn_val(ptr %t171, ptr @.str1080) store ptr %t172, ptr %retval br label %ret ifend31: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str1081) %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 @.str1082) %t179 = load ptr, ptr %t178 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str1083) call void @fn_emit(ptr @.str1084) store i32 1, ptr @g_g_term %t180 = call ptr @fn_val(ptr @.str1085, ptr @.str1086) store ptr %t180, ptr %retval br label %ret ifend34: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1087) %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 @.str1088) store ptr %t186, ptr %retval br label %ret ifend37: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1089) %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 @.str1090) store ptr %t192, ptr %retval br label %ret ifend40: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str1091) %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 @.str1092, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str1093) %t202 = call ptr @fn_emit_bind(ptr %t201) %t203 = call ptr @fn_val(ptr %t202, ptr @.str1094) store ptr %t203, ptr %retval br label %ret ifend43: %t204 = load ptr, ptr %t0 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str1095) %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 @.str1096, ptr %t210) %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str1097) %t213 = call ptr @fn_emit_bind(ptr %t212) %t214 = call ptr @fn_val(ptr %t213, ptr @.str1098) store ptr %t214, ptr %retval br label %ret ifend46: store i32 0, ptr @g_g_intrin_ok %t215 = call ptr @fn_val(ptr @.str1099, ptr @.str1100) 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 @.str1101, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1102) 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 @.str1103, ptr %retval br label %ret ifend5: store ptr @.str1104, 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 @.str1105) %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 @.str1106) %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 @.str1107) %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 @.str1108) %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 @.str1109) %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 @.str1110) %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 @.str1111) %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 @.str1112) %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 @.str1113) %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 @.str1114) %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 @.str1115) %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 @.str1116) %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 @.str1117) %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 @.str1118) %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 @.str1119) %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 @.str1120) %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 @.str1121) %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 @.str1122) %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 @.str1123) %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 @.str1124) %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 @.str1125) %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 @.str1126) %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 @.str1127) %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 @.str1128) %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 @.str1129) %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 @.str1130) %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 @.str1131) %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 @.str1132) %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 @.str1133) %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 @.str1134) %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 @.str1135) %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 @.str1136) %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 @.str1137) %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 @.str1138) %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 @.str1139) %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 @.str1140) %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 @.str1141) %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 @.str1142) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str1143) %t9 = call ptr @fn_val(ptr @.str1144, ptr @.str1145) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1146) %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 @.str1147, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1148) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 call void @fn_emit(ptr @.str1149) %t27 = load ptr, ptr %t15 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str1150) %t28 = load ptr, ptr %t18 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str1151) %t29 = load ptr, ptr %t26 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str1152) %t30 = call ptr @fn_val(ptr @.str1153, ptr @.str1154) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1155) %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 @.str1156) %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str1157) %t43 = load ptr, ptr %t36 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str1158) %t44 = load ptr, ptr %t39 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str1159) %t45 = load ptr, ptr %t41 %t46 = call ptr @fn_val(ptr %t45, ptr @.str1160) store ptr %t46, ptr %retval br label %ret ifend8: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1161) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: %t50 = call ptr @fn_emit_bind(ptr @.str1162) %t51 = call ptr @fn_val(ptr %t50, ptr @.str1163) store ptr %t51, ptr %retval br label %ret ifend11: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1164) %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 @.str1165) store ptr %t67, ptr %retval br label %ret ifend14: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1166) %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 @.str1167) store ptr %t83, ptr %retval br label %ret ifend17: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1168) %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 @.str1169, ptr @.str1170) store ptr %t89, ptr %retval br label %ret ifend23: %t90 = call ptr @fn_val(ptr @.str1171, ptr @.str1172) store ptr %t90, ptr %retval br label %ret ifend20: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1173) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then24, label %ifend26 then24: %t94 = call ptr @fn_val(ptr @.str1174, ptr @.str1175) store ptr %t94, ptr %retval br label %ret ifend26: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str1176) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then27, label %ifend29 then27: %t98 = call ptr @fn_emit_bind(ptr @.str1177) %t99 = call ptr @fn_val(ptr %t98, ptr @.str1178) store ptr %t99, ptr %retval br label %ret ifend29: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str1179) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then30, label %ifend32 then30: %t103 = call ptr @fn_emit_bind(ptr @.str1180) %t104 = call ptr @fn_val(ptr %t103, ptr @.str1181) store ptr %t104, ptr %retval br label %ret ifend32: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str1182) %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 @.str1183) %t120 = load ptr, ptr %t110 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str1184) %t121 = load ptr, ptr %t113 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str1185) %t122 = load ptr, ptr %t116 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str1186) %t123 = load ptr, ptr %t119 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str1187) %t124 = call ptr @fn_val(ptr @.str1188, ptr @.str1189) store ptr %t124, ptr %retval br label %ret ifend35: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1190) %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 @.str1191) %t137 = load ptr, ptr %t130 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str1192) %t138 = load ptr, ptr %t133 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str1193) %t139 = load ptr, ptr %t136 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1194) %t140 = call ptr @fn_val(ptr @.str1195, ptr @.str1196) store ptr %t140, ptr %retval br label %ret ifend38: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1197) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then39, label %ifend41 then39: call void @fn_emit(ptr @.str1198) %t144 = call ptr @fn_val(ptr @.str1199, ptr @.str1200) store ptr %t144, ptr %retval br label %ret ifend41: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str1201) %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 @.str1202) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str1203) %t152 = call ptr @fn_val(ptr @.str1204, ptr @.str1205) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1206) %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 @.str1207) %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str1208) %t160 = call ptr @fn_val(ptr @.str1209, ptr @.str1210) store ptr %t160, ptr %retval br label %ret ifend47: %t161 = load ptr, ptr %t0 %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str1211) %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 @.str1212, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1213) %t170 = call ptr @fn_emit_bind(ptr %t169) %t171 = call ptr @fn_val(ptr %t170, ptr @.str1214) store ptr %t171, ptr %retval br label %ret ifend50: %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str1215) %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 @.str1216) %t178 = load ptr, ptr %t177 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str1217) %t179 = call ptr @fn_val(ptr @.str1218, ptr @.str1219) store ptr %t179, ptr %retval br label %ret ifend53: %t180 = load ptr, ptr %t0 %t181 = call i32 @lp_str_eq(ptr %t180, ptr @.str1220) %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 @.str1221) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str1222) %t187 = call ptr @fn_val(ptr @.str1223, ptr @.str1224) store ptr %t187, ptr %retval br label %ret ifend56: %t188 = load ptr, ptr %t0 %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str1225) %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 @.str1226) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str1227) %t195 = call ptr @fn_val(ptr @.str1228, ptr @.str1229) store ptr %t195, ptr %retval br label %ret ifend59: %t196 = load ptr, ptr %t0 %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str1230) %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 @.str1231, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str1232) %t205 = call ptr @fn_emit_bind(ptr %t204) %t206 = call ptr @fn_val(ptr %t205, ptr @.str1233) store ptr %t206, ptr %retval br label %ret ifend62: %t207 = load ptr, ptr %t0 %t208 = call i32 @lp_str_eq(ptr %t207, ptr @.str1234) %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 @.str1235) %t222 = load ptr, ptr %t212 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str1236) %t223 = load ptr, ptr %t215 call void @fn_emit(ptr %t223) call void @fn_emit(ptr @.str1237) %t224 = load ptr, ptr %t218 call void @fn_emit(ptr %t224) call void @fn_emit(ptr @.str1238) %t225 = load ptr, ptr %t221 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str1239) %t226 = call ptr @fn_val(ptr @.str1240, ptr @.str1241) store ptr %t226, ptr %retval br label %ret ifend65: %t227 = load ptr, ptr %t0 %t228 = call i32 @lp_str_eq(ptr %t227, ptr @.str1242) %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 @.str1243) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str1244) %t234 = call ptr @fn_val(ptr @.str1245, ptr @.str1246) store ptr %t234, ptr %retval br label %ret ifend68: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str1247) %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 @.str1248, ptr %t241) %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str1249) %t244 = call ptr @fn_emit_bind(ptr %t243) %t245 = call ptr @fn_val(ptr %t244, ptr @.str1250) store ptr %t245, ptr %retval br label %ret ifend71: %t246 = load ptr, ptr %t0 %t247 = call i32 @lp_str_eq(ptr %t246, ptr @.str1251) %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 @.str1252) %t255 = load ptr, ptr %t251 call void @fn_emit(ptr %t255) call void @fn_emit(ptr @.str1253) %t256 = load ptr, ptr %t254 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str1254) %t257 = call ptr @fn_val(ptr @.str1255, ptr @.str1256) store ptr %t257, ptr %retval br label %ret ifend74: %t258 = load ptr, ptr %t0 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str1257) %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 @.str1258) %t267 = load ptr, ptr %t263 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str1259) %t268 = load ptr, ptr %t266 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str1260) %t269 = call ptr @fn_val(ptr @.str1261, ptr @.str1262) store ptr %t269, ptr %retval br label %ret ifend77: %t270 = load ptr, ptr %t0 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str1263) %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 @.str1264) %t279 = load ptr, ptr %t275 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str1265) %t280 = load ptr, ptr %t278 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str1266) %t281 = call ptr @fn_val(ptr @.str1267, ptr @.str1268) store ptr %t281, ptr %retval br label %ret ifend80: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str1269) %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 @.str1270, ptr %t291) %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str1271) %t294 = load ptr, ptr %t290 %t295 = call ptr @lp_str_concat(ptr %t293, ptr %t294) %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str1272) %t297 = call ptr @fn_emit_bind(ptr %t296) %t298 = call ptr @fn_val(ptr %t297, ptr @.str1273) store ptr %t298, ptr %retval br label %ret ifend83: %t299 = load ptr, ptr %t0 %t300 = call i32 @lp_str_eq(ptr %t299, ptr @.str1274) %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 @.str1275) %t311 = load ptr, ptr %t304 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str1276) %t312 = load ptr, ptr %t307 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str1277) %t313 = load ptr, ptr %t310 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str1278) %t314 = call ptr @fn_val(ptr @.str1279, ptr @.str1280) store ptr %t314, ptr %retval br label %ret ifend86: %t315 = load ptr, ptr %t0 %t316 = call i32 @lp_str_eq(ptr %t315, ptr @.str1281) %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 @.str1282) %t327 = load ptr, ptr %t320 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str1283) %t328 = load ptr, ptr %t323 call void @fn_emit(ptr %t328) call void @fn_emit(ptr @.str1284) %t329 = load ptr, ptr %t326 call void @fn_emit(ptr %t329) call void @fn_emit(ptr @.str1285) %t330 = call ptr @fn_val(ptr @.str1286, ptr @.str1287) store ptr %t330, ptr %retval br label %ret ifend89: %t331 = load ptr, ptr %t0 %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str1288) %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 @.str1289) %t340 = load ptr, ptr %t336 call void @fn_emit(ptr %t340) call void @fn_emit(ptr @.str1290) %t341 = load ptr, ptr %t339 call void @fn_emit(ptr %t341) call void @fn_emit(ptr @.str1291) %t342 = call ptr @fn_val(ptr @.str1292, ptr @.str1293) store ptr %t342, ptr %retval br label %ret ifend92: %t343 = load ptr, ptr %t0 %t344 = call i32 @lp_str_eq(ptr %t343, ptr @.str1294) %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 @.str1295, ptr %t349) %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str1296) %t352 = call ptr @fn_emit_bind(ptr %t351) %t353 = call ptr @fn_val(ptr %t352, ptr @.str1297) store ptr %t353, ptr %retval br label %ret ifend95: %t354 = load ptr, ptr %t0 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str1298) %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 @.str1299, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str1300) %t363 = call ptr @fn_emit_bind(ptr %t362) %t364 = call ptr @fn_val(ptr %t363, ptr @.str1301) store ptr %t364, ptr %retval br label %ret ifend98: %t365 = load ptr, ptr %t0 %t366 = call i32 @lp_str_eq(ptr %t365, ptr @.str1302) %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 @.str1303, ptr %t371) %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str1304) %t374 = call ptr @fn_emit_bind(ptr %t373) %t375 = call ptr @fn_val(ptr %t374, ptr @.str1305) store ptr %t375, ptr %retval br label %ret ifend101: %t376 = load ptr, ptr %t0 %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str1306) %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 @.str1307, ptr %t382) %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str1308) %t385 = call ptr @fn_emit_bind(ptr %t384) %t386 = call ptr @fn_val(ptr %t385, ptr @.str1309) store ptr %t386, ptr %retval br label %ret ifend104: %t387 = load ptr, ptr %t0 %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str1310) %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 @.str1311, ptr %t396) %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str1312) %t399 = load ptr, ptr %t395 %t400 = call ptr @lp_str_concat(ptr %t398, ptr %t399) %t401 = call ptr @lp_str_concat(ptr %t400, ptr @.str1313) %t402 = call ptr @fn_emit_bind(ptr %t401) %t403 = call ptr @fn_val(ptr %t402, ptr @.str1314) store ptr %t403, ptr %retval br label %ret ifend107: %t404 = load ptr, ptr %t0 %t405 = call i32 @lp_str_eq(ptr %t404, ptr @.str1315) %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 @.str1316) %t410 = load ptr, ptr %t409 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str1317) %t411 = call ptr @fn_val(ptr @.str1318, ptr @.str1319) store ptr %t411, ptr %retval br label %ret ifend110: %t412 = call ptr @fn_val(ptr @.str1320, ptr @.str1321) 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 @.str1322) %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 @.str1323) %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 @.str1324, 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 @.str1325) %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 @.str1326, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1327) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1328) 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 @.str1329) %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 @.str1330) %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 @.str1331, ptr %retval br label %ret ifend4: store ptr @.str1332, 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 @.str1333, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str1334) %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 @.str1335, 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 @.str1336) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then12, label %ifend14 then12: store ptr @.str1337, 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 @.str1338) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then15, label %ifend17 then15: store ptr @.str1339, 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 @.str1340) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then18, label %ifend20 then18: store ptr @.str1341, 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 @.str1342) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then21, label %ifend23 then21: store ptr @.str1343, ptr %t61 br label %ifend23 ifend23: %t82 = load ptr, ptr %t61 %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str1344) %t84 = load ptr, ptr %t1 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1345) %t87 = load ptr, ptr %t54 %t88 = call ptr @lp_str_concat(ptr %t86, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str1346) %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 @.str1347) store ptr @.str1348, 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 @.str1349) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str1350, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1351) %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 @.str1352) %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 @.str1353, ptr %retval br label %ret ifend7: store ptr @.str1354, 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 @.str1355) store ptr %t10, ptr %t3 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str1356) %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 @.str1357, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str1358) %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 @.str1359) %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 @.str1360) %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 @.str1361, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1362) %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 @.str1363) %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 @.str1364) %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 @.str1365) 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 @.str1366) %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 @.str1367) %t65 = load ptr, ptr %t1 %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1368) %t68 = load ptr, ptr %t1 %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str1369) 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 @.str1370) %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 @.str1371, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str1372) %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 @.str1373) %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 @.str1374, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str1375) %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 @.str1376) %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 @.str1377) 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 @.str1378) %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 @.str1379, ptr %t15 br label %ifend11 ifend11: %t20 = load ptr, ptr %t15 %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1380) %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 @.str1381) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1382) %t29 = load ptr, ptr %t1 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1383) 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 @.str1384) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str1385, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1386) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str1387, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str1388) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str1389, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1390) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str1391, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str1392) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str1393, ptr %retval br label %ret ifend14: store ptr @.str1394, 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 @.str1395, 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 @.str1396, 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 @.str1397, 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 @.str1398, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1399) %t56 = load ptr, ptr %t3 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str1400) %t59 = load ptr, ptr %t42 %t60 = call ptr @lp_str_concat(ptr %t58, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str1401) %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 @.str1402, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str1403) %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str1404) store ptr %t70, ptr %retval br label %ret ifend10: store ptr @.str1405, ptr %t71 %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1406) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then11, label %ifend13 then11: store ptr @.str1407, ptr %t71 br label %ifend13 ifend13: %t75 = load ptr, ptr %t0 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str1408) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then14, label %ifend16 then14: store ptr @.str1409, ptr %t71 br label %ifend16 ifend16: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str1410) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then17, label %ifend19 then17: store ptr @.str1411, ptr %t71 br label %ifend19 ifend19: %t81 = load ptr, ptr %t0 %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str1412) %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then20, label %ifend22 then20: store ptr @.str1413, ptr %t71 br label %ifend22 ifend22: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1414) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then23, label %ifend25 then23: store ptr @.str1415, ptr %t71 br label %ifend25 ifend25: %t87 = load ptr, ptr %t71 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str1416) %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 @.str1417, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str1418) %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 @.str1419) %t97 = load ptr, ptr %t3 %t98 = call ptr @lp_str_concat(ptr %t96, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str1420) %t100 = load ptr, ptr %t42 %t101 = call ptr @lp_str_concat(ptr %t99, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str1421) %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 @.str1422) %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 @.str1423, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1424) %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 @.str1425, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1426) %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 @.str1427) %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 @.str1428, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str1429) %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 @.str1430, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1431) %t64 = load ptr, ptr %t60 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str1432) %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 @.str1433) %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 @.str1434, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1435) %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 @.str1436) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str1437) 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 @.str1438, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1439) %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 @.str1440) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str1441) 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 @.str1442, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1443) %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 @.str1444) %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 @.str1445, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str1446) %t18 = load ptr, ptr %t12 %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str1447) %t21 = call ptr @fn_emit_bind(ptr %t20) %t22 = call ptr @fn_val(ptr %t21, ptr @.str1448) 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 @.str1449, ptr @.str1450) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @lp_str_concat(ptr @.str1451, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1452) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str1453) 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 @.str1454, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1455) %t6 = call ptr @fn_emit_bind(ptr %t5) %t7 = call ptr @fn_val(ptr %t6, ptr @.str1456) 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 @.str1457, ptr @.str1458) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @lp_str_concat(ptr @.str1459, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1460) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str1461) 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 @.str1462, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1463) %t5 = call ptr @fn_emit_bind(ptr %t4) %t6 = call ptr @fn_val(ptr %t5, ptr @.str1464) 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 @.str1465, 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 @.str1466) %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 @.str1467, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1468) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t4 store ptr @.str1469, ptr %t5 br label %ifend2 ifend2: %t17 = load ptr, ptr %t4 %t18 = call ptr @lp_str_concat(ptr @.str1470, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1471) %t20 = load ptr, ptr %t5 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1472) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str1473) 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 @.str1474) call void @fn_fp_declare(ptr @.str1475) call void @fn_fp_declare(ptr @.str1476) call void @fn_emith(ptr @.str1477) call void @fn_emith(ptr @.str1478) call void @fn_emith(ptr @.str1479) call void @fn_emith(ptr @.str1480) call void @fn_emith(ptr @.str1481) call void @fn_emith(ptr @.str1482) call void @fn_emith(ptr @.str1483) call void @fn_emith(ptr @.str1484) call void @fn_emith(ptr @.str1485) call void @fn_emith(ptr @.str1486) call void @fn_emith(ptr @.str1487) call void @fn_emith(ptr @.str1488) call void @fn_emith(ptr @.str1489) call void @fn_emith(ptr @.str1490) call void @fn_emith(ptr @.str1491) call void @fn_emith(ptr @.str1492) call void @fn_emith(ptr @.str1493) call void @fn_emith(ptr @.str1494) call void @fn_emith(ptr @.str1495) call void @fn_emith(ptr @.str1496) 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 @.str1497, ptr %t2 store ptr @.str1498, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1499) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str1500, ptr %t2 store ptr @.str1501, 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 @.str1502, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1503) %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 @.str1504, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1505) %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 @.str1506, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str1507) %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 @.str1508) %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 @.str1509) store ptr %t9, ptr %t4 br label %ifend2 ifend2: %t10 = load ptr, ptr %t1 %t11 = call ptr @lp_str_concat(ptr @.str1510, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1511) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1512) %t16 = load ptr, ptr %t1 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1513) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 %t20 = call ptr @lp_str_concat(ptr @.str1514, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1515) %t22 = load ptr, ptr %t4 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1516) %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1517) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1518) %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 @.str1519) %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 @.str1520) store ptr %t10, ptr %t5 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 %t12 = call ptr @lp_str_concat(ptr @.str1521, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1522) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1523) %t17 = load ptr, ptr %t1 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1524) %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1525) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 %t24 = call ptr @lp_str_concat(ptr @.str1526, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1527) %t26 = load ptr, ptr %t5 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1528) %t29 = load ptr, ptr %t1 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1529) %t32 = load ptr, ptr %t2 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str1530) %t35 = load ptr, ptr %t1 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1531) %t38 = load ptr, ptr %t3 %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1532) %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 @.str1533, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1534) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str1535, ptr %t3 br label %ifend2 ifend2: %t7 = load ptr, ptr %t1 %t8 = call ptr @lp_str_concat(ptr @.str1536, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1537) %t10 = load ptr, ptr %t0 %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1538) %t13 = load ptr, ptr %t3 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1539) %t16 = load ptr, ptr %t1 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1540) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 %t20 = call ptr @lp_str_concat(ptr @.str1541, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1542) %t22 = load ptr, ptr %t0 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1543) %t25 = load ptr, ptr %t3 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1544) %t28 = load ptr, ptr %t1 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1545) %t31 = load ptr, ptr %t2 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1546) %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 @.str1547, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1548) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str1549, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t1 %t9 = call ptr @lp_str_concat(ptr @.str1550, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1551) %t11 = load ptr, ptr %t0 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1552) %t14 = load ptr, ptr %t4 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1553) %t17 = load ptr, ptr %t1 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1554) %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1555) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 %t24 = call ptr @lp_str_concat(ptr @.str1556, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1557) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1558) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1559) %t32 = load ptr, ptr %t1 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str1560) %t35 = load ptr, ptr %t2 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1561) %t38 = load ptr, ptr %t1 %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1562) %t41 = load ptr, ptr %t3 %t42 = call ptr @lp_str_concat(ptr %t40, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1563) %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 @.str1564, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1565) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str1566, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t4 %t9 = call ptr @lp_str_concat(ptr @.str1567, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1568) %t11 = load ptr, ptr %t1 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1569) %t14 = load ptr, ptr %t2 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1570) %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 @.str1571, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str1572) %t24 = load ptr, ptr %t1 %t25 = call ptr @lp_str_concat(ptr %t23, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1573) %t27 = load ptr, ptr %t2 %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1574) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1575) %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 @.str1576, 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 @.str1577) %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 @.str1578, 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 @.str1579, 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 @.str1580) %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 @.str1581, 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 @.str1582) %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 @.str1583, 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 @.str1584) %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 @.str1585, 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 @.str1586) %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 @.str1587, 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 @.str1588) %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 @.str1589, 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 @.str1590) %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 @.str1591, 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 @.str1592) %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 @.str1593, 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 @.str1594) %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 @.str1595, 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 @.str1596) %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 @.str1597, 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 @.str1598) %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 @.str1599, 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 @.str1600) %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 @.str1601, 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 @.str1602) %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 @.str1603, 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 @.str1604) %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 @.str1605, 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 @.str1606) %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 @.str1607, 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 @.str1608) %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 @.str1609, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str1610) %t128 = load ptr, ptr %t9 %t129 = call ptr @lp_str_concat(ptr %t127, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1611) %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 @.str1612, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str1613) %t136 = load ptr, ptr %t9 %t137 = call ptr @lp_str_concat(ptr %t135, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str1614) %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 @.str1615, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str1616) %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 @.str1617, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str1618) %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 @.str1619) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1620) %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 @.str1621, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str1622) %t159 = load ptr, ptr %t1 %t160 = call ptr @fn_fp_lit_code(ptr @.str1623, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t158, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1624) %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 @.str1625, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str1626) %t168 = load ptr, ptr %t9 %t169 = call ptr @lp_str_concat(ptr %t167, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str1627) %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 @.str1628) %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 @.str1629, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str1630) %t182 = load ptr, ptr %t1 %t183 = call ptr @fn_fp_lit_code(ptr @.str1631, 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 @.str1632, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str1633) %t190 = load ptr, ptr %t9 %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str1634) %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 @.str1635) %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 @.str1636) %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 @.str1637) %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 @.str1638, 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 @.str1639) %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 @.str1640, 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 @.str1641) %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 @.str1642, 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 @.str1643) %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 @.str1644) %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 @.str1645, ptr %t273) %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str1646) %t276 = load ptr, ptr %t9 %t277 = call ptr @lp_str_concat(ptr %t275, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1647) %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 @.str1648, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1649) %t286 = load ptr, ptr %t282 %t287 = call ptr @lp_str_concat(ptr %t285, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str1650) %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 @.str1651, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str1652) %t296 = load ptr, ptr %t292 %t297 = call ptr @lp_str_concat(ptr %t295, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str1653) %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 @.str1654) %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 @.str1655, 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 @.str1656, 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 @.str1657) %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 @.str1658, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str1659) %t344 = load ptr, ptr %t335 %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str1660) %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 @.str1661, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str1662) %t354 = load ptr, ptr %t350 %t355 = call ptr @lp_str_concat(ptr %t353, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str1663) %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 @.str1664, ptr %t361) %t363 = call ptr @lp_str_concat(ptr %t362, ptr @.str1665) %t364 = load ptr, ptr %t9 %t365 = call ptr @lp_str_concat(ptr %t363, ptr %t364) %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str1666) %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 @.str1667) %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 @.str1668, ptr %t385) %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str1669) %t388 = load ptr, ptr %t384 %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str1670) %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 @.str1671, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str1672) %t398 = load ptr, ptr %t379 %t399 = call ptr @lp_str_concat(ptr %t397, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str1673) %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 @.str1674, ptr %t405) %t407 = call ptr @lp_str_concat(ptr %t406, ptr @.str1675) %t408 = load ptr, ptr %t394 %t409 = call ptr @lp_str_concat(ptr %t407, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str1676) %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 @.str1677) %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 @.str1678, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str1679) %t442 = load ptr, ptr %t9 %t443 = call ptr @lp_str_concat(ptr %t441, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str1680) %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 @.str1681, ptr %t449) %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str1682) %t452 = load ptr, ptr %t428 %t453 = call ptr @lp_str_concat(ptr %t451, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str1683) %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 @.str1684, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str1685) %t462 = load ptr, ptr %t448 %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str1686) %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 @.str1687, ptr %t469) %t471 = call ptr @lp_str_concat(ptr %t470, ptr @.str1688) %t472 = load ptr, ptr %t438 %t473 = call ptr @lp_str_concat(ptr %t471, ptr %t472) %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str1689) %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 @.str1690, ptr %t479) %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str1691) %t482 = load ptr, ptr %t478 %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str1692) %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 @.str1693, ptr %t489) %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str1694) %t492 = load ptr, ptr %t433 %t493 = call ptr @lp_str_concat(ptr %t491, ptr %t492) %t494 = call ptr @lp_str_concat(ptr %t493, ptr @.str1695) %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 @.str1696) %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 @.str1697, ptr %t513) %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str1698) %t516 = load ptr, ptr %t512 %t517 = call ptr @lp_str_concat(ptr %t515, ptr %t516) %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str1699) %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 @.str1700, ptr %t523) %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str1701) %t526 = load ptr, ptr %t507 %t527 = call ptr @lp_str_concat(ptr %t525, ptr %t526) %t528 = call ptr @lp_str_concat(ptr %t527, ptr @.str1702) %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 @.str1703, ptr %t533) %t535 = call ptr @lp_str_concat(ptr %t534, ptr @.str1704) %t536 = load ptr, ptr %t522 %t537 = call ptr @lp_str_concat(ptr %t535, ptr %t536) %t538 = call ptr @lp_str_concat(ptr %t537, ptr @.str1705) %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 @.str1706, ptr %t543, ptr %t544, ptr @.str1707) store ptr %t545, ptr %t546 %t547 = load ptr, ptr %t1 %t548 = load ptr, ptr %t546 %t549 = call ptr @fn_fp_pick(ptr @.str1708, ptr %t547, ptr %t548, ptr @.str1709) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t1 %t552 = call ptr @lp_str_concat(ptr @.str1710, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str1711) %t554 = load ptr, ptr %t550 %t555 = call ptr @lp_str_concat(ptr %t553, ptr %t554) %t556 = call ptr @lp_str_concat(ptr %t555, ptr @.str1712) %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 @.str1713, ptr %t561) %t563 = call ptr @lp_str_concat(ptr %t562, ptr @.str1714) %t564 = load ptr, ptr %t550 %t565 = call ptr @lp_str_concat(ptr %t563, ptr %t564) %t566 = call ptr @lp_str_concat(ptr %t565, ptr @.str1715) %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 @.str1716, ptr %t569) %t571 = call ptr @lp_str_concat(ptr %t570, ptr @.str1717) %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 @.str1718, ptr %t576) %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str1719) %t579 = load ptr, ptr %t560 %t580 = call ptr @lp_str_concat(ptr %t578, ptr %t579) %t581 = call ptr @lp_str_concat(ptr %t580, ptr @.str1720) %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 @.str1721) %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 @.str1722, ptr %t600) %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str1723) %t603 = load ptr, ptr %t594 %t604 = call ptr @lp_str_concat(ptr %t602, ptr %t603) %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str1724) %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 @.str1725, ptr %t610, ptr %t611) store ptr %t612, ptr %t613 %t614 = load ptr, ptr %t1 %t615 = call ptr @lp_str_concat(ptr @.str1726, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str1727) %t617 = load ptr, ptr %t613 %t618 = call ptr @lp_str_concat(ptr %t616, ptr %t617) %t619 = call ptr @lp_str_concat(ptr %t618, ptr @.str1728) %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 @.str1729, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str1730) %t627 = load ptr, ptr %t609 %t628 = call ptr @lp_str_concat(ptr %t626, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str1731) %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 @.str1732, ptr %t632) %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str1733) %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 @.str1734, ptr %t639) %t641 = call ptr @lp_str_concat(ptr %t640, ptr @.str1735) %t642 = load ptr, ptr %t1 %t643 = call ptr @lp_str_concat(ptr %t641, ptr %t642) %t644 = call ptr @lp_str_concat(ptr %t643, ptr @.str1736) %t645 = load ptr, ptr %t638 %t646 = call ptr @lp_str_concat(ptr %t644, ptr %t645) %t647 = call ptr @lp_str_concat(ptr %t646, ptr @.str1737) %t648 = load ptr, ptr %t1 %t649 = call ptr @lp_str_concat(ptr %t647, ptr %t648) %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str1738) %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 @.str1739, ptr %t655) %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str1740) %t658 = load ptr, ptr %t9 %t659 = call ptr @lp_str_concat(ptr %t657, ptr %t658) %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str1741) %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 @.str1742, ptr %t665) %t667 = call ptr @lp_str_concat(ptr %t666, ptr @.str1743) %t668 = load ptr, ptr %t1 %t669 = call ptr @lp_str_concat(ptr %t667, ptr %t668) %t670 = call ptr @lp_str_concat(ptr %t669, ptr @.str1744) %t671 = load ptr, ptr %t594 %t672 = call ptr @lp_str_concat(ptr %t670, ptr %t671) %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str1745) %t674 = load ptr, ptr %t1 %t675 = call ptr @lp_str_concat(ptr %t673, ptr %t674) %t676 = call ptr @lp_str_concat(ptr %t675, ptr @.str1746) %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 @.str1747) %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 @.str1748) %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 @.str1749, ptr %t708) %t710 = call ptr @lp_str_concat(ptr %t709, ptr @.str1750) %t711 = load ptr, ptr %t702 %t712 = call ptr @lp_str_concat(ptr %t710, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1751) %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 @.str1752, ptr %t718) %t720 = call ptr @lp_str_concat(ptr %t719, ptr @.str1753) %t721 = load ptr, ptr %t707 %t722 = call ptr @lp_str_concat(ptr %t720, ptr %t721) %t723 = call ptr @lp_str_concat(ptr %t722, ptr @.str1754) %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 @.str1755, ptr %t728) %t730 = call ptr @lp_str_concat(ptr %t729, ptr @.str1756) %t731 = load ptr, ptr %t717 %t732 = call ptr @lp_str_concat(ptr %t730, ptr %t731) %t733 = call ptr @lp_str_concat(ptr %t732, ptr @.str1757) %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 @.str1758, ptr %t738) %t740 = call ptr @lp_str_concat(ptr %t739, ptr @.str1759) %t741 = load ptr, ptr %t727 %t742 = call ptr @lp_str_concat(ptr %t740, ptr %t741) %t743 = call ptr @lp_str_concat(ptr %t742, ptr @.str1760) %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 @.str1761, ptr %t748) %t750 = call ptr @lp_str_concat(ptr %t749, ptr @.str1762) %t751 = load ptr, ptr %t737 %t752 = call ptr @lp_str_concat(ptr %t750, ptr %t751) %t753 = call ptr @lp_str_concat(ptr %t752, ptr @.str1763) %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 @.str1764) %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 @.str1765, 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 @.str1766, ptr %t769) %t771 = call ptr @lp_str_concat(ptr %t770, ptr @.str1767) %t772 = load ptr, ptr %t1 %t773 = call ptr @lp_str_concat(ptr %t771, ptr %t772) %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str1768) 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 @.str1769) %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 @.str1770) %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 @.str1771) %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 @.str1772) %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 @.str1773) %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 @.str1774, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1775) %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 @.str1776, 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 @.str1777, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1778) %t30 = load ptr, ptr %t26 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1779) %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 @.str1780) %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 @.str1781) %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 @.str1782, ptr %t71 %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1783) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then8, label %ifend10 then8: store ptr @.str1784, ptr %t71 br label %ifend10 ifend10: %t75 = load ptr, ptr %t71 %t76 = call ptr @lp_str_concat(ptr @.str1785, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str1786) %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 @.str1787) %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 @.str1788, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str1789) %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 @.str1790) %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 @.str1791, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str1792) %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 @.str1793, ptr %t144) %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str1794) %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 @.str1795) %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 @.str1796, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1797) %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 @.str1798, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1799) %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 @.str1800) %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 @.str1801, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1802) %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 @.str1803, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1804) %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 @.str1805, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1806) %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 @.str1807, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1808) %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 @.str1809, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1810) %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 @.str1811, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1812) %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 @.str1813, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1814) %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 @.str1815, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1816) %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 @.str1817, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1818) %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 @.str1819, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1820) %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 @.str1821, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1822) %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 @.str1823, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1824) %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 @.str1825, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1826) %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 @.str1827, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1828) %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 @.str1829) %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 @.str1830) %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 @.str1831) %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 @.str1832) %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 @.str1833) %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 @.str1834) %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 @.str1835) %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 @.str1836) %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 @.str1837) %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 @.str1838) %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 @.str1839) %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 @.str1840) %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 @.str1841) %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 @.str1842) %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 @.str1843) %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 @.str1844) %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 @.str1845) %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 @.str1846) %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 @.str1847) %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 @.str1848) %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 @.str1849) %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 @.str1850) %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 @.str1851) %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 @.str1852) %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 @.str1853) %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 @.str1854) %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 @.str1855) %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 @.str1856) %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 @.str1857) %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 @.str1858) %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 @.str1859) %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 @.str1860) %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 @.str1861) %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 @.str1862) %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 @.str1863) %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 @.str1864) %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 @.str1865) %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 @.str1866) %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 @.str1867, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1868) %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 @.str1869, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1870) %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 @.str1871, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1872) %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 @.str1873, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str1874) %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 @.str1875) store ptr %t69, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1876) %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 @.str1877, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1878) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1879) store ptr %t88, ptr %retval br label %ret ifend14: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1880) %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 @.str1881, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1882) %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 @.str1883, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1884) %t111 = call ptr @fn_emit_bind(ptr %t110) %t112 = call ptr @fn_val(ptr %t111, ptr @.str1885) store ptr %t112, ptr %retval br label %ret ifend17: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1886) %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 @.str1887, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str1888) %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 @.str1889, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1890) %t135 = call ptr @fn_emit_bind(ptr %t134) %t136 = call ptr @fn_val(ptr %t135, ptr @.str1891) store ptr %t136, ptr %retval br label %ret ifend20: %t137 = load ptr, ptr %t0 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str1892) %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 @.str1893) store ptr %t177, ptr %retval br label %ret ifend23: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1894) %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 @.str1895) store ptr %t218, ptr %retval br label %ret ifend26: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1896) %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 @.str1897, ptr %t233) %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str1898) %t236 = call ptr @fn_emit_bind(ptr %t235) %t237 = call ptr @fn_val(ptr %t236, ptr @.str1899) store ptr %t237, ptr %retval br label %ret ifend29: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str1900) %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 @.str1901, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str1902) %t255 = call ptr @fn_emit_bind(ptr %t254) %t256 = call ptr @fn_val(ptr %t255, ptr @.str1903) store ptr %t256, ptr %retval br label %ret ifend32: %t257 = load ptr, ptr %t0 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str1904) %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 @.str1905, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str1906) %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 @.str1907, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1908) %t279 = call ptr @fn_emit_bind(ptr %t278) %t280 = call ptr @fn_val(ptr %t279, ptr @.str1909) store ptr %t280, ptr %retval br label %ret ifend35: %t281 = load ptr, ptr %t0 %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str1910) %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 @.str1911, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str1912) %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 @.str1913, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str1914) %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 @.str1915, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str1916) %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 @.str1917) store ptr %t315, ptr %retval br label %ret ifend38: %t316 = load ptr, ptr %t0 %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str1918) %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 @.str1919, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str1920) %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 @.str1921) %t347 = call ptr @fn_emit_bind(ptr %t346) %t348 = call ptr @fn_val(ptr %t347, ptr @.str1922) store ptr %t348, ptr %retval br label %ret ifend41: %t349 = load ptr, ptr %t0 %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str1923) %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 @.str1924, 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 @.str1925, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1926) %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 @.str1927, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1928) %t383 = load ptr, ptr %t377 %t384 = call ptr @lp_str_concat(ptr %t382, ptr %t383) %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str1929) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str1930) store ptr %t387, ptr %retval br label %ret ifend44: %t388 = load ptr, ptr %t0 %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str1931) %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 @.str1932, 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 @.str1933, ptr %t412) %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str1934) %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 @.str1935, ptr %t417) %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str1936) %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 @.str1937) %t425 = call ptr @fn_emit_bind(ptr %t424) %t426 = call ptr @fn_val(ptr %t425, ptr @.str1938) store ptr %t426, ptr %retval br label %ret ifend47: %t427 = load ptr, ptr %t0 %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str1939) %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 @.str1940, ptr %t464) %t466 = call ptr @lp_str_concat(ptr %t465, ptr @.str1941) %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 @.str1942, ptr %t471) %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str1943) %t474 = call ptr @fn_emit_bind(ptr %t473) %t475 = call ptr @fn_val(ptr %t474, ptr @.str1944) store ptr %t475, ptr %retval br label %ret ifend50: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1945) %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 @.str1946, ptr %t517) %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str1947) %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 @.str1948, ptr %t528) %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str1949) %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 @.str1950, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str1951) %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 @.str1952) store ptr %t551, ptr %retval br label %ret ifend53: %t552 = load ptr, ptr %t0 %t553 = call i32 @lp_str_eq(ptr %t552, ptr @.str1953) %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 @.str1954, ptr %t593) %t595 = call ptr @lp_str_concat(ptr %t594, ptr @.str1955) %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 @.str1956, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1957) %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 @.str1958, ptr %t621) %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str1959) %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 @.str1960, ptr %t628) %t630 = call ptr @lp_str_concat(ptr %t629, ptr @.str1961) %t631 = call ptr @fn_emit_bind(ptr %t630) %t632 = call ptr @fn_val(ptr %t631, ptr @.str1962) store ptr %t632, ptr %retval br label %ret ifend56: %t633 = load ptr, ptr %t0 %t634 = call i32 @lp_str_eq(ptr %t633, ptr @.str1963) %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 @.str1964) store ptr %t648, ptr %t649 %t650 = load ptr, ptr %t649 %t651 = call ptr @lp_str_concat(ptr @.str1965, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1966) %t653 = call ptr @fn_emit_bind(ptr %t652) %t654 = call ptr @fn_val(ptr %t653, ptr @.str1967) store ptr %t654, ptr %retval br label %ret ifend59: %t655 = load ptr, ptr %t0 %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str1968) %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 @.str1969, ptr %t669) %t671 = call ptr @lp_str_concat(ptr %t670, ptr @.str1970) %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 @.str1971) %t676 = call ptr @fn_val(ptr %t675, ptr @.str1972) store ptr %t676, ptr %retval br label %ret ifend62: %t677 = load ptr, ptr %t0 %t678 = call i32 @lp_str_eq(ptr %t677, ptr @.str1973) %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 @.str1974, ptr %t700) %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str1975) %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 @.str1976, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1977) %t714 = call ptr @fn_emit_bind(ptr %t713) %t715 = call ptr @fn_val(ptr %t714, ptr @.str1978) store ptr %t715, ptr %retval br label %ret ifend65: %t716 = load ptr, ptr %t0 %t717 = call i32 @lp_str_eq(ptr %t716, ptr @.str1979) %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 @.str1980) %t732 = call ptr @fn_val(ptr %t731, ptr @.str1981) store ptr %t732, ptr %retval br label %ret ifend68: %t733 = load ptr, ptr %t0 %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str1982) %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 @.str1983) %t749 = call ptr @fn_val(ptr %t748, ptr @.str1984) store ptr %t749, ptr %retval br label %ret ifend71: %t750 = load ptr, ptr %t0 %t751 = call i32 @lp_str_eq(ptr %t750, ptr @.str1985) %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 @.str1986, ptr %t773) %t775 = call ptr @lp_str_concat(ptr %t774, ptr @.str1987) %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 @.str1988, ptr %t782) %t784 = call ptr @lp_str_concat(ptr %t783, ptr @.str1989) %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 @.str1990, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str1991) %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 @.str1992) store ptr %t799, ptr %retval br label %ret ifend74: %t800 = load ptr, ptr %t0 %t801 = call i32 @lp_str_eq(ptr %t800, ptr @.str1993) %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 @.str1994, ptr %t832) %t834 = call ptr @lp_str_concat(ptr %t833, ptr @.str1995) %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 @.str1996, ptr %t843) %t845 = call ptr @lp_str_concat(ptr %t844, ptr @.str1997) %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 @.str1998, ptr %t852) %t854 = call ptr @lp_str_concat(ptr %t853, ptr @.str1999) %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 @.str2000, ptr %t859) %t861 = call ptr @lp_str_concat(ptr %t860, ptr @.str2001) %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 @.str2002, ptr %t866) %t868 = call ptr @lp_str_concat(ptr %t867, ptr @.str2003) %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 @.str2004, ptr %t875) %t877 = call ptr @lp_str_concat(ptr %t876, ptr @.str2005) %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 @.str2006) store ptr %t881, ptr %retval br label %ret ifend77: %t882 = load ptr, ptr %t0 %t883 = call i32 @lp_str_eq(ptr %t882, ptr @.str2007) %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 @.str2008, ptr %t905) %t907 = call ptr @lp_str_concat(ptr %t906, ptr @.str2009) %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 @.str2010, ptr %t912) %t914 = call ptr @lp_str_concat(ptr %t913, ptr @.str2011) %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 @.str2012, ptr %t919) %t921 = call ptr @lp_str_concat(ptr %t920, ptr @.str2013) %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 @.str2014, ptr %t926) %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str2015) %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 @.str2016, ptr %t933) %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str2017) %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 @.str2018, 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 @.str2019, ptr %t946) %t948 = call ptr @lp_str_concat(ptr %t947, ptr @.str2020) %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 @.str2021, ptr %t951) %t953 = call ptr @lp_str_concat(ptr %t952, ptr @.str2022) %t954 = load ptr, ptr %t945 %t955 = call ptr @lp_str_concat(ptr %t953, ptr %t954) %t956 = call ptr @lp_str_concat(ptr %t955, ptr @.str2023) %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 @.str2024, ptr %t963) %t965 = call ptr @lp_str_concat(ptr %t964, ptr @.str2025) %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 @.str2026) store ptr %t969, ptr %retval br label %ret ifend80: %t970 = load ptr, ptr %t0 %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str2027) %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 @.str2028, ptr %t999) %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str2029) %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 @.str2030, ptr %t1004) %t1006 = call ptr @lp_str_concat(ptr %t1005, ptr @.str2031) %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 @.str2032, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str2033) %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 @.str2034) store ptr %t1017, ptr %retval br label %ret ifend83: %t1018 = load ptr, ptr %t0 %t1019 = call i32 @lp_str_eq(ptr %t1018, ptr @.str2035) %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 @.str2036, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str2037) %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 @.str2038, 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 @.str2039, ptr %t1063) %t1065 = call ptr @lp_str_concat(ptr %t1064, ptr @.str2040) %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 @.str2041, ptr %t1068) %t1070 = call ptr @lp_str_concat(ptr %t1069, ptr @.str2042) %t1071 = load ptr, ptr %t1062 %t1072 = call ptr @lp_str_concat(ptr %t1070, ptr %t1071) %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str2043) %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 @.str2044, ptr %t1078) %t1080 = call ptr @lp_str_concat(ptr %t1079, ptr @.str2045) %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 @.str2046, ptr %t1083) %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str2047) %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 @.str2048, ptr %t1088) %t1090 = call ptr @lp_str_concat(ptr %t1089, ptr @.str2049) %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 @.str2050, ptr %t1093) %t1095 = call ptr @lp_str_concat(ptr %t1094, ptr @.str2051) %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 @.str2052, ptr %t1100) %t1102 = call ptr @lp_str_concat(ptr %t1101, ptr @.str2053) %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 @.str2054, ptr %t1111) %t1113 = call ptr @lp_str_concat(ptr %t1112, ptr @.str2055) %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 @.str2056, ptr %t1118) %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str2057) %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 @.str2058, ptr %t1127) %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str2059) %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 @.str2060) %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 @.str2061) store ptr %t1138, ptr %retval br label %ret ifend86: %t1139 = load ptr, ptr %t0 %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str2062) %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 @.str2063, ptr %t1180) %t1182 = call ptr @lp_str_concat(ptr %t1181, ptr @.str2064) %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 @.str2065, ptr %t1185) %t1187 = call ptr @lp_str_concat(ptr %t1186, ptr @.str2066) %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 @.str2067, ptr %t1192) %t1194 = call ptr @lp_str_concat(ptr %t1193, ptr @.str2068) %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 @.str2069, ptr %t1197) %t1199 = call ptr @lp_str_concat(ptr %t1198, ptr @.str2070) %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 @.str2071, ptr %t1204) %t1206 = call ptr @lp_str_concat(ptr %t1205, ptr @.str2072) %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 @.str2073, 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 @.str2074) 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 @.str2075) 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 @.str2076) call void @fn_emith(ptr @.str2077) call void @fn_emith(ptr @.str2078) call void @fn_emith(ptr @.str2079) call void @fn_emith(ptr @.str2080) call void @fn_emith(ptr @.str2081) call void @fn_emith(ptr @.str2082) call void @fn_emith(ptr @.str2083) call void @fn_emith(ptr @.str2084) call void @fn_emith(ptr @.str2085) call void @fn_emith(ptr @.str2086) call void @fn_emith(ptr @.str2087) call void @fn_emith(ptr @.str2088) call void @fn_emith(ptr @.str2089) call void @fn_emith(ptr @.str2090) call void @fn_emith(ptr @.str2091) call void @fn_emith(ptr @.str2092) call void @fn_emith(ptr @.str2093) call void @fn_emith(ptr @.str2094) call void @fn_emith(ptr @.str2095) call void @fn_emith(ptr @.str2096) call void @fn_emith(ptr @.str2097) call void @fn_emith(ptr @.str2098) call void @fn_emith(ptr @.str2099) call void @fn_emith(ptr @.str2100) call void @fn_emith(ptr @.str2101) call void @fn_emith(ptr @.str2102) call void @fn_emith(ptr @.str2103) call void @fn_emith(ptr @.str2104) call void @fn_emith(ptr @.str2105) call void @fn_emith(ptr @.str2106) call void @fn_emith(ptr @.str2107) call void @fn_emith(ptr @.str2108) call void @fn_emith(ptr @.str2109) call void @fn_emith(ptr @.str2110) call void @fn_emith(ptr @.str2111) call void @fn_emith(ptr @.str2112) call void @fn_emith(ptr @.str2113) call void @fn_emith(ptr @.str2114) call void @fn_emith(ptr @.str2115) call void @fn_emith(ptr @.str2116) call void @fn_emith(ptr @.str2117) call void @fn_emith(ptr @.str2118) call void @fn_emith(ptr @.str2119) call void @fn_emith(ptr @.str2120) call void @fn_emith(ptr @.str2121) call void @fn_emith(ptr @.str2122) call void @fn_emith(ptr @.str2123) call void @fn_emith(ptr @.str2124) call void @fn_emith(ptr @.str2125) call void @fn_emith(ptr @.str2126) call void @fn_emith(ptr @.str2127) call void @fn_emith(ptr @.str2128) call void @fn_emith(ptr @.str2129) call void @fn_emith(ptr @.str2130) call void @fn_emith(ptr @.str2131) call void @fn_emith(ptr @.str2132) call void @fn_emith(ptr @.str2133) call void @fn_emith(ptr @.str2134) call void @fn_emith(ptr @.str2135) call void @fn_emith(ptr @.str2136) call void @fn_emith(ptr @.str2137) call void @fn_emith(ptr @.str2138) call void @fn_emith(ptr @.str2139) call void @fn_emith(ptr @.str2140) call void @fn_emith(ptr @.str2141) call void @fn_emith(ptr @.str2142) call void @fn_emith(ptr @.str2143) call void @fn_emith(ptr @.str2144) call void @fn_emith(ptr @.str2145) call void @fn_emith(ptr @.str2146) call void @fn_emith(ptr @.str2147) call void @fn_emith(ptr @.str2148) call void @fn_emith(ptr @.str2149) call void @fn_emith(ptr @.str2150) call void @fn_emith(ptr @.str2151) call void @fn_emith(ptr @.str2152) call void @fn_emith(ptr @.str2153) call void @fn_emith(ptr @.str2154) call void @fn_emith(ptr @.str2155) call void @fn_emith(ptr @.str2156) call void @fn_emith(ptr @.str2157) call void @fn_emith(ptr @.str2158) call void @fn_emith(ptr @.str2159) call void @fn_emith(ptr @.str2160) call void @fn_emith(ptr @.str2161) call void @fn_emith(ptr @.str2162) call void @fn_emith(ptr @.str2163) call void @fn_emith(ptr @.str2164) call void @fn_emith(ptr @.str2165) call void @fn_emith(ptr @.str2166) call void @fn_emith(ptr @.str2167) call void @fn_emith(ptr @.str2168) call void @fn_emith(ptr @.str2169) call void @fn_emith(ptr @.str2170) call void @fn_emith(ptr @.str2171) call void @fn_emith(ptr @.str2172) call void @fn_emith(ptr @.str2173) call void @fn_emith(ptr @.str2174) call void @fn_emith(ptr @.str2175) call void @fn_emith(ptr @.str2176) call void @fn_emith(ptr @.str2177) call void @fn_emith(ptr @.str2178) call void @fn_emith(ptr @.str2179) call void @fn_emith(ptr @.str2180) call void @fn_emith(ptr @.str2181) call void @fn_emith(ptr @.str2182) call void @fn_emith(ptr @.str2183) call void @fn_emith(ptr @.str2184) 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 @.str2185, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str2186) %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 @.str2187, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2188) %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 @.str2189, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str2190) %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 @.str2191, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2192) %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 @.str2193, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2194) %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 @.str2195, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2196) %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 @.str2197, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2198) %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 @.str2199) %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 @.str2200) %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 @.str2201) %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 @.str2202) %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 @.str2203) %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 @.str2204) %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 @.str2205) %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 @.str2206) %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 @.str2207) %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 @.str2208) %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 @.str2209) %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 @.str2210) %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 @.str2211) %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 @.str2212) %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 @.str2213) %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 @.str2214) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str2215, ptr @.str2216) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str2217) %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 @.str2218) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2219) %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 @.str2220) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2221) %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 @.str2222) store ptr %t68, ptr %retval br label %ret ifend11: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str2223) %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 @.str2224, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str2225) %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 @.str2226, ptr %t117) %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str2227) %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 @.str2228) store ptr %t127, ptr %retval br label %ret ifend14: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str2229) %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 @.str2230, ptr %t169) %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str2231) %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 @.str2232, ptr %t176) %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str2233) %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 @.str2234) store ptr %t186, ptr %retval br label %ret ifend17: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str2235) %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 @.str2236) store ptr %t233, ptr %retval br label %ret ifend20: %t234 = load ptr, ptr %t0 %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str2237) %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 @.str2238, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str2239) %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 @.str2240) store ptr %t289, ptr %retval br label %ret ifend23: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str2241) %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 @.str2242, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str2243) %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 @.str2244, ptr %t327) %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str2245) %t330 = call ptr @fn_emit_bind(ptr %t329) %t331 = call ptr @fn_val(ptr %t330, ptr @.str2246) store ptr %t331, ptr %retval br label %ret ifend26: %t332 = load ptr, ptr %t0 %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str2247) %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 @.str2248, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str2249) %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 @.str2250, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str2251) %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 @.str2252, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str2253) %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 @.str2254, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str2255) %t405 = call ptr @fn_emit_bind(ptr %t404) %t406 = call ptr @fn_val(ptr %t405, ptr @.str2256) store ptr %t406, ptr %retval br label %ret ifend29: %t407 = load ptr, ptr %t0 %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str2257) %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 @.str2258, ptr %t437) %t439 = call ptr @lp_str_concat(ptr %t438, ptr @.str2259) %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 @.str2260, ptr %t444) %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str2261) %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 @.str2262, ptr %t449) %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str2263) %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 @.str2264, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str2265) %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 @.str2266, 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 @.str2267) store ptr %t475, ptr %retval br label %ret ifend32: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str2268) %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 @.str2269, ptr %t499) %t501 = call ptr @lp_str_concat(ptr %t500, ptr @.str2270) %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 @.str2271, ptr %t506) %t508 = call ptr @lp_str_concat(ptr %t507, ptr @.str2272) %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 @.str2273, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str2274) %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 @.str2275, ptr %t542) %t544 = call ptr @lp_str_concat(ptr %t543, ptr @.str2276) %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 @.str2277, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str2278) %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 @.str2279) store ptr %t559, ptr %retval br label %ret ifend35: %t560 = load ptr, ptr %t0 %t561 = call i32 @lp_str_eq(ptr %t560, ptr @.str2280) %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 @.str2281, ptr %t582) %t584 = call ptr @lp_str_concat(ptr %t583, ptr @.str2282) %t585 = load ptr, ptr %t576 %t586 = call ptr @lp_str_concat(ptr %t584, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str2283) %t588 = call ptr @fn_emit_bind(ptr %t587) %t589 = call ptr @fn_val(ptr %t588, ptr @.str2284) store ptr %t589, ptr %retval br label %ret ifend38: %t590 = load ptr, ptr %t0 %t591 = call i32 @lp_str_eq(ptr %t590, ptr @.str2285) %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 @.str2286, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str2287) %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 @.str2288, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str2289) %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 @.str2290, ptr %t616) %t618 = call ptr @lp_str_concat(ptr %t617, ptr @.str2291) %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 @.str2292) 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 @.str2293) 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 @.str2294, 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 @.str2295, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str2296) %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 @.str2297, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2298) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2299) %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 @.str2300) %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 @.str2301) %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 @.str2302) %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 @.str2303) %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 @.str2304) %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 @.str2305) %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 @.str2306) %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 @.str2307) %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 @.str2308) %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 @.str2309) %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 @.str2310) %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 @.str2311) %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 @.str2312) %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 @.str2313) %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 @.str2314) %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 @.str2315) %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 @.str2316) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str2317, ptr @.str2318) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str2319) %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 @.str2320) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2321) %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 @.str2322) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2323) %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 @.str2324) store ptr %t68, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str2325) %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 @.str2326) %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 @.str2327, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str2328) %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 @.str2329, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str2330) %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 @.str2331, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2332) %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 @.str2333, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str2334) %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 @.str2335, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str2336) %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 @.str2337) %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 @.str2338) 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 @.str2339, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str2340) %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 @.str2341, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str2342) %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 @.str2343, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str2344) %t180 = call ptr @fn_emit_bind(ptr %t179) %t181 = call ptr @fn_val(ptr %t180, ptr @.str2345) store ptr %t181, ptr %retval br label %ret ifend16: %t182 = load ptr, ptr %t0 %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str2346) %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then20, label %ifend22 then20: %t185 = call ptr @fn_find_fn(ptr @.str2347) %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 @.str2348) 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 @.str2349, ptr %t209) %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str2350) %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 @.str2351) %t217 = call ptr @fn_emit_bind(ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str2352) store ptr %t218, ptr %retval br label %ret ifend22: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str2353) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then26, label %ifend28 then26: %t222 = call ptr @fn_find_fn(ptr @.str2354) %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 @.str2355) 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 @.str2356, ptr %t255) %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str2357) %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 @.str2358) %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 @.str2359) %t268 = call ptr @fn_emit_bind(ptr %t267) %t269 = call ptr @fn_val(ptr %t268, ptr @.str2360) store ptr %t269, ptr %retval br label %ret ifend28: %t270 = load ptr, ptr %t0 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str2361) %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then32, label %ifend34 then32: %t273 = call ptr @fn_find_fn(ptr @.str2362) %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 @.str2363) 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 @.str2364, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str2365) %t291 = call ptr @fn_emit_bind(ptr %t290) %t292 = call ptr @fn_val(ptr %t291, ptr @.str2366) store ptr %t292, ptr %retval br label %ret ifend34: %t293 = load ptr, ptr %t0 %t294 = call i32 @lp_str_eq(ptr %t293, ptr @.str2367) %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 @.str2368, ptr %t334) %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str2369) %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 @.str2370, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str2371) %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 @.str2372) store ptr %t351, ptr %retval br label %ret ifend40: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str2373) %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 @.str2374, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str2375) %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 @.str2376, ptr %t400) %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str2377) %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 @.str2378) store ptr %t410, ptr %retval br label %ret ifend43: %t411 = load ptr, ptr %t0 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str2379) %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 @.str2380, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str2381) %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 @.str2382, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str2383) %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 @.str2384) store ptr %t463, ptr %retval br label %ret ifend46: %t464 = load ptr, ptr %t0 %t465 = call i32 @lp_str_eq(ptr %t464, ptr @.str2385) %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 @.str2386, ptr %t505) %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str2387) %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 @.str2388, ptr %t512) %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str2389) %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 @.str2390, ptr %t519) %t521 = call ptr @lp_str_concat(ptr %t520, ptr @.str2391) %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 @.str2392) store ptr %t525, ptr %retval br label %ret ifend49: %t526 = load ptr, ptr %t0 %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str2393) %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 @.str2394, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str2395) %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 @.str2396, ptr %t558) %t560 = call ptr @lp_str_concat(ptr %t559, ptr @.str2397) %t561 = call ptr @fn_emit_bind(ptr %t560) %t562 = call ptr @fn_val(ptr %t561, ptr @.str2398) store ptr %t562, ptr %retval br label %ret ifend52: %t563 = load ptr, ptr %t0 %t564 = call i32 @lp_str_eq(ptr %t563, ptr @.str2399) %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 @.str2400, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str2401) %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 @.str2402, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str2403) %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 @.str2404, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str2405) %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 @.str2406) 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 @.str2407, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str2408) %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 @.str2409, ptr %t655) %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str2410) %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 @.str2411) 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 @.str2412, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str2413) %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 @.str2414, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str2415) %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 @.str2416, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str2417) %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 @.str2418, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str2419) %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 @.str2420, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2421) %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 @.str2422, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str2423) %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 @.str2424, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str2425) %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 @.str2426, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str2427) %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 @.str2428, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str2429) %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 @.str2430, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2431) %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 @.str2432, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2433) %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 @.str2434, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2435) %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 @.str2436, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2437) %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 @.str2438, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2439) %t6 = load ptr, ptr %t1 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2440) %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 @.str2441, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2442) %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 @.str2443) %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 @.str2444) %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 @.str2445) %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 @.str2446) %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 @.str2447) %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 @.str2448) %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 @.str2449) %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 @.str2450) %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 @.str2451) %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 @.str2452) %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 @.str2453) %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 @.str2454) store ptr %t54, ptr %retval br label %ret ifend2: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str2455) %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 @.str2456) store ptr %t71, ptr %retval br label %ret ifend5: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2457) %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 @.str2458) store ptr %t88, ptr %retval br label %ret ifend8: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str2459) %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 @.str2460) store ptr %t105, ptr %retval br label %ret ifend11: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str2461) %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 @.str2462) store ptr %t122, ptr %retval br label %ret ifend14: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str2463) %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 @.str2464, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str2465) %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 @.str2466) store ptr %t151, ptr %retval br label %ret ifend17: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str2467) %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 @.str2468, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str2469) %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 @.str2470) store ptr %t180, ptr %retval br label %ret ifend20: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str2471) %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 @.str2472, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str2473) %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 @.str2474, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str2475) %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 @.str2476, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str2477) %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 @.str2478, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str2479) %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 @.str2480) store ptr %t240, ptr %retval br label %ret ifend23: %t241 = load ptr, ptr %t0 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str2481) %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 @.str2482, ptr %t291) %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str2483) %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 @.str2484, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str2485) %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 @.str2486, 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 @.str2487, 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 @.str2488, 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 @.str2489, ptr %t325, ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t310 %t330 = call ptr @lp_str_concat(ptr @.str2490, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str2491) %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 @.str2492, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str2493) %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 @.str2494, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str2495) %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 @.str2496) 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 @.str2497, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str2498) %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 @.str2499, ptr %t415) %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str2500) %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 @.str2501, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str2502) %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 @.str2503, ptr %t429) %t431 = call ptr @lp_str_concat(ptr %t430, ptr @.str2504) %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 @.str2505, 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 @.str2506, 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 @.str2507, 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 @.str2508, ptr %t448, ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t439 %t453 = call ptr @lp_str_concat(ptr @.str2509, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str2510) %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 @.str2511, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str2512) %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 @.str2513, ptr %t466) %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str2514) %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 @.str2515) 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 @.str2516) %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 @.str2517) %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 @.str2518) %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 @.str2519) %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 @.str2520) %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 @.str2521) %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 @.str2522) %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 @.str2523) %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 @.str2524) %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 @.str2525) %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 @.str2526) %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 @.str2527) %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 @.str2528) %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 @.str2529) %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 @.str2530) %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 @.str2531) %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 @.str2532) %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 @.str2533) %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 @.str2534) %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 @.str2535) %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 @.str2536) %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 @.str2537, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2538) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str2539) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2540) %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 @.str2541, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2542) %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 @.str2543) %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 @.str2544) %t66 = call ptr @fn_emit_bind(ptr %t65) %t67 = call ptr @fn_val(ptr %t66, ptr @.str2545) store ptr %t67, ptr %retval br label %ret ifend5: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str2546) %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 @.str2547, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str2548) %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 @.str2549) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str2550) store ptr %t100, ptr %retval br label %ret ifend8: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2551) %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 @.str2552, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2553) %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 @.str2554) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str2555) 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 @.str2556) %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 @.str2557, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str2558) %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 @.str2559, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2560) %t156 = call ptr @fn_emit_bind(ptr %t155) %t157 = call ptr @fn_val(ptr %t156, ptr @.str2561) store ptr %t157, ptr %retval br label %ret ifend14: %t158 = load ptr, ptr %t0 %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str2562) %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 @.str2563, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str2564) %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 @.str2565, 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 @.str2566, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str2567) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str2568) store ptr %t189, ptr %retval br label %ret ifend17: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str2569) %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 @.str2570, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str2571) %t198 = call ptr @fn_emit_bind(ptr %t197) %t199 = call ptr @fn_val(ptr %t198, ptr @.str2572) store ptr %t199, ptr %retval br label %ret ifend20: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str2573) %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 @.str2574, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str2575) %t208 = call ptr @fn_emit_bind(ptr %t207) %t209 = call ptr @fn_val(ptr %t208, ptr @.str2576) store ptr %t209, ptr %retval br label %ret ifend23: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str2577) %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 @.str2578, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str2579) %t218 = call ptr @fn_emit_bind(ptr %t217) %t219 = call ptr @fn_val(ptr %t218, ptr @.str2580) store ptr %t219, ptr %retval br label %ret ifend26: %t220 = load ptr, ptr %t0 %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str2581) %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 @.str2582, ptr %t225) %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str2583) %t228 = call ptr @fn_emit_bind(ptr %t227) %t229 = call ptr @fn_val(ptr %t228, ptr @.str2584) store ptr %t229, ptr %retval br label %ret ifend29: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str2585) %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 @.str2586, ptr %t244) %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str2587) %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 @.str2588) %t252 = call ptr @fn_emit_bind(ptr %t251) %t253 = call ptr @fn_val(ptr %t252, ptr @.str2589) store ptr %t253, ptr %retval br label %ret ifend32: %t254 = load ptr, ptr %t0 %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str2590) %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 @.str2591, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str2592) %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 @.str2593) %t276 = call ptr @fn_emit_bind(ptr %t275) %t277 = call ptr @fn_val(ptr %t276, ptr @.str2594) store ptr %t277, ptr %retval br label %ret ifend35: %t278 = load ptr, ptr %t0 %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str2595) %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 @.str2596, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str2597) %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 @.str2598) %t300 = call ptr @fn_emit_bind(ptr %t299) %t301 = call ptr @fn_val(ptr %t300, ptr @.str2599) store ptr %t301, ptr %retval br label %ret ifend38: %t302 = load ptr, ptr %t0 %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str2600) %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 @.str2601, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str2602) %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 @.str2603) %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 @.str2604) %t338 = call ptr @fn_emit_bind(ptr %t337) %t339 = call ptr @fn_val(ptr %t338, ptr @.str2605) store ptr %t339, ptr %retval br label %ret ifend41: %t340 = load ptr, ptr %t0 %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str2606) %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 @.str2607, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str2608) %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 @.str2609) %t362 = call ptr @fn_emit_bind(ptr %t361) %t363 = call ptr @fn_val(ptr %t362, ptr @.str2610) store ptr %t363, ptr %retval br label %ret ifend44: %t364 = load ptr, ptr %t0 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str2611) %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 @.str2612, ptr %t378) %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2613) %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 @.str2614) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str2615) store ptr %t387, ptr %retval br label %ret ifend47: %t389 = load ptr, ptr %t0 %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str2616) %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 @.str2617) %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 @.str2618, ptr %t410) %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str2619) %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 @.str2620) %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 @.str2621) %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 @.str2622, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str2623) %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 @.str2624, ptr %t428) %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str2625) %t431 = call ptr @fn_emit_bind(ptr %t430) %t432 = call ptr @fn_val(ptr %t431, ptr @.str2626) store ptr %t432, ptr %retval br label %ret ifend55: %t433 = load ptr, ptr %t419 %t434 = call ptr @lp_str_concat(ptr @.str2627, ptr %t433) %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str2628) %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 @.str2629, ptr %t438) %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str2630) %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 @.str2631, ptr %t445) %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str2632) %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 @.str2633, ptr %t450) %t452 = call ptr @lp_str_concat(ptr %t451, ptr @.str2634) %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 @.str2635, ptr %t457) %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str2636) %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 @.str2637, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str2638) %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 @.str2639) 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 @.str2640, ptr %t480) %t482 = call ptr @lp_str_concat(ptr %t481, ptr @.str2641) %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 @.str2642) %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 @.str2643, ptr %t490) %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str2644) %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 @.str2645) %t498 = load ptr, ptr %t484 %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498) %t500 = call ptr @lp_str_concat(ptr %t499, ptr @.str2646) %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 @.str2647, ptr %t503) %t505 = call ptr @lp_str_concat(ptr %t504, ptr @.str2648) %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 @.str2649, ptr %t508) %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str2650) %t511 = call ptr @fn_emit_bind(ptr %t510) %t512 = call ptr @fn_val(ptr %t511, ptr @.str2651) 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 @.str2652, ptr %t515) %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str2653) %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 @.str2654, ptr %t520) %t522 = call ptr @lp_str_concat(ptr %t521, ptr @.str2655) %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 @.str2656) store ptr %t527, ptr %t528 %t529 = load ptr, ptr %t528 call void @fn_store_at(ptr @.str2657, ptr @.str2658, ptr %t529) %t530 = load ptr, ptr %t526 %t531 = call ptr @lp_str_concat(ptr @.str2659, ptr %t530) %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str2660) %t533 = call ptr @fn_emit_bind(ptr %t532) store ptr %t533, ptr %t534 %t535 = call ptr @fn_lbl(ptr @.str2661) store ptr %t535, ptr %t536 %t537 = call ptr @fn_lbl(ptr @.str2662) store ptr %t537, ptr %t538 call void @fn_emit(ptr @.str2663) %t539 = load ptr, ptr %t534 call void @fn_emit(ptr %t539) call void @fn_emit(ptr @.str2664) %t540 = load ptr, ptr %t538 call void @fn_emit(ptr %t540) call void @fn_emit(ptr @.str2665) %t541 = load ptr, ptr %t536 call void @fn_emit(ptr %t541) call void @fn_emit(ptr @.str2666) %t542 = load ptr, ptr %t536 call void @fn_emit(ptr %t542) call void @fn_emit(ptr @.str2667) %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 @.str2668, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str2669) %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 @.str2670, ptr %t552) %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str2671) %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 @.str2672) %t560 = load ptr, ptr %t484 %t561 = call ptr @lp_str_concat(ptr %t559, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str2673) %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 @.str2674, ptr %t565) %t567 = call ptr @lp_str_concat(ptr %t566, ptr @.str2675) %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 @.str2676, ptr %t570) %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str2677) %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 @.str2678, ptr %t575, ptr %t576) call void @fn_emit(ptr @.str2679) %t577 = load ptr, ptr %t538 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str2680) %t578 = load ptr, ptr %t538 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str2681) %t579 = load ptr, ptr %t528 %t580 = call ptr @lp_str_concat(ptr @.str2682, ptr %t579) %t581 = call ptr @fn_emit_bind(ptr %t580) %t582 = call ptr @fn_val(ptr %t581, ptr @.str2683) 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 @.str2684) call void @fn_emith(ptr @.str2685) call void @fn_emith(ptr @.str2686) call void @fn_emith(ptr @.str2687) call void @fn_emith(ptr @.str2688) call void @fn_emith(ptr @.str2689) call void @fn_emith(ptr @.str2690) call void @fn_emith(ptr @.str2691) call void @fn_emith(ptr @.str2692) call void @fn_emith(ptr @.str2693) call void @fn_emith(ptr @.str2694) call void @fn_emith(ptr @.str2695) call void @fn_emith(ptr @.str2696) call void @fn_emith(ptr @.str2697) call void @fn_emith(ptr @.str2698) call void @fn_emith(ptr @.str2699) call void @fn_emith(ptr @.str2700) call void @fn_emith(ptr @.str2701) call void @fn_emith(ptr @.str2702) call void @fn_emith(ptr @.str2703) call void @fn_emith(ptr @.str2704) call void @fn_emith(ptr @.str2705) call void @fn_emith(ptr @.str2706) call void @fn_emith(ptr @.str2707) call void @fn_emith(ptr @.str2708) call void @fn_emith(ptr @.str2709) call void @fn_emith(ptr @.str2710) call void @fn_emith(ptr @.str2711) call void @fn_emith(ptr @.str2712) call void @fn_emith(ptr @.str2713) call void @fn_emith(ptr @.str2714) call void @fn_emith(ptr @.str2715) call void @fn_emith(ptr @.str2716) call void @fn_emith(ptr @.str2717) call void @fn_emith(ptr @.str2718) call void @fn_emith(ptr @.str2719) call void @fn_emith(ptr @.str2720) call void @fn_emith(ptr @.str2721) call void @fn_emith(ptr @.str2722) call void @fn_emith(ptr @.str2723) call void @fn_emith(ptr @.str2724) call void @fn_emith(ptr @.str2725) call void @fn_emith(ptr @.str2726) call void @fn_emith(ptr @.str2727) call void @fn_emith(ptr @.str2728) call void @fn_emith(ptr @.str2729) call void @fn_emith(ptr @.str2730) call void @fn_emith(ptr @.str2731) call void @fn_emith(ptr @.str2732) call void @fn_emith(ptr @.str2733) call void @fn_emith(ptr @.str2734) call void @fn_emith(ptr @.str2735) call void @fn_emith(ptr @.str2736) call void @fn_emith(ptr @.str2737) call void @fn_emith(ptr @.str2738) call void @fn_emith(ptr @.str2739) call void @fn_emith(ptr @.str2740) call void @fn_emith(ptr @.str2741) call void @fn_emith(ptr @.str2742) call void @fn_emith(ptr @.str2743) call void @fn_emith(ptr @.str2744) call void @fn_emith(ptr @.str2745) call void @fn_emith(ptr @.str2746) call void @fn_emith(ptr @.str2747) call void @fn_emith(ptr @.str2748) call void @fn_emith(ptr @.str2749) call void @fn_emith(ptr @.str2750) call void @fn_emith(ptr @.str2751) call void @fn_emith(ptr @.str2752) call void @fn_emith(ptr @.str2753) call void @fn_emith(ptr @.str2754) call void @fn_emith(ptr @.str2755) call void @fn_emith(ptr @.str2756) call void @fn_emith(ptr @.str2757) call void @fn_emith(ptr @.str2758) call void @fn_emith(ptr @.str2759) call void @fn_emith(ptr @.str2760) call void @fn_emith(ptr @.str2761) call void @fn_emith(ptr @.str2762) call void @fn_emith(ptr @.str2763) call void @fn_emith(ptr @.str2764) call void @fn_emith(ptr @.str2765) call void @fn_emith(ptr @.str2766) call void @fn_emith(ptr @.str2767) call void @fn_emith(ptr @.str2768) call void @fn_emith(ptr @.str2769) call void @fn_emith(ptr @.str2770) call void @fn_emith(ptr @.str2771) call void @fn_emith(ptr @.str2772) call void @fn_emith(ptr @.str2773) call void @fn_emith(ptr @.str2774) call void @fn_emith(ptr @.str2775) call void @fn_emith(ptr @.str2776) call void @fn_emith(ptr @.str2777) call void @fn_emith(ptr @.str2778) call void @fn_emith(ptr @.str2779) call void @fn_emith(ptr @.str2780) call void @fn_emith(ptr @.str2781) call void @fn_emith(ptr @.str2782) call void @fn_emith(ptr @.str2783) call void @fn_emith(ptr @.str2784) call void @fn_emith(ptr @.str2785) call void @fn_emith(ptr @.str2786) call void @fn_emith(ptr @.str2787) call void @fn_emith(ptr @.str2788) call void @fn_emith(ptr @.str2789) call void @fn_emith(ptr @.str2790) call void @fn_emith(ptr @.str2791) call void @fn_emith(ptr @.str2792) call void @fn_emith(ptr @.str2793) call void @fn_emith(ptr @.str2794) call void @fn_emith(ptr @.str2795) call void @fn_emith(ptr @.str2796) call void @fn_emith(ptr @.str2797) call void @fn_emith(ptr @.str2798) call void @fn_emith(ptr @.str2799) call void @fn_emith(ptr @.str2800) call void @fn_emith(ptr @.str2801) call void @fn_emith(ptr @.str2802) call void @fn_emith(ptr @.str2803) call void @fn_emith(ptr @.str2804) call void @fn_emith(ptr @.str2805) call void @fn_emith(ptr @.str2806) call void @fn_emith(ptr @.str2807) call void @fn_emith(ptr @.str2808) call void @fn_emith(ptr @.str2809) call void @fn_emith(ptr @.str2810) call void @fn_emith(ptr @.str2811) call void @fn_emith(ptr @.str2812) call void @fn_emith(ptr @.str2813) call void @fn_emith(ptr @.str2814) call void @fn_emith(ptr @.str2815) call void @fn_emith(ptr @.str2816) call void @fn_emith(ptr @.str2817) call void @fn_emith(ptr @.str2818) call void @fn_emith(ptr @.str2819) call void @fn_emith(ptr @.str2820) call void @fn_emith(ptr @.str2821) call void @fn_emith(ptr @.str2822) call void @fn_emith(ptr @.str2823) call void @fn_emith(ptr @.str2824) call void @fn_emith(ptr @.str2825) call void @fn_emith(ptr @.str2826) call void @fn_emith(ptr @.str2827) call void @fn_emith(ptr @.str2828) call void @fn_emith(ptr @.str2829) call void @fn_emith(ptr @.str2830) call void @fn_emith(ptr @.str2831) call void @fn_emith(ptr @.str2832) call void @fn_emith(ptr @.str2833) call void @fn_emith(ptr @.str2834) call void @fn_emith(ptr @.str2835) call void @fn_emith(ptr @.str2836) call void @fn_emith(ptr @.str2837) call void @fn_emith(ptr @.str2838) call void @fn_emith(ptr @.str2839) call void @fn_emith(ptr @.str2840) call void @fn_emith(ptr @.str2841) call void @fn_emith(ptr @.str2842) call void @fn_emith(ptr @.str2843) call void @fn_emith(ptr @.str2844) call void @fn_emith(ptr @.str2845) call void @fn_emith(ptr @.str2846) call void @fn_emith(ptr @.str2847) call void @fn_emith(ptr @.str2848) call void @fn_emith(ptr @.str2849) call void @fn_emith(ptr @.str2850) call void @fn_emith(ptr @.str2851) call void @fn_emith(ptr @.str2852) call void @fn_emith(ptr @.str2853) call void @fn_emith(ptr @.str2854) call void @fn_emith(ptr @.str2855) call void @fn_emith(ptr @.str2856) call void @fn_emith(ptr @.str2857) call void @fn_emith(ptr @.str2858) call void @fn_emith(ptr @.str2859) call void @fn_emith(ptr @.str2860) call void @fn_emith(ptr @.str2861) call void @fn_emith(ptr @.str2862) call void @fn_emith(ptr @.str2863) call void @fn_emith(ptr @.str2864) call void @fn_emith(ptr @.str2865) call void @fn_emith(ptr @.str2866) call void @fn_emith(ptr @.str2867) call void @fn_emith(ptr @.str2868) call void @fn_emith(ptr @.str2869) call void @fn_emith(ptr @.str2870) call void @fn_emith(ptr @.str2871) call void @fn_emith(ptr @.str2872) call void @fn_emith(ptr @.str2873) call void @fn_emith(ptr @.str2874) call void @fn_emith(ptr @.str2875) call void @fn_emith(ptr @.str2876) call void @fn_emith(ptr @.str2877) call void @fn_emith(ptr @.str2878) call void @fn_emith(ptr @.str2879) call void @fn_emith(ptr @.str2880) call void @fn_emith(ptr @.str2881) br label %ret ret: ret void } define void @fn_emit_text2_prelude() { entry: 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) 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) 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 @.str3093) %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 @.str3094) %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 @.str3095) %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 @.str3096) %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 @.str3097) %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 @.str3098) %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 @.str3099) %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 @.str3100) %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 @.str3101, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str3102) %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 @.str3103, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3104) %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 @.str3105, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3106) %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 @.str3107, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3108) %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 @.str3109, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3110) %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 @.str3111, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3112) %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 @.str3113, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3114) %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 @.str3115, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3116) %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 @.str3117, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str3118) %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 @.str3119, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3120) %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 @.str3121, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3122) %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 @.str3123, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3124) %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 @.str3125, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3126) %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 @.str3127, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3128) %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 @.str3129, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3130) %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 @.str3131, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3132) %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 @.str3133) %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 @.str3134) %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 @.str3135, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3136) %t27 = call ptr @fn_emit_bind(ptr %t26) %t28 = call ptr @fn_val(ptr %t27, ptr @.str3137) store ptr %t28, ptr %retval br label %ret ifend4: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3138) %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 @.str3139) %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 @.str3140, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3141) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str3142) store ptr %t55, ptr %retval br label %ret ifend9: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str3143) %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 @.str3144) store ptr %t71, ptr %retval br label %ret ifend12: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str3145) %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 @.str3146, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str3147) %t89 = call ptr @fn_emit_bind(ptr %t88) %t90 = call ptr @fn_val(ptr %t89, ptr @.str3148) store ptr %t90, ptr %retval br label %ret ifend15: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str3149) %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 @.str3150) store ptr %t107, ptr %retval br label %ret ifend18: store ptr @.str3151, 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 @.str3152, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str3153) %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 @.str3154, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str3155) %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 @.str3156, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str3157) %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 @.str3158, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str3159) %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 @.str3160, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str3161) %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 @.str3162, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str3163) %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 @.str3164) 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 @.str3165) call void @fn_emith(ptr @.str3166) call void @fn_emith(ptr @.str3167) call void @fn_emith(ptr @.str3168) call void @fn_emith(ptr @.str3169) call void @fn_emith(ptr @.str3170) call void @fn_emith(ptr @.str3171) call void @fn_emith(ptr @.str3172) call void @fn_emith(ptr @.str3173) call void @fn_emith(ptr @.str3174) call void @fn_emith(ptr @.str3175) call void @fn_emith(ptr @.str3176) call void @fn_emith(ptr @.str3177) call void @fn_emith(ptr @.str3178) call void @fn_emith(ptr @.str3179) call void @fn_emith(ptr @.str3180) call void @fn_emith(ptr @.str3181) call void @fn_emith(ptr @.str3182) call void @fn_emith(ptr @.str3183) call void @fn_emith(ptr @.str3184) call void @fn_emith(ptr @.str3185) call void @fn_emith(ptr @.str3186) call void @fn_emith(ptr @.str3187) call void @fn_emith(ptr @.str3188) call void @fn_emith(ptr @.str3189) call void @fn_emith(ptr @.str3190) call void @fn_emith(ptr @.str3191) call void @fn_emith(ptr @.str3192) call void @fn_emith(ptr @.str3193) call void @fn_emith(ptr @.str3194) call void @fn_emith(ptr @.str3195) call void @fn_emith(ptr @.str3196) call void @fn_emith(ptr @.str3197) call void @fn_emith(ptr @.str3198) call void @fn_emith(ptr @.str3199) call void @fn_emith(ptr @.str3200) call void @fn_emith(ptr @.str3201) call void @fn_emith(ptr @.str3202) call void @fn_emith(ptr @.str3203) call void @fn_emith(ptr @.str3204) call void @fn_emith(ptr @.str3205) call void @fn_emith(ptr @.str3206) call void @fn_emith(ptr @.str3207) call void @fn_emith(ptr @.str3208) call void @fn_emith(ptr @.str3209) call void @fn_emith(ptr @.str3210) call void @fn_emith(ptr @.str3211) call void @fn_emith(ptr @.str3212) call void @fn_emith(ptr @.str3213) call void @fn_emith(ptr @.str3214) call void @fn_emith(ptr @.str3215) call void @fn_emith(ptr @.str3216) call void @fn_emith(ptr @.str3217) call void @fn_emith(ptr @.str3218) call void @fn_emith(ptr @.str3219) call void @fn_emith(ptr @.str3220) call void @fn_emith(ptr @.str3221) call void @fn_emith(ptr @.str3222) call void @fn_emith(ptr @.str3223) call void @fn_emith(ptr @.str3224) call void @fn_emith(ptr @.str3225) call void @fn_emith(ptr @.str3226) call void @fn_emith(ptr @.str3227) call void @fn_emith(ptr @.str3228) call void @fn_emith(ptr @.str3229) call void @fn_emith(ptr @.str3230) call void @fn_emith(ptr @.str3231) call void @fn_emith(ptr @.str3232) call void @fn_emith(ptr @.str3233) call void @fn_emith(ptr @.str3234) call void @fn_emith(ptr @.str3235) call void @fn_emith(ptr @.str3236) call void @fn_emith(ptr @.str3237) call void @fn_emith(ptr @.str3238) call void @fn_emith(ptr @.str3239) call void @fn_emith(ptr @.str3240) call void @fn_emith(ptr @.str3241) call void @fn_emith(ptr @.str3242) call void @fn_emith(ptr @.str3243) 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) 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 @.str3262) %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 @.str3263) %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 @.str3264) %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 @.str3265) %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 @.str3266) %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 @.str3267) %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 @.str3268) %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 @.str3269) %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 @.str3270) %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 @.str3271) %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 @.str3272, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3273) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str3274) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3275) %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 @.str3276, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str3277) %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 @.str3278) %t52 = call ptr @fn_emit_bind(ptr %t51) %t53 = call ptr @fn_val(ptr %t52, ptr @.str3279) store ptr %t53, ptr %retval br label %ret ifend5: %t54 = load ptr, ptr %t0 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str3280) %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 @.str3281, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3282) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str3283) store ptr %t72, ptr %retval br label %ret ifend8: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3284) %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 @.str3285, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3286) %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 @.str3287) %t104 = call ptr @fn_emit_bind(ptr %t103) %t105 = call ptr @fn_val(ptr %t104, ptr @.str3288) store ptr %t105, ptr %retval br label %ret ifend11: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str3289) %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 @.str3290) %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 @.str3291, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str3292) %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 @.str3293, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str3294) %t136 = call ptr @fn_emit_bind(ptr %t135) %t137 = call ptr @fn_val(ptr %t136, ptr @.str3295) store ptr %t137, ptr %retval br label %ret ifend16: %t138 = load ptr, ptr %t0 %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str3296) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then17, label %ifend19 then17: %t141 = call ptr @fn_emit_bind(ptr @.str3297) %t142 = call ptr @fn_val(ptr %t141, ptr @.str3298) store ptr %t142, ptr %retval br label %ret ifend19: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str3299) %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 @.str3300, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str3301) %t160 = call ptr @fn_emit_bind(ptr %t159) %t161 = call ptr @fn_val(ptr %t160, ptr @.str3302) 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 @.str3303, ptr %t191) %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str3304) %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 @.str3305) %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 @.str3306, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str3307) %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 @.str3308) %t209 = call ptr @fn_emit_bind(ptr %t208) %t210 = call ptr @fn_val(ptr %t209, ptr @.str3309) 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 @.str3310) call void @fn_emith(ptr @.str3311) call void @fn_emith(ptr @.str3312) call void @fn_emith(ptr @.str3313) call void @fn_emith(ptr @.str3314) call void @fn_emith(ptr @.str3315) call void @fn_emith(ptr @.str3316) call void @fn_emith(ptr @.str3317) call void @fn_emith(ptr @.str3318) call void @fn_emith(ptr @.str3319) call void @fn_emith(ptr @.str3320) call void @fn_emith(ptr @.str3321) call void @fn_emith(ptr @.str3322) call void @fn_emith(ptr @.str3323) call void @fn_emith(ptr @.str3324) call void @fn_emith(ptr @.str3325) call void @fn_emith(ptr @.str3326) call void @fn_emith(ptr @.str3327) call void @fn_emith(ptr @.str3328) call void @fn_emith(ptr @.str3329) call void @fn_emith(ptr @.str3330) call void @fn_emith(ptr @.str3331) call void @fn_emith(ptr @.str3332) call void @fn_emith(ptr @.str3333) call void @fn_emith(ptr @.str3334) call void @fn_emith(ptr @.str3335) call void @fn_emith(ptr @.str3336) call void @fn_emith(ptr @.str3337) call void @fn_emith(ptr @.str3338) call void @fn_emith(ptr @.str3339) call void @fn_emith(ptr @.str3340) call void @fn_emith(ptr @.str3341) call void @fn_emith(ptr @.str3342) call void @fn_emith(ptr @.str3343) call void @fn_emith(ptr @.str3344) call void @fn_emith(ptr @.str3345) call void @fn_emith(ptr @.str3346) call void @fn_emith(ptr @.str3347) call void @fn_emith(ptr @.str3348) call void @fn_emith(ptr @.str3349) call void @fn_emith(ptr @.str3350) call void @fn_emith(ptr @.str3351) call void @fn_emith(ptr @.str3352) call void @fn_emith(ptr @.str3353) call void @fn_emith(ptr @.str3354) call void @fn_emith(ptr @.str3355) call void @fn_emith(ptr @.str3356) call void @fn_emith(ptr @.str3357) call void @fn_emith(ptr @.str3358) call void @fn_emith(ptr @.str3359) call void @fn_emith(ptr @.str3360) call void @fn_emith(ptr @.str3361) call void @fn_emith(ptr @.str3362) call void @fn_emith(ptr @.str3363) call void @fn_emith(ptr @.str3364) call void @fn_emith(ptr @.str3365) call void @fn_emith(ptr @.str3366) call void @fn_emith(ptr @.str3367) call void @fn_emith(ptr @.str3368) call void @fn_emith(ptr @.str3369) call void @fn_emith(ptr @.str3370) call void @fn_emith(ptr @.str3371) call void @fn_emith(ptr @.str3372) call void @fn_emith(ptr @.str3373) call void @fn_emith(ptr @.str3374) call void @fn_emith(ptr @.str3375) call void @fn_emith(ptr @.str3376) call void @fn_emith(ptr @.str3377) call void @fn_emith(ptr @.str3378) call void @fn_emith(ptr @.str3379) call void @fn_emith(ptr @.str3380) call void @fn_emith(ptr @.str3381) call void @fn_emith(ptr @.str3382) call void @fn_emith(ptr @.str3383) call void @fn_emith(ptr @.str3384) call void @fn_emith(ptr @.str3385) call void @fn_emith(ptr @.str3386) call void @fn_emith(ptr @.str3387) call void @fn_emith(ptr @.str3388) call void @fn_emith(ptr @.str3389) call void @fn_emith(ptr @.str3390) call void @fn_emith(ptr @.str3391) call void @fn_emith(ptr @.str3392) call void @fn_emith(ptr @.str3393) call void @fn_emith(ptr @.str3394) call void @fn_emith(ptr @.str3395) call void @fn_emith(ptr @.str3396) call void @fn_emith(ptr @.str3397) call void @fn_emith(ptr @.str3398) call void @fn_emith(ptr @.str3399) call void @fn_emith(ptr @.str3400) call void @fn_emith(ptr @.str3401) call void @fn_emith(ptr @.str3402) call void @fn_emith(ptr @.str3403) call void @fn_emith(ptr @.str3404) call void @fn_emith(ptr @.str3405) call void @fn_emith(ptr @.str3406) call void @fn_emith(ptr @.str3407) call void @fn_emith(ptr @.str3408) call void @fn_emith(ptr @.str3409) call void @fn_emith(ptr @.str3410) call void @fn_emith(ptr @.str3411) call void @fn_emith(ptr @.str3412) call void @fn_emith(ptr @.str3413) call void @fn_emith(ptr @.str3414) call void @fn_emith(ptr @.str3415) call void @fn_emith(ptr @.str3416) call void @fn_emith(ptr @.str3417) call void @fn_emith(ptr @.str3418) call void @fn_emith(ptr @.str3419) call void @fn_emith(ptr @.str3420) call void @fn_emith(ptr @.str3421) call void @fn_emith(ptr @.str3422) call void @fn_emith(ptr @.str3423) call void @fn_emith(ptr @.str3424) call void @fn_emith(ptr @.str3425) call void @fn_emith(ptr @.str3426) call void @fn_emith(ptr @.str3427) call void @fn_emith(ptr @.str3428) call void @fn_emith(ptr @.str3429) call void @fn_emith(ptr @.str3430) call void @fn_emith(ptr @.str3431) call void @fn_emith(ptr @.str3432) call void @fn_emith(ptr @.str3433) call void @fn_emith(ptr @.str3434) call void @fn_emith(ptr @.str3435) call void @fn_emith(ptr @.str3436) call void @fn_emith(ptr @.str3437) call void @fn_emith(ptr @.str3438) call void @fn_emith(ptr @.str3439) call void @fn_emith(ptr @.str3440) call void @fn_emith(ptr @.str3441) call void @fn_emith(ptr @.str3442) call void @fn_emith(ptr @.str3443) call void @fn_emith(ptr @.str3444) call void @fn_emith(ptr @.str3445) call void @fn_emith(ptr @.str3446) call void @fn_emith(ptr @.str3447) call void @fn_emith(ptr @.str3448) call void @fn_emith(ptr @.str3449) call void @fn_emith(ptr @.str3450) call void @fn_emith(ptr @.str3451) call void @fn_emith(ptr @.str3452) call void @fn_emith(ptr @.str3453) call void @fn_emith(ptr @.str3454) 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_emit_secure_rand_prelude() br label %ret ret: ret void } define void @fn_emit_secure_rand_prelude() { entry: 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_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) 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 @.str3510) %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 @.str3511) %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 @.str3512) %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 @.str3513) %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 @.str3514) %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 @.str3515) %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 @.str3516) %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 @.str3517) %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 @.str3518) %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 @.str3519) %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 @.str3520) %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 @.str3521) %t14 = call ptr @fn_val(ptr %t13, ptr @.str3522) store ptr %t14, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str3523) %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 @.str3524) %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 @.str3525) %t27 = call ptr @fn_val(ptr %t26, ptr @.str3526) store ptr %t27, ptr %retval br label %ret ifend9: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str3527) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then10, label %ifend12 then10: %t31 = call ptr @fn_emit_bind(ptr @.str3528) %t32 = call ptr @fn_val(ptr %t31, ptr @.str3529) store ptr %t32, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3530) %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 @.str3531, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3532) %t50 = call ptr @fn_emit_bind(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str3533) store ptr %t51, ptr %retval br label %ret ifend15: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3534) %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 @.str3535) store ptr %t67, ptr %retval br label %ret ifend18: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str3536) %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 @.str3537, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3538) %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 @.str3539) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3540) 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 @.str3541, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3542) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str3543) 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 @.str3544) call void @fn_emith(ptr @.str3545) call void @fn_emith(ptr @.str3546) call void @fn_emith(ptr @.str3547) call void @fn_emith(ptr @.str3548) call void @fn_emith(ptr @.str3549) call void @fn_emith(ptr @.str3550) call void @fn_emith(ptr @.str3551) call void @fn_emith(ptr @.str3552) call void @fn_emith(ptr @.str3553) call void @fn_emith(ptr @.str3554) call void @fn_emith(ptr @.str3555) call void @fn_emith(ptr @.str3556) call void @fn_emith(ptr @.str3557) call void @fn_emith(ptr @.str3558) call void @fn_emith(ptr @.str3559) call void @fn_emith(ptr @.str3560) call void @fn_emith(ptr @.str3561) call void @fn_emith(ptr @.str3562) call void @fn_emith(ptr @.str3563) call void @fn_emith(ptr @.str3564) call void @fn_emith(ptr @.str3565) call void @fn_emith(ptr @.str3566) call void @fn_emith(ptr @.str3567) call void @fn_emith(ptr @.str3568) call void @fn_emith(ptr @.str3569) call void @fn_emith(ptr @.str3570) call void @fn_emith(ptr @.str3571) call void @fn_emith(ptr @.str3572) call void @fn_emith(ptr @.str3573) call void @fn_emith(ptr @.str3574) call void @fn_emith(ptr @.str3575) call void @fn_emith(ptr @.str3576) call void @fn_emith(ptr @.str3577) call void @fn_emith(ptr @.str3578) call void @fn_emith(ptr @.str3579) call void @fn_emith(ptr @.str3580) call void @fn_emith(ptr @.str3581) call void @fn_emith(ptr @.str3582) call void @fn_emith(ptr @.str3583) call void @fn_emith(ptr @.str3584) call void @fn_emith(ptr @.str3585) call void @fn_emith(ptr @.str3586) call void @fn_emith(ptr @.str3587) call void @fn_emith(ptr @.str3588) call void @fn_emith(ptr @.str3589) call void @fn_emith(ptr @.str3590) call void @fn_emith(ptr @.str3591) call void @fn_emith(ptr @.str3592) call void @fn_emith(ptr @.str3593) call void @fn_emith(ptr @.str3594) call void @fn_emith(ptr @.str3595) call void @fn_emith(ptr @.str3596) call void @fn_emith(ptr @.str3597) call void @fn_emith(ptr @.str3598) call void @fn_emith(ptr @.str3599) call void @fn_emith(ptr @.str3600) call void @fn_emith(ptr @.str3601) call void @fn_emith(ptr @.str3602) call void @fn_emith(ptr @.str3603) call void @fn_emith(ptr @.str3604) call void @fn_emith(ptr @.str3605) call void @fn_emith(ptr @.str3606) call void @fn_emith(ptr @.str3607) call void @fn_emith(ptr @.str3608) call void @fn_emith(ptr @.str3609) call void @fn_emith(ptr @.str3610) call void @fn_emith(ptr @.str3611) call void @fn_emith(ptr @.str3612) call void @fn_emith(ptr @.str3613) call void @fn_emith(ptr @.str3614) call void @fn_emith(ptr @.str3615) call void @fn_emith(ptr @.str3616) call void @fn_emith(ptr @.str3617) 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 @.str3618) %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 @.str3619) %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 @.str3620) %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 @.str3621) %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 @.str3622) %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 @.str3623) %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 @.str3624) %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 @.str3625) %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 @.str3626, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3627) %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 @.str3628, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3629) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str3630) 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 @.str3631) %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 @.str3632, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str3633) %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 @.str3634) %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 @.str3635) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str3636) store ptr %t72, ptr %retval br label %ret ifend5: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3637) %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 @.str3638, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3639) %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 @.str3640) %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 @.str3641) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str3642) store ptr %t119, ptr %retval br label %ret ifend8: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str3643) %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 @.str3644, ptr %t152) %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str3645) %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 @.str3646) %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 @.str3647) %t165 = call ptr @fn_emit_bind(ptr %t164) %t166 = call ptr @fn_val(ptr %t165, ptr @.str3648) store ptr %t166, ptr %retval br label %ret ifend11: %t167 = load ptr, ptr %t0 %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str3649) %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 @.str3650, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str3651) %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 @.str3652) %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 @.str3653) %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 @.str3654) %t226 = call ptr @fn_emit_bind(ptr %t225) %t227 = call ptr @fn_val(ptr %t226, ptr @.str3655) store ptr %t227, ptr %retval br label %ret ifend14: %t228 = load ptr, ptr %t0 %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str3656) %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 @.str3657, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str3658) %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 @.str3659) %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 @.str3660) %t273 = call ptr @fn_emit_bind(ptr %t272) %t274 = call ptr @fn_val(ptr %t273, ptr @.str3661) 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 @.str3662, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str3663) %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 @.str3664) %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 @.str3665) %t317 = call ptr @fn_emit_bind(ptr %t316) %t318 = call ptr @fn_val(ptr %t317, ptr @.str3666) 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 @.str3667) call void @fn_emith(ptr @.str3668) call void @fn_emith(ptr @.str3669) call void @fn_emith(ptr @.str3670) call void @fn_emith(ptr @.str3671) call void @fn_emith(ptr @.str3672) call void @fn_emith(ptr @.str3673) call void @fn_emith(ptr @.str3674) call void @fn_emith(ptr @.str3675) call void @fn_emith(ptr @.str3676) call void @fn_emith(ptr @.str3677) call void @fn_emith(ptr @.str3678) call void @fn_emith(ptr @.str3679) call void @fn_emith(ptr @.str3680) call void @fn_emith(ptr @.str3681) call void @fn_emith(ptr @.str3682) call void @fn_emith(ptr @.str3683) call void @fn_emith(ptr @.str3684) call void @fn_emith(ptr @.str3685) call void @fn_emith(ptr @.str3686) call void @fn_emith(ptr @.str3687) call void @fn_emith(ptr @.str3688) call void @fn_emith(ptr @.str3689) call void @fn_emith(ptr @.str3690) call void @fn_emith(ptr @.str3691) call void @fn_emith(ptr @.str3692) call void @fn_emith(ptr @.str3693) call void @fn_emith(ptr @.str3694) call void @fn_emith(ptr @.str3695) call void @fn_emith(ptr @.str3696) call void @fn_emith(ptr @.str3697) call void @fn_emith(ptr @.str3698) call void @fn_emith(ptr @.str3699) call void @fn_emith(ptr @.str3700) call void @fn_emith(ptr @.str3701) call void @fn_emith(ptr @.str3702) call void @fn_emith(ptr @.str3703) call void @fn_emith(ptr @.str3704) call void @fn_emith(ptr @.str3705) call void @fn_emith(ptr @.str3706) call void @fn_emith(ptr @.str3707) call void @fn_emith(ptr @.str3708) call void @fn_emith(ptr @.str3709) call void @fn_emith(ptr @.str3710) call void @fn_emith(ptr @.str3711) call void @fn_emith(ptr @.str3712) call void @fn_emith(ptr @.str3713) call void @fn_emith(ptr @.str3714) call void @fn_emith(ptr @.str3715) call void @fn_emith(ptr @.str3716) call void @fn_emith(ptr @.str3717) call void @fn_emith(ptr @.str3718) call void @fn_emith(ptr @.str3719) call void @fn_emith(ptr @.str3720) call void @fn_emith(ptr @.str3721) call void @fn_emith(ptr @.str3722) call void @fn_emith(ptr @.str3723) call void @fn_emith(ptr @.str3724) call void @fn_emith(ptr @.str3725) call void @fn_emith(ptr @.str3726) call void @fn_emith(ptr @.str3727) call void @fn_emith(ptr @.str3728) call void @fn_emith(ptr @.str3729) call void @fn_emith(ptr @.str3730) call void @fn_emith(ptr @.str3731) call void @fn_emith(ptr @.str3732) call void @fn_emith(ptr @.str3733) call void @fn_emith(ptr @.str3734) call void @fn_emith(ptr @.str3735) call void @fn_emith(ptr @.str3736) call void @fn_emith(ptr @.str3737) call void @fn_emith(ptr @.str3738) call void @fn_emith(ptr @.str3739) call void @fn_emith(ptr @.str3740) call void @fn_emith(ptr @.str3741) call void @fn_emith(ptr @.str3742) call void @fn_emith(ptr @.str3743) call void @fn_emith(ptr @.str3744) call void @fn_emith(ptr @.str3745) call void @fn_emith(ptr @.str3746) call void @fn_emith(ptr @.str3747) call void @fn_emith(ptr @.str3748) call void @fn_emith(ptr @.str3749) call void @fn_emith(ptr @.str3750) call void @fn_emit_noise_cellular() br label %ret ret: ret void } define void @fn_emit_noise_cellular() { entry: call void @fn_emith(ptr @.str3751) call void @fn_emith(ptr @.str3752) call void @fn_emith(ptr @.str3753) call void @fn_emith(ptr @.str3754) call void @fn_emith(ptr @.str3755) call void @fn_emith(ptr @.str3756) call void @fn_emith(ptr @.str3757) call void @fn_emith(ptr @.str3758) call void @fn_emith(ptr @.str3759) call void @fn_emith(ptr @.str3760) call void @fn_emith(ptr @.str3761) call void @fn_emith(ptr @.str3762) call void @fn_emith(ptr @.str3763) call void @fn_emith(ptr @.str3764) call void @fn_emith(ptr @.str3765) call void @fn_emith(ptr @.str3766) call void @fn_emith(ptr @.str3767) call void @fn_emith(ptr @.str3768) call void @fn_emith(ptr @.str3769) call void @fn_emith(ptr @.str3770) call void @fn_emith(ptr @.str3771) call void @fn_emith(ptr @.str3772) call void @fn_emith(ptr @.str3773) call void @fn_emith(ptr @.str3774) 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 @.str3775) %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 @.str3776) %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 @.str3777) %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 @.str3778) %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 @.str3779) %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 @.str3780) %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 @.str3781) %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 @.str3782) %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 @.str3783) %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 @.str3784, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3785) %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 @.str3786, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3787) %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 @.str3788) %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 @.str3789, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3790) call void @fn_emit(ptr %t18) %t19 = call ptr @fn_val(ptr @.str3791, ptr @.str3792) store ptr %t19, ptr %retval br label %ret ifend2: %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3793) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = call ptr @fn_emit_bind(ptr @.str3794) %t24 = call ptr @fn_val(ptr %t23, ptr @.str3795) store ptr %t24, ptr %retval br label %ret ifend5: store ptr @.str3796, ptr %t25 store ptr @.str3797, ptr %t26 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str3798) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: store ptr @.str3799, ptr %t25 store ptr @.str3800, ptr %t26 br label %ifend8 ifend8: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3801) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: store ptr @.str3802, ptr %t25 store ptr @.str3803, ptr %t26 br label %ifend11 ifend11: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3804) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then12, label %ifend14 then12: store ptr @.str3805, ptr %t25 store ptr @.str3806, ptr %t26 br label %ifend14 ifend14: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str3807) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then15, label %ifend17 then15: store ptr @.str3808, ptr %t25 store ptr @.str3809, 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 @.str3810) 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 @.str3812) %t56 = call ptr @fn_emit_str_op(ptr @.str3811, 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 @.str3814) %t91 = call ptr @fn_val(ptr %t90, ptr @.str3815) %t92 = call ptr @fn_emit_str_op(ptr @.str3813, 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 @.str3817) %t97 = call ptr @fn_emit_str_op(ptr @.str3816, ptr %t93, ptr %t96) store ptr %t97, ptr %t42 %t98 = load ptr, ptr %t42 %t99 = call ptr @fn_emit_str_const(ptr @.str3819) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3820) %t101 = call ptr @fn_emit_str_op(ptr @.str3818, 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 @.str3822) %t106 = call ptr @fn_emit_str_op(ptr @.str3821, 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 @.str3823, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3824) %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 @.str3825) call void @fn_emit(ptr %t116) %t117 = call ptr @fn_val(ptr @.str3826, ptr @.str3827) 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 @.str3828) call void @fn_emith(ptr @.str3829) call void @fn_emith(ptr @.str3830) call void @fn_emith(ptr @.str3831) %t0 = call ptr @fn_stdstream_rhs(i32 2) %t1 = call ptr @lp_str_concat(ptr @.str3832, ptr %t0) %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str3833) call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str3834) call void @fn_emith(ptr @.str3835) 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 @.str3836) %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 @.str3837) %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 @.str3838) %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 @.str3839) %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 @.str3840) %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 @.str3841) %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 @.str3842) %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 @.str3843) %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 @.str3844) %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 @.str3845) %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 @.str3846) %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 @.str3847) %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 @.str3848) %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 @.str3849) %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 @.str3850) %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 @.str3851) %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 @.str3852) %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 @.str3853) %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 @.str3854) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str3855) %t6 = call ptr @fn_val(ptr %t5, ptr @.str3856) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3857) %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 @.str3858) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = call ptr @lp_str_concat(ptr @.str3859, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3860) %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 @.str3861, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) %t33 = call ptr @fn_val(ptr %t32, ptr @.str3862) store ptr %t33, ptr %retval br label %ret ifend5: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3863) %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 @.str3864) %t38 = call ptr @fn_val(ptr %t37, ptr @.str3865) store ptr %t38, ptr %retval br label %ret ifend8: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str3866) %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 @.str3867, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str3868) call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str3869) store i32 1, ptr @g_g_term %t56 = call ptr @fn_val(ptr @.str3870, ptr @.str3871) store ptr %t56, ptr %retval br label %ret ifend11: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3872) %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 @.str3873, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3874) %t74 = call ptr @fn_emit_bind(ptr %t73) %t75 = call ptr @fn_val(ptr %t74, ptr @.str3875) store ptr %t75, ptr %retval br label %ret ifend14: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str3876) %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 @.str3877, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str3878) %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 @.str3879, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3880) %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 @.str3881, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3882) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str3883) store ptr %t104, ptr %retval br label %ret ifend17: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str3884) %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 @.str3885) %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 @.str3886) %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 @.str3887, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str3888) %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 @.str3889, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str3890) %t145 = load ptr, ptr %t139 %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str3891) %t148 = load ptr, ptr %t132 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str3892) call void @fn_emit(ptr %t150) %t151 = call ptr @fn_val(ptr @.str3893, ptr @.str3894) 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 @.str3895) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then26, label %ifend28 then26: %t155 = call ptr @fn_emit_bind(ptr @.str3896) %t156 = call ptr @fn_val(ptr %t155, ptr @.str3897) store ptr %t156, ptr %retval br label %ret ifend28: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str3898) %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 @.str3899, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str3900) %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 @.str3901) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str3902) store ptr %t189, ptr %retval br label %ret ifend31: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str3903) %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 @.str3904, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3905) %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 @.str3906) %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 @.str3907, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3908) %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 @.str3909, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str3910) %t231 = call ptr @fn_emit_bind(ptr %t230) %t232 = call ptr @fn_val(ptr %t231, ptr @.str3911) store ptr %t232, ptr %retval br label %ret ifend34: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str3912) %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 @.str3913, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str3914) %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 @.str3915, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str3916) %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 @.str3917, ptr %t257) %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str3918) %t260 = call ptr @fn_emit_bind(ptr %t259) %t261 = call ptr @fn_val(ptr %t260, ptr @.str3919) store ptr %t261, ptr %retval br label %ret ifend37: %t262 = load ptr, ptr %t0 %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str3920) %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then38, label %ifend40 then38: %t265 = call ptr @fn_emit_bind(ptr @.str3921) %t266 = call ptr @fn_val(ptr %t265, ptr @.str3922) store ptr %t266, ptr %retval br label %ret ifend40: %t267 = load ptr, ptr %t0 %t268 = call i32 @lp_str_eq(ptr %t267, ptr @.str3923) %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then41, label %ifend43 then41: %t270 = call ptr @fn_emit_bind(ptr @.str3924) %t271 = call ptr @fn_val(ptr %t270, ptr @.str3925) store ptr %t271, ptr %retval br label %ret ifend43: %t272 = load ptr, ptr %t0 %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str3926) %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 @.str3927, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str3928) %t289 = call ptr @fn_emit_bind(ptr %t288) %t290 = call ptr @fn_val(ptr %t289, ptr @.str3929) store ptr %t290, ptr %retval br label %ret ifend46: %t291 = load ptr, ptr %t0 %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str3930) %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 @.str3931, ptr %t305) %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str3932) %t308 = call ptr @fn_emit_bind(ptr %t307) %t309 = call ptr @fn_val(ptr %t308, ptr @.str3933) store ptr %t309, ptr %retval br label %ret ifend49: %t310 = load ptr, ptr %t0 %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str3934) %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 @.str3935, ptr %t324) %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str3936) %t327 = call ptr @fn_emit_bind(ptr %t326) %t328 = call ptr @fn_val(ptr %t327, ptr @.str3937) store ptr %t328, ptr %retval br label %ret ifend52: %t329 = call ptr @fn_emit_bind(ptr @.str3938) %t330 = call ptr @fn_val(ptr %t329, ptr @.str3939) 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 @.str3940) call void @fn_emith(ptr @.str3941) call void @fn_emith(ptr @.str3942) br label %ifend2 ifend2: %t4 = call ptr @fn_emit_str_const(ptr @.str3943) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str3944) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str3945) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str3946) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str3947) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str3948) store ptr %t14, ptr %t15 %t16 = call ptr @fn_emit_str_const(ptr @.str3949) store ptr %t16, ptr %t17 %t18 = call ptr @fn_emit_str_const(ptr @.str3950) store ptr %t18, ptr %t19 %t20 = call ptr @fn_emit_str_const(ptr @.str3951) store ptr %t20, ptr %t21 %t22 = call ptr @fn_emit_str_const(ptr @.str3952) store ptr %t22, ptr %t23 %t24 = call ptr @fn_emit_str_const(ptr @.str3953) store ptr %t24, ptr %t25 %t26 = call ptr @fn_emit_str_const(ptr @.str3954) store ptr %t26, ptr %t27 %t28 = call ptr @fn_emit_str_const(ptr @.str3955) store ptr %t28, ptr %t29 %t30 = call ptr @fn_emit_str_const(ptr @.str3956) store ptr %t30, ptr %t31 %t32 = call ptr @fn_emit_str_const(ptr @.str3957) store ptr %t32, ptr %t33 %t34 = call ptr @fn_emit_str_const(ptr @.str3958) store ptr %t34, ptr %t35 %t36 = call ptr @fn_emit_str_const(ptr @.str3959) store ptr %t36, ptr %t37 call void @fn_emith(ptr @.str3960) call void @fn_emith(ptr @.str3961) call void @fn_emith(ptr @.str3962) call void @fn_emith(ptr @.str3963) call void @fn_emith(ptr @.str3964) call void @fn_emith(ptr @.str3965) call void @fn_emith(ptr @.str3966) call void @fn_emith(ptr @.str3967) call void @fn_emith(ptr @.str3968) call void @fn_emith(ptr @.str3969) call void @fn_emith(ptr @.str3970) call void @fn_emith(ptr @.str3971) %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 @.str3972, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str3973) %t45 = load ptr, ptr %t7 %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str3974) call void @fn_emith(ptr %t47) call void @fn_emith(ptr @.str3975) call void @fn_emith(ptr @.str3976) call void @fn_emith(ptr @.str3977) call void @fn_emith(ptr @.str3978) call void @fn_emith(ptr @.str3979) %t48 = load ptr, ptr %t17 %t49 = call ptr @lp_str_concat(ptr @.str3980, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str3981) call void @fn_emith(ptr %t50) call void @fn_emith(ptr @.str3982) call void @fn_emith(ptr @.str3983) call void @fn_emith(ptr @.str3984) call void @fn_emith(ptr @.str3985) %t51 = load ptr, ptr %t31 %t52 = call ptr @lp_str_concat(ptr @.str3986, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3987) call void @fn_emith(ptr %t53) call void @fn_emith(ptr @.str3988) call void @fn_emith(ptr @.str3989) call void @fn_emith(ptr @.str3990) call void @fn_emith(ptr @.str3991) call void @fn_emith(ptr @.str3992) %t54 = load ptr, ptr %t9 %t55 = call ptr @lp_str_concat(ptr @.str3993, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str3994) %t57 = load ptr, ptr %t19 %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str3995) %t60 = load ptr, ptr %t25 %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str3996) call void @fn_emith(ptr %t62) %t63 = load ptr, ptr %t9 %t64 = call ptr @lp_str_concat(ptr @.str3997, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str3998) %t66 = load ptr, ptr %t21 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str3999) %t69 = load ptr, ptr %t27 %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str4000) call void @fn_emith(ptr %t71) %t72 = load ptr, ptr %t11 %t73 = call ptr @lp_str_concat(ptr @.str4001, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str4002) %t75 = load ptr, ptr %t23 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str4003) %t78 = load ptr, ptr %t29 %t79 = call ptr @lp_str_concat(ptr %t77, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str4004) call void @fn_emith(ptr %t80) %t81 = load ptr, ptr %t13 %t82 = call ptr @lp_str_concat(ptr @.str4005, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4006) %t84 = load ptr, ptr %t15 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str4007) call void @fn_emith(ptr %t86) call void @fn_emith(ptr @.str4008) call void @fn_emith(ptr @.str4009) call void @fn_emith(ptr @.str4010) call void @fn_emith(ptr @.str4011) call void @fn_emith(ptr @.str4012) call void @fn_emith(ptr @.str4013) call void @fn_emith(ptr @.str4014) call void @fn_emith(ptr @.str4015) call void @fn_emith(ptr @.str4016) %t87 = load ptr, ptr %t17 %t88 = call ptr @lp_str_concat(ptr @.str4017, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4018) call void @fn_emith(ptr %t89) %t90 = load ptr, ptr %t33 %t91 = call ptr @lp_str_concat(ptr @.str4019, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str4020) call void @fn_emith(ptr %t92) %t93 = load ptr, ptr %t35 %t94 = call ptr @lp_str_concat(ptr @.str4021, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str4022) call void @fn_emith(ptr %t95) %t96 = load ptr, ptr %t37 %t97 = call ptr @lp_str_concat(ptr @.str4023, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str4024) call void @fn_emith(ptr %t98) call void @fn_emith(ptr @.str4025) call void @fn_emith(ptr @.str4026) call void @fn_emith(ptr @.str4027) call void @fn_emith(ptr @.str4028) 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 @.str4029) %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 @.str4030) %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 @.str4031) %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 @.str4032) %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 @.str4033) %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 @.str4034) %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 @.str4035) %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 @.str4036) %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 @.str4037) %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 @.str4038) %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 @.str4039, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4040) %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 @.str4041, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str4042) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str4043) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4044) %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 @.str4045, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4046) %t43 = call ptr @fn_emit_bind(ptr %t42) %t44 = call ptr @fn_val(ptr %t43, ptr @.str4047) store ptr %t44, ptr %retval br label %ret ifend5: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str4048) %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 @.str4049, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4050) %t62 = call ptr @fn_emit_bind(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str4051) store ptr %t63, ptr %retval br label %ret ifend8: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str4052) %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 @.str4053, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4054) %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 @.str4055) %t95 = call ptr @fn_emit_bind(ptr %t94) %t96 = call ptr @fn_val(ptr %t95, ptr @.str4056) store ptr %t96, ptr %retval br label %ret ifend11: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str4057) %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 @.str4058, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str4059) %t114 = call ptr @fn_emit_bind(ptr %t113) %t115 = call ptr @fn_val(ptr %t114, ptr @.str4060) store ptr %t115, ptr %retval br label %ret ifend14: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str4061) %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 @.str4062, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str4063) %t133 = call ptr @fn_emit_bind(ptr %t132) %t134 = call ptr @fn_val(ptr %t133, ptr @.str4064) store ptr %t134, ptr %retval br label %ret ifend17: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str4065) %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 @.str4066, ptr %t149) %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str4067) %t152 = call ptr @fn_emit_bind(ptr %t151) %t153 = call ptr @fn_val(ptr %t152, ptr @.str4068) store ptr %t153, ptr %retval br label %ret ifend20: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str4069) %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 @.str4070, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str4071) %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 @.str4072) %t185 = call ptr @fn_emit_bind(ptr %t184) %t186 = call ptr @fn_val(ptr %t185, ptr @.str4073) 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 @.str4074, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str4075) %t201 = call ptr @fn_emit_bind(ptr %t200) %t202 = call ptr @fn_val(ptr %t201, ptr @.str4076) 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 @.str4077) call void @fn_emith(ptr @.str4078) call void @fn_emith(ptr @.str4079) call void @fn_emith(ptr @.str4080) call void @fn_emith(ptr @.str4081) call void @fn_emith(ptr @.str4082) call void @fn_emith(ptr @.str4083) call void @fn_emith(ptr @.str4084) call void @fn_emith(ptr @.str4085) call void @fn_emith(ptr @.str4086) call void @fn_emith(ptr @.str4087) call void @fn_emith(ptr @.str4088) call void @fn_emith(ptr @.str4089) call void @fn_emith(ptr @.str4090) call void @fn_emith(ptr @.str4091) call void @fn_emith(ptr @.str4092) call void @fn_emith(ptr @.str4093) call void @fn_emith(ptr @.str4094) call void @fn_emith(ptr @.str4095) call void @fn_emith(ptr @.str4096) call void @fn_emith(ptr @.str4097) call void @fn_emith(ptr @.str4098) call void @fn_emith(ptr @.str4099) call void @fn_emith(ptr @.str4100) call void @fn_emith(ptr @.str4101) call void @fn_emith(ptr @.str4102) call void @fn_emith(ptr @.str4103) call void @fn_emith(ptr @.str4104) call void @fn_emith(ptr @.str4105) call void @fn_emith(ptr @.str4106) call void @fn_emith(ptr @.str4107) call void @fn_emith(ptr @.str4108) call void @fn_emith(ptr @.str4109) call void @fn_emith(ptr @.str4110) call void @fn_emith(ptr @.str4111) call void @fn_emith(ptr @.str4112) call void @fn_emith(ptr @.str4113) call void @fn_emith(ptr @.str4114) call void @fn_emith(ptr @.str4115) call void @fn_emith(ptr @.str4116) call void @fn_emith(ptr @.str4117) call void @fn_emith(ptr @.str4118) call void @fn_emith(ptr @.str4119) call void @fn_emith(ptr @.str4120) call void @fn_emith(ptr @.str4121) call void @fn_emith(ptr @.str4122) call void @fn_emith(ptr @.str4123) call void @fn_emith(ptr @.str4124) call void @fn_emith(ptr @.str4125) call void @fn_emith(ptr @.str4126) call void @fn_emith(ptr @.str4127) call void @fn_emith(ptr @.str4128) call void @fn_emith(ptr @.str4129) call void @fn_emith(ptr @.str4130) call void @fn_emith(ptr @.str4131) call void @fn_emith(ptr @.str4132) call void @fn_emith(ptr @.str4133) call void @fn_emith(ptr @.str4134) call void @fn_emith(ptr @.str4135) call void @fn_emith(ptr @.str4136) call void @fn_emith(ptr @.str4137) call void @fn_emith(ptr @.str4138) call void @fn_emith(ptr @.str4139) call void @fn_emith(ptr @.str4140) call void @fn_emith(ptr @.str4141) call void @fn_emith(ptr @.str4142) call void @fn_emith(ptr @.str4143) call void @fn_emith(ptr @.str4144) call void @fn_emith(ptr @.str4145) call void @fn_emith(ptr @.str4146) call void @fn_emith(ptr @.str4147) call void @fn_emith(ptr @.str4148) call void @fn_emith(ptr @.str4149) br label %ret ret: ret void } define void @fn_emit_uni_case_fns() { entry: call void @fn_emith(ptr @.str4150) call void @fn_emith(ptr @.str4151) call void @fn_emith(ptr @.str4152) call void @fn_emith(ptr @.str4153) call void @fn_emith(ptr @.str4154) call void @fn_emith(ptr @.str4155) call void @fn_emith(ptr @.str4156) call void @fn_emith(ptr @.str4157) call void @fn_emith(ptr @.str4158) call void @fn_emith(ptr @.str4159) call void @fn_emith(ptr @.str4160) call void @fn_emith(ptr @.str4161) call void @fn_emith(ptr @.str4162) call void @fn_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) br label %ret ret: ret void } define void @fn_emit_uni_str_fns() { entry: 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) 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_emit_uni_grapheme() br label %ret ret: ret void } define void @fn_emit_uni_grapheme() { entry: 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_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) 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 @.str4246) %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 @.str4247) %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 @.str4248) %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 @.str4249) %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 @.str4250) %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 @.str4251) %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 @.str4252) %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 @.str4253) %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 @.str4254) %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 @.str4255) %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 @.str4256) %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 @.str4257) %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 @.str4258) %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 @.str4259) %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 @.str4260) %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 @.str4261) %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 @.str4262) %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 @.str4263) %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 @.str4264) %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 @.str4265, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4266) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str4267) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4268) %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 @.str4269, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4270) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str4271) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4272) %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 @.str4273, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str4274) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str4275) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str4276) %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 @.str4277, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4278) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str4279) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str4280) %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 @.str4281, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str4282) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str4283) store ptr %t60, ptr %retval br label %ret ifend14: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str4284) %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 @.str4285, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4286) %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str4287) store ptr %t70, ptr %retval br label %ret ifend17: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str4288) %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 @.str4289, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4290) %t79 = call ptr @fn_emit_bind(ptr %t78) %t80 = call ptr @fn_val(ptr %t79, ptr @.str4291) 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 @.str4292) %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 @.str4293, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4294) %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 @.str4295) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str4296) store ptr %t104, ptr %retval br label %ret ifend23: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str4297) %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 @.str4298, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4299) %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 @.str4300) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str4301) 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 @.str4302, ptr %t122) %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str4303) %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 @.str4304) %t130 = call ptr @fn_emit_bind(ptr %t129) %t131 = call ptr @fn_val(ptr %t130, ptr @.str4305) 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 @.str4306) %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 @.str4307, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4308) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str4309) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4310) %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 @.str4311, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4312) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str4313) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4314) %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 @.str4315, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str4316) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str4317) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str4318) %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 @.str4319, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4320) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str4321) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str4322) %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 @.str4323, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str4324) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str4325) 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 @.str4326, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str4327) %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 @.str4328) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str4329) 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 @.str4330) %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 @.str4331, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4332) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str4333) 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 @.str4334, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4335) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str4336) 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 @.str4337) call void @fn_emith(ptr @.str4338) call void @fn_emith(ptr @.str4339) call void @fn_emith(ptr @.str4340) call void @fn_emith(ptr @.str4341) call void @fn_emith(ptr @.str4342) call void @fn_emith(ptr @.str4343) 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 @.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) 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) br label %ret ret: ret void } define void @fn_emit_fs_path() { entry: 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) 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_emit_fs_normalize() br label %ret ret: ret void } define void @fn_emit_fs_normalize() { entry: 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_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) br label %ret ret: ret void } define void @fn_emit_fs_io() { entry: 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) 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) br label %ret ret: ret void } define void @fn_emit_fs_dir() { entry: 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) 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) 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 @.str4508, 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 @.str4509, 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 @.str4510, 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 @.str4511, 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 @.str4512, 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 @.str4513, 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 @.str4514, 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 @.str4515, 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 @.str4516, 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 @.str4517, 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 @.str4518, 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 @.str4519, 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 @.str4520, 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 @.str4521, 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 @.str4522, 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 @.str4523, 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 @.str4524, 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 @.str4525, 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 @.str4526, 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 @.str4527, 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 @.str4528, 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 @.str4529, 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 @.str4530, 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 @.str4531, 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 @.str4532, 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 @.str4533, 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 @.str4534, 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 @.str4535, 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 @.str4536, 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 @.str4537, 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 @.str4538, 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 @.str4539, 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 @.str4540, 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 @.str4541, 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 @.str4542, 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 @.str4543, 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 @.str4544, 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 @.str4545, 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 @.str4546, 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 @.str4547, 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 @.str4548, 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 @.str4549, 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 @.str4550, 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 @.str4551, 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 @.str4552, 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 @.str4553, 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 @.str4554, 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 @.str4555, 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 @.str4556) 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 @.str4557, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str4558) 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 @.str4559) 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 @.str4560, ptr %t1028) %t1030 = call ptr @lp_str_concat(ptr %t1029, ptr @.str4561) %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 @.str4562) 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 @.str4563) call void @fn_emith(ptr @.str4564) call void @fn_emith(ptr @.str4565) %t1041 = load i32, ptr %t1007 %t1042 = call ptr @fn_itoa(i32 %t1041) %t1043 = call ptr @lp_str_concat(ptr @.str4566, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str4567) 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 @.str4568, ptr %t1046) %t1048 = call ptr @lp_str_concat(ptr %t1047, ptr @.str4569) 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 @.str4570, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str4571) call void @fn_emith(ptr %t1052) call void @fn_emith(ptr @.str4572) %t1053 = load ptr, ptr %t1003 %t1054 = call ptr @lp_str_concat(ptr @.str4573, ptr %t1053) %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str4574) call void @fn_emith(ptr %t1055) call void @fn_emith(ptr @.str4575) call void @fn_emith(ptr @.str4576) call void @fn_emith(ptr @.str4577) call void @fn_emith(ptr @.str4578) call void @fn_emith(ptr @.str4579) call void @fn_emith(ptr @.str4580) call void @fn_emith(ptr @.str4581) call void @fn_emit_fs_sniff() br label %ret ret: ret void } define void @fn_emit_fs_sniff() { entry: call void @fn_emith(ptr @.str4582) call void @fn_emith(ptr @.str4583) call void @fn_emith(ptr @.str4584) call void @fn_emith(ptr @.str4585) call void @fn_emith(ptr @.str4586) call void @fn_emith(ptr @.str4587) call void @fn_emith(ptr @.str4588) call void @fn_emith(ptr @.str4589) 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) 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 @.str4606) call void @fn_emith(ptr @.str4607) call void @fn_emith(ptr @.str4608) call void @fn_emith(ptr @.str4609) call void @fn_emith(ptr @.str4610) call void @fn_emith(ptr @.str4611) call void @fn_emith(ptr @.str4612) br label %ifend2 ifend2: call void @fn_emith(ptr @.str4613) call void @fn_emith(ptr @.str4614) call void @fn_emith(ptr @.str4615) call void @fn_emith(ptr @.str4616) call void @fn_emith(ptr @.str4617) call void @fn_emith(ptr @.str4618) call void @fn_emith(ptr @.str4619) call void @fn_emith(ptr @.str4620) call void @fn_emith(ptr @.str4621) %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 @.str4622) call void @fn_emith(ptr @.str4623) call void @fn_emith(ptr @.str4624) 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 @.str4625) call void @fn_emith(ptr @.str4626) br label %ret ret: ret void } define void @fn_emit_pak_mount() { entry: call void @fn_emith(ptr @.str4627) 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) call void @fn_emith(ptr @.str4633) call void @fn_emith(ptr @.str4634) call void @fn_emith(ptr @.str4635) call void @fn_emith(ptr @.str4636) call void @fn_emith(ptr @.str4637) br label %ret ret: ret void } define void @fn_emit_pak_lookup() { entry: call void @fn_emith(ptr @.str4638) call void @fn_emith(ptr @.str4639) call void @fn_emith(ptr @.str4640) call void @fn_emith(ptr @.str4641) call void @fn_emith(ptr @.str4642) call void @fn_emith(ptr @.str4643) call void @fn_emith(ptr @.str4644) call void @fn_emith(ptr @.str4645) call void @fn_emith(ptr @.str4646) call void @fn_emith(ptr @.str4647) call void @fn_emith(ptr @.str4648) call void @fn_emith(ptr @.str4649) call void @fn_emith(ptr @.str4650) call void @fn_emith(ptr @.str4651) call void @fn_emith(ptr @.str4652) call void @fn_emith(ptr @.str4653) call void @fn_emith(ptr @.str4654) call void @fn_emith(ptr @.str4655) call void @fn_emith(ptr @.str4656) call void @fn_emith(ptr @.str4657) call void @fn_emith(ptr @.str4658) call void @fn_emith(ptr @.str4659) call void @fn_emith(ptr @.str4660) call void @fn_emith(ptr @.str4661) call void @fn_emith(ptr @.str4662) call void @fn_emith(ptr @.str4663) call void @fn_emith(ptr @.str4664) call void @fn_emith(ptr @.str4665) call void @fn_emith(ptr @.str4666) call void @fn_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) br label %ret ret: ret void } define void @fn_emit_pak_open() { entry: 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) br label %ret ret: ret void } define void @fn_emit_pak_boot() { entry: call void @fn_emith(ptr @.str4679) call void @fn_emith(ptr @.str4680) call void @fn_emith(ptr @.str4681) call void @fn_emith(ptr @.str4682) call void @fn_emith(ptr @.str4683) call void @fn_emith(ptr @.str4684) call void @fn_emith(ptr @.str4685) call void @fn_emith(ptr @.str4686) call void @fn_emith(ptr @.str4687) call void @fn_emith(ptr @.str4688) call void @fn_emith(ptr @.str4689) call void @fn_emith(ptr @.str4690) call void @fn_emith(ptr @.str4691) call void @fn_emith(ptr @.str4692) call void @fn_emith(ptr @.str4693) call void @fn_emith(ptr @.str4694) call void @fn_emith(ptr @.str4695) call void @fn_emith(ptr @.str4696) call void @fn_emith(ptr @.str4697) call void @fn_emith(ptr @.str4698) call void @fn_emith(ptr @.str4699) call void @fn_emith(ptr @.str4700) call void @fn_emith(ptr @.str4701) call void @fn_emith(ptr @.str4702) call void @fn_emith(ptr @.str4703) call void @fn_emith(ptr @.str4704) call void @fn_emith(ptr @.str4705) call void @fn_emith(ptr @.str4706) call void @fn_emith(ptr @.str4707) call void @fn_emith(ptr @.str4708) call void @fn_emith(ptr @.str4709) call void @fn_emith(ptr @.str4710) call void @fn_emith(ptr @.str4711) %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 @.str4712) call void @fn_emith(ptr @.str4713) br label %ifend2 else1: call void @fn_emith(ptr @.str4714) call void @fn_emith(ptr @.str4715) br label %ifend2 ifend2: call void @fn_emith(ptr @.str4716) call void @fn_emith(ptr @.str4717) call void @fn_emith(ptr @.str4718) call void @fn_emith(ptr @.str4719) call void @fn_emith(ptr @.str4720) call void @fn_emith(ptr @.str4721) call void @fn_emith(ptr @.str4722) call void @fn_emith(ptr @.str4723) call void @fn_emith(ptr @.str4724) call void @fn_emith(ptr @.str4725) %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 @.str4726) br label %ifend5 ifend5: call void @fn_emith(ptr @.str4727) call void @fn_emith(ptr @.str4728) %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 @.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) call void @fn_emith(ptr @.str4734) call void @fn_emith(ptr @.str4735) call void @fn_emith(ptr @.str4736) call void @fn_emith(ptr @.str4737) call void @fn_emith(ptr @.str4738) call void @fn_emith(ptr @.str4739) call void @fn_emith(ptr @.str4740) call void @fn_emith(ptr @.str4741) call void @fn_emith(ptr @.str4742) call void @fn_emith(ptr @.str4743) call void @fn_emith(ptr @.str4744) br label %ifend8 ifend8: br label %ret ret: ret void } define void @fn_emit_win_prelude() { entry: 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) 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_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 @.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_emith(ptr @.str4790) call void @fn_emith(ptr @.str4791) call void @fn_emith(ptr @.str4792) call void @fn_emith(ptr @.str4793) br label %ret ret: ret void } define void @fn_emit_win_files() { entry: 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) 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) br label %ret ret: ret void } define void @fn_emit_win_dirs() { entry: call void @fn_emith(ptr @.str4814) call void @fn_emith(ptr @.str4815) call void @fn_emith(ptr @.str4816) call void @fn_emith(ptr @.str4817) call void @fn_emith(ptr @.str4818) call void @fn_emith(ptr @.str4819) call void @fn_emith(ptr @.str4820) call void @fn_emith(ptr @.str4821) call void @fn_emith(ptr @.str4822) call void @fn_emith(ptr @.str4823) call void @fn_emith(ptr @.str4824) call void @fn_emith(ptr @.str4825) call void @fn_emith(ptr @.str4826) call void @fn_emith(ptr @.str4827) br label %ret ret: ret void } define void @fn_emit_win_maps() { entry: call void @fn_emith(ptr @.str4828) call void @fn_emith(ptr @.str4829) call void @fn_emith(ptr @.str4830) call void @fn_emith(ptr @.str4831) call void @fn_emith(ptr @.str4832) call void @fn_emith(ptr @.str4833) call void @fn_emith(ptr @.str4834) call void @fn_emith(ptr @.str4835) call void @fn_emith(ptr @.str4836) call void @fn_emith(ptr @.str4837) call void @fn_emith(ptr @.str4838) call void @fn_emith(ptr @.str4839) call void @fn_emith(ptr @.str4840) call void @fn_emith(ptr @.str4841) call void @fn_emith(ptr @.str4842) br label %ret ret: ret void } define void @fn_emit_win_process() { entry: 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) call void @fn_emith(ptr @.str4851) call void @fn_emith(ptr @.str4852) call void @fn_emith(ptr @.str4853) 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 @.str4854) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_str_const(ptr @.str4855) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str4856) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str4857) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str4858) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str4859) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str4860) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t3 %t17 = call ptr @lp_str_concat(ptr @.str4861, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4862) %t19 = load ptr, ptr %t0 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4863) call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str4864) call void @fn_emith(ptr @.str4865) call void @fn_emith(ptr @.str4866) call void @fn_emith(ptr @.str4867) %t22 = load ptr, ptr %t1 %t23 = call ptr @lp_str_concat(ptr @.str4868, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4869) call void @fn_emith(ptr %t24) %t25 = load ptr, ptr %t5 %t26 = call ptr @lp_str_concat(ptr @.str4870, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4871) call void @fn_emith(ptr %t27) %t28 = load ptr, ptr %t5 %t29 = call ptr @lp_str_concat(ptr @.str4872, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str4873) call void @fn_emith(ptr %t30) %t31 = load ptr, ptr %t7 %t32 = call ptr @lp_str_concat(ptr @.str4874, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4875) call void @fn_emith(ptr %t33) %t34 = load ptr, ptr %t9 %t35 = call ptr @lp_str_concat(ptr @.str4876, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4877) %t37 = load ptr, ptr %t0 %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str4878) %t40 = load ptr, ptr %t11 %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4879) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr %t13 %t44 = call ptr @lp_str_concat(ptr @.str4880, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4881) call void @fn_emith(ptr %t45) %t46 = load ptr, ptr %t15 %t47 = call ptr @lp_str_concat(ptr @.str4882, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4883) call void @fn_emith(ptr %t48) call void @fn_emith(ptr @.str4884) call void @fn_emith(ptr @.str4885) call void @fn_emith(ptr @.str4886) call void @fn_emith(ptr @.str4887) call void @fn_emith(ptr @.str4888) call void @fn_emith(ptr @.str4889) call void @fn_emith(ptr @.str4890) 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 @.str4891, 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 @.str4892, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4893) %t13 = load ptr, ptr %t9 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4894) %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 @.str4895) %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 @.str4896) %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 @.str4897) %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 @.str4898) %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 @.str4899) %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 @.str4900) %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 @.str4901) %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 @.str4902) %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 @.str4903) %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 @.str4904) %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 @.str4905) %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 @.str4906) %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 @.str4907) %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 @.str4908) %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 @.str4909) %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 @.str4910) %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 @.str4911) %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 @.str4912) %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 @.str4913, 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 @.str4914, 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 @.str4915, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4916) %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 @.str4917) store ptr %t26, ptr %t27 %t28 = call ptr @fn_lbl(ptr @.str4918) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str4919) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str4920) %t31 = load ptr, ptr %t27 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str4921) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str4922) %t33 = load ptr, ptr %t27 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str4923) %t34 = load ptr, ptr %t18 %t35 = call ptr @lp_str_concat(ptr @.str4924, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4925) %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 @.str4926, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4927) %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 @.str4928, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4929) %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 @.str4930, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4931) %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 @.str4932, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4933) %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 @.str4934, 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 @.str4935, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4936) %t73 = load ptr, ptr %t65 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4937) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 call void @fn_emit(ptr @.str4938) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str4939) %t79 = load ptr, ptr %t10 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str4940) call void @fn_emit(ptr @.str4941) %t80 = load ptr, ptr %t50 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str4942) %t81 = load ptr, ptr %t7 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str4943) call void @fn_emit(ptr @.str4944) %t82 = load ptr, ptr %t29 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str4945) %t83 = load ptr, ptr %t29 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str4946) 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 @.str4947, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str4948) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4949) %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 @.str4950, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4951) %t13 = load ptr, ptr %t5 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4952) %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 @.str4953, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4954) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4955) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str4956) %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str4957) %t35 = load ptr, ptr %t5 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4958) %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 @.str4959, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4960) %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 @.str4961, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4962) %t47 = load ptr, ptr %t2 %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4963) %t50 = load ptr, ptr %t0 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4964) %t53 = load ptr, ptr %t4 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str4965) %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 @.str4966, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4967) %t61 = load ptr, ptr %t2 %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4968) %t64 = load ptr, ptr %t0 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str4969) %t67 = load ptr, ptr %t5 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str4970) %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 @.str4971, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4972) %t79 = load ptr, ptr %t57 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4973) %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 @.str4974, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4975) %t88 = load ptr, ptr %t57 %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4976) %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 @.str4977, 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 @.str4978, 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 @.str4979, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4980) %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 @.str4981, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4982) %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 @.str4983, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4984) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = call ptr @fn_emit_alloca(ptr @.str4985) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str4986, ptr @.str4987, ptr %t41) %t42 = call ptr @fn_lbl(ptr @.str4988) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str4989) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str4990) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str4991) %t48 = load ptr, ptr %t43 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str4992) %t49 = load ptr, ptr %t43 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str4993) %t50 = load ptr, ptr %t40 %t51 = call ptr @lp_str_concat(ptr @.str4994, 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 @.str4995, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4996) %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 @.str4997) %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str4998) %t62 = load ptr, ptr %t45 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str4999) %t63 = load ptr, ptr %t47 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str5000) %t64 = load ptr, ptr %t45 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str5001) %t65 = load ptr, ptr %t53 %t66 = call ptr @lp_str_concat(ptr @.str5002, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str5003) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = call ptr @fn_emit_alloca(ptr @.str5004) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 call void @fn_store_at(ptr @.str5005, ptr @.str5006, ptr %t72) %t73 = call ptr @fn_lbl(ptr @.str5007) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str5008) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str5009) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str5010) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str5011) %t80 = load ptr, ptr %t74 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str5012) %t81 = load ptr, ptr %t71 %t82 = call ptr @lp_str_concat(ptr @.str5013, 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 @.str5014, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str5015) %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 @.str5016) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str5017) %t93 = load ptr, ptr %t76 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str5018) %t94 = load ptr, ptr %t78 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str5019) %t95 = load ptr, ptr %t76 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str5020) %t96 = load ptr, ptr %t84 %t97 = call ptr @lp_str_concat(ptr @.str5021, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5022) %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 @.str5023, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5024) %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 @.str5025, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5026) %t113 = load ptr, ptr %t102 %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5027) %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 @.str5028, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str5029) %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 @.str5030, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str5031) %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 @.str5032, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str5033) %t137 = load ptr, ptr %t126 %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str5034) %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 @.str5035) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t84 %t147 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str5036, ptr %t146, ptr %t147) %t148 = call ptr @fn_emit_alloca(ptr @.str5037) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t119 %t151 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str5038, ptr %t150, ptr %t151) %t152 = call ptr @fn_emit_alloca(ptr @.str5039) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t84 %t155 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str5040, ptr %t154, ptr %t155) %t156 = call ptr @fn_lbl(ptr @.str5041) store ptr %t156, ptr %t157 %t158 = call ptr @fn_lbl(ptr @.str5042) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str5043) store ptr %t160, ptr %t161 call void @fn_emit(ptr @.str5044) %t162 = load ptr, ptr %t157 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str5045) %t163 = load ptr, ptr %t157 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str5046) %t164 = load ptr, ptr %t145 %t165 = call ptr @lp_str_concat(ptr @.str5047, 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 @.str5048, 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 @.str5049, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5050) %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 @.str5051, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str5052) %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 @.str5053, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str5054) %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 @.str5055) %t193 = load ptr, ptr %t192 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str5056) %t194 = load ptr, ptr %t159 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str5057) %t195 = load ptr, ptr %t161 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str5058) %t196 = load ptr, ptr %t159 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str5059) %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 @.str5060, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str5061) %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 @.str5062, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str5063) %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 @.str5064, 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 @.str5065) store ptr %t238, ptr %t239 %t240 = call ptr @fn_lbl(ptr @.str5066) store ptr %t240, ptr %t241 %t242 = call ptr @fn_lbl(ptr @.str5067) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str5068) %t244 = load ptr, ptr %t228 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str5069) %t245 = load ptr, ptr %t239 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str5070) %t246 = load ptr, ptr %t241 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str5071) %t247 = load ptr, ptr %t239 call void @fn_emit(ptr %t247) call void @fn_emit(ptr @.str5072) call void @fn_emit(ptr @.str5073) %t248 = load ptr, ptr %t1 call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str5074) %t249 = load ptr, ptr %t220 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str5075) %t250 = load ptr, ptr %t237 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str5076) %t251 = load ptr, ptr %t171 %t252 = call ptr @lp_str_concat(ptr @.str5077, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str5078) %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 @.str5079, ptr %t256, ptr %t257) call void @fn_emit(ptr @.str5080) %t258 = load ptr, ptr %t243 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str5081) %t259 = load ptr, ptr %t241 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str5082) call void @fn_emit(ptr @.str5083) %t260 = load ptr, ptr %t1 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str5084) %t261 = load ptr, ptr %t208 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str5085) %t262 = load ptr, ptr %t237 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str5086) %t263 = load ptr, ptr %t167 %t264 = call ptr @lp_str_concat(ptr @.str5087, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str5088) %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 @.str5089, ptr %t268, ptr %t269) call void @fn_emit(ptr @.str5090) %t270 = load ptr, ptr %t243 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str5091) %t271 = load ptr, ptr %t243 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str5092) %t272 = load ptr, ptr %t232 %t273 = call ptr @lp_str_concat(ptr @.str5093, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str5094) %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 @.str5095, ptr %t277, ptr %t278) call void @fn_emit(ptr @.str5096) %t279 = load ptr, ptr %t157 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str5097) %t280 = load ptr, ptr %t161 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str5098) %t281 = call ptr @fn_lbl(ptr @.str5099) store ptr %t281, ptr %t282 %t283 = call ptr @fn_lbl(ptr @.str5100) store ptr %t283, ptr %t284 %t285 = call ptr @fn_lbl(ptr @.str5101) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str5102) %t287 = load ptr, ptr %t282 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str5103) %t288 = load ptr, ptr %t282 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str5104) %t289 = load ptr, ptr %t145 %t290 = call ptr @lp_str_concat(ptr @.str5105, 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 @.str5106, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str5107) %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 @.str5108) %t300 = load ptr, ptr %t299 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str5109) %t301 = load ptr, ptr %t284 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str5110) %t302 = load ptr, ptr %t286 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str5111) %t303 = load ptr, ptr %t284 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str5112) %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 @.str5113, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5114) %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 @.str5115, 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 @.str5116) %t325 = load ptr, ptr %t1 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str5117) %t326 = load ptr, ptr %t315 call void @fn_emit(ptr %t326) call void @fn_emit(ptr @.str5118) %t327 = load ptr, ptr %t324 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str5119) %t328 = load ptr, ptr %t292 %t329 = call ptr @lp_str_concat(ptr @.str5120, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str5121) %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 @.str5122, ptr %t333, ptr %t334) %t335 = load ptr, ptr %t319 %t336 = call ptr @lp_str_concat(ptr @.str5123, ptr %t335) %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str5124) %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 @.str5125, ptr %t340, ptr %t341) call void @fn_emit(ptr @.str5126) %t342 = load ptr, ptr %t282 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str5127) %t343 = load ptr, ptr %t286 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str5128) %t344 = call ptr @fn_lbl(ptr @.str5129) store ptr %t344, ptr %t345 %t346 = call ptr @fn_lbl(ptr @.str5130) store ptr %t346, ptr %t347 %t348 = call ptr @fn_lbl(ptr @.str5131) store ptr %t348, ptr %t349 call void @fn_emit(ptr @.str5132) %t350 = load ptr, ptr %t345 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str5133) %t351 = load ptr, ptr %t345 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str5134) %t352 = load ptr, ptr %t149 %t353 = call ptr @lp_str_concat(ptr @.str5135, 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 @.str5136, ptr %t356) %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str5137) %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 @.str5138) %t363 = load ptr, ptr %t362 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str5139) %t364 = load ptr, ptr %t347 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str5140) %t365 = load ptr, ptr %t349 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str5141) %t366 = load ptr, ptr %t347 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str5142) %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 @.str5143, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5144) %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 @.str5145, 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 @.str5146) %t388 = load ptr, ptr %t1 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str5147) %t389 = load ptr, ptr %t378 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str5148) %t390 = load ptr, ptr %t387 call void @fn_emit(ptr %t390) call void @fn_emit(ptr @.str5149) %t391 = load ptr, ptr %t355 %t392 = call ptr @lp_str_concat(ptr @.str5150, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str5151) %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 @.str5152, ptr %t396, ptr %t397) %t398 = load ptr, ptr %t382 %t399 = call ptr @lp_str_concat(ptr @.str5153, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5154) %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 @.str5155, ptr %t403, ptr %t404) call void @fn_emit(ptr @.str5156) %t405 = load ptr, ptr %t345 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str5157) %t406 = load ptr, ptr %t349 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str5158) %t407 = call ptr @fn_emit_alloca(ptr @.str5159) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t84 %t410 = load ptr, ptr %t408 call void @fn_store_at(ptr @.str5160, ptr %t409, ptr %t410) %t411 = call ptr @fn_lbl(ptr @.str5161) store ptr %t411, ptr %t412 %t413 = call ptr @fn_lbl(ptr @.str5162) store ptr %t413, ptr %t414 %t415 = call ptr @fn_lbl(ptr @.str5163) store ptr %t415, ptr %t416 call void @fn_emit(ptr @.str5164) %t417 = load ptr, ptr %t412 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str5165) %t418 = load ptr, ptr %t412 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str5166) %t419 = load ptr, ptr %t408 %t420 = call ptr @lp_str_concat(ptr @.str5167, 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 @.str5168, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str5169) %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 @.str5170) %t430 = load ptr, ptr %t429 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str5171) %t431 = load ptr, ptr %t414 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str5172) %t432 = load ptr, ptr %t416 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str5173) %t433 = load ptr, ptr %t414 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str5174) %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 @.str5175, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str5176) %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 @.str5177) %t451 = load ptr, ptr %t1 call void @fn_emit(ptr %t451) call void @fn_emit(ptr @.str5178) %t452 = load ptr, ptr %t445 call void @fn_emit(ptr %t452) call void @fn_emit(ptr @.str5179) %t453 = load ptr, ptr %t450 call void @fn_emit(ptr %t453) call void @fn_emit(ptr @.str5180) %t454 = load ptr, ptr %t422 %t455 = call ptr @lp_str_concat(ptr @.str5181, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str5182) %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 @.str5183, ptr %t459, ptr %t460) call void @fn_emit(ptr @.str5184) %t461 = load ptr, ptr %t412 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str5185) %t462 = load ptr, ptr %t416 call void @fn_emit(ptr %t462) call void @fn_emit(ptr @.str5186) %t463 = load ptr, ptr %t84 %t464 = call ptr @lp_str_concat(ptr @.str5187, ptr %t463) %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str5188) %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 @.str5189, ptr %t470, ptr %t471) call void @fn_emit(ptr @.str5190) %t472 = load ptr, ptr %t74 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str5191) %t473 = load ptr, ptr %t78 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str5192) %t474 = load ptr, ptr %t69 %t475 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str5193, ptr %t474, ptr %t475) call void @fn_emit(ptr @.str5194) %t476 = load ptr, ptr %t43 call void @fn_emit(ptr %t476) call void @fn_emit(ptr @.str5195) %t477 = load ptr, ptr %t47 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str5196) call void @fn_emit(ptr @.str5197) %t478 = load ptr, ptr %t38 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str5198) 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 @.str5199, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5200) 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 @.str5201, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5202) 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 @.str5203, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5204) %t46 = load ptr, ptr %t37 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5205) 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 @.str5206) %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 @.str5207) %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 @.str5208) %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 @.str5209) %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 @.str5210) 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 @.str5211, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str5212) %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 @.str5213) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str5214) 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 @.str5215, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str5216) 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 @.str5217) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str5218) %t86 = load ptr, ptr %t82 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str5219) %t87 = call ptr @fn_val(ptr @.str5220, ptr @.str5221) store ptr %t87, ptr %retval br label %ret ifend17: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str5222) %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 @.str5223) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t75 %t96 = call ptr @lp_str_concat(ptr @.str5224, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5225) %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 @.str5226) %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 @.str5227, 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 @.str5228, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5229) %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 @.str5230, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str5231) %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 @.str5232) %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 @.str5233, 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 @.str5234, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str5235) %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 @.str5236, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str5237) %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 @.str5238) %t152 = load ptr, ptr %t139 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str5239) %t153 = load ptr, ptr %t82 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str5240) %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 @.str5241) %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 @.str5242, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str5243) %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 @.str5244, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str5245) %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 @.str5246) %t206 = load ptr, ptr %t75 call void @fn_emit(ptr %t206) call void @fn_emit(ptr @.str5247) %t207 = load ptr, ptr %t205 call void @fn_emit(ptr %t207) call void @fn_emit(ptr @.str5248) %t208 = load ptr, ptr %t184 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str5249) call void @fn_emit(ptr @.str5250) %t209 = load ptr, ptr %t75 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str5251) %t210 = load ptr, ptr %t198 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str5252) %t211 = load ptr, ptr %t191 call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str5253) %t212 = call ptr @fn_val(ptr @.str5254, ptr @.str5255) store ptr %t212, ptr %retval br label %ret ifend29: %t214 = load ptr, ptr %t0 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str5256) %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 @.str5257) %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 @.str5258, ptr %t233) %t235 = call ptr @fn_emit_bind(ptr %t234) store ptr %t235, ptr %t236 %t237 = call ptr @fn_emit_alloca(ptr @.str5259) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str5260, ptr @.str5261, ptr %t239) %t240 = call ptr @fn_emit_alloca(ptr @.str5262) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t241 call void @fn_store_at(ptr @.str5263, ptr @.str5264, ptr %t242) %t243 = call ptr @fn_lbl(ptr @.str5265) store ptr %t243, ptr %t244 %t245 = call ptr @fn_lbl(ptr @.str5266) store ptr %t245, ptr %t246 %t247 = call ptr @fn_lbl(ptr @.str5267) store ptr %t247, ptr %t248 %t249 = call ptr @fn_lbl(ptr @.str5268) store ptr %t249, ptr %t250 %t251 = call ptr @fn_lbl(ptr @.str5269) store ptr %t251, ptr %t252 call void @fn_emit(ptr @.str5270) %t253 = load ptr, ptr %t244 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str5271) %t254 = load ptr, ptr %t244 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str5272) %t255 = load ptr, ptr %t241 %t256 = call ptr @lp_str_concat(ptr @.str5273, 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 @.str5274, ptr %t259) %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str5275) %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 @.str5276) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str5277) %t267 = load ptr, ptr %t246 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str5278) %t268 = load ptr, ptr %t252 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str5279) %t269 = load ptr, ptr %t246 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str5280) %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 @.str5281, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5282) %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 @.str5283, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str5284) %t285 = load ptr, ptr %t281 %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5285) %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 @.str5286) %t294 = load ptr, ptr %t293 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str5287) %t295 = load ptr, ptr %t248 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str5288) %t296 = load ptr, ptr %t250 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str5289) %t297 = load ptr, ptr %t248 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str5290) %t298 = load ptr, ptr %t258 %t299 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str5291, ptr %t298, ptr %t299) call void @fn_emit(ptr @.str5292) %t300 = load ptr, ptr %t252 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str5293) %t301 = load ptr, ptr %t250 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str5294) %t302 = load ptr, ptr %t258 %t303 = call ptr @lp_str_concat(ptr @.str5295, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5296) %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 @.str5297, ptr %t307, ptr %t308) call void @fn_emit(ptr @.str5298) %t309 = load ptr, ptr %t244 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str5299) %t310 = load ptr, ptr %t252 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str5300) %t311 = load ptr, ptr %t238 %t312 = call ptr @lp_str_concat(ptr @.str5301, 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 @.str5302) %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 @.str5303) store ptr %t319, ptr %retval br label %ret ifend37: %t320 = load ptr, ptr %t314 %t321 = call ptr @lp_str_concat(ptr @.str5304, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str5305) %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 @.str5306, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str5307) %t328 = call ptr @fn_emit_bind(ptr %t327) %t329 = call ptr @fn_val(ptr %t328, ptr @.str5308) store ptr %t329, ptr %retval br label %ret ifend34: %t330 = load ptr, ptr %t0 %t331 = call i32 @lp_str_eq(ptr %t330, ptr @.str5309) %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 @.str5310, ptr %t353) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = call ptr @fn_emit_alloca(ptr @.str5311) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t356 %t360 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str5312, ptr %t359, ptr %t360) %t361 = call ptr @fn_lbl(ptr @.str5313) store ptr %t361, ptr %t362 %t363 = call ptr @fn_lbl(ptr @.str5314) store ptr %t363, ptr %t364 %t365 = call ptr @fn_lbl(ptr @.str5315) store ptr %t365, ptr %t366 call void @fn_emit(ptr @.str5316) %t367 = load ptr, ptr %t362 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str5317) %t368 = load ptr, ptr %t362 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str5318) %t369 = load ptr, ptr %t358 %t370 = call ptr @lp_str_concat(ptr @.str5319, 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 @.str5320, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str5321) %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 @.str5322) %t382 = load ptr, ptr %t381 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str5323) %t383 = load ptr, ptr %t364 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str5324) %t384 = load ptr, ptr %t366 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str5325) %t385 = load ptr, ptr %t364 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str5326) %t386 = load ptr, ptr %t372 %t387 = call ptr @lp_str_concat(ptr @.str5327, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str5328) %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 @.str5329, ptr %t396) %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str5330) %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 @.str5331) %t408 = load ptr, ptr %t75 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str5332) %t409 = load ptr, ptr %t402 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str5333) %t410 = load ptr, ptr %t407 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str5334) %t411 = load ptr, ptr %t390 %t412 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str5335, ptr %t411, ptr %t412) call void @fn_emit(ptr @.str5336) %t413 = load ptr, ptr %t362 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str5337) %t414 = load ptr, ptr %t366 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str5338) %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 @.str5339) %t422 = load ptr, ptr %t75 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str5340) %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 @.str5341) %t426 = load ptr, ptr %t421 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str5342) %t427 = load ptr, ptr %t356 %t428 = call ptr @lp_str_concat(ptr @.str5343, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5344) %t430 = call ptr @fn_emit_bind(ptr %t429) store ptr %t430, ptr %t431 call void @fn_emit(ptr @.str5345) %t432 = load ptr, ptr %t431 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str5346) %t433 = load ptr, ptr %t82 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str5347) %t434 = call ptr @fn_val(ptr @.str5348, ptr @.str5349) store ptr %t434, ptr %retval br label %ret ifend40: %t435 = load ptr, ptr %t0 %t436 = call i32 @lp_str_eq(ptr %t435, ptr @.str5350) %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 @.str5351, 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 @.str5352, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str5353) %t454 = call ptr @fn_emit_bind(ptr %t453) store ptr %t454, ptr %t455 %t456 = call ptr @fn_emit_alloca(ptr @.str5354) 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 @.str5355, ptr %t460, ptr %t461) %t462 = call ptr @fn_lbl(ptr @.str5356) store ptr %t462, ptr %t463 %t464 = call ptr @fn_lbl(ptr @.str5357) store ptr %t464, ptr %t465 %t466 = call ptr @fn_lbl(ptr @.str5358) store ptr %t466, ptr %t467 call void @fn_emit(ptr @.str5359) %t468 = load ptr, ptr %t463 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str5360) %t469 = load ptr, ptr %t463 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str5361) %t470 = load ptr, ptr %t457 %t471 = call ptr @lp_str_concat(ptr @.str5362, 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 @.str5363, ptr %t474) %t476 = call ptr @lp_str_concat(ptr %t475, ptr @.str5364) %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 @.str5365) %t481 = load ptr, ptr %t480 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str5366) %t482 = load ptr, ptr %t465 call void @fn_emit(ptr %t482) call void @fn_emit(ptr @.str5367) %t483 = load ptr, ptr %t467 call void @fn_emit(ptr %t483) call void @fn_emit(ptr @.str5368) %t484 = load ptr, ptr %t465 call void @fn_emit(ptr %t484) call void @fn_emit(ptr @.str5369) %t485 = load ptr, ptr %t473 %t486 = call ptr @lp_str_concat(ptr @.str5370, ptr %t485) %t487 = call ptr @lp_str_concat(ptr %t486, ptr @.str5371) %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 @.str5372, ptr %t495) %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str5373) %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 @.str5374) %t507 = load ptr, ptr %t75 call void @fn_emit(ptr %t507) call void @fn_emit(ptr @.str5375) %t508 = load ptr, ptr %t501 call void @fn_emit(ptr %t508) call void @fn_emit(ptr @.str5376) %t509 = load ptr, ptr %t506 call void @fn_emit(ptr %t509) call void @fn_emit(ptr @.str5377) %t510 = load ptr, ptr %t489 %t511 = load ptr, ptr %t457 call void @fn_store_at(ptr @.str5378, ptr %t510, ptr %t511) call void @fn_emit(ptr @.str5379) %t512 = load ptr, ptr %t463 call void @fn_emit(ptr %t512) call void @fn_emit(ptr @.str5380) %t513 = load ptr, ptr %t467 call void @fn_emit(ptr %t513) call void @fn_emit(ptr @.str5381) call void @fn_emit(ptr @.str5382) %t514 = load ptr, ptr %t455 call void @fn_emit(ptr %t514) call void @fn_emit(ptr @.str5383) %t515 = load ptr, ptr %t82 call void @fn_emit(ptr %t515) call void @fn_emit(ptr @.str5384) %t516 = call ptr @fn_val(ptr @.str5385, ptr @.str5386) store ptr %t516, ptr %retval br label %ret ifend43: %t517 = load ptr, ptr %t0 %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str5387) %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 @.str5388, ptr %t529) %t531 = call ptr @fn_emit_bind(ptr %t530) store ptr %t531, ptr %t532 %t533 = call ptr @fn_emit_alloca(ptr @.str5389) store ptr %t533, ptr %t534 %t535 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str5390, ptr @.str5391, ptr %t535) %t536 = call ptr @fn_emit_alloca(ptr @.str5392) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t537 call void @fn_store_at(ptr @.str5393, ptr @.str5394, ptr %t538) %t539 = call ptr @fn_lbl(ptr @.str5395) store ptr %t539, ptr %t540 %t541 = call ptr @fn_lbl(ptr @.str5396) store ptr %t541, ptr %t542 %t543 = call ptr @fn_lbl(ptr @.str5397) store ptr %t543, ptr %t544 %t545 = call ptr @fn_lbl(ptr @.str5398) store ptr %t545, ptr %t546 %t547 = call ptr @fn_lbl(ptr @.str5399) store ptr %t547, ptr %t548 call void @fn_emit(ptr @.str5400) %t549 = load ptr, ptr %t540 call void @fn_emit(ptr %t549) call void @fn_emit(ptr @.str5401) %t550 = load ptr, ptr %t540 call void @fn_emit(ptr %t550) call void @fn_emit(ptr @.str5402) %t551 = load ptr, ptr %t537 %t552 = call ptr @lp_str_concat(ptr @.str5403, 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 @.str5404, ptr %t555) %t557 = call ptr @lp_str_concat(ptr %t556, ptr @.str5405) %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 @.str5406, 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 @.str5407, ptr %t566) %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str5408) %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 @.str5409, ptr %t571) %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str5410) %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 @.str5411) %t578 = load ptr, ptr %t577 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str5412) %t579 = load ptr, ptr %t542 call void @fn_emit(ptr %t579) call void @fn_emit(ptr @.str5413) %t580 = load ptr, ptr %t548 call void @fn_emit(ptr %t580) call void @fn_emit(ptr @.str5414) %t581 = load ptr, ptr %t542 call void @fn_emit(ptr %t581) call void @fn_emit(ptr @.str5415) %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 @.str5416, ptr %t587) %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str5417) %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 @.str5418, ptr %t594) %t596 = call ptr @lp_str_concat(ptr %t595, ptr @.str5419) %t597 = load ptr, ptr %t593 %t598 = call ptr @lp_str_concat(ptr %t596, ptr %t597) %t599 = call ptr @lp_str_concat(ptr %t598, ptr @.str5420) %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 @.str5421) %t606 = load ptr, ptr %t605 call void @fn_emit(ptr %t606) call void @fn_emit(ptr @.str5422) %t607 = load ptr, ptr %t544 call void @fn_emit(ptr %t607) call void @fn_emit(ptr @.str5423) %t608 = load ptr, ptr %t546 call void @fn_emit(ptr %t608) call void @fn_emit(ptr @.str5424) %t609 = load ptr, ptr %t544 call void @fn_emit(ptr %t609) call void @fn_emit(ptr @.str5425) %t610 = load ptr, ptr %t554 %t611 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str5426, ptr %t610, ptr %t611) call void @fn_emit(ptr @.str5427) %t612 = load ptr, ptr %t540 call void @fn_emit(ptr %t612) call void @fn_emit(ptr @.str5428) %t613 = load ptr, ptr %t546 call void @fn_emit(ptr %t613) call void @fn_emit(ptr @.str5429) %t614 = load ptr, ptr %t554 %t615 = call ptr @lp_str_concat(ptr @.str5430, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str5431) %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 @.str5432, ptr %t619, ptr %t620) call void @fn_emit(ptr @.str5433) %t621 = load ptr, ptr %t540 call void @fn_emit(ptr %t621) call void @fn_emit(ptr @.str5434) %t622 = load ptr, ptr %t548 call void @fn_emit(ptr %t622) call void @fn_emit(ptr @.str5435) %t623 = load ptr, ptr %t534 %t624 = call ptr @lp_str_concat(ptr @.str5436, 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 @.str5437, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str5438) %t630 = call ptr @fn_emit_bind(ptr %t629) store ptr %t630, ptr %t631 %t632 = call ptr @fn_lbl(ptr @.str5439) store ptr %t632, ptr %t633 %t634 = call ptr @fn_lbl(ptr @.str5440) store ptr %t634, ptr %t635 call void @fn_emit(ptr @.str5441) %t636 = load ptr, ptr %t631 call void @fn_emit(ptr %t636) call void @fn_emit(ptr @.str5442) %t637 = load ptr, ptr %t633 call void @fn_emit(ptr %t637) call void @fn_emit(ptr @.str5443) %t638 = load ptr, ptr %t635 call void @fn_emit(ptr %t638) call void @fn_emit(ptr @.str5444) %t639 = load ptr, ptr %t633 call void @fn_emit(ptr %t639) call void @fn_emit(ptr @.str5445) %t640 = load ptr, ptr %t532 %t641 = call ptr @lp_str_concat(ptr @.str5446, ptr %t640) %t642 = call ptr @lp_str_concat(ptr %t641, ptr @.str5447) %t643 = call ptr @fn_emit_bind(ptr %t642) store ptr %t643, ptr %t644 %t645 = call ptr @fn_emit_alloca(ptr @.str5448) store ptr %t645, ptr %t646 %t647 = load ptr, ptr %t626 %t648 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str5449, ptr %t647, ptr %t648) %t649 = call ptr @fn_lbl(ptr @.str5450) store ptr %t649, ptr %t650 %t651 = call ptr @fn_lbl(ptr @.str5451) store ptr %t651, ptr %t652 %t653 = call ptr @fn_lbl(ptr @.str5452) store ptr %t653, ptr %t654 call void @fn_emit(ptr @.str5453) %t655 = load ptr, ptr %t650 call void @fn_emit(ptr %t655) call void @fn_emit(ptr @.str5454) %t656 = load ptr, ptr %t650 call void @fn_emit(ptr %t656) call void @fn_emit(ptr @.str5455) %t657 = load ptr, ptr %t646 %t658 = call ptr @lp_str_concat(ptr @.str5456, 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 @.str5457, ptr %t661) %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str5458) %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 @.str5459) %t668 = load ptr, ptr %t667 call void @fn_emit(ptr %t668) call void @fn_emit(ptr @.str5460) %t669 = load ptr, ptr %t652 call void @fn_emit(ptr %t669) call void @fn_emit(ptr @.str5461) %t670 = load ptr, ptr %t654 call void @fn_emit(ptr %t670) call void @fn_emit(ptr @.str5462) %t671 = load ptr, ptr %t652 call void @fn_emit(ptr %t671) call void @fn_emit(ptr @.str5463) %t672 = load ptr, ptr %t660 %t673 = call ptr @lp_str_concat(ptr @.str5464, ptr %t672) %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str5465) %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 @.str5466, ptr %t682) %t684 = call ptr @lp_str_concat(ptr %t683, ptr @.str5467) %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 @.str5468) %t694 = load ptr, ptr %t75 call void @fn_emit(ptr %t694) call void @fn_emit(ptr @.str5469) %t695 = load ptr, ptr %t688 call void @fn_emit(ptr %t695) call void @fn_emit(ptr @.str5470) %t696 = load ptr, ptr %t693 call void @fn_emit(ptr %t696) call void @fn_emit(ptr @.str5471) %t697 = load ptr, ptr %t676 %t698 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str5472, ptr %t697, ptr %t698) call void @fn_emit(ptr @.str5473) %t699 = load ptr, ptr %t650 call void @fn_emit(ptr %t699) call void @fn_emit(ptr @.str5474) %t700 = load ptr, ptr %t654 call void @fn_emit(ptr %t700) call void @fn_emit(ptr @.str5475) call void @fn_emit(ptr @.str5476) %t701 = load ptr, ptr %t644 call void @fn_emit(ptr %t701) call void @fn_emit(ptr @.str5477) %t702 = load ptr, ptr %t82 call void @fn_emit(ptr %t702) call void @fn_emit(ptr @.str5478) call void @fn_emit(ptr @.str5479) %t703 = load ptr, ptr %t635 call void @fn_emit(ptr %t703) call void @fn_emit(ptr @.str5480) %t704 = load ptr, ptr %t635 call void @fn_emit(ptr %t704) call void @fn_emit(ptr @.str5481) %t705 = call ptr @fn_val(ptr @.str5482, ptr @.str5483) store ptr %t705, ptr %retval br label %ret ifend46: %t706 = load ptr, ptr %t0 %t707 = call i32 @lp_str_eq(ptr %t706, ptr @.str5484) %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 @.str5485, 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 @.str5486, ptr %t713) %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str5487) %t716 = call ptr @fn_emit_bind(ptr %t715) store ptr %t716, ptr %t717 %t718 = call ptr @fn_lbl(ptr @.str5488) store ptr %t718, ptr %t719 %t720 = call ptr @fn_lbl(ptr @.str5489) store ptr %t720, ptr %t721 %t722 = call ptr @fn_lbl(ptr @.str5490) store ptr %t722, ptr %t723 call void @fn_emit(ptr @.str5491) %t724 = load ptr, ptr %t717 call void @fn_emit(ptr %t724) call void @fn_emit(ptr @.str5492) %t725 = load ptr, ptr %t719 call void @fn_emit(ptr %t725) call void @fn_emit(ptr @.str5493) %t726 = load ptr, ptr %t721 call void @fn_emit(ptr %t726) call void @fn_emit(ptr @.str5494) %t727 = load ptr, ptr %t719 call void @fn_emit(ptr %t727) call void @fn_emit(ptr @.str5495) %t728 = load ptr, ptr %t82 %t729 = call ptr @lp_str_concat(ptr @.str5496, ptr %t728) %t730 = call ptr @fn_emit_bind(ptr %t729) store ptr %t730, ptr %t731 %t732 = call ptr @fn_emit_alloca(ptr @.str5497) store ptr %t732, ptr %t733 %t734 = load ptr, ptr %t733 call void @fn_store_at(ptr @.str5498, ptr @.str5499, ptr %t734) %t735 = call ptr @fn_lbl(ptr @.str5500) store ptr %t735, ptr %t736 %t737 = call ptr @fn_lbl(ptr @.str5501) store ptr %t737, ptr %t738 %t739 = call ptr @fn_lbl(ptr @.str5502) store ptr %t739, ptr %t740 call void @fn_emit(ptr @.str5503) %t741 = load ptr, ptr %t736 call void @fn_emit(ptr %t741) call void @fn_emit(ptr @.str5504) %t742 = load ptr, ptr %t736 call void @fn_emit(ptr %t742) call void @fn_emit(ptr @.str5505) %t743 = load ptr, ptr %t733 %t744 = call ptr @lp_str_concat(ptr @.str5506, 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 @.str5507, ptr %t747) %t749 = call ptr @lp_str_concat(ptr %t748, ptr @.str5508) %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 @.str5509) %t754 = load ptr, ptr %t753 call void @fn_emit(ptr %t754) call void @fn_emit(ptr @.str5510) %t755 = load ptr, ptr %t738 call void @fn_emit(ptr %t755) call void @fn_emit(ptr @.str5511) %t756 = load ptr, ptr %t740 call void @fn_emit(ptr %t756) call void @fn_emit(ptr @.str5512) %t757 = load ptr, ptr %t738 call void @fn_emit(ptr %t757) call void @fn_emit(ptr @.str5513) %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 @.str5514, ptr %t763) %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str5515) %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 @.str5516) store ptr %t770, ptr %t771 %t772 = load ptr, ptr %t746 %t773 = call ptr @lp_str_concat(ptr @.str5517, ptr %t772) %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str5518) %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 @.str5519, ptr %t777, ptr %t778) %t779 = call ptr @fn_lbl(ptr @.str5520) store ptr %t779, ptr %t780 %t781 = call ptr @fn_lbl(ptr @.str5521) store ptr %t781, ptr %t782 %t783 = call ptr @fn_lbl(ptr @.str5522) store ptr %t783, ptr %t784 call void @fn_emit(ptr @.str5523) %t785 = load ptr, ptr %t780 call void @fn_emit(ptr %t785) call void @fn_emit(ptr @.str5524) %t786 = load ptr, ptr %t780 call void @fn_emit(ptr %t786) call void @fn_emit(ptr @.str5525) %t787 = load ptr, ptr %t771 %t788 = call ptr @lp_str_concat(ptr @.str5526, 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 @.str5527, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str5528) %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 @.str5529, ptr %t801) %t803 = call ptr @lp_str_concat(ptr %t802, ptr @.str5530) %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 @.str5531, ptr %t808) %t810 = call ptr @lp_str_concat(ptr %t809, ptr @.str5532) %t811 = load ptr, ptr %t807 %t812 = call ptr @lp_str_concat(ptr %t810, ptr %t811) %t813 = call ptr @lp_str_concat(ptr %t812, ptr @.str5533) %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 @.str5534, ptr %t818) %t820 = call ptr @lp_str_concat(ptr %t819, ptr @.str5535) %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 @.str5536) %t825 = load ptr, ptr %t824 call void @fn_emit(ptr %t825) call void @fn_emit(ptr @.str5537) %t826 = load ptr, ptr %t782 call void @fn_emit(ptr %t826) call void @fn_emit(ptr @.str5538) %t827 = load ptr, ptr %t784 call void @fn_emit(ptr %t827) call void @fn_emit(ptr @.str5539) %t828 = load ptr, ptr %t782 call void @fn_emit(ptr %t828) call void @fn_emit(ptr @.str5540) %t829 = load ptr, ptr %t790 %t830 = call ptr @lp_str_concat(ptr @.str5541, ptr %t829) %t831 = call ptr @lp_str_concat(ptr %t830, ptr @.str5542) %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 @.str5543) %t839 = load ptr, ptr %t75 call void @fn_emit(ptr %t839) call void @fn_emit(ptr @.str5544) %t840 = load ptr, ptr %t807 call void @fn_emit(ptr %t840) call void @fn_emit(ptr @.str5545) %t841 = load ptr, ptr %t838 call void @fn_emit(ptr %t841) call void @fn_emit(ptr @.str5546) %t842 = load ptr, ptr %t790 %t843 = call ptr @lp_str_concat(ptr @.str5547, ptr %t842) %t844 = call ptr @lp_str_concat(ptr %t843, ptr @.str5548) %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 @.str5549, ptr %t847, ptr %t848) call void @fn_emit(ptr @.str5550) %t849 = load ptr, ptr %t780 call void @fn_emit(ptr %t849) call void @fn_emit(ptr @.str5551) %t850 = load ptr, ptr %t784 call void @fn_emit(ptr %t850) call void @fn_emit(ptr @.str5552) %t851 = load ptr, ptr %t771 %t852 = call ptr @lp_str_concat(ptr @.str5553, 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 @.str5554, ptr %t855) %t857 = call ptr @lp_str_concat(ptr %t856, ptr @.str5555) %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 @.str5556) %t865 = load ptr, ptr %t75 call void @fn_emit(ptr %t865) call void @fn_emit(ptr @.str5557) %t866 = load ptr, ptr %t769 call void @fn_emit(ptr %t866) call void @fn_emit(ptr @.str5558) %t867 = load ptr, ptr %t864 call void @fn_emit(ptr %t867) call void @fn_emit(ptr @.str5559) %t868 = load ptr, ptr %t746 %t869 = call ptr @lp_str_concat(ptr @.str5560, ptr %t868) %t870 = call ptr @lp_str_concat(ptr %t869, ptr @.str5561) %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 @.str5562, ptr %t873, ptr %t874) call void @fn_emit(ptr @.str5563) %t875 = load ptr, ptr %t736 call void @fn_emit(ptr %t875) call void @fn_emit(ptr @.str5564) %t876 = load ptr, ptr %t740 call void @fn_emit(ptr %t876) call void @fn_emit(ptr @.str5565) call void @fn_emit(ptr @.str5566) %t877 = load ptr, ptr %t723 call void @fn_emit(ptr %t877) call void @fn_emit(ptr @.str5567) %t878 = load ptr, ptr %t721 call void @fn_emit(ptr %t878) call void @fn_emit(ptr @.str5568) %t879 = load ptr, ptr %t79 %t880 = load ptr, ptr %t75 call void @fn_emit_merge_sort(ptr %t879, ptr %t880, i32 3, ptr @.str5569, ptr @.str5570) call void @fn_emit(ptr @.str5571) %t881 = load ptr, ptr %t723 call void @fn_emit(ptr %t881) call void @fn_emit(ptr @.str5572) %t882 = load ptr, ptr %t723 call void @fn_emit(ptr %t882) call void @fn_emit(ptr @.str5573) %t883 = call ptr @fn_val(ptr @.str5574, ptr @.str5575) store ptr %t883, ptr %retval br label %ret ifend49: %t884 = load ptr, ptr %t0 %t885 = call i32 @lp_str_eq(ptr %t884, ptr @.str5576) %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 @.str5577, ptr %t899) %t901 = call ptr @lp_str_concat(ptr %t900, ptr @.str5578) 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 @.str5579) %t905 = call ptr @fn_val(ptr @.str5580, ptr @.str5581) store ptr %t905, ptr %retval br label %ret ifend52: %t907 = load ptr, ptr %t0 %t908 = call i32 @lp_str_eq(ptr %t907, ptr @.str5582) %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 @.str5583) %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 @.str5584, ptr %t931) %t933 = call ptr @lp_str_concat(ptr %t932, ptr @.str5585) %t934 = load ptr, ptr %t920 %t935 = call ptr @lp_str_concat(ptr %t933, ptr %t934) %t936 = call ptr @lp_str_concat(ptr %t935, ptr @.str5586) 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 @.str5587) %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 @.str5588) %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 @.str5589, ptr %t953) %t955 = call ptr @lp_str_concat(ptr %t954, ptr @.str5590) %t956 = load ptr, ptr %t920 %t957 = call ptr @lp_str_concat(ptr %t955, ptr %t956) %t958 = call ptr @lp_str_concat(ptr %t957, ptr @.str5591) 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 @.str5592) %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 @.str5593, ptr @.str5594) store ptr %t968, ptr %retval br label %ret ifend60: %t969 = load ptr, ptr %t82 %t970 = call ptr @lp_str_concat(ptr @.str5595, ptr %t969) %t971 = call ptr @fn_emit_bind(ptr %t970) store ptr %t971, ptr %t972 %t973 = call ptr @fn_emit_alloca(ptr @.str5596) store ptr %t973, ptr %t974 %t975 = load ptr, ptr %t974 call void @fn_store_at(ptr @.str5597, ptr @.str5598, ptr %t975) %t976 = call ptr @fn_emit_alloca(ptr @.str5599) store ptr %t976, ptr %t977 %t978 = load ptr, ptr %t972 %t979 = call ptr @lp_str_concat(ptr @.str5600, ptr %t978) %t980 = call ptr @lp_str_concat(ptr %t979, ptr @.str5601) %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 @.str5602, ptr %t983, ptr %t984) %t985 = call ptr @fn_lbl(ptr @.str5603) store ptr %t985, ptr %t986 %t987 = call ptr @fn_lbl(ptr @.str5604) store ptr %t987, ptr %t988 %t989 = call ptr @fn_lbl(ptr @.str5605) store ptr %t989, ptr %t990 call void @fn_emit(ptr @.str5606) %t991 = load ptr, ptr %t986 call void @fn_emit(ptr %t991) call void @fn_emit(ptr @.str5607) %t992 = load ptr, ptr %t986 call void @fn_emit(ptr %t992) call void @fn_emit(ptr @.str5608) %t993 = load ptr, ptr %t974 %t994 = call ptr @lp_str_concat(ptr @.str5609, 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 @.str5610, 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 @.str5611, ptr %t1001) %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str5612) %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 @.str5613) %t1008 = load ptr, ptr %t1007 call void @fn_emit(ptr %t1008) call void @fn_emit(ptr @.str5614) %t1009 = load ptr, ptr %t988 call void @fn_emit(ptr %t1009) call void @fn_emit(ptr @.str5615) %t1010 = load ptr, ptr %t990 call void @fn_emit(ptr %t1010) call void @fn_emit(ptr @.str5616) %t1011 = load ptr, ptr %t988 call void @fn_emit(ptr %t1011) call void @fn_emit(ptr @.str5617) %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 @.str5618, ptr %t1022) %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str5619) %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 @.str5620, ptr %t1029) %t1031 = call ptr @lp_str_concat(ptr %t1030, ptr @.str5621) %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 @.str5622) %t1036 = load ptr, ptr %t75 call void @fn_emit(ptr %t1036) call void @fn_emit(ptr @.str5623) %t1037 = load ptr, ptr %t1035 call void @fn_emit(ptr %t1037) call void @fn_emit(ptr @.str5624) %t1038 = load ptr, ptr %t1016 call void @fn_emit(ptr %t1038) call void @fn_emit(ptr @.str5625) call void @fn_emit(ptr @.str5626) %t1039 = load ptr, ptr %t75 call void @fn_emit(ptr %t1039) call void @fn_emit(ptr @.str5627) %t1040 = load ptr, ptr %t1028 call void @fn_emit(ptr %t1040) call void @fn_emit(ptr @.str5628) %t1041 = load ptr, ptr %t1021 call void @fn_emit(ptr %t1041) call void @fn_emit(ptr @.str5629) %t1042 = load ptr, ptr %t996 %t1043 = call ptr @lp_str_concat(ptr @.str5630, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str5631) %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 @.str5632, ptr %t1047, ptr %t1048) %t1049 = load ptr, ptr %t1000 %t1050 = call ptr @lp_str_concat(ptr @.str5633, ptr %t1049) %t1051 = call ptr @lp_str_concat(ptr %t1050, ptr @.str5634) %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 @.str5635, ptr %t1054, ptr %t1055) call void @fn_emit(ptr @.str5636) %t1056 = load ptr, ptr %t986 call void @fn_emit(ptr %t1056) call void @fn_emit(ptr @.str5637) %t1057 = load ptr, ptr %t990 call void @fn_emit(ptr %t1057) call void @fn_emit(ptr @.str5638) %t1058 = call ptr @fn_val(ptr @.str5639, ptr @.str5640) 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 @.str5641) %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 @.str5642) %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 @.str5643) %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 @.str5644) %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 @.str5645) %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 @.str5646) %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 @.str5647) 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 @.str5648, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5649) %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 @.str5650, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5651) %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 @.str5652, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5653) %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 @.str5654, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5655) %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 @.str5656, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5657) %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 @.str5658, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str5659) %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 @.str5660, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5661) %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 @.str5662, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str5663) %t51 = load ptr, ptr %t29 %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5664) %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 @.str5665, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5666) %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 @.str5667, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5668) %t66 = load ptr, ptr %t16 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str5669) %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 @.str5670, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5671) %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 @.str5672, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str5673) %t81 = load ptr, ptr %t3 %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5674) %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 @.str5675, 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 @.str5676, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str5677) %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 @.str5678, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str5679) %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 @.str5680, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5681) %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 @.str5682) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t60 %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str5683) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t67 %t72 = call ptr @lp_str_concat(ptr @.str5684, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5685) %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 @.str5686, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5687) %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 @.str5688, 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 @.str5689, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5690) %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 @.str5691, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5692) %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 @.str5693) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str5694, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5695) %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 @.str5696, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5697) %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 @.str5698) %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 @.str5699) store ptr %t18, ptr %retval br label %ret ifend2: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str5700) %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 @.str5701) store ptr %t26, ptr %retval br label %ret ifend5: %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str5702) %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 @.str5703) store ptr %t34, ptr %retval br label %ret ifend8: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str5704) %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 @.str5705) store ptr %t42, ptr %retval br label %ret ifend11: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str5706) %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 @.str5707) 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 @.str5708) 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 @.str5709) %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 @.str5710) %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 @.str5711) %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 @.str5712) %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 @.str5713) %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 @.str5714) %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 @.str5715) %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 @.str5716, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5717) %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 @.str5718, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5719) %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 @.str5720, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5721) %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 @.str5722, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5723) %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 @.str5724, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str5725) %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 @.str5726, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5727) %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 @.str5728, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5729) %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 @.str5730) %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 @.str5731, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5732) %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 @.str5733) store ptr %t51, ptr %retval br label %ret ifend2: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str5734) %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 @.str5735, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str5736) %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 @.str5737, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str5738) %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 @.str5739, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str5740) %t107 = load ptr, ptr %t89 %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str5741) %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 @.str5742) store ptr %t113, ptr %retval br label %ret ifend5: %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str5743) %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 @.str5744, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str5745) %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 @.str5746, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str5747) %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 @.str5748, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str5749) %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 @.str5750, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str5751) %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 @.str5752, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5753) %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 @.str5754, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str5755) %t193 = load ptr, ptr %t173 %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5756) %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 @.str5757) store ptr %t199, ptr %retval br label %ret ifend8: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str5758) %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 @.str5759, ptr %t238) %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str5760) %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 @.str5761, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str5762) %t250 = call ptr @fn_emit_bind(ptr %t249) %t251 = call ptr @fn_val(ptr %t250, ptr @.str5763) store ptr %t251, ptr %retval br label %ret ifend11: %t252 = load ptr, ptr %t0 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str5764) %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 @.str5765, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5766) %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 @.str5767, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5768) %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 @.str5769) store ptr %t291, ptr %retval br label %ret ifend14: %t292 = load ptr, ptr %t0 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str5770) %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 @.str5771, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str5772) %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 @.str5773, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str5774) %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 @.str5775) 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 @.str5776, ptr %t379) %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str5777) %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 @.str5778, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str5779) %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 @.str5780) 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 @.str5781) %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 @.str5782) %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 @.str5783) %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 @.str5784) %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 @.str5785) %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 @.str5786) %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 @.str5787) %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 @.str5788) %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 @.str5789) %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 @.str5790, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5791) %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 @.str5792, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5793) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5794) %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 @.str5795) %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 @.str5796, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5797) %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 @.str5798, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5799) %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 @.str5800) %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 @.str5801, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5802) %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 @.str5803, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5804) %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 @.str5805, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5806) %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 @.str5807, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5808) %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 @.str5809, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5810) %t73 = load ptr, ptr %t69 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5811) %t76 = call ptr @fn_emit_bind(ptr %t75) %t77 = call ptr @fn_val(ptr %t76, ptr @.str5812) store ptr %t77, ptr %retval br label %ret ifend2: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str5813) %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 @.str5814, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5815) %t113 = call ptr @fn_emit_bind(ptr %t112) %t114 = call ptr @fn_val(ptr %t113, ptr @.str5816) store ptr %t114, ptr %retval br label %ret ifend5: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str5817) %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 @.str5818, ptr %t147) %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str5819) %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 @.str5820, 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 @.str5821, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str5822) %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 @.str5823, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5824) %t164 = load ptr, ptr %t151 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5825) %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 @.str5826) store ptr %t170, ptr %retval br label %ret ifend8: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str5827) %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 @.str5828, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5829) %t196 = call ptr @fn_emit_bind(ptr %t195) %t197 = call ptr @fn_val(ptr %t196, ptr @.str5830) 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 @.str5831, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str5832) %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 @.str5833, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str5834) %t230 = call ptr @fn_emit_bind(ptr %t229) %t231 = call ptr @fn_val(ptr %t230, ptr @.str5835) store ptr %t231, ptr %retval br label %ret ifend11: %t232 = load ptr, ptr %t0 %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str5836) %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 @.str5837) 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 @.str5838) store ptr %t265, ptr %retval br label %ret ifend17: %t266 = load ptr, ptr %t0 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str5839) %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 @.str5840) store ptr %t306, ptr %retval br label %ret ifend23: %t307 = load ptr, ptr %t0 %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str5841) %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 @.str5842, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str5843) %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 @.str5844, ptr %t348) %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str5845) %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 @.str5846, ptr %t355) %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str5847) %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 @.str5848, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5849) %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 @.str5850, ptr %t367) %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str5851) %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 @.str5852, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5853) %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 @.str5854, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str5855) %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 @.str5856, ptr %t384) %t386 = call ptr @lp_str_concat(ptr %t385, ptr @.str5857) %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 @.str5858) store ptr %t390, ptr %retval br label %ret ifend26: %t391 = load ptr, ptr %t0 %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str5859) %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 @.str5860) 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 @.str5861) %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 @.str5862) %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 @.str5863) %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 @.str5864) %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 @.str5865) %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 @.str5866) %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 @.str5867) 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 @.str5868) %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 @.str5869) %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 @.str5870) %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 @.str5871) %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 @.str5872, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5873) %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 @.str5874, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5875) %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 @.str5876, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5877) %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 @.str5878, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5879) %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 @.str5880, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5881) %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 @.str5882, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5883) %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 @.str5884, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5885) %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5886) %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 @.str5887, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5888) %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 @.str5889, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str5890) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5891) %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 @.str5892) %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 @.str5893, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str5894) %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 @.str5895, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5896) %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 @.str5897, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str5898) %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 @.str5899, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5900) %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 @.str5901, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str5902) %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 @.str5903, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5904) %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 @.str5905, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str5906) %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 @.str5907, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str5908) %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 @.str5909, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str5910) %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 @.str5911, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5912) %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 @.str5913, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str5914) %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 @.str5915, ptr %t178) %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str5916) %t181 = call ptr @fn_emit_bind(ptr %t180) %t182 = call ptr @fn_val(ptr %t181, ptr @.str5917) store ptr %t182, ptr %retval br label %ret ifend2: %t183 = load ptr, ptr %t0 %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str5918) %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 @.str5919, ptr %t242) %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str5920) %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 @.str5921, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5922) %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 @.str5923, ptr %t264) %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str5924) %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 @.str5925, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5926) %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 @.str5927, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str5928) %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 @.str5929, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str5930) %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 @.str5931, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5932) %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 @.str5933, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5934) %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 @.str5935, ptr %t316) %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str5936) %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 @.str5937, ptr %t323) %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str5938) %t326 = call ptr @fn_emit_bind(ptr %t325) %t327 = call ptr @fn_val(ptr %t326, ptr @.str5939) store ptr %t327, ptr %retval br label %ret ifend5: %t328 = load ptr, ptr %t0 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str5940) %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 @.str5941, ptr %t387) %t389 = call ptr @lp_str_concat(ptr %t388, ptr @.str5942) %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 @.str5943, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5944) %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 @.str5945, ptr %t413) %t415 = call ptr @lp_str_concat(ptr %t414, ptr @.str5946) %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 @.str5947, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str5948) %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 @.str5949, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5950) %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 @.str5951, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str5952) %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 @.str5953, ptr %t441) %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str5954) %t444 = call ptr @fn_emit_bind(ptr %t443) %t445 = call ptr @fn_val(ptr %t444, ptr @.str5955) 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 @.str5956, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str5957) %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 @.str5958, ptr %t522) %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str5959) %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 @.str5960, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str5961) %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 @.str5962, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str5963) %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 @.str5964, ptr %t573) %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str5965) %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 @.str5966, ptr %t578) %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str5967) %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 @.str5968, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str5969) %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 @.str5970, ptr %t592) %t594 = call ptr @lp_str_concat(ptr %t593, ptr @.str5971) %t595 = call ptr @fn_emit_bind(ptr %t594) %t596 = call ptr @fn_val(ptr %t595, ptr @.str5972) 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 @.str5973) %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 @.str5974) %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 @.str5975) %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 @.str5976) %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 @.str5977) %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 @.str5978) %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 @.str5979) %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 @.str5980, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5981) %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 @.str5982, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str5983) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str5984) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5985) %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 @.str5986, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5987) %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 @.str5988, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5989) %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 @.str5990, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5991) %t53 = call ptr @fn_emit_bind(ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str5992) store ptr %t54, ptr %retval br label %ret ifend5: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5993) %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 @.str5994, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str5995) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str5996) %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 @.str5997) %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 @.str5998) %t98 = load ptr, ptr %t91 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str5999) %t99 = call ptr @fn_val(ptr @.str6000, ptr @.str6001) store ptr %t99, ptr %retval br label %ret ifend8: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str6002) %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 @.str6003, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str6004) %t135 = call ptr @fn_emit_bind(ptr %t134) store ptr %t135, ptr %t136 call void @fn_emit(ptr @.str6005) %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 @.str6006) %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 @.str6007) %t143 = load ptr, ptr %t136 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str6008) %t144 = call ptr @fn_val(ptr @.str6009, ptr @.str6010) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str6011) %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 @.str6012, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str6013) %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 @.str6014, 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 @.str6015, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str6016) %t184 = call ptr @fn_emit_bind(ptr %t183) %t185 = call ptr @fn_val(ptr %t184, ptr @.str6017) 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 @.str6018, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str6019) %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 @.str6020, ptr %t226) %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str6021) %t229 = call ptr @fn_emit_bind(ptr %t228) store ptr %t229, ptr %t230 call void @fn_emit(ptr @.str6022) %t231 = load ptr, ptr %t230 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str6023) %t232 = load ptr, ptr %t223 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str6024) %t233 = call ptr @fn_val(ptr @.str6025, ptr @.str6026) 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 @.str6027) %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 @.str6028) %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 @.str6029) %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 @.str6030) %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 @.str6031) %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 @.str6032) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str6033) %t6 = call ptr @fn_val(ptr %t5, ptr @.str6034) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6035) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_val(ptr @.str6036, ptr @.str6037) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str6038) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = call ptr @fn_emit_bind(ptr @.str6039) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str6040, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str6041) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str6042) store ptr %t20, ptr %retval br label %ret ifend8: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str6043) %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 @.str6044) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr @.str6045, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6046) %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 @.str6047, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6048) %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 @.str6049) store ptr %t48, ptr %retval br label %ret ifend11: %t49 = call ptr @fn_emit_bind(ptr @.str6050) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = call ptr @lp_str_concat(ptr @.str6051, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str6052) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str6053) 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 @.str6054) %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 @.str6055) %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 @.str6056) %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 @.str6057) %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 @.str6058) %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 @.str6059) %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 @.str6060) %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 @.str6061) %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 @.str6062) %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 @.str6063) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str6064) %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 @.str6065, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str6066) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str6067) store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str6068) %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 @.str6069, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str6070) %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = call ptr @fn_val(ptr %t36, ptr @.str6071) store ptr %t37, ptr %retval br label %ret ifend8: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str6072) %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 @.str6073, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str6074) %t46 = call ptr @fn_emit_bind(ptr %t45) %t47 = call ptr @fn_val(ptr %t46, ptr @.str6075) store ptr %t47, ptr %retval br label %ret ifend11: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str6076) %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 @.str6077) store ptr %t54, ptr %retval br label %ret ifend14: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str6078) %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 @.str6079, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6080) %t63 = call ptr @fn_emit_bind(ptr %t62) %t64 = call ptr @fn_val(ptr %t63, ptr @.str6081) store ptr %t64, ptr %retval br label %ret ifend17: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str6082) %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 @.str6083, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str6084) %t73 = call ptr @fn_emit_bind(ptr %t72) %t74 = call ptr @fn_val(ptr %t73, ptr @.str6085) 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 @.str6086, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str6087) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str6088) 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 @.str6089) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_alloca(ptr @.str6090) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_alloca(ptr @.str6091) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str6092, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6093) %t11 = load ptr, ptr %t3 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6094) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str6095) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6096) 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 @.str6097, 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 @.str6098) %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 @.str6099) %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 @.str6100) %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 @.str6101) %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 @.str6102) %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 @.str6103) %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 @.str6104) %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 @.str6105) %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 @.str6106) %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 @.str6107) %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 @.str6108) %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 @.str6109, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str6110) %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 @.str6111) %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 @.str6112) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str6113) store ptr %t48, ptr %retval br label %ret ifend2: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6114) %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 @.str6115) store ptr %t65, ptr %retval br label %ret ifend5: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str6116) %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 @.str6117) store ptr %t82, ptr %retval br label %ret ifend8: %t83 = load ptr, ptr %t0 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str6118) %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 @.str6119) store ptr %t99, ptr %retval br label %ret ifend11: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str6120) %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 @.str6121, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6122) %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 @.str6123, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str6124) %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 @.str6125, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str6126) %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 @.str6127, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str6128) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str6129) store ptr %t133, ptr %retval br label %ret ifend14: %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str6130) %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 @.str6131, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str6132) %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 @.str6133, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str6134) %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 @.str6135, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str6136) %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 @.str6137, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str6138) %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 @.str6139, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str6140) %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 @.str6141, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str6142) %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 @.str6143, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str6144) %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 @.str6145, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str6146) %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 @.str6147, ptr %t196) %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str6148) %t199 = call ptr @fn_emit_bind(ptr %t198) %t200 = call ptr @fn_val(ptr %t199, ptr @.str6149) store ptr %t200, ptr %retval br label %ret ifend17: %t201 = load ptr, ptr %t0 %t202 = call i32 @lp_str_eq(ptr %t201, ptr @.str6150) %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 @.str6151, ptr %t224) %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str6152) %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 @.str6153) %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 @.str6154, ptr %t236) %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str6155) %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 @.str6156, ptr %t243) %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str6157) %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 @.str6158, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str6159) %t251 = load ptr, ptr %t247 %t252 = call ptr @lp_str_concat(ptr %t250, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str6160) %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 @.str6161, ptr %t262) %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str6162) %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 @.str6163, ptr %t267) %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str6164) %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 @.str6165, ptr %t274) %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str6166) %t277 = load ptr, ptr %t273 %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str6167) %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 @.str6168, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str6169) %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 @.str6170) store ptr %t288, ptr %retval br label %ret ifend20: %t289 = load ptr, ptr %t0 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str6171) %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 @.str6172, ptr %t303) %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str6173) %t306 = call ptr @fn_emit_bind(ptr %t305) %t307 = call ptr @fn_val(ptr %t306, ptr @.str6174) store ptr %t307, ptr %retval br label %ret ifend23: %t308 = load ptr, ptr %t0 %t309 = call i32 @lp_str_eq(ptr %t308, ptr @.str6175) %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 @.str6176, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str6177) %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 @.str6178) 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 @.str6179, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str6180) %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 @.str6181) 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 @.str6182, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6183) %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 @.str6184, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6185) %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 @.str6186, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6187) %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 @.str6188, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str6189) %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 @.str6190, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6191) %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 @.str6192) %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 @.str6193) %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 @.str6194) %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 @.str6195) %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 @.str6196) %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 @.str6197) %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 @.str6198) %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 @.str6199) %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 @.str6200) %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 @.str6201) %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 @.str6202) %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 @.str6203) %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 @.str6204, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6205) %t5 = load ptr, ptr %t1 %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str6206) %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 @.str6207) 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 @.str6208) store ptr %t41, ptr %t42 %t43 = call ptr @fn_emit_alloca(ptr @.str6209) store ptr %t43, ptr %t44 %t45 = call ptr @fn_emit_alloca(ptr @.str6210) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t40 %t48 = call ptr @lp_str_concat(ptr @.str6211, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str6212) %t50 = load ptr, ptr %t42 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6213) %t53 = load ptr, ptr %t44 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6214) %t56 = load ptr, ptr %t46 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6215) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t42 %t60 = call ptr @lp_str_concat(ptr @.str6216, 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 @.str6217, 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 @.str6218, 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 @.str6219, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str6220) %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 @.str6221, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str6222) %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 @.str6223, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str6224) %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 @.str6225, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str6226) %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 @.str6227, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6228) %t99 = call ptr @fn_emit_bind(ptr %t98) store ptr %t99, ptr %t100 %t101 = call ptr @fn_emit_str_const(ptr @.str6229) 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 @.str6230, 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 @.str6231, 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 @.str6232, 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 @.str6233, 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 @.str6234, 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 @.str6235, 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 @.str6236, 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 @.str6237, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str6238) %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 @.str6239) %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 @.str6240) 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 @.str6241) 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 @.str6242) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 call void @fn_store_at(ptr @.str6243, ptr @.str6244, ptr %t38) %t39 = call ptr @fn_emit_alloca(ptr @.str6245) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str6246, ptr @.str6247, ptr %t41) %t42 = call ptr @fn_emit_alloca(ptr @.str6248) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 call void @fn_store_at(ptr @.str6249, ptr @.str6250, ptr %t44) %t45 = call ptr @fn_emit_alloca(ptr @.str6251) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 call void @fn_store_at(ptr @.str6252, ptr @.str6253, ptr %t47) %t48 = call ptr @fn_emit_alloca(ptr @.str6254) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 call void @fn_store_at(ptr @.str6255, ptr @.str6256, ptr %t50) %t51 = call ptr @fn_emit_alloca(ptr @.str6257) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 call void @fn_store_at(ptr @.str6258, ptr @.str6259, ptr %t53) %t54 = call ptr @fn_emit_alloca(ptr @.str6260) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 call void @fn_store_at(ptr @.str6261, ptr @.str6262, 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 @.str6263, 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 @.str6264, 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 @.str6265, 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 @.str6266, 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 @.str6267, 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 @.str6268, 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 @.str6269, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str6270) %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 @.str6271) %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 @.str6272) %t124 = load ptr, ptr %t37 %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str6273) %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 @.str6274, 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 @.str6275, 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 @.str6276, 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 @.str6277, 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 @.str6278, 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 @.str6279, 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 @.str6280, 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 @.str6281, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str6282) %t164 = load ptr, ptr %t144 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str6283) %t167 = load ptr, ptr %t148 %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str6284) %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 @.str6285, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str6286) %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 @.str6287, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str6288) %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 @.str6289, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str6290) %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 @.str6291, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str6292) %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 @.str6293, ptr %t194) %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str6294) %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 @.str6295, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str6296) %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 @.str6297, 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 @.str6298, ptr %t212) %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str6299) %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 @.str6300, ptr %t217) %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str6301) %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 @.str6302) 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 @.str6303) %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 @.str6304) %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 @.str6305) %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 @.str6306, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6307) %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 @.str6308) %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 @.str6309) %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 @.str6310, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str6311) %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 @.str6312, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str6313) %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 @.str6314, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6315) %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 @.str6316, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str6317) %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 @.str6318, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str6319) %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 @.str6320, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str6321) %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 @.str6322) store ptr %t127, ptr %retval br label %ret ifend8: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str6323) %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 @.str6324) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str6325) %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 @.str6326, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str6327) %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 @.str6328) store ptr %t176, ptr %retval br label %ret ifend14: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str6329) %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 @.str6330) store ptr %t194, ptr %retval br label %ret ifend17: %t195 = load ptr, ptr %t0 %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str6331) %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 @.str6332) store ptr %t212, ptr %retval br label %ret ifend20: %t213 = load ptr, ptr %t0 %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str6333) %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 @.str6334) store ptr %t230, ptr %retval br label %ret ifend23: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str6335) %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 @.str6336, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str6337) %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 @.str6338, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str6339) %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 @.str6340, ptr %t258) %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str6341) %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 @.str6342, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str6343) %t266 = call ptr @fn_emit_bind(ptr %t265) %t267 = call ptr @fn_val(ptr %t266, ptr @.str6344) store ptr %t267, ptr %retval br label %ret ifend26: %t268 = load ptr, ptr %t0 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str6345) %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 @.str6346, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str6347) %t288 = call ptr @fn_emit_bind(ptr %t287) %t289 = call ptr @fn_val(ptr %t288, ptr @.str6348) store ptr %t289, ptr %retval br label %ret ifend29: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str6349) %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 @.str6350, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str6351) %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 @.str6352, ptr %t312) %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str6353) %t315 = call ptr @fn_emit_bind(ptr %t314) %t316 = call ptr @fn_val(ptr %t315, ptr @.str6354) 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 @.str6355, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str6356) %t334 = call ptr @fn_emit_bind(ptr %t333) %t335 = call ptr @fn_val(ptr %t334, ptr @.str6357) 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 @.str6358) call void @fn_emith(ptr @.str6359) call void @fn_emith(ptr @.str6360) call void @fn_emith(ptr @.str6361) call void @fn_emith(ptr @.str6362) call void @fn_emith(ptr @.str6363) call void @fn_emith(ptr @.str6364) call void @fn_emith(ptr @.str6365) call void @fn_emith(ptr @.str6366) call void @fn_emith(ptr @.str6367) call void @fn_emith(ptr @.str6368) call void @fn_emith(ptr @.str6369) call void @fn_emith(ptr @.str6370) call void @fn_emith(ptr @.str6371) call void @fn_emith(ptr @.str6372) call void @fn_emith(ptr @.str6373) call void @fn_emith(ptr @.str6374) call void @fn_emith(ptr @.str6375) call void @fn_emith(ptr @.str6376) call void @fn_emith(ptr @.str6377) call void @fn_emith(ptr @.str6378) call void @fn_emith(ptr @.str6379) call void @fn_emith(ptr @.str6380) call void @fn_emith(ptr @.str6381) call void @fn_emith(ptr @.str6382) call void @fn_emith(ptr @.str6383) call void @fn_emith(ptr @.str6384) call void @fn_emith(ptr @.str6385) call void @fn_emith(ptr @.str6386) call void @fn_emith(ptr @.str6387) call void @fn_emith(ptr @.str6388) call void @fn_emith(ptr @.str6389) call void @fn_emith(ptr @.str6390) call void @fn_emith(ptr @.str6391) call void @fn_emith(ptr @.str6392) call void @fn_emith(ptr @.str6393) call void @fn_emith(ptr @.str6394) call void @fn_emith(ptr @.str6395) call void @fn_emith(ptr @.str6396) call void @fn_emith(ptr @.str6397) call void @fn_emith(ptr @.str6398) call void @fn_emith(ptr @.str6399) call void @fn_emith(ptr @.str6400) call void @fn_emith(ptr @.str6401) call void @fn_emith(ptr @.str6402) call void @fn_emith(ptr @.str6403) call void @fn_emith(ptr @.str6404) call void @fn_emith(ptr @.str6405) call void @fn_emith(ptr @.str6406) call void @fn_emith(ptr @.str6407) call void @fn_emith(ptr @.str6408) call void @fn_emith(ptr @.str6409) call void @fn_emith(ptr @.str6410) call void @fn_emith(ptr @.str6411) call void @fn_emith(ptr @.str6412) call void @fn_emith(ptr @.str6413) call void @fn_emith(ptr @.str6414) call void @fn_emith(ptr @.str6415) call void @fn_emith(ptr @.str6416) call void @fn_emith(ptr @.str6417) call void @fn_emith(ptr @.str6418) call void @fn_emith(ptr @.str6419) call void @fn_emith(ptr @.str6420) call void @fn_emith(ptr @.str6421) call void @fn_emith(ptr @.str6422) call void @fn_emith(ptr @.str6423) call void @fn_emith(ptr @.str6424) call void @fn_emith(ptr @.str6425) call void @fn_emith(ptr @.str6426) call void @fn_emith(ptr @.str6427) call void @fn_emith(ptr @.str6428) call void @fn_emith(ptr @.str6429) call void @fn_emith(ptr @.str6430) call void @fn_emith(ptr @.str6431) call void @fn_emith(ptr @.str6432) call void @fn_emith(ptr @.str6433) call void @fn_emith(ptr @.str6434) call void @fn_emith(ptr @.str6435) call void @fn_emith(ptr @.str6436) call void @fn_emith(ptr @.str6437) call void @fn_emith(ptr @.str6438) call void @fn_emith(ptr @.str6439) call void @fn_emith(ptr @.str6440) call void @fn_emith(ptr @.str6441) call void @fn_emith(ptr @.str6442) call void @fn_emith(ptr @.str6443) call void @fn_emith(ptr @.str6444) call void @fn_emith(ptr @.str6445) call void @fn_emith(ptr @.str6446) call void @fn_emith(ptr @.str6447) call void @fn_emith(ptr @.str6448) call void @fn_emith(ptr @.str6449) call void @fn_emith(ptr @.str6450) call void @fn_emith(ptr @.str6451) call void @fn_emith(ptr @.str6452) call void @fn_emith(ptr @.str6453) call void @fn_emith(ptr @.str6454) call void @fn_emith(ptr @.str6455) 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 @.str6456) %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 @.str6457) %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 @.str6458) %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 @.str6459) %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 @.str6460) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str6461) %t6 = call ptr @fn_val(ptr %t5, ptr @.str6462) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6463) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str6464) %t10 = call ptr @fn_val(ptr @.str6465, ptr @.str6466) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str6467) %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 @.str6468, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6469) call void @fn_emit(ptr %t27) %t28 = call ptr @fn_val(ptr @.str6470, ptr @.str6471) 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 @.str6472) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str6473, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6474) %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 @.str6475, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str6476) call void @fn_emit(ptr %t51) %t52 = call ptr @fn_val(ptr @.str6477, ptr @.str6478) 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 @.str6479) %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 @.str6480) %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 @.str6481) %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 @.str6482) %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 @.str6483) %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 @.str6484) %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 @.str6485, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6486) %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 @.str6487, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str6488) %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 @.str6489, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6490) %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 @.str6491, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6492) %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 @.str6493, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str6494) %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 @.str6495, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6496) %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 @.str6497, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6498) %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 @.str6499, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6500) %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 @.str6501, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6502) %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 @.str6503, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str6504) %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 @.str6505) %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 @.str6506) store ptr %t42, ptr %retval br label %ret ifend2: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str6507) %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 @.str6508, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str6509) %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 @.str6510, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6511) %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 @.str6512) store ptr %t106, ptr %retval br label %ret ifend5: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str6513) %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 @.str6514, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str6515) %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 @.str6516, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str6517) %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 @.str6518, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str6519) %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 @.str6520) store ptr %t148, ptr %retval br label %ret ifend8: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str6521) %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 @.str6522) %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 @.str6523) %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 @.str6524) %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 @.str6525) %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 @.str6526) %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 @.str6527) %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 @.str6528) store ptr %t222, ptr %retval br label %ret ifend11: %t223 = load ptr, ptr %t0 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str6529) %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 @.str6530, 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 @.str6531) 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 @.str6532) 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 @.str6533) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t254 %t266 = call ptr @lp_str_concat(ptr @.str6534, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str6535) %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 @.str6536, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str6537) %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 @.str6538, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str6539) %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 @.str6540, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str6541) %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 @.str6542, ptr %t289) %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str6543) %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 @.str6544, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str6545) %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 @.str6546) 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 @.str6547) 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 @.str6548) 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 @.str6549) store ptr %t337, ptr %t338 %t339 = load ptr, ptr %t328 %t340 = call ptr @lp_str_concat(ptr @.str6550, 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 @.str6551, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str6552) %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 @.str6553, ptr %t352) %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str6554) %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 @.str6555, ptr %t357) %t359 = call ptr @lp_str_concat(ptr %t358, ptr @.str6556) %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 @.str6557, 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 @.str6558, ptr %t368) %t370 = call ptr @lp_str_concat(ptr %t369, ptr @.str6559) %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 @.str6560, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str6561) %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 @.str6562, ptr %t382) %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str6563) %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 @.str6564, 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 @.str6565, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str6566) %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 @.str6567, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str6568) %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 @.str6569, ptr %t407) %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str6570) %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 @.str6571) 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 @.str6572) %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 @.str6573) %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 @.str6574) %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 @.str6575) %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 @.str6576) %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 @.str6577) %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 @.str6578) %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 @.str6579) %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 @.str6580) %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 @.str6581) %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 @.str6582) %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 @.str6583) %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 @.str6584) %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 @.str6585) %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 @.str6586) %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 @.str6587) %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 @.str6588) %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 @.str6589) %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 @.str6590) %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 @.str6591) %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 @.str6592) %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 @.str6593) %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 @.str6594) %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 @.str6595) %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 @.str6596) %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 @.str6597) %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 @.str6598) %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 @.str6599) %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 @.str6600) %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 @.str6601) %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 @.str6602) %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 @.str6603) %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 @.str6604) %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 @.str6605) %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 @.str6606) %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 @.str6607) %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 @.str6608) %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 @.str6609) %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 @.str6610) %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 @.str6611) %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 @.str6612) %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 @.str6613) %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 @.str6614) %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 @.str6615) %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 @.str6616) %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 @.str6617) %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 @.str6618) %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 @.str6619) %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 @.str6620) %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 @.str6621) %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 @.str6622) %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 @.str6623) %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 @.str6624) %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 @.str6625) %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 @.str6626) %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 @.str6627) %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 @.str6628) %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 @.str6629) %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 @.str6630) %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 @.str6631) %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 @.str6632) %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 @.str6633) %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 @.str6634) %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 @.str6635) %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 @.str6636) %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 @.str6637) %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 @.str6638) %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 @.str6639) %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 @.str6640) %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 @.str6641) %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 @.str6642) %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 @.str6643) %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 @.str6644) %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 @.str6645) %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 @.str6646) %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 @.str6647) %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 @.str6648) %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 @.str6649) %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 @.str6650) %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 @.str6651) %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 @.str6652) %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 @.str6653) %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 @.str6654) %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 @.str6655) %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 @.str6656) %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 @.str6657) %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 @.str6658) %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 @.str6659) %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 @.str6660) %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 @.str6661) %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 @.str6662) %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 @.str6663) %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 @.str6664) %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 @.str6665) %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 @.str6666) %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 @.str6667) %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 @.str6668) %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 @.str6669) %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 @.str6670) %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 @.str6671) %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 @.str6672) %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 @.str6673) %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 @.str6674) %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 @.str6675) %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 @.str6676) %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 @.str6677) %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 @.str6678) %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 @.str6679) %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 @.str6680) %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 @.str6681) %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 @.str6682) %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 @.str6683) %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 @.str6684) %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 @.str6685) %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 @.str6686) %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 @.str6687) %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 @.str6688) %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 @.str6689) %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 @.str6690) %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 @.str6691) %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 @.str6692) %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 @.str6693) %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 @.str6694) %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 @.str6695) %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 @.str6696) %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 @.str6697) %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 @.str6698) %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 @.str6699) %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 @.str6700) %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 @.str6701) %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 @.str6702) %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 @.str6703) %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 @.str6704) %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 @.str6705) %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 @.str6706) %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 @.str6707) %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 @.str6708) %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 @.str6709) %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 @.str6710) %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 @.str6711) %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 @.str6712) %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 @.str6713) %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 @.str6714) %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 @.str6715) %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 @.str6716) %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 @.str6717) %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 @.str6718) %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 @.str6719) %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 @.str6720) %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 @.str6721) %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 @.str6722) %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 @.str6723) %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 @.str6724) %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 @.str6725) %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 @.str6726) %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 @.str6727) %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 @.str6728) %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 @.str6729) %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 @.str6730) %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 @.str6731) %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 @.str6732) %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 @.str6733) %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 @.str6734) %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 @.str6735) %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 @.str6736) %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 @.str6737) %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 @.str6738) %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 @.str6739) %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 @.str6740) %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 @.str6741) %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 @.str6742) %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 @.str6743) %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 @.str6744) %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 @.str6745) %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 @.str6746) %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 @.str6747) %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 @.str6748) %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 @.str6749) %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 @.str6750) %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 @.str6751) %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 @.str6752) %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 @.str6753) %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 @.str6754) %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 @.str6755) %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 @.str6756) %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 @.str6757) %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 @.str6758) %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 @.str6759) %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 @.str6760) %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 @.str6761) %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 @.str6762) %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 @.str6763) %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 @.str6764) %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 @.str6765) %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 @.str6766) %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 @.str6767) %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 @.str6768) %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 @.str6769) %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 @.str6770) %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 @.str6771) %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 @.str6772) %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 @.str6773) %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 @.str6774) %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 @.str6775) %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 @.str6776) %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 @.str6777) %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 @.str6778) %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 @.str6779) %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 @.str6780) %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 @.str6781) %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 @.str6782) %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 @.str6783) %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 @.str6784) %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 @.str6785) %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 @.str6786) %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 @.str6787) %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 @.str6788) %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 @.str6789) %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 @.str6790) %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 @.str6791) %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 @.str6792) %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 @.str6793) %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 @.str6794) %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 @.str6795) %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 @.str6796) %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 @.str6797) %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 @.str6798) %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 @.str6799) %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 @.str6800) %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 @.str6801) %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 @.str6802) %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 @.str6803) %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 @.str6804) %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 @.str6805) %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 @.str6806) %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 @.str6807) %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 @.str6808) %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 @.str6809) %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 @.str6810) %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 @.str6811) %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 @.str6812) %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 @.str6813) %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 @.str6814) %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 @.str6815, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6816) %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 @.str6817, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6818) %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 @.str6819) 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 @.str6820, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6821) %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 @.str6822) %t41 = load ptr, ptr %t40 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str6823) %t42 = load ptr, ptr %t11 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str6824) %t43 = load ptr, ptr %t19 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str6825) %t44 = load i32, ptr %t20 %t45 = call ptr @fn_itoa(i32 %t44) call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str6826) %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 @.str6827) %t88 = load ptr, ptr %t50 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str6828) %t89 = load ptr, ptr %t53 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str6829) %t90 = load ptr, ptr %t40 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str6830) %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 @.str6831) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str6832, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6833) %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 @.str6834) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str6835) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str6836) call void @fn_emit(ptr @.str6837) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str6838) %t13 = call ptr @fn_nreg() store ptr %t13, ptr %t14 call void @fn_emit(ptr @.str6839) %t15 = load ptr, ptr %t14 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str6840) %t16 = load ptr, ptr %t7 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str6841) call void @fn_emit(ptr @.str6842) %t17 = load ptr, ptr %t14 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str6843) %t18 = call ptr @fn_nreg() store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6844) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6845) %t21 = load ptr, ptr %t7 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6846) call void @fn_emit(ptr @.str6847) %t22 = load ptr, ptr %t19 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str6848) %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 @.str6849) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str6850) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str6851) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str6852) %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 @.str6853, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str6854) 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 @.str6855, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str6856) %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 @.str6857, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6858) %t34 = call ptr @fn_emit_bind(ptr %t33) %t35 = call ptr @fn_val(ptr %t34, ptr @.str6859) 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 @.str6860, ptr @.str6861) 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 @.str6862) 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 @.str6863, 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 @.str6864, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str6865) %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 @.str6866, 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 @.str6867, 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 @.str6868, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6869) %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 @.str6870) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str6871) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str6872) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6873) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6874) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6875) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6876) %t35 = load ptr, ptr %t19 %t36 = call ptr @lp_str_concat(ptr @.str6877, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6878) %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 @.str6879, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6880) %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 @.str6881, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6882) %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 @.str6883, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str6884) %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 @.str6885, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6886) %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 @.str6887, 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 @.str6888, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6889) %t74 = load ptr, ptr %t66 %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str6890) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str6891) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str6892) %t80 = load ptr, ptr %t11 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str6893) call void @fn_emit(ptr @.str6894) %t81 = load ptr, ptr %t51 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str6895) %t82 = load ptr, ptr %t8 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str6896) call void @fn_emit(ptr @.str6897) %t83 = load ptr, ptr %t30 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str6898) %t84 = load ptr, ptr %t30 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str6899) %t85 = load ptr, ptr %t11 %t86 = call ptr @lp_str_concat(ptr @.str6900, 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 @.str6901) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str6902) %t92 = load ptr, ptr %t1 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str6903) %t93 = load ptr, ptr %t88 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str6904) %t94 = load ptr, ptr %t15 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str6905) call void @fn_emit(ptr @.str6906) %t95 = load ptr, ptr %t1 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str6907) %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 @.str6908) %t99 = load ptr, ptr %t90 call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str6909) %t100 = load ptr, ptr %t15 %t101 = call ptr @lp_str_concat(ptr @.str6910, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6911) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 call void @fn_emit(ptr @.str6912) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str6913) %t106 = load ptr, ptr %t5 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str6914) 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 @.str6916) %t54 = call ptr @lp_str_concat(ptr @.str6915, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6917) %t56 = load ptr, ptr %t1 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6918) 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 @.str6919) %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 @.str6920, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6921) %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 @.str6922) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str6923, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6924) 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 @.str6925, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6926) %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 @.str6927, 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 @.str6928, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str6929) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str6930) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str6931) store ptr %t46, ptr %t47 %t48 = call ptr @fn_lbl(ptr @.str6932) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t43 %t51 = call ptr @lp_str_concat(ptr @.str6933, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6934) %t53 = load ptr, ptr %t45 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6935) %t56 = load ptr, ptr %t47 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6936) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t45 %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6937) 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 @.str6938, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str6939) %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 @.str6940, 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 @.str6941, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str6942) %t75 = load ptr, ptr %t24 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str6943) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t49 %t79 = call ptr @lp_str_concat(ptr @.str6944, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6945) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t47 %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str6946) 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 @.str6947, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str6948) %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 @.str6949, ptr %t90) %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %t93 %t94 = call ptr @fn_emit_alloca(ptr @.str6950) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t93 %t97 = call ptr @lp_str_concat(ptr @.str6951, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6952) %t99 = load ptr, ptr %t95 %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str6953) 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 @.str6954, ptr %t104, ptr @.str6955) %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 @.str6956, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6957) call void @fn_emit(ptr %t116) br label %ifend5 ifend5: %t117 = load ptr, ptr %t49 %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str6958) 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 @.str6959, ptr %t119) %t121 = call ptr @fn_emit_bind(ptr %t120) %t122 = call ptr @fn_val(ptr %t121, ptr @.str6960) 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 @.str6961, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6962) %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 @.str6963) 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 @.str6964, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6965) %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 @.str6966, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6967) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6968) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6969) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6970) %t22 = call ptr @fn_lbl(ptr @.str6971) store ptr %t22, ptr %t23 %t24 = call ptr @fn_lbl(ptr @.str6972) 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 @.str6973) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: call void @fn_emit(ptr @.str6974) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6975) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6976) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6977) br label %ifend2 else1: call void @fn_emit(ptr @.str6978) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6979) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str6980) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str6981) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str6982) %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 @.str6983, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6984) %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 @.str6985, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6986) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 call void @fn_emit(ptr @.str6987) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str6988) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str6989) call void @fn_emit(ptr @.str6990) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str6991) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str6992) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str6993, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) %t62 = call ptr @fn_val(ptr %t61, ptr @.str6994) 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 @.str6995) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str6996, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6997) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str6998, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6999) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str7000, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7001) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str7002, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7003) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str7004, ptr %retval br label %ret ifend14: store ptr @.str7005, 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 @.str7006) %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 @.str7007) %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 @.str7008) %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 @.str7009) %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 @.str7010) %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 @.str7011) %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 @.str7012) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str7013, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7014) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str7015, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7016) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str7017, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7018) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str7019, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7020) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str7021, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str7022) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str7023, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7024) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store ptr @.str7025, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str7026) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store ptr @.str7027, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str7028) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store ptr @.str7029, ptr %retval br label %ret ifend26: store ptr @.str7030, 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 @.str7031) %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 @.str7032, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str7033) %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 @.str7034, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str7035) %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 @.str7036) %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 @.str7037, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str7038) %t42 = load ptr, ptr %t1 %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str7039) 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 @.str7040) %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 @.str7041) %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 @.str7042, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str7043) %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 @.str7044) %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 @.str7045) %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 @.str7046, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str7047) %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 @.str7048) %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 @.str7049, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str7050) %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 @.str7051) %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 @.str7052, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7053) %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 @.str7054) %t16 = call ptr @fn_emit_bind(ptr %t15) %t17 = call ptr @fn_val(ptr %t16, ptr @.str7055) 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 @.str7056, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str7057) %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 @.str7058) %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 @.str7059) %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 @.str7060, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str7061) %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 @.str7062, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str7063) %t41 = call ptr @fn_emit_bind(ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str7064) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t29 %t44 = call ptr @fn_val(ptr %t43, ptr @.str7065) 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 @.str7066) %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 @.str7067) %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 @.str7068, 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 @.str7069) %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 @.str7070) %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 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 %t53 = alloca i32 %t67 = alloca i32 %t68 = alloca i32 %t69 = alloca i32 %t70 = alloca i32 %t102 = alloca i32 %t103 = alloca i32 %t128 = alloca ptr %t132 = alloca ptr %t133 = alloca ptr %t146 = alloca i32 %t176 = alloca ptr %t186 = alloca ptr %t189 = alloca ptr %t204 = alloca ptr %t207 = alloca ptr %t215 = alloca ptr %t220 = alloca ptr %t227 = alloca ptr %t232 = alloca ptr %t245 = alloca ptr %t250 = alloca ptr %t255 = alloca ptr %t262 = alloca ptr %t277 = alloca ptr %t293 = 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 @.str7071) %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 @.str7072) %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 @.str7073) %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 @.str7074, 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 @.str7075) %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 @.str7076) %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: %t49 = load ptr, ptr %t0 %t50 = load ptr, ptr %t1 %t51 = load ptr, ptr %t2 %t52 = call ptr @fn_emit_str_op(ptr %t49, ptr %t50, ptr %t51) store ptr %t52, ptr %retval br label %ret ifend14: br label %ifend4 ifend4: %t54 = load ptr, ptr %t1 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str7077) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t53 br i1 %t58, label %scend16, label %sc15 sc15: %t60 = load ptr, ptr %t2 %t61 = getelementptr inbounds %Cmp_Val, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str7078) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t53 br label %scend16 scend16: %t66 = load i32, ptr %t53 store i32 %t66, ptr %t67 %t71 = load ptr, ptr %t1 %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_llty(ptr %t73) %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str7079) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t70 br i1 %t76, label %scend18, label %sc17 sc17: %t78 = load ptr, ptr %t2 %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 1 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_llty(ptr %t80) %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str7080) %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t70 br label %scend18 scend18: %t85 = load i32, ptr %t70 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t69 br i1 %t86, label %sc19, label %scend20 sc19: %t88 = load i32, ptr %t67 %t89 = icmp eq i32 %t88, 0 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t69 br label %scend20 scend20: %t93 = load i32, ptr %t69 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t68 br i1 %t94, label %sc21, label %scend22 sc21: %t96 = load i32, ptr %t20 %t97 = icmp eq i32 %t96, 0 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t68 br label %scend22 scend22: %t101 = load i32, ptr %t68 store i32 %t101, ptr %t102 %t104 = load ptr, ptr %t1 %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 %t107 = call i32 @fn_is_fp(ptr %t106) %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t103 br i1 %t108, label %scend24, label %sc23 sc23: %t110 = load ptr, ptr %t2 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 %t113 = call i32 @fn_is_fp(ptr %t112) %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t103 br label %scend24 scend24: %t116 = load i32, ptr %t103 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then25, label %ifend27 then25: %t118 = load ptr, ptr %t0 %t119 = load ptr, ptr %t1 %t120 = load ptr, ptr %t2 %t121 = call ptr @fn_emit_fp_bin(ptr %t118, ptr %t119, ptr %t120) store ptr %t121, ptr %retval br label %ret ifend27: %t122 = load ptr, ptr %t0 %t123 = call i32 @fn_is_cmp(ptr %t122) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then28, label %ifend30 then28: %t125 = load ptr, ptr %t1 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t2 %t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 store ptr %t131, ptr %t132 store ptr @.str7081, ptr %t133 %t134 = load i32, ptr %t67 %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then31, label %else32 then31: %t136 = load ptr, ptr %t1 %t137 = call ptr @fn_to_fixed(ptr %t136) store ptr %t137, ptr %t128 %t138 = load ptr, ptr %t2 %t139 = call ptr @fn_to_fixed(ptr %t138) store ptr %t139, ptr %t132 br label %ifend33 else32: %t140 = load i32, ptr %t102 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then34, label %else35 then34: store ptr @.str7082, ptr %t133 %t142 = load ptr, ptr %t1 %t143 = call ptr @fn_to_long(ptr %t142) store ptr %t143, ptr %t128 %t144 = load ptr, ptr %t2 %t145 = call ptr @fn_to_long(ptr %t144) store ptr %t145, ptr %t132 br label %ifend36 else35: %t147 = load ptr, ptr %t1 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 1 %t149 = load ptr, ptr %t148 %t150 = call ptr @fn_llty(ptr %t149) %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str7083) %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t146 br i1 %t152, label %scend38, label %sc37 sc37: %t154 = load ptr, ptr %t2 %t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 1 %t156 = load ptr, ptr %t155 %t157 = call ptr @fn_llty(ptr %t156) %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str7084) %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t146 br label %scend38 scend38: %t161 = load i32, ptr %t146 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then39, label %ifend41 then39: store ptr @.str7085, ptr %t133 br label %ifend41 ifend41: br label %ifend36 ifend36: br label %ifend33 ifend33: %t163 = load ptr, ptr %t0 %t164 = call ptr @fn_cmp_code(ptr %t163) %t165 = call ptr @lp_str_concat(ptr @.str7086, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str7087) %t167 = load ptr, ptr %t133 %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str7088) %t170 = load ptr, ptr %t128 %t171 = call ptr @lp_str_concat(ptr %t169, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str7089) %t173 = load ptr, ptr %t132 %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 @.str7090, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str7091) %t180 = call ptr @fn_emit_bind(ptr %t179) %t181 = call ptr @fn_val(ptr %t180, ptr @.str7092) store ptr %t181, ptr %retval br label %ret ifend30: %t182 = load i32, ptr %t102 %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then42, label %ifend44 then42: %t184 = load ptr, ptr %t1 %t185 = call ptr @fn_to_long(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t2 %t188 = call ptr @fn_to_long(ptr %t187) store ptr %t188, ptr %t189 %t190 = load ptr, ptr %t0 %t191 = call ptr @fn_arith_code(ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str7093) %t193 = load ptr, ptr %t186 %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str7094) %t196 = load ptr, ptr %t189 %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 @.str7095) store ptr %t199, ptr %retval br label %ret ifend44: %t200 = load i32, ptr %t67 %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then45, label %ifend47 then45: %t202 = load ptr, ptr %t1 %t203 = call ptr @fn_to_fixed(ptr %t202) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t2 %t206 = call ptr @fn_to_fixed(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t0 %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str7096) %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then48, label %ifend50 then48: %t211 = load ptr, ptr %t204 %t212 = call ptr @lp_str_concat(ptr @.str7097, ptr %t211) %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str7098) %t214 = call ptr @fn_emit_bind(ptr %t213) store ptr %t214, ptr %t215 %t216 = load ptr, ptr %t207 %t217 = call ptr @lp_str_concat(ptr @.str7099, ptr %t216) %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str7100) %t219 = call ptr @fn_emit_bind(ptr %t218) store ptr %t219, ptr %t220 %t221 = load ptr, ptr %t215 %t222 = call ptr @lp_str_concat(ptr @.str7101, ptr %t221) %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str7102) %t224 = load ptr, ptr %t220 %t225 = call ptr @lp_str_concat(ptr %t223, ptr %t224) %t226 = call ptr @fn_emit_bind(ptr %t225) store ptr %t226, ptr %t227 %t228 = load ptr, ptr %t227 %t229 = call ptr @lp_str_concat(ptr @.str7103, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str7104) %t231 = call ptr @fn_emit_bind(ptr %t230) store ptr %t231, ptr %t232 %t233 = load ptr, ptr %t232 %t234 = call ptr @lp_str_concat(ptr @.str7105, ptr %t233) %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str7106) %t236 = call ptr @fn_emit_bind(ptr %t235) %t237 = call ptr @fn_val(ptr %t236, ptr @.str7107) store ptr %t237, ptr %retval br label %ret ifend50: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str7108) %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then51, label %ifend53 then51: %t241 = load ptr, ptr %t204 %t242 = call ptr @lp_str_concat(ptr @.str7109, ptr %t241) %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str7110) %t244 = call ptr @fn_emit_bind(ptr %t243) store ptr %t244, ptr %t245 %t246 = load ptr, ptr %t245 %t247 = call ptr @lp_str_concat(ptr @.str7111, ptr %t246) %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str7112) %t249 = call ptr @fn_emit_bind(ptr %t248) store ptr %t249, ptr %t250 %t251 = load ptr, ptr %t207 %t252 = call ptr @lp_str_concat(ptr @.str7113, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str7114) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 %t256 = load ptr, ptr %t250 %t257 = call ptr @lp_str_concat(ptr @.str7115, ptr %t256) %t258 = call ptr @lp_str_concat(ptr %t257, ptr @.str7116) %t259 = load ptr, ptr %t255 %t260 = call ptr @lp_str_concat(ptr %t258, ptr %t259) %t261 = call ptr @fn_emit_bind(ptr %t260) store ptr %t261, ptr %t262 %t263 = load ptr, ptr %t262 %t264 = call ptr @lp_str_concat(ptr @.str7117, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str7118) %t266 = call ptr @fn_emit_bind(ptr %t265) %t267 = call ptr @fn_val(ptr %t266, ptr @.str7119) store ptr %t267, ptr %retval br label %ret ifend53: %t268 = load ptr, ptr %t0 %t269 = call ptr @fn_arith_code(ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str7120) %t271 = load ptr, ptr %t204 %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str7121) %t274 = load ptr, ptr %t207 %t275 = call ptr @lp_str_concat(ptr %t273, ptr %t274) %t276 = call ptr @fn_emit_bind(ptr %t275) store ptr %t276, ptr %t277 %t278 = load ptr, ptr %t277 %t279 = call ptr @fn_val(ptr %t278, ptr @.str7122) store ptr %t279, ptr %retval br label %ret ifend47: %t280 = load ptr, ptr %t0 %t281 = call ptr @fn_arith_code(ptr %t280) %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str7123) %t283 = load ptr, ptr %t1 %t284 = getelementptr inbounds %Cmp_Val, ptr %t283, i32 0, i32 0 %t285 = load ptr, ptr %t284 %t286 = call ptr @lp_str_concat(ptr %t282, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str7124) %t288 = load ptr, ptr %t2 %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 %t294 = load ptr, ptr %t293 %t295 = call ptr @fn_val(ptr %t294, ptr @.str7125) store ptr %t295, ptr %retval br label %ret ret: %t296 = load ptr, ptr %retval ret ptr %t296 } 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 @.str7126) 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 @.str7127) 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 @.str7128, 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 @.str7129) store ptr %t4, ptr %t5 %t6 = call ptr @fn_lbl(ptr @.str7130) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str7131, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7132) %t11 = load ptr, ptr %t5 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str7133) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str7134) call void @fn_emit(ptr %t16) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str7135) call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str7136) %t19 = load ptr, ptr %t2 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7137) %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 @.str7138, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str7139) call void @fn_emit(ptr %t24) br label %ifend2 else1: %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr @.str7140, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str7141) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str7142) %t31 = load ptr, ptr %t3 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str7143) call void @fn_emit(ptr %t33) br label %ifend2 ifend2: %t34 = load ptr, ptr %t5 %t35 = call ptr @lp_str_concat(ptr @.str7144, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str7145) call void @fn_emit(ptr %t36) %t37 = load ptr, ptr %t5 %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str7146) 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 @.str7147) %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 @.str7148) 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 @.str7149, 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 @.str7150, 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 @.str7151, ptr @.str7152) store ptr %t128, ptr %retval br label %ret ifend2: %t129 = load ptr, ptr %t1 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str7153) %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 @.str7154) call void @fn_perr(ptr %t141) br label %ifend17 ifend17: %t142 = call ptr @fn_emit_alloca(ptr @.str7155) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str7156, ptr @.str7157, ptr %t144) %t145 = call ptr @fn_emit_alloca(ptr @.str7158) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str7159, ptr @.str7160, ptr %t147) %t148 = call ptr @fn_lbl(ptr @.str7161) store ptr %t148, ptr %t149 %t150 = call ptr @fn_lbl(ptr @.str7162) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str7163) store ptr %t152, ptr %t153 %t154 = call ptr @fn_lbl(ptr @.str7164) store ptr %t154, ptr %t155 call void @fn_emit(ptr @.str7165) %t156 = load ptr, ptr %t149 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str7166) %t157 = load ptr, ptr %t149 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str7167) %t158 = load ptr, ptr %t143 %t159 = call ptr @lp_str_concat(ptr @.str7168, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = call ptr @fn_emit_bind(ptr @.str7169) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t161 %t165 = call ptr @lp_str_concat(ptr @.str7170, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str7171) %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 @.str7172) %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str7173) %t172 = load ptr, ptr %t151 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str7174) %t173 = load ptr, ptr %t155 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str7175) %t174 = load ptr, ptr %t151 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str7176) %t175 = load ptr, ptr %t4 %t176 = call ptr @lp_str_concat(ptr @.str7177, ptr %t175) %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str7178) %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 @.str7179, 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 @.str7180, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str7181) %t189 = load ptr, ptr %t0 %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str7182) %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 @.str7183, 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 @.str7184, ptr %t200) %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str7185) %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 @.str7186, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str7187) %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 @.str7188, 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 @.str7189, ptr %t216) %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str7190) %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 @.str7191, ptr %t223, ptr %t224) call void @fn_emit(ptr @.str7192) %t225 = load ptr, ptr %t153 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str7193) %t226 = load ptr, ptr %t153 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str7194) %t227 = load ptr, ptr %t161 %t228 = call ptr @lp_str_concat(ptr @.str7195, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str7196) %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 @.str7197, ptr %t232, ptr %t233) call void @fn_emit(ptr @.str7198) %t234 = load ptr, ptr %t149 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str7199) %t235 = load ptr, ptr %t155 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str7200) %t236 = load ptr, ptr %t146 %t237 = call ptr @lp_str_concat(ptr @.str7201, ptr %t236) %t238 = call ptr @fn_emit_bind(ptr %t237) %t239 = call ptr @fn_val(ptr %t238, ptr @.str7202) 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 @.str7203) %t250 = load ptr, ptr %t1 %t251 = call ptr @lp_str_concat(ptr %t249, ptr %t250) %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str7204) 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 @.str7205) %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 @.str7206, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str7207) %t268 = load ptr, ptr %t0 %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str7208) %t271 = load ptr, ptr %t0 %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str7209) %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 @.str7210, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str7211) %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 @.str7212, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str7213) %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 @.str7214) %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 @.str7215, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str7216) %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 @.str7217, 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 @.str7218, ptr %t313) %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str7219) %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 @.str7220, ptr %t318) %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str7221) %t321 = load ptr, ptr %t0 %t322 = call ptr @lp_str_concat(ptr %t320, ptr %t321) %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str7222) %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 @.str7223, 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 @.str7224, ptr %t332) %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str7225) %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 @.str7226, ptr %t337) %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str7227) %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 @.str7228, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str7229) %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 @.str7230, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str7231) %t354 = call ptr @fn_emit_bind(ptr %t353) %t355 = call ptr @fn_val(ptr %t354, ptr @.str7232) 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 @.str7233) %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 @.str7234) store i32 %t45, ptr %retval br label %ret ret: %t46 = load i32, ptr %retval ret i32 %t46 } define ptr @fn_emit_ns_call(ptr %arg_ns, ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t10 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 %t360 = alloca ptr %t391 = alloca ptr %t393 = alloca ptr %t403 = alloca ptr %t410 = alloca ptr %t3411 = alloca ptr %t3422 = alloca ptr %t3471 = alloca ptr %t3480 = alloca ptr %t3487 = alloca ptr %t3489 = alloca ptr %t3496 = alloca ptr %t3505 = alloca ptr %t3514 = alloca ptr %t3519 = alloca ptr %t3524 = alloca ptr %t3544 = alloca ptr %t3582 = alloca ptr %t15182 = alloca i32 %t15198 = alloca ptr %t15211 = alloca ptr %t15212 = alloca i32 %t15247 = alloca i32 %t15263 = alloca ptr %t15276 = alloca ptr %t15277 = alloca i32 %t15312 = alloca i32 %t15329 = alloca i32 %t15351 = alloca ptr %t15358 = alloca ptr %t15359 = alloca i32 %t15406 = 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 @.str7235) %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 @.str7236) %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 @.str7237) %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 @.str7238) %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 @.str7239) %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 @.str7240) %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 @.str7241, 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 @.str7242) %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 @.str7243, 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 @.str7244) %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 @.str7245, 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 @.str7246) %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 @.str7247, 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 @.str7248) %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 @.str7249) %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 @.str7250) %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 @.str7251, 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 @.str7252) %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 @.str7253, 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 @.str7254) %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 @.str7255, 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 @.str7256) %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 @.str7257, 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 @.str7258) %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 @.str7259, 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 @.str7260) %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 @.str7261, 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 @.str7262) %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 @.str7263, 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 @.str7264) %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 @.str7265, 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 @.str7266) %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 @.str7267, 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 @.str7268) %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 @.str7269, 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 @.str7270) %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 @.str7271, 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 @.str7272) %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 @.str7273, 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 @.str7274) %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 @.str7275, 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 @.str7276) %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 @.str7277, 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 @.str7278) %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 @.str7279, 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 @.str7280) %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 @.str7281, 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 @.str7282) %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 @.str7283, 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 @.str7284) %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 @.str7285, 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 @.str7286) %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 @.str7287, 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 @.str7288) %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 @.str7289, 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 @.str7290) %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 @.str7291, 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 @.str7292) %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 @.str7293) %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 @.str7294) br label %ifend184 ifend184: %t354 = call ptr @fn_val(ptr @.str7295, ptr @.str7296) store ptr %t354, ptr %retval br label %ret ifend181: %t355 = load ptr, ptr %t1 %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str7297) %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 @.str7298, ptr %t363) %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str7299) call void @fn_emit(ptr %t365) br label %ifend190 ifend190: %t366 = call ptr @fn_val(ptr @.str7300, ptr @.str7301) store ptr %t366, ptr %retval br label %ret ifend187: %t367 = load ptr, ptr %t1 %t368 = call ptr @lp_str_concat(ptr @.str7302, ptr %t367) call void @fn_perr(ptr %t368) br label %ifend178 ifend178: %t369 = load ptr, ptr %t0 %t370 = call i32 @lp_str_eq(ptr %t369, ptr @.str7303) %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then191, label %ifend193 then191: %t372 = load ptr, ptr %t1 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str7304) %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then194, label %ifend196 then194: %t375 = call ptr @fn_itoa(i32 1024) %t376 = call ptr @fn_val(ptr %t375, ptr @.str7305) store ptr %t376, ptr %retval br label %ret ifend196: %t377 = load ptr, ptr %t1 %t378 = call i32 @lp_str_eq(ptr %t377, ptr @.str7306) %t379 = icmp ne i32 %t378, 0 br i1 %t379, label %then197, label %ifend199 then197: %t380 = call ptr @fn_emit_bind(ptr @.str7307) %t381 = call ptr @fn_val(ptr %t380, ptr @.str7308) store ptr %t381, ptr %retval br label %ret ifend199: %t382 = load ptr, ptr %t1 %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str7309) %t384 = icmp ne i32 %t383, 0 br i1 %t384, label %then200, label %ifend202 then200: %t385 = call ptr @fn_emit_bind(ptr @.str7310) %t386 = call ptr @fn_val(ptr %t385, ptr @.str7311) store ptr %t386, ptr %retval br label %ret ifend202: %t387 = load ptr, ptr %t1 %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str7312) %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then203, label %ifend205 then203: %t390 = call ptr @fn_emit_bind(ptr @.str7313) store ptr %t390, ptr %t391 %t392 = call ptr @fn_emit_bind(ptr @.str7314) store ptr %t392, ptr %t393 %t394 = load ptr, ptr %t391 %t395 = call ptr @lp_str_concat(ptr @.str7315, ptr %t394) %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str7316) %t397 = load ptr, ptr %t393 %t398 = call ptr @lp_str_concat(ptr %t396, ptr %t397) %t399 = call ptr @fn_emit_bind(ptr %t398) %t400 = call ptr @fn_val(ptr %t399, ptr @.str7317) store ptr %t400, ptr %retval br label %ret ifend205: %t401 = load ptr, ptr %t1 %t402 = call ptr @lp_str_concat(ptr @.str7318, ptr %t401) call void @fn_perr(ptr %t402) br label %ifend193 ifend193: store ptr null, ptr %t403 %t404 = getelementptr %LSlice, ptr null, i32 1 %t405 = ptrtoint ptr %t404 to i64 %t406 = call ptr @malloc(i64 %t405) %t407 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 0 store ptr null, ptr %t407 %t408 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 1 store i32 0, ptr %t408 %t409 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 2 store i32 0, ptr %t409 store ptr %t406, ptr %t410 %t411 = load ptr, ptr %t0 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str7319) %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then206, label %ifend208 then206: %t414 = load ptr, ptr %t1 %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str7320) %t416 = icmp ne i32 %t415, 0 br i1 %t416, label %then209, label %ifend211 then209: store ptr @.str7321, ptr %t403 %t417 = load ptr, ptr %t410 %t418 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 1 %t419 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 2 %t420 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 0 %t421 = load i32, ptr %t418 %t422 = load i32, ptr %t419 %t423 = icmp sge i32 %t421, %t422 br i1 %t423, label %grow212, label %put213 grow212: %t424 = mul i32 %t422, 2 %t425 = icmp eq i32 %t422, 0 %t426 = select i1 %t425, i32 8, i32 %t424 %t427 = getelementptr ptr, ptr null, i32 1 %t428 = ptrtoint ptr %t427 to i64 %t429 = zext i32 %t426 to i64 %t430 = mul i64 %t429, %t428 %t431 = load ptr, ptr %t420 %t432 = call ptr @realloc(ptr %t431, i64 %t430) store ptr %t432, ptr %t420 store i32 %t426, ptr %t419 br label %put213 put213: %t433 = load ptr, ptr %t420 %t434 = getelementptr inbounds ptr, ptr %t433, i32 %t421 store ptr @.str7322, ptr %t434 %t435 = add i32 %t421, 1 store i32 %t435, ptr %t418 br label %ifend211 ifend211: %t436 = load ptr, ptr %t1 %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str7323) %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then214, label %ifend216 then214: store ptr @.str7324, ptr %t403 %t439 = load ptr, ptr %t410 %t440 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 1 %t441 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 2 %t442 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 0 %t443 = load i32, ptr %t440 %t444 = load i32, ptr %t441 %t445 = icmp sge i32 %t443, %t444 br i1 %t445, label %grow217, label %put218 grow217: %t446 = mul i32 %t444, 2 %t447 = icmp eq i32 %t444, 0 %t448 = select i1 %t447, i32 8, i32 %t446 %t449 = getelementptr ptr, ptr null, i32 1 %t450 = ptrtoint ptr %t449 to i64 %t451 = zext i32 %t448 to i64 %t452 = mul i64 %t451, %t450 %t453 = load ptr, ptr %t442 %t454 = call ptr @realloc(ptr %t453, i64 %t452) store ptr %t454, ptr %t442 store i32 %t448, ptr %t441 br label %put218 put218: %t455 = load ptr, ptr %t442 %t456 = getelementptr inbounds ptr, ptr %t455, i32 %t443 store ptr @.str7325, ptr %t456 %t457 = add i32 %t443, 1 store i32 %t457, ptr %t440 %t458 = load ptr, ptr %t410 %t459 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 %t460 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 2 %t461 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 0 %t462 = load i32, ptr %t459 %t463 = load i32, ptr %t460 %t464 = icmp sge i32 %t462, %t463 br i1 %t464, label %grow219, label %put220 grow219: %t465 = mul i32 %t463, 2 %t466 = icmp eq i32 %t463, 0 %t467 = select i1 %t466, i32 8, i32 %t465 %t468 = getelementptr ptr, ptr null, i32 1 %t469 = ptrtoint ptr %t468 to i64 %t470 = zext i32 %t467 to i64 %t471 = mul i64 %t470, %t469 %t472 = load ptr, ptr %t461 %t473 = call ptr @realloc(ptr %t472, i64 %t471) store ptr %t473, ptr %t461 store i32 %t467, ptr %t460 br label %put220 put220: %t474 = load ptr, ptr %t461 %t475 = getelementptr inbounds ptr, ptr %t474, i32 %t462 store ptr @.str7326, ptr %t475 %t476 = add i32 %t462, 1 store i32 %t476, ptr %t459 %t477 = load ptr, ptr %t410 %t478 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 1 %t479 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 2 %t480 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 0 %t481 = load i32, ptr %t478 %t482 = load i32, ptr %t479 %t483 = icmp sge i32 %t481, %t482 br i1 %t483, label %grow221, label %put222 grow221: %t484 = mul i32 %t482, 2 %t485 = icmp eq i32 %t482, 0 %t486 = select i1 %t485, i32 8, i32 %t484 %t487 = getelementptr ptr, ptr null, i32 1 %t488 = ptrtoint ptr %t487 to i64 %t489 = zext i32 %t486 to i64 %t490 = mul i64 %t489, %t488 %t491 = load ptr, ptr %t480 %t492 = call ptr @realloc(ptr %t491, i64 %t490) store ptr %t492, ptr %t480 store i32 %t486, ptr %t479 br label %put222 put222: %t493 = load ptr, ptr %t480 %t494 = getelementptr inbounds ptr, ptr %t493, i32 %t481 store ptr @.str7327, ptr %t494 %t495 = add i32 %t481, 1 store i32 %t495, ptr %t478 %t496 = load ptr, ptr %t410 %t497 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 1 %t498 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 2 %t499 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 0 %t500 = load i32, ptr %t497 %t501 = load i32, ptr %t498 %t502 = icmp sge i32 %t500, %t501 br i1 %t502, label %grow223, label %put224 grow223: %t503 = mul i32 %t501, 2 %t504 = icmp eq i32 %t501, 0 %t505 = select i1 %t504, i32 8, i32 %t503 %t506 = getelementptr ptr, ptr null, i32 1 %t507 = ptrtoint ptr %t506 to i64 %t508 = zext i32 %t505 to i64 %t509 = mul i64 %t508, %t507 %t510 = load ptr, ptr %t499 %t511 = call ptr @realloc(ptr %t510, i64 %t509) store ptr %t511, ptr %t499 store i32 %t505, ptr %t498 br label %put224 put224: %t512 = load ptr, ptr %t499 %t513 = getelementptr inbounds ptr, ptr %t512, i32 %t500 store ptr @.str7328, ptr %t513 %t514 = add i32 %t500, 1 store i32 %t514, ptr %t497 %t515 = load ptr, ptr %t410 %t516 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 1 %t517 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 2 %t518 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 0 %t519 = load i32, ptr %t516 %t520 = load i32, ptr %t517 %t521 = icmp sge i32 %t519, %t520 br i1 %t521, label %grow225, label %put226 grow225: %t522 = mul i32 %t520, 2 %t523 = icmp eq i32 %t520, 0 %t524 = select i1 %t523, i32 8, i32 %t522 %t525 = getelementptr ptr, ptr null, i32 1 %t526 = ptrtoint ptr %t525 to i64 %t527 = zext i32 %t524 to i64 %t528 = mul i64 %t527, %t526 %t529 = load ptr, ptr %t518 %t530 = call ptr @realloc(ptr %t529, i64 %t528) store ptr %t530, ptr %t518 store i32 %t524, ptr %t517 br label %put226 put226: %t531 = load ptr, ptr %t518 %t532 = getelementptr inbounds ptr, ptr %t531, i32 %t519 store ptr @.str7329, ptr %t532 %t533 = add i32 %t519, 1 store i32 %t533, ptr %t516 br label %ifend216 ifend216: %t534 = load ptr, ptr %t1 %t535 = call i32 @lp_str_eq(ptr %t534, ptr @.str7330) %t536 = icmp ne i32 %t535, 0 br i1 %t536, label %then227, label %ifend229 then227: store ptr @.str7331, ptr %t403 %t537 = load ptr, ptr %t410 %t538 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 1 %t539 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 2 %t540 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 0 %t541 = load i32, ptr %t538 %t542 = load i32, ptr %t539 %t543 = icmp sge i32 %t541, %t542 br i1 %t543, label %grow230, label %put231 grow230: %t544 = mul i32 %t542, 2 %t545 = icmp eq i32 %t542, 0 %t546 = select i1 %t545, i32 8, i32 %t544 %t547 = getelementptr ptr, ptr null, i32 1 %t548 = ptrtoint ptr %t547 to i64 %t549 = zext i32 %t546 to i64 %t550 = mul i64 %t549, %t548 %t551 = load ptr, ptr %t540 %t552 = call ptr @realloc(ptr %t551, i64 %t550) store ptr %t552, ptr %t540 store i32 %t546, ptr %t539 br label %put231 put231: %t553 = load ptr, ptr %t540 %t554 = getelementptr inbounds ptr, ptr %t553, i32 %t541 store ptr @.str7332, ptr %t554 %t555 = add i32 %t541, 1 store i32 %t555, ptr %t538 %t556 = load ptr, ptr %t410 %t557 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 1 %t558 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 2 %t559 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 0 %t560 = load i32, ptr %t557 %t561 = load i32, ptr %t558 %t562 = icmp sge i32 %t560, %t561 br i1 %t562, label %grow232, label %put233 grow232: %t563 = mul i32 %t561, 2 %t564 = icmp eq i32 %t561, 0 %t565 = select i1 %t564, i32 8, i32 %t563 %t566 = getelementptr ptr, ptr null, i32 1 %t567 = ptrtoint ptr %t566 to i64 %t568 = zext i32 %t565 to i64 %t569 = mul i64 %t568, %t567 %t570 = load ptr, ptr %t559 %t571 = call ptr @realloc(ptr %t570, i64 %t569) store ptr %t571, ptr %t559 store i32 %t565, ptr %t558 br label %put233 put233: %t572 = load ptr, ptr %t559 %t573 = getelementptr inbounds ptr, ptr %t572, i32 %t560 store ptr @.str7333, ptr %t573 %t574 = add i32 %t560, 1 store i32 %t574, ptr %t557 %t575 = load ptr, ptr %t410 %t576 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 1 %t577 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 2 %t578 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 0 %t579 = load i32, ptr %t576 %t580 = load i32, ptr %t577 %t581 = icmp sge i32 %t579, %t580 br i1 %t581, label %grow234, label %put235 grow234: %t582 = mul i32 %t580, 2 %t583 = icmp eq i32 %t580, 0 %t584 = select i1 %t583, i32 8, i32 %t582 %t585 = getelementptr ptr, ptr null, i32 1 %t586 = ptrtoint ptr %t585 to i64 %t587 = zext i32 %t584 to i64 %t588 = mul i64 %t587, %t586 %t589 = load ptr, ptr %t578 %t590 = call ptr @realloc(ptr %t589, i64 %t588) store ptr %t590, ptr %t578 store i32 %t584, ptr %t577 br label %put235 put235: %t591 = load ptr, ptr %t578 %t592 = getelementptr inbounds ptr, ptr %t591, i32 %t579 store ptr @.str7334, ptr %t592 %t593 = add i32 %t579, 1 store i32 %t593, ptr %t576 %t594 = load ptr, ptr %t410 %t595 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 1 %t596 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 2 %t597 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 0 %t598 = load i32, ptr %t595 %t599 = load i32, ptr %t596 %t600 = icmp sge i32 %t598, %t599 br i1 %t600, label %grow236, label %put237 grow236: %t601 = mul i32 %t599, 2 %t602 = icmp eq i32 %t599, 0 %t603 = select i1 %t602, i32 8, i32 %t601 %t604 = getelementptr ptr, ptr null, i32 1 %t605 = ptrtoint ptr %t604 to i64 %t606 = zext i32 %t603 to i64 %t607 = mul i64 %t606, %t605 %t608 = load ptr, ptr %t597 %t609 = call ptr @realloc(ptr %t608, i64 %t607) store ptr %t609, ptr %t597 store i32 %t603, ptr %t596 br label %put237 put237: %t610 = load ptr, ptr %t597 %t611 = getelementptr inbounds ptr, ptr %t610, i32 %t598 store ptr @.str7335, ptr %t611 %t612 = add i32 %t598, 1 store i32 %t612, ptr %t595 %t613 = load ptr, ptr %t410 %t614 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 1 %t615 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 2 %t616 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 0 %t617 = load i32, ptr %t614 %t618 = load i32, ptr %t615 %t619 = icmp sge i32 %t617, %t618 br i1 %t619, label %grow238, label %put239 grow238: %t620 = mul i32 %t618, 2 %t621 = icmp eq i32 %t618, 0 %t622 = select i1 %t621, i32 8, i32 %t620 %t623 = getelementptr ptr, ptr null, i32 1 %t624 = ptrtoint ptr %t623 to i64 %t625 = zext i32 %t622 to i64 %t626 = mul i64 %t625, %t624 %t627 = load ptr, ptr %t616 %t628 = call ptr @realloc(ptr %t627, i64 %t626) store ptr %t628, ptr %t616 store i32 %t622, ptr %t615 br label %put239 put239: %t629 = load ptr, ptr %t616 %t630 = getelementptr inbounds ptr, ptr %t629, i32 %t617 store ptr @.str7336, ptr %t630 %t631 = add i32 %t617, 1 store i32 %t631, ptr %t614 %t632 = load ptr, ptr %t410 %t633 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 1 %t634 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 2 %t635 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 0 %t636 = load i32, ptr %t633 %t637 = load i32, ptr %t634 %t638 = icmp sge i32 %t636, %t637 br i1 %t638, label %grow240, label %put241 grow240: %t639 = mul i32 %t637, 2 %t640 = icmp eq i32 %t637, 0 %t641 = select i1 %t640, i32 8, i32 %t639 %t642 = getelementptr ptr, ptr null, i32 1 %t643 = ptrtoint ptr %t642 to i64 %t644 = zext i32 %t641 to i64 %t645 = mul i64 %t644, %t643 %t646 = load ptr, ptr %t635 %t647 = call ptr @realloc(ptr %t646, i64 %t645) store ptr %t647, ptr %t635 store i32 %t641, ptr %t634 br label %put241 put241: %t648 = load ptr, ptr %t635 %t649 = getelementptr inbounds ptr, ptr %t648, i32 %t636 store ptr @.str7337, ptr %t649 %t650 = add i32 %t636, 1 store i32 %t650, ptr %t633 %t651 = load ptr, ptr %t410 %t652 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 1 %t653 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 2 %t654 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 0 %t655 = load i32, ptr %t652 %t656 = load i32, ptr %t653 %t657 = icmp sge i32 %t655, %t656 br i1 %t657, label %grow242, label %put243 grow242: %t658 = mul i32 %t656, 2 %t659 = icmp eq i32 %t656, 0 %t660 = select i1 %t659, i32 8, i32 %t658 %t661 = getelementptr ptr, ptr null, i32 1 %t662 = ptrtoint ptr %t661 to i64 %t663 = zext i32 %t660 to i64 %t664 = mul i64 %t663, %t662 %t665 = load ptr, ptr %t654 %t666 = call ptr @realloc(ptr %t665, i64 %t664) store ptr %t666, ptr %t654 store i32 %t660, ptr %t653 br label %put243 put243: %t667 = load ptr, ptr %t654 %t668 = getelementptr inbounds ptr, ptr %t667, i32 %t655 store ptr @.str7338, ptr %t668 %t669 = add i32 %t655, 1 store i32 %t669, ptr %t652 %t670 = load ptr, ptr %t410 %t671 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 1 %t672 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 2 %t673 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 0 %t674 = load i32, ptr %t671 %t675 = load i32, ptr %t672 %t676 = icmp sge i32 %t674, %t675 br i1 %t676, label %grow244, label %put245 grow244: %t677 = mul i32 %t675, 2 %t678 = icmp eq i32 %t675, 0 %t679 = select i1 %t678, i32 8, i32 %t677 %t680 = getelementptr ptr, ptr null, i32 1 %t681 = ptrtoint ptr %t680 to i64 %t682 = zext i32 %t679 to i64 %t683 = mul i64 %t682, %t681 %t684 = load ptr, ptr %t673 %t685 = call ptr @realloc(ptr %t684, i64 %t683) store ptr %t685, ptr %t673 store i32 %t679, ptr %t672 br label %put245 put245: %t686 = load ptr, ptr %t673 %t687 = getelementptr inbounds ptr, ptr %t686, i32 %t674 store ptr @.str7339, ptr %t687 %t688 = add i32 %t674, 1 store i32 %t688, ptr %t671 br label %ifend229 ifend229: %t689 = load ptr, ptr %t1 %t690 = call i32 @lp_str_eq(ptr %t689, ptr @.str7340) %t691 = icmp ne i32 %t690, 0 br i1 %t691, label %then246, label %ifend248 then246: store ptr @.str7341, ptr %t403 %t692 = load ptr, ptr %t410 %t693 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 1 %t694 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 2 %t695 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 0 %t696 = load i32, ptr %t693 %t697 = load i32, ptr %t694 %t698 = icmp sge i32 %t696, %t697 br i1 %t698, label %grow249, label %put250 grow249: %t699 = mul i32 %t697, 2 %t700 = icmp eq i32 %t697, 0 %t701 = select i1 %t700, i32 8, i32 %t699 %t702 = getelementptr ptr, ptr null, i32 1 %t703 = ptrtoint ptr %t702 to i64 %t704 = zext i32 %t701 to i64 %t705 = mul i64 %t704, %t703 %t706 = load ptr, ptr %t695 %t707 = call ptr @realloc(ptr %t706, i64 %t705) store ptr %t707, ptr %t695 store i32 %t701, ptr %t694 br label %put250 put250: %t708 = load ptr, ptr %t695 %t709 = getelementptr inbounds ptr, ptr %t708, i32 %t696 store ptr @.str7342, ptr %t709 %t710 = add i32 %t696, 1 store i32 %t710, ptr %t693 %t711 = load ptr, ptr %t410 %t712 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 1 %t713 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 2 %t714 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 0 %t715 = load i32, ptr %t712 %t716 = load i32, ptr %t713 %t717 = icmp sge i32 %t715, %t716 br i1 %t717, label %grow251, label %put252 grow251: %t718 = mul i32 %t716, 2 %t719 = icmp eq i32 %t716, 0 %t720 = select i1 %t719, i32 8, i32 %t718 %t721 = getelementptr ptr, ptr null, i32 1 %t722 = ptrtoint ptr %t721 to i64 %t723 = zext i32 %t720 to i64 %t724 = mul i64 %t723, %t722 %t725 = load ptr, ptr %t714 %t726 = call ptr @realloc(ptr %t725, i64 %t724) store ptr %t726, ptr %t714 store i32 %t720, ptr %t713 br label %put252 put252: %t727 = load ptr, ptr %t714 %t728 = getelementptr inbounds ptr, ptr %t727, i32 %t715 store ptr @.str7343, ptr %t728 %t729 = add i32 %t715, 1 store i32 %t729, ptr %t712 %t730 = load ptr, ptr %t410 %t731 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 1 %t732 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 2 %t733 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 0 %t734 = load i32, ptr %t731 %t735 = load i32, ptr %t732 %t736 = icmp sge i32 %t734, %t735 br i1 %t736, label %grow253, label %put254 grow253: %t737 = mul i32 %t735, 2 %t738 = icmp eq i32 %t735, 0 %t739 = select i1 %t738, i32 8, i32 %t737 %t740 = getelementptr ptr, ptr null, i32 1 %t741 = ptrtoint ptr %t740 to i64 %t742 = zext i32 %t739 to i64 %t743 = mul i64 %t742, %t741 %t744 = load ptr, ptr %t733 %t745 = call ptr @realloc(ptr %t744, i64 %t743) store ptr %t745, ptr %t733 store i32 %t739, ptr %t732 br label %put254 put254: %t746 = load ptr, ptr %t733 %t747 = getelementptr inbounds ptr, ptr %t746, i32 %t734 store ptr @.str7344, ptr %t747 %t748 = add i32 %t734, 1 store i32 %t748, ptr %t731 %t749 = load ptr, ptr %t410 %t750 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 1 %t751 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 2 %t752 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 0 %t753 = load i32, ptr %t750 %t754 = load i32, ptr %t751 %t755 = icmp sge i32 %t753, %t754 br i1 %t755, label %grow255, label %put256 grow255: %t756 = mul i32 %t754, 2 %t757 = icmp eq i32 %t754, 0 %t758 = select i1 %t757, i32 8, i32 %t756 %t759 = getelementptr ptr, ptr null, i32 1 %t760 = ptrtoint ptr %t759 to i64 %t761 = zext i32 %t758 to i64 %t762 = mul i64 %t761, %t760 %t763 = load ptr, ptr %t752 %t764 = call ptr @realloc(ptr %t763, i64 %t762) store ptr %t764, ptr %t752 store i32 %t758, ptr %t751 br label %put256 put256: %t765 = load ptr, ptr %t752 %t766 = getelementptr inbounds ptr, ptr %t765, i32 %t753 store ptr @.str7345, ptr %t766 %t767 = add i32 %t753, 1 store i32 %t767, ptr %t750 %t768 = load ptr, ptr %t410 %t769 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 1 %t770 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 2 %t771 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 0 %t772 = load i32, ptr %t769 %t773 = load i32, ptr %t770 %t774 = icmp sge i32 %t772, %t773 br i1 %t774, label %grow257, label %put258 grow257: %t775 = mul i32 %t773, 2 %t776 = icmp eq i32 %t773, 0 %t777 = select i1 %t776, i32 8, i32 %t775 %t778 = getelementptr ptr, ptr null, i32 1 %t779 = ptrtoint ptr %t778 to i64 %t780 = zext i32 %t777 to i64 %t781 = mul i64 %t780, %t779 %t782 = load ptr, ptr %t771 %t783 = call ptr @realloc(ptr %t782, i64 %t781) store ptr %t783, ptr %t771 store i32 %t777, ptr %t770 br label %put258 put258: %t784 = load ptr, ptr %t771 %t785 = getelementptr inbounds ptr, ptr %t784, i32 %t772 store ptr @.str7346, ptr %t785 %t786 = add i32 %t772, 1 store i32 %t786, ptr %t769 br label %ifend248 ifend248: %t787 = load ptr, ptr %t1 %t788 = call i32 @lp_str_eq(ptr %t787, ptr @.str7347) %t789 = icmp ne i32 %t788, 0 br i1 %t789, label %then259, label %ifend261 then259: store ptr @.str7348, ptr %t403 %t790 = load ptr, ptr %t410 %t791 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 1 %t792 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 2 %t793 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 0 %t794 = load i32, ptr %t791 %t795 = load i32, ptr %t792 %t796 = icmp sge i32 %t794, %t795 br i1 %t796, label %grow262, label %put263 grow262: %t797 = mul i32 %t795, 2 %t798 = icmp eq i32 %t795, 0 %t799 = select i1 %t798, i32 8, i32 %t797 %t800 = getelementptr ptr, ptr null, i32 1 %t801 = ptrtoint ptr %t800 to i64 %t802 = zext i32 %t799 to i64 %t803 = mul i64 %t802, %t801 %t804 = load ptr, ptr %t793 %t805 = call ptr @realloc(ptr %t804, i64 %t803) store ptr %t805, ptr %t793 store i32 %t799, ptr %t792 br label %put263 put263: %t806 = load ptr, ptr %t793 %t807 = getelementptr inbounds ptr, ptr %t806, i32 %t794 store ptr @.str7349, ptr %t807 %t808 = add i32 %t794, 1 store i32 %t808, ptr %t791 %t809 = load ptr, ptr %t410 %t810 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 1 %t811 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 2 %t812 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 0 %t813 = load i32, ptr %t810 %t814 = load i32, ptr %t811 %t815 = icmp sge i32 %t813, %t814 br i1 %t815, label %grow264, label %put265 grow264: %t816 = mul i32 %t814, 2 %t817 = icmp eq i32 %t814, 0 %t818 = select i1 %t817, i32 8, i32 %t816 %t819 = getelementptr ptr, ptr null, i32 1 %t820 = ptrtoint ptr %t819 to i64 %t821 = zext i32 %t818 to i64 %t822 = mul i64 %t821, %t820 %t823 = load ptr, ptr %t812 %t824 = call ptr @realloc(ptr %t823, i64 %t822) store ptr %t824, ptr %t812 store i32 %t818, ptr %t811 br label %put265 put265: %t825 = load ptr, ptr %t812 %t826 = getelementptr inbounds ptr, ptr %t825, i32 %t813 store ptr @.str7350, ptr %t826 %t827 = add i32 %t813, 1 store i32 %t827, ptr %t810 %t828 = load ptr, ptr %t410 %t829 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 1 %t830 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 2 %t831 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 0 %t832 = load i32, ptr %t829 %t833 = load i32, ptr %t830 %t834 = icmp sge i32 %t832, %t833 br i1 %t834, label %grow266, label %put267 grow266: %t835 = mul i32 %t833, 2 %t836 = icmp eq i32 %t833, 0 %t837 = select i1 %t836, i32 8, i32 %t835 %t838 = getelementptr ptr, ptr null, i32 1 %t839 = ptrtoint ptr %t838 to i64 %t840 = zext i32 %t837 to i64 %t841 = mul i64 %t840, %t839 %t842 = load ptr, ptr %t831 %t843 = call ptr @realloc(ptr %t842, i64 %t841) store ptr %t843, ptr %t831 store i32 %t837, ptr %t830 br label %put267 put267: %t844 = load ptr, ptr %t831 %t845 = getelementptr inbounds ptr, ptr %t844, i32 %t832 store ptr @.str7351, ptr %t845 %t846 = add i32 %t832, 1 store i32 %t846, ptr %t829 br label %ifend261 ifend261: %t847 = load ptr, ptr %t1 %t848 = call i32 @lp_str_eq(ptr %t847, ptr @.str7352) %t849 = icmp ne i32 %t848, 0 br i1 %t849, label %then268, label %ifend270 then268: store ptr @.str7353, ptr %t403 %t850 = load ptr, ptr %t410 %t851 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 1 %t852 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 2 %t853 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 0 %t854 = load i32, ptr %t851 %t855 = load i32, ptr %t852 %t856 = icmp sge i32 %t854, %t855 br i1 %t856, label %grow271, label %put272 grow271: %t857 = mul i32 %t855, 2 %t858 = icmp eq i32 %t855, 0 %t859 = select i1 %t858, i32 8, i32 %t857 %t860 = getelementptr ptr, ptr null, i32 1 %t861 = ptrtoint ptr %t860 to i64 %t862 = zext i32 %t859 to i64 %t863 = mul i64 %t862, %t861 %t864 = load ptr, ptr %t853 %t865 = call ptr @realloc(ptr %t864, i64 %t863) store ptr %t865, ptr %t853 store i32 %t859, ptr %t852 br label %put272 put272: %t866 = load ptr, ptr %t853 %t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854 store ptr @.str7354, ptr %t867 %t868 = add i32 %t854, 1 store i32 %t868, ptr %t851 %t869 = load ptr, ptr %t410 %t870 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 1 %t871 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 2 %t872 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 0 %t873 = load i32, ptr %t870 %t874 = load i32, ptr %t871 %t875 = icmp sge i32 %t873, %t874 br i1 %t875, label %grow273, label %put274 grow273: %t876 = mul i32 %t874, 2 %t877 = icmp eq i32 %t874, 0 %t878 = select i1 %t877, i32 8, i32 %t876 %t879 = getelementptr ptr, ptr null, i32 1 %t880 = ptrtoint ptr %t879 to i64 %t881 = zext i32 %t878 to i64 %t882 = mul i64 %t881, %t880 %t883 = load ptr, ptr %t872 %t884 = call ptr @realloc(ptr %t883, i64 %t882) store ptr %t884, ptr %t872 store i32 %t878, ptr %t871 br label %put274 put274: %t885 = load ptr, ptr %t872 %t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873 store ptr @.str7355, ptr %t886 %t887 = add i32 %t873, 1 store i32 %t887, ptr %t870 %t888 = load ptr, ptr %t410 %t889 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 1 %t890 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 2 %t891 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 0 %t892 = load i32, ptr %t889 %t893 = load i32, ptr %t890 %t894 = icmp sge i32 %t892, %t893 br i1 %t894, label %grow275, label %put276 grow275: %t895 = mul i32 %t893, 2 %t896 = icmp eq i32 %t893, 0 %t897 = select i1 %t896, i32 8, i32 %t895 %t898 = getelementptr ptr, ptr null, i32 1 %t899 = ptrtoint ptr %t898 to i64 %t900 = zext i32 %t897 to i64 %t901 = mul i64 %t900, %t899 %t902 = load ptr, ptr %t891 %t903 = call ptr @realloc(ptr %t902, i64 %t901) store ptr %t903, ptr %t891 store i32 %t897, ptr %t890 br label %put276 put276: %t904 = load ptr, ptr %t891 %t905 = getelementptr inbounds ptr, ptr %t904, i32 %t892 store ptr @.str7356, ptr %t905 %t906 = add i32 %t892, 1 store i32 %t906, ptr %t889 %t907 = load ptr, ptr %t410 %t908 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 1 %t909 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 2 %t910 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 0 %t911 = load i32, ptr %t908 %t912 = load i32, ptr %t909 %t913 = icmp sge i32 %t911, %t912 br i1 %t913, label %grow277, label %put278 grow277: %t914 = mul i32 %t912, 2 %t915 = icmp eq i32 %t912, 0 %t916 = select i1 %t915, i32 8, i32 %t914 %t917 = getelementptr ptr, ptr null, i32 1 %t918 = ptrtoint ptr %t917 to i64 %t919 = zext i32 %t916 to i64 %t920 = mul i64 %t919, %t918 %t921 = load ptr, ptr %t910 %t922 = call ptr @realloc(ptr %t921, i64 %t920) store ptr %t922, ptr %t910 store i32 %t916, ptr %t909 br label %put278 put278: %t923 = load ptr, ptr %t910 %t924 = getelementptr inbounds ptr, ptr %t923, i32 %t911 store ptr @.str7357, ptr %t924 %t925 = add i32 %t911, 1 store i32 %t925, ptr %t908 %t926 = load ptr, ptr %t410 %t927 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 1 %t928 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 2 %t929 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 0 %t930 = load i32, ptr %t927 %t931 = load i32, ptr %t928 %t932 = icmp sge i32 %t930, %t931 br i1 %t932, label %grow279, label %put280 grow279: %t933 = mul i32 %t931, 2 %t934 = icmp eq i32 %t931, 0 %t935 = select i1 %t934, i32 8, i32 %t933 %t936 = getelementptr ptr, ptr null, i32 1 %t937 = ptrtoint ptr %t936 to i64 %t938 = zext i32 %t935 to i64 %t939 = mul i64 %t938, %t937 %t940 = load ptr, ptr %t929 %t941 = call ptr @realloc(ptr %t940, i64 %t939) store ptr %t941, ptr %t929 store i32 %t935, ptr %t928 br label %put280 put280: %t942 = load ptr, ptr %t929 %t943 = getelementptr inbounds ptr, ptr %t942, i32 %t930 store ptr @.str7358, ptr %t943 %t944 = add i32 %t930, 1 store i32 %t944, ptr %t927 br label %ifend270 ifend270: %t945 = load ptr, ptr %t1 %t946 = call i32 @lp_str_eq(ptr %t945, ptr @.str7359) %t947 = icmp ne i32 %t946, 0 br i1 %t947, label %then281, label %ifend283 then281: store ptr @.str7360, ptr %t403 %t948 = load ptr, ptr %t410 %t949 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1 %t950 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2 %t951 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0 %t952 = load i32, ptr %t949 %t953 = load i32, ptr %t950 %t954 = icmp sge i32 %t952, %t953 br i1 %t954, label %grow284, label %put285 grow284: %t955 = mul i32 %t953, 2 %t956 = icmp eq i32 %t953, 0 %t957 = select i1 %t956, i32 8, i32 %t955 %t958 = getelementptr ptr, ptr null, i32 1 %t959 = ptrtoint ptr %t958 to i64 %t960 = zext i32 %t957 to i64 %t961 = mul i64 %t960, %t959 %t962 = load ptr, ptr %t951 %t963 = call ptr @realloc(ptr %t962, i64 %t961) store ptr %t963, ptr %t951 store i32 %t957, ptr %t950 br label %put285 put285: %t964 = load ptr, ptr %t951 %t965 = getelementptr inbounds ptr, ptr %t964, i32 %t952 store ptr @.str7361, ptr %t965 %t966 = add i32 %t952, 1 store i32 %t966, ptr %t949 %t967 = load ptr, ptr %t410 %t968 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 1 %t969 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 2 %t970 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 0 %t971 = load i32, ptr %t968 %t972 = load i32, ptr %t969 %t973 = icmp sge i32 %t971, %t972 br i1 %t973, label %grow286, label %put287 grow286: %t974 = mul i32 %t972, 2 %t975 = icmp eq i32 %t972, 0 %t976 = select i1 %t975, i32 8, i32 %t974 %t977 = getelementptr ptr, ptr null, i32 1 %t978 = ptrtoint ptr %t977 to i64 %t979 = zext i32 %t976 to i64 %t980 = mul i64 %t979, %t978 %t981 = load ptr, ptr %t970 %t982 = call ptr @realloc(ptr %t981, i64 %t980) store ptr %t982, ptr %t970 store i32 %t976, ptr %t969 br label %put287 put287: %t983 = load ptr, ptr %t970 %t984 = getelementptr inbounds ptr, ptr %t983, i32 %t971 store ptr @.str7362, ptr %t984 %t985 = add i32 %t971, 1 store i32 %t985, ptr %t968 %t986 = load ptr, ptr %t410 %t987 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 1 %t988 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 2 %t989 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 0 %t990 = load i32, ptr %t987 %t991 = load i32, ptr %t988 %t992 = icmp sge i32 %t990, %t991 br i1 %t992, label %grow288, label %put289 grow288: %t993 = mul i32 %t991, 2 %t994 = icmp eq i32 %t991, 0 %t995 = select i1 %t994, i32 8, i32 %t993 %t996 = getelementptr ptr, ptr null, i32 1 %t997 = ptrtoint ptr %t996 to i64 %t998 = zext i32 %t995 to i64 %t999 = mul i64 %t998, %t997 %t1000 = load ptr, ptr %t989 %t1001 = call ptr @realloc(ptr %t1000, i64 %t999) store ptr %t1001, ptr %t989 store i32 %t995, ptr %t988 br label %put289 put289: %t1002 = load ptr, ptr %t989 %t1003 = getelementptr inbounds ptr, ptr %t1002, i32 %t990 store ptr @.str7363, ptr %t1003 %t1004 = add i32 %t990, 1 store i32 %t1004, ptr %t987 %t1005 = load ptr, ptr %t410 %t1006 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 1 %t1007 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 2 %t1008 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 0 %t1009 = load i32, ptr %t1006 %t1010 = load i32, ptr %t1007 %t1011 = icmp sge i32 %t1009, %t1010 br i1 %t1011, label %grow290, label %put291 grow290: %t1012 = mul i32 %t1010, 2 %t1013 = icmp eq i32 %t1010, 0 %t1014 = select i1 %t1013, i32 8, i32 %t1012 %t1015 = getelementptr ptr, ptr null, i32 1 %t1016 = ptrtoint ptr %t1015 to i64 %t1017 = zext i32 %t1014 to i64 %t1018 = mul i64 %t1017, %t1016 %t1019 = load ptr, ptr %t1008 %t1020 = call ptr @realloc(ptr %t1019, i64 %t1018) store ptr %t1020, ptr %t1008 store i32 %t1014, ptr %t1007 br label %put291 put291: %t1021 = load ptr, ptr %t1008 %t1022 = getelementptr inbounds ptr, ptr %t1021, i32 %t1009 store ptr @.str7364, ptr %t1022 %t1023 = add i32 %t1009, 1 store i32 %t1023, ptr %t1006 %t1024 = load ptr, ptr %t410 %t1025 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 1 %t1026 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 2 %t1027 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 0 %t1028 = load i32, ptr %t1025 %t1029 = load i32, ptr %t1026 %t1030 = icmp sge i32 %t1028, %t1029 br i1 %t1030, label %grow292, label %put293 grow292: %t1031 = mul i32 %t1029, 2 %t1032 = icmp eq i32 %t1029, 0 %t1033 = select i1 %t1032, i32 8, i32 %t1031 %t1034 = getelementptr ptr, ptr null, i32 1 %t1035 = ptrtoint ptr %t1034 to i64 %t1036 = zext i32 %t1033 to i64 %t1037 = mul i64 %t1036, %t1035 %t1038 = load ptr, ptr %t1027 %t1039 = call ptr @realloc(ptr %t1038, i64 %t1037) store ptr %t1039, ptr %t1027 store i32 %t1033, ptr %t1026 br label %put293 put293: %t1040 = load ptr, ptr %t1027 %t1041 = getelementptr inbounds ptr, ptr %t1040, i32 %t1028 store ptr @.str7365, ptr %t1041 %t1042 = add i32 %t1028, 1 store i32 %t1042, ptr %t1025 br label %ifend283 ifend283: %t1043 = load ptr, ptr %t1 %t1044 = call i32 @lp_str_eq(ptr %t1043, ptr @.str7366) %t1045 = icmp ne i32 %t1044, 0 br i1 %t1045, label %then294, label %ifend296 then294: store ptr @.str7367, ptr %t403 br label %ifend296 ifend296: %t1046 = load ptr, ptr %t1 %t1047 = call i32 @lp_str_eq(ptr %t1046, ptr @.str7368) %t1048 = icmp ne i32 %t1047, 0 br i1 %t1048, label %then297, label %ifend299 then297: store ptr @.str7369, ptr %t403 br label %ifend299 ifend299: %t1049 = load ptr, ptr %t1 %t1050 = call i32 @lp_str_eq(ptr %t1049, ptr @.str7370) %t1051 = icmp ne i32 %t1050, 0 br i1 %t1051, label %then300, label %ifend302 then300: store ptr @.str7371, ptr %t403 br label %ifend302 ifend302: %t1052 = load ptr, ptr %t1 %t1053 = call i32 @lp_str_eq(ptr %t1052, ptr @.str7372) %t1054 = icmp ne i32 %t1053, 0 br i1 %t1054, label %then303, label %ifend305 then303: store ptr @.str7373, ptr %t403 %t1055 = load ptr, ptr %t410 %t1056 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 1 %t1057 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 2 %t1058 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 0 %t1059 = load i32, ptr %t1056 %t1060 = load i32, ptr %t1057 %t1061 = icmp sge i32 %t1059, %t1060 br i1 %t1061, label %grow306, label %put307 grow306: %t1062 = mul i32 %t1060, 2 %t1063 = icmp eq i32 %t1060, 0 %t1064 = select i1 %t1063, i32 8, i32 %t1062 %t1065 = getelementptr ptr, ptr null, i32 1 %t1066 = ptrtoint ptr %t1065 to i64 %t1067 = zext i32 %t1064 to i64 %t1068 = mul i64 %t1067, %t1066 %t1069 = load ptr, ptr %t1058 %t1070 = call ptr @realloc(ptr %t1069, i64 %t1068) store ptr %t1070, ptr %t1058 store i32 %t1064, ptr %t1057 br label %put307 put307: %t1071 = load ptr, ptr %t1058 %t1072 = getelementptr inbounds ptr, ptr %t1071, i32 %t1059 store ptr @.str7374, ptr %t1072 %t1073 = add i32 %t1059, 1 store i32 %t1073, ptr %t1056 br label %ifend305 ifend305: %t1074 = load ptr, ptr %t1 %t1075 = call i32 @lp_str_eq(ptr %t1074, ptr @.str7375) %t1076 = icmp ne i32 %t1075, 0 br i1 %t1076, label %then308, label %ifend310 then308: store ptr @.str7376, ptr %t403 %t1077 = load ptr, ptr %t410 %t1078 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 1 %t1079 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 2 %t1080 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 0 %t1081 = load i32, ptr %t1078 %t1082 = load i32, ptr %t1079 %t1083 = icmp sge i32 %t1081, %t1082 br i1 %t1083, label %grow311, label %put312 grow311: %t1084 = mul i32 %t1082, 2 %t1085 = icmp eq i32 %t1082, 0 %t1086 = select i1 %t1085, i32 8, i32 %t1084 %t1087 = getelementptr ptr, ptr null, i32 1 %t1088 = ptrtoint ptr %t1087 to i64 %t1089 = zext i32 %t1086 to i64 %t1090 = mul i64 %t1089, %t1088 %t1091 = load ptr, ptr %t1080 %t1092 = call ptr @realloc(ptr %t1091, i64 %t1090) store ptr %t1092, ptr %t1080 store i32 %t1086, ptr %t1079 br label %put312 put312: %t1093 = load ptr, ptr %t1080 %t1094 = getelementptr inbounds ptr, ptr %t1093, i32 %t1081 store ptr @.str7377, ptr %t1094 %t1095 = add i32 %t1081, 1 store i32 %t1095, ptr %t1078 %t1096 = load ptr, ptr %t410 %t1097 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 1 %t1098 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 2 %t1099 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 0 %t1100 = load i32, ptr %t1097 %t1101 = load i32, ptr %t1098 %t1102 = icmp sge i32 %t1100, %t1101 br i1 %t1102, label %grow313, label %put314 grow313: %t1103 = mul i32 %t1101, 2 %t1104 = icmp eq i32 %t1101, 0 %t1105 = select i1 %t1104, i32 8, i32 %t1103 %t1106 = getelementptr ptr, ptr null, i32 1 %t1107 = ptrtoint ptr %t1106 to i64 %t1108 = zext i32 %t1105 to i64 %t1109 = mul i64 %t1108, %t1107 %t1110 = load ptr, ptr %t1099 %t1111 = call ptr @realloc(ptr %t1110, i64 %t1109) store ptr %t1111, ptr %t1099 store i32 %t1105, ptr %t1098 br label %put314 put314: %t1112 = load ptr, ptr %t1099 %t1113 = getelementptr inbounds ptr, ptr %t1112, i32 %t1100 store ptr @.str7378, ptr %t1113 %t1114 = add i32 %t1100, 1 store i32 %t1114, ptr %t1097 %t1115 = load ptr, ptr %t410 %t1116 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 1 %t1117 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 2 %t1118 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 0 %t1119 = load i32, ptr %t1116 %t1120 = load i32, ptr %t1117 %t1121 = icmp sge i32 %t1119, %t1120 br i1 %t1121, label %grow315, label %put316 grow315: %t1122 = mul i32 %t1120, 2 %t1123 = icmp eq i32 %t1120, 0 %t1124 = select i1 %t1123, i32 8, i32 %t1122 %t1125 = getelementptr ptr, ptr null, i32 1 %t1126 = ptrtoint ptr %t1125 to i64 %t1127 = zext i32 %t1124 to i64 %t1128 = mul i64 %t1127, %t1126 %t1129 = load ptr, ptr %t1118 %t1130 = call ptr @realloc(ptr %t1129, i64 %t1128) store ptr %t1130, ptr %t1118 store i32 %t1124, ptr %t1117 br label %put316 put316: %t1131 = load ptr, ptr %t1118 %t1132 = getelementptr inbounds ptr, ptr %t1131, i32 %t1119 store ptr @.str7379, ptr %t1132 %t1133 = add i32 %t1119, 1 store i32 %t1133, ptr %t1116 %t1134 = load ptr, ptr %t410 %t1135 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 1 %t1136 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 2 %t1137 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 0 %t1138 = load i32, ptr %t1135 %t1139 = load i32, ptr %t1136 %t1140 = icmp sge i32 %t1138, %t1139 br i1 %t1140, label %grow317, label %put318 grow317: %t1141 = mul i32 %t1139, 2 %t1142 = icmp eq i32 %t1139, 0 %t1143 = select i1 %t1142, i32 8, i32 %t1141 %t1144 = getelementptr ptr, ptr null, i32 1 %t1145 = ptrtoint ptr %t1144 to i64 %t1146 = zext i32 %t1143 to i64 %t1147 = mul i64 %t1146, %t1145 %t1148 = load ptr, ptr %t1137 %t1149 = call ptr @realloc(ptr %t1148, i64 %t1147) store ptr %t1149, ptr %t1137 store i32 %t1143, ptr %t1136 br label %put318 put318: %t1150 = load ptr, ptr %t1137 %t1151 = getelementptr inbounds ptr, ptr %t1150, i32 %t1138 store ptr @.str7380, ptr %t1151 %t1152 = add i32 %t1138, 1 store i32 %t1152, ptr %t1135 %t1153 = load ptr, ptr %t410 %t1154 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 1 %t1155 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 2 %t1156 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 0 %t1157 = load i32, ptr %t1154 %t1158 = load i32, ptr %t1155 %t1159 = icmp sge i32 %t1157, %t1158 br i1 %t1159, label %grow319, label %put320 grow319: %t1160 = mul i32 %t1158, 2 %t1161 = icmp eq i32 %t1158, 0 %t1162 = select i1 %t1161, i32 8, i32 %t1160 %t1163 = getelementptr ptr, ptr null, i32 1 %t1164 = ptrtoint ptr %t1163 to i64 %t1165 = zext i32 %t1162 to i64 %t1166 = mul i64 %t1165, %t1164 %t1167 = load ptr, ptr %t1156 %t1168 = call ptr @realloc(ptr %t1167, i64 %t1166) store ptr %t1168, ptr %t1156 store i32 %t1162, ptr %t1155 br label %put320 put320: %t1169 = load ptr, ptr %t1156 %t1170 = getelementptr inbounds ptr, ptr %t1169, i32 %t1157 store ptr @.str7381, ptr %t1170 %t1171 = add i32 %t1157, 1 store i32 %t1171, ptr %t1154 br label %ifend310 ifend310: %t1172 = load ptr, ptr %t1 %t1173 = call i32 @lp_str_eq(ptr %t1172, ptr @.str7382) %t1174 = icmp ne i32 %t1173, 0 br i1 %t1174, label %then321, label %ifend323 then321: store ptr @.str7383, ptr %t403 %t1175 = load ptr, ptr %t410 %t1176 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 1 %t1177 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 2 %t1178 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 0 %t1179 = load i32, ptr %t1176 %t1180 = load i32, ptr %t1177 %t1181 = icmp sge i32 %t1179, %t1180 br i1 %t1181, label %grow324, label %put325 grow324: %t1182 = mul i32 %t1180, 2 %t1183 = icmp eq i32 %t1180, 0 %t1184 = select i1 %t1183, i32 8, i32 %t1182 %t1185 = getelementptr ptr, ptr null, i32 1 %t1186 = ptrtoint ptr %t1185 to i64 %t1187 = zext i32 %t1184 to i64 %t1188 = mul i64 %t1187, %t1186 %t1189 = load ptr, ptr %t1178 %t1190 = call ptr @realloc(ptr %t1189, i64 %t1188) store ptr %t1190, ptr %t1178 store i32 %t1184, ptr %t1177 br label %put325 put325: %t1191 = load ptr, ptr %t1178 %t1192 = getelementptr inbounds ptr, ptr %t1191, i32 %t1179 store ptr @.str7384, ptr %t1192 %t1193 = add i32 %t1179, 1 store i32 %t1193, ptr %t1176 %t1194 = load ptr, ptr %t410 %t1195 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 1 %t1196 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 2 %t1197 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 0 %t1198 = load i32, ptr %t1195 %t1199 = load i32, ptr %t1196 %t1200 = icmp sge i32 %t1198, %t1199 br i1 %t1200, label %grow326, label %put327 grow326: %t1201 = mul i32 %t1199, 2 %t1202 = icmp eq i32 %t1199, 0 %t1203 = select i1 %t1202, i32 8, i32 %t1201 %t1204 = getelementptr ptr, ptr null, i32 1 %t1205 = ptrtoint ptr %t1204 to i64 %t1206 = zext i32 %t1203 to i64 %t1207 = mul i64 %t1206, %t1205 %t1208 = load ptr, ptr %t1197 %t1209 = call ptr @realloc(ptr %t1208, i64 %t1207) store ptr %t1209, ptr %t1197 store i32 %t1203, ptr %t1196 br label %put327 put327: %t1210 = load ptr, ptr %t1197 %t1211 = getelementptr inbounds ptr, ptr %t1210, i32 %t1198 store ptr @.str7385, ptr %t1211 %t1212 = add i32 %t1198, 1 store i32 %t1212, ptr %t1195 %t1213 = load ptr, ptr %t410 %t1214 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 1 %t1215 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 2 %t1216 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 0 %t1217 = load i32, ptr %t1214 %t1218 = load i32, ptr %t1215 %t1219 = icmp sge i32 %t1217, %t1218 br i1 %t1219, label %grow328, label %put329 grow328: %t1220 = mul i32 %t1218, 2 %t1221 = icmp eq i32 %t1218, 0 %t1222 = select i1 %t1221, i32 8, i32 %t1220 %t1223 = getelementptr ptr, ptr null, i32 1 %t1224 = ptrtoint ptr %t1223 to i64 %t1225 = zext i32 %t1222 to i64 %t1226 = mul i64 %t1225, %t1224 %t1227 = load ptr, ptr %t1216 %t1228 = call ptr @realloc(ptr %t1227, i64 %t1226) store ptr %t1228, ptr %t1216 store i32 %t1222, ptr %t1215 br label %put329 put329: %t1229 = load ptr, ptr %t1216 %t1230 = getelementptr inbounds ptr, ptr %t1229, i32 %t1217 store ptr @.str7386, ptr %t1230 %t1231 = add i32 %t1217, 1 store i32 %t1231, ptr %t1214 %t1232 = load ptr, ptr %t410 %t1233 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 1 %t1234 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 2 %t1235 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 0 %t1236 = load i32, ptr %t1233 %t1237 = load i32, ptr %t1234 %t1238 = icmp sge i32 %t1236, %t1237 br i1 %t1238, label %grow330, label %put331 grow330: %t1239 = mul i32 %t1237, 2 %t1240 = icmp eq i32 %t1237, 0 %t1241 = select i1 %t1240, i32 8, i32 %t1239 %t1242 = getelementptr ptr, ptr null, i32 1 %t1243 = ptrtoint ptr %t1242 to i64 %t1244 = zext i32 %t1241 to i64 %t1245 = mul i64 %t1244, %t1243 %t1246 = load ptr, ptr %t1235 %t1247 = call ptr @realloc(ptr %t1246, i64 %t1245) store ptr %t1247, ptr %t1235 store i32 %t1241, ptr %t1234 br label %put331 put331: %t1248 = load ptr, ptr %t1235 %t1249 = getelementptr inbounds ptr, ptr %t1248, i32 %t1236 store ptr @.str7387, ptr %t1249 %t1250 = add i32 %t1236, 1 store i32 %t1250, ptr %t1233 br label %ifend323 ifend323: %t1251 = load ptr, ptr %t1 %t1252 = call i32 @lp_str_eq(ptr %t1251, ptr @.str7388) %t1253 = icmp ne i32 %t1252, 0 br i1 %t1253, label %then332, label %ifend334 then332: store ptr @.str7389, ptr %t403 %t1254 = load ptr, ptr %t410 %t1255 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 1 %t1256 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 2 %t1257 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 0 %t1258 = load i32, ptr %t1255 %t1259 = load i32, ptr %t1256 %t1260 = icmp sge i32 %t1258, %t1259 br i1 %t1260, label %grow335, label %put336 grow335: %t1261 = mul i32 %t1259, 2 %t1262 = icmp eq i32 %t1259, 0 %t1263 = select i1 %t1262, i32 8, i32 %t1261 %t1264 = getelementptr ptr, ptr null, i32 1 %t1265 = ptrtoint ptr %t1264 to i64 %t1266 = zext i32 %t1263 to i64 %t1267 = mul i64 %t1266, %t1265 %t1268 = load ptr, ptr %t1257 %t1269 = call ptr @realloc(ptr %t1268, i64 %t1267) store ptr %t1269, ptr %t1257 store i32 %t1263, ptr %t1256 br label %put336 put336: %t1270 = load ptr, ptr %t1257 %t1271 = getelementptr inbounds ptr, ptr %t1270, i32 %t1258 store ptr @.str7390, ptr %t1271 %t1272 = add i32 %t1258, 1 store i32 %t1272, ptr %t1255 %t1273 = load ptr, ptr %t410 %t1274 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 1 %t1275 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 2 %t1276 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 0 %t1277 = load i32, ptr %t1274 %t1278 = load i32, ptr %t1275 %t1279 = icmp sge i32 %t1277, %t1278 br i1 %t1279, label %grow337, label %put338 grow337: %t1280 = mul i32 %t1278, 2 %t1281 = icmp eq i32 %t1278, 0 %t1282 = select i1 %t1281, i32 8, i32 %t1280 %t1283 = getelementptr ptr, ptr null, i32 1 %t1284 = ptrtoint ptr %t1283 to i64 %t1285 = zext i32 %t1282 to i64 %t1286 = mul i64 %t1285, %t1284 %t1287 = load ptr, ptr %t1276 %t1288 = call ptr @realloc(ptr %t1287, i64 %t1286) store ptr %t1288, ptr %t1276 store i32 %t1282, ptr %t1275 br label %put338 put338: %t1289 = load ptr, ptr %t1276 %t1290 = getelementptr inbounds ptr, ptr %t1289, i32 %t1277 store ptr @.str7391, ptr %t1290 %t1291 = add i32 %t1277, 1 store i32 %t1291, ptr %t1274 %t1292 = load ptr, ptr %t410 %t1293 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 1 %t1294 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 2 %t1295 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 0 %t1296 = load i32, ptr %t1293 %t1297 = load i32, ptr %t1294 %t1298 = icmp sge i32 %t1296, %t1297 br i1 %t1298, label %grow339, label %put340 grow339: %t1299 = mul i32 %t1297, 2 %t1300 = icmp eq i32 %t1297, 0 %t1301 = select i1 %t1300, i32 8, i32 %t1299 %t1302 = getelementptr ptr, ptr null, i32 1 %t1303 = ptrtoint ptr %t1302 to i64 %t1304 = zext i32 %t1301 to i64 %t1305 = mul i64 %t1304, %t1303 %t1306 = load ptr, ptr %t1295 %t1307 = call ptr @realloc(ptr %t1306, i64 %t1305) store ptr %t1307, ptr %t1295 store i32 %t1301, ptr %t1294 br label %put340 put340: %t1308 = load ptr, ptr %t1295 %t1309 = getelementptr inbounds ptr, ptr %t1308, i32 %t1296 store ptr @.str7392, ptr %t1309 %t1310 = add i32 %t1296, 1 store i32 %t1310, ptr %t1293 %t1311 = load ptr, ptr %t410 %t1312 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 1 %t1313 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 2 %t1314 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 0 %t1315 = load i32, ptr %t1312 %t1316 = load i32, ptr %t1313 %t1317 = icmp sge i32 %t1315, %t1316 br i1 %t1317, label %grow341, label %put342 grow341: %t1318 = mul i32 %t1316, 2 %t1319 = icmp eq i32 %t1316, 0 %t1320 = select i1 %t1319, i32 8, i32 %t1318 %t1321 = getelementptr ptr, ptr null, i32 1 %t1322 = ptrtoint ptr %t1321 to i64 %t1323 = zext i32 %t1320 to i64 %t1324 = mul i64 %t1323, %t1322 %t1325 = load ptr, ptr %t1314 %t1326 = call ptr @realloc(ptr %t1325, i64 %t1324) store ptr %t1326, ptr %t1314 store i32 %t1320, ptr %t1313 br label %put342 put342: %t1327 = load ptr, ptr %t1314 %t1328 = getelementptr inbounds ptr, ptr %t1327, i32 %t1315 store ptr @.str7393, ptr %t1328 %t1329 = add i32 %t1315, 1 store i32 %t1329, ptr %t1312 br label %ifend334 ifend334: %t1330 = load ptr, ptr %t1 %t1331 = call i32 @lp_str_eq(ptr %t1330, ptr @.str7394) %t1332 = icmp ne i32 %t1331, 0 br i1 %t1332, label %then343, label %ifend345 then343: store ptr @.str7395, ptr %t403 %t1333 = load ptr, ptr %t410 %t1334 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 1 %t1335 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 2 %t1336 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 0 %t1337 = load i32, ptr %t1334 %t1338 = load i32, ptr %t1335 %t1339 = icmp sge i32 %t1337, %t1338 br i1 %t1339, label %grow346, label %put347 grow346: %t1340 = mul i32 %t1338, 2 %t1341 = icmp eq i32 %t1338, 0 %t1342 = select i1 %t1341, i32 8, i32 %t1340 %t1343 = getelementptr ptr, ptr null, i32 1 %t1344 = ptrtoint ptr %t1343 to i64 %t1345 = zext i32 %t1342 to i64 %t1346 = mul i64 %t1345, %t1344 %t1347 = load ptr, ptr %t1336 %t1348 = call ptr @realloc(ptr %t1347, i64 %t1346) store ptr %t1348, ptr %t1336 store i32 %t1342, ptr %t1335 br label %put347 put347: %t1349 = load ptr, ptr %t1336 %t1350 = getelementptr inbounds ptr, ptr %t1349, i32 %t1337 store ptr @.str7396, ptr %t1350 %t1351 = add i32 %t1337, 1 store i32 %t1351, ptr %t1334 %t1352 = load ptr, ptr %t410 %t1353 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 1 %t1354 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 2 %t1355 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 0 %t1356 = load i32, ptr %t1353 %t1357 = load i32, ptr %t1354 %t1358 = icmp sge i32 %t1356, %t1357 br i1 %t1358, label %grow348, label %put349 grow348: %t1359 = mul i32 %t1357, 2 %t1360 = icmp eq i32 %t1357, 0 %t1361 = select i1 %t1360, i32 8, i32 %t1359 %t1362 = getelementptr ptr, ptr null, i32 1 %t1363 = ptrtoint ptr %t1362 to i64 %t1364 = zext i32 %t1361 to i64 %t1365 = mul i64 %t1364, %t1363 %t1366 = load ptr, ptr %t1355 %t1367 = call ptr @realloc(ptr %t1366, i64 %t1365) store ptr %t1367, ptr %t1355 store i32 %t1361, ptr %t1354 br label %put349 put349: %t1368 = load ptr, ptr %t1355 %t1369 = getelementptr inbounds ptr, ptr %t1368, i32 %t1356 store ptr @.str7397, ptr %t1369 %t1370 = add i32 %t1356, 1 store i32 %t1370, ptr %t1353 %t1371 = load ptr, ptr %t410 %t1372 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 1 %t1373 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 2 %t1374 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 0 %t1375 = load i32, ptr %t1372 %t1376 = load i32, ptr %t1373 %t1377 = icmp sge i32 %t1375, %t1376 br i1 %t1377, label %grow350, label %put351 grow350: %t1378 = mul i32 %t1376, 2 %t1379 = icmp eq i32 %t1376, 0 %t1380 = select i1 %t1379, i32 8, i32 %t1378 %t1381 = getelementptr ptr, ptr null, i32 1 %t1382 = ptrtoint ptr %t1381 to i64 %t1383 = zext i32 %t1380 to i64 %t1384 = mul i64 %t1383, %t1382 %t1385 = load ptr, ptr %t1374 %t1386 = call ptr @realloc(ptr %t1385, i64 %t1384) store ptr %t1386, ptr %t1374 store i32 %t1380, ptr %t1373 br label %put351 put351: %t1387 = load ptr, ptr %t1374 %t1388 = getelementptr inbounds ptr, ptr %t1387, i32 %t1375 store ptr @.str7398, ptr %t1388 %t1389 = add i32 %t1375, 1 store i32 %t1389, ptr %t1372 %t1390 = load ptr, ptr %t410 %t1391 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 1 %t1392 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 2 %t1393 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 0 %t1394 = load i32, ptr %t1391 %t1395 = load i32, ptr %t1392 %t1396 = icmp sge i32 %t1394, %t1395 br i1 %t1396, label %grow352, label %put353 grow352: %t1397 = mul i32 %t1395, 2 %t1398 = icmp eq i32 %t1395, 0 %t1399 = select i1 %t1398, i32 8, i32 %t1397 %t1400 = getelementptr ptr, ptr null, i32 1 %t1401 = ptrtoint ptr %t1400 to i64 %t1402 = zext i32 %t1399 to i64 %t1403 = mul i64 %t1402, %t1401 %t1404 = load ptr, ptr %t1393 %t1405 = call ptr @realloc(ptr %t1404, i64 %t1403) store ptr %t1405, ptr %t1393 store i32 %t1399, ptr %t1392 br label %put353 put353: %t1406 = load ptr, ptr %t1393 %t1407 = getelementptr inbounds ptr, ptr %t1406, i32 %t1394 store ptr @.str7399, ptr %t1407 %t1408 = add i32 %t1394, 1 store i32 %t1408, ptr %t1391 %t1409 = load ptr, ptr %t410 %t1410 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 1 %t1411 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 2 %t1412 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 0 %t1413 = load i32, ptr %t1410 %t1414 = load i32, ptr %t1411 %t1415 = icmp sge i32 %t1413, %t1414 br i1 %t1415, label %grow354, label %put355 grow354: %t1416 = mul i32 %t1414, 2 %t1417 = icmp eq i32 %t1414, 0 %t1418 = select i1 %t1417, i32 8, i32 %t1416 %t1419 = getelementptr ptr, ptr null, i32 1 %t1420 = ptrtoint ptr %t1419 to i64 %t1421 = zext i32 %t1418 to i64 %t1422 = mul i64 %t1421, %t1420 %t1423 = load ptr, ptr %t1412 %t1424 = call ptr @realloc(ptr %t1423, i64 %t1422) store ptr %t1424, ptr %t1412 store i32 %t1418, ptr %t1411 br label %put355 put355: %t1425 = load ptr, ptr %t1412 %t1426 = getelementptr inbounds ptr, ptr %t1425, i32 %t1413 store ptr @.str7400, ptr %t1426 %t1427 = add i32 %t1413, 1 store i32 %t1427, ptr %t1410 %t1428 = load ptr, ptr %t410 %t1429 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 1 %t1430 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 2 %t1431 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 0 %t1432 = load i32, ptr %t1429 %t1433 = load i32, ptr %t1430 %t1434 = icmp sge i32 %t1432, %t1433 br i1 %t1434, label %grow356, label %put357 grow356: %t1435 = mul i32 %t1433, 2 %t1436 = icmp eq i32 %t1433, 0 %t1437 = select i1 %t1436, i32 8, i32 %t1435 %t1438 = getelementptr ptr, ptr null, i32 1 %t1439 = ptrtoint ptr %t1438 to i64 %t1440 = zext i32 %t1437 to i64 %t1441 = mul i64 %t1440, %t1439 %t1442 = load ptr, ptr %t1431 %t1443 = call ptr @realloc(ptr %t1442, i64 %t1441) store ptr %t1443, ptr %t1431 store i32 %t1437, ptr %t1430 br label %put357 put357: %t1444 = load ptr, ptr %t1431 %t1445 = getelementptr inbounds ptr, ptr %t1444, i32 %t1432 store ptr @.str7401, ptr %t1445 %t1446 = add i32 %t1432, 1 store i32 %t1446, ptr %t1429 %t1447 = load ptr, ptr %t410 %t1448 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 1 %t1449 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 2 %t1450 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 0 %t1451 = load i32, ptr %t1448 %t1452 = load i32, ptr %t1449 %t1453 = icmp sge i32 %t1451, %t1452 br i1 %t1453, label %grow358, label %put359 grow358: %t1454 = mul i32 %t1452, 2 %t1455 = icmp eq i32 %t1452, 0 %t1456 = select i1 %t1455, i32 8, i32 %t1454 %t1457 = getelementptr ptr, ptr null, i32 1 %t1458 = ptrtoint ptr %t1457 to i64 %t1459 = zext i32 %t1456 to i64 %t1460 = mul i64 %t1459, %t1458 %t1461 = load ptr, ptr %t1450 %t1462 = call ptr @realloc(ptr %t1461, i64 %t1460) store ptr %t1462, ptr %t1450 store i32 %t1456, ptr %t1449 br label %put359 put359: %t1463 = load ptr, ptr %t1450 %t1464 = getelementptr inbounds ptr, ptr %t1463, i32 %t1451 store ptr @.str7402, ptr %t1464 %t1465 = add i32 %t1451, 1 store i32 %t1465, ptr %t1448 br label %ifend345 ifend345: %t1466 = load ptr, ptr %t1 %t1467 = call i32 @lp_str_eq(ptr %t1466, ptr @.str7403) %t1468 = icmp ne i32 %t1467, 0 br i1 %t1468, label %then360, label %ifend362 then360: store ptr @.str7404, ptr %t403 %t1469 = load ptr, ptr %t410 %t1470 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 1 %t1471 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 2 %t1472 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 0 %t1473 = load i32, ptr %t1470 %t1474 = load i32, ptr %t1471 %t1475 = icmp sge i32 %t1473, %t1474 br i1 %t1475, label %grow363, label %put364 grow363: %t1476 = mul i32 %t1474, 2 %t1477 = icmp eq i32 %t1474, 0 %t1478 = select i1 %t1477, i32 8, i32 %t1476 %t1479 = getelementptr ptr, ptr null, i32 1 %t1480 = ptrtoint ptr %t1479 to i64 %t1481 = zext i32 %t1478 to i64 %t1482 = mul i64 %t1481, %t1480 %t1483 = load ptr, ptr %t1472 %t1484 = call ptr @realloc(ptr %t1483, i64 %t1482) store ptr %t1484, ptr %t1472 store i32 %t1478, ptr %t1471 br label %put364 put364: %t1485 = load ptr, ptr %t1472 %t1486 = getelementptr inbounds ptr, ptr %t1485, i32 %t1473 store ptr @.str7405, ptr %t1486 %t1487 = add i32 %t1473, 1 store i32 %t1487, ptr %t1470 %t1488 = load ptr, ptr %t410 %t1489 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 1 %t1490 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 2 %t1491 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 0 %t1492 = load i32, ptr %t1489 %t1493 = load i32, ptr %t1490 %t1494 = icmp sge i32 %t1492, %t1493 br i1 %t1494, label %grow365, label %put366 grow365: %t1495 = mul i32 %t1493, 2 %t1496 = icmp eq i32 %t1493, 0 %t1497 = select i1 %t1496, i32 8, i32 %t1495 %t1498 = getelementptr ptr, ptr null, i32 1 %t1499 = ptrtoint ptr %t1498 to i64 %t1500 = zext i32 %t1497 to i64 %t1501 = mul i64 %t1500, %t1499 %t1502 = load ptr, ptr %t1491 %t1503 = call ptr @realloc(ptr %t1502, i64 %t1501) store ptr %t1503, ptr %t1491 store i32 %t1497, ptr %t1490 br label %put366 put366: %t1504 = load ptr, ptr %t1491 %t1505 = getelementptr inbounds ptr, ptr %t1504, i32 %t1492 store ptr @.str7406, ptr %t1505 %t1506 = add i32 %t1492, 1 store i32 %t1506, ptr %t1489 %t1507 = load ptr, ptr %t410 %t1508 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 1 %t1509 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 2 %t1510 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 0 %t1511 = load i32, ptr %t1508 %t1512 = load i32, ptr %t1509 %t1513 = icmp sge i32 %t1511, %t1512 br i1 %t1513, label %grow367, label %put368 grow367: %t1514 = mul i32 %t1512, 2 %t1515 = icmp eq i32 %t1512, 0 %t1516 = select i1 %t1515, i32 8, i32 %t1514 %t1517 = getelementptr ptr, ptr null, i32 1 %t1518 = ptrtoint ptr %t1517 to i64 %t1519 = zext i32 %t1516 to i64 %t1520 = mul i64 %t1519, %t1518 %t1521 = load ptr, ptr %t1510 %t1522 = call ptr @realloc(ptr %t1521, i64 %t1520) store ptr %t1522, ptr %t1510 store i32 %t1516, ptr %t1509 br label %put368 put368: %t1523 = load ptr, ptr %t1510 %t1524 = getelementptr inbounds ptr, ptr %t1523, i32 %t1511 store ptr @.str7407, ptr %t1524 %t1525 = add i32 %t1511, 1 store i32 %t1525, ptr %t1508 %t1526 = load ptr, ptr %t410 %t1527 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 1 %t1528 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 2 %t1529 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 0 %t1530 = load i32, ptr %t1527 %t1531 = load i32, ptr %t1528 %t1532 = icmp sge i32 %t1530, %t1531 br i1 %t1532, label %grow369, label %put370 grow369: %t1533 = mul i32 %t1531, 2 %t1534 = icmp eq i32 %t1531, 0 %t1535 = select i1 %t1534, i32 8, i32 %t1533 %t1536 = getelementptr ptr, ptr null, i32 1 %t1537 = ptrtoint ptr %t1536 to i64 %t1538 = zext i32 %t1535 to i64 %t1539 = mul i64 %t1538, %t1537 %t1540 = load ptr, ptr %t1529 %t1541 = call ptr @realloc(ptr %t1540, i64 %t1539) store ptr %t1541, ptr %t1529 store i32 %t1535, ptr %t1528 br label %put370 put370: %t1542 = load ptr, ptr %t1529 %t1543 = getelementptr inbounds ptr, ptr %t1542, i32 %t1530 store ptr @.str7408, ptr %t1543 %t1544 = add i32 %t1530, 1 store i32 %t1544, ptr %t1527 %t1545 = load ptr, ptr %t410 %t1546 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 1 %t1547 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 2 %t1548 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 0 %t1549 = load i32, ptr %t1546 %t1550 = load i32, ptr %t1547 %t1551 = icmp sge i32 %t1549, %t1550 br i1 %t1551, label %grow371, label %put372 grow371: %t1552 = mul i32 %t1550, 2 %t1553 = icmp eq i32 %t1550, 0 %t1554 = select i1 %t1553, i32 8, i32 %t1552 %t1555 = getelementptr ptr, ptr null, i32 1 %t1556 = ptrtoint ptr %t1555 to i64 %t1557 = zext i32 %t1554 to i64 %t1558 = mul i64 %t1557, %t1556 %t1559 = load ptr, ptr %t1548 %t1560 = call ptr @realloc(ptr %t1559, i64 %t1558) store ptr %t1560, ptr %t1548 store i32 %t1554, ptr %t1547 br label %put372 put372: %t1561 = load ptr, ptr %t1548 %t1562 = getelementptr inbounds ptr, ptr %t1561, i32 %t1549 store ptr @.str7409, ptr %t1562 %t1563 = add i32 %t1549, 1 store i32 %t1563, ptr %t1546 %t1564 = load ptr, ptr %t410 %t1565 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 1 %t1566 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 2 %t1567 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 0 %t1568 = load i32, ptr %t1565 %t1569 = load i32, ptr %t1566 %t1570 = icmp sge i32 %t1568, %t1569 br i1 %t1570, label %grow373, label %put374 grow373: %t1571 = mul i32 %t1569, 2 %t1572 = icmp eq i32 %t1569, 0 %t1573 = select i1 %t1572, i32 8, i32 %t1571 %t1574 = getelementptr ptr, ptr null, i32 1 %t1575 = ptrtoint ptr %t1574 to i64 %t1576 = zext i32 %t1573 to i64 %t1577 = mul i64 %t1576, %t1575 %t1578 = load ptr, ptr %t1567 %t1579 = call ptr @realloc(ptr %t1578, i64 %t1577) store ptr %t1579, ptr %t1567 store i32 %t1573, ptr %t1566 br label %put374 put374: %t1580 = load ptr, ptr %t1567 %t1581 = getelementptr inbounds ptr, ptr %t1580, i32 %t1568 store ptr @.str7410, ptr %t1581 %t1582 = add i32 %t1568, 1 store i32 %t1582, ptr %t1565 %t1583 = load ptr, ptr %t410 %t1584 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 1 %t1585 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 2 %t1586 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 0 %t1587 = load i32, ptr %t1584 %t1588 = load i32, ptr %t1585 %t1589 = icmp sge i32 %t1587, %t1588 br i1 %t1589, label %grow375, label %put376 grow375: %t1590 = mul i32 %t1588, 2 %t1591 = icmp eq i32 %t1588, 0 %t1592 = select i1 %t1591, i32 8, i32 %t1590 %t1593 = getelementptr ptr, ptr null, i32 1 %t1594 = ptrtoint ptr %t1593 to i64 %t1595 = zext i32 %t1592 to i64 %t1596 = mul i64 %t1595, %t1594 %t1597 = load ptr, ptr %t1586 %t1598 = call ptr @realloc(ptr %t1597, i64 %t1596) store ptr %t1598, ptr %t1586 store i32 %t1592, ptr %t1585 br label %put376 put376: %t1599 = load ptr, ptr %t1586 %t1600 = getelementptr inbounds ptr, ptr %t1599, i32 %t1587 store ptr @.str7411, ptr %t1600 %t1601 = add i32 %t1587, 1 store i32 %t1601, ptr %t1584 br label %ifend362 ifend362: %t1602 = load ptr, ptr %t1 %t1603 = call i32 @lp_str_eq(ptr %t1602, ptr @.str7412) %t1604 = icmp ne i32 %t1603, 0 br i1 %t1604, label %then377, label %ifend379 then377: store ptr @.str7413, ptr %t403 %t1605 = load ptr, ptr %t410 %t1606 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 1 %t1607 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 2 %t1608 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 0 %t1609 = load i32, ptr %t1606 %t1610 = load i32, ptr %t1607 %t1611 = icmp sge i32 %t1609, %t1610 br i1 %t1611, label %grow380, label %put381 grow380: %t1612 = mul i32 %t1610, 2 %t1613 = icmp eq i32 %t1610, 0 %t1614 = select i1 %t1613, i32 8, i32 %t1612 %t1615 = getelementptr ptr, ptr null, i32 1 %t1616 = ptrtoint ptr %t1615 to i64 %t1617 = zext i32 %t1614 to i64 %t1618 = mul i64 %t1617, %t1616 %t1619 = load ptr, ptr %t1608 %t1620 = call ptr @realloc(ptr %t1619, i64 %t1618) store ptr %t1620, ptr %t1608 store i32 %t1614, ptr %t1607 br label %put381 put381: %t1621 = load ptr, ptr %t1608 %t1622 = getelementptr inbounds ptr, ptr %t1621, i32 %t1609 store ptr @.str7414, ptr %t1622 %t1623 = add i32 %t1609, 1 store i32 %t1623, ptr %t1606 %t1624 = load ptr, ptr %t410 %t1625 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 1 %t1626 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 2 %t1627 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 0 %t1628 = load i32, ptr %t1625 %t1629 = load i32, ptr %t1626 %t1630 = icmp sge i32 %t1628, %t1629 br i1 %t1630, label %grow382, label %put383 grow382: %t1631 = mul i32 %t1629, 2 %t1632 = icmp eq i32 %t1629, 0 %t1633 = select i1 %t1632, i32 8, i32 %t1631 %t1634 = getelementptr ptr, ptr null, i32 1 %t1635 = ptrtoint ptr %t1634 to i64 %t1636 = zext i32 %t1633 to i64 %t1637 = mul i64 %t1636, %t1635 %t1638 = load ptr, ptr %t1627 %t1639 = call ptr @realloc(ptr %t1638, i64 %t1637) store ptr %t1639, ptr %t1627 store i32 %t1633, ptr %t1626 br label %put383 put383: %t1640 = load ptr, ptr %t1627 %t1641 = getelementptr inbounds ptr, ptr %t1640, i32 %t1628 store ptr @.str7415, ptr %t1641 %t1642 = add i32 %t1628, 1 store i32 %t1642, ptr %t1625 %t1643 = load ptr, ptr %t410 %t1644 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 1 %t1645 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 2 %t1646 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 0 %t1647 = load i32, ptr %t1644 %t1648 = load i32, ptr %t1645 %t1649 = icmp sge i32 %t1647, %t1648 br i1 %t1649, label %grow384, label %put385 grow384: %t1650 = mul i32 %t1648, 2 %t1651 = icmp eq i32 %t1648, 0 %t1652 = select i1 %t1651, i32 8, i32 %t1650 %t1653 = getelementptr ptr, ptr null, i32 1 %t1654 = ptrtoint ptr %t1653 to i64 %t1655 = zext i32 %t1652 to i64 %t1656 = mul i64 %t1655, %t1654 %t1657 = load ptr, ptr %t1646 %t1658 = call ptr @realloc(ptr %t1657, i64 %t1656) store ptr %t1658, ptr %t1646 store i32 %t1652, ptr %t1645 br label %put385 put385: %t1659 = load ptr, ptr %t1646 %t1660 = getelementptr inbounds ptr, ptr %t1659, i32 %t1647 store ptr @.str7416, ptr %t1660 %t1661 = add i32 %t1647, 1 store i32 %t1661, ptr %t1644 br label %ifend379 ifend379: %t1662 = load ptr, ptr %t1 %t1663 = call i32 @lp_str_eq(ptr %t1662, ptr @.str7417) %t1664 = icmp ne i32 %t1663, 0 br i1 %t1664, label %then386, label %ifend388 then386: store ptr @.str7418, ptr %t403 %t1665 = load ptr, ptr %t410 %t1666 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 1 %t1667 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 2 %t1668 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 0 %t1669 = load i32, ptr %t1666 %t1670 = load i32, ptr %t1667 %t1671 = icmp sge i32 %t1669, %t1670 br i1 %t1671, label %grow389, label %put390 grow389: %t1672 = mul i32 %t1670, 2 %t1673 = icmp eq i32 %t1670, 0 %t1674 = select i1 %t1673, i32 8, i32 %t1672 %t1675 = getelementptr ptr, ptr null, i32 1 %t1676 = ptrtoint ptr %t1675 to i64 %t1677 = zext i32 %t1674 to i64 %t1678 = mul i64 %t1677, %t1676 %t1679 = load ptr, ptr %t1668 %t1680 = call ptr @realloc(ptr %t1679, i64 %t1678) store ptr %t1680, ptr %t1668 store i32 %t1674, ptr %t1667 br label %put390 put390: %t1681 = load ptr, ptr %t1668 %t1682 = getelementptr inbounds ptr, ptr %t1681, i32 %t1669 store ptr @.str7419, ptr %t1682 %t1683 = add i32 %t1669, 1 store i32 %t1683, ptr %t1666 %t1684 = load ptr, ptr %t410 %t1685 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 1 %t1686 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 2 %t1687 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 0 %t1688 = load i32, ptr %t1685 %t1689 = load i32, ptr %t1686 %t1690 = icmp sge i32 %t1688, %t1689 br i1 %t1690, label %grow391, label %put392 grow391: %t1691 = mul i32 %t1689, 2 %t1692 = icmp eq i32 %t1689, 0 %t1693 = select i1 %t1692, i32 8, i32 %t1691 %t1694 = getelementptr ptr, ptr null, i32 1 %t1695 = ptrtoint ptr %t1694 to i64 %t1696 = zext i32 %t1693 to i64 %t1697 = mul i64 %t1696, %t1695 %t1698 = load ptr, ptr %t1687 %t1699 = call ptr @realloc(ptr %t1698, i64 %t1697) store ptr %t1699, ptr %t1687 store i32 %t1693, ptr %t1686 br label %put392 put392: %t1700 = load ptr, ptr %t1687 %t1701 = getelementptr inbounds ptr, ptr %t1700, i32 %t1688 store ptr @.str7420, ptr %t1701 %t1702 = add i32 %t1688, 1 store i32 %t1702, ptr %t1685 %t1703 = load ptr, ptr %t410 %t1704 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 1 %t1705 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 2 %t1706 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 0 %t1707 = load i32, ptr %t1704 %t1708 = load i32, ptr %t1705 %t1709 = icmp sge i32 %t1707, %t1708 br i1 %t1709, label %grow393, label %put394 grow393: %t1710 = mul i32 %t1708, 2 %t1711 = icmp eq i32 %t1708, 0 %t1712 = select i1 %t1711, i32 8, i32 %t1710 %t1713 = getelementptr ptr, ptr null, i32 1 %t1714 = ptrtoint ptr %t1713 to i64 %t1715 = zext i32 %t1712 to i64 %t1716 = mul i64 %t1715, %t1714 %t1717 = load ptr, ptr %t1706 %t1718 = call ptr @realloc(ptr %t1717, i64 %t1716) store ptr %t1718, ptr %t1706 store i32 %t1712, ptr %t1705 br label %put394 put394: %t1719 = load ptr, ptr %t1706 %t1720 = getelementptr inbounds ptr, ptr %t1719, i32 %t1707 store ptr @.str7421, ptr %t1720 %t1721 = add i32 %t1707, 1 store i32 %t1721, ptr %t1704 %t1722 = load ptr, ptr %t410 %t1723 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 1 %t1724 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 2 %t1725 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 0 %t1726 = load i32, ptr %t1723 %t1727 = load i32, ptr %t1724 %t1728 = icmp sge i32 %t1726, %t1727 br i1 %t1728, label %grow395, label %put396 grow395: %t1729 = mul i32 %t1727, 2 %t1730 = icmp eq i32 %t1727, 0 %t1731 = select i1 %t1730, i32 8, i32 %t1729 %t1732 = getelementptr ptr, ptr null, i32 1 %t1733 = ptrtoint ptr %t1732 to i64 %t1734 = zext i32 %t1731 to i64 %t1735 = mul i64 %t1734, %t1733 %t1736 = load ptr, ptr %t1725 %t1737 = call ptr @realloc(ptr %t1736, i64 %t1735) store ptr %t1737, ptr %t1725 store i32 %t1731, ptr %t1724 br label %put396 put396: %t1738 = load ptr, ptr %t1725 %t1739 = getelementptr inbounds ptr, ptr %t1738, i32 %t1726 store ptr @.str7422, ptr %t1739 %t1740 = add i32 %t1726, 1 store i32 %t1740, ptr %t1723 br label %ifend388 ifend388: %t1741 = load ptr, ptr %t1 %t1742 = call i32 @lp_str_eq(ptr %t1741, ptr @.str7423) %t1743 = icmp ne i32 %t1742, 0 br i1 %t1743, label %then397, label %ifend399 then397: store ptr @.str7424, ptr %t403 %t1744 = load ptr, ptr %t410 %t1745 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 1 %t1746 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 2 %t1747 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 0 %t1748 = load i32, ptr %t1745 %t1749 = load i32, ptr %t1746 %t1750 = icmp sge i32 %t1748, %t1749 br i1 %t1750, label %grow400, label %put401 grow400: %t1751 = mul i32 %t1749, 2 %t1752 = icmp eq i32 %t1749, 0 %t1753 = select i1 %t1752, i32 8, i32 %t1751 %t1754 = getelementptr ptr, ptr null, i32 1 %t1755 = ptrtoint ptr %t1754 to i64 %t1756 = zext i32 %t1753 to i64 %t1757 = mul i64 %t1756, %t1755 %t1758 = load ptr, ptr %t1747 %t1759 = call ptr @realloc(ptr %t1758, i64 %t1757) store ptr %t1759, ptr %t1747 store i32 %t1753, ptr %t1746 br label %put401 put401: %t1760 = load ptr, ptr %t1747 %t1761 = getelementptr inbounds ptr, ptr %t1760, i32 %t1748 store ptr @.str7425, ptr %t1761 %t1762 = add i32 %t1748, 1 store i32 %t1762, ptr %t1745 %t1763 = load ptr, ptr %t410 %t1764 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 1 %t1765 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 2 %t1766 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 0 %t1767 = load i32, ptr %t1764 %t1768 = load i32, ptr %t1765 %t1769 = icmp sge i32 %t1767, %t1768 br i1 %t1769, label %grow402, label %put403 grow402: %t1770 = mul i32 %t1768, 2 %t1771 = icmp eq i32 %t1768, 0 %t1772 = select i1 %t1771, i32 8, i32 %t1770 %t1773 = getelementptr ptr, ptr null, i32 1 %t1774 = ptrtoint ptr %t1773 to i64 %t1775 = zext i32 %t1772 to i64 %t1776 = mul i64 %t1775, %t1774 %t1777 = load ptr, ptr %t1766 %t1778 = call ptr @realloc(ptr %t1777, i64 %t1776) store ptr %t1778, ptr %t1766 store i32 %t1772, ptr %t1765 br label %put403 put403: %t1779 = load ptr, ptr %t1766 %t1780 = getelementptr inbounds ptr, ptr %t1779, i32 %t1767 store ptr @.str7426, ptr %t1780 %t1781 = add i32 %t1767, 1 store i32 %t1781, ptr %t1764 %t1782 = load ptr, ptr %t410 %t1783 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 1 %t1784 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 2 %t1785 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 0 %t1786 = load i32, ptr %t1783 %t1787 = load i32, ptr %t1784 %t1788 = icmp sge i32 %t1786, %t1787 br i1 %t1788, label %grow404, label %put405 grow404: %t1789 = mul i32 %t1787, 2 %t1790 = icmp eq i32 %t1787, 0 %t1791 = select i1 %t1790, i32 8, i32 %t1789 %t1792 = getelementptr ptr, ptr null, i32 1 %t1793 = ptrtoint ptr %t1792 to i64 %t1794 = zext i32 %t1791 to i64 %t1795 = mul i64 %t1794, %t1793 %t1796 = load ptr, ptr %t1785 %t1797 = call ptr @realloc(ptr %t1796, i64 %t1795) store ptr %t1797, ptr %t1785 store i32 %t1791, ptr %t1784 br label %put405 put405: %t1798 = load ptr, ptr %t1785 %t1799 = getelementptr inbounds ptr, ptr %t1798, i32 %t1786 store ptr @.str7427, ptr %t1799 %t1800 = add i32 %t1786, 1 store i32 %t1800, ptr %t1783 %t1801 = load ptr, ptr %t410 %t1802 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 1 %t1803 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 2 %t1804 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 0 %t1805 = load i32, ptr %t1802 %t1806 = load i32, ptr %t1803 %t1807 = icmp sge i32 %t1805, %t1806 br i1 %t1807, label %grow406, label %put407 grow406: %t1808 = mul i32 %t1806, 2 %t1809 = icmp eq i32 %t1806, 0 %t1810 = select i1 %t1809, i32 8, i32 %t1808 %t1811 = getelementptr ptr, ptr null, i32 1 %t1812 = ptrtoint ptr %t1811 to i64 %t1813 = zext i32 %t1810 to i64 %t1814 = mul i64 %t1813, %t1812 %t1815 = load ptr, ptr %t1804 %t1816 = call ptr @realloc(ptr %t1815, i64 %t1814) store ptr %t1816, ptr %t1804 store i32 %t1810, ptr %t1803 br label %put407 put407: %t1817 = load ptr, ptr %t1804 %t1818 = getelementptr inbounds ptr, ptr %t1817, i32 %t1805 store ptr @.str7428, ptr %t1818 %t1819 = add i32 %t1805, 1 store i32 %t1819, ptr %t1802 %t1820 = load ptr, ptr %t410 %t1821 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 1 %t1822 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 2 %t1823 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 0 %t1824 = load i32, ptr %t1821 %t1825 = load i32, ptr %t1822 %t1826 = icmp sge i32 %t1824, %t1825 br i1 %t1826, label %grow408, label %put409 grow408: %t1827 = mul i32 %t1825, 2 %t1828 = icmp eq i32 %t1825, 0 %t1829 = select i1 %t1828, i32 8, i32 %t1827 %t1830 = getelementptr ptr, ptr null, i32 1 %t1831 = ptrtoint ptr %t1830 to i64 %t1832 = zext i32 %t1829 to i64 %t1833 = mul i64 %t1832, %t1831 %t1834 = load ptr, ptr %t1823 %t1835 = call ptr @realloc(ptr %t1834, i64 %t1833) store ptr %t1835, ptr %t1823 store i32 %t1829, ptr %t1822 br label %put409 put409: %t1836 = load ptr, ptr %t1823 %t1837 = getelementptr inbounds ptr, ptr %t1836, i32 %t1824 store ptr @.str7429, ptr %t1837 %t1838 = add i32 %t1824, 1 store i32 %t1838, ptr %t1821 br label %ifend399 ifend399: %t1839 = load ptr, ptr %t1 %t1840 = call i32 @lp_str_eq(ptr %t1839, ptr @.str7430) %t1841 = icmp ne i32 %t1840, 0 br i1 %t1841, label %then410, label %ifend412 then410: store ptr @.str7431, ptr %t403 %t1842 = load ptr, ptr %t410 %t1843 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 1 %t1844 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 2 %t1845 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 0 %t1846 = load i32, ptr %t1843 %t1847 = load i32, ptr %t1844 %t1848 = icmp sge i32 %t1846, %t1847 br i1 %t1848, label %grow413, label %put414 grow413: %t1849 = mul i32 %t1847, 2 %t1850 = icmp eq i32 %t1847, 0 %t1851 = select i1 %t1850, i32 8, i32 %t1849 %t1852 = getelementptr ptr, ptr null, i32 1 %t1853 = ptrtoint ptr %t1852 to i64 %t1854 = zext i32 %t1851 to i64 %t1855 = mul i64 %t1854, %t1853 %t1856 = load ptr, ptr %t1845 %t1857 = call ptr @realloc(ptr %t1856, i64 %t1855) store ptr %t1857, ptr %t1845 store i32 %t1851, ptr %t1844 br label %put414 put414: %t1858 = load ptr, ptr %t1845 %t1859 = getelementptr inbounds ptr, ptr %t1858, i32 %t1846 store ptr @.str7432, ptr %t1859 %t1860 = add i32 %t1846, 1 store i32 %t1860, ptr %t1843 %t1861 = load ptr, ptr %t410 %t1862 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 1 %t1863 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 2 %t1864 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 0 %t1865 = load i32, ptr %t1862 %t1866 = load i32, ptr %t1863 %t1867 = icmp sge i32 %t1865, %t1866 br i1 %t1867, label %grow415, label %put416 grow415: %t1868 = mul i32 %t1866, 2 %t1869 = icmp eq i32 %t1866, 0 %t1870 = select i1 %t1869, i32 8, i32 %t1868 %t1871 = getelementptr ptr, ptr null, i32 1 %t1872 = ptrtoint ptr %t1871 to i64 %t1873 = zext i32 %t1870 to i64 %t1874 = mul i64 %t1873, %t1872 %t1875 = load ptr, ptr %t1864 %t1876 = call ptr @realloc(ptr %t1875, i64 %t1874) store ptr %t1876, ptr %t1864 store i32 %t1870, ptr %t1863 br label %put416 put416: %t1877 = load ptr, ptr %t1864 %t1878 = getelementptr inbounds ptr, ptr %t1877, i32 %t1865 store ptr @.str7433, ptr %t1878 %t1879 = add i32 %t1865, 1 store i32 %t1879, ptr %t1862 br label %ifend412 ifend412: %t1880 = load ptr, ptr %t1 %t1881 = call i32 @lp_str_eq(ptr %t1880, ptr @.str7434) %t1882 = icmp ne i32 %t1881, 0 br i1 %t1882, label %then417, label %ifend419 then417: store ptr @.str7435, ptr %t403 %t1883 = load ptr, ptr %t410 %t1884 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 1 %t1885 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 2 %t1886 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 0 %t1887 = load i32, ptr %t1884 %t1888 = load i32, ptr %t1885 %t1889 = icmp sge i32 %t1887, %t1888 br i1 %t1889, label %grow420, label %put421 grow420: %t1890 = mul i32 %t1888, 2 %t1891 = icmp eq i32 %t1888, 0 %t1892 = select i1 %t1891, i32 8, i32 %t1890 %t1893 = getelementptr ptr, ptr null, i32 1 %t1894 = ptrtoint ptr %t1893 to i64 %t1895 = zext i32 %t1892 to i64 %t1896 = mul i64 %t1895, %t1894 %t1897 = load ptr, ptr %t1886 %t1898 = call ptr @realloc(ptr %t1897, i64 %t1896) store ptr %t1898, ptr %t1886 store i32 %t1892, ptr %t1885 br label %put421 put421: %t1899 = load ptr, ptr %t1886 %t1900 = getelementptr inbounds ptr, ptr %t1899, i32 %t1887 store ptr @.str7436, ptr %t1900 %t1901 = add i32 %t1887, 1 store i32 %t1901, ptr %t1884 %t1902 = load ptr, ptr %t410 %t1903 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 1 %t1904 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 2 %t1905 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 0 %t1906 = load i32, ptr %t1903 %t1907 = load i32, ptr %t1904 %t1908 = icmp sge i32 %t1906, %t1907 br i1 %t1908, label %grow422, label %put423 grow422: %t1909 = mul i32 %t1907, 2 %t1910 = icmp eq i32 %t1907, 0 %t1911 = select i1 %t1910, i32 8, i32 %t1909 %t1912 = getelementptr ptr, ptr null, i32 1 %t1913 = ptrtoint ptr %t1912 to i64 %t1914 = zext i32 %t1911 to i64 %t1915 = mul i64 %t1914, %t1913 %t1916 = load ptr, ptr %t1905 %t1917 = call ptr @realloc(ptr %t1916, i64 %t1915) store ptr %t1917, ptr %t1905 store i32 %t1911, ptr %t1904 br label %put423 put423: %t1918 = load ptr, ptr %t1905 %t1919 = getelementptr inbounds ptr, ptr %t1918, i32 %t1906 store ptr @.str7437, ptr %t1919 %t1920 = add i32 %t1906, 1 store i32 %t1920, ptr %t1903 %t1921 = load ptr, ptr %t410 %t1922 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 1 %t1923 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 2 %t1924 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 0 %t1925 = load i32, ptr %t1922 %t1926 = load i32, ptr %t1923 %t1927 = icmp sge i32 %t1925, %t1926 br i1 %t1927, label %grow424, label %put425 grow424: %t1928 = mul i32 %t1926, 2 %t1929 = icmp eq i32 %t1926, 0 %t1930 = select i1 %t1929, i32 8, i32 %t1928 %t1931 = getelementptr ptr, ptr null, i32 1 %t1932 = ptrtoint ptr %t1931 to i64 %t1933 = zext i32 %t1930 to i64 %t1934 = mul i64 %t1933, %t1932 %t1935 = load ptr, ptr %t1924 %t1936 = call ptr @realloc(ptr %t1935, i64 %t1934) store ptr %t1936, ptr %t1924 store i32 %t1930, ptr %t1923 br label %put425 put425: %t1937 = load ptr, ptr %t1924 %t1938 = getelementptr inbounds ptr, ptr %t1937, i32 %t1925 store ptr @.str7438, ptr %t1938 %t1939 = add i32 %t1925, 1 store i32 %t1939, ptr %t1922 %t1940 = load ptr, ptr %t410 %t1941 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 1 %t1942 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 2 %t1943 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 0 %t1944 = load i32, ptr %t1941 %t1945 = load i32, ptr %t1942 %t1946 = icmp sge i32 %t1944, %t1945 br i1 %t1946, label %grow426, label %put427 grow426: %t1947 = mul i32 %t1945, 2 %t1948 = icmp eq i32 %t1945, 0 %t1949 = select i1 %t1948, i32 8, i32 %t1947 %t1950 = getelementptr ptr, ptr null, i32 1 %t1951 = ptrtoint ptr %t1950 to i64 %t1952 = zext i32 %t1949 to i64 %t1953 = mul i64 %t1952, %t1951 %t1954 = load ptr, ptr %t1943 %t1955 = call ptr @realloc(ptr %t1954, i64 %t1953) store ptr %t1955, ptr %t1943 store i32 %t1949, ptr %t1942 br label %put427 put427: %t1956 = load ptr, ptr %t1943 %t1957 = getelementptr inbounds ptr, ptr %t1956, i32 %t1944 store ptr @.str7439, ptr %t1957 %t1958 = add i32 %t1944, 1 store i32 %t1958, ptr %t1941 br label %ifend419 ifend419: %t1959 = load ptr, ptr %t1 %t1960 = call i32 @lp_str_eq(ptr %t1959, ptr @.str7440) %t1961 = icmp ne i32 %t1960, 0 br i1 %t1961, label %then428, label %ifend430 then428: store ptr @.str7441, ptr %t403 br label %ifend430 ifend430: %t1962 = load ptr, ptr %t1 %t1963 = call i32 @lp_str_eq(ptr %t1962, ptr @.str7442) %t1964 = icmp ne i32 %t1963, 0 br i1 %t1964, label %then431, label %ifend433 then431: store ptr @.str7443, ptr %t403 %t1965 = load ptr, ptr %t410 %t1966 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 1 %t1967 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 2 %t1968 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 0 %t1969 = load i32, ptr %t1966 %t1970 = load i32, ptr %t1967 %t1971 = icmp sge i32 %t1969, %t1970 br i1 %t1971, label %grow434, label %put435 grow434: %t1972 = mul i32 %t1970, 2 %t1973 = icmp eq i32 %t1970, 0 %t1974 = select i1 %t1973, i32 8, i32 %t1972 %t1975 = getelementptr ptr, ptr null, i32 1 %t1976 = ptrtoint ptr %t1975 to i64 %t1977 = zext i32 %t1974 to i64 %t1978 = mul i64 %t1977, %t1976 %t1979 = load ptr, ptr %t1968 %t1980 = call ptr @realloc(ptr %t1979, i64 %t1978) store ptr %t1980, ptr %t1968 store i32 %t1974, ptr %t1967 br label %put435 put435: %t1981 = load ptr, ptr %t1968 %t1982 = getelementptr inbounds ptr, ptr %t1981, i32 %t1969 store ptr @.str7444, ptr %t1982 %t1983 = add i32 %t1969, 1 store i32 %t1983, ptr %t1966 br label %ifend433 ifend433: %t1984 = load ptr, ptr %t1 %t1985 = call i32 @lp_str_eq(ptr %t1984, ptr @.str7445) %t1986 = icmp ne i32 %t1985, 0 br i1 %t1986, label %then436, label %ifend438 then436: store ptr @.str7446, ptr %t403 %t1987 = load ptr, ptr %t410 %t1988 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 1 %t1989 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 2 %t1990 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 0 %t1991 = load i32, ptr %t1988 %t1992 = load i32, ptr %t1989 %t1993 = icmp sge i32 %t1991, %t1992 br i1 %t1993, label %grow439, label %put440 grow439: %t1994 = mul i32 %t1992, 2 %t1995 = icmp eq i32 %t1992, 0 %t1996 = select i1 %t1995, i32 8, i32 %t1994 %t1997 = getelementptr ptr, ptr null, i32 1 %t1998 = ptrtoint ptr %t1997 to i64 %t1999 = zext i32 %t1996 to i64 %t2000 = mul i64 %t1999, %t1998 %t2001 = load ptr, ptr %t1990 %t2002 = call ptr @realloc(ptr %t2001, i64 %t2000) store ptr %t2002, ptr %t1990 store i32 %t1996, ptr %t1989 br label %put440 put440: %t2003 = load ptr, ptr %t1990 %t2004 = getelementptr inbounds ptr, ptr %t2003, i32 %t1991 store ptr @.str7447, ptr %t2004 %t2005 = add i32 %t1991, 1 store i32 %t2005, ptr %t1988 br label %ifend438 ifend438: %t2006 = load ptr, ptr %t1 %t2007 = call i32 @lp_str_eq(ptr %t2006, ptr @.str7448) %t2008 = icmp ne i32 %t2007, 0 br i1 %t2008, label %then441, label %ifend443 then441: store ptr @.str7449, ptr %t403 %t2009 = load ptr, ptr %t410 %t2010 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 1 %t2011 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 2 %t2012 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 0 %t2013 = load i32, ptr %t2010 %t2014 = load i32, ptr %t2011 %t2015 = icmp sge i32 %t2013, %t2014 br i1 %t2015, label %grow444, label %put445 grow444: %t2016 = mul i32 %t2014, 2 %t2017 = icmp eq i32 %t2014, 0 %t2018 = select i1 %t2017, i32 8, i32 %t2016 %t2019 = getelementptr ptr, ptr null, i32 1 %t2020 = ptrtoint ptr %t2019 to i64 %t2021 = zext i32 %t2018 to i64 %t2022 = mul i64 %t2021, %t2020 %t2023 = load ptr, ptr %t2012 %t2024 = call ptr @realloc(ptr %t2023, i64 %t2022) store ptr %t2024, ptr %t2012 store i32 %t2018, ptr %t2011 br label %put445 put445: %t2025 = load ptr, ptr %t2012 %t2026 = getelementptr inbounds ptr, ptr %t2025, i32 %t2013 store ptr @.str7450, ptr %t2026 %t2027 = add i32 %t2013, 1 store i32 %t2027, ptr %t2010 %t2028 = load ptr, ptr %t410 %t2029 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 1 %t2030 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 2 %t2031 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 0 %t2032 = load i32, ptr %t2029 %t2033 = load i32, ptr %t2030 %t2034 = icmp sge i32 %t2032, %t2033 br i1 %t2034, label %grow446, label %put447 grow446: %t2035 = mul i32 %t2033, 2 %t2036 = icmp eq i32 %t2033, 0 %t2037 = select i1 %t2036, i32 8, i32 %t2035 %t2038 = getelementptr ptr, ptr null, i32 1 %t2039 = ptrtoint ptr %t2038 to i64 %t2040 = zext i32 %t2037 to i64 %t2041 = mul i64 %t2040, %t2039 %t2042 = load ptr, ptr %t2031 %t2043 = call ptr @realloc(ptr %t2042, i64 %t2041) store ptr %t2043, ptr %t2031 store i32 %t2037, ptr %t2030 br label %put447 put447: %t2044 = load ptr, ptr %t2031 %t2045 = getelementptr inbounds ptr, ptr %t2044, i32 %t2032 store ptr @.str7451, ptr %t2045 %t2046 = add i32 %t2032, 1 store i32 %t2046, ptr %t2029 br label %ifend443 ifend443: br label %ifend208 ifend208: %t2047 = load ptr, ptr %t0 %t2048 = call i32 @lp_str_eq(ptr %t2047, ptr @.str7452) %t2049 = icmp ne i32 %t2048, 0 br i1 %t2049, label %then448, label %ifend450 then448: %t2050 = load ptr, ptr %t1 %t2051 = call i32 @lp_str_eq(ptr %t2050, ptr @.str7453) %t2052 = icmp ne i32 %t2051, 0 br i1 %t2052, label %then451, label %ifend453 then451: store ptr @.str7454, ptr %t403 %t2053 = load ptr, ptr %t410 %t2054 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 1 %t2055 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 2 %t2056 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 0 %t2057 = load i32, ptr %t2054 %t2058 = load i32, ptr %t2055 %t2059 = icmp sge i32 %t2057, %t2058 br i1 %t2059, label %grow454, label %put455 grow454: %t2060 = mul i32 %t2058, 2 %t2061 = icmp eq i32 %t2058, 0 %t2062 = select i1 %t2061, i32 8, i32 %t2060 %t2063 = getelementptr ptr, ptr null, i32 1 %t2064 = ptrtoint ptr %t2063 to i64 %t2065 = zext i32 %t2062 to i64 %t2066 = mul i64 %t2065, %t2064 %t2067 = load ptr, ptr %t2056 %t2068 = call ptr @realloc(ptr %t2067, i64 %t2066) store ptr %t2068, ptr %t2056 store i32 %t2062, ptr %t2055 br label %put455 put455: %t2069 = load ptr, ptr %t2056 %t2070 = getelementptr inbounds ptr, ptr %t2069, i32 %t2057 store ptr @.str7455, ptr %t2070 %t2071 = add i32 %t2057, 1 store i32 %t2071, ptr %t2054 %t2072 = load ptr, ptr %t410 %t2073 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 1 %t2074 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 2 %t2075 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 0 %t2076 = load i32, ptr %t2073 %t2077 = load i32, ptr %t2074 %t2078 = icmp sge i32 %t2076, %t2077 br i1 %t2078, label %grow456, label %put457 grow456: %t2079 = mul i32 %t2077, 2 %t2080 = icmp eq i32 %t2077, 0 %t2081 = select i1 %t2080, i32 8, i32 %t2079 %t2082 = getelementptr ptr, ptr null, i32 1 %t2083 = ptrtoint ptr %t2082 to i64 %t2084 = zext i32 %t2081 to i64 %t2085 = mul i64 %t2084, %t2083 %t2086 = load ptr, ptr %t2075 %t2087 = call ptr @realloc(ptr %t2086, i64 %t2085) store ptr %t2087, ptr %t2075 store i32 %t2081, ptr %t2074 br label %put457 put457: %t2088 = load ptr, ptr %t2075 %t2089 = getelementptr inbounds ptr, ptr %t2088, i32 %t2076 store ptr @.str7456, ptr %t2089 %t2090 = add i32 %t2076, 1 store i32 %t2090, ptr %t2073 %t2091 = load ptr, ptr %t410 %t2092 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 1 %t2093 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 2 %t2094 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 0 %t2095 = load i32, ptr %t2092 %t2096 = load i32, ptr %t2093 %t2097 = icmp sge i32 %t2095, %t2096 br i1 %t2097, label %grow458, label %put459 grow458: %t2098 = mul i32 %t2096, 2 %t2099 = icmp eq i32 %t2096, 0 %t2100 = select i1 %t2099, i32 8, i32 %t2098 %t2101 = getelementptr ptr, ptr null, i32 1 %t2102 = ptrtoint ptr %t2101 to i64 %t2103 = zext i32 %t2100 to i64 %t2104 = mul i64 %t2103, %t2102 %t2105 = load ptr, ptr %t2094 %t2106 = call ptr @realloc(ptr %t2105, i64 %t2104) store ptr %t2106, ptr %t2094 store i32 %t2100, ptr %t2093 br label %put459 put459: %t2107 = load ptr, ptr %t2094 %t2108 = getelementptr inbounds ptr, ptr %t2107, i32 %t2095 store ptr @.str7457, ptr %t2108 %t2109 = add i32 %t2095, 1 store i32 %t2109, ptr %t2092 br label %ifend453 ifend453: %t2110 = load ptr, ptr %t1 %t2111 = call i32 @lp_str_eq(ptr %t2110, ptr @.str7458) %t2112 = icmp ne i32 %t2111, 0 br i1 %t2112, label %then460, label %ifend462 then460: store ptr @.str7459, ptr %t403 %t2113 = load ptr, ptr %t410 %t2114 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 1 %t2115 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 2 %t2116 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 0 %t2117 = load i32, ptr %t2114 %t2118 = load i32, ptr %t2115 %t2119 = icmp sge i32 %t2117, %t2118 br i1 %t2119, label %grow463, label %put464 grow463: %t2120 = mul i32 %t2118, 2 %t2121 = icmp eq i32 %t2118, 0 %t2122 = select i1 %t2121, i32 8, i32 %t2120 %t2123 = getelementptr ptr, ptr null, i32 1 %t2124 = ptrtoint ptr %t2123 to i64 %t2125 = zext i32 %t2122 to i64 %t2126 = mul i64 %t2125, %t2124 %t2127 = load ptr, ptr %t2116 %t2128 = call ptr @realloc(ptr %t2127, i64 %t2126) store ptr %t2128, ptr %t2116 store i32 %t2122, ptr %t2115 br label %put464 put464: %t2129 = load ptr, ptr %t2116 %t2130 = getelementptr inbounds ptr, ptr %t2129, i32 %t2117 store ptr @.str7460, ptr %t2130 %t2131 = add i32 %t2117, 1 store i32 %t2131, ptr %t2114 %t2132 = load ptr, ptr %t410 %t2133 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 1 %t2134 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 2 %t2135 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 0 %t2136 = load i32, ptr %t2133 %t2137 = load i32, ptr %t2134 %t2138 = icmp sge i32 %t2136, %t2137 br i1 %t2138, label %grow465, label %put466 grow465: %t2139 = mul i32 %t2137, 2 %t2140 = icmp eq i32 %t2137, 0 %t2141 = select i1 %t2140, i32 8, i32 %t2139 %t2142 = getelementptr ptr, ptr null, i32 1 %t2143 = ptrtoint ptr %t2142 to i64 %t2144 = zext i32 %t2141 to i64 %t2145 = mul i64 %t2144, %t2143 %t2146 = load ptr, ptr %t2135 %t2147 = call ptr @realloc(ptr %t2146, i64 %t2145) store ptr %t2147, ptr %t2135 store i32 %t2141, ptr %t2134 br label %put466 put466: %t2148 = load ptr, ptr %t2135 %t2149 = getelementptr inbounds ptr, ptr %t2148, i32 %t2136 store ptr @.str7461, ptr %t2149 %t2150 = add i32 %t2136, 1 store i32 %t2150, ptr %t2133 %t2151 = load ptr, ptr %t410 %t2152 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 1 %t2153 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 2 %t2154 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 0 %t2155 = load i32, ptr %t2152 %t2156 = load i32, ptr %t2153 %t2157 = icmp sge i32 %t2155, %t2156 br i1 %t2157, label %grow467, label %put468 grow467: %t2158 = mul i32 %t2156, 2 %t2159 = icmp eq i32 %t2156, 0 %t2160 = select i1 %t2159, i32 8, i32 %t2158 %t2161 = getelementptr ptr, ptr null, i32 1 %t2162 = ptrtoint ptr %t2161 to i64 %t2163 = zext i32 %t2160 to i64 %t2164 = mul i64 %t2163, %t2162 %t2165 = load ptr, ptr %t2154 %t2166 = call ptr @realloc(ptr %t2165, i64 %t2164) store ptr %t2166, ptr %t2154 store i32 %t2160, ptr %t2153 br label %put468 put468: %t2167 = load ptr, ptr %t2154 %t2168 = getelementptr inbounds ptr, ptr %t2167, i32 %t2155 store ptr @.str7462, ptr %t2168 %t2169 = add i32 %t2155, 1 store i32 %t2169, ptr %t2152 br label %ifend462 ifend462: %t2170 = load ptr, ptr %t1 %t2171 = call i32 @lp_str_eq(ptr %t2170, ptr @.str7463) %t2172 = icmp ne i32 %t2171, 0 br i1 %t2172, label %then469, label %ifend471 then469: store ptr @.str7464, ptr %t403 %t2173 = load ptr, ptr %t410 %t2174 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 1 %t2175 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 2 %t2176 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 0 %t2177 = load i32, ptr %t2174 %t2178 = load i32, ptr %t2175 %t2179 = icmp sge i32 %t2177, %t2178 br i1 %t2179, label %grow472, label %put473 grow472: %t2180 = mul i32 %t2178, 2 %t2181 = icmp eq i32 %t2178, 0 %t2182 = select i1 %t2181, i32 8, i32 %t2180 %t2183 = getelementptr ptr, ptr null, i32 1 %t2184 = ptrtoint ptr %t2183 to i64 %t2185 = zext i32 %t2182 to i64 %t2186 = mul i64 %t2185, %t2184 %t2187 = load ptr, ptr %t2176 %t2188 = call ptr @realloc(ptr %t2187, i64 %t2186) store ptr %t2188, ptr %t2176 store i32 %t2182, ptr %t2175 br label %put473 put473: %t2189 = load ptr, ptr %t2176 %t2190 = getelementptr inbounds ptr, ptr %t2189, i32 %t2177 store ptr @.str7465, ptr %t2190 %t2191 = add i32 %t2177, 1 store i32 %t2191, ptr %t2174 %t2192 = load ptr, ptr %t410 %t2193 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 1 %t2194 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 2 %t2195 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 0 %t2196 = load i32, ptr %t2193 %t2197 = load i32, ptr %t2194 %t2198 = icmp sge i32 %t2196, %t2197 br i1 %t2198, label %grow474, label %put475 grow474: %t2199 = mul i32 %t2197, 2 %t2200 = icmp eq i32 %t2197, 0 %t2201 = select i1 %t2200, i32 8, i32 %t2199 %t2202 = getelementptr ptr, ptr null, i32 1 %t2203 = ptrtoint ptr %t2202 to i64 %t2204 = zext i32 %t2201 to i64 %t2205 = mul i64 %t2204, %t2203 %t2206 = load ptr, ptr %t2195 %t2207 = call ptr @realloc(ptr %t2206, i64 %t2205) store ptr %t2207, ptr %t2195 store i32 %t2201, ptr %t2194 br label %put475 put475: %t2208 = load ptr, ptr %t2195 %t2209 = getelementptr inbounds ptr, ptr %t2208, i32 %t2196 store ptr @.str7466, ptr %t2209 %t2210 = add i32 %t2196, 1 store i32 %t2210, ptr %t2193 %t2211 = load ptr, ptr %t410 %t2212 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 1 %t2213 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 2 %t2214 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 0 %t2215 = load i32, ptr %t2212 %t2216 = load i32, ptr %t2213 %t2217 = icmp sge i32 %t2215, %t2216 br i1 %t2217, label %grow476, label %put477 grow476: %t2218 = mul i32 %t2216, 2 %t2219 = icmp eq i32 %t2216, 0 %t2220 = select i1 %t2219, i32 8, i32 %t2218 %t2221 = getelementptr ptr, ptr null, i32 1 %t2222 = ptrtoint ptr %t2221 to i64 %t2223 = zext i32 %t2220 to i64 %t2224 = mul i64 %t2223, %t2222 %t2225 = load ptr, ptr %t2214 %t2226 = call ptr @realloc(ptr %t2225, i64 %t2224) store ptr %t2226, ptr %t2214 store i32 %t2220, ptr %t2213 br label %put477 put477: %t2227 = load ptr, ptr %t2214 %t2228 = getelementptr inbounds ptr, ptr %t2227, i32 %t2215 store ptr @.str7467, ptr %t2228 %t2229 = add i32 %t2215, 1 store i32 %t2229, ptr %t2212 %t2230 = load ptr, ptr %t410 %t2231 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 1 %t2232 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 2 %t2233 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 0 %t2234 = load i32, ptr %t2231 %t2235 = load i32, ptr %t2232 %t2236 = icmp sge i32 %t2234, %t2235 br i1 %t2236, label %grow478, label %put479 grow478: %t2237 = mul i32 %t2235, 2 %t2238 = icmp eq i32 %t2235, 0 %t2239 = select i1 %t2238, i32 8, i32 %t2237 %t2240 = getelementptr ptr, ptr null, i32 1 %t2241 = ptrtoint ptr %t2240 to i64 %t2242 = zext i32 %t2239 to i64 %t2243 = mul i64 %t2242, %t2241 %t2244 = load ptr, ptr %t2233 %t2245 = call ptr @realloc(ptr %t2244, i64 %t2243) store ptr %t2245, ptr %t2233 store i32 %t2239, ptr %t2232 br label %put479 put479: %t2246 = load ptr, ptr %t2233 %t2247 = getelementptr inbounds ptr, ptr %t2246, i32 %t2234 store ptr @.str7468, ptr %t2247 %t2248 = add i32 %t2234, 1 store i32 %t2248, ptr %t2231 %t2249 = load ptr, ptr %t410 %t2250 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 1 %t2251 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 2 %t2252 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 0 %t2253 = load i32, ptr %t2250 %t2254 = load i32, ptr %t2251 %t2255 = icmp sge i32 %t2253, %t2254 br i1 %t2255, label %grow480, label %put481 grow480: %t2256 = mul i32 %t2254, 2 %t2257 = icmp eq i32 %t2254, 0 %t2258 = select i1 %t2257, i32 8, i32 %t2256 %t2259 = getelementptr ptr, ptr null, i32 1 %t2260 = ptrtoint ptr %t2259 to i64 %t2261 = zext i32 %t2258 to i64 %t2262 = mul i64 %t2261, %t2260 %t2263 = load ptr, ptr %t2252 %t2264 = call ptr @realloc(ptr %t2263, i64 %t2262) store ptr %t2264, ptr %t2252 store i32 %t2258, ptr %t2251 br label %put481 put481: %t2265 = load ptr, ptr %t2252 %t2266 = getelementptr inbounds ptr, ptr %t2265, i32 %t2253 store ptr @.str7469, ptr %t2266 %t2267 = add i32 %t2253, 1 store i32 %t2267, ptr %t2250 br label %ifend471 ifend471: %t2268 = load ptr, ptr %t1 %t2269 = call i32 @lp_str_eq(ptr %t2268, ptr @.str7470) %t2270 = icmp ne i32 %t2269, 0 br i1 %t2270, label %then482, label %ifend484 then482: store ptr @.str7471, ptr %t403 %t2271 = load ptr, ptr %t410 %t2272 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 1 %t2273 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 2 %t2274 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 0 %t2275 = load i32, ptr %t2272 %t2276 = load i32, ptr %t2273 %t2277 = icmp sge i32 %t2275, %t2276 br i1 %t2277, label %grow485, label %put486 grow485: %t2278 = mul i32 %t2276, 2 %t2279 = icmp eq i32 %t2276, 0 %t2280 = select i1 %t2279, i32 8, i32 %t2278 %t2281 = getelementptr ptr, ptr null, i32 1 %t2282 = ptrtoint ptr %t2281 to i64 %t2283 = zext i32 %t2280 to i64 %t2284 = mul i64 %t2283, %t2282 %t2285 = load ptr, ptr %t2274 %t2286 = call ptr @realloc(ptr %t2285, i64 %t2284) store ptr %t2286, ptr %t2274 store i32 %t2280, ptr %t2273 br label %put486 put486: %t2287 = load ptr, ptr %t2274 %t2288 = getelementptr inbounds ptr, ptr %t2287, i32 %t2275 store ptr @.str7472, ptr %t2288 %t2289 = add i32 %t2275, 1 store i32 %t2289, ptr %t2272 %t2290 = load ptr, ptr %t410 %t2291 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 1 %t2292 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 2 %t2293 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 0 %t2294 = load i32, ptr %t2291 %t2295 = load i32, ptr %t2292 %t2296 = icmp sge i32 %t2294, %t2295 br i1 %t2296, label %grow487, label %put488 grow487: %t2297 = mul i32 %t2295, 2 %t2298 = icmp eq i32 %t2295, 0 %t2299 = select i1 %t2298, i32 8, i32 %t2297 %t2300 = getelementptr ptr, ptr null, i32 1 %t2301 = ptrtoint ptr %t2300 to i64 %t2302 = zext i32 %t2299 to i64 %t2303 = mul i64 %t2302, %t2301 %t2304 = load ptr, ptr %t2293 %t2305 = call ptr @realloc(ptr %t2304, i64 %t2303) store ptr %t2305, ptr %t2293 store i32 %t2299, ptr %t2292 br label %put488 put488: %t2306 = load ptr, ptr %t2293 %t2307 = getelementptr inbounds ptr, ptr %t2306, i32 %t2294 store ptr @.str7473, ptr %t2307 %t2308 = add i32 %t2294, 1 store i32 %t2308, ptr %t2291 %t2309 = load ptr, ptr %t410 %t2310 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 1 %t2311 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 2 %t2312 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 0 %t2313 = load i32, ptr %t2310 %t2314 = load i32, ptr %t2311 %t2315 = icmp sge i32 %t2313, %t2314 br i1 %t2315, label %grow489, label %put490 grow489: %t2316 = mul i32 %t2314, 2 %t2317 = icmp eq i32 %t2314, 0 %t2318 = select i1 %t2317, i32 8, i32 %t2316 %t2319 = getelementptr ptr, ptr null, i32 1 %t2320 = ptrtoint ptr %t2319 to i64 %t2321 = zext i32 %t2318 to i64 %t2322 = mul i64 %t2321, %t2320 %t2323 = load ptr, ptr %t2312 %t2324 = call ptr @realloc(ptr %t2323, i64 %t2322) store ptr %t2324, ptr %t2312 store i32 %t2318, ptr %t2311 br label %put490 put490: %t2325 = load ptr, ptr %t2312 %t2326 = getelementptr inbounds ptr, ptr %t2325, i32 %t2313 store ptr @.str7474, ptr %t2326 %t2327 = add i32 %t2313, 1 store i32 %t2327, ptr %t2310 %t2328 = load ptr, ptr %t410 %t2329 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 1 %t2330 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 2 %t2331 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 0 %t2332 = load i32, ptr %t2329 %t2333 = load i32, ptr %t2330 %t2334 = icmp sge i32 %t2332, %t2333 br i1 %t2334, label %grow491, label %put492 grow491: %t2335 = mul i32 %t2333, 2 %t2336 = icmp eq i32 %t2333, 0 %t2337 = select i1 %t2336, i32 8, i32 %t2335 %t2338 = getelementptr ptr, ptr null, i32 1 %t2339 = ptrtoint ptr %t2338 to i64 %t2340 = zext i32 %t2337 to i64 %t2341 = mul i64 %t2340, %t2339 %t2342 = load ptr, ptr %t2331 %t2343 = call ptr @realloc(ptr %t2342, i64 %t2341) store ptr %t2343, ptr %t2331 store i32 %t2337, ptr %t2330 br label %put492 put492: %t2344 = load ptr, ptr %t2331 %t2345 = getelementptr inbounds ptr, ptr %t2344, i32 %t2332 store ptr @.str7475, ptr %t2345 %t2346 = add i32 %t2332, 1 store i32 %t2346, ptr %t2329 %t2347 = load ptr, ptr %t410 %t2348 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 1 %t2349 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 2 %t2350 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 0 %t2351 = load i32, ptr %t2348 %t2352 = load i32, ptr %t2349 %t2353 = icmp sge i32 %t2351, %t2352 br i1 %t2353, label %grow493, label %put494 grow493: %t2354 = mul i32 %t2352, 2 %t2355 = icmp eq i32 %t2352, 0 %t2356 = select i1 %t2355, i32 8, i32 %t2354 %t2357 = getelementptr ptr, ptr null, i32 1 %t2358 = ptrtoint ptr %t2357 to i64 %t2359 = zext i32 %t2356 to i64 %t2360 = mul i64 %t2359, %t2358 %t2361 = load ptr, ptr %t2350 %t2362 = call ptr @realloc(ptr %t2361, i64 %t2360) store ptr %t2362, ptr %t2350 store i32 %t2356, ptr %t2349 br label %put494 put494: %t2363 = load ptr, ptr %t2350 %t2364 = getelementptr inbounds ptr, ptr %t2363, i32 %t2351 store ptr @.str7476, ptr %t2364 %t2365 = add i32 %t2351, 1 store i32 %t2365, ptr %t2348 br label %ifend484 ifend484: %t2366 = load ptr, ptr %t1 %t2367 = call i32 @lp_str_eq(ptr %t2366, ptr @.str7477) %t2368 = icmp ne i32 %t2367, 0 br i1 %t2368, label %then495, label %ifend497 then495: store ptr @.str7478, ptr %t403 %t2369 = load ptr, ptr %t410 %t2370 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 1 %t2371 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 2 %t2372 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 0 %t2373 = load i32, ptr %t2370 %t2374 = load i32, ptr %t2371 %t2375 = icmp sge i32 %t2373, %t2374 br i1 %t2375, label %grow498, label %put499 grow498: %t2376 = mul i32 %t2374, 2 %t2377 = icmp eq i32 %t2374, 0 %t2378 = select i1 %t2377, i32 8, i32 %t2376 %t2379 = getelementptr ptr, ptr null, i32 1 %t2380 = ptrtoint ptr %t2379 to i64 %t2381 = zext i32 %t2378 to i64 %t2382 = mul i64 %t2381, %t2380 %t2383 = load ptr, ptr %t2372 %t2384 = call ptr @realloc(ptr %t2383, i64 %t2382) store ptr %t2384, ptr %t2372 store i32 %t2378, ptr %t2371 br label %put499 put499: %t2385 = load ptr, ptr %t2372 %t2386 = getelementptr inbounds ptr, ptr %t2385, i32 %t2373 store ptr @.str7479, ptr %t2386 %t2387 = add i32 %t2373, 1 store i32 %t2387, ptr %t2370 %t2388 = load ptr, ptr %t410 %t2389 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 1 %t2390 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 2 %t2391 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 0 %t2392 = load i32, ptr %t2389 %t2393 = load i32, ptr %t2390 %t2394 = icmp sge i32 %t2392, %t2393 br i1 %t2394, label %grow500, label %put501 grow500: %t2395 = mul i32 %t2393, 2 %t2396 = icmp eq i32 %t2393, 0 %t2397 = select i1 %t2396, i32 8, i32 %t2395 %t2398 = getelementptr ptr, ptr null, i32 1 %t2399 = ptrtoint ptr %t2398 to i64 %t2400 = zext i32 %t2397 to i64 %t2401 = mul i64 %t2400, %t2399 %t2402 = load ptr, ptr %t2391 %t2403 = call ptr @realloc(ptr %t2402, i64 %t2401) store ptr %t2403, ptr %t2391 store i32 %t2397, ptr %t2390 br label %put501 put501: %t2404 = load ptr, ptr %t2391 %t2405 = getelementptr inbounds ptr, ptr %t2404, i32 %t2392 store ptr @.str7480, ptr %t2405 %t2406 = add i32 %t2392, 1 store i32 %t2406, ptr %t2389 %t2407 = load ptr, ptr %t410 %t2408 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 1 %t2409 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 2 %t2410 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 0 %t2411 = load i32, ptr %t2408 %t2412 = load i32, ptr %t2409 %t2413 = icmp sge i32 %t2411, %t2412 br i1 %t2413, label %grow502, label %put503 grow502: %t2414 = mul i32 %t2412, 2 %t2415 = icmp eq i32 %t2412, 0 %t2416 = select i1 %t2415, i32 8, i32 %t2414 %t2417 = getelementptr ptr, ptr null, i32 1 %t2418 = ptrtoint ptr %t2417 to i64 %t2419 = zext i32 %t2416 to i64 %t2420 = mul i64 %t2419, %t2418 %t2421 = load ptr, ptr %t2410 %t2422 = call ptr @realloc(ptr %t2421, i64 %t2420) store ptr %t2422, ptr %t2410 store i32 %t2416, ptr %t2409 br label %put503 put503: %t2423 = load ptr, ptr %t2410 %t2424 = getelementptr inbounds ptr, ptr %t2423, i32 %t2411 store ptr @.str7481, ptr %t2424 %t2425 = add i32 %t2411, 1 store i32 %t2425, ptr %t2408 %t2426 = load ptr, ptr %t410 %t2427 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 1 %t2428 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 2 %t2429 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 0 %t2430 = load i32, ptr %t2427 %t2431 = load i32, ptr %t2428 %t2432 = icmp sge i32 %t2430, %t2431 br i1 %t2432, label %grow504, label %put505 grow504: %t2433 = mul i32 %t2431, 2 %t2434 = icmp eq i32 %t2431, 0 %t2435 = select i1 %t2434, i32 8, i32 %t2433 %t2436 = getelementptr ptr, ptr null, i32 1 %t2437 = ptrtoint ptr %t2436 to i64 %t2438 = zext i32 %t2435 to i64 %t2439 = mul i64 %t2438, %t2437 %t2440 = load ptr, ptr %t2429 %t2441 = call ptr @realloc(ptr %t2440, i64 %t2439) store ptr %t2441, ptr %t2429 store i32 %t2435, ptr %t2428 br label %put505 put505: %t2442 = load ptr, ptr %t2429 %t2443 = getelementptr inbounds ptr, ptr %t2442, i32 %t2430 store ptr @.str7482, ptr %t2443 %t2444 = add i32 %t2430, 1 store i32 %t2444, ptr %t2427 br label %ifend497 ifend497: %t2445 = load ptr, ptr %t1 %t2446 = call i32 @lp_str_eq(ptr %t2445, ptr @.str7483) %t2447 = icmp ne i32 %t2446, 0 br i1 %t2447, label %then506, label %ifend508 then506: store ptr @.str7484, ptr %t403 %t2448 = load ptr, ptr %t410 %t2449 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 1 %t2450 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 2 %t2451 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 0 %t2452 = load i32, ptr %t2449 %t2453 = load i32, ptr %t2450 %t2454 = icmp sge i32 %t2452, %t2453 br i1 %t2454, label %grow509, label %put510 grow509: %t2455 = mul i32 %t2453, 2 %t2456 = icmp eq i32 %t2453, 0 %t2457 = select i1 %t2456, i32 8, i32 %t2455 %t2458 = getelementptr ptr, ptr null, i32 1 %t2459 = ptrtoint ptr %t2458 to i64 %t2460 = zext i32 %t2457 to i64 %t2461 = mul i64 %t2460, %t2459 %t2462 = load ptr, ptr %t2451 %t2463 = call ptr @realloc(ptr %t2462, i64 %t2461) store ptr %t2463, ptr %t2451 store i32 %t2457, ptr %t2450 br label %put510 put510: %t2464 = load ptr, ptr %t2451 %t2465 = getelementptr inbounds ptr, ptr %t2464, i32 %t2452 store ptr @.str7485, ptr %t2465 %t2466 = add i32 %t2452, 1 store i32 %t2466, ptr %t2449 br label %ifend508 ifend508: %t2467 = load ptr, ptr %t1 %t2468 = call i32 @lp_str_eq(ptr %t2467, ptr @.str7486) %t2469 = icmp ne i32 %t2468, 0 br i1 %t2469, label %then511, label %ifend513 then511: store ptr @.str7487, ptr %t403 %t2470 = load ptr, ptr %t410 %t2471 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 1 %t2472 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 2 %t2473 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 0 %t2474 = load i32, ptr %t2471 %t2475 = load i32, ptr %t2472 %t2476 = icmp sge i32 %t2474, %t2475 br i1 %t2476, label %grow514, label %put515 grow514: %t2477 = mul i32 %t2475, 2 %t2478 = icmp eq i32 %t2475, 0 %t2479 = select i1 %t2478, i32 8, i32 %t2477 %t2480 = getelementptr ptr, ptr null, i32 1 %t2481 = ptrtoint ptr %t2480 to i64 %t2482 = zext i32 %t2479 to i64 %t2483 = mul i64 %t2482, %t2481 %t2484 = load ptr, ptr %t2473 %t2485 = call ptr @realloc(ptr %t2484, i64 %t2483) store ptr %t2485, ptr %t2473 store i32 %t2479, ptr %t2472 br label %put515 put515: %t2486 = load ptr, ptr %t2473 %t2487 = getelementptr inbounds ptr, ptr %t2486, i32 %t2474 store ptr @.str7488, ptr %t2487 %t2488 = add i32 %t2474, 1 store i32 %t2488, ptr %t2471 %t2489 = load ptr, ptr %t410 %t2490 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 1 %t2491 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 2 %t2492 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 0 %t2493 = load i32, ptr %t2490 %t2494 = load i32, ptr %t2491 %t2495 = icmp sge i32 %t2493, %t2494 br i1 %t2495, label %grow516, label %put517 grow516: %t2496 = mul i32 %t2494, 2 %t2497 = icmp eq i32 %t2494, 0 %t2498 = select i1 %t2497, i32 8, i32 %t2496 %t2499 = getelementptr ptr, ptr null, i32 1 %t2500 = ptrtoint ptr %t2499 to i64 %t2501 = zext i32 %t2498 to i64 %t2502 = mul i64 %t2501, %t2500 %t2503 = load ptr, ptr %t2492 %t2504 = call ptr @realloc(ptr %t2503, i64 %t2502) store ptr %t2504, ptr %t2492 store i32 %t2498, ptr %t2491 br label %put517 put517: %t2505 = load ptr, ptr %t2492 %t2506 = getelementptr inbounds ptr, ptr %t2505, i32 %t2493 store ptr @.str7489, ptr %t2506 %t2507 = add i32 %t2493, 1 store i32 %t2507, ptr %t2490 %t2508 = load ptr, ptr %t410 %t2509 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 1 %t2510 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 2 %t2511 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 0 %t2512 = load i32, ptr %t2509 %t2513 = load i32, ptr %t2510 %t2514 = icmp sge i32 %t2512, %t2513 br i1 %t2514, label %grow518, label %put519 grow518: %t2515 = mul i32 %t2513, 2 %t2516 = icmp eq i32 %t2513, 0 %t2517 = select i1 %t2516, i32 8, i32 %t2515 %t2518 = getelementptr ptr, ptr null, i32 1 %t2519 = ptrtoint ptr %t2518 to i64 %t2520 = zext i32 %t2517 to i64 %t2521 = mul i64 %t2520, %t2519 %t2522 = load ptr, ptr %t2511 %t2523 = call ptr @realloc(ptr %t2522, i64 %t2521) store ptr %t2523, ptr %t2511 store i32 %t2517, ptr %t2510 br label %put519 put519: %t2524 = load ptr, ptr %t2511 %t2525 = getelementptr inbounds ptr, ptr %t2524, i32 %t2512 store ptr @.str7490, ptr %t2525 %t2526 = add i32 %t2512, 1 store i32 %t2526, ptr %t2509 br label %ifend513 ifend513: %t2527 = load ptr, ptr %t1 %t2528 = call i32 @lp_str_eq(ptr %t2527, ptr @.str7491) %t2529 = icmp ne i32 %t2528, 0 br i1 %t2529, label %then520, label %ifend522 then520: store ptr @.str7492, ptr %t403 %t2530 = load ptr, ptr %t410 %t2531 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 1 %t2532 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 2 %t2533 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 0 %t2534 = load i32, ptr %t2531 %t2535 = load i32, ptr %t2532 %t2536 = icmp sge i32 %t2534, %t2535 br i1 %t2536, label %grow523, label %put524 grow523: %t2537 = mul i32 %t2535, 2 %t2538 = icmp eq i32 %t2535, 0 %t2539 = select i1 %t2538, i32 8, i32 %t2537 %t2540 = getelementptr ptr, ptr null, i32 1 %t2541 = ptrtoint ptr %t2540 to i64 %t2542 = zext i32 %t2539 to i64 %t2543 = mul i64 %t2542, %t2541 %t2544 = load ptr, ptr %t2533 %t2545 = call ptr @realloc(ptr %t2544, i64 %t2543) store ptr %t2545, ptr %t2533 store i32 %t2539, ptr %t2532 br label %put524 put524: %t2546 = load ptr, ptr %t2533 %t2547 = getelementptr inbounds ptr, ptr %t2546, i32 %t2534 store ptr @.str7493, ptr %t2547 %t2548 = add i32 %t2534, 1 store i32 %t2548, ptr %t2531 %t2549 = load ptr, ptr %t410 %t2550 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 1 %t2551 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 2 %t2552 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 0 %t2553 = load i32, ptr %t2550 %t2554 = load i32, ptr %t2551 %t2555 = icmp sge i32 %t2553, %t2554 br i1 %t2555, label %grow525, label %put526 grow525: %t2556 = mul i32 %t2554, 2 %t2557 = icmp eq i32 %t2554, 0 %t2558 = select i1 %t2557, i32 8, i32 %t2556 %t2559 = getelementptr ptr, ptr null, i32 1 %t2560 = ptrtoint ptr %t2559 to i64 %t2561 = zext i32 %t2558 to i64 %t2562 = mul i64 %t2561, %t2560 %t2563 = load ptr, ptr %t2552 %t2564 = call ptr @realloc(ptr %t2563, i64 %t2562) store ptr %t2564, ptr %t2552 store i32 %t2558, ptr %t2551 br label %put526 put526: %t2565 = load ptr, ptr %t2552 %t2566 = getelementptr inbounds ptr, ptr %t2565, i32 %t2553 store ptr @.str7494, ptr %t2566 %t2567 = add i32 %t2553, 1 store i32 %t2567, ptr %t2550 %t2568 = load ptr, ptr %t410 %t2569 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 1 %t2570 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 2 %t2571 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 0 %t2572 = load i32, ptr %t2569 %t2573 = load i32, ptr %t2570 %t2574 = icmp sge i32 %t2572, %t2573 br i1 %t2574, label %grow527, label %put528 grow527: %t2575 = mul i32 %t2573, 2 %t2576 = icmp eq i32 %t2573, 0 %t2577 = select i1 %t2576, i32 8, i32 %t2575 %t2578 = getelementptr ptr, ptr null, i32 1 %t2579 = ptrtoint ptr %t2578 to i64 %t2580 = zext i32 %t2577 to i64 %t2581 = mul i64 %t2580, %t2579 %t2582 = load ptr, ptr %t2571 %t2583 = call ptr @realloc(ptr %t2582, i64 %t2581) store ptr %t2583, ptr %t2571 store i32 %t2577, ptr %t2570 br label %put528 put528: %t2584 = load ptr, ptr %t2571 %t2585 = getelementptr inbounds ptr, ptr %t2584, i32 %t2572 store ptr @.str7495, ptr %t2585 %t2586 = add i32 %t2572, 1 store i32 %t2586, ptr %t2569 %t2587 = load ptr, ptr %t410 %t2588 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 1 %t2589 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 2 %t2590 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 0 %t2591 = load i32, ptr %t2588 %t2592 = load i32, ptr %t2589 %t2593 = icmp sge i32 %t2591, %t2592 br i1 %t2593, label %grow529, label %put530 grow529: %t2594 = mul i32 %t2592, 2 %t2595 = icmp eq i32 %t2592, 0 %t2596 = select i1 %t2595, i32 8, i32 %t2594 %t2597 = getelementptr ptr, ptr null, i32 1 %t2598 = ptrtoint ptr %t2597 to i64 %t2599 = zext i32 %t2596 to i64 %t2600 = mul i64 %t2599, %t2598 %t2601 = load ptr, ptr %t2590 %t2602 = call ptr @realloc(ptr %t2601, i64 %t2600) store ptr %t2602, ptr %t2590 store i32 %t2596, ptr %t2589 br label %put530 put530: %t2603 = load ptr, ptr %t2590 %t2604 = getelementptr inbounds ptr, ptr %t2603, i32 %t2591 store ptr @.str7496, ptr %t2604 %t2605 = add i32 %t2591, 1 store i32 %t2605, ptr %t2588 br label %ifend522 ifend522: %t2606 = load ptr, ptr %t1 %t2607 = call i32 @lp_str_eq(ptr %t2606, ptr @.str7497) %t2608 = icmp ne i32 %t2607, 0 br i1 %t2608, label %then531, label %ifend533 then531: store ptr @.str7498, ptr %t403 %t2609 = load ptr, ptr %t410 %t2610 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 1 %t2611 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 2 %t2612 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 0 %t2613 = load i32, ptr %t2610 %t2614 = load i32, ptr %t2611 %t2615 = icmp sge i32 %t2613, %t2614 br i1 %t2615, label %grow534, label %put535 grow534: %t2616 = mul i32 %t2614, 2 %t2617 = icmp eq i32 %t2614, 0 %t2618 = select i1 %t2617, i32 8, i32 %t2616 %t2619 = getelementptr ptr, ptr null, i32 1 %t2620 = ptrtoint ptr %t2619 to i64 %t2621 = zext i32 %t2618 to i64 %t2622 = mul i64 %t2621, %t2620 %t2623 = load ptr, ptr %t2612 %t2624 = call ptr @realloc(ptr %t2623, i64 %t2622) store ptr %t2624, ptr %t2612 store i32 %t2618, ptr %t2611 br label %put535 put535: %t2625 = load ptr, ptr %t2612 %t2626 = getelementptr inbounds ptr, ptr %t2625, i32 %t2613 store ptr @.str7499, ptr %t2626 %t2627 = add i32 %t2613, 1 store i32 %t2627, ptr %t2610 %t2628 = load ptr, ptr %t410 %t2629 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 1 %t2630 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 2 %t2631 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 0 %t2632 = load i32, ptr %t2629 %t2633 = load i32, ptr %t2630 %t2634 = icmp sge i32 %t2632, %t2633 br i1 %t2634, label %grow536, label %put537 grow536: %t2635 = mul i32 %t2633, 2 %t2636 = icmp eq i32 %t2633, 0 %t2637 = select i1 %t2636, i32 8, i32 %t2635 %t2638 = getelementptr ptr, ptr null, i32 1 %t2639 = ptrtoint ptr %t2638 to i64 %t2640 = zext i32 %t2637 to i64 %t2641 = mul i64 %t2640, %t2639 %t2642 = load ptr, ptr %t2631 %t2643 = call ptr @realloc(ptr %t2642, i64 %t2641) store ptr %t2643, ptr %t2631 store i32 %t2637, ptr %t2630 br label %put537 put537: %t2644 = load ptr, ptr %t2631 %t2645 = getelementptr inbounds ptr, ptr %t2644, i32 %t2632 store ptr @.str7500, ptr %t2645 %t2646 = add i32 %t2632, 1 store i32 %t2646, ptr %t2629 %t2647 = load ptr, ptr %t410 %t2648 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 1 %t2649 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 2 %t2650 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 0 %t2651 = load i32, ptr %t2648 %t2652 = load i32, ptr %t2649 %t2653 = icmp sge i32 %t2651, %t2652 br i1 %t2653, label %grow538, label %put539 grow538: %t2654 = mul i32 %t2652, 2 %t2655 = icmp eq i32 %t2652, 0 %t2656 = select i1 %t2655, i32 8, i32 %t2654 %t2657 = getelementptr ptr, ptr null, i32 1 %t2658 = ptrtoint ptr %t2657 to i64 %t2659 = zext i32 %t2656 to i64 %t2660 = mul i64 %t2659, %t2658 %t2661 = load ptr, ptr %t2650 %t2662 = call ptr @realloc(ptr %t2661, i64 %t2660) store ptr %t2662, ptr %t2650 store i32 %t2656, ptr %t2649 br label %put539 put539: %t2663 = load ptr, ptr %t2650 %t2664 = getelementptr inbounds ptr, ptr %t2663, i32 %t2651 store ptr @.str7501, ptr %t2664 %t2665 = add i32 %t2651, 1 store i32 %t2665, ptr %t2648 %t2666 = load ptr, ptr %t410 %t2667 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 1 %t2668 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 2 %t2669 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 0 %t2670 = load i32, ptr %t2667 %t2671 = load i32, ptr %t2668 %t2672 = icmp sge i32 %t2670, %t2671 br i1 %t2672, label %grow540, label %put541 grow540: %t2673 = mul i32 %t2671, 2 %t2674 = icmp eq i32 %t2671, 0 %t2675 = select i1 %t2674, i32 8, i32 %t2673 %t2676 = getelementptr ptr, ptr null, i32 1 %t2677 = ptrtoint ptr %t2676 to i64 %t2678 = zext i32 %t2675 to i64 %t2679 = mul i64 %t2678, %t2677 %t2680 = load ptr, ptr %t2669 %t2681 = call ptr @realloc(ptr %t2680, i64 %t2679) store ptr %t2681, ptr %t2669 store i32 %t2675, ptr %t2668 br label %put541 put541: %t2682 = load ptr, ptr %t2669 %t2683 = getelementptr inbounds ptr, ptr %t2682, i32 %t2670 store ptr @.str7502, ptr %t2683 %t2684 = add i32 %t2670, 1 store i32 %t2684, ptr %t2667 %t2685 = load ptr, ptr %t410 %t2686 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 1 %t2687 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 2 %t2688 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 0 %t2689 = load i32, ptr %t2686 %t2690 = load i32, ptr %t2687 %t2691 = icmp sge i32 %t2689, %t2690 br i1 %t2691, label %grow542, label %put543 grow542: %t2692 = mul i32 %t2690, 2 %t2693 = icmp eq i32 %t2690, 0 %t2694 = select i1 %t2693, i32 8, i32 %t2692 %t2695 = getelementptr ptr, ptr null, i32 1 %t2696 = ptrtoint ptr %t2695 to i64 %t2697 = zext i32 %t2694 to i64 %t2698 = mul i64 %t2697, %t2696 %t2699 = load ptr, ptr %t2688 %t2700 = call ptr @realloc(ptr %t2699, i64 %t2698) store ptr %t2700, ptr %t2688 store i32 %t2694, ptr %t2687 br label %put543 put543: %t2701 = load ptr, ptr %t2688 %t2702 = getelementptr inbounds ptr, ptr %t2701, i32 %t2689 store ptr @.str7503, ptr %t2702 %t2703 = add i32 %t2689, 1 store i32 %t2703, ptr %t2686 %t2704 = load ptr, ptr %t410 %t2705 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 1 %t2706 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 2 %t2707 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 0 %t2708 = load i32, ptr %t2705 %t2709 = load i32, ptr %t2706 %t2710 = icmp sge i32 %t2708, %t2709 br i1 %t2710, label %grow544, label %put545 grow544: %t2711 = mul i32 %t2709, 2 %t2712 = icmp eq i32 %t2709, 0 %t2713 = select i1 %t2712, i32 8, i32 %t2711 %t2714 = getelementptr ptr, ptr null, i32 1 %t2715 = ptrtoint ptr %t2714 to i64 %t2716 = zext i32 %t2713 to i64 %t2717 = mul i64 %t2716, %t2715 %t2718 = load ptr, ptr %t2707 %t2719 = call ptr @realloc(ptr %t2718, i64 %t2717) store ptr %t2719, ptr %t2707 store i32 %t2713, ptr %t2706 br label %put545 put545: %t2720 = load ptr, ptr %t2707 %t2721 = getelementptr inbounds ptr, ptr %t2720, i32 %t2708 store ptr @.str7504, ptr %t2721 %t2722 = add i32 %t2708, 1 store i32 %t2722, ptr %t2705 %t2723 = load ptr, ptr %t410 %t2724 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 1 %t2725 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 2 %t2726 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 0 %t2727 = load i32, ptr %t2724 %t2728 = load i32, ptr %t2725 %t2729 = icmp sge i32 %t2727, %t2728 br i1 %t2729, label %grow546, label %put547 grow546: %t2730 = mul i32 %t2728, 2 %t2731 = icmp eq i32 %t2728, 0 %t2732 = select i1 %t2731, i32 8, i32 %t2730 %t2733 = getelementptr ptr, ptr null, i32 1 %t2734 = ptrtoint ptr %t2733 to i64 %t2735 = zext i32 %t2732 to i64 %t2736 = mul i64 %t2735, %t2734 %t2737 = load ptr, ptr %t2726 %t2738 = call ptr @realloc(ptr %t2737, i64 %t2736) store ptr %t2738, ptr %t2726 store i32 %t2732, ptr %t2725 br label %put547 put547: %t2739 = load ptr, ptr %t2726 %t2740 = getelementptr inbounds ptr, ptr %t2739, i32 %t2727 store ptr @.str7505, ptr %t2740 %t2741 = add i32 %t2727, 1 store i32 %t2741, ptr %t2724 %t2742 = load ptr, ptr %t410 %t2743 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 1 %t2744 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 2 %t2745 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 0 %t2746 = load i32, ptr %t2743 %t2747 = load i32, ptr %t2744 %t2748 = icmp sge i32 %t2746, %t2747 br i1 %t2748, label %grow548, label %put549 grow548: %t2749 = mul i32 %t2747, 2 %t2750 = icmp eq i32 %t2747, 0 %t2751 = select i1 %t2750, i32 8, i32 %t2749 %t2752 = getelementptr ptr, ptr null, i32 1 %t2753 = ptrtoint ptr %t2752 to i64 %t2754 = zext i32 %t2751 to i64 %t2755 = mul i64 %t2754, %t2753 %t2756 = load ptr, ptr %t2745 %t2757 = call ptr @realloc(ptr %t2756, i64 %t2755) store ptr %t2757, ptr %t2745 store i32 %t2751, ptr %t2744 br label %put549 put549: %t2758 = load ptr, ptr %t2745 %t2759 = getelementptr inbounds ptr, ptr %t2758, i32 %t2746 store ptr @.str7506, ptr %t2759 %t2760 = add i32 %t2746, 1 store i32 %t2760, ptr %t2743 %t2761 = load ptr, ptr %t410 %t2762 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 1 %t2763 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 2 %t2764 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 0 %t2765 = load i32, ptr %t2762 %t2766 = load i32, ptr %t2763 %t2767 = icmp sge i32 %t2765, %t2766 br i1 %t2767, label %grow550, label %put551 grow550: %t2768 = mul i32 %t2766, 2 %t2769 = icmp eq i32 %t2766, 0 %t2770 = select i1 %t2769, i32 8, i32 %t2768 %t2771 = getelementptr ptr, ptr null, i32 1 %t2772 = ptrtoint ptr %t2771 to i64 %t2773 = zext i32 %t2770 to i64 %t2774 = mul i64 %t2773, %t2772 %t2775 = load ptr, ptr %t2764 %t2776 = call ptr @realloc(ptr %t2775, i64 %t2774) store ptr %t2776, ptr %t2764 store i32 %t2770, ptr %t2763 br label %put551 put551: %t2777 = load ptr, ptr %t2764 %t2778 = getelementptr inbounds ptr, ptr %t2777, i32 %t2765 store ptr @.str7507, ptr %t2778 %t2779 = add i32 %t2765, 1 store i32 %t2779, ptr %t2762 br label %ifend533 ifend533: %t2780 = load ptr, ptr %t1 %t2781 = call i32 @lp_str_eq(ptr %t2780, ptr @.str7508) %t2782 = icmp ne i32 %t2781, 0 br i1 %t2782, label %then552, label %ifend554 then552: store ptr @.str7509, ptr %t403 %t2783 = load ptr, ptr %t410 %t2784 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 1 %t2785 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 2 %t2786 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 0 %t2787 = load i32, ptr %t2784 %t2788 = load i32, ptr %t2785 %t2789 = icmp sge i32 %t2787, %t2788 br i1 %t2789, label %grow555, label %put556 grow555: %t2790 = mul i32 %t2788, 2 %t2791 = icmp eq i32 %t2788, 0 %t2792 = select i1 %t2791, i32 8, i32 %t2790 %t2793 = getelementptr ptr, ptr null, i32 1 %t2794 = ptrtoint ptr %t2793 to i64 %t2795 = zext i32 %t2792 to i64 %t2796 = mul i64 %t2795, %t2794 %t2797 = load ptr, ptr %t2786 %t2798 = call ptr @realloc(ptr %t2797, i64 %t2796) store ptr %t2798, ptr %t2786 store i32 %t2792, ptr %t2785 br label %put556 put556: %t2799 = load ptr, ptr %t2786 %t2800 = getelementptr inbounds ptr, ptr %t2799, i32 %t2787 store ptr @.str7510, ptr %t2800 %t2801 = add i32 %t2787, 1 store i32 %t2801, ptr %t2784 br label %ifend554 ifend554: %t2802 = load ptr, ptr %t1 %t2803 = call i32 @lp_str_eq(ptr %t2802, ptr @.str7511) %t2804 = icmp ne i32 %t2803, 0 br i1 %t2804, label %then557, label %ifend559 then557: store ptr @.str7512, ptr %t403 %t2805 = load ptr, ptr %t410 %t2806 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 1 %t2807 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 2 %t2808 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 0 %t2809 = load i32, ptr %t2806 %t2810 = load i32, ptr %t2807 %t2811 = icmp sge i32 %t2809, %t2810 br i1 %t2811, label %grow560, label %put561 grow560: %t2812 = mul i32 %t2810, 2 %t2813 = icmp eq i32 %t2810, 0 %t2814 = select i1 %t2813, i32 8, i32 %t2812 %t2815 = getelementptr ptr, ptr null, i32 1 %t2816 = ptrtoint ptr %t2815 to i64 %t2817 = zext i32 %t2814 to i64 %t2818 = mul i64 %t2817, %t2816 %t2819 = load ptr, ptr %t2808 %t2820 = call ptr @realloc(ptr %t2819, i64 %t2818) store ptr %t2820, ptr %t2808 store i32 %t2814, ptr %t2807 br label %put561 put561: %t2821 = load ptr, ptr %t2808 %t2822 = getelementptr inbounds ptr, ptr %t2821, i32 %t2809 store ptr @.str7513, ptr %t2822 %t2823 = add i32 %t2809, 1 store i32 %t2823, ptr %t2806 br label %ifend559 ifend559: br label %ifend450 ifend450: %t2824 = load ptr, ptr %t0 %t2825 = call i32 @lp_str_eq(ptr %t2824, ptr @.str7514) %t2826 = icmp ne i32 %t2825, 0 br i1 %t2826, label %then562, label %ifend564 then562: %t2827 = load ptr, ptr %t1 %t2828 = call i32 @lp_str_eq(ptr %t2827, ptr @.str7515) %t2829 = icmp ne i32 %t2828, 0 br i1 %t2829, label %then565, label %ifend567 then565: store ptr @.str7516, ptr %t403 %t2830 = load ptr, ptr %t410 %t2831 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 1 %t2832 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 2 %t2833 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 0 %t2834 = load i32, ptr %t2831 %t2835 = load i32, ptr %t2832 %t2836 = icmp sge i32 %t2834, %t2835 br i1 %t2836, label %grow568, label %put569 grow568: %t2837 = mul i32 %t2835, 2 %t2838 = icmp eq i32 %t2835, 0 %t2839 = select i1 %t2838, i32 8, i32 %t2837 %t2840 = getelementptr ptr, ptr null, i32 1 %t2841 = ptrtoint ptr %t2840 to i64 %t2842 = zext i32 %t2839 to i64 %t2843 = mul i64 %t2842, %t2841 %t2844 = load ptr, ptr %t2833 %t2845 = call ptr @realloc(ptr %t2844, i64 %t2843) store ptr %t2845, ptr %t2833 store i32 %t2839, ptr %t2832 br label %put569 put569: %t2846 = load ptr, ptr %t2833 %t2847 = getelementptr inbounds ptr, ptr %t2846, i32 %t2834 store ptr @.str7517, ptr %t2847 %t2848 = add i32 %t2834, 1 store i32 %t2848, ptr %t2831 br label %ifend567 ifend567: br label %ifend564 ifend564: %t2849 = load ptr, ptr %t0 %t2850 = call i32 @lp_str_eq(ptr %t2849, ptr @.str7518) %t2851 = icmp ne i32 %t2850, 0 br i1 %t2851, label %then570, label %ifend572 then570: %t2852 = load ptr, ptr %t1 %t2853 = call i32 @lp_str_eq(ptr %t2852, ptr @.str7519) %t2854 = icmp ne i32 %t2853, 0 br i1 %t2854, label %then573, label %ifend575 then573: store ptr @.str7520, ptr %t403 br label %ifend575 ifend575: %t2855 = load ptr, ptr %t1 %t2856 = call i32 @lp_str_eq(ptr %t2855, ptr @.str7521) %t2857 = icmp ne i32 %t2856, 0 br i1 %t2857, label %then576, label %ifend578 then576: store ptr @.str7522, ptr %t403 %t2858 = load ptr, ptr %t410 %t2859 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 1 %t2860 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 2 %t2861 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 0 %t2862 = load i32, ptr %t2859 %t2863 = load i32, ptr %t2860 %t2864 = icmp sge i32 %t2862, %t2863 br i1 %t2864, label %grow579, label %put580 grow579: %t2865 = mul i32 %t2863, 2 %t2866 = icmp eq i32 %t2863, 0 %t2867 = select i1 %t2866, i32 8, i32 %t2865 %t2868 = getelementptr ptr, ptr null, i32 1 %t2869 = ptrtoint ptr %t2868 to i64 %t2870 = zext i32 %t2867 to i64 %t2871 = mul i64 %t2870, %t2869 %t2872 = load ptr, ptr %t2861 %t2873 = call ptr @realloc(ptr %t2872, i64 %t2871) store ptr %t2873, ptr %t2861 store i32 %t2867, ptr %t2860 br label %put580 put580: %t2874 = load ptr, ptr %t2861 %t2875 = getelementptr inbounds ptr, ptr %t2874, i32 %t2862 store ptr @.str7523, ptr %t2875 %t2876 = add i32 %t2862, 1 store i32 %t2876, ptr %t2859 br label %ifend578 ifend578: %t2877 = load ptr, ptr %t1 %t2878 = call i32 @lp_str_eq(ptr %t2877, ptr @.str7524) %t2879 = icmp ne i32 %t2878, 0 br i1 %t2879, label %then581, label %ifend583 then581: store ptr @.str7525, ptr %t403 br label %ifend583 ifend583: %t2880 = load ptr, ptr %t1 %t2881 = call i32 @lp_str_eq(ptr %t2880, ptr @.str7526) %t2882 = icmp ne i32 %t2881, 0 br i1 %t2882, label %then584, label %ifend586 then584: store ptr @.str7527, ptr %t403 %t2883 = load ptr, ptr %t410 %t2884 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 1 %t2885 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 2 %t2886 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 0 %t2887 = load i32, ptr %t2884 %t2888 = load i32, ptr %t2885 %t2889 = icmp sge i32 %t2887, %t2888 br i1 %t2889, label %grow587, label %put588 grow587: %t2890 = mul i32 %t2888, 2 %t2891 = icmp eq i32 %t2888, 0 %t2892 = select i1 %t2891, i32 8, i32 %t2890 %t2893 = getelementptr ptr, ptr null, i32 1 %t2894 = ptrtoint ptr %t2893 to i64 %t2895 = zext i32 %t2892 to i64 %t2896 = mul i64 %t2895, %t2894 %t2897 = load ptr, ptr %t2886 %t2898 = call ptr @realloc(ptr %t2897, i64 %t2896) store ptr %t2898, ptr %t2886 store i32 %t2892, ptr %t2885 br label %put588 put588: %t2899 = load ptr, ptr %t2886 %t2900 = getelementptr inbounds ptr, ptr %t2899, i32 %t2887 store ptr @.str7528, ptr %t2900 %t2901 = add i32 %t2887, 1 store i32 %t2901, ptr %t2884 br label %ifend586 ifend586: %t2902 = load ptr, ptr %t1 %t2903 = call i32 @lp_str_eq(ptr %t2902, ptr @.str7529) %t2904 = icmp ne i32 %t2903, 0 br i1 %t2904, label %then589, label %ifend591 then589: store ptr @.str7530, ptr %t403 %t2905 = load ptr, ptr %t410 %t2906 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 1 %t2907 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 2 %t2908 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 0 %t2909 = load i32, ptr %t2906 %t2910 = load i32, ptr %t2907 %t2911 = icmp sge i32 %t2909, %t2910 br i1 %t2911, label %grow592, label %put593 grow592: %t2912 = mul i32 %t2910, 2 %t2913 = icmp eq i32 %t2910, 0 %t2914 = select i1 %t2913, i32 8, i32 %t2912 %t2915 = getelementptr ptr, ptr null, i32 1 %t2916 = ptrtoint ptr %t2915 to i64 %t2917 = zext i32 %t2914 to i64 %t2918 = mul i64 %t2917, %t2916 %t2919 = load ptr, ptr %t2908 %t2920 = call ptr @realloc(ptr %t2919, i64 %t2918) store ptr %t2920, ptr %t2908 store i32 %t2914, ptr %t2907 br label %put593 put593: %t2921 = load ptr, ptr %t2908 %t2922 = getelementptr inbounds ptr, ptr %t2921, i32 %t2909 store ptr @.str7531, ptr %t2922 %t2923 = add i32 %t2909, 1 store i32 %t2923, ptr %t2906 br label %ifend591 ifend591: %t2924 = load ptr, ptr %t1 %t2925 = call i32 @lp_str_eq(ptr %t2924, ptr @.str7532) %t2926 = icmp ne i32 %t2925, 0 br i1 %t2926, label %then594, label %ifend596 then594: store ptr @.str7533, ptr %t403 %t2927 = load ptr, ptr %t410 %t2928 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 1 %t2929 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 2 %t2930 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 0 %t2931 = load i32, ptr %t2928 %t2932 = load i32, ptr %t2929 %t2933 = icmp sge i32 %t2931, %t2932 br i1 %t2933, label %grow597, label %put598 grow597: %t2934 = mul i32 %t2932, 2 %t2935 = icmp eq i32 %t2932, 0 %t2936 = select i1 %t2935, i32 8, i32 %t2934 %t2937 = getelementptr ptr, ptr null, i32 1 %t2938 = ptrtoint ptr %t2937 to i64 %t2939 = zext i32 %t2936 to i64 %t2940 = mul i64 %t2939, %t2938 %t2941 = load ptr, ptr %t2930 %t2942 = call ptr @realloc(ptr %t2941, i64 %t2940) store ptr %t2942, ptr %t2930 store i32 %t2936, ptr %t2929 br label %put598 put598: %t2943 = load ptr, ptr %t2930 %t2944 = getelementptr inbounds ptr, ptr %t2943, i32 %t2931 store ptr @.str7534, ptr %t2944 %t2945 = add i32 %t2931, 1 store i32 %t2945, ptr %t2928 %t2946 = load ptr, ptr %t410 %t2947 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 1 %t2948 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 2 %t2949 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 0 %t2950 = load i32, ptr %t2947 %t2951 = load i32, ptr %t2948 %t2952 = icmp sge i32 %t2950, %t2951 br i1 %t2952, label %grow599, label %put600 grow599: %t2953 = mul i32 %t2951, 2 %t2954 = icmp eq i32 %t2951, 0 %t2955 = select i1 %t2954, i32 8, i32 %t2953 %t2956 = getelementptr ptr, ptr null, i32 1 %t2957 = ptrtoint ptr %t2956 to i64 %t2958 = zext i32 %t2955 to i64 %t2959 = mul i64 %t2958, %t2957 %t2960 = load ptr, ptr %t2949 %t2961 = call ptr @realloc(ptr %t2960, i64 %t2959) store ptr %t2961, ptr %t2949 store i32 %t2955, ptr %t2948 br label %put600 put600: %t2962 = load ptr, ptr %t2949 %t2963 = getelementptr inbounds ptr, ptr %t2962, i32 %t2950 store ptr @.str7535, ptr %t2963 %t2964 = add i32 %t2950, 1 store i32 %t2964, ptr %t2947 br label %ifend596 ifend596: %t2965 = load ptr, ptr %t1 %t2966 = call i32 @lp_str_eq(ptr %t2965, ptr @.str7536) %t2967 = icmp ne i32 %t2966, 0 br i1 %t2967, label %then601, label %ifend603 then601: store ptr @.str7537, ptr %t403 br label %ifend603 ifend603: br label %ifend572 ifend572: %t2968 = load ptr, ptr %t0 %t2969 = call i32 @lp_str_eq(ptr %t2968, ptr @.str7538) %t2970 = icmp ne i32 %t2969, 0 br i1 %t2970, label %then604, label %ifend606 then604: %t2971 = load ptr, ptr %t1 %t2972 = call i32 @lp_str_eq(ptr %t2971, ptr @.str7539) %t2973 = icmp ne i32 %t2972, 0 br i1 %t2973, label %then607, label %ifend609 then607: store ptr @.str7540, ptr %t403 %t2974 = load ptr, ptr %t410 %t2975 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 1 %t2976 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 2 %t2977 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 0 %t2978 = load i32, ptr %t2975 %t2979 = load i32, ptr %t2976 %t2980 = icmp sge i32 %t2978, %t2979 br i1 %t2980, label %grow610, label %put611 grow610: %t2981 = mul i32 %t2979, 2 %t2982 = icmp eq i32 %t2979, 0 %t2983 = select i1 %t2982, i32 8, i32 %t2981 %t2984 = getelementptr ptr, ptr null, i32 1 %t2985 = ptrtoint ptr %t2984 to i64 %t2986 = zext i32 %t2983 to i64 %t2987 = mul i64 %t2986, %t2985 %t2988 = load ptr, ptr %t2977 %t2989 = call ptr @realloc(ptr %t2988, i64 %t2987) store ptr %t2989, ptr %t2977 store i32 %t2983, ptr %t2976 br label %put611 put611: %t2990 = load ptr, ptr %t2977 %t2991 = getelementptr inbounds ptr, ptr %t2990, i32 %t2978 store ptr @.str7541, ptr %t2991 %t2992 = add i32 %t2978, 1 store i32 %t2992, ptr %t2975 %t2993 = load ptr, ptr %t410 %t2994 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 1 %t2995 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 2 %t2996 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 0 %t2997 = load i32, ptr %t2994 %t2998 = load i32, ptr %t2995 %t2999 = icmp sge i32 %t2997, %t2998 br i1 %t2999, label %grow612, label %put613 grow612: %t3000 = mul i32 %t2998, 2 %t3001 = icmp eq i32 %t2998, 0 %t3002 = select i1 %t3001, i32 8, i32 %t3000 %t3003 = getelementptr ptr, ptr null, i32 1 %t3004 = ptrtoint ptr %t3003 to i64 %t3005 = zext i32 %t3002 to i64 %t3006 = mul i64 %t3005, %t3004 %t3007 = load ptr, ptr %t2996 %t3008 = call ptr @realloc(ptr %t3007, i64 %t3006) store ptr %t3008, ptr %t2996 store i32 %t3002, ptr %t2995 br label %put613 put613: %t3009 = load ptr, ptr %t2996 %t3010 = getelementptr inbounds ptr, ptr %t3009, i32 %t2997 store ptr @.str7542, ptr %t3010 %t3011 = add i32 %t2997, 1 store i32 %t3011, ptr %t2994 br label %ifend609 ifend609: %t3012 = load ptr, ptr %t1 %t3013 = call i32 @lp_str_eq(ptr %t3012, ptr @.str7543) %t3014 = icmp ne i32 %t3013, 0 br i1 %t3014, label %then614, label %ifend616 then614: store ptr @.str7544, ptr %t403 %t3015 = load ptr, ptr %t410 %t3016 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 1 %t3017 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 2 %t3018 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 0 %t3019 = load i32, ptr %t3016 %t3020 = load i32, ptr %t3017 %t3021 = icmp sge i32 %t3019, %t3020 br i1 %t3021, label %grow617, label %put618 grow617: %t3022 = mul i32 %t3020, 2 %t3023 = icmp eq i32 %t3020, 0 %t3024 = select i1 %t3023, i32 8, i32 %t3022 %t3025 = getelementptr ptr, ptr null, i32 1 %t3026 = ptrtoint ptr %t3025 to i64 %t3027 = zext i32 %t3024 to i64 %t3028 = mul i64 %t3027, %t3026 %t3029 = load ptr, ptr %t3018 %t3030 = call ptr @realloc(ptr %t3029, i64 %t3028) store ptr %t3030, ptr %t3018 store i32 %t3024, ptr %t3017 br label %put618 put618: %t3031 = load ptr, ptr %t3018 %t3032 = getelementptr inbounds ptr, ptr %t3031, i32 %t3019 store ptr @.str7545, ptr %t3032 %t3033 = add i32 %t3019, 1 store i32 %t3033, ptr %t3016 %t3034 = load ptr, ptr %t410 %t3035 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 1 %t3036 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 2 %t3037 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 0 %t3038 = load i32, ptr %t3035 %t3039 = load i32, ptr %t3036 %t3040 = icmp sge i32 %t3038, %t3039 br i1 %t3040, label %grow619, label %put620 grow619: %t3041 = mul i32 %t3039, 2 %t3042 = icmp eq i32 %t3039, 0 %t3043 = select i1 %t3042, i32 8, i32 %t3041 %t3044 = getelementptr ptr, ptr null, i32 1 %t3045 = ptrtoint ptr %t3044 to i64 %t3046 = zext i32 %t3043 to i64 %t3047 = mul i64 %t3046, %t3045 %t3048 = load ptr, ptr %t3037 %t3049 = call ptr @realloc(ptr %t3048, i64 %t3047) store ptr %t3049, ptr %t3037 store i32 %t3043, ptr %t3036 br label %put620 put620: %t3050 = load ptr, ptr %t3037 %t3051 = getelementptr inbounds ptr, ptr %t3050, i32 %t3038 store ptr @.str7546, ptr %t3051 %t3052 = add i32 %t3038, 1 store i32 %t3052, ptr %t3035 %t3053 = load ptr, ptr %t410 %t3054 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 1 %t3055 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 2 %t3056 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 0 %t3057 = load i32, ptr %t3054 %t3058 = load i32, ptr %t3055 %t3059 = icmp sge i32 %t3057, %t3058 br i1 %t3059, label %grow621, label %put622 grow621: %t3060 = mul i32 %t3058, 2 %t3061 = icmp eq i32 %t3058, 0 %t3062 = select i1 %t3061, i32 8, i32 %t3060 %t3063 = getelementptr ptr, ptr null, i32 1 %t3064 = ptrtoint ptr %t3063 to i64 %t3065 = zext i32 %t3062 to i64 %t3066 = mul i64 %t3065, %t3064 %t3067 = load ptr, ptr %t3056 %t3068 = call ptr @realloc(ptr %t3067, i64 %t3066) store ptr %t3068, ptr %t3056 store i32 %t3062, ptr %t3055 br label %put622 put622: %t3069 = load ptr, ptr %t3056 %t3070 = getelementptr inbounds ptr, ptr %t3069, i32 %t3057 store ptr @.str7547, ptr %t3070 %t3071 = add i32 %t3057, 1 store i32 %t3071, ptr %t3054 br label %ifend616 ifend616: %t3072 = load ptr, ptr %t1 %t3073 = call i32 @lp_str_eq(ptr %t3072, ptr @.str7548) %t3074 = icmp ne i32 %t3073, 0 br i1 %t3074, label %then623, label %ifend625 then623: store ptr @.str7549, ptr %t403 %t3075 = load ptr, ptr %t410 %t3076 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 1 %t3077 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 2 %t3078 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 0 %t3079 = load i32, ptr %t3076 %t3080 = load i32, ptr %t3077 %t3081 = icmp sge i32 %t3079, %t3080 br i1 %t3081, label %grow626, label %put627 grow626: %t3082 = mul i32 %t3080, 2 %t3083 = icmp eq i32 %t3080, 0 %t3084 = select i1 %t3083, i32 8, i32 %t3082 %t3085 = getelementptr ptr, ptr null, i32 1 %t3086 = ptrtoint ptr %t3085 to i64 %t3087 = zext i32 %t3084 to i64 %t3088 = mul i64 %t3087, %t3086 %t3089 = load ptr, ptr %t3078 %t3090 = call ptr @realloc(ptr %t3089, i64 %t3088) store ptr %t3090, ptr %t3078 store i32 %t3084, ptr %t3077 br label %put627 put627: %t3091 = load ptr, ptr %t3078 %t3092 = getelementptr inbounds ptr, ptr %t3091, i32 %t3079 store ptr @.str7550, ptr %t3092 %t3093 = add i32 %t3079, 1 store i32 %t3093, ptr %t3076 %t3094 = load ptr, ptr %t410 %t3095 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 1 %t3096 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 2 %t3097 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 0 %t3098 = load i32, ptr %t3095 %t3099 = load i32, ptr %t3096 %t3100 = icmp sge i32 %t3098, %t3099 br i1 %t3100, label %grow628, label %put629 grow628: %t3101 = mul i32 %t3099, 2 %t3102 = icmp eq i32 %t3099, 0 %t3103 = select i1 %t3102, i32 8, i32 %t3101 %t3104 = getelementptr ptr, ptr null, i32 1 %t3105 = ptrtoint ptr %t3104 to i64 %t3106 = zext i32 %t3103 to i64 %t3107 = mul i64 %t3106, %t3105 %t3108 = load ptr, ptr %t3097 %t3109 = call ptr @realloc(ptr %t3108, i64 %t3107) store ptr %t3109, ptr %t3097 store i32 %t3103, ptr %t3096 br label %put629 put629: %t3110 = load ptr, ptr %t3097 %t3111 = getelementptr inbounds ptr, ptr %t3110, i32 %t3098 store ptr @.str7551, ptr %t3111 %t3112 = add i32 %t3098, 1 store i32 %t3112, ptr %t3095 %t3113 = load ptr, ptr %t410 %t3114 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 1 %t3115 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 2 %t3116 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 0 %t3117 = load i32, ptr %t3114 %t3118 = load i32, ptr %t3115 %t3119 = icmp sge i32 %t3117, %t3118 br i1 %t3119, label %grow630, label %put631 grow630: %t3120 = mul i32 %t3118, 2 %t3121 = icmp eq i32 %t3118, 0 %t3122 = select i1 %t3121, i32 8, i32 %t3120 %t3123 = getelementptr ptr, ptr null, i32 1 %t3124 = ptrtoint ptr %t3123 to i64 %t3125 = zext i32 %t3122 to i64 %t3126 = mul i64 %t3125, %t3124 %t3127 = load ptr, ptr %t3116 %t3128 = call ptr @realloc(ptr %t3127, i64 %t3126) store ptr %t3128, ptr %t3116 store i32 %t3122, ptr %t3115 br label %put631 put631: %t3129 = load ptr, ptr %t3116 %t3130 = getelementptr inbounds ptr, ptr %t3129, i32 %t3117 store ptr @.str7552, ptr %t3130 %t3131 = add i32 %t3117, 1 store i32 %t3131, ptr %t3114 br label %ifend625 ifend625: %t3132 = load ptr, ptr %t1 %t3133 = call i32 @lp_str_eq(ptr %t3132, ptr @.str7553) %t3134 = icmp ne i32 %t3133, 0 br i1 %t3134, label %then632, label %ifend634 then632: store ptr @.str7554, ptr %t403 %t3135 = load ptr, ptr %t410 %t3136 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 1 %t3137 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 2 %t3138 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 0 %t3139 = load i32, ptr %t3136 %t3140 = load i32, ptr %t3137 %t3141 = icmp sge i32 %t3139, %t3140 br i1 %t3141, label %grow635, label %put636 grow635: %t3142 = mul i32 %t3140, 2 %t3143 = icmp eq i32 %t3140, 0 %t3144 = select i1 %t3143, i32 8, i32 %t3142 %t3145 = getelementptr ptr, ptr null, i32 1 %t3146 = ptrtoint ptr %t3145 to i64 %t3147 = zext i32 %t3144 to i64 %t3148 = mul i64 %t3147, %t3146 %t3149 = load ptr, ptr %t3138 %t3150 = call ptr @realloc(ptr %t3149, i64 %t3148) store ptr %t3150, ptr %t3138 store i32 %t3144, ptr %t3137 br label %put636 put636: %t3151 = load ptr, ptr %t3138 %t3152 = getelementptr inbounds ptr, ptr %t3151, i32 %t3139 store ptr @.str7555, ptr %t3152 %t3153 = add i32 %t3139, 1 store i32 %t3153, ptr %t3136 %t3154 = load ptr, ptr %t410 %t3155 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 1 %t3156 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 2 %t3157 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 0 %t3158 = load i32, ptr %t3155 %t3159 = load i32, ptr %t3156 %t3160 = icmp sge i32 %t3158, %t3159 br i1 %t3160, label %grow637, label %put638 grow637: %t3161 = mul i32 %t3159, 2 %t3162 = icmp eq i32 %t3159, 0 %t3163 = select i1 %t3162, i32 8, i32 %t3161 %t3164 = getelementptr ptr, ptr null, i32 1 %t3165 = ptrtoint ptr %t3164 to i64 %t3166 = zext i32 %t3163 to i64 %t3167 = mul i64 %t3166, %t3165 %t3168 = load ptr, ptr %t3157 %t3169 = call ptr @realloc(ptr %t3168, i64 %t3167) store ptr %t3169, ptr %t3157 store i32 %t3163, ptr %t3156 br label %put638 put638: %t3170 = load ptr, ptr %t3157 %t3171 = getelementptr inbounds ptr, ptr %t3170, i32 %t3158 store ptr @.str7556, ptr %t3171 %t3172 = add i32 %t3158, 1 store i32 %t3172, ptr %t3155 %t3173 = load ptr, ptr %t410 %t3174 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 1 %t3175 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 2 %t3176 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 0 %t3177 = load i32, ptr %t3174 %t3178 = load i32, ptr %t3175 %t3179 = icmp sge i32 %t3177, %t3178 br i1 %t3179, label %grow639, label %put640 grow639: %t3180 = mul i32 %t3178, 2 %t3181 = icmp eq i32 %t3178, 0 %t3182 = select i1 %t3181, i32 8, i32 %t3180 %t3183 = getelementptr ptr, ptr null, i32 1 %t3184 = ptrtoint ptr %t3183 to i64 %t3185 = zext i32 %t3182 to i64 %t3186 = mul i64 %t3185, %t3184 %t3187 = load ptr, ptr %t3176 %t3188 = call ptr @realloc(ptr %t3187, i64 %t3186) store ptr %t3188, ptr %t3176 store i32 %t3182, ptr %t3175 br label %put640 put640: %t3189 = load ptr, ptr %t3176 %t3190 = getelementptr inbounds ptr, ptr %t3189, i32 %t3177 store ptr @.str7557, ptr %t3190 %t3191 = add i32 %t3177, 1 store i32 %t3191, ptr %t3174 br label %ifend634 ifend634: %t3192 = load ptr, ptr %t1 %t3193 = call i32 @lp_str_eq(ptr %t3192, ptr @.str7558) %t3194 = icmp ne i32 %t3193, 0 br i1 %t3194, label %then641, label %ifend643 then641: store ptr @.str7559, ptr %t403 %t3195 = load ptr, ptr %t410 %t3196 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 1 %t3197 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 2 %t3198 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 0 %t3199 = load i32, ptr %t3196 %t3200 = load i32, ptr %t3197 %t3201 = icmp sge i32 %t3199, %t3200 br i1 %t3201, label %grow644, label %put645 grow644: %t3202 = mul i32 %t3200, 2 %t3203 = icmp eq i32 %t3200, 0 %t3204 = select i1 %t3203, i32 8, i32 %t3202 %t3205 = getelementptr ptr, ptr null, i32 1 %t3206 = ptrtoint ptr %t3205 to i64 %t3207 = zext i32 %t3204 to i64 %t3208 = mul i64 %t3207, %t3206 %t3209 = load ptr, ptr %t3198 %t3210 = call ptr @realloc(ptr %t3209, i64 %t3208) store ptr %t3210, ptr %t3198 store i32 %t3204, ptr %t3197 br label %put645 put645: %t3211 = load ptr, ptr %t3198 %t3212 = getelementptr inbounds ptr, ptr %t3211, i32 %t3199 store ptr @.str7560, ptr %t3212 %t3213 = add i32 %t3199, 1 store i32 %t3213, ptr %t3196 br label %ifend643 ifend643: %t3214 = load ptr, ptr %t1 %t3215 = call i32 @lp_str_eq(ptr %t3214, ptr @.str7561) %t3216 = icmp ne i32 %t3215, 0 br i1 %t3216, label %then646, label %ifend648 then646: store ptr @.str7562, ptr %t403 %t3217 = load ptr, ptr %t410 %t3218 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 1 %t3219 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 2 %t3220 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 0 %t3221 = load i32, ptr %t3218 %t3222 = load i32, ptr %t3219 %t3223 = icmp sge i32 %t3221, %t3222 br i1 %t3223, label %grow649, label %put650 grow649: %t3224 = mul i32 %t3222, 2 %t3225 = icmp eq i32 %t3222, 0 %t3226 = select i1 %t3225, i32 8, i32 %t3224 %t3227 = getelementptr ptr, ptr null, i32 1 %t3228 = ptrtoint ptr %t3227 to i64 %t3229 = zext i32 %t3226 to i64 %t3230 = mul i64 %t3229, %t3228 %t3231 = load ptr, ptr %t3220 %t3232 = call ptr @realloc(ptr %t3231, i64 %t3230) store ptr %t3232, ptr %t3220 store i32 %t3226, ptr %t3219 br label %put650 put650: %t3233 = load ptr, ptr %t3220 %t3234 = getelementptr inbounds ptr, ptr %t3233, i32 %t3221 store ptr @.str7563, ptr %t3234 %t3235 = add i32 %t3221, 1 store i32 %t3235, ptr %t3218 br label %ifend648 ifend648: br label %ifend606 ifend606: %t3236 = load ptr, ptr %t0 %t3237 = call i32 @lp_str_eq(ptr %t3236, ptr @.str7564) %t3238 = icmp ne i32 %t3237, 0 br i1 %t3238, label %then651, label %ifend653 then651: %t3239 = load ptr, ptr %t1 %t3240 = call i32 @lp_str_eq(ptr %t3239, ptr @.str7565) %t3241 = icmp ne i32 %t3240, 0 br i1 %t3241, label %then654, label %ifend656 then654: store ptr @.str7566, ptr %t403 %t3242 = load ptr, ptr %t410 %t3243 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 1 %t3244 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 2 %t3245 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 0 %t3246 = load i32, ptr %t3243 %t3247 = load i32, ptr %t3244 %t3248 = icmp sge i32 %t3246, %t3247 br i1 %t3248, label %grow657, label %put658 grow657: %t3249 = mul i32 %t3247, 2 %t3250 = icmp eq i32 %t3247, 0 %t3251 = select i1 %t3250, i32 8, i32 %t3249 %t3252 = getelementptr ptr, ptr null, i32 1 %t3253 = ptrtoint ptr %t3252 to i64 %t3254 = zext i32 %t3251 to i64 %t3255 = mul i64 %t3254, %t3253 %t3256 = load ptr, ptr %t3245 %t3257 = call ptr @realloc(ptr %t3256, i64 %t3255) store ptr %t3257, ptr %t3245 store i32 %t3251, ptr %t3244 br label %put658 put658: %t3258 = load ptr, ptr %t3245 %t3259 = getelementptr inbounds ptr, ptr %t3258, i32 %t3246 store ptr @.str7567, ptr %t3259 %t3260 = add i32 %t3246, 1 store i32 %t3260, ptr %t3243 %t3261 = load ptr, ptr %t410 %t3262 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 1 %t3263 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 2 %t3264 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 0 %t3265 = load i32, ptr %t3262 %t3266 = load i32, ptr %t3263 %t3267 = icmp sge i32 %t3265, %t3266 br i1 %t3267, label %grow659, label %put660 grow659: %t3268 = mul i32 %t3266, 2 %t3269 = icmp eq i32 %t3266, 0 %t3270 = select i1 %t3269, i32 8, i32 %t3268 %t3271 = getelementptr ptr, ptr null, i32 1 %t3272 = ptrtoint ptr %t3271 to i64 %t3273 = zext i32 %t3270 to i64 %t3274 = mul i64 %t3273, %t3272 %t3275 = load ptr, ptr %t3264 %t3276 = call ptr @realloc(ptr %t3275, i64 %t3274) store ptr %t3276, ptr %t3264 store i32 %t3270, ptr %t3263 br label %put660 put660: %t3277 = load ptr, ptr %t3264 %t3278 = getelementptr inbounds ptr, ptr %t3277, i32 %t3265 store ptr @.str7568, ptr %t3278 %t3279 = add i32 %t3265, 1 store i32 %t3279, ptr %t3262 %t3280 = load ptr, ptr %t410 %t3281 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 1 %t3282 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 2 %t3283 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 0 %t3284 = load i32, ptr %t3281 %t3285 = load i32, ptr %t3282 %t3286 = icmp sge i32 %t3284, %t3285 br i1 %t3286, label %grow661, label %put662 grow661: %t3287 = mul i32 %t3285, 2 %t3288 = icmp eq i32 %t3285, 0 %t3289 = select i1 %t3288, i32 8, i32 %t3287 %t3290 = getelementptr ptr, ptr null, i32 1 %t3291 = ptrtoint ptr %t3290 to i64 %t3292 = zext i32 %t3289 to i64 %t3293 = mul i64 %t3292, %t3291 %t3294 = load ptr, ptr %t3283 %t3295 = call ptr @realloc(ptr %t3294, i64 %t3293) store ptr %t3295, ptr %t3283 store i32 %t3289, ptr %t3282 br label %put662 put662: %t3296 = load ptr, ptr %t3283 %t3297 = getelementptr inbounds ptr, ptr %t3296, i32 %t3284 store ptr @.str7569, ptr %t3297 %t3298 = add i32 %t3284, 1 store i32 %t3298, ptr %t3281 %t3299 = load ptr, ptr %t410 %t3300 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 1 %t3301 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 2 %t3302 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 0 %t3303 = load i32, ptr %t3300 %t3304 = load i32, ptr %t3301 %t3305 = icmp sge i32 %t3303, %t3304 br i1 %t3305, label %grow663, label %put664 grow663: %t3306 = mul i32 %t3304, 2 %t3307 = icmp eq i32 %t3304, 0 %t3308 = select i1 %t3307, i32 8, i32 %t3306 %t3309 = getelementptr ptr, ptr null, i32 1 %t3310 = ptrtoint ptr %t3309 to i64 %t3311 = zext i32 %t3308 to i64 %t3312 = mul i64 %t3311, %t3310 %t3313 = load ptr, ptr %t3302 %t3314 = call ptr @realloc(ptr %t3313, i64 %t3312) store ptr %t3314, ptr %t3302 store i32 %t3308, ptr %t3301 br label %put664 put664: %t3315 = load ptr, ptr %t3302 %t3316 = getelementptr inbounds ptr, ptr %t3315, i32 %t3303 store ptr @.str7570, ptr %t3316 %t3317 = add i32 %t3303, 1 store i32 %t3317, ptr %t3300 br label %ifend656 ifend656: %t3318 = load ptr, ptr %t1 %t3319 = call i32 @lp_str_eq(ptr %t3318, ptr @.str7571) %t3320 = icmp ne i32 %t3319, 0 br i1 %t3320, label %then665, label %ifend667 then665: store ptr @.str7572, ptr %t403 %t3321 = load ptr, ptr %t410 %t3322 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 1 %t3323 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 2 %t3324 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 0 %t3325 = load i32, ptr %t3322 %t3326 = load i32, ptr %t3323 %t3327 = icmp sge i32 %t3325, %t3326 br i1 %t3327, label %grow668, label %put669 grow668: %t3328 = mul i32 %t3326, 2 %t3329 = icmp eq i32 %t3326, 0 %t3330 = select i1 %t3329, i32 8, i32 %t3328 %t3331 = getelementptr ptr, ptr null, i32 1 %t3332 = ptrtoint ptr %t3331 to i64 %t3333 = zext i32 %t3330 to i64 %t3334 = mul i64 %t3333, %t3332 %t3335 = load ptr, ptr %t3324 %t3336 = call ptr @realloc(ptr %t3335, i64 %t3334) store ptr %t3336, ptr %t3324 store i32 %t3330, ptr %t3323 br label %put669 put669: %t3337 = load ptr, ptr %t3324 %t3338 = getelementptr inbounds ptr, ptr %t3337, i32 %t3325 store ptr @.str7573, ptr %t3338 %t3339 = add i32 %t3325, 1 store i32 %t3339, ptr %t3322 %t3340 = load ptr, ptr %t410 %t3341 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 1 %t3342 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 2 %t3343 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 0 %t3344 = load i32, ptr %t3341 %t3345 = load i32, ptr %t3342 %t3346 = icmp sge i32 %t3344, %t3345 br i1 %t3346, label %grow670, label %put671 grow670: %t3347 = mul i32 %t3345, 2 %t3348 = icmp eq i32 %t3345, 0 %t3349 = select i1 %t3348, i32 8, i32 %t3347 %t3350 = getelementptr ptr, ptr null, i32 1 %t3351 = ptrtoint ptr %t3350 to i64 %t3352 = zext i32 %t3349 to i64 %t3353 = mul i64 %t3352, %t3351 %t3354 = load ptr, ptr %t3343 %t3355 = call ptr @realloc(ptr %t3354, i64 %t3353) store ptr %t3355, ptr %t3343 store i32 %t3349, ptr %t3342 br label %put671 put671: %t3356 = load ptr, ptr %t3343 %t3357 = getelementptr inbounds ptr, ptr %t3356, i32 %t3344 store ptr @.str7574, ptr %t3357 %t3358 = add i32 %t3344, 1 store i32 %t3358, ptr %t3341 %t3359 = load ptr, ptr %t410 %t3360 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 1 %t3361 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 2 %t3362 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 0 %t3363 = load i32, ptr %t3360 %t3364 = load i32, ptr %t3361 %t3365 = icmp sge i32 %t3363, %t3364 br i1 %t3365, label %grow672, label %put673 grow672: %t3366 = mul i32 %t3364, 2 %t3367 = icmp eq i32 %t3364, 0 %t3368 = select i1 %t3367, i32 8, i32 %t3366 %t3369 = getelementptr ptr, ptr null, i32 1 %t3370 = ptrtoint ptr %t3369 to i64 %t3371 = zext i32 %t3368 to i64 %t3372 = mul i64 %t3371, %t3370 %t3373 = load ptr, ptr %t3362 %t3374 = call ptr @realloc(ptr %t3373, i64 %t3372) store ptr %t3374, ptr %t3362 store i32 %t3368, ptr %t3361 br label %put673 put673: %t3375 = load ptr, ptr %t3362 %t3376 = getelementptr inbounds ptr, ptr %t3375, i32 %t3363 store ptr @.str7575, ptr %t3376 %t3377 = add i32 %t3363, 1 store i32 %t3377, ptr %t3360 %t3378 = load ptr, ptr %t410 %t3379 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 1 %t3380 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 2 %t3381 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 0 %t3382 = load i32, ptr %t3379 %t3383 = load i32, ptr %t3380 %t3384 = icmp sge i32 %t3382, %t3383 br i1 %t3384, label %grow674, label %put675 grow674: %t3385 = mul i32 %t3383, 2 %t3386 = icmp eq i32 %t3383, 0 %t3387 = select i1 %t3386, i32 8, i32 %t3385 %t3388 = getelementptr ptr, ptr null, i32 1 %t3389 = ptrtoint ptr %t3388 to i64 %t3390 = zext i32 %t3387 to i64 %t3391 = mul i64 %t3390, %t3389 %t3392 = load ptr, ptr %t3381 %t3393 = call ptr @realloc(ptr %t3392, i64 %t3391) store ptr %t3393, ptr %t3381 store i32 %t3387, ptr %t3380 br label %put675 put675: %t3394 = load ptr, ptr %t3381 %t3395 = getelementptr inbounds ptr, ptr %t3394, i32 %t3382 store ptr @.str7576, ptr %t3395 %t3396 = add i32 %t3382, 1 store i32 %t3396, ptr %t3379 br label %ifend667 ifend667: %t3397 = load ptr, ptr %t1 %t3398 = call i32 @lp_str_eq(ptr %t3397, ptr @.str7577) %t3399 = icmp ne i32 %t3398, 0 br i1 %t3399, label %then676, label %ifend678 then676: store ptr @.str7578, ptr %t403 br label %ifend678 ifend678: br label %ifend653 ifend653: %t3400 = load ptr, ptr %t0 %t3401 = call i32 @lp_str_eq(ptr %t3400, ptr @.str7579) %t3402 = icmp ne i32 %t3401, 0 br i1 %t3402, label %then679, label %ifend681 then679: %t3403 = load ptr, ptr %t1 %t3404 = call i32 @lp_str_eq(ptr %t3403, ptr @.str7580) %t3405 = icmp ne i32 %t3404, 0 br i1 %t3405, label %then682, label %ifend684 then682: %t3406 = call i32 @fn_has_prefabs() %t3407 = icmp eq i32 %t3406, 0 %t3408 = zext i1 %t3407 to i32 %t3409 = icmp ne i32 %t3408, 0 br i1 %t3409, label %then685, label %ifend687 then685: call void @fn_perr(ptr @.str7581) br label %ifend687 ifend687: %t3410 = call ptr @fn_find_comp(ptr @.str7582) store ptr %t3410, ptr %t3411 %t3412 = load ptr, ptr %t3411 %t3413 = icmp eq ptr %t3412, null %t3414 = zext i1 %t3413 to i32 %t3415 = icmp ne i32 %t3414, 0 br i1 %t3415, label %then688, label %ifend690 then688: call void @fn_perr(ptr @.str7583) br label %ifend690 ifend690: %t3416 = getelementptr %LSlice, ptr null, i32 1 %t3417 = ptrtoint ptr %t3416 to i64 %t3418 = call ptr @malloc(i64 %t3417) %t3419 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 0 store ptr null, ptr %t3419 %t3420 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 1 store i32 0, ptr %t3420 %t3421 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 2 store i32 0, ptr %t3421 store ptr %t3418, ptr %t3422 %t3423 = load ptr, ptr %t3422 %t3424 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 1 %t3425 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 2 %t3426 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 0 %t3427 = load i32, ptr %t3424 %t3428 = load i32, ptr %t3425 %t3429 = icmp sge i32 %t3427, %t3428 br i1 %t3429, label %grow691, label %put692 grow691: %t3430 = mul i32 %t3428, 2 %t3431 = icmp eq i32 %t3428, 0 %t3432 = select i1 %t3431, i32 8, i32 %t3430 %t3433 = getelementptr ptr, ptr null, i32 1 %t3434 = ptrtoint ptr %t3433 to i64 %t3435 = zext i32 %t3432 to i64 %t3436 = mul i64 %t3435, %t3434 %t3437 = load ptr, ptr %t3426 %t3438 = call ptr @realloc(ptr %t3437, i64 %t3436) store ptr %t3438, ptr %t3426 store i32 %t3432, ptr %t3425 br label %put692 put692: %t3439 = load ptr, ptr %t3426 %t3440 = getelementptr inbounds ptr, ptr %t3439, i32 %t3427 store ptr @.str7584, ptr %t3440 %t3441 = add i32 %t3427, 1 store i32 %t3441, ptr %t3424 %t3442 = load ptr, ptr %t3422 %t3443 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 1 %t3444 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 2 %t3445 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 0 %t3446 = load i32, ptr %t3443 %t3447 = load i32, ptr %t3444 %t3448 = icmp sge i32 %t3446, %t3447 br i1 %t3448, label %grow693, label %put694 grow693: %t3449 = mul i32 %t3447, 2 %t3450 = icmp eq i32 %t3447, 0 %t3451 = select i1 %t3450, i32 8, i32 %t3449 %t3452 = getelementptr ptr, ptr null, i32 1 %t3453 = ptrtoint ptr %t3452 to i64 %t3454 = zext i32 %t3451 to i64 %t3455 = mul i64 %t3454, %t3453 %t3456 = load ptr, ptr %t3445 %t3457 = call ptr @realloc(ptr %t3456, i64 %t3455) store ptr %t3457, ptr %t3445 store i32 %t3451, ptr %t3444 br label %put694 put694: %t3458 = load ptr, ptr %t3445 %t3459 = getelementptr inbounds ptr, ptr %t3458, i32 %t3446 store ptr @.str7585, ptr %t3459 %t3460 = add i32 %t3446, 1 store i32 %t3460, ptr %t3443 %t3461 = load ptr, ptr %t2 %t3462 = load ptr, ptr %t3422 call void @fn_reorder_named(ptr %t3461, ptr %t3462) %t3463 = load ptr, ptr %t2 %t3464 = getelementptr inbounds %Cmp_Node, ptr %t3463, i32 0, i32 7 %t3465 = load ptr, ptr %t3464 %t3466 = getelementptr inbounds %LSlice, ptr %t3465, i32 0, i32 0 %t3467 = load ptr, ptr %t3466 %t3468 = getelementptr inbounds ptr, ptr %t3467, i32 0 %t3469 = load ptr, ptr %t3468 %t3470 = call ptr @fn_emit_expr(ptr %t3469) store ptr %t3470, ptr %t3471 %t3472 = load ptr, ptr %t2 %t3473 = getelementptr inbounds %Cmp_Node, ptr %t3472, i32 0, i32 7 %t3474 = load ptr, ptr %t3473 %t3475 = getelementptr inbounds %LSlice, ptr %t3474, i32 0, i32 0 %t3476 = load ptr, ptr %t3475 %t3477 = getelementptr inbounds ptr, ptr %t3476, i32 1 %t3478 = load ptr, ptr %t3477 %t3479 = call ptr @fn_emit_expr(ptr %t3478) store ptr %t3479, ptr %t3480 %t3481 = load ptr, ptr %t3471 %t3482 = getelementptr inbounds %Cmp_Val, ptr %t3481, i32 0, i32 0 %t3483 = load ptr, ptr %t3482 %t3484 = call ptr @lp_str_concat(ptr @.str7586, ptr %t3483) %t3485 = call ptr @lp_str_concat(ptr %t3484, ptr @.str7587) %t3486 = call ptr @fn_emit_bind(ptr %t3485) store ptr %t3486, ptr %t3487 %t3488 = call ptr @fn_itoa(i32 1024) store ptr %t3488, ptr %t3489 %t3490 = load ptr, ptr %t3489 %t3491 = call ptr @lp_str_concat(ptr @.str7588, ptr %t3490) %t3492 = call ptr @lp_str_concat(ptr %t3491, ptr @.str7589) %t3493 = load ptr, ptr %t3487 %t3494 = call ptr @lp_str_concat(ptr %t3492, ptr %t3493) %t3495 = call ptr @fn_emit_bind(ptr %t3494) store ptr %t3495, ptr %t3496 %t3497 = load ptr, ptr %t3496 %t3498 = call ptr @lp_str_concat(ptr @.str7590, ptr %t3497) %t3499 = call ptr @lp_str_concat(ptr %t3498, ptr @.str7591) %t3500 = load ptr, ptr %t3411 %t3501 = call i32 @fn_field_index(ptr %t3500, ptr @.str7592) %t3502 = call ptr @fn_itoa(i32 %t3501) %t3503 = call ptr @lp_str_concat(ptr %t3499, ptr %t3502) %t3504 = call ptr @fn_emit_bind(ptr %t3503) store ptr %t3504, ptr %t3505 %t3506 = load ptr, ptr %t3496 %t3507 = call ptr @lp_str_concat(ptr @.str7593, ptr %t3506) %t3508 = call ptr @lp_str_concat(ptr %t3507, ptr @.str7594) %t3509 = load ptr, ptr %t3411 %t3510 = call i32 @fn_field_index(ptr %t3509, ptr @.str7595) %t3511 = call ptr @fn_itoa(i32 %t3510) %t3512 = call ptr @lp_str_concat(ptr %t3508, ptr %t3511) %t3513 = call ptr @fn_emit_bind(ptr %t3512) store ptr %t3513, ptr %t3514 %t3515 = load ptr, ptr %t3480 %t3516 = getelementptr inbounds %Cmp_Val, ptr %t3515, i32 0, i32 0 %t3517 = load ptr, ptr %t3516 %t3518 = call ptr @fn_vec_x(ptr %t3517) store ptr %t3518, ptr %t3519 %t3520 = load ptr, ptr %t3480 %t3521 = getelementptr inbounds %Cmp_Val, ptr %t3520, i32 0, i32 0 %t3522 = load ptr, ptr %t3521 %t3523 = call ptr @fn_vec_y(ptr %t3522) store ptr %t3523, ptr %t3524 call void @fn_emit(ptr @.str7596) %t3525 = load ptr, ptr %t3519 call void @fn_emit(ptr %t3525) call void @fn_emit(ptr @.str7597) %t3526 = load ptr, ptr %t3505 call void @fn_emit(ptr %t3526) call void @fn_emit(ptr @.str7598) call void @fn_emit(ptr @.str7599) %t3527 = load ptr, ptr %t3524 call void @fn_emit(ptr %t3527) call void @fn_emit(ptr @.str7600) %t3528 = load ptr, ptr %t3514 call void @fn_emit(ptr %t3528) call void @fn_emit(ptr @.str7601) %t3529 = load ptr, ptr %t3487 %t3530 = call ptr @fn_val(ptr %t3529, ptr @.str7602) store ptr %t3530, ptr %retval br label %ret ifend684: %t3531 = load ptr, ptr %t1 %t3532 = call i32 @lp_str_eq(ptr %t3531, ptr @.str7603) %t3533 = icmp ne i32 %t3532, 0 br i1 %t3533, label %then695, label %ifend697 then695: %t3534 = call i32 @fn_has_prefabs() %t3535 = icmp eq i32 %t3534, 0 %t3536 = zext i1 %t3535 to i32 %t3537 = icmp ne i32 %t3536, 0 br i1 %t3537, label %then698, label %ifend700 then698: call void @fn_perr(ptr @.str7604) br label %ifend700 ifend700: %t3538 = getelementptr %LSlice, ptr null, i32 1 %t3539 = ptrtoint ptr %t3538 to i64 %t3540 = call ptr @malloc(i64 %t3539) %t3541 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 0 store ptr null, ptr %t3541 %t3542 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 1 store i32 0, ptr %t3542 %t3543 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 2 store i32 0, ptr %t3543 store ptr %t3540, ptr %t3544 %t3545 = load ptr, ptr %t3544 %t3546 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 1 %t3547 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 2 %t3548 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 0 %t3549 = load i32, ptr %t3546 %t3550 = load i32, ptr %t3547 %t3551 = icmp sge i32 %t3549, %t3550 br i1 %t3551, label %grow701, label %put702 grow701: %t3552 = mul i32 %t3550, 2 %t3553 = icmp eq i32 %t3550, 0 %t3554 = select i1 %t3553, i32 8, i32 %t3552 %t3555 = getelementptr ptr, ptr null, i32 1 %t3556 = ptrtoint ptr %t3555 to i64 %t3557 = zext i32 %t3554 to i64 %t3558 = mul i64 %t3557, %t3556 %t3559 = load ptr, ptr %t3548 %t3560 = call ptr @realloc(ptr %t3559, i64 %t3558) store ptr %t3560, ptr %t3548 store i32 %t3554, ptr %t3547 br label %put702 put702: %t3561 = load ptr, ptr %t3548 %t3562 = getelementptr inbounds ptr, ptr %t3561, i32 %t3549 store ptr @.str7605, ptr %t3562 %t3563 = add i32 %t3549, 1 store i32 %t3563, ptr %t3546 %t3564 = load ptr, ptr %t2 %t3565 = load ptr, ptr %t3544 call void @fn_reorder_named(ptr %t3564, ptr %t3565) %t3566 = load ptr, ptr %t2 %t3567 = getelementptr inbounds %Cmp_Node, ptr %t3566, i32 0, i32 7 %t3568 = load ptr, ptr %t3567 %t3569 = getelementptr inbounds %LSlice, ptr %t3568, i32 0, i32 1 %t3570 = load i32, ptr %t3569 %t3571 = icmp ne i32 %t3570, 1 %t3572 = zext i1 %t3571 to i32 %t3573 = icmp ne i32 %t3572, 0 br i1 %t3573, label %then703, label %ifend705 then703: call void @fn_perr(ptr @.str7606) br label %ifend705 ifend705: %t3574 = load ptr, ptr %t2 %t3575 = getelementptr inbounds %Cmp_Node, ptr %t3574, i32 0, i32 7 %t3576 = load ptr, ptr %t3575 %t3577 = getelementptr inbounds %LSlice, ptr %t3576, i32 0, i32 0 %t3578 = load ptr, ptr %t3577 %t3579 = getelementptr inbounds ptr, ptr %t3578, i32 0 %t3580 = load ptr, ptr %t3579 %t3581 = call ptr @fn_emit_expr(ptr %t3580) store ptr %t3581, ptr %t3582 %t3583 = load ptr, ptr %t3582 %t3584 = getelementptr inbounds %Cmp_Val, ptr %t3583, i32 0, i32 0 %t3585 = load ptr, ptr %t3584 %t3586 = call ptr @lp_str_concat(ptr @.str7607, ptr %t3585) %t3587 = call ptr @lp_str_concat(ptr %t3586, ptr @.str7608) %t3588 = call ptr @fn_emit_bind(ptr %t3587) %t3589 = call ptr @fn_val(ptr %t3588, ptr @.str7609) store ptr %t3589, ptr %retval br label %ret ifend697: %t3590 = load ptr, ptr %t1 %t3591 = call ptr @lp_str_concat(ptr @.str7610, ptr %t3590) call void @fn_perr(ptr %t3591) br label %ifend681 ifend681: %t3592 = load ptr, ptr %t0 %t3593 = call i32 @lp_str_eq(ptr %t3592, ptr @.str7611) %t3594 = icmp ne i32 %t3593, 0 br i1 %t3594, label %then706, label %ifend708 then706: %t3595 = load ptr, ptr %t1 %t3596 = call i32 @lp_str_eq(ptr %t3595, ptr @.str7612) %t3597 = icmp ne i32 %t3596, 0 br i1 %t3597, label %then709, label %ifend711 then709: store ptr @.str7613, ptr %t403 %t3598 = load ptr, ptr %t410 %t3599 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 1 %t3600 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 2 %t3601 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 0 %t3602 = load i32, ptr %t3599 %t3603 = load i32, ptr %t3600 %t3604 = icmp sge i32 %t3602, %t3603 br i1 %t3604, label %grow712, label %put713 grow712: %t3605 = mul i32 %t3603, 2 %t3606 = icmp eq i32 %t3603, 0 %t3607 = select i1 %t3606, i32 8, i32 %t3605 %t3608 = getelementptr ptr, ptr null, i32 1 %t3609 = ptrtoint ptr %t3608 to i64 %t3610 = zext i32 %t3607 to i64 %t3611 = mul i64 %t3610, %t3609 %t3612 = load ptr, ptr %t3601 %t3613 = call ptr @realloc(ptr %t3612, i64 %t3611) store ptr %t3613, ptr %t3601 store i32 %t3607, ptr %t3600 br label %put713 put713: %t3614 = load ptr, ptr %t3601 %t3615 = getelementptr inbounds ptr, ptr %t3614, i32 %t3602 store ptr @.str7614, ptr %t3615 %t3616 = add i32 %t3602, 1 store i32 %t3616, ptr %t3599 br label %ifend711 ifend711: %t3617 = load ptr, ptr %t1 %t3618 = call i32 @lp_str_eq(ptr %t3617, ptr @.str7615) %t3619 = icmp ne i32 %t3618, 0 br i1 %t3619, label %then714, label %ifend716 then714: store ptr @.str7616, ptr %t403 %t3620 = load ptr, ptr %t410 %t3621 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 1 %t3622 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 2 %t3623 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 0 %t3624 = load i32, ptr %t3621 %t3625 = load i32, ptr %t3622 %t3626 = icmp sge i32 %t3624, %t3625 br i1 %t3626, label %grow717, label %put718 grow717: %t3627 = mul i32 %t3625, 2 %t3628 = icmp eq i32 %t3625, 0 %t3629 = select i1 %t3628, i32 8, i32 %t3627 %t3630 = getelementptr ptr, ptr null, i32 1 %t3631 = ptrtoint ptr %t3630 to i64 %t3632 = zext i32 %t3629 to i64 %t3633 = mul i64 %t3632, %t3631 %t3634 = load ptr, ptr %t3623 %t3635 = call ptr @realloc(ptr %t3634, i64 %t3633) store ptr %t3635, ptr %t3623 store i32 %t3629, ptr %t3622 br label %put718 put718: %t3636 = load ptr, ptr %t3623 %t3637 = getelementptr inbounds ptr, ptr %t3636, i32 %t3624 store ptr @.str7617, ptr %t3637 %t3638 = add i32 %t3624, 1 store i32 %t3638, ptr %t3621 br label %ifend716 ifend716: %t3639 = load ptr, ptr %t1 %t3640 = call i32 @lp_str_eq(ptr %t3639, ptr @.str7618) %t3641 = icmp ne i32 %t3640, 0 br i1 %t3641, label %then719, label %ifend721 then719: store ptr @.str7619, ptr %t403 %t3642 = load ptr, ptr %t410 %t3643 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 1 %t3644 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 2 %t3645 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 0 %t3646 = load i32, ptr %t3643 %t3647 = load i32, ptr %t3644 %t3648 = icmp sge i32 %t3646, %t3647 br i1 %t3648, label %grow722, label %put723 grow722: %t3649 = mul i32 %t3647, 2 %t3650 = icmp eq i32 %t3647, 0 %t3651 = select i1 %t3650, i32 8, i32 %t3649 %t3652 = getelementptr ptr, ptr null, i32 1 %t3653 = ptrtoint ptr %t3652 to i64 %t3654 = zext i32 %t3651 to i64 %t3655 = mul i64 %t3654, %t3653 %t3656 = load ptr, ptr %t3645 %t3657 = call ptr @realloc(ptr %t3656, i64 %t3655) store ptr %t3657, ptr %t3645 store i32 %t3651, ptr %t3644 br label %put723 put723: %t3658 = load ptr, ptr %t3645 %t3659 = getelementptr inbounds ptr, ptr %t3658, i32 %t3646 store ptr @.str7620, ptr %t3659 %t3660 = add i32 %t3646, 1 store i32 %t3660, ptr %t3643 br label %ifend721 ifend721: %t3661 = load ptr, ptr %t1 %t3662 = call i32 @lp_str_eq(ptr %t3661, ptr @.str7621) %t3663 = icmp ne i32 %t3662, 0 br i1 %t3663, label %then724, label %ifend726 then724: store ptr @.str7622, ptr %t403 %t3664 = load ptr, ptr %t410 %t3665 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 1 %t3666 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 2 %t3667 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 0 %t3668 = load i32, ptr %t3665 %t3669 = load i32, ptr %t3666 %t3670 = icmp sge i32 %t3668, %t3669 br i1 %t3670, label %grow727, label %put728 grow727: %t3671 = mul i32 %t3669, 2 %t3672 = icmp eq i32 %t3669, 0 %t3673 = select i1 %t3672, i32 8, i32 %t3671 %t3674 = getelementptr ptr, ptr null, i32 1 %t3675 = ptrtoint ptr %t3674 to i64 %t3676 = zext i32 %t3673 to i64 %t3677 = mul i64 %t3676, %t3675 %t3678 = load ptr, ptr %t3667 %t3679 = call ptr @realloc(ptr %t3678, i64 %t3677) store ptr %t3679, ptr %t3667 store i32 %t3673, ptr %t3666 br label %put728 put728: %t3680 = load ptr, ptr %t3667 %t3681 = getelementptr inbounds ptr, ptr %t3680, i32 %t3668 store ptr @.str7623, ptr %t3681 %t3682 = add i32 %t3668, 1 store i32 %t3682, ptr %t3665 br label %ifend726 ifend726: %t3683 = load ptr, ptr %t1 %t3684 = call i32 @lp_str_eq(ptr %t3683, ptr @.str7624) %t3685 = icmp ne i32 %t3684, 0 br i1 %t3685, label %then729, label %ifend731 then729: store ptr @.str7625, ptr %t403 %t3686 = load ptr, ptr %t410 %t3687 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 1 %t3688 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 2 %t3689 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 0 %t3690 = load i32, ptr %t3687 %t3691 = load i32, ptr %t3688 %t3692 = icmp sge i32 %t3690, %t3691 br i1 %t3692, label %grow732, label %put733 grow732: %t3693 = mul i32 %t3691, 2 %t3694 = icmp eq i32 %t3691, 0 %t3695 = select i1 %t3694, i32 8, i32 %t3693 %t3696 = getelementptr ptr, ptr null, i32 1 %t3697 = ptrtoint ptr %t3696 to i64 %t3698 = zext i32 %t3695 to i64 %t3699 = mul i64 %t3698, %t3697 %t3700 = load ptr, ptr %t3689 %t3701 = call ptr @realloc(ptr %t3700, i64 %t3699) store ptr %t3701, ptr %t3689 store i32 %t3695, ptr %t3688 br label %put733 put733: %t3702 = load ptr, ptr %t3689 %t3703 = getelementptr inbounds ptr, ptr %t3702, i32 %t3690 store ptr @.str7626, ptr %t3703 %t3704 = add i32 %t3690, 1 store i32 %t3704, ptr %t3687 br label %ifend731 ifend731: %t3705 = load ptr, ptr %t1 %t3706 = call i32 @lp_str_eq(ptr %t3705, ptr @.str7627) %t3707 = icmp ne i32 %t3706, 0 br i1 %t3707, label %then734, label %ifend736 then734: store ptr @.str7628, ptr %t403 %t3708 = load ptr, ptr %t410 %t3709 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 1 %t3710 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 2 %t3711 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 0 %t3712 = load i32, ptr %t3709 %t3713 = load i32, ptr %t3710 %t3714 = icmp sge i32 %t3712, %t3713 br i1 %t3714, label %grow737, label %put738 grow737: %t3715 = mul i32 %t3713, 2 %t3716 = icmp eq i32 %t3713, 0 %t3717 = select i1 %t3716, i32 8, i32 %t3715 %t3718 = getelementptr ptr, ptr null, i32 1 %t3719 = ptrtoint ptr %t3718 to i64 %t3720 = zext i32 %t3717 to i64 %t3721 = mul i64 %t3720, %t3719 %t3722 = load ptr, ptr %t3711 %t3723 = call ptr @realloc(ptr %t3722, i64 %t3721) store ptr %t3723, ptr %t3711 store i32 %t3717, ptr %t3710 br label %put738 put738: %t3724 = load ptr, ptr %t3711 %t3725 = getelementptr inbounds ptr, ptr %t3724, i32 %t3712 store ptr @.str7629, ptr %t3725 %t3726 = add i32 %t3712, 1 store i32 %t3726, ptr %t3709 %t3727 = load ptr, ptr %t410 %t3728 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 1 %t3729 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 2 %t3730 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 0 %t3731 = load i32, ptr %t3728 %t3732 = load i32, ptr %t3729 %t3733 = icmp sge i32 %t3731, %t3732 br i1 %t3733, label %grow739, label %put740 grow739: %t3734 = mul i32 %t3732, 2 %t3735 = icmp eq i32 %t3732, 0 %t3736 = select i1 %t3735, i32 8, i32 %t3734 %t3737 = getelementptr ptr, ptr null, i32 1 %t3738 = ptrtoint ptr %t3737 to i64 %t3739 = zext i32 %t3736 to i64 %t3740 = mul i64 %t3739, %t3738 %t3741 = load ptr, ptr %t3730 %t3742 = call ptr @realloc(ptr %t3741, i64 %t3740) store ptr %t3742, ptr %t3730 store i32 %t3736, ptr %t3729 br label %put740 put740: %t3743 = load ptr, ptr %t3730 %t3744 = getelementptr inbounds ptr, ptr %t3743, i32 %t3731 store ptr @.str7630, ptr %t3744 %t3745 = add i32 %t3731, 1 store i32 %t3745, ptr %t3728 br label %ifend736 ifend736: %t3746 = load ptr, ptr %t1 %t3747 = call i32 @lp_str_eq(ptr %t3746, ptr @.str7631) %t3748 = icmp ne i32 %t3747, 0 br i1 %t3748, label %then741, label %ifend743 then741: store ptr @.str7632, ptr %t403 %t3749 = load ptr, ptr %t410 %t3750 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 1 %t3751 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 2 %t3752 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 0 %t3753 = load i32, ptr %t3750 %t3754 = load i32, ptr %t3751 %t3755 = icmp sge i32 %t3753, %t3754 br i1 %t3755, label %grow744, label %put745 grow744: %t3756 = mul i32 %t3754, 2 %t3757 = icmp eq i32 %t3754, 0 %t3758 = select i1 %t3757, i32 8, i32 %t3756 %t3759 = getelementptr ptr, ptr null, i32 1 %t3760 = ptrtoint ptr %t3759 to i64 %t3761 = zext i32 %t3758 to i64 %t3762 = mul i64 %t3761, %t3760 %t3763 = load ptr, ptr %t3752 %t3764 = call ptr @realloc(ptr %t3763, i64 %t3762) store ptr %t3764, ptr %t3752 store i32 %t3758, ptr %t3751 br label %put745 put745: %t3765 = load ptr, ptr %t3752 %t3766 = getelementptr inbounds ptr, ptr %t3765, i32 %t3753 store ptr @.str7633, ptr %t3766 %t3767 = add i32 %t3753, 1 store i32 %t3767, ptr %t3750 br label %ifend743 ifend743: %t3768 = load ptr, ptr %t1 %t3769 = call i32 @lp_str_eq(ptr %t3768, ptr @.str7634) %t3770 = icmp ne i32 %t3769, 0 br i1 %t3770, label %then746, label %ifend748 then746: store ptr @.str7635, ptr %t403 br label %ifend748 ifend748: %t3771 = load ptr, ptr %t1 %t3772 = call i32 @lp_str_eq(ptr %t3771, ptr @.str7636) %t3773 = icmp ne i32 %t3772, 0 br i1 %t3773, label %then749, label %ifend751 then749: store ptr @.str7637, ptr %t403 br label %ifend751 ifend751: %t3774 = load ptr, ptr %t1 %t3775 = call i32 @lp_str_eq(ptr %t3774, ptr @.str7638) %t3776 = icmp ne i32 %t3775, 0 br i1 %t3776, label %then752, label %ifend754 then752: store ptr @.str7639, ptr %t403 br label %ifend754 ifend754: %t3777 = load ptr, ptr %t1 %t3778 = call i32 @lp_str_eq(ptr %t3777, ptr @.str7640) %t3779 = icmp ne i32 %t3778, 0 br i1 %t3779, label %then755, label %ifend757 then755: store ptr @.str7641, ptr %t403 br label %ifend757 ifend757: br label %ifend708 ifend708: %t3780 = load ptr, ptr %t0 %t3781 = call i32 @lp_str_eq(ptr %t3780, ptr @.str7642) %t3782 = icmp ne i32 %t3781, 0 br i1 %t3782, label %then758, label %ifend760 then758: %t3783 = load ptr, ptr %t1 %t3784 = call i32 @lp_str_eq(ptr %t3783, ptr @.str7643) %t3785 = icmp ne i32 %t3784, 0 br i1 %t3785, label %then761, label %ifend763 then761: store ptr @.str7644, ptr %t403 %t3786 = load ptr, ptr %t410 %t3787 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 1 %t3788 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 2 %t3789 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 0 %t3790 = load i32, ptr %t3787 %t3791 = load i32, ptr %t3788 %t3792 = icmp sge i32 %t3790, %t3791 br i1 %t3792, label %grow764, label %put765 grow764: %t3793 = mul i32 %t3791, 2 %t3794 = icmp eq i32 %t3791, 0 %t3795 = select i1 %t3794, i32 8, i32 %t3793 %t3796 = getelementptr ptr, ptr null, i32 1 %t3797 = ptrtoint ptr %t3796 to i64 %t3798 = zext i32 %t3795 to i64 %t3799 = mul i64 %t3798, %t3797 %t3800 = load ptr, ptr %t3789 %t3801 = call ptr @realloc(ptr %t3800, i64 %t3799) store ptr %t3801, ptr %t3789 store i32 %t3795, ptr %t3788 br label %put765 put765: %t3802 = load ptr, ptr %t3789 %t3803 = getelementptr inbounds ptr, ptr %t3802, i32 %t3790 store ptr @.str7645, ptr %t3803 %t3804 = add i32 %t3790, 1 store i32 %t3804, ptr %t3787 %t3805 = load ptr, ptr %t410 %t3806 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 1 %t3807 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 2 %t3808 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 0 %t3809 = load i32, ptr %t3806 %t3810 = load i32, ptr %t3807 %t3811 = icmp sge i32 %t3809, %t3810 br i1 %t3811, label %grow766, label %put767 grow766: %t3812 = mul i32 %t3810, 2 %t3813 = icmp eq i32 %t3810, 0 %t3814 = select i1 %t3813, i32 8, i32 %t3812 %t3815 = getelementptr ptr, ptr null, i32 1 %t3816 = ptrtoint ptr %t3815 to i64 %t3817 = zext i32 %t3814 to i64 %t3818 = mul i64 %t3817, %t3816 %t3819 = load ptr, ptr %t3808 %t3820 = call ptr @realloc(ptr %t3819, i64 %t3818) store ptr %t3820, ptr %t3808 store i32 %t3814, ptr %t3807 br label %put767 put767: %t3821 = load ptr, ptr %t3808 %t3822 = getelementptr inbounds ptr, ptr %t3821, i32 %t3809 store ptr @.str7646, ptr %t3822 %t3823 = add i32 %t3809, 1 store i32 %t3823, ptr %t3806 br label %ifend763 ifend763: %t3824 = load ptr, ptr %t1 %t3825 = call i32 @lp_str_eq(ptr %t3824, ptr @.str7647) %t3826 = icmp ne i32 %t3825, 0 br i1 %t3826, label %then768, label %ifend770 then768: store ptr @.str7648, ptr %t403 %t3827 = load ptr, ptr %t410 %t3828 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 1 %t3829 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 2 %t3830 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 0 %t3831 = load i32, ptr %t3828 %t3832 = load i32, ptr %t3829 %t3833 = icmp sge i32 %t3831, %t3832 br i1 %t3833, label %grow771, label %put772 grow771: %t3834 = mul i32 %t3832, 2 %t3835 = icmp eq i32 %t3832, 0 %t3836 = select i1 %t3835, i32 8, i32 %t3834 %t3837 = getelementptr ptr, ptr null, i32 1 %t3838 = ptrtoint ptr %t3837 to i64 %t3839 = zext i32 %t3836 to i64 %t3840 = mul i64 %t3839, %t3838 %t3841 = load ptr, ptr %t3830 %t3842 = call ptr @realloc(ptr %t3841, i64 %t3840) store ptr %t3842, ptr %t3830 store i32 %t3836, ptr %t3829 br label %put772 put772: %t3843 = load ptr, ptr %t3830 %t3844 = getelementptr inbounds ptr, ptr %t3843, i32 %t3831 store ptr @.str7649, ptr %t3844 %t3845 = add i32 %t3831, 1 store i32 %t3845, ptr %t3828 %t3846 = load ptr, ptr %t410 %t3847 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 1 %t3848 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 2 %t3849 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 0 %t3850 = load i32, ptr %t3847 %t3851 = load i32, ptr %t3848 %t3852 = icmp sge i32 %t3850, %t3851 br i1 %t3852, label %grow773, label %put774 grow773: %t3853 = mul i32 %t3851, 2 %t3854 = icmp eq i32 %t3851, 0 %t3855 = select i1 %t3854, i32 8, i32 %t3853 %t3856 = getelementptr ptr, ptr null, i32 1 %t3857 = ptrtoint ptr %t3856 to i64 %t3858 = zext i32 %t3855 to i64 %t3859 = mul i64 %t3858, %t3857 %t3860 = load ptr, ptr %t3849 %t3861 = call ptr @realloc(ptr %t3860, i64 %t3859) store ptr %t3861, ptr %t3849 store i32 %t3855, ptr %t3848 br label %put774 put774: %t3862 = load ptr, ptr %t3849 %t3863 = getelementptr inbounds ptr, ptr %t3862, i32 %t3850 store ptr @.str7650, ptr %t3863 %t3864 = add i32 %t3850, 1 store i32 %t3864, ptr %t3847 %t3865 = load ptr, ptr %t410 %t3866 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 1 %t3867 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 2 %t3868 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 0 %t3869 = load i32, ptr %t3866 %t3870 = load i32, ptr %t3867 %t3871 = icmp sge i32 %t3869, %t3870 br i1 %t3871, label %grow775, label %put776 grow775: %t3872 = mul i32 %t3870, 2 %t3873 = icmp eq i32 %t3870, 0 %t3874 = select i1 %t3873, i32 8, i32 %t3872 %t3875 = getelementptr ptr, ptr null, i32 1 %t3876 = ptrtoint ptr %t3875 to i64 %t3877 = zext i32 %t3874 to i64 %t3878 = mul i64 %t3877, %t3876 %t3879 = load ptr, ptr %t3868 %t3880 = call ptr @realloc(ptr %t3879, i64 %t3878) store ptr %t3880, ptr %t3868 store i32 %t3874, ptr %t3867 br label %put776 put776: %t3881 = load ptr, ptr %t3868 %t3882 = getelementptr inbounds ptr, ptr %t3881, i32 %t3869 store ptr @.str7651, ptr %t3882 %t3883 = add i32 %t3869, 1 store i32 %t3883, ptr %t3866 br label %ifend770 ifend770: %t3884 = load ptr, ptr %t1 %t3885 = call i32 @lp_str_eq(ptr %t3884, ptr @.str7652) %t3886 = icmp ne i32 %t3885, 0 br i1 %t3886, label %then777, label %ifend779 then777: store ptr @.str7653, ptr %t403 %t3887 = load ptr, ptr %t410 %t3888 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 1 %t3889 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 2 %t3890 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 0 %t3891 = load i32, ptr %t3888 %t3892 = load i32, ptr %t3889 %t3893 = icmp sge i32 %t3891, %t3892 br i1 %t3893, label %grow780, label %put781 grow780: %t3894 = mul i32 %t3892, 2 %t3895 = icmp eq i32 %t3892, 0 %t3896 = select i1 %t3895, i32 8, i32 %t3894 %t3897 = getelementptr ptr, ptr null, i32 1 %t3898 = ptrtoint ptr %t3897 to i64 %t3899 = zext i32 %t3896 to i64 %t3900 = mul i64 %t3899, %t3898 %t3901 = load ptr, ptr %t3890 %t3902 = call ptr @realloc(ptr %t3901, i64 %t3900) store ptr %t3902, ptr %t3890 store i32 %t3896, ptr %t3889 br label %put781 put781: %t3903 = load ptr, ptr %t3890 %t3904 = getelementptr inbounds ptr, ptr %t3903, i32 %t3891 store ptr @.str7654, ptr %t3904 %t3905 = add i32 %t3891, 1 store i32 %t3905, ptr %t3888 br label %ifend779 ifend779: %t3906 = load ptr, ptr %t1 %t3907 = call i32 @lp_str_eq(ptr %t3906, ptr @.str7655) %t3908 = icmp ne i32 %t3907, 0 br i1 %t3908, label %then782, label %ifend784 then782: store ptr @.str7656, ptr %t403 %t3909 = load ptr, ptr %t410 %t3910 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 1 %t3911 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 2 %t3912 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 0 %t3913 = load i32, ptr %t3910 %t3914 = load i32, ptr %t3911 %t3915 = icmp sge i32 %t3913, %t3914 br i1 %t3915, label %grow785, label %put786 grow785: %t3916 = mul i32 %t3914, 2 %t3917 = icmp eq i32 %t3914, 0 %t3918 = select i1 %t3917, i32 8, i32 %t3916 %t3919 = getelementptr ptr, ptr null, i32 1 %t3920 = ptrtoint ptr %t3919 to i64 %t3921 = zext i32 %t3918 to i64 %t3922 = mul i64 %t3921, %t3920 %t3923 = load ptr, ptr %t3912 %t3924 = call ptr @realloc(ptr %t3923, i64 %t3922) store ptr %t3924, ptr %t3912 store i32 %t3918, ptr %t3911 br label %put786 put786: %t3925 = load ptr, ptr %t3912 %t3926 = getelementptr inbounds ptr, ptr %t3925, i32 %t3913 store ptr @.str7657, ptr %t3926 %t3927 = add i32 %t3913, 1 store i32 %t3927, ptr %t3910 %t3928 = load ptr, ptr %t410 %t3929 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 1 %t3930 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 2 %t3931 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 0 %t3932 = load i32, ptr %t3929 %t3933 = load i32, ptr %t3930 %t3934 = icmp sge i32 %t3932, %t3933 br i1 %t3934, label %grow787, label %put788 grow787: %t3935 = mul i32 %t3933, 2 %t3936 = icmp eq i32 %t3933, 0 %t3937 = select i1 %t3936, i32 8, i32 %t3935 %t3938 = getelementptr ptr, ptr null, i32 1 %t3939 = ptrtoint ptr %t3938 to i64 %t3940 = zext i32 %t3937 to i64 %t3941 = mul i64 %t3940, %t3939 %t3942 = load ptr, ptr %t3931 %t3943 = call ptr @realloc(ptr %t3942, i64 %t3941) store ptr %t3943, ptr %t3931 store i32 %t3937, ptr %t3930 br label %put788 put788: %t3944 = load ptr, ptr %t3931 %t3945 = getelementptr inbounds ptr, ptr %t3944, i32 %t3932 store ptr @.str7658, ptr %t3945 %t3946 = add i32 %t3932, 1 store i32 %t3946, ptr %t3929 br label %ifend784 ifend784: %t3947 = load ptr, ptr %t1 %t3948 = call i32 @lp_str_eq(ptr %t3947, ptr @.str7659) %t3949 = icmp ne i32 %t3948, 0 br i1 %t3949, label %then789, label %ifend791 then789: store ptr @.str7660, ptr %t403 %t3950 = load ptr, ptr %t410 %t3951 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 1 %t3952 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 2 %t3953 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 0 %t3954 = load i32, ptr %t3951 %t3955 = load i32, ptr %t3952 %t3956 = icmp sge i32 %t3954, %t3955 br i1 %t3956, label %grow792, label %put793 grow792: %t3957 = mul i32 %t3955, 2 %t3958 = icmp eq i32 %t3955, 0 %t3959 = select i1 %t3958, i32 8, i32 %t3957 %t3960 = getelementptr ptr, ptr null, i32 1 %t3961 = ptrtoint ptr %t3960 to i64 %t3962 = zext i32 %t3959 to i64 %t3963 = mul i64 %t3962, %t3961 %t3964 = load ptr, ptr %t3953 %t3965 = call ptr @realloc(ptr %t3964, i64 %t3963) store ptr %t3965, ptr %t3953 store i32 %t3959, ptr %t3952 br label %put793 put793: %t3966 = load ptr, ptr %t3953 %t3967 = getelementptr inbounds ptr, ptr %t3966, i32 %t3954 store ptr @.str7661, ptr %t3967 %t3968 = add i32 %t3954, 1 store i32 %t3968, ptr %t3951 br label %ifend791 ifend791: br label %ifend760 ifend760: %t3969 = load ptr, ptr %t0 %t3970 = call i32 @lp_str_eq(ptr %t3969, ptr @.str7662) %t3971 = icmp ne i32 %t3970, 0 br i1 %t3971, label %then794, label %ifend796 then794: %t3972 = load ptr, ptr %t1 %t3973 = call i32 @lp_str_eq(ptr %t3972, ptr @.str7663) %t3974 = icmp ne i32 %t3973, 0 br i1 %t3974, label %then797, label %ifend799 then797: store ptr @.str7664, ptr %t403 %t3975 = load ptr, ptr %t410 %t3976 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 1 %t3977 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 2 %t3978 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 0 %t3979 = load i32, ptr %t3976 %t3980 = load i32, ptr %t3977 %t3981 = icmp sge i32 %t3979, %t3980 br i1 %t3981, label %grow800, label %put801 grow800: %t3982 = mul i32 %t3980, 2 %t3983 = icmp eq i32 %t3980, 0 %t3984 = select i1 %t3983, i32 8, i32 %t3982 %t3985 = getelementptr ptr, ptr null, i32 1 %t3986 = ptrtoint ptr %t3985 to i64 %t3987 = zext i32 %t3984 to i64 %t3988 = mul i64 %t3987, %t3986 %t3989 = load ptr, ptr %t3978 %t3990 = call ptr @realloc(ptr %t3989, i64 %t3988) store ptr %t3990, ptr %t3978 store i32 %t3984, ptr %t3977 br label %put801 put801: %t3991 = load ptr, ptr %t3978 %t3992 = getelementptr inbounds ptr, ptr %t3991, i32 %t3979 store ptr @.str7665, ptr %t3992 %t3993 = add i32 %t3979, 1 store i32 %t3993, ptr %t3976 %t3994 = load ptr, ptr %t410 %t3995 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 1 %t3996 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 2 %t3997 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 0 %t3998 = load i32, ptr %t3995 %t3999 = load i32, ptr %t3996 %t4000 = icmp sge i32 %t3998, %t3999 br i1 %t4000, label %grow802, label %put803 grow802: %t4001 = mul i32 %t3999, 2 %t4002 = icmp eq i32 %t3999, 0 %t4003 = select i1 %t4002, i32 8, i32 %t4001 %t4004 = getelementptr ptr, ptr null, i32 1 %t4005 = ptrtoint ptr %t4004 to i64 %t4006 = zext i32 %t4003 to i64 %t4007 = mul i64 %t4006, %t4005 %t4008 = load ptr, ptr %t3997 %t4009 = call ptr @realloc(ptr %t4008, i64 %t4007) store ptr %t4009, ptr %t3997 store i32 %t4003, ptr %t3996 br label %put803 put803: %t4010 = load ptr, ptr %t3997 %t4011 = getelementptr inbounds ptr, ptr %t4010, i32 %t3998 store ptr @.str7666, ptr %t4011 %t4012 = add i32 %t3998, 1 store i32 %t4012, ptr %t3995 br label %ifend799 ifend799: %t4013 = load ptr, ptr %t1 %t4014 = call i32 @lp_str_eq(ptr %t4013, ptr @.str7667) %t4015 = icmp ne i32 %t4014, 0 br i1 %t4015, label %then804, label %ifend806 then804: store ptr @.str7668, ptr %t403 %t4016 = load ptr, ptr %t410 %t4017 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 1 %t4018 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 2 %t4019 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 0 %t4020 = load i32, ptr %t4017 %t4021 = load i32, ptr %t4018 %t4022 = icmp sge i32 %t4020, %t4021 br i1 %t4022, label %grow807, label %put808 grow807: %t4023 = mul i32 %t4021, 2 %t4024 = icmp eq i32 %t4021, 0 %t4025 = select i1 %t4024, i32 8, i32 %t4023 %t4026 = getelementptr ptr, ptr null, i32 1 %t4027 = ptrtoint ptr %t4026 to i64 %t4028 = zext i32 %t4025 to i64 %t4029 = mul i64 %t4028, %t4027 %t4030 = load ptr, ptr %t4019 %t4031 = call ptr @realloc(ptr %t4030, i64 %t4029) store ptr %t4031, ptr %t4019 store i32 %t4025, ptr %t4018 br label %put808 put808: %t4032 = load ptr, ptr %t4019 %t4033 = getelementptr inbounds ptr, ptr %t4032, i32 %t4020 store ptr @.str7669, ptr %t4033 %t4034 = add i32 %t4020, 1 store i32 %t4034, ptr %t4017 %t4035 = load ptr, ptr %t410 %t4036 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 1 %t4037 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 2 %t4038 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 0 %t4039 = load i32, ptr %t4036 %t4040 = load i32, ptr %t4037 %t4041 = icmp sge i32 %t4039, %t4040 br i1 %t4041, label %grow809, label %put810 grow809: %t4042 = mul i32 %t4040, 2 %t4043 = icmp eq i32 %t4040, 0 %t4044 = select i1 %t4043, i32 8, i32 %t4042 %t4045 = getelementptr ptr, ptr null, i32 1 %t4046 = ptrtoint ptr %t4045 to i64 %t4047 = zext i32 %t4044 to i64 %t4048 = mul i64 %t4047, %t4046 %t4049 = load ptr, ptr %t4038 %t4050 = call ptr @realloc(ptr %t4049, i64 %t4048) store ptr %t4050, ptr %t4038 store i32 %t4044, ptr %t4037 br label %put810 put810: %t4051 = load ptr, ptr %t4038 %t4052 = getelementptr inbounds ptr, ptr %t4051, i32 %t4039 store ptr @.str7670, ptr %t4052 %t4053 = add i32 %t4039, 1 store i32 %t4053, ptr %t4036 br label %ifend806 ifend806: %t4054 = load ptr, ptr %t1 %t4055 = call i32 @lp_str_eq(ptr %t4054, ptr @.str7671) %t4056 = icmp ne i32 %t4055, 0 br i1 %t4056, label %then811, label %ifend813 then811: store ptr @.str7672, ptr %t403 %t4057 = load ptr, ptr %t410 %t4058 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 1 %t4059 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 2 %t4060 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 0 %t4061 = load i32, ptr %t4058 %t4062 = load i32, ptr %t4059 %t4063 = icmp sge i32 %t4061, %t4062 br i1 %t4063, label %grow814, label %put815 grow814: %t4064 = mul i32 %t4062, 2 %t4065 = icmp eq i32 %t4062, 0 %t4066 = select i1 %t4065, i32 8, i32 %t4064 %t4067 = getelementptr ptr, ptr null, i32 1 %t4068 = ptrtoint ptr %t4067 to i64 %t4069 = zext i32 %t4066 to i64 %t4070 = mul i64 %t4069, %t4068 %t4071 = load ptr, ptr %t4060 %t4072 = call ptr @realloc(ptr %t4071, i64 %t4070) store ptr %t4072, ptr %t4060 store i32 %t4066, ptr %t4059 br label %put815 put815: %t4073 = load ptr, ptr %t4060 %t4074 = getelementptr inbounds ptr, ptr %t4073, i32 %t4061 store ptr @.str7673, ptr %t4074 %t4075 = add i32 %t4061, 1 store i32 %t4075, ptr %t4058 %t4076 = load ptr, ptr %t410 %t4077 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 1 %t4078 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 2 %t4079 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 0 %t4080 = load i32, ptr %t4077 %t4081 = load i32, ptr %t4078 %t4082 = icmp sge i32 %t4080, %t4081 br i1 %t4082, label %grow816, label %put817 grow816: %t4083 = mul i32 %t4081, 2 %t4084 = icmp eq i32 %t4081, 0 %t4085 = select i1 %t4084, i32 8, i32 %t4083 %t4086 = getelementptr ptr, ptr null, i32 1 %t4087 = ptrtoint ptr %t4086 to i64 %t4088 = zext i32 %t4085 to i64 %t4089 = mul i64 %t4088, %t4087 %t4090 = load ptr, ptr %t4079 %t4091 = call ptr @realloc(ptr %t4090, i64 %t4089) store ptr %t4091, ptr %t4079 store i32 %t4085, ptr %t4078 br label %put817 put817: %t4092 = load ptr, ptr %t4079 %t4093 = getelementptr inbounds ptr, ptr %t4092, i32 %t4080 store ptr @.str7674, ptr %t4093 %t4094 = add i32 %t4080, 1 store i32 %t4094, ptr %t4077 br label %ifend813 ifend813: %t4095 = load ptr, ptr %t1 %t4096 = call i32 @lp_str_eq(ptr %t4095, ptr @.str7675) %t4097 = icmp ne i32 %t4096, 0 br i1 %t4097, label %then818, label %ifend820 then818: store ptr @.str7676, ptr %t403 %t4098 = load ptr, ptr %t410 %t4099 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 1 %t4100 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 2 %t4101 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 0 %t4102 = load i32, ptr %t4099 %t4103 = load i32, ptr %t4100 %t4104 = icmp sge i32 %t4102, %t4103 br i1 %t4104, label %grow821, label %put822 grow821: %t4105 = mul i32 %t4103, 2 %t4106 = icmp eq i32 %t4103, 0 %t4107 = select i1 %t4106, i32 8, i32 %t4105 %t4108 = getelementptr ptr, ptr null, i32 1 %t4109 = ptrtoint ptr %t4108 to i64 %t4110 = zext i32 %t4107 to i64 %t4111 = mul i64 %t4110, %t4109 %t4112 = load ptr, ptr %t4101 %t4113 = call ptr @realloc(ptr %t4112, i64 %t4111) store ptr %t4113, ptr %t4101 store i32 %t4107, ptr %t4100 br label %put822 put822: %t4114 = load ptr, ptr %t4101 %t4115 = getelementptr inbounds ptr, ptr %t4114, i32 %t4102 store ptr @.str7677, ptr %t4115 %t4116 = add i32 %t4102, 1 store i32 %t4116, ptr %t4099 %t4117 = load ptr, ptr %t410 %t4118 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 1 %t4119 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 2 %t4120 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 0 %t4121 = load i32, ptr %t4118 %t4122 = load i32, ptr %t4119 %t4123 = icmp sge i32 %t4121, %t4122 br i1 %t4123, label %grow823, label %put824 grow823: %t4124 = mul i32 %t4122, 2 %t4125 = icmp eq i32 %t4122, 0 %t4126 = select i1 %t4125, i32 8, i32 %t4124 %t4127 = getelementptr ptr, ptr null, i32 1 %t4128 = ptrtoint ptr %t4127 to i64 %t4129 = zext i32 %t4126 to i64 %t4130 = mul i64 %t4129, %t4128 %t4131 = load ptr, ptr %t4120 %t4132 = call ptr @realloc(ptr %t4131, i64 %t4130) store ptr %t4132, ptr %t4120 store i32 %t4126, ptr %t4119 br label %put824 put824: %t4133 = load ptr, ptr %t4120 %t4134 = getelementptr inbounds ptr, ptr %t4133, i32 %t4121 store ptr @.str7678, ptr %t4134 %t4135 = add i32 %t4121, 1 store i32 %t4135, ptr %t4118 br label %ifend820 ifend820: %t4136 = load ptr, ptr %t1 %t4137 = call i32 @lp_str_eq(ptr %t4136, ptr @.str7679) %t4138 = icmp ne i32 %t4137, 0 br i1 %t4138, label %then825, label %ifend827 then825: store ptr @.str7680, ptr %t403 %t4139 = load ptr, ptr %t410 %t4140 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 1 %t4141 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 2 %t4142 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 0 %t4143 = load i32, ptr %t4140 %t4144 = load i32, ptr %t4141 %t4145 = icmp sge i32 %t4143, %t4144 br i1 %t4145, label %grow828, label %put829 grow828: %t4146 = mul i32 %t4144, 2 %t4147 = icmp eq i32 %t4144, 0 %t4148 = select i1 %t4147, i32 8, i32 %t4146 %t4149 = getelementptr ptr, ptr null, i32 1 %t4150 = ptrtoint ptr %t4149 to i64 %t4151 = zext i32 %t4148 to i64 %t4152 = mul i64 %t4151, %t4150 %t4153 = load ptr, ptr %t4142 %t4154 = call ptr @realloc(ptr %t4153, i64 %t4152) store ptr %t4154, ptr %t4142 store i32 %t4148, ptr %t4141 br label %put829 put829: %t4155 = load ptr, ptr %t4142 %t4156 = getelementptr inbounds ptr, ptr %t4155, i32 %t4143 store ptr @.str7681, ptr %t4156 %t4157 = add i32 %t4143, 1 store i32 %t4157, ptr %t4140 %t4158 = load ptr, ptr %t410 %t4159 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 1 %t4160 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 2 %t4161 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 0 %t4162 = load i32, ptr %t4159 %t4163 = load i32, ptr %t4160 %t4164 = icmp sge i32 %t4162, %t4163 br i1 %t4164, label %grow830, label %put831 grow830: %t4165 = mul i32 %t4163, 2 %t4166 = icmp eq i32 %t4163, 0 %t4167 = select i1 %t4166, i32 8, i32 %t4165 %t4168 = getelementptr ptr, ptr null, i32 1 %t4169 = ptrtoint ptr %t4168 to i64 %t4170 = zext i32 %t4167 to i64 %t4171 = mul i64 %t4170, %t4169 %t4172 = load ptr, ptr %t4161 %t4173 = call ptr @realloc(ptr %t4172, i64 %t4171) store ptr %t4173, ptr %t4161 store i32 %t4167, ptr %t4160 br label %put831 put831: %t4174 = load ptr, ptr %t4161 %t4175 = getelementptr inbounds ptr, ptr %t4174, i32 %t4162 store ptr @.str7682, ptr %t4175 %t4176 = add i32 %t4162, 1 store i32 %t4176, ptr %t4159 %t4177 = load ptr, ptr %t410 %t4178 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 1 %t4179 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 2 %t4180 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 0 %t4181 = load i32, ptr %t4178 %t4182 = load i32, ptr %t4179 %t4183 = icmp sge i32 %t4181, %t4182 br i1 %t4183, label %grow832, label %put833 grow832: %t4184 = mul i32 %t4182, 2 %t4185 = icmp eq i32 %t4182, 0 %t4186 = select i1 %t4185, i32 8, i32 %t4184 %t4187 = getelementptr ptr, ptr null, i32 1 %t4188 = ptrtoint ptr %t4187 to i64 %t4189 = zext i32 %t4186 to i64 %t4190 = mul i64 %t4189, %t4188 %t4191 = load ptr, ptr %t4180 %t4192 = call ptr @realloc(ptr %t4191, i64 %t4190) store ptr %t4192, ptr %t4180 store i32 %t4186, ptr %t4179 br label %put833 put833: %t4193 = load ptr, ptr %t4180 %t4194 = getelementptr inbounds ptr, ptr %t4193, i32 %t4181 store ptr @.str7683, ptr %t4194 %t4195 = add i32 %t4181, 1 store i32 %t4195, ptr %t4178 br label %ifend827 ifend827: %t4196 = load ptr, ptr %t1 %t4197 = call i32 @lp_str_eq(ptr %t4196, ptr @.str7684) %t4198 = icmp ne i32 %t4197, 0 br i1 %t4198, label %then834, label %ifend836 then834: store ptr @.str7685, ptr %t403 %t4199 = load ptr, ptr %t410 %t4200 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 1 %t4201 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 2 %t4202 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 0 %t4203 = load i32, ptr %t4200 %t4204 = load i32, ptr %t4201 %t4205 = icmp sge i32 %t4203, %t4204 br i1 %t4205, label %grow837, label %put838 grow837: %t4206 = mul i32 %t4204, 2 %t4207 = icmp eq i32 %t4204, 0 %t4208 = select i1 %t4207, i32 8, i32 %t4206 %t4209 = getelementptr ptr, ptr null, i32 1 %t4210 = ptrtoint ptr %t4209 to i64 %t4211 = zext i32 %t4208 to i64 %t4212 = mul i64 %t4211, %t4210 %t4213 = load ptr, ptr %t4202 %t4214 = call ptr @realloc(ptr %t4213, i64 %t4212) store ptr %t4214, ptr %t4202 store i32 %t4208, ptr %t4201 br label %put838 put838: %t4215 = load ptr, ptr %t4202 %t4216 = getelementptr inbounds ptr, ptr %t4215, i32 %t4203 store ptr @.str7686, ptr %t4216 %t4217 = add i32 %t4203, 1 store i32 %t4217, ptr %t4200 br label %ifend836 ifend836: %t4218 = load ptr, ptr %t1 %t4219 = call i32 @lp_str_eq(ptr %t4218, ptr @.str7687) %t4220 = icmp ne i32 %t4219, 0 br i1 %t4220, label %then839, label %ifend841 then839: store ptr @.str7688, ptr %t403 %t4221 = load ptr, ptr %t410 %t4222 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 1 %t4223 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 2 %t4224 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 0 %t4225 = load i32, ptr %t4222 %t4226 = load i32, ptr %t4223 %t4227 = icmp sge i32 %t4225, %t4226 br i1 %t4227, label %grow842, label %put843 grow842: %t4228 = mul i32 %t4226, 2 %t4229 = icmp eq i32 %t4226, 0 %t4230 = select i1 %t4229, i32 8, i32 %t4228 %t4231 = getelementptr ptr, ptr null, i32 1 %t4232 = ptrtoint ptr %t4231 to i64 %t4233 = zext i32 %t4230 to i64 %t4234 = mul i64 %t4233, %t4232 %t4235 = load ptr, ptr %t4224 %t4236 = call ptr @realloc(ptr %t4235, i64 %t4234) store ptr %t4236, ptr %t4224 store i32 %t4230, ptr %t4223 br label %put843 put843: %t4237 = load ptr, ptr %t4224 %t4238 = getelementptr inbounds ptr, ptr %t4237, i32 %t4225 store ptr @.str7689, ptr %t4238 %t4239 = add i32 %t4225, 1 store i32 %t4239, ptr %t4222 %t4240 = load ptr, ptr %t410 %t4241 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 1 %t4242 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 2 %t4243 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 0 %t4244 = load i32, ptr %t4241 %t4245 = load i32, ptr %t4242 %t4246 = icmp sge i32 %t4244, %t4245 br i1 %t4246, label %grow844, label %put845 grow844: %t4247 = mul i32 %t4245, 2 %t4248 = icmp eq i32 %t4245, 0 %t4249 = select i1 %t4248, i32 8, i32 %t4247 %t4250 = getelementptr ptr, ptr null, i32 1 %t4251 = ptrtoint ptr %t4250 to i64 %t4252 = zext i32 %t4249 to i64 %t4253 = mul i64 %t4252, %t4251 %t4254 = load ptr, ptr %t4243 %t4255 = call ptr @realloc(ptr %t4254, i64 %t4253) store ptr %t4255, ptr %t4243 store i32 %t4249, ptr %t4242 br label %put845 put845: %t4256 = load ptr, ptr %t4243 %t4257 = getelementptr inbounds ptr, ptr %t4256, i32 %t4244 store ptr @.str7690, ptr %t4257 %t4258 = add i32 %t4244, 1 store i32 %t4258, ptr %t4241 %t4259 = load ptr, ptr %t410 %t4260 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 1 %t4261 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 2 %t4262 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 0 %t4263 = load i32, ptr %t4260 %t4264 = load i32, ptr %t4261 %t4265 = icmp sge i32 %t4263, %t4264 br i1 %t4265, label %grow846, label %put847 grow846: %t4266 = mul i32 %t4264, 2 %t4267 = icmp eq i32 %t4264, 0 %t4268 = select i1 %t4267, i32 8, i32 %t4266 %t4269 = getelementptr ptr, ptr null, i32 1 %t4270 = ptrtoint ptr %t4269 to i64 %t4271 = zext i32 %t4268 to i64 %t4272 = mul i64 %t4271, %t4270 %t4273 = load ptr, ptr %t4262 %t4274 = call ptr @realloc(ptr %t4273, i64 %t4272) store ptr %t4274, ptr %t4262 store i32 %t4268, ptr %t4261 br label %put847 put847: %t4275 = load ptr, ptr %t4262 %t4276 = getelementptr inbounds ptr, ptr %t4275, i32 %t4263 store ptr @.str7691, ptr %t4276 %t4277 = add i32 %t4263, 1 store i32 %t4277, ptr %t4260 %t4278 = load ptr, ptr %t410 %t4279 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 1 %t4280 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 2 %t4281 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 0 %t4282 = load i32, ptr %t4279 %t4283 = load i32, ptr %t4280 %t4284 = icmp sge i32 %t4282, %t4283 br i1 %t4284, label %grow848, label %put849 grow848: %t4285 = mul i32 %t4283, 2 %t4286 = icmp eq i32 %t4283, 0 %t4287 = select i1 %t4286, i32 8, i32 %t4285 %t4288 = getelementptr ptr, ptr null, i32 1 %t4289 = ptrtoint ptr %t4288 to i64 %t4290 = zext i32 %t4287 to i64 %t4291 = mul i64 %t4290, %t4289 %t4292 = load ptr, ptr %t4281 %t4293 = call ptr @realloc(ptr %t4292, i64 %t4291) store ptr %t4293, ptr %t4281 store i32 %t4287, ptr %t4280 br label %put849 put849: %t4294 = load ptr, ptr %t4281 %t4295 = getelementptr inbounds ptr, ptr %t4294, i32 %t4282 store ptr @.str7692, ptr %t4295 %t4296 = add i32 %t4282, 1 store i32 %t4296, ptr %t4279 %t4297 = load ptr, ptr %t410 %t4298 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 1 %t4299 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 2 %t4300 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 0 %t4301 = load i32, ptr %t4298 %t4302 = load i32, ptr %t4299 %t4303 = icmp sge i32 %t4301, %t4302 br i1 %t4303, label %grow850, label %put851 grow850: %t4304 = mul i32 %t4302, 2 %t4305 = icmp eq i32 %t4302, 0 %t4306 = select i1 %t4305, i32 8, i32 %t4304 %t4307 = getelementptr ptr, ptr null, i32 1 %t4308 = ptrtoint ptr %t4307 to i64 %t4309 = zext i32 %t4306 to i64 %t4310 = mul i64 %t4309, %t4308 %t4311 = load ptr, ptr %t4300 %t4312 = call ptr @realloc(ptr %t4311, i64 %t4310) store ptr %t4312, ptr %t4300 store i32 %t4306, ptr %t4299 br label %put851 put851: %t4313 = load ptr, ptr %t4300 %t4314 = getelementptr inbounds ptr, ptr %t4313, i32 %t4301 store ptr @.str7693, ptr %t4314 %t4315 = add i32 %t4301, 1 store i32 %t4315, ptr %t4298 br label %ifend841 ifend841: %t4316 = load ptr, ptr %t1 %t4317 = call i32 @lp_str_eq(ptr %t4316, ptr @.str7694) %t4318 = icmp ne i32 %t4317, 0 br i1 %t4318, label %then852, label %ifend854 then852: store ptr @.str7695, ptr %t403 %t4319 = load ptr, ptr %t410 %t4320 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 1 %t4321 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 2 %t4322 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 0 %t4323 = load i32, ptr %t4320 %t4324 = load i32, ptr %t4321 %t4325 = icmp sge i32 %t4323, %t4324 br i1 %t4325, label %grow855, label %put856 grow855: %t4326 = mul i32 %t4324, 2 %t4327 = icmp eq i32 %t4324, 0 %t4328 = select i1 %t4327, i32 8, i32 %t4326 %t4329 = getelementptr ptr, ptr null, i32 1 %t4330 = ptrtoint ptr %t4329 to i64 %t4331 = zext i32 %t4328 to i64 %t4332 = mul i64 %t4331, %t4330 %t4333 = load ptr, ptr %t4322 %t4334 = call ptr @realloc(ptr %t4333, i64 %t4332) store ptr %t4334, ptr %t4322 store i32 %t4328, ptr %t4321 br label %put856 put856: %t4335 = load ptr, ptr %t4322 %t4336 = getelementptr inbounds ptr, ptr %t4335, i32 %t4323 store ptr @.str7696, ptr %t4336 %t4337 = add i32 %t4323, 1 store i32 %t4337, ptr %t4320 br label %ifend854 ifend854: %t4338 = load ptr, ptr %t1 %t4339 = call i32 @lp_str_eq(ptr %t4338, ptr @.str7697) %t4340 = icmp ne i32 %t4339, 0 br i1 %t4340, label %then857, label %ifend859 then857: store ptr @.str7698, ptr %t403 %t4341 = load ptr, ptr %t410 %t4342 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 1 %t4343 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 2 %t4344 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 0 %t4345 = load i32, ptr %t4342 %t4346 = load i32, ptr %t4343 %t4347 = icmp sge i32 %t4345, %t4346 br i1 %t4347, label %grow860, label %put861 grow860: %t4348 = mul i32 %t4346, 2 %t4349 = icmp eq i32 %t4346, 0 %t4350 = select i1 %t4349, i32 8, i32 %t4348 %t4351 = getelementptr ptr, ptr null, i32 1 %t4352 = ptrtoint ptr %t4351 to i64 %t4353 = zext i32 %t4350 to i64 %t4354 = mul i64 %t4353, %t4352 %t4355 = load ptr, ptr %t4344 %t4356 = call ptr @realloc(ptr %t4355, i64 %t4354) store ptr %t4356, ptr %t4344 store i32 %t4350, ptr %t4343 br label %put861 put861: %t4357 = load ptr, ptr %t4344 %t4358 = getelementptr inbounds ptr, ptr %t4357, i32 %t4345 store ptr @.str7699, ptr %t4358 %t4359 = add i32 %t4345, 1 store i32 %t4359, ptr %t4342 br label %ifend859 ifend859: %t4360 = load ptr, ptr %t1 %t4361 = call i32 @lp_str_eq(ptr %t4360, ptr @.str7700) %t4362 = icmp ne i32 %t4361, 0 br i1 %t4362, label %then862, label %ifend864 then862: store ptr @.str7701, ptr %t403 %t4363 = load ptr, ptr %t410 %t4364 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 1 %t4365 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 2 %t4366 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 0 %t4367 = load i32, ptr %t4364 %t4368 = load i32, ptr %t4365 %t4369 = icmp sge i32 %t4367, %t4368 br i1 %t4369, label %grow865, label %put866 grow865: %t4370 = mul i32 %t4368, 2 %t4371 = icmp eq i32 %t4368, 0 %t4372 = select i1 %t4371, i32 8, i32 %t4370 %t4373 = getelementptr ptr, ptr null, i32 1 %t4374 = ptrtoint ptr %t4373 to i64 %t4375 = zext i32 %t4372 to i64 %t4376 = mul i64 %t4375, %t4374 %t4377 = load ptr, ptr %t4366 %t4378 = call ptr @realloc(ptr %t4377, i64 %t4376) store ptr %t4378, ptr %t4366 store i32 %t4372, ptr %t4365 br label %put866 put866: %t4379 = load ptr, ptr %t4366 %t4380 = getelementptr inbounds ptr, ptr %t4379, i32 %t4367 store ptr @.str7702, ptr %t4380 %t4381 = add i32 %t4367, 1 store i32 %t4381, ptr %t4364 %t4382 = load ptr, ptr %t410 %t4383 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 1 %t4384 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 2 %t4385 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 0 %t4386 = load i32, ptr %t4383 %t4387 = load i32, ptr %t4384 %t4388 = icmp sge i32 %t4386, %t4387 br i1 %t4388, label %grow867, label %put868 grow867: %t4389 = mul i32 %t4387, 2 %t4390 = icmp eq i32 %t4387, 0 %t4391 = select i1 %t4390, i32 8, i32 %t4389 %t4392 = getelementptr ptr, ptr null, i32 1 %t4393 = ptrtoint ptr %t4392 to i64 %t4394 = zext i32 %t4391 to i64 %t4395 = mul i64 %t4394, %t4393 %t4396 = load ptr, ptr %t4385 %t4397 = call ptr @realloc(ptr %t4396, i64 %t4395) store ptr %t4397, ptr %t4385 store i32 %t4391, ptr %t4384 br label %put868 put868: %t4398 = load ptr, ptr %t4385 %t4399 = getelementptr inbounds ptr, ptr %t4398, i32 %t4386 store ptr @.str7703, ptr %t4399 %t4400 = add i32 %t4386, 1 store i32 %t4400, ptr %t4383 %t4401 = load ptr, ptr %t410 %t4402 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 1 %t4403 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 2 %t4404 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 0 %t4405 = load i32, ptr %t4402 %t4406 = load i32, ptr %t4403 %t4407 = icmp sge i32 %t4405, %t4406 br i1 %t4407, label %grow869, label %put870 grow869: %t4408 = mul i32 %t4406, 2 %t4409 = icmp eq i32 %t4406, 0 %t4410 = select i1 %t4409, i32 8, i32 %t4408 %t4411 = getelementptr ptr, ptr null, i32 1 %t4412 = ptrtoint ptr %t4411 to i64 %t4413 = zext i32 %t4410 to i64 %t4414 = mul i64 %t4413, %t4412 %t4415 = load ptr, ptr %t4404 %t4416 = call ptr @realloc(ptr %t4415, i64 %t4414) store ptr %t4416, ptr %t4404 store i32 %t4410, ptr %t4403 br label %put870 put870: %t4417 = load ptr, ptr %t4404 %t4418 = getelementptr inbounds ptr, ptr %t4417, i32 %t4405 store ptr @.str7704, ptr %t4418 %t4419 = add i32 %t4405, 1 store i32 %t4419, ptr %t4402 br label %ifend864 ifend864: %t4420 = load ptr, ptr %t1 %t4421 = call i32 @lp_str_eq(ptr %t4420, ptr @.str7705) %t4422 = icmp ne i32 %t4421, 0 br i1 %t4422, label %then871, label %ifend873 then871: store ptr @.str7706, ptr %t403 %t4423 = load ptr, ptr %t410 %t4424 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 1 %t4425 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 2 %t4426 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 0 %t4427 = load i32, ptr %t4424 %t4428 = load i32, ptr %t4425 %t4429 = icmp sge i32 %t4427, %t4428 br i1 %t4429, label %grow874, label %put875 grow874: %t4430 = mul i32 %t4428, 2 %t4431 = icmp eq i32 %t4428, 0 %t4432 = select i1 %t4431, i32 8, i32 %t4430 %t4433 = getelementptr ptr, ptr null, i32 1 %t4434 = ptrtoint ptr %t4433 to i64 %t4435 = zext i32 %t4432 to i64 %t4436 = mul i64 %t4435, %t4434 %t4437 = load ptr, ptr %t4426 %t4438 = call ptr @realloc(ptr %t4437, i64 %t4436) store ptr %t4438, ptr %t4426 store i32 %t4432, ptr %t4425 br label %put875 put875: %t4439 = load ptr, ptr %t4426 %t4440 = getelementptr inbounds ptr, ptr %t4439, i32 %t4427 store ptr @.str7707, ptr %t4440 %t4441 = add i32 %t4427, 1 store i32 %t4441, ptr %t4424 %t4442 = load ptr, ptr %t410 %t4443 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 1 %t4444 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 2 %t4445 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 0 %t4446 = load i32, ptr %t4443 %t4447 = load i32, ptr %t4444 %t4448 = icmp sge i32 %t4446, %t4447 br i1 %t4448, label %grow876, label %put877 grow876: %t4449 = mul i32 %t4447, 2 %t4450 = icmp eq i32 %t4447, 0 %t4451 = select i1 %t4450, i32 8, i32 %t4449 %t4452 = getelementptr ptr, ptr null, i32 1 %t4453 = ptrtoint ptr %t4452 to i64 %t4454 = zext i32 %t4451 to i64 %t4455 = mul i64 %t4454, %t4453 %t4456 = load ptr, ptr %t4445 %t4457 = call ptr @realloc(ptr %t4456, i64 %t4455) store ptr %t4457, ptr %t4445 store i32 %t4451, ptr %t4444 br label %put877 put877: %t4458 = load ptr, ptr %t4445 %t4459 = getelementptr inbounds ptr, ptr %t4458, i32 %t4446 store ptr @.str7708, ptr %t4459 %t4460 = add i32 %t4446, 1 store i32 %t4460, ptr %t4443 br label %ifend873 ifend873: %t4461 = load ptr, ptr %t1 %t4462 = call i32 @lp_str_eq(ptr %t4461, ptr @.str7709) %t4463 = icmp ne i32 %t4462, 0 br i1 %t4463, label %then878, label %ifend880 then878: store ptr @.str7710, ptr %t403 %t4464 = load ptr, ptr %t410 %t4465 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 1 %t4466 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 2 %t4467 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 0 %t4468 = load i32, ptr %t4465 %t4469 = load i32, ptr %t4466 %t4470 = icmp sge i32 %t4468, %t4469 br i1 %t4470, label %grow881, label %put882 grow881: %t4471 = mul i32 %t4469, 2 %t4472 = icmp eq i32 %t4469, 0 %t4473 = select i1 %t4472, i32 8, i32 %t4471 %t4474 = getelementptr ptr, ptr null, i32 1 %t4475 = ptrtoint ptr %t4474 to i64 %t4476 = zext i32 %t4473 to i64 %t4477 = mul i64 %t4476, %t4475 %t4478 = load ptr, ptr %t4467 %t4479 = call ptr @realloc(ptr %t4478, i64 %t4477) store ptr %t4479, ptr %t4467 store i32 %t4473, ptr %t4466 br label %put882 put882: %t4480 = load ptr, ptr %t4467 %t4481 = getelementptr inbounds ptr, ptr %t4480, i32 %t4468 store ptr @.str7711, ptr %t4481 %t4482 = add i32 %t4468, 1 store i32 %t4482, ptr %t4465 %t4483 = load ptr, ptr %t410 %t4484 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 1 %t4485 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 2 %t4486 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 0 %t4487 = load i32, ptr %t4484 %t4488 = load i32, ptr %t4485 %t4489 = icmp sge i32 %t4487, %t4488 br i1 %t4489, label %grow883, label %put884 grow883: %t4490 = mul i32 %t4488, 2 %t4491 = icmp eq i32 %t4488, 0 %t4492 = select i1 %t4491, i32 8, i32 %t4490 %t4493 = getelementptr ptr, ptr null, i32 1 %t4494 = ptrtoint ptr %t4493 to i64 %t4495 = zext i32 %t4492 to i64 %t4496 = mul i64 %t4495, %t4494 %t4497 = load ptr, ptr %t4486 %t4498 = call ptr @realloc(ptr %t4497, i64 %t4496) store ptr %t4498, ptr %t4486 store i32 %t4492, ptr %t4485 br label %put884 put884: %t4499 = load ptr, ptr %t4486 %t4500 = getelementptr inbounds ptr, ptr %t4499, i32 %t4487 store ptr @.str7712, ptr %t4500 %t4501 = add i32 %t4487, 1 store i32 %t4501, ptr %t4484 br label %ifend880 ifend880: %t4502 = load ptr, ptr %t1 %t4503 = call i32 @lp_str_eq(ptr %t4502, ptr @.str7713) %t4504 = icmp ne i32 %t4503, 0 br i1 %t4504, label %then885, label %ifend887 then885: store ptr @.str7714, ptr %t403 %t4505 = load ptr, ptr %t410 %t4506 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 1 %t4507 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 2 %t4508 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 0 %t4509 = load i32, ptr %t4506 %t4510 = load i32, ptr %t4507 %t4511 = icmp sge i32 %t4509, %t4510 br i1 %t4511, label %grow888, label %put889 grow888: %t4512 = mul i32 %t4510, 2 %t4513 = icmp eq i32 %t4510, 0 %t4514 = select i1 %t4513, i32 8, i32 %t4512 %t4515 = getelementptr ptr, ptr null, i32 1 %t4516 = ptrtoint ptr %t4515 to i64 %t4517 = zext i32 %t4514 to i64 %t4518 = mul i64 %t4517, %t4516 %t4519 = load ptr, ptr %t4508 %t4520 = call ptr @realloc(ptr %t4519, i64 %t4518) store ptr %t4520, ptr %t4508 store i32 %t4514, ptr %t4507 br label %put889 put889: %t4521 = load ptr, ptr %t4508 %t4522 = getelementptr inbounds ptr, ptr %t4521, i32 %t4509 store ptr @.str7715, ptr %t4522 %t4523 = add i32 %t4509, 1 store i32 %t4523, ptr %t4506 br label %ifend887 ifend887: %t4524 = load ptr, ptr %t1 %t4525 = call i32 @lp_str_eq(ptr %t4524, ptr @.str7716) %t4526 = icmp ne i32 %t4525, 0 br i1 %t4526, label %then890, label %ifend892 then890: store ptr @.str7717, ptr %t403 br label %ifend892 ifend892: %t4527 = load ptr, ptr %t1 %t4528 = call i32 @lp_str_eq(ptr %t4527, ptr @.str7718) %t4529 = icmp ne i32 %t4528, 0 br i1 %t4529, label %then893, label %ifend895 then893: store ptr @.str7719, ptr %t403 br label %ifend895 ifend895: br label %ifend796 ifend796: %t4530 = load ptr, ptr %t0 %t4531 = call i32 @lp_str_eq(ptr %t4530, ptr @.str7720) %t4532 = icmp ne i32 %t4531, 0 br i1 %t4532, label %then896, label %ifend898 then896: %t4533 = load ptr, ptr %t1 %t4534 = call i32 @lp_str_eq(ptr %t4533, ptr @.str7721) %t4535 = icmp ne i32 %t4534, 0 br i1 %t4535, label %then899, label %ifend901 then899: store ptr @.str7722, ptr %t403 %t4536 = load ptr, ptr %t410 %t4537 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 1 %t4538 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 2 %t4539 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 0 %t4540 = load i32, ptr %t4537 %t4541 = load i32, ptr %t4538 %t4542 = icmp sge i32 %t4540, %t4541 br i1 %t4542, label %grow902, label %put903 grow902: %t4543 = mul i32 %t4541, 2 %t4544 = icmp eq i32 %t4541, 0 %t4545 = select i1 %t4544, i32 8, i32 %t4543 %t4546 = getelementptr ptr, ptr null, i32 1 %t4547 = ptrtoint ptr %t4546 to i64 %t4548 = zext i32 %t4545 to i64 %t4549 = mul i64 %t4548, %t4547 %t4550 = load ptr, ptr %t4539 %t4551 = call ptr @realloc(ptr %t4550, i64 %t4549) store ptr %t4551, ptr %t4539 store i32 %t4545, ptr %t4538 br label %put903 put903: %t4552 = load ptr, ptr %t4539 %t4553 = getelementptr inbounds ptr, ptr %t4552, i32 %t4540 store ptr @.str7723, ptr %t4553 %t4554 = add i32 %t4540, 1 store i32 %t4554, ptr %t4537 %t4555 = load ptr, ptr %t410 %t4556 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 1 %t4557 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 2 %t4558 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 0 %t4559 = load i32, ptr %t4556 %t4560 = load i32, ptr %t4557 %t4561 = icmp sge i32 %t4559, %t4560 br i1 %t4561, label %grow904, label %put905 grow904: %t4562 = mul i32 %t4560, 2 %t4563 = icmp eq i32 %t4560, 0 %t4564 = select i1 %t4563, i32 8, i32 %t4562 %t4565 = getelementptr ptr, ptr null, i32 1 %t4566 = ptrtoint ptr %t4565 to i64 %t4567 = zext i32 %t4564 to i64 %t4568 = mul i64 %t4567, %t4566 %t4569 = load ptr, ptr %t4558 %t4570 = call ptr @realloc(ptr %t4569, i64 %t4568) store ptr %t4570, ptr %t4558 store i32 %t4564, ptr %t4557 br label %put905 put905: %t4571 = load ptr, ptr %t4558 %t4572 = getelementptr inbounds ptr, ptr %t4571, i32 %t4559 store ptr @.str7724, ptr %t4572 %t4573 = add i32 %t4559, 1 store i32 %t4573, ptr %t4556 br label %ifend901 ifend901: %t4574 = load ptr, ptr %t1 %t4575 = call i32 @lp_str_eq(ptr %t4574, ptr @.str7725) %t4576 = icmp ne i32 %t4575, 0 br i1 %t4576, label %then906, label %ifend908 then906: store ptr @.str7726, ptr %t403 %t4577 = load ptr, ptr %t410 %t4578 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 1 %t4579 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 2 %t4580 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 0 %t4581 = load i32, ptr %t4578 %t4582 = load i32, ptr %t4579 %t4583 = icmp sge i32 %t4581, %t4582 br i1 %t4583, label %grow909, label %put910 grow909: %t4584 = mul i32 %t4582, 2 %t4585 = icmp eq i32 %t4582, 0 %t4586 = select i1 %t4585, i32 8, i32 %t4584 %t4587 = getelementptr ptr, ptr null, i32 1 %t4588 = ptrtoint ptr %t4587 to i64 %t4589 = zext i32 %t4586 to i64 %t4590 = mul i64 %t4589, %t4588 %t4591 = load ptr, ptr %t4580 %t4592 = call ptr @realloc(ptr %t4591, i64 %t4590) store ptr %t4592, ptr %t4580 store i32 %t4586, ptr %t4579 br label %put910 put910: %t4593 = load ptr, ptr %t4580 %t4594 = getelementptr inbounds ptr, ptr %t4593, i32 %t4581 store ptr @.str7727, ptr %t4594 %t4595 = add i32 %t4581, 1 store i32 %t4595, ptr %t4578 br label %ifend908 ifend908: %t4596 = load ptr, ptr %t1 %t4597 = call i32 @lp_str_eq(ptr %t4596, ptr @.str7728) %t4598 = icmp ne i32 %t4597, 0 br i1 %t4598, label %then911, label %ifend913 then911: store ptr @.str7729, ptr %t403 %t4599 = load ptr, ptr %t410 %t4600 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 1 %t4601 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 2 %t4602 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 0 %t4603 = load i32, ptr %t4600 %t4604 = load i32, ptr %t4601 %t4605 = icmp sge i32 %t4603, %t4604 br i1 %t4605, label %grow914, label %put915 grow914: %t4606 = mul i32 %t4604, 2 %t4607 = icmp eq i32 %t4604, 0 %t4608 = select i1 %t4607, i32 8, i32 %t4606 %t4609 = getelementptr ptr, ptr null, i32 1 %t4610 = ptrtoint ptr %t4609 to i64 %t4611 = zext i32 %t4608 to i64 %t4612 = mul i64 %t4611, %t4610 %t4613 = load ptr, ptr %t4602 %t4614 = call ptr @realloc(ptr %t4613, i64 %t4612) store ptr %t4614, ptr %t4602 store i32 %t4608, ptr %t4601 br label %put915 put915: %t4615 = load ptr, ptr %t4602 %t4616 = getelementptr inbounds ptr, ptr %t4615, i32 %t4603 store ptr @.str7730, ptr %t4616 %t4617 = add i32 %t4603, 1 store i32 %t4617, ptr %t4600 br label %ifend913 ifend913: %t4618 = load ptr, ptr %t1 %t4619 = call i32 @lp_str_eq(ptr %t4618, ptr @.str7731) %t4620 = icmp ne i32 %t4619, 0 br i1 %t4620, label %then916, label %ifend918 then916: store ptr @.str7732, ptr %t403 %t4621 = load ptr, ptr %t410 %t4622 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 1 %t4623 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 2 %t4624 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 0 %t4625 = load i32, ptr %t4622 %t4626 = load i32, ptr %t4623 %t4627 = icmp sge i32 %t4625, %t4626 br i1 %t4627, label %grow919, label %put920 grow919: %t4628 = mul i32 %t4626, 2 %t4629 = icmp eq i32 %t4626, 0 %t4630 = select i1 %t4629, i32 8, i32 %t4628 %t4631 = getelementptr ptr, ptr null, i32 1 %t4632 = ptrtoint ptr %t4631 to i64 %t4633 = zext i32 %t4630 to i64 %t4634 = mul i64 %t4633, %t4632 %t4635 = load ptr, ptr %t4624 %t4636 = call ptr @realloc(ptr %t4635, i64 %t4634) store ptr %t4636, ptr %t4624 store i32 %t4630, ptr %t4623 br label %put920 put920: %t4637 = load ptr, ptr %t4624 %t4638 = getelementptr inbounds ptr, ptr %t4637, i32 %t4625 store ptr @.str7733, ptr %t4638 %t4639 = add i32 %t4625, 1 store i32 %t4639, ptr %t4622 br label %ifend918 ifend918: %t4640 = load ptr, ptr %t1 %t4641 = call i32 @lp_str_eq(ptr %t4640, ptr @.str7734) %t4642 = icmp ne i32 %t4641, 0 br i1 %t4642, label %then921, label %ifend923 then921: store ptr @.str7735, ptr %t403 br label %ifend923 ifend923: %t4643 = load ptr, ptr %t1 %t4644 = call i32 @lp_str_eq(ptr %t4643, ptr @.str7736) %t4645 = icmp ne i32 %t4644, 0 br i1 %t4645, label %then924, label %ifend926 then924: store ptr @.str7737, ptr %t403 %t4646 = load ptr, ptr %t410 %t4647 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 1 %t4648 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 2 %t4649 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 0 %t4650 = load i32, ptr %t4647 %t4651 = load i32, ptr %t4648 %t4652 = icmp sge i32 %t4650, %t4651 br i1 %t4652, label %grow927, label %put928 grow927: %t4653 = mul i32 %t4651, 2 %t4654 = icmp eq i32 %t4651, 0 %t4655 = select i1 %t4654, i32 8, i32 %t4653 %t4656 = getelementptr ptr, ptr null, i32 1 %t4657 = ptrtoint ptr %t4656 to i64 %t4658 = zext i32 %t4655 to i64 %t4659 = mul i64 %t4658, %t4657 %t4660 = load ptr, ptr %t4649 %t4661 = call ptr @realloc(ptr %t4660, i64 %t4659) store ptr %t4661, ptr %t4649 store i32 %t4655, ptr %t4648 br label %put928 put928: %t4662 = load ptr, ptr %t4649 %t4663 = getelementptr inbounds ptr, ptr %t4662, i32 %t4650 store ptr @.str7738, ptr %t4663 %t4664 = add i32 %t4650, 1 store i32 %t4664, ptr %t4647 br label %ifend926 ifend926: %t4665 = load ptr, ptr %t1 %t4666 = call i32 @lp_str_eq(ptr %t4665, ptr @.str7739) %t4667 = icmp ne i32 %t4666, 0 br i1 %t4667, label %then929, label %ifend931 then929: store ptr @.str7740, ptr %t403 br label %ifend931 ifend931: br label %ifend898 ifend898: %t4668 = load ptr, ptr %t0 %t4669 = call i32 @lp_str_eq(ptr %t4668, ptr @.str7741) %t4670 = icmp ne i32 %t4669, 0 br i1 %t4670, label %then932, label %ifend934 then932: %t4671 = load ptr, ptr %t1 %t4672 = call i32 @lp_str_eq(ptr %t4671, ptr @.str7742) %t4673 = icmp ne i32 %t4672, 0 br i1 %t4673, label %then935, label %ifend937 then935: store ptr @.str7743, ptr %t403 br label %ifend937 ifend937: %t4674 = load ptr, ptr %t1 %t4675 = call i32 @lp_str_eq(ptr %t4674, ptr @.str7744) %t4676 = icmp ne i32 %t4675, 0 br i1 %t4676, label %then938, label %ifend940 then938: store ptr @.str7745, ptr %t403 %t4677 = load ptr, ptr %t410 %t4678 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 1 %t4679 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 2 %t4680 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 0 %t4681 = load i32, ptr %t4678 %t4682 = load i32, ptr %t4679 %t4683 = icmp sge i32 %t4681, %t4682 br i1 %t4683, label %grow941, label %put942 grow941: %t4684 = mul i32 %t4682, 2 %t4685 = icmp eq i32 %t4682, 0 %t4686 = select i1 %t4685, i32 8, i32 %t4684 %t4687 = getelementptr ptr, ptr null, i32 1 %t4688 = ptrtoint ptr %t4687 to i64 %t4689 = zext i32 %t4686 to i64 %t4690 = mul i64 %t4689, %t4688 %t4691 = load ptr, ptr %t4680 %t4692 = call ptr @realloc(ptr %t4691, i64 %t4690) store ptr %t4692, ptr %t4680 store i32 %t4686, ptr %t4679 br label %put942 put942: %t4693 = load ptr, ptr %t4680 %t4694 = getelementptr inbounds ptr, ptr %t4693, i32 %t4681 store ptr @.str7746, ptr %t4694 %t4695 = add i32 %t4681, 1 store i32 %t4695, ptr %t4678 %t4696 = load ptr, ptr %t410 %t4697 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 1 %t4698 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 2 %t4699 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 0 %t4700 = load i32, ptr %t4697 %t4701 = load i32, ptr %t4698 %t4702 = icmp sge i32 %t4700, %t4701 br i1 %t4702, label %grow943, label %put944 grow943: %t4703 = mul i32 %t4701, 2 %t4704 = icmp eq i32 %t4701, 0 %t4705 = select i1 %t4704, i32 8, i32 %t4703 %t4706 = getelementptr ptr, ptr null, i32 1 %t4707 = ptrtoint ptr %t4706 to i64 %t4708 = zext i32 %t4705 to i64 %t4709 = mul i64 %t4708, %t4707 %t4710 = load ptr, ptr %t4699 %t4711 = call ptr @realloc(ptr %t4710, i64 %t4709) store ptr %t4711, ptr %t4699 store i32 %t4705, ptr %t4698 br label %put944 put944: %t4712 = load ptr, ptr %t4699 %t4713 = getelementptr inbounds ptr, ptr %t4712, i32 %t4700 store ptr @.str7747, ptr %t4713 %t4714 = add i32 %t4700, 1 store i32 %t4714, ptr %t4697 br label %ifend940 ifend940: %t4715 = load ptr, ptr %t1 %t4716 = call i32 @lp_str_eq(ptr %t4715, ptr @.str7748) %t4717 = icmp ne i32 %t4716, 0 br i1 %t4717, label %then945, label %ifend947 then945: store ptr @.str7749, ptr %t403 %t4718 = load ptr, ptr %t410 %t4719 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 1 %t4720 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 2 %t4721 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 0 %t4722 = load i32, ptr %t4719 %t4723 = load i32, ptr %t4720 %t4724 = icmp sge i32 %t4722, %t4723 br i1 %t4724, label %grow948, label %put949 grow948: %t4725 = mul i32 %t4723, 2 %t4726 = icmp eq i32 %t4723, 0 %t4727 = select i1 %t4726, i32 8, i32 %t4725 %t4728 = getelementptr ptr, ptr null, i32 1 %t4729 = ptrtoint ptr %t4728 to i64 %t4730 = zext i32 %t4727 to i64 %t4731 = mul i64 %t4730, %t4729 %t4732 = load ptr, ptr %t4721 %t4733 = call ptr @realloc(ptr %t4732, i64 %t4731) store ptr %t4733, ptr %t4721 store i32 %t4727, ptr %t4720 br label %put949 put949: %t4734 = load ptr, ptr %t4721 %t4735 = getelementptr inbounds ptr, ptr %t4734, i32 %t4722 store ptr @.str7750, ptr %t4735 %t4736 = add i32 %t4722, 1 store i32 %t4736, ptr %t4719 %t4737 = load ptr, ptr %t410 %t4738 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 1 %t4739 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 2 %t4740 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 0 %t4741 = load i32, ptr %t4738 %t4742 = load i32, ptr %t4739 %t4743 = icmp sge i32 %t4741, %t4742 br i1 %t4743, label %grow950, label %put951 grow950: %t4744 = mul i32 %t4742, 2 %t4745 = icmp eq i32 %t4742, 0 %t4746 = select i1 %t4745, i32 8, i32 %t4744 %t4747 = getelementptr ptr, ptr null, i32 1 %t4748 = ptrtoint ptr %t4747 to i64 %t4749 = zext i32 %t4746 to i64 %t4750 = mul i64 %t4749, %t4748 %t4751 = load ptr, ptr %t4740 %t4752 = call ptr @realloc(ptr %t4751, i64 %t4750) store ptr %t4752, ptr %t4740 store i32 %t4746, ptr %t4739 br label %put951 put951: %t4753 = load ptr, ptr %t4740 %t4754 = getelementptr inbounds ptr, ptr %t4753, i32 %t4741 store ptr @.str7751, ptr %t4754 %t4755 = add i32 %t4741, 1 store i32 %t4755, ptr %t4738 %t4756 = load ptr, ptr %t410 %t4757 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 1 %t4758 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 2 %t4759 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 0 %t4760 = load i32, ptr %t4757 %t4761 = load i32, ptr %t4758 %t4762 = icmp sge i32 %t4760, %t4761 br i1 %t4762, label %grow952, label %put953 grow952: %t4763 = mul i32 %t4761, 2 %t4764 = icmp eq i32 %t4761, 0 %t4765 = select i1 %t4764, i32 8, i32 %t4763 %t4766 = getelementptr ptr, ptr null, i32 1 %t4767 = ptrtoint ptr %t4766 to i64 %t4768 = zext i32 %t4765 to i64 %t4769 = mul i64 %t4768, %t4767 %t4770 = load ptr, ptr %t4759 %t4771 = call ptr @realloc(ptr %t4770, i64 %t4769) store ptr %t4771, ptr %t4759 store i32 %t4765, ptr %t4758 br label %put953 put953: %t4772 = load ptr, ptr %t4759 %t4773 = getelementptr inbounds ptr, ptr %t4772, i32 %t4760 store ptr @.str7752, ptr %t4773 %t4774 = add i32 %t4760, 1 store i32 %t4774, ptr %t4757 br label %ifend947 ifend947: %t4775 = load ptr, ptr %t1 %t4776 = call i32 @lp_str_eq(ptr %t4775, ptr @.str7753) %t4777 = icmp ne i32 %t4776, 0 br i1 %t4777, label %then954, label %ifend956 then954: store ptr @.str7754, ptr %t403 br label %ifend956 ifend956: %t4778 = load ptr, ptr %t1 %t4779 = call i32 @lp_str_eq(ptr %t4778, ptr @.str7755) %t4780 = icmp ne i32 %t4779, 0 br i1 %t4780, label %then957, label %ifend959 then957: store ptr @.str7756, ptr %t403 br label %ifend959 ifend959: %t4781 = load ptr, ptr %t1 %t4782 = call i32 @lp_str_eq(ptr %t4781, ptr @.str7757) %t4783 = icmp ne i32 %t4782, 0 br i1 %t4783, label %then960, label %ifend962 then960: store ptr @.str7758, ptr %t403 br label %ifend962 ifend962: %t4784 = load ptr, ptr %t1 %t4785 = call i32 @lp_str_eq(ptr %t4784, ptr @.str7759) %t4786 = icmp ne i32 %t4785, 0 br i1 %t4786, label %then963, label %ifend965 then963: store ptr @.str7760, ptr %t403 br label %ifend965 ifend965: %t4787 = load ptr, ptr %t1 %t4788 = call i32 @lp_str_eq(ptr %t4787, ptr @.str7761) %t4789 = icmp ne i32 %t4788, 0 br i1 %t4789, label %then966, label %ifend968 then966: store ptr @.str7762, ptr %t403 br label %ifend968 ifend968: %t4790 = load ptr, ptr %t1 %t4791 = call i32 @lp_str_eq(ptr %t4790, ptr @.str7763) %t4792 = icmp ne i32 %t4791, 0 br i1 %t4792, label %then969, label %ifend971 then969: store ptr @.str7764, ptr %t403 %t4793 = load ptr, ptr %t410 %t4794 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 1 %t4795 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 2 %t4796 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 0 %t4797 = load i32, ptr %t4794 %t4798 = load i32, ptr %t4795 %t4799 = icmp sge i32 %t4797, %t4798 br i1 %t4799, label %grow972, label %put973 grow972: %t4800 = mul i32 %t4798, 2 %t4801 = icmp eq i32 %t4798, 0 %t4802 = select i1 %t4801, i32 8, i32 %t4800 %t4803 = getelementptr ptr, ptr null, i32 1 %t4804 = ptrtoint ptr %t4803 to i64 %t4805 = zext i32 %t4802 to i64 %t4806 = mul i64 %t4805, %t4804 %t4807 = load ptr, ptr %t4796 %t4808 = call ptr @realloc(ptr %t4807, i64 %t4806) store ptr %t4808, ptr %t4796 store i32 %t4802, ptr %t4795 br label %put973 put973: %t4809 = load ptr, ptr %t4796 %t4810 = getelementptr inbounds ptr, ptr %t4809, i32 %t4797 store ptr @.str7765, ptr %t4810 %t4811 = add i32 %t4797, 1 store i32 %t4811, ptr %t4794 %t4812 = load ptr, ptr %t410 %t4813 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 1 %t4814 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 2 %t4815 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 0 %t4816 = load i32, ptr %t4813 %t4817 = load i32, ptr %t4814 %t4818 = icmp sge i32 %t4816, %t4817 br i1 %t4818, label %grow974, label %put975 grow974: %t4819 = mul i32 %t4817, 2 %t4820 = icmp eq i32 %t4817, 0 %t4821 = select i1 %t4820, i32 8, i32 %t4819 %t4822 = getelementptr ptr, ptr null, i32 1 %t4823 = ptrtoint ptr %t4822 to i64 %t4824 = zext i32 %t4821 to i64 %t4825 = mul i64 %t4824, %t4823 %t4826 = load ptr, ptr %t4815 %t4827 = call ptr @realloc(ptr %t4826, i64 %t4825) store ptr %t4827, ptr %t4815 store i32 %t4821, ptr %t4814 br label %put975 put975: %t4828 = load ptr, ptr %t4815 %t4829 = getelementptr inbounds ptr, ptr %t4828, i32 %t4816 store ptr @.str7766, ptr %t4829 %t4830 = add i32 %t4816, 1 store i32 %t4830, ptr %t4813 br label %ifend971 ifend971: %t4831 = load ptr, ptr %t1 %t4832 = call i32 @lp_str_eq(ptr %t4831, ptr @.str7767) %t4833 = icmp ne i32 %t4832, 0 br i1 %t4833, label %then976, label %ifend978 then976: store ptr @.str7768, ptr %t403 %t4834 = load ptr, ptr %t410 %t4835 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 1 %t4836 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 2 %t4837 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 0 %t4838 = load i32, ptr %t4835 %t4839 = load i32, ptr %t4836 %t4840 = icmp sge i32 %t4838, %t4839 br i1 %t4840, label %grow979, label %put980 grow979: %t4841 = mul i32 %t4839, 2 %t4842 = icmp eq i32 %t4839, 0 %t4843 = select i1 %t4842, i32 8, i32 %t4841 %t4844 = getelementptr ptr, ptr null, i32 1 %t4845 = ptrtoint ptr %t4844 to i64 %t4846 = zext i32 %t4843 to i64 %t4847 = mul i64 %t4846, %t4845 %t4848 = load ptr, ptr %t4837 %t4849 = call ptr @realloc(ptr %t4848, i64 %t4847) store ptr %t4849, ptr %t4837 store i32 %t4843, ptr %t4836 br label %put980 put980: %t4850 = load ptr, ptr %t4837 %t4851 = getelementptr inbounds ptr, ptr %t4850, i32 %t4838 store ptr @.str7769, ptr %t4851 %t4852 = add i32 %t4838, 1 store i32 %t4852, ptr %t4835 %t4853 = load ptr, ptr %t410 %t4854 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 1 %t4855 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 2 %t4856 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 0 %t4857 = load i32, ptr %t4854 %t4858 = load i32, ptr %t4855 %t4859 = icmp sge i32 %t4857, %t4858 br i1 %t4859, label %grow981, label %put982 grow981: %t4860 = mul i32 %t4858, 2 %t4861 = icmp eq i32 %t4858, 0 %t4862 = select i1 %t4861, i32 8, i32 %t4860 %t4863 = getelementptr ptr, ptr null, i32 1 %t4864 = ptrtoint ptr %t4863 to i64 %t4865 = zext i32 %t4862 to i64 %t4866 = mul i64 %t4865, %t4864 %t4867 = load ptr, ptr %t4856 %t4868 = call ptr @realloc(ptr %t4867, i64 %t4866) store ptr %t4868, ptr %t4856 store i32 %t4862, ptr %t4855 br label %put982 put982: %t4869 = load ptr, ptr %t4856 %t4870 = getelementptr inbounds ptr, ptr %t4869, i32 %t4857 store ptr @.str7770, ptr %t4870 %t4871 = add i32 %t4857, 1 store i32 %t4871, ptr %t4854 br label %ifend978 ifend978: %t4872 = load ptr, ptr %t1 %t4873 = call i32 @lp_str_eq(ptr %t4872, ptr @.str7771) %t4874 = icmp ne i32 %t4873, 0 br i1 %t4874, label %then983, label %ifend985 then983: store ptr @.str7772, ptr %t403 %t4875 = load ptr, ptr %t410 %t4876 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 1 %t4877 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 2 %t4878 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 0 %t4879 = load i32, ptr %t4876 %t4880 = load i32, ptr %t4877 %t4881 = icmp sge i32 %t4879, %t4880 br i1 %t4881, label %grow986, label %put987 grow986: %t4882 = mul i32 %t4880, 2 %t4883 = icmp eq i32 %t4880, 0 %t4884 = select i1 %t4883, i32 8, i32 %t4882 %t4885 = getelementptr ptr, ptr null, i32 1 %t4886 = ptrtoint ptr %t4885 to i64 %t4887 = zext i32 %t4884 to i64 %t4888 = mul i64 %t4887, %t4886 %t4889 = load ptr, ptr %t4878 %t4890 = call ptr @realloc(ptr %t4889, i64 %t4888) store ptr %t4890, ptr %t4878 store i32 %t4884, ptr %t4877 br label %put987 put987: %t4891 = load ptr, ptr %t4878 %t4892 = getelementptr inbounds ptr, ptr %t4891, i32 %t4879 store ptr @.str7773, ptr %t4892 %t4893 = add i32 %t4879, 1 store i32 %t4893, ptr %t4876 br label %ifend985 ifend985: %t4894 = load ptr, ptr %t1 %t4895 = call i32 @lp_str_eq(ptr %t4894, ptr @.str7774) %t4896 = icmp ne i32 %t4895, 0 br i1 %t4896, label %then988, label %ifend990 then988: store ptr @.str7775, ptr %t403 %t4897 = load ptr, ptr %t410 %t4898 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 1 %t4899 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 2 %t4900 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 0 %t4901 = load i32, ptr %t4898 %t4902 = load i32, ptr %t4899 %t4903 = icmp sge i32 %t4901, %t4902 br i1 %t4903, label %grow991, label %put992 grow991: %t4904 = mul i32 %t4902, 2 %t4905 = icmp eq i32 %t4902, 0 %t4906 = select i1 %t4905, i32 8, i32 %t4904 %t4907 = getelementptr ptr, ptr null, i32 1 %t4908 = ptrtoint ptr %t4907 to i64 %t4909 = zext i32 %t4906 to i64 %t4910 = mul i64 %t4909, %t4908 %t4911 = load ptr, ptr %t4900 %t4912 = call ptr @realloc(ptr %t4911, i64 %t4910) store ptr %t4912, ptr %t4900 store i32 %t4906, ptr %t4899 br label %put992 put992: %t4913 = load ptr, ptr %t4900 %t4914 = getelementptr inbounds ptr, ptr %t4913, i32 %t4901 store ptr @.str7776, ptr %t4914 %t4915 = add i32 %t4901, 1 store i32 %t4915, ptr %t4898 br label %ifend990 ifend990: %t4916 = load ptr, ptr %t1 %t4917 = call i32 @lp_str_eq(ptr %t4916, ptr @.str7777) %t4918 = icmp ne i32 %t4917, 0 br i1 %t4918, label %then993, label %ifend995 then993: store ptr @.str7778, ptr %t403 %t4919 = load ptr, ptr %t410 %t4920 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 1 %t4921 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 2 %t4922 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 0 %t4923 = load i32, ptr %t4920 %t4924 = load i32, ptr %t4921 %t4925 = icmp sge i32 %t4923, %t4924 br i1 %t4925, label %grow996, label %put997 grow996: %t4926 = mul i32 %t4924, 2 %t4927 = icmp eq i32 %t4924, 0 %t4928 = select i1 %t4927, i32 8, i32 %t4926 %t4929 = getelementptr ptr, ptr null, i32 1 %t4930 = ptrtoint ptr %t4929 to i64 %t4931 = zext i32 %t4928 to i64 %t4932 = mul i64 %t4931, %t4930 %t4933 = load ptr, ptr %t4922 %t4934 = call ptr @realloc(ptr %t4933, i64 %t4932) store ptr %t4934, ptr %t4922 store i32 %t4928, ptr %t4921 br label %put997 put997: %t4935 = load ptr, ptr %t4922 %t4936 = getelementptr inbounds ptr, ptr %t4935, i32 %t4923 store ptr @.str7779, ptr %t4936 %t4937 = add i32 %t4923, 1 store i32 %t4937, ptr %t4920 br label %ifend995 ifend995: %t4938 = load ptr, ptr %t1 %t4939 = call i32 @lp_str_eq(ptr %t4938, ptr @.str7780) %t4940 = icmp ne i32 %t4939, 0 br i1 %t4940, label %then998, label %ifend1000 then998: store ptr @.str7781, ptr %t403 %t4941 = load ptr, ptr %t410 %t4942 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 1 %t4943 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 2 %t4944 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 0 %t4945 = load i32, ptr %t4942 %t4946 = load i32, ptr %t4943 %t4947 = icmp sge i32 %t4945, %t4946 br i1 %t4947, label %grow1001, label %put1002 grow1001: %t4948 = mul i32 %t4946, 2 %t4949 = icmp eq i32 %t4946, 0 %t4950 = select i1 %t4949, i32 8, i32 %t4948 %t4951 = getelementptr ptr, ptr null, i32 1 %t4952 = ptrtoint ptr %t4951 to i64 %t4953 = zext i32 %t4950 to i64 %t4954 = mul i64 %t4953, %t4952 %t4955 = load ptr, ptr %t4944 %t4956 = call ptr @realloc(ptr %t4955, i64 %t4954) store ptr %t4956, ptr %t4944 store i32 %t4950, ptr %t4943 br label %put1002 put1002: %t4957 = load ptr, ptr %t4944 %t4958 = getelementptr inbounds ptr, ptr %t4957, i32 %t4945 store ptr @.str7782, ptr %t4958 %t4959 = add i32 %t4945, 1 store i32 %t4959, ptr %t4942 br label %ifend1000 ifend1000: %t4960 = load ptr, ptr %t1 %t4961 = call i32 @lp_str_eq(ptr %t4960, ptr @.str7783) %t4962 = icmp ne i32 %t4961, 0 br i1 %t4962, label %then1003, label %ifend1005 then1003: store ptr @.str7784, ptr %t403 %t4963 = load ptr, ptr %t410 %t4964 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 1 %t4965 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 2 %t4966 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 0 %t4967 = load i32, ptr %t4964 %t4968 = load i32, ptr %t4965 %t4969 = icmp sge i32 %t4967, %t4968 br i1 %t4969, label %grow1006, label %put1007 grow1006: %t4970 = mul i32 %t4968, 2 %t4971 = icmp eq i32 %t4968, 0 %t4972 = select i1 %t4971, i32 8, i32 %t4970 %t4973 = getelementptr ptr, ptr null, i32 1 %t4974 = ptrtoint ptr %t4973 to i64 %t4975 = zext i32 %t4972 to i64 %t4976 = mul i64 %t4975, %t4974 %t4977 = load ptr, ptr %t4966 %t4978 = call ptr @realloc(ptr %t4977, i64 %t4976) store ptr %t4978, ptr %t4966 store i32 %t4972, ptr %t4965 br label %put1007 put1007: %t4979 = load ptr, ptr %t4966 %t4980 = getelementptr inbounds ptr, ptr %t4979, i32 %t4967 store ptr @.str7785, ptr %t4980 %t4981 = add i32 %t4967, 1 store i32 %t4981, ptr %t4964 br label %ifend1005 ifend1005: %t4982 = load ptr, ptr %t1 %t4983 = call i32 @lp_str_eq(ptr %t4982, ptr @.str7786) %t4984 = icmp ne i32 %t4983, 0 br i1 %t4984, label %then1008, label %ifend1010 then1008: store ptr @.str7787, ptr %t403 %t4985 = load ptr, ptr %t410 %t4986 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 1 %t4987 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 2 %t4988 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 0 %t4989 = load i32, ptr %t4986 %t4990 = load i32, ptr %t4987 %t4991 = icmp sge i32 %t4989, %t4990 br i1 %t4991, label %grow1011, label %put1012 grow1011: %t4992 = mul i32 %t4990, 2 %t4993 = icmp eq i32 %t4990, 0 %t4994 = select i1 %t4993, i32 8, i32 %t4992 %t4995 = getelementptr ptr, ptr null, i32 1 %t4996 = ptrtoint ptr %t4995 to i64 %t4997 = zext i32 %t4994 to i64 %t4998 = mul i64 %t4997, %t4996 %t4999 = load ptr, ptr %t4988 %t5000 = call ptr @realloc(ptr %t4999, i64 %t4998) store ptr %t5000, ptr %t4988 store i32 %t4994, ptr %t4987 br label %put1012 put1012: %t5001 = load ptr, ptr %t4988 %t5002 = getelementptr inbounds ptr, ptr %t5001, i32 %t4989 store ptr @.str7788, ptr %t5002 %t5003 = add i32 %t4989, 1 store i32 %t5003, ptr %t4986 br label %ifend1010 ifend1010: %t5004 = load ptr, ptr %t1 %t5005 = call i32 @lp_str_eq(ptr %t5004, ptr @.str7789) %t5006 = icmp ne i32 %t5005, 0 br i1 %t5006, label %then1013, label %ifend1015 then1013: store ptr @.str7790, ptr %t403 %t5007 = load ptr, ptr %t410 %t5008 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 1 %t5009 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 2 %t5010 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 0 %t5011 = load i32, ptr %t5008 %t5012 = load i32, ptr %t5009 %t5013 = icmp sge i32 %t5011, %t5012 br i1 %t5013, label %grow1016, label %put1017 grow1016: %t5014 = mul i32 %t5012, 2 %t5015 = icmp eq i32 %t5012, 0 %t5016 = select i1 %t5015, i32 8, i32 %t5014 %t5017 = getelementptr ptr, ptr null, i32 1 %t5018 = ptrtoint ptr %t5017 to i64 %t5019 = zext i32 %t5016 to i64 %t5020 = mul i64 %t5019, %t5018 %t5021 = load ptr, ptr %t5010 %t5022 = call ptr @realloc(ptr %t5021, i64 %t5020) store ptr %t5022, ptr %t5010 store i32 %t5016, ptr %t5009 br label %put1017 put1017: %t5023 = load ptr, ptr %t5010 %t5024 = getelementptr inbounds ptr, ptr %t5023, i32 %t5011 store ptr @.str7791, ptr %t5024 %t5025 = add i32 %t5011, 1 store i32 %t5025, ptr %t5008 br label %ifend1015 ifend1015: %t5026 = load ptr, ptr %t1 %t5027 = call i32 @lp_str_eq(ptr %t5026, ptr @.str7792) %t5028 = icmp ne i32 %t5027, 0 br i1 %t5028, label %then1018, label %ifend1020 then1018: store ptr @.str7793, ptr %t403 %t5029 = load ptr, ptr %t410 %t5030 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 1 %t5031 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 2 %t5032 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 0 %t5033 = load i32, ptr %t5030 %t5034 = load i32, ptr %t5031 %t5035 = icmp sge i32 %t5033, %t5034 br i1 %t5035, label %grow1021, label %put1022 grow1021: %t5036 = mul i32 %t5034, 2 %t5037 = icmp eq i32 %t5034, 0 %t5038 = select i1 %t5037, i32 8, i32 %t5036 %t5039 = getelementptr ptr, ptr null, i32 1 %t5040 = ptrtoint ptr %t5039 to i64 %t5041 = zext i32 %t5038 to i64 %t5042 = mul i64 %t5041, %t5040 %t5043 = load ptr, ptr %t5032 %t5044 = call ptr @realloc(ptr %t5043, i64 %t5042) store ptr %t5044, ptr %t5032 store i32 %t5038, ptr %t5031 br label %put1022 put1022: %t5045 = load ptr, ptr %t5032 %t5046 = getelementptr inbounds ptr, ptr %t5045, i32 %t5033 store ptr @.str7794, ptr %t5046 %t5047 = add i32 %t5033, 1 store i32 %t5047, ptr %t5030 br label %ifend1020 ifend1020: %t5048 = load ptr, ptr %t1 %t5049 = call i32 @lp_str_eq(ptr %t5048, ptr @.str7795) %t5050 = icmp ne i32 %t5049, 0 br i1 %t5050, label %then1023, label %ifend1025 then1023: store ptr @.str7796, ptr %t403 %t5051 = load ptr, ptr %t410 %t5052 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 1 %t5053 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 2 %t5054 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 0 %t5055 = load i32, ptr %t5052 %t5056 = load i32, ptr %t5053 %t5057 = icmp sge i32 %t5055, %t5056 br i1 %t5057, label %grow1026, label %put1027 grow1026: %t5058 = mul i32 %t5056, 2 %t5059 = icmp eq i32 %t5056, 0 %t5060 = select i1 %t5059, i32 8, i32 %t5058 %t5061 = getelementptr ptr, ptr null, i32 1 %t5062 = ptrtoint ptr %t5061 to i64 %t5063 = zext i32 %t5060 to i64 %t5064 = mul i64 %t5063, %t5062 %t5065 = load ptr, ptr %t5054 %t5066 = call ptr @realloc(ptr %t5065, i64 %t5064) store ptr %t5066, ptr %t5054 store i32 %t5060, ptr %t5053 br label %put1027 put1027: %t5067 = load ptr, ptr %t5054 %t5068 = getelementptr inbounds ptr, ptr %t5067, i32 %t5055 store ptr @.str7797, ptr %t5068 %t5069 = add i32 %t5055, 1 store i32 %t5069, ptr %t5052 br label %ifend1025 ifend1025: %t5070 = load ptr, ptr %t1 %t5071 = call i32 @lp_str_eq(ptr %t5070, ptr @.str7798) %t5072 = icmp ne i32 %t5071, 0 br i1 %t5072, label %then1028, label %ifend1030 then1028: store ptr @.str7799, ptr %t403 %t5073 = load ptr, ptr %t410 %t5074 = getelementptr inbounds %LSlice, ptr %t5073, i32 0, i32 1 %t5075 = getelementptr inbounds %LSlice, ptr %t5073, i32 0, i32 2 %t5076 = getelementptr inbounds %LSlice, ptr %t5073, i32 0, i32 0 %t5077 = load i32, ptr %t5074 %t5078 = load i32, ptr %t5075 %t5079 = icmp sge i32 %t5077, %t5078 br i1 %t5079, label %grow1031, label %put1032 grow1031: %t5080 = mul i32 %t5078, 2 %t5081 = icmp eq i32 %t5078, 0 %t5082 = select i1 %t5081, i32 8, i32 %t5080 %t5083 = getelementptr ptr, ptr null, i32 1 %t5084 = ptrtoint ptr %t5083 to i64 %t5085 = zext i32 %t5082 to i64 %t5086 = mul i64 %t5085, %t5084 %t5087 = load ptr, ptr %t5076 %t5088 = call ptr @realloc(ptr %t5087, i64 %t5086) store ptr %t5088, ptr %t5076 store i32 %t5082, ptr %t5075 br label %put1032 put1032: %t5089 = load ptr, ptr %t5076 %t5090 = getelementptr inbounds ptr, ptr %t5089, i32 %t5077 store ptr @.str7800, ptr %t5090 %t5091 = add i32 %t5077, 1 store i32 %t5091, ptr %t5074 %t5092 = load ptr, ptr %t410 %t5093 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 1 %t5094 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 2 %t5095 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 0 %t5096 = load i32, ptr %t5093 %t5097 = load i32, ptr %t5094 %t5098 = icmp sge i32 %t5096, %t5097 br i1 %t5098, label %grow1033, label %put1034 grow1033: %t5099 = mul i32 %t5097, 2 %t5100 = icmp eq i32 %t5097, 0 %t5101 = select i1 %t5100, i32 8, i32 %t5099 %t5102 = getelementptr ptr, ptr null, i32 1 %t5103 = ptrtoint ptr %t5102 to i64 %t5104 = zext i32 %t5101 to i64 %t5105 = mul i64 %t5104, %t5103 %t5106 = load ptr, ptr %t5095 %t5107 = call ptr @realloc(ptr %t5106, i64 %t5105) store ptr %t5107, ptr %t5095 store i32 %t5101, ptr %t5094 br label %put1034 put1034: %t5108 = load ptr, ptr %t5095 %t5109 = getelementptr inbounds ptr, ptr %t5108, i32 %t5096 store ptr @.str7801, ptr %t5109 %t5110 = add i32 %t5096, 1 store i32 %t5110, ptr %t5093 br label %ifend1030 ifend1030: %t5111 = load ptr, ptr %t1 %t5112 = call i32 @lp_str_eq(ptr %t5111, ptr @.str7802) %t5113 = icmp ne i32 %t5112, 0 br i1 %t5113, label %then1035, label %ifend1037 then1035: store ptr @.str7803, ptr %t403 %t5114 = load ptr, ptr %t410 %t5115 = getelementptr inbounds %LSlice, ptr %t5114, i32 0, i32 1 %t5116 = getelementptr inbounds %LSlice, ptr %t5114, i32 0, i32 2 %t5117 = getelementptr inbounds %LSlice, ptr %t5114, i32 0, i32 0 %t5118 = load i32, ptr %t5115 %t5119 = load i32, ptr %t5116 %t5120 = icmp sge i32 %t5118, %t5119 br i1 %t5120, label %grow1038, label %put1039 grow1038: %t5121 = mul i32 %t5119, 2 %t5122 = icmp eq i32 %t5119, 0 %t5123 = select i1 %t5122, i32 8, i32 %t5121 %t5124 = getelementptr ptr, ptr null, i32 1 %t5125 = ptrtoint ptr %t5124 to i64 %t5126 = zext i32 %t5123 to i64 %t5127 = mul i64 %t5126, %t5125 %t5128 = load ptr, ptr %t5117 %t5129 = call ptr @realloc(ptr %t5128, i64 %t5127) store ptr %t5129, ptr %t5117 store i32 %t5123, ptr %t5116 br label %put1039 put1039: %t5130 = load ptr, ptr %t5117 %t5131 = getelementptr inbounds ptr, ptr %t5130, i32 %t5118 store ptr @.str7804, ptr %t5131 %t5132 = add i32 %t5118, 1 store i32 %t5132, ptr %t5115 %t5133 = load ptr, ptr %t410 %t5134 = getelementptr inbounds %LSlice, ptr %t5133, i32 0, i32 1 %t5135 = getelementptr inbounds %LSlice, ptr %t5133, i32 0, i32 2 %t5136 = getelementptr inbounds %LSlice, ptr %t5133, i32 0, i32 0 %t5137 = load i32, ptr %t5134 %t5138 = load i32, ptr %t5135 %t5139 = icmp sge i32 %t5137, %t5138 br i1 %t5139, label %grow1040, label %put1041 grow1040: %t5140 = mul i32 %t5138, 2 %t5141 = icmp eq i32 %t5138, 0 %t5142 = select i1 %t5141, i32 8, i32 %t5140 %t5143 = getelementptr ptr, ptr null, i32 1 %t5144 = ptrtoint ptr %t5143 to i64 %t5145 = zext i32 %t5142 to i64 %t5146 = mul i64 %t5145, %t5144 %t5147 = load ptr, ptr %t5136 %t5148 = call ptr @realloc(ptr %t5147, i64 %t5146) store ptr %t5148, ptr %t5136 store i32 %t5142, ptr %t5135 br label %put1041 put1041: %t5149 = load ptr, ptr %t5136 %t5150 = getelementptr inbounds ptr, ptr %t5149, i32 %t5137 store ptr @.str7805, ptr %t5150 %t5151 = add i32 %t5137, 1 store i32 %t5151, ptr %t5134 br label %ifend1037 ifend1037: %t5152 = load ptr, ptr %t1 %t5153 = call i32 @lp_str_eq(ptr %t5152, ptr @.str7806) %t5154 = icmp ne i32 %t5153, 0 br i1 %t5154, label %then1042, label %ifend1044 then1042: store ptr @.str7807, ptr %t403 br label %ifend1044 ifend1044: %t5155 = load ptr, ptr %t1 %t5156 = call i32 @lp_str_eq(ptr %t5155, ptr @.str7808) %t5157 = icmp ne i32 %t5156, 0 br i1 %t5157, label %then1045, label %ifend1047 then1045: store ptr @.str7809, ptr %t403 %t5158 = load ptr, ptr %t410 %t5159 = getelementptr inbounds %LSlice, ptr %t5158, i32 0, i32 1 %t5160 = getelementptr inbounds %LSlice, ptr %t5158, i32 0, i32 2 %t5161 = getelementptr inbounds %LSlice, ptr %t5158, i32 0, i32 0 %t5162 = load i32, ptr %t5159 %t5163 = load i32, ptr %t5160 %t5164 = icmp sge i32 %t5162, %t5163 br i1 %t5164, label %grow1048, label %put1049 grow1048: %t5165 = mul i32 %t5163, 2 %t5166 = icmp eq i32 %t5163, 0 %t5167 = select i1 %t5166, i32 8, i32 %t5165 %t5168 = getelementptr ptr, ptr null, i32 1 %t5169 = ptrtoint ptr %t5168 to i64 %t5170 = zext i32 %t5167 to i64 %t5171 = mul i64 %t5170, %t5169 %t5172 = load ptr, ptr %t5161 %t5173 = call ptr @realloc(ptr %t5172, i64 %t5171) store ptr %t5173, ptr %t5161 store i32 %t5167, ptr %t5160 br label %put1049 put1049: %t5174 = load ptr, ptr %t5161 %t5175 = getelementptr inbounds ptr, ptr %t5174, i32 %t5162 store ptr @.str7810, ptr %t5175 %t5176 = add i32 %t5162, 1 store i32 %t5176, ptr %t5159 %t5177 = load ptr, ptr %t410 %t5178 = getelementptr inbounds %LSlice, ptr %t5177, i32 0, i32 1 %t5179 = getelementptr inbounds %LSlice, ptr %t5177, i32 0, i32 2 %t5180 = getelementptr inbounds %LSlice, ptr %t5177, i32 0, i32 0 %t5181 = load i32, ptr %t5178 %t5182 = load i32, ptr %t5179 %t5183 = icmp sge i32 %t5181, %t5182 br i1 %t5183, label %grow1050, label %put1051 grow1050: %t5184 = mul i32 %t5182, 2 %t5185 = icmp eq i32 %t5182, 0 %t5186 = select i1 %t5185, i32 8, i32 %t5184 %t5187 = getelementptr ptr, ptr null, i32 1 %t5188 = ptrtoint ptr %t5187 to i64 %t5189 = zext i32 %t5186 to i64 %t5190 = mul i64 %t5189, %t5188 %t5191 = load ptr, ptr %t5180 %t5192 = call ptr @realloc(ptr %t5191, i64 %t5190) store ptr %t5192, ptr %t5180 store i32 %t5186, ptr %t5179 br label %put1051 put1051: %t5193 = load ptr, ptr %t5180 %t5194 = getelementptr inbounds ptr, ptr %t5193, i32 %t5181 store ptr @.str7811, ptr %t5194 %t5195 = add i32 %t5181, 1 store i32 %t5195, ptr %t5178 %t5196 = load ptr, ptr %t410 %t5197 = getelementptr inbounds %LSlice, ptr %t5196, i32 0, i32 1 %t5198 = getelementptr inbounds %LSlice, ptr %t5196, i32 0, i32 2 %t5199 = getelementptr inbounds %LSlice, ptr %t5196, i32 0, i32 0 %t5200 = load i32, ptr %t5197 %t5201 = load i32, ptr %t5198 %t5202 = icmp sge i32 %t5200, %t5201 br i1 %t5202, label %grow1052, label %put1053 grow1052: %t5203 = mul i32 %t5201, 2 %t5204 = icmp eq i32 %t5201, 0 %t5205 = select i1 %t5204, i32 8, i32 %t5203 %t5206 = getelementptr ptr, ptr null, i32 1 %t5207 = ptrtoint ptr %t5206 to i64 %t5208 = zext i32 %t5205 to i64 %t5209 = mul i64 %t5208, %t5207 %t5210 = load ptr, ptr %t5199 %t5211 = call ptr @realloc(ptr %t5210, i64 %t5209) store ptr %t5211, ptr %t5199 store i32 %t5205, ptr %t5198 br label %put1053 put1053: %t5212 = load ptr, ptr %t5199 %t5213 = getelementptr inbounds ptr, ptr %t5212, i32 %t5200 store ptr @.str7812, ptr %t5213 %t5214 = add i32 %t5200, 1 store i32 %t5214, ptr %t5197 %t5215 = load ptr, ptr %t410 %t5216 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 1 %t5217 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 2 %t5218 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 0 %t5219 = load i32, ptr %t5216 %t5220 = load i32, ptr %t5217 %t5221 = icmp sge i32 %t5219, %t5220 br i1 %t5221, label %grow1054, label %put1055 grow1054: %t5222 = mul i32 %t5220, 2 %t5223 = icmp eq i32 %t5220, 0 %t5224 = select i1 %t5223, i32 8, i32 %t5222 %t5225 = getelementptr ptr, ptr null, i32 1 %t5226 = ptrtoint ptr %t5225 to i64 %t5227 = zext i32 %t5224 to i64 %t5228 = mul i64 %t5227, %t5226 %t5229 = load ptr, ptr %t5218 %t5230 = call ptr @realloc(ptr %t5229, i64 %t5228) store ptr %t5230, ptr %t5218 store i32 %t5224, ptr %t5217 br label %put1055 put1055: %t5231 = load ptr, ptr %t5218 %t5232 = getelementptr inbounds ptr, ptr %t5231, i32 %t5219 store ptr @.str7813, ptr %t5232 %t5233 = add i32 %t5219, 1 store i32 %t5233, ptr %t5216 br label %ifend1047 ifend1047: %t5234 = load ptr, ptr %t1 %t5235 = call i32 @lp_str_eq(ptr %t5234, ptr @.str7814) %t5236 = icmp ne i32 %t5235, 0 br i1 %t5236, label %then1056, label %ifend1058 then1056: store ptr @.str7815, ptr %t403 %t5237 = load ptr, ptr %t410 %t5238 = getelementptr inbounds %LSlice, ptr %t5237, i32 0, i32 1 %t5239 = getelementptr inbounds %LSlice, ptr %t5237, i32 0, i32 2 %t5240 = getelementptr inbounds %LSlice, ptr %t5237, i32 0, i32 0 %t5241 = load i32, ptr %t5238 %t5242 = load i32, ptr %t5239 %t5243 = icmp sge i32 %t5241, %t5242 br i1 %t5243, label %grow1059, label %put1060 grow1059: %t5244 = mul i32 %t5242, 2 %t5245 = icmp eq i32 %t5242, 0 %t5246 = select i1 %t5245, i32 8, i32 %t5244 %t5247 = getelementptr ptr, ptr null, i32 1 %t5248 = ptrtoint ptr %t5247 to i64 %t5249 = zext i32 %t5246 to i64 %t5250 = mul i64 %t5249, %t5248 %t5251 = load ptr, ptr %t5240 %t5252 = call ptr @realloc(ptr %t5251, i64 %t5250) store ptr %t5252, ptr %t5240 store i32 %t5246, ptr %t5239 br label %put1060 put1060: %t5253 = load ptr, ptr %t5240 %t5254 = getelementptr inbounds ptr, ptr %t5253, i32 %t5241 store ptr @.str7816, ptr %t5254 %t5255 = add i32 %t5241, 1 store i32 %t5255, ptr %t5238 br label %ifend1058 ifend1058: %t5256 = load ptr, ptr %t1 %t5257 = call i32 @lp_str_eq(ptr %t5256, ptr @.str7817) %t5258 = icmp ne i32 %t5257, 0 br i1 %t5258, label %then1061, label %ifend1063 then1061: store ptr @.str7818, ptr %t403 br label %ifend1063 ifend1063: %t5259 = load ptr, ptr %t1 %t5260 = call i32 @lp_str_eq(ptr %t5259, ptr @.str7819) %t5261 = icmp ne i32 %t5260, 0 br i1 %t5261, label %then1064, label %ifend1066 then1064: store ptr @.str7820, ptr %t403 br label %ifend1066 ifend1066: %t5262 = load ptr, ptr %t1 %t5263 = call i32 @lp_str_eq(ptr %t5262, ptr @.str7821) %t5264 = icmp ne i32 %t5263, 0 br i1 %t5264, label %then1067, label %ifend1069 then1067: store ptr @.str7822, ptr %t403 br label %ifend1069 ifend1069: %t5265 = load ptr, ptr %t1 %t5266 = call i32 @lp_str_eq(ptr %t5265, ptr @.str7823) %t5267 = icmp ne i32 %t5266, 0 br i1 %t5267, label %then1070, label %ifend1072 then1070: store ptr @.str7824, ptr %t403 br label %ifend1072 ifend1072: %t5268 = load ptr, ptr %t1 %t5269 = call i32 @lp_str_eq(ptr %t5268, ptr @.str7825) %t5270 = icmp ne i32 %t5269, 0 br i1 %t5270, label %then1073, label %ifend1075 then1073: store ptr @.str7826, ptr %t403 %t5271 = load ptr, ptr %t410 %t5272 = getelementptr inbounds %LSlice, ptr %t5271, i32 0, i32 1 %t5273 = getelementptr inbounds %LSlice, ptr %t5271, i32 0, i32 2 %t5274 = getelementptr inbounds %LSlice, ptr %t5271, i32 0, i32 0 %t5275 = load i32, ptr %t5272 %t5276 = load i32, ptr %t5273 %t5277 = icmp sge i32 %t5275, %t5276 br i1 %t5277, label %grow1076, label %put1077 grow1076: %t5278 = mul i32 %t5276, 2 %t5279 = icmp eq i32 %t5276, 0 %t5280 = select i1 %t5279, i32 8, i32 %t5278 %t5281 = getelementptr ptr, ptr null, i32 1 %t5282 = ptrtoint ptr %t5281 to i64 %t5283 = zext i32 %t5280 to i64 %t5284 = mul i64 %t5283, %t5282 %t5285 = load ptr, ptr %t5274 %t5286 = call ptr @realloc(ptr %t5285, i64 %t5284) store ptr %t5286, ptr %t5274 store i32 %t5280, ptr %t5273 br label %put1077 put1077: %t5287 = load ptr, ptr %t5274 %t5288 = getelementptr inbounds ptr, ptr %t5287, i32 %t5275 store ptr @.str7827, ptr %t5288 %t5289 = add i32 %t5275, 1 store i32 %t5289, ptr %t5272 br label %ifend1075 ifend1075: %t5290 = load ptr, ptr %t1 %t5291 = call i32 @lp_str_eq(ptr %t5290, ptr @.str7828) %t5292 = icmp ne i32 %t5291, 0 br i1 %t5292, label %then1078, label %ifend1080 then1078: store ptr @.str7829, ptr %t403 br label %ifend1080 ifend1080: %t5293 = load ptr, ptr %t1 %t5294 = call i32 @lp_str_eq(ptr %t5293, ptr @.str7830) %t5295 = icmp ne i32 %t5294, 0 br i1 %t5295, label %then1081, label %ifend1083 then1081: store ptr @.str7831, ptr %t403 %t5296 = load ptr, ptr %t410 %t5297 = getelementptr inbounds %LSlice, ptr %t5296, i32 0, i32 1 %t5298 = getelementptr inbounds %LSlice, ptr %t5296, i32 0, i32 2 %t5299 = getelementptr inbounds %LSlice, ptr %t5296, i32 0, i32 0 %t5300 = load i32, ptr %t5297 %t5301 = load i32, ptr %t5298 %t5302 = icmp sge i32 %t5300, %t5301 br i1 %t5302, label %grow1084, label %put1085 grow1084: %t5303 = mul i32 %t5301, 2 %t5304 = icmp eq i32 %t5301, 0 %t5305 = select i1 %t5304, i32 8, i32 %t5303 %t5306 = getelementptr ptr, ptr null, i32 1 %t5307 = ptrtoint ptr %t5306 to i64 %t5308 = zext i32 %t5305 to i64 %t5309 = mul i64 %t5308, %t5307 %t5310 = load ptr, ptr %t5299 %t5311 = call ptr @realloc(ptr %t5310, i64 %t5309) store ptr %t5311, ptr %t5299 store i32 %t5305, ptr %t5298 br label %put1085 put1085: %t5312 = load ptr, ptr %t5299 %t5313 = getelementptr inbounds ptr, ptr %t5312, i32 %t5300 store ptr @.str7832, ptr %t5313 %t5314 = add i32 %t5300, 1 store i32 %t5314, ptr %t5297 %t5315 = load ptr, ptr %t410 %t5316 = getelementptr inbounds %LSlice, ptr %t5315, i32 0, i32 1 %t5317 = getelementptr inbounds %LSlice, ptr %t5315, i32 0, i32 2 %t5318 = getelementptr inbounds %LSlice, ptr %t5315, i32 0, i32 0 %t5319 = load i32, ptr %t5316 %t5320 = load i32, ptr %t5317 %t5321 = icmp sge i32 %t5319, %t5320 br i1 %t5321, label %grow1086, label %put1087 grow1086: %t5322 = mul i32 %t5320, 2 %t5323 = icmp eq i32 %t5320, 0 %t5324 = select i1 %t5323, i32 8, i32 %t5322 %t5325 = getelementptr ptr, ptr null, i32 1 %t5326 = ptrtoint ptr %t5325 to i64 %t5327 = zext i32 %t5324 to i64 %t5328 = mul i64 %t5327, %t5326 %t5329 = load ptr, ptr %t5318 %t5330 = call ptr @realloc(ptr %t5329, i64 %t5328) store ptr %t5330, ptr %t5318 store i32 %t5324, ptr %t5317 br label %put1087 put1087: %t5331 = load ptr, ptr %t5318 %t5332 = getelementptr inbounds ptr, ptr %t5331, i32 %t5319 store ptr @.str7833, ptr %t5332 %t5333 = add i32 %t5319, 1 store i32 %t5333, ptr %t5316 %t5334 = load ptr, ptr %t410 %t5335 = getelementptr inbounds %LSlice, ptr %t5334, i32 0, i32 1 %t5336 = getelementptr inbounds %LSlice, ptr %t5334, i32 0, i32 2 %t5337 = getelementptr inbounds %LSlice, ptr %t5334, i32 0, i32 0 %t5338 = load i32, ptr %t5335 %t5339 = load i32, ptr %t5336 %t5340 = icmp sge i32 %t5338, %t5339 br i1 %t5340, label %grow1088, label %put1089 grow1088: %t5341 = mul i32 %t5339, 2 %t5342 = icmp eq i32 %t5339, 0 %t5343 = select i1 %t5342, i32 8, i32 %t5341 %t5344 = getelementptr ptr, ptr null, i32 1 %t5345 = ptrtoint ptr %t5344 to i64 %t5346 = zext i32 %t5343 to i64 %t5347 = mul i64 %t5346, %t5345 %t5348 = load ptr, ptr %t5337 %t5349 = call ptr @realloc(ptr %t5348, i64 %t5347) store ptr %t5349, ptr %t5337 store i32 %t5343, ptr %t5336 br label %put1089 put1089: %t5350 = load ptr, ptr %t5337 %t5351 = getelementptr inbounds ptr, ptr %t5350, i32 %t5338 store ptr @.str7834, ptr %t5351 %t5352 = add i32 %t5338, 1 store i32 %t5352, ptr %t5335 %t5353 = load ptr, ptr %t410 %t5354 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 1 %t5355 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 2 %t5356 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 0 %t5357 = load i32, ptr %t5354 %t5358 = load i32, ptr %t5355 %t5359 = icmp sge i32 %t5357, %t5358 br i1 %t5359, label %grow1090, label %put1091 grow1090: %t5360 = mul i32 %t5358, 2 %t5361 = icmp eq i32 %t5358, 0 %t5362 = select i1 %t5361, i32 8, i32 %t5360 %t5363 = getelementptr ptr, ptr null, i32 1 %t5364 = ptrtoint ptr %t5363 to i64 %t5365 = zext i32 %t5362 to i64 %t5366 = mul i64 %t5365, %t5364 %t5367 = load ptr, ptr %t5356 %t5368 = call ptr @realloc(ptr %t5367, i64 %t5366) store ptr %t5368, ptr %t5356 store i32 %t5362, ptr %t5355 br label %put1091 put1091: %t5369 = load ptr, ptr %t5356 %t5370 = getelementptr inbounds ptr, ptr %t5369, i32 %t5357 store ptr @.str7835, ptr %t5370 %t5371 = add i32 %t5357, 1 store i32 %t5371, ptr %t5354 br label %ifend1083 ifend1083: %t5372 = load ptr, ptr %t1 %t5373 = call i32 @lp_str_eq(ptr %t5372, ptr @.str7836) %t5374 = icmp ne i32 %t5373, 0 br i1 %t5374, label %then1092, label %ifend1094 then1092: store ptr @.str7837, ptr %t403 %t5375 = load ptr, ptr %t410 %t5376 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 1 %t5377 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 2 %t5378 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 0 %t5379 = load i32, ptr %t5376 %t5380 = load i32, ptr %t5377 %t5381 = icmp sge i32 %t5379, %t5380 br i1 %t5381, label %grow1095, label %put1096 grow1095: %t5382 = mul i32 %t5380, 2 %t5383 = icmp eq i32 %t5380, 0 %t5384 = select i1 %t5383, i32 8, i32 %t5382 %t5385 = getelementptr ptr, ptr null, i32 1 %t5386 = ptrtoint ptr %t5385 to i64 %t5387 = zext i32 %t5384 to i64 %t5388 = mul i64 %t5387, %t5386 %t5389 = load ptr, ptr %t5378 %t5390 = call ptr @realloc(ptr %t5389, i64 %t5388) store ptr %t5390, ptr %t5378 store i32 %t5384, ptr %t5377 br label %put1096 put1096: %t5391 = load ptr, ptr %t5378 %t5392 = getelementptr inbounds ptr, ptr %t5391, i32 %t5379 store ptr @.str7838, ptr %t5392 %t5393 = add i32 %t5379, 1 store i32 %t5393, ptr %t5376 br label %ifend1094 ifend1094: %t5394 = load ptr, ptr %t1 %t5395 = call i32 @lp_str_eq(ptr %t5394, ptr @.str7839) %t5396 = icmp ne i32 %t5395, 0 br i1 %t5396, label %then1097, label %ifend1099 then1097: store ptr @.str7840, ptr %t403 %t5397 = load ptr, ptr %t410 %t5398 = getelementptr inbounds %LSlice, ptr %t5397, i32 0, i32 1 %t5399 = getelementptr inbounds %LSlice, ptr %t5397, i32 0, i32 2 %t5400 = getelementptr inbounds %LSlice, ptr %t5397, i32 0, i32 0 %t5401 = load i32, ptr %t5398 %t5402 = load i32, ptr %t5399 %t5403 = icmp sge i32 %t5401, %t5402 br i1 %t5403, label %grow1100, label %put1101 grow1100: %t5404 = mul i32 %t5402, 2 %t5405 = icmp eq i32 %t5402, 0 %t5406 = select i1 %t5405, i32 8, i32 %t5404 %t5407 = getelementptr ptr, ptr null, i32 1 %t5408 = ptrtoint ptr %t5407 to i64 %t5409 = zext i32 %t5406 to i64 %t5410 = mul i64 %t5409, %t5408 %t5411 = load ptr, ptr %t5400 %t5412 = call ptr @realloc(ptr %t5411, i64 %t5410) store ptr %t5412, ptr %t5400 store i32 %t5406, ptr %t5399 br label %put1101 put1101: %t5413 = load ptr, ptr %t5400 %t5414 = getelementptr inbounds ptr, ptr %t5413, i32 %t5401 store ptr @.str7841, ptr %t5414 %t5415 = add i32 %t5401, 1 store i32 %t5415, ptr %t5398 %t5416 = load ptr, ptr %t410 %t5417 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 1 %t5418 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 2 %t5419 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 0 %t5420 = load i32, ptr %t5417 %t5421 = load i32, ptr %t5418 %t5422 = icmp sge i32 %t5420, %t5421 br i1 %t5422, label %grow1102, label %put1103 grow1102: %t5423 = mul i32 %t5421, 2 %t5424 = icmp eq i32 %t5421, 0 %t5425 = select i1 %t5424, i32 8, i32 %t5423 %t5426 = getelementptr ptr, ptr null, i32 1 %t5427 = ptrtoint ptr %t5426 to i64 %t5428 = zext i32 %t5425 to i64 %t5429 = mul i64 %t5428, %t5427 %t5430 = load ptr, ptr %t5419 %t5431 = call ptr @realloc(ptr %t5430, i64 %t5429) store ptr %t5431, ptr %t5419 store i32 %t5425, ptr %t5418 br label %put1103 put1103: %t5432 = load ptr, ptr %t5419 %t5433 = getelementptr inbounds ptr, ptr %t5432, i32 %t5420 store ptr @.str7842, ptr %t5433 %t5434 = add i32 %t5420, 1 store i32 %t5434, ptr %t5417 br label %ifend1099 ifend1099: %t5435 = load ptr, ptr %t1 %t5436 = call i32 @lp_str_eq(ptr %t5435, ptr @.str7843) %t5437 = icmp ne i32 %t5436, 0 br i1 %t5437, label %then1104, label %ifend1106 then1104: store ptr @.str7844, ptr %t403 %t5438 = load ptr, ptr %t410 %t5439 = getelementptr inbounds %LSlice, ptr %t5438, i32 0, i32 1 %t5440 = getelementptr inbounds %LSlice, ptr %t5438, i32 0, i32 2 %t5441 = getelementptr inbounds %LSlice, ptr %t5438, i32 0, i32 0 %t5442 = load i32, ptr %t5439 %t5443 = load i32, ptr %t5440 %t5444 = icmp sge i32 %t5442, %t5443 br i1 %t5444, label %grow1107, label %put1108 grow1107: %t5445 = mul i32 %t5443, 2 %t5446 = icmp eq i32 %t5443, 0 %t5447 = select i1 %t5446, i32 8, i32 %t5445 %t5448 = getelementptr ptr, ptr null, i32 1 %t5449 = ptrtoint ptr %t5448 to i64 %t5450 = zext i32 %t5447 to i64 %t5451 = mul i64 %t5450, %t5449 %t5452 = load ptr, ptr %t5441 %t5453 = call ptr @realloc(ptr %t5452, i64 %t5451) store ptr %t5453, ptr %t5441 store i32 %t5447, ptr %t5440 br label %put1108 put1108: %t5454 = load ptr, ptr %t5441 %t5455 = getelementptr inbounds ptr, ptr %t5454, i32 %t5442 store ptr @.str7845, ptr %t5455 %t5456 = add i32 %t5442, 1 store i32 %t5456, ptr %t5439 %t5457 = load ptr, ptr %t410 %t5458 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 1 %t5459 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 2 %t5460 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 0 %t5461 = load i32, ptr %t5458 %t5462 = load i32, ptr %t5459 %t5463 = icmp sge i32 %t5461, %t5462 br i1 %t5463, label %grow1109, label %put1110 grow1109: %t5464 = mul i32 %t5462, 2 %t5465 = icmp eq i32 %t5462, 0 %t5466 = select i1 %t5465, i32 8, i32 %t5464 %t5467 = getelementptr ptr, ptr null, i32 1 %t5468 = ptrtoint ptr %t5467 to i64 %t5469 = zext i32 %t5466 to i64 %t5470 = mul i64 %t5469, %t5468 %t5471 = load ptr, ptr %t5460 %t5472 = call ptr @realloc(ptr %t5471, i64 %t5470) store ptr %t5472, ptr %t5460 store i32 %t5466, ptr %t5459 br label %put1110 put1110: %t5473 = load ptr, ptr %t5460 %t5474 = getelementptr inbounds ptr, ptr %t5473, i32 %t5461 store ptr @.str7846, ptr %t5474 %t5475 = add i32 %t5461, 1 store i32 %t5475, ptr %t5458 br label %ifend1106 ifend1106: %t5476 = load ptr, ptr %t1 %t5477 = call i32 @lp_str_eq(ptr %t5476, ptr @.str7847) %t5478 = icmp ne i32 %t5477, 0 br i1 %t5478, label %then1111, label %ifend1113 then1111: store ptr @.str7848, ptr %t403 %t5479 = load ptr, ptr %t410 %t5480 = getelementptr inbounds %LSlice, ptr %t5479, i32 0, i32 1 %t5481 = getelementptr inbounds %LSlice, ptr %t5479, i32 0, i32 2 %t5482 = getelementptr inbounds %LSlice, ptr %t5479, i32 0, i32 0 %t5483 = load i32, ptr %t5480 %t5484 = load i32, ptr %t5481 %t5485 = icmp sge i32 %t5483, %t5484 br i1 %t5485, label %grow1114, label %put1115 grow1114: %t5486 = mul i32 %t5484, 2 %t5487 = icmp eq i32 %t5484, 0 %t5488 = select i1 %t5487, i32 8, i32 %t5486 %t5489 = getelementptr ptr, ptr null, i32 1 %t5490 = ptrtoint ptr %t5489 to i64 %t5491 = zext i32 %t5488 to i64 %t5492 = mul i64 %t5491, %t5490 %t5493 = load ptr, ptr %t5482 %t5494 = call ptr @realloc(ptr %t5493, i64 %t5492) store ptr %t5494, ptr %t5482 store i32 %t5488, ptr %t5481 br label %put1115 put1115: %t5495 = load ptr, ptr %t5482 %t5496 = getelementptr inbounds ptr, ptr %t5495, i32 %t5483 store ptr @.str7849, ptr %t5496 %t5497 = add i32 %t5483, 1 store i32 %t5497, ptr %t5480 %t5498 = load ptr, ptr %t410 %t5499 = getelementptr inbounds %LSlice, ptr %t5498, i32 0, i32 1 %t5500 = getelementptr inbounds %LSlice, ptr %t5498, i32 0, i32 2 %t5501 = getelementptr inbounds %LSlice, ptr %t5498, i32 0, i32 0 %t5502 = load i32, ptr %t5499 %t5503 = load i32, ptr %t5500 %t5504 = icmp sge i32 %t5502, %t5503 br i1 %t5504, label %grow1116, label %put1117 grow1116: %t5505 = mul i32 %t5503, 2 %t5506 = icmp eq i32 %t5503, 0 %t5507 = select i1 %t5506, i32 8, i32 %t5505 %t5508 = getelementptr ptr, ptr null, i32 1 %t5509 = ptrtoint ptr %t5508 to i64 %t5510 = zext i32 %t5507 to i64 %t5511 = mul i64 %t5510, %t5509 %t5512 = load ptr, ptr %t5501 %t5513 = call ptr @realloc(ptr %t5512, i64 %t5511) store ptr %t5513, ptr %t5501 store i32 %t5507, ptr %t5500 br label %put1117 put1117: %t5514 = load ptr, ptr %t5501 %t5515 = getelementptr inbounds ptr, ptr %t5514, i32 %t5502 store ptr @.str7850, ptr %t5515 %t5516 = add i32 %t5502, 1 store i32 %t5516, ptr %t5499 %t5517 = load ptr, ptr %t410 %t5518 = getelementptr inbounds %LSlice, ptr %t5517, i32 0, i32 1 %t5519 = getelementptr inbounds %LSlice, ptr %t5517, i32 0, i32 2 %t5520 = getelementptr inbounds %LSlice, ptr %t5517, i32 0, i32 0 %t5521 = load i32, ptr %t5518 %t5522 = load i32, ptr %t5519 %t5523 = icmp sge i32 %t5521, %t5522 br i1 %t5523, label %grow1118, label %put1119 grow1118: %t5524 = mul i32 %t5522, 2 %t5525 = icmp eq i32 %t5522, 0 %t5526 = select i1 %t5525, i32 8, i32 %t5524 %t5527 = getelementptr ptr, ptr null, i32 1 %t5528 = ptrtoint ptr %t5527 to i64 %t5529 = zext i32 %t5526 to i64 %t5530 = mul i64 %t5529, %t5528 %t5531 = load ptr, ptr %t5520 %t5532 = call ptr @realloc(ptr %t5531, i64 %t5530) store ptr %t5532, ptr %t5520 store i32 %t5526, ptr %t5519 br label %put1119 put1119: %t5533 = load ptr, ptr %t5520 %t5534 = getelementptr inbounds ptr, ptr %t5533, i32 %t5521 store ptr @.str7851, ptr %t5534 %t5535 = add i32 %t5521, 1 store i32 %t5535, ptr %t5518 %t5536 = load ptr, ptr %t410 %t5537 = getelementptr inbounds %LSlice, ptr %t5536, i32 0, i32 1 %t5538 = getelementptr inbounds %LSlice, ptr %t5536, i32 0, i32 2 %t5539 = getelementptr inbounds %LSlice, ptr %t5536, i32 0, i32 0 %t5540 = load i32, ptr %t5537 %t5541 = load i32, ptr %t5538 %t5542 = icmp sge i32 %t5540, %t5541 br i1 %t5542, label %grow1120, label %put1121 grow1120: %t5543 = mul i32 %t5541, 2 %t5544 = icmp eq i32 %t5541, 0 %t5545 = select i1 %t5544, i32 8, i32 %t5543 %t5546 = getelementptr ptr, ptr null, i32 1 %t5547 = ptrtoint ptr %t5546 to i64 %t5548 = zext i32 %t5545 to i64 %t5549 = mul i64 %t5548, %t5547 %t5550 = load ptr, ptr %t5539 %t5551 = call ptr @realloc(ptr %t5550, i64 %t5549) store ptr %t5551, ptr %t5539 store i32 %t5545, ptr %t5538 br label %put1121 put1121: %t5552 = load ptr, ptr %t5539 %t5553 = getelementptr inbounds ptr, ptr %t5552, i32 %t5540 store ptr @.str7852, ptr %t5553 %t5554 = add i32 %t5540, 1 store i32 %t5554, ptr %t5537 %t5555 = load ptr, ptr %t410 %t5556 = getelementptr inbounds %LSlice, ptr %t5555, i32 0, i32 1 %t5557 = getelementptr inbounds %LSlice, ptr %t5555, i32 0, i32 2 %t5558 = getelementptr inbounds %LSlice, ptr %t5555, i32 0, i32 0 %t5559 = load i32, ptr %t5556 %t5560 = load i32, ptr %t5557 %t5561 = icmp sge i32 %t5559, %t5560 br i1 %t5561, label %grow1122, label %put1123 grow1122: %t5562 = mul i32 %t5560, 2 %t5563 = icmp eq i32 %t5560, 0 %t5564 = select i1 %t5563, i32 8, i32 %t5562 %t5565 = getelementptr ptr, ptr null, i32 1 %t5566 = ptrtoint ptr %t5565 to i64 %t5567 = zext i32 %t5564 to i64 %t5568 = mul i64 %t5567, %t5566 %t5569 = load ptr, ptr %t5558 %t5570 = call ptr @realloc(ptr %t5569, i64 %t5568) store ptr %t5570, ptr %t5558 store i32 %t5564, ptr %t5557 br label %put1123 put1123: %t5571 = load ptr, ptr %t5558 %t5572 = getelementptr inbounds ptr, ptr %t5571, i32 %t5559 store ptr @.str7853, ptr %t5572 %t5573 = add i32 %t5559, 1 store i32 %t5573, ptr %t5556 %t5574 = load ptr, ptr %t410 %t5575 = getelementptr inbounds %LSlice, ptr %t5574, i32 0, i32 1 %t5576 = getelementptr inbounds %LSlice, ptr %t5574, i32 0, i32 2 %t5577 = getelementptr inbounds %LSlice, ptr %t5574, i32 0, i32 0 %t5578 = load i32, ptr %t5575 %t5579 = load i32, ptr %t5576 %t5580 = icmp sge i32 %t5578, %t5579 br i1 %t5580, label %grow1124, label %put1125 grow1124: %t5581 = mul i32 %t5579, 2 %t5582 = icmp eq i32 %t5579, 0 %t5583 = select i1 %t5582, i32 8, i32 %t5581 %t5584 = getelementptr ptr, ptr null, i32 1 %t5585 = ptrtoint ptr %t5584 to i64 %t5586 = zext i32 %t5583 to i64 %t5587 = mul i64 %t5586, %t5585 %t5588 = load ptr, ptr %t5577 %t5589 = call ptr @realloc(ptr %t5588, i64 %t5587) store ptr %t5589, ptr %t5577 store i32 %t5583, ptr %t5576 br label %put1125 put1125: %t5590 = load ptr, ptr %t5577 %t5591 = getelementptr inbounds ptr, ptr %t5590, i32 %t5578 store ptr @.str7854, ptr %t5591 %t5592 = add i32 %t5578, 1 store i32 %t5592, ptr %t5575 %t5593 = load ptr, ptr %t410 %t5594 = getelementptr inbounds %LSlice, ptr %t5593, i32 0, i32 1 %t5595 = getelementptr inbounds %LSlice, ptr %t5593, i32 0, i32 2 %t5596 = getelementptr inbounds %LSlice, ptr %t5593, i32 0, i32 0 %t5597 = load i32, ptr %t5594 %t5598 = load i32, ptr %t5595 %t5599 = icmp sge i32 %t5597, %t5598 br i1 %t5599, label %grow1126, label %put1127 grow1126: %t5600 = mul i32 %t5598, 2 %t5601 = icmp eq i32 %t5598, 0 %t5602 = select i1 %t5601, i32 8, i32 %t5600 %t5603 = getelementptr ptr, ptr null, i32 1 %t5604 = ptrtoint ptr %t5603 to i64 %t5605 = zext i32 %t5602 to i64 %t5606 = mul i64 %t5605, %t5604 %t5607 = load ptr, ptr %t5596 %t5608 = call ptr @realloc(ptr %t5607, i64 %t5606) store ptr %t5608, ptr %t5596 store i32 %t5602, ptr %t5595 br label %put1127 put1127: %t5609 = load ptr, ptr %t5596 %t5610 = getelementptr inbounds ptr, ptr %t5609, i32 %t5597 store ptr @.str7855, ptr %t5610 %t5611 = add i32 %t5597, 1 store i32 %t5611, ptr %t5594 br label %ifend1113 ifend1113: %t5612 = load ptr, ptr %t1 %t5613 = call i32 @lp_str_eq(ptr %t5612, ptr @.str7856) %t5614 = icmp ne i32 %t5613, 0 br i1 %t5614, label %then1128, label %ifend1130 then1128: store ptr @.str7857, ptr %t403 br label %ifend1130 ifend1130: %t5615 = load ptr, ptr %t1 %t5616 = call i32 @lp_str_eq(ptr %t5615, ptr @.str7858) %t5617 = icmp ne i32 %t5616, 0 br i1 %t5617, label %then1131, label %ifend1133 then1131: store ptr @.str7859, ptr %t403 %t5618 = load ptr, ptr %t410 %t5619 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 1 %t5620 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 2 %t5621 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 0 %t5622 = load i32, ptr %t5619 %t5623 = load i32, ptr %t5620 %t5624 = icmp sge i32 %t5622, %t5623 br i1 %t5624, label %grow1134, label %put1135 grow1134: %t5625 = mul i32 %t5623, 2 %t5626 = icmp eq i32 %t5623, 0 %t5627 = select i1 %t5626, i32 8, i32 %t5625 %t5628 = getelementptr ptr, ptr null, i32 1 %t5629 = ptrtoint ptr %t5628 to i64 %t5630 = zext i32 %t5627 to i64 %t5631 = mul i64 %t5630, %t5629 %t5632 = load ptr, ptr %t5621 %t5633 = call ptr @realloc(ptr %t5632, i64 %t5631) store ptr %t5633, ptr %t5621 store i32 %t5627, ptr %t5620 br label %put1135 put1135: %t5634 = load ptr, ptr %t5621 %t5635 = getelementptr inbounds ptr, ptr %t5634, i32 %t5622 store ptr @.str7860, ptr %t5635 %t5636 = add i32 %t5622, 1 store i32 %t5636, ptr %t5619 br label %ifend1133 ifend1133: %t5637 = load ptr, ptr %t1 %t5638 = call i32 @lp_str_eq(ptr %t5637, ptr @.str7861) %t5639 = icmp ne i32 %t5638, 0 br i1 %t5639, label %then1136, label %ifend1138 then1136: store ptr @.str7862, ptr %t403 %t5640 = load ptr, ptr %t410 %t5641 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 1 %t5642 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 2 %t5643 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 0 %t5644 = load i32, ptr %t5641 %t5645 = load i32, ptr %t5642 %t5646 = icmp sge i32 %t5644, %t5645 br i1 %t5646, label %grow1139, label %put1140 grow1139: %t5647 = mul i32 %t5645, 2 %t5648 = icmp eq i32 %t5645, 0 %t5649 = select i1 %t5648, i32 8, i32 %t5647 %t5650 = getelementptr ptr, ptr null, i32 1 %t5651 = ptrtoint ptr %t5650 to i64 %t5652 = zext i32 %t5649 to i64 %t5653 = mul i64 %t5652, %t5651 %t5654 = load ptr, ptr %t5643 %t5655 = call ptr @realloc(ptr %t5654, i64 %t5653) store ptr %t5655, ptr %t5643 store i32 %t5649, ptr %t5642 br label %put1140 put1140: %t5656 = load ptr, ptr %t5643 %t5657 = getelementptr inbounds ptr, ptr %t5656, i32 %t5644 store ptr @.str7863, ptr %t5657 %t5658 = add i32 %t5644, 1 store i32 %t5658, ptr %t5641 br label %ifend1138 ifend1138: %t5659 = load ptr, ptr %t1 %t5660 = call i32 @lp_str_eq(ptr %t5659, ptr @.str7864) %t5661 = icmp ne i32 %t5660, 0 br i1 %t5661, label %then1141, label %ifend1143 then1141: store ptr @.str7865, ptr %t403 %t5662 = load ptr, ptr %t410 %t5663 = getelementptr inbounds %LSlice, ptr %t5662, i32 0, i32 1 %t5664 = getelementptr inbounds %LSlice, ptr %t5662, i32 0, i32 2 %t5665 = getelementptr inbounds %LSlice, ptr %t5662, i32 0, i32 0 %t5666 = load i32, ptr %t5663 %t5667 = load i32, ptr %t5664 %t5668 = icmp sge i32 %t5666, %t5667 br i1 %t5668, label %grow1144, label %put1145 grow1144: %t5669 = mul i32 %t5667, 2 %t5670 = icmp eq i32 %t5667, 0 %t5671 = select i1 %t5670, i32 8, i32 %t5669 %t5672 = getelementptr ptr, ptr null, i32 1 %t5673 = ptrtoint ptr %t5672 to i64 %t5674 = zext i32 %t5671 to i64 %t5675 = mul i64 %t5674, %t5673 %t5676 = load ptr, ptr %t5665 %t5677 = call ptr @realloc(ptr %t5676, i64 %t5675) store ptr %t5677, ptr %t5665 store i32 %t5671, ptr %t5664 br label %put1145 put1145: %t5678 = load ptr, ptr %t5665 %t5679 = getelementptr inbounds ptr, ptr %t5678, i32 %t5666 store ptr @.str7866, ptr %t5679 %t5680 = add i32 %t5666, 1 store i32 %t5680, ptr %t5663 %t5681 = load ptr, ptr %t410 %t5682 = getelementptr inbounds %LSlice, ptr %t5681, i32 0, i32 1 %t5683 = getelementptr inbounds %LSlice, ptr %t5681, i32 0, i32 2 %t5684 = getelementptr inbounds %LSlice, ptr %t5681, i32 0, i32 0 %t5685 = load i32, ptr %t5682 %t5686 = load i32, ptr %t5683 %t5687 = icmp sge i32 %t5685, %t5686 br i1 %t5687, label %grow1146, label %put1147 grow1146: %t5688 = mul i32 %t5686, 2 %t5689 = icmp eq i32 %t5686, 0 %t5690 = select i1 %t5689, i32 8, i32 %t5688 %t5691 = getelementptr ptr, ptr null, i32 1 %t5692 = ptrtoint ptr %t5691 to i64 %t5693 = zext i32 %t5690 to i64 %t5694 = mul i64 %t5693, %t5692 %t5695 = load ptr, ptr %t5684 %t5696 = call ptr @realloc(ptr %t5695, i64 %t5694) store ptr %t5696, ptr %t5684 store i32 %t5690, ptr %t5683 br label %put1147 put1147: %t5697 = load ptr, ptr %t5684 %t5698 = getelementptr inbounds ptr, ptr %t5697, i32 %t5685 store ptr @.str7867, ptr %t5698 %t5699 = add i32 %t5685, 1 store i32 %t5699, ptr %t5682 %t5700 = load ptr, ptr %t410 %t5701 = getelementptr inbounds %LSlice, ptr %t5700, i32 0, i32 1 %t5702 = getelementptr inbounds %LSlice, ptr %t5700, i32 0, i32 2 %t5703 = getelementptr inbounds %LSlice, ptr %t5700, i32 0, i32 0 %t5704 = load i32, ptr %t5701 %t5705 = load i32, ptr %t5702 %t5706 = icmp sge i32 %t5704, %t5705 br i1 %t5706, label %grow1148, label %put1149 grow1148: %t5707 = mul i32 %t5705, 2 %t5708 = icmp eq i32 %t5705, 0 %t5709 = select i1 %t5708, i32 8, i32 %t5707 %t5710 = getelementptr ptr, ptr null, i32 1 %t5711 = ptrtoint ptr %t5710 to i64 %t5712 = zext i32 %t5709 to i64 %t5713 = mul i64 %t5712, %t5711 %t5714 = load ptr, ptr %t5703 %t5715 = call ptr @realloc(ptr %t5714, i64 %t5713) store ptr %t5715, ptr %t5703 store i32 %t5709, ptr %t5702 br label %put1149 put1149: %t5716 = load ptr, ptr %t5703 %t5717 = getelementptr inbounds ptr, ptr %t5716, i32 %t5704 store ptr @.str7868, ptr %t5717 %t5718 = add i32 %t5704, 1 store i32 %t5718, ptr %t5701 %t5719 = load ptr, ptr %t410 %t5720 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 1 %t5721 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 2 %t5722 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 0 %t5723 = load i32, ptr %t5720 %t5724 = load i32, ptr %t5721 %t5725 = icmp sge i32 %t5723, %t5724 br i1 %t5725, label %grow1150, label %put1151 grow1150: %t5726 = mul i32 %t5724, 2 %t5727 = icmp eq i32 %t5724, 0 %t5728 = select i1 %t5727, i32 8, i32 %t5726 %t5729 = getelementptr ptr, ptr null, i32 1 %t5730 = ptrtoint ptr %t5729 to i64 %t5731 = zext i32 %t5728 to i64 %t5732 = mul i64 %t5731, %t5730 %t5733 = load ptr, ptr %t5722 %t5734 = call ptr @realloc(ptr %t5733, i64 %t5732) store ptr %t5734, ptr %t5722 store i32 %t5728, ptr %t5721 br label %put1151 put1151: %t5735 = load ptr, ptr %t5722 %t5736 = getelementptr inbounds ptr, ptr %t5735, i32 %t5723 store ptr @.str7869, ptr %t5736 %t5737 = add i32 %t5723, 1 store i32 %t5737, ptr %t5720 br label %ifend1143 ifend1143: %t5738 = load ptr, ptr %t1 %t5739 = call i32 @lp_str_eq(ptr %t5738, ptr @.str7870) %t5740 = icmp ne i32 %t5739, 0 br i1 %t5740, label %then1152, label %ifend1154 then1152: store ptr @.str7871, ptr %t403 %t5741 = load ptr, ptr %t410 %t5742 = getelementptr inbounds %LSlice, ptr %t5741, i32 0, i32 1 %t5743 = getelementptr inbounds %LSlice, ptr %t5741, i32 0, i32 2 %t5744 = getelementptr inbounds %LSlice, ptr %t5741, i32 0, i32 0 %t5745 = load i32, ptr %t5742 %t5746 = load i32, ptr %t5743 %t5747 = icmp sge i32 %t5745, %t5746 br i1 %t5747, label %grow1155, label %put1156 grow1155: %t5748 = mul i32 %t5746, 2 %t5749 = icmp eq i32 %t5746, 0 %t5750 = select i1 %t5749, i32 8, i32 %t5748 %t5751 = getelementptr ptr, ptr null, i32 1 %t5752 = ptrtoint ptr %t5751 to i64 %t5753 = zext i32 %t5750 to i64 %t5754 = mul i64 %t5753, %t5752 %t5755 = load ptr, ptr %t5744 %t5756 = call ptr @realloc(ptr %t5755, i64 %t5754) store ptr %t5756, ptr %t5744 store i32 %t5750, ptr %t5743 br label %put1156 put1156: %t5757 = load ptr, ptr %t5744 %t5758 = getelementptr inbounds ptr, ptr %t5757, i32 %t5745 store ptr @.str7872, ptr %t5758 %t5759 = add i32 %t5745, 1 store i32 %t5759, ptr %t5742 br label %ifend1154 ifend1154: br label %ifend934 ifend934: %t5760 = load ptr, ptr %t0 %t5761 = call i32 @lp_str_eq(ptr %t5760, ptr @.str7873) %t5762 = icmp ne i32 %t5761, 0 br i1 %t5762, label %then1157, label %ifend1159 then1157: %t5763 = load ptr, ptr %t1 %t5764 = call i32 @lp_str_eq(ptr %t5763, ptr @.str7874) %t5765 = icmp ne i32 %t5764, 0 br i1 %t5765, label %then1160, label %ifend1162 then1160: store ptr @.str7875, ptr %t403 %t5766 = load ptr, ptr %t410 %t5767 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 1 %t5768 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 2 %t5769 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 0 %t5770 = load i32, ptr %t5767 %t5771 = load i32, ptr %t5768 %t5772 = icmp sge i32 %t5770, %t5771 br i1 %t5772, label %grow1163, label %put1164 grow1163: %t5773 = mul i32 %t5771, 2 %t5774 = icmp eq i32 %t5771, 0 %t5775 = select i1 %t5774, i32 8, i32 %t5773 %t5776 = getelementptr ptr, ptr null, i32 1 %t5777 = ptrtoint ptr %t5776 to i64 %t5778 = zext i32 %t5775 to i64 %t5779 = mul i64 %t5778, %t5777 %t5780 = load ptr, ptr %t5769 %t5781 = call ptr @realloc(ptr %t5780, i64 %t5779) store ptr %t5781, ptr %t5769 store i32 %t5775, ptr %t5768 br label %put1164 put1164: %t5782 = load ptr, ptr %t5769 %t5783 = getelementptr inbounds ptr, ptr %t5782, i32 %t5770 store ptr @.str7876, ptr %t5783 %t5784 = add i32 %t5770, 1 store i32 %t5784, ptr %t5767 br label %ifend1162 ifend1162: %t5785 = load ptr, ptr %t1 %t5786 = call i32 @lp_str_eq(ptr %t5785, ptr @.str7877) %t5787 = icmp ne i32 %t5786, 0 br i1 %t5787, label %then1165, label %ifend1167 then1165: store ptr @.str7878, ptr %t403 %t5788 = load ptr, ptr %t410 %t5789 = getelementptr inbounds %LSlice, ptr %t5788, i32 0, i32 1 %t5790 = getelementptr inbounds %LSlice, ptr %t5788, i32 0, i32 2 %t5791 = getelementptr inbounds %LSlice, ptr %t5788, i32 0, i32 0 %t5792 = load i32, ptr %t5789 %t5793 = load i32, ptr %t5790 %t5794 = icmp sge i32 %t5792, %t5793 br i1 %t5794, label %grow1168, label %put1169 grow1168: %t5795 = mul i32 %t5793, 2 %t5796 = icmp eq i32 %t5793, 0 %t5797 = select i1 %t5796, i32 8, i32 %t5795 %t5798 = getelementptr ptr, ptr null, i32 1 %t5799 = ptrtoint ptr %t5798 to i64 %t5800 = zext i32 %t5797 to i64 %t5801 = mul i64 %t5800, %t5799 %t5802 = load ptr, ptr %t5791 %t5803 = call ptr @realloc(ptr %t5802, i64 %t5801) store ptr %t5803, ptr %t5791 store i32 %t5797, ptr %t5790 br label %put1169 put1169: %t5804 = load ptr, ptr %t5791 %t5805 = getelementptr inbounds ptr, ptr %t5804, i32 %t5792 store ptr @.str7879, ptr %t5805 %t5806 = add i32 %t5792, 1 store i32 %t5806, ptr %t5789 %t5807 = load ptr, ptr %t410 %t5808 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 1 %t5809 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 2 %t5810 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 0 %t5811 = load i32, ptr %t5808 %t5812 = load i32, ptr %t5809 %t5813 = icmp sge i32 %t5811, %t5812 br i1 %t5813, label %grow1170, label %put1171 grow1170: %t5814 = mul i32 %t5812, 2 %t5815 = icmp eq i32 %t5812, 0 %t5816 = select i1 %t5815, i32 8, i32 %t5814 %t5817 = getelementptr ptr, ptr null, i32 1 %t5818 = ptrtoint ptr %t5817 to i64 %t5819 = zext i32 %t5816 to i64 %t5820 = mul i64 %t5819, %t5818 %t5821 = load ptr, ptr %t5810 %t5822 = call ptr @realloc(ptr %t5821, i64 %t5820) store ptr %t5822, ptr %t5810 store i32 %t5816, ptr %t5809 br label %put1171 put1171: %t5823 = load ptr, ptr %t5810 %t5824 = getelementptr inbounds ptr, ptr %t5823, i32 %t5811 store ptr @.str7880, ptr %t5824 %t5825 = add i32 %t5811, 1 store i32 %t5825, ptr %t5808 br label %ifend1167 ifend1167: %t5826 = load ptr, ptr %t1 %t5827 = call i32 @lp_str_eq(ptr %t5826, ptr @.str7881) %t5828 = icmp ne i32 %t5827, 0 br i1 %t5828, label %then1172, label %ifend1174 then1172: store ptr @.str7882, ptr %t403 %t5829 = load ptr, ptr %t410 %t5830 = getelementptr inbounds %LSlice, ptr %t5829, i32 0, i32 1 %t5831 = getelementptr inbounds %LSlice, ptr %t5829, i32 0, i32 2 %t5832 = getelementptr inbounds %LSlice, ptr %t5829, i32 0, i32 0 %t5833 = load i32, ptr %t5830 %t5834 = load i32, ptr %t5831 %t5835 = icmp sge i32 %t5833, %t5834 br i1 %t5835, label %grow1175, label %put1176 grow1175: %t5836 = mul i32 %t5834, 2 %t5837 = icmp eq i32 %t5834, 0 %t5838 = select i1 %t5837, i32 8, i32 %t5836 %t5839 = getelementptr ptr, ptr null, i32 1 %t5840 = ptrtoint ptr %t5839 to i64 %t5841 = zext i32 %t5838 to i64 %t5842 = mul i64 %t5841, %t5840 %t5843 = load ptr, ptr %t5832 %t5844 = call ptr @realloc(ptr %t5843, i64 %t5842) store ptr %t5844, ptr %t5832 store i32 %t5838, ptr %t5831 br label %put1176 put1176: %t5845 = load ptr, ptr %t5832 %t5846 = getelementptr inbounds ptr, ptr %t5845, i32 %t5833 store ptr @.str7883, ptr %t5846 %t5847 = add i32 %t5833, 1 store i32 %t5847, ptr %t5830 br label %ifend1174 ifend1174: %t5848 = load ptr, ptr %t1 %t5849 = call i32 @lp_str_eq(ptr %t5848, ptr @.str7884) %t5850 = icmp ne i32 %t5849, 0 br i1 %t5850, label %then1177, label %ifend1179 then1177: %t5851 = load ptr, ptr %t2 %t5852 = call i32 @fn_first_arg_is_text(ptr %t5851) %t5853 = icmp ne i32 %t5852, 0 br i1 %t5853, label %then1180, label %else1181 then1180: store ptr @.str7885, ptr %t403 %t5854 = load ptr, ptr %t410 %t5855 = getelementptr inbounds %LSlice, ptr %t5854, i32 0, i32 1 %t5856 = getelementptr inbounds %LSlice, ptr %t5854, i32 0, i32 2 %t5857 = getelementptr inbounds %LSlice, ptr %t5854, i32 0, i32 0 %t5858 = load i32, ptr %t5855 %t5859 = load i32, ptr %t5856 %t5860 = icmp sge i32 %t5858, %t5859 br i1 %t5860, label %grow1183, label %put1184 grow1183: %t5861 = mul i32 %t5859, 2 %t5862 = icmp eq i32 %t5859, 0 %t5863 = select i1 %t5862, i32 8, i32 %t5861 %t5864 = getelementptr ptr, ptr null, i32 1 %t5865 = ptrtoint ptr %t5864 to i64 %t5866 = zext i32 %t5863 to i64 %t5867 = mul i64 %t5866, %t5865 %t5868 = load ptr, ptr %t5857 %t5869 = call ptr @realloc(ptr %t5868, i64 %t5867) store ptr %t5869, ptr %t5857 store i32 %t5863, ptr %t5856 br label %put1184 put1184: %t5870 = load ptr, ptr %t5857 %t5871 = getelementptr inbounds ptr, ptr %t5870, i32 %t5858 store ptr @.str7886, ptr %t5871 %t5872 = add i32 %t5858, 1 store i32 %t5872, ptr %t5855 br label %ifend1182 else1181: store ptr @.str7887, ptr %t403 %t5873 = load ptr, ptr %t410 %t5874 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 1 %t5875 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 2 %t5876 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 0 %t5877 = load i32, ptr %t5874 %t5878 = load i32, ptr %t5875 %t5879 = icmp sge i32 %t5877, %t5878 br i1 %t5879, label %grow1185, label %put1186 grow1185: %t5880 = mul i32 %t5878, 2 %t5881 = icmp eq i32 %t5878, 0 %t5882 = select i1 %t5881, i32 8, i32 %t5880 %t5883 = getelementptr ptr, ptr null, i32 1 %t5884 = ptrtoint ptr %t5883 to i64 %t5885 = zext i32 %t5882 to i64 %t5886 = mul i64 %t5885, %t5884 %t5887 = load ptr, ptr %t5876 %t5888 = call ptr @realloc(ptr %t5887, i64 %t5886) store ptr %t5888, ptr %t5876 store i32 %t5882, ptr %t5875 br label %put1186 put1186: %t5889 = load ptr, ptr %t5876 %t5890 = getelementptr inbounds ptr, ptr %t5889, i32 %t5877 store ptr @.str7888, ptr %t5890 %t5891 = add i32 %t5877, 1 store i32 %t5891, ptr %t5874 br label %ifend1182 ifend1182: br label %ifend1179 ifend1179: %t5892 = load ptr, ptr %t1 %t5893 = call i32 @lp_str_eq(ptr %t5892, ptr @.str7889) %t5894 = icmp ne i32 %t5893, 0 br i1 %t5894, label %then1187, label %ifend1189 then1187: store ptr @.str7890, ptr %t403 %t5895 = load ptr, ptr %t410 %t5896 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 1 %t5897 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 2 %t5898 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 0 %t5899 = load i32, ptr %t5896 %t5900 = load i32, ptr %t5897 %t5901 = icmp sge i32 %t5899, %t5900 br i1 %t5901, label %grow1190, label %put1191 grow1190: %t5902 = mul i32 %t5900, 2 %t5903 = icmp eq i32 %t5900, 0 %t5904 = select i1 %t5903, i32 8, i32 %t5902 %t5905 = getelementptr ptr, ptr null, i32 1 %t5906 = ptrtoint ptr %t5905 to i64 %t5907 = zext i32 %t5904 to i64 %t5908 = mul i64 %t5907, %t5906 %t5909 = load ptr, ptr %t5898 %t5910 = call ptr @realloc(ptr %t5909, i64 %t5908) store ptr %t5910, ptr %t5898 store i32 %t5904, ptr %t5897 br label %put1191 put1191: %t5911 = load ptr, ptr %t5898 %t5912 = getelementptr inbounds ptr, ptr %t5911, i32 %t5899 store ptr @.str7891, ptr %t5912 %t5913 = add i32 %t5899, 1 store i32 %t5913, ptr %t5896 br label %ifend1189 ifend1189: %t5914 = load ptr, ptr %t1 %t5915 = call i32 @lp_str_eq(ptr %t5914, ptr @.str7892) %t5916 = icmp ne i32 %t5915, 0 br i1 %t5916, label %then1192, label %ifend1194 then1192: store ptr @.str7893, ptr %t403 %t5917 = load ptr, ptr %t410 %t5918 = getelementptr inbounds %LSlice, ptr %t5917, i32 0, i32 1 %t5919 = getelementptr inbounds %LSlice, ptr %t5917, i32 0, i32 2 %t5920 = getelementptr inbounds %LSlice, ptr %t5917, i32 0, i32 0 %t5921 = load i32, ptr %t5918 %t5922 = load i32, ptr %t5919 %t5923 = icmp sge i32 %t5921, %t5922 br i1 %t5923, label %grow1195, label %put1196 grow1195: %t5924 = mul i32 %t5922, 2 %t5925 = icmp eq i32 %t5922, 0 %t5926 = select i1 %t5925, i32 8, i32 %t5924 %t5927 = getelementptr ptr, ptr null, i32 1 %t5928 = ptrtoint ptr %t5927 to i64 %t5929 = zext i32 %t5926 to i64 %t5930 = mul i64 %t5929, %t5928 %t5931 = load ptr, ptr %t5920 %t5932 = call ptr @realloc(ptr %t5931, i64 %t5930) store ptr %t5932, ptr %t5920 store i32 %t5926, ptr %t5919 br label %put1196 put1196: %t5933 = load ptr, ptr %t5920 %t5934 = getelementptr inbounds ptr, ptr %t5933, i32 %t5921 store ptr @.str7894, ptr %t5934 %t5935 = add i32 %t5921, 1 store i32 %t5935, ptr %t5918 %t5936 = load ptr, ptr %t410 %t5937 = getelementptr inbounds %LSlice, ptr %t5936, i32 0, i32 1 %t5938 = getelementptr inbounds %LSlice, ptr %t5936, i32 0, i32 2 %t5939 = getelementptr inbounds %LSlice, ptr %t5936, i32 0, i32 0 %t5940 = load i32, ptr %t5937 %t5941 = load i32, ptr %t5938 %t5942 = icmp sge i32 %t5940, %t5941 br i1 %t5942, label %grow1197, label %put1198 grow1197: %t5943 = mul i32 %t5941, 2 %t5944 = icmp eq i32 %t5941, 0 %t5945 = select i1 %t5944, i32 8, i32 %t5943 %t5946 = getelementptr ptr, ptr null, i32 1 %t5947 = ptrtoint ptr %t5946 to i64 %t5948 = zext i32 %t5945 to i64 %t5949 = mul i64 %t5948, %t5947 %t5950 = load ptr, ptr %t5939 %t5951 = call ptr @realloc(ptr %t5950, i64 %t5949) store ptr %t5951, ptr %t5939 store i32 %t5945, ptr %t5938 br label %put1198 put1198: %t5952 = load ptr, ptr %t5939 %t5953 = getelementptr inbounds ptr, ptr %t5952, i32 %t5940 store ptr @.str7895, ptr %t5953 %t5954 = add i32 %t5940, 1 store i32 %t5954, ptr %t5937 %t5955 = load ptr, ptr %t410 %t5956 = getelementptr inbounds %LSlice, ptr %t5955, i32 0, i32 1 %t5957 = getelementptr inbounds %LSlice, ptr %t5955, i32 0, i32 2 %t5958 = getelementptr inbounds %LSlice, ptr %t5955, i32 0, i32 0 %t5959 = load i32, ptr %t5956 %t5960 = load i32, ptr %t5957 %t5961 = icmp sge i32 %t5959, %t5960 br i1 %t5961, label %grow1199, label %put1200 grow1199: %t5962 = mul i32 %t5960, 2 %t5963 = icmp eq i32 %t5960, 0 %t5964 = select i1 %t5963, i32 8, i32 %t5962 %t5965 = getelementptr ptr, ptr null, i32 1 %t5966 = ptrtoint ptr %t5965 to i64 %t5967 = zext i32 %t5964 to i64 %t5968 = mul i64 %t5967, %t5966 %t5969 = load ptr, ptr %t5958 %t5970 = call ptr @realloc(ptr %t5969, i64 %t5968) store ptr %t5970, ptr %t5958 store i32 %t5964, ptr %t5957 br label %put1200 put1200: %t5971 = load ptr, ptr %t5958 %t5972 = getelementptr inbounds ptr, ptr %t5971, i32 %t5959 store ptr @.str7896, ptr %t5972 %t5973 = add i32 %t5959, 1 store i32 %t5973, ptr %t5956 %t5974 = load ptr, ptr %t410 %t5975 = getelementptr inbounds %LSlice, ptr %t5974, i32 0, i32 1 %t5976 = getelementptr inbounds %LSlice, ptr %t5974, i32 0, i32 2 %t5977 = getelementptr inbounds %LSlice, ptr %t5974, i32 0, i32 0 %t5978 = load i32, ptr %t5975 %t5979 = load i32, ptr %t5976 %t5980 = icmp sge i32 %t5978, %t5979 br i1 %t5980, label %grow1201, label %put1202 grow1201: %t5981 = mul i32 %t5979, 2 %t5982 = icmp eq i32 %t5979, 0 %t5983 = select i1 %t5982, i32 8, i32 %t5981 %t5984 = getelementptr ptr, ptr null, i32 1 %t5985 = ptrtoint ptr %t5984 to i64 %t5986 = zext i32 %t5983 to i64 %t5987 = mul i64 %t5986, %t5985 %t5988 = load ptr, ptr %t5977 %t5989 = call ptr @realloc(ptr %t5988, i64 %t5987) store ptr %t5989, ptr %t5977 store i32 %t5983, ptr %t5976 br label %put1202 put1202: %t5990 = load ptr, ptr %t5977 %t5991 = getelementptr inbounds ptr, ptr %t5990, i32 %t5978 store ptr @.str7897, ptr %t5991 %t5992 = add i32 %t5978, 1 store i32 %t5992, ptr %t5975 br label %ifend1194 ifend1194: %t5993 = load ptr, ptr %t1 %t5994 = call i32 @lp_str_eq(ptr %t5993, ptr @.str7898) %t5995 = icmp ne i32 %t5994, 0 br i1 %t5995, label %then1203, label %ifend1205 then1203: %t5996 = load ptr, ptr %t2 %t5997 = call i32 @fn_first_arg_is_text(ptr %t5996) %t5998 = icmp ne i32 %t5997, 0 br i1 %t5998, label %then1206, label %else1207 then1206: store ptr @.str7899, ptr %t403 %t5999 = load ptr, ptr %t410 %t6000 = getelementptr inbounds %LSlice, ptr %t5999, i32 0, i32 1 %t6001 = getelementptr inbounds %LSlice, ptr %t5999, i32 0, i32 2 %t6002 = getelementptr inbounds %LSlice, ptr %t5999, i32 0, i32 0 %t6003 = load i32, ptr %t6000 %t6004 = load i32, ptr %t6001 %t6005 = icmp sge i32 %t6003, %t6004 br i1 %t6005, label %grow1209, label %put1210 grow1209: %t6006 = mul i32 %t6004, 2 %t6007 = icmp eq i32 %t6004, 0 %t6008 = select i1 %t6007, i32 8, i32 %t6006 %t6009 = getelementptr ptr, ptr null, i32 1 %t6010 = ptrtoint ptr %t6009 to i64 %t6011 = zext i32 %t6008 to i64 %t6012 = mul i64 %t6011, %t6010 %t6013 = load ptr, ptr %t6002 %t6014 = call ptr @realloc(ptr %t6013, i64 %t6012) store ptr %t6014, ptr %t6002 store i32 %t6008, ptr %t6001 br label %put1210 put1210: %t6015 = load ptr, ptr %t6002 %t6016 = getelementptr inbounds ptr, ptr %t6015, i32 %t6003 store ptr @.str7900, ptr %t6016 %t6017 = add i32 %t6003, 1 store i32 %t6017, ptr %t6000 br label %ifend1208 else1207: store ptr @.str7901, ptr %t403 %t6018 = load ptr, ptr %t410 %t6019 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 1 %t6020 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 2 %t6021 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 0 %t6022 = load i32, ptr %t6019 %t6023 = load i32, ptr %t6020 %t6024 = icmp sge i32 %t6022, %t6023 br i1 %t6024, label %grow1211, label %put1212 grow1211: %t6025 = mul i32 %t6023, 2 %t6026 = icmp eq i32 %t6023, 0 %t6027 = select i1 %t6026, i32 8, i32 %t6025 %t6028 = getelementptr ptr, ptr null, i32 1 %t6029 = ptrtoint ptr %t6028 to i64 %t6030 = zext i32 %t6027 to i64 %t6031 = mul i64 %t6030, %t6029 %t6032 = load ptr, ptr %t6021 %t6033 = call ptr @realloc(ptr %t6032, i64 %t6031) store ptr %t6033, ptr %t6021 store i32 %t6027, ptr %t6020 br label %put1212 put1212: %t6034 = load ptr, ptr %t6021 %t6035 = getelementptr inbounds ptr, ptr %t6034, i32 %t6022 store ptr @.str7902, ptr %t6035 %t6036 = add i32 %t6022, 1 store i32 %t6036, ptr %t6019 br label %ifend1208 ifend1208: br label %ifend1205 ifend1205: %t6037 = load ptr, ptr %t1 %t6038 = call i32 @lp_str_eq(ptr %t6037, ptr @.str7903) %t6039 = icmp ne i32 %t6038, 0 br i1 %t6039, label %then1213, label %ifend1215 then1213: store ptr @.str7904, ptr %t403 %t6040 = load ptr, ptr %t410 %t6041 = getelementptr inbounds %LSlice, ptr %t6040, i32 0, i32 1 %t6042 = getelementptr inbounds %LSlice, ptr %t6040, i32 0, i32 2 %t6043 = getelementptr inbounds %LSlice, ptr %t6040, i32 0, i32 0 %t6044 = load i32, ptr %t6041 %t6045 = load i32, ptr %t6042 %t6046 = icmp sge i32 %t6044, %t6045 br i1 %t6046, label %grow1216, label %put1217 grow1216: %t6047 = mul i32 %t6045, 2 %t6048 = icmp eq i32 %t6045, 0 %t6049 = select i1 %t6048, i32 8, i32 %t6047 %t6050 = getelementptr ptr, ptr null, i32 1 %t6051 = ptrtoint ptr %t6050 to i64 %t6052 = zext i32 %t6049 to i64 %t6053 = mul i64 %t6052, %t6051 %t6054 = load ptr, ptr %t6043 %t6055 = call ptr @realloc(ptr %t6054, i64 %t6053) store ptr %t6055, ptr %t6043 store i32 %t6049, ptr %t6042 br label %put1217 put1217: %t6056 = load ptr, ptr %t6043 %t6057 = getelementptr inbounds ptr, ptr %t6056, i32 %t6044 store ptr @.str7905, ptr %t6057 %t6058 = add i32 %t6044, 1 store i32 %t6058, ptr %t6041 br label %ifend1215 ifend1215: %t6059 = load ptr, ptr %t1 %t6060 = call i32 @lp_str_eq(ptr %t6059, ptr @.str7906) %t6061 = icmp ne i32 %t6060, 0 br i1 %t6061, label %then1218, label %ifend1220 then1218: store ptr @.str7907, ptr %t403 br label %ifend1220 ifend1220: %t6062 = load ptr, ptr %t1 %t6063 = call i32 @lp_str_eq(ptr %t6062, ptr @.str7908) %t6064 = icmp ne i32 %t6063, 0 br i1 %t6064, label %then1221, label %ifend1223 then1221: store ptr @.str7909, ptr %t403 br label %ifend1223 ifend1223: %t6065 = load ptr, ptr %t1 %t6066 = call i32 @lp_str_eq(ptr %t6065, ptr @.str7910) %t6067 = icmp ne i32 %t6066, 0 br i1 %t6067, label %then1224, label %ifend1226 then1224: store ptr @.str7911, ptr %t403 %t6068 = load ptr, ptr %t410 %t6069 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 1 %t6070 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 2 %t6071 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 0 %t6072 = load i32, ptr %t6069 %t6073 = load i32, ptr %t6070 %t6074 = icmp sge i32 %t6072, %t6073 br i1 %t6074, label %grow1227, label %put1228 grow1227: %t6075 = mul i32 %t6073, 2 %t6076 = icmp eq i32 %t6073, 0 %t6077 = select i1 %t6076, i32 8, i32 %t6075 %t6078 = getelementptr ptr, ptr null, i32 1 %t6079 = ptrtoint ptr %t6078 to i64 %t6080 = zext i32 %t6077 to i64 %t6081 = mul i64 %t6080, %t6079 %t6082 = load ptr, ptr %t6071 %t6083 = call ptr @realloc(ptr %t6082, i64 %t6081) store ptr %t6083, ptr %t6071 store i32 %t6077, ptr %t6070 br label %put1228 put1228: %t6084 = load ptr, ptr %t6071 %t6085 = getelementptr inbounds ptr, ptr %t6084, i32 %t6072 store ptr @.str7912, ptr %t6085 %t6086 = add i32 %t6072, 1 store i32 %t6086, ptr %t6069 br label %ifend1226 ifend1226: %t6087 = load ptr, ptr %t1 %t6088 = call i32 @lp_str_eq(ptr %t6087, ptr @.str7913) %t6089 = icmp ne i32 %t6088, 0 br i1 %t6089, label %then1229, label %ifend1231 then1229: store ptr @.str7914, ptr %t403 %t6090 = load ptr, ptr %t410 %t6091 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 1 %t6092 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 2 %t6093 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 0 %t6094 = load i32, ptr %t6091 %t6095 = load i32, ptr %t6092 %t6096 = icmp sge i32 %t6094, %t6095 br i1 %t6096, label %grow1232, label %put1233 grow1232: %t6097 = mul i32 %t6095, 2 %t6098 = icmp eq i32 %t6095, 0 %t6099 = select i1 %t6098, i32 8, i32 %t6097 %t6100 = getelementptr ptr, ptr null, i32 1 %t6101 = ptrtoint ptr %t6100 to i64 %t6102 = zext i32 %t6099 to i64 %t6103 = mul i64 %t6102, %t6101 %t6104 = load ptr, ptr %t6093 %t6105 = call ptr @realloc(ptr %t6104, i64 %t6103) store ptr %t6105, ptr %t6093 store i32 %t6099, ptr %t6092 br label %put1233 put1233: %t6106 = load ptr, ptr %t6093 %t6107 = getelementptr inbounds ptr, ptr %t6106, i32 %t6094 store ptr @.str7915, ptr %t6107 %t6108 = add i32 %t6094, 1 store i32 %t6108, ptr %t6091 br label %ifend1231 ifend1231: %t6109 = load ptr, ptr %t1 %t6110 = call i32 @lp_str_eq(ptr %t6109, ptr @.str7916) %t6111 = icmp ne i32 %t6110, 0 br i1 %t6111, label %then1234, label %ifend1236 then1234: store ptr @.str7917, ptr %t403 %t6112 = load ptr, ptr %t410 %t6113 = getelementptr inbounds %LSlice, ptr %t6112, i32 0, i32 1 %t6114 = getelementptr inbounds %LSlice, ptr %t6112, i32 0, i32 2 %t6115 = getelementptr inbounds %LSlice, ptr %t6112, i32 0, i32 0 %t6116 = load i32, ptr %t6113 %t6117 = load i32, ptr %t6114 %t6118 = icmp sge i32 %t6116, %t6117 br i1 %t6118, label %grow1237, label %put1238 grow1237: %t6119 = mul i32 %t6117, 2 %t6120 = icmp eq i32 %t6117, 0 %t6121 = select i1 %t6120, i32 8, i32 %t6119 %t6122 = getelementptr ptr, ptr null, i32 1 %t6123 = ptrtoint ptr %t6122 to i64 %t6124 = zext i32 %t6121 to i64 %t6125 = mul i64 %t6124, %t6123 %t6126 = load ptr, ptr %t6115 %t6127 = call ptr @realloc(ptr %t6126, i64 %t6125) store ptr %t6127, ptr %t6115 store i32 %t6121, ptr %t6114 br label %put1238 put1238: %t6128 = load ptr, ptr %t6115 %t6129 = getelementptr inbounds ptr, ptr %t6128, i32 %t6116 store ptr @.str7918, ptr %t6129 %t6130 = add i32 %t6116, 1 store i32 %t6130, ptr %t6113 br label %ifend1236 ifend1236: br label %ifend1159 ifend1159: %t6131 = load ptr, ptr %t0 %t6132 = call i32 @lp_str_eq(ptr %t6131, ptr @.str7919) %t6133 = icmp ne i32 %t6132, 0 br i1 %t6133, label %then1239, label %ifend1241 then1239: %t6134 = load ptr, ptr %t1 %t6135 = call i32 @lp_str_eq(ptr %t6134, ptr @.str7920) %t6136 = icmp ne i32 %t6135, 0 br i1 %t6136, label %then1242, label %ifend1244 then1242: store ptr @.str7921, ptr %t403 %t6137 = load ptr, ptr %t410 %t6138 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 1 %t6139 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 2 %t6140 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 0 %t6141 = load i32, ptr %t6138 %t6142 = load i32, ptr %t6139 %t6143 = icmp sge i32 %t6141, %t6142 br i1 %t6143, label %grow1245, label %put1246 grow1245: %t6144 = mul i32 %t6142, 2 %t6145 = icmp eq i32 %t6142, 0 %t6146 = select i1 %t6145, i32 8, i32 %t6144 %t6147 = getelementptr ptr, ptr null, i32 1 %t6148 = ptrtoint ptr %t6147 to i64 %t6149 = zext i32 %t6146 to i64 %t6150 = mul i64 %t6149, %t6148 %t6151 = load ptr, ptr %t6140 %t6152 = call ptr @realloc(ptr %t6151, i64 %t6150) store ptr %t6152, ptr %t6140 store i32 %t6146, ptr %t6139 br label %put1246 put1246: %t6153 = load ptr, ptr %t6140 %t6154 = getelementptr inbounds ptr, ptr %t6153, i32 %t6141 store ptr @.str7922, ptr %t6154 %t6155 = add i32 %t6141, 1 store i32 %t6155, ptr %t6138 br label %ifend1244 ifend1244: %t6156 = load ptr, ptr %t1 %t6157 = call i32 @lp_str_eq(ptr %t6156, ptr @.str7923) %t6158 = icmp ne i32 %t6157, 0 br i1 %t6158, label %then1247, label %ifend1249 then1247: store ptr @.str7924, ptr %t403 %t6159 = load ptr, ptr %t410 %t6160 = getelementptr inbounds %LSlice, ptr %t6159, i32 0, i32 1 %t6161 = getelementptr inbounds %LSlice, ptr %t6159, i32 0, i32 2 %t6162 = getelementptr inbounds %LSlice, ptr %t6159, i32 0, i32 0 %t6163 = load i32, ptr %t6160 %t6164 = load i32, ptr %t6161 %t6165 = icmp sge i32 %t6163, %t6164 br i1 %t6165, label %grow1250, label %put1251 grow1250: %t6166 = mul i32 %t6164, 2 %t6167 = icmp eq i32 %t6164, 0 %t6168 = select i1 %t6167, i32 8, i32 %t6166 %t6169 = getelementptr ptr, ptr null, i32 1 %t6170 = ptrtoint ptr %t6169 to i64 %t6171 = zext i32 %t6168 to i64 %t6172 = mul i64 %t6171, %t6170 %t6173 = load ptr, ptr %t6162 %t6174 = call ptr @realloc(ptr %t6173, i64 %t6172) store ptr %t6174, ptr %t6162 store i32 %t6168, ptr %t6161 br label %put1251 put1251: %t6175 = load ptr, ptr %t6162 %t6176 = getelementptr inbounds ptr, ptr %t6175, i32 %t6163 store ptr @.str7925, ptr %t6176 %t6177 = add i32 %t6163, 1 store i32 %t6177, ptr %t6160 %t6178 = load ptr, ptr %t410 %t6179 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 1 %t6180 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 2 %t6181 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 0 %t6182 = load i32, ptr %t6179 %t6183 = load i32, ptr %t6180 %t6184 = icmp sge i32 %t6182, %t6183 br i1 %t6184, label %grow1252, label %put1253 grow1252: %t6185 = mul i32 %t6183, 2 %t6186 = icmp eq i32 %t6183, 0 %t6187 = select i1 %t6186, i32 8, i32 %t6185 %t6188 = getelementptr ptr, ptr null, i32 1 %t6189 = ptrtoint ptr %t6188 to i64 %t6190 = zext i32 %t6187 to i64 %t6191 = mul i64 %t6190, %t6189 %t6192 = load ptr, ptr %t6181 %t6193 = call ptr @realloc(ptr %t6192, i64 %t6191) store ptr %t6193, ptr %t6181 store i32 %t6187, ptr %t6180 br label %put1253 put1253: %t6194 = load ptr, ptr %t6181 %t6195 = getelementptr inbounds ptr, ptr %t6194, i32 %t6182 store ptr @.str7926, ptr %t6195 %t6196 = add i32 %t6182, 1 store i32 %t6196, ptr %t6179 br label %ifend1249 ifend1249: %t6197 = load ptr, ptr %t1 %t6198 = call i32 @lp_str_eq(ptr %t6197, ptr @.str7927) %t6199 = icmp ne i32 %t6198, 0 br i1 %t6199, label %then1254, label %ifend1256 then1254: store ptr @.str7928, ptr %t403 %t6200 = load ptr, ptr %t410 %t6201 = getelementptr inbounds %LSlice, ptr %t6200, i32 0, i32 1 %t6202 = getelementptr inbounds %LSlice, ptr %t6200, i32 0, i32 2 %t6203 = getelementptr inbounds %LSlice, ptr %t6200, i32 0, i32 0 %t6204 = load i32, ptr %t6201 %t6205 = load i32, ptr %t6202 %t6206 = icmp sge i32 %t6204, %t6205 br i1 %t6206, label %grow1257, label %put1258 grow1257: %t6207 = mul i32 %t6205, 2 %t6208 = icmp eq i32 %t6205, 0 %t6209 = select i1 %t6208, i32 8, i32 %t6207 %t6210 = getelementptr ptr, ptr null, i32 1 %t6211 = ptrtoint ptr %t6210 to i64 %t6212 = zext i32 %t6209 to i64 %t6213 = mul i64 %t6212, %t6211 %t6214 = load ptr, ptr %t6203 %t6215 = call ptr @realloc(ptr %t6214, i64 %t6213) store ptr %t6215, ptr %t6203 store i32 %t6209, ptr %t6202 br label %put1258 put1258: %t6216 = load ptr, ptr %t6203 %t6217 = getelementptr inbounds ptr, ptr %t6216, i32 %t6204 store ptr @.str7929, ptr %t6217 %t6218 = add i32 %t6204, 1 store i32 %t6218, ptr %t6201 %t6219 = load ptr, ptr %t410 %t6220 = getelementptr inbounds %LSlice, ptr %t6219, i32 0, i32 1 %t6221 = getelementptr inbounds %LSlice, ptr %t6219, i32 0, i32 2 %t6222 = getelementptr inbounds %LSlice, ptr %t6219, i32 0, i32 0 %t6223 = load i32, ptr %t6220 %t6224 = load i32, ptr %t6221 %t6225 = icmp sge i32 %t6223, %t6224 br i1 %t6225, label %grow1259, label %put1260 grow1259: %t6226 = mul i32 %t6224, 2 %t6227 = icmp eq i32 %t6224, 0 %t6228 = select i1 %t6227, i32 8, i32 %t6226 %t6229 = getelementptr ptr, ptr null, i32 1 %t6230 = ptrtoint ptr %t6229 to i64 %t6231 = zext i32 %t6228 to i64 %t6232 = mul i64 %t6231, %t6230 %t6233 = load ptr, ptr %t6222 %t6234 = call ptr @realloc(ptr %t6233, i64 %t6232) store ptr %t6234, ptr %t6222 store i32 %t6228, ptr %t6221 br label %put1260 put1260: %t6235 = load ptr, ptr %t6222 %t6236 = getelementptr inbounds ptr, ptr %t6235, i32 %t6223 store ptr @.str7930, ptr %t6236 %t6237 = add i32 %t6223, 1 store i32 %t6237, ptr %t6220 %t6238 = load ptr, ptr %t410 %t6239 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 1 %t6240 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 2 %t6241 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 0 %t6242 = load i32, ptr %t6239 %t6243 = load i32, ptr %t6240 %t6244 = icmp sge i32 %t6242, %t6243 br i1 %t6244, label %grow1261, label %put1262 grow1261: %t6245 = mul i32 %t6243, 2 %t6246 = icmp eq i32 %t6243, 0 %t6247 = select i1 %t6246, i32 8, i32 %t6245 %t6248 = getelementptr ptr, ptr null, i32 1 %t6249 = ptrtoint ptr %t6248 to i64 %t6250 = zext i32 %t6247 to i64 %t6251 = mul i64 %t6250, %t6249 %t6252 = load ptr, ptr %t6241 %t6253 = call ptr @realloc(ptr %t6252, i64 %t6251) store ptr %t6253, ptr %t6241 store i32 %t6247, ptr %t6240 br label %put1262 put1262: %t6254 = load ptr, ptr %t6241 %t6255 = getelementptr inbounds ptr, ptr %t6254, i32 %t6242 store ptr @.str7931, ptr %t6255 %t6256 = add i32 %t6242, 1 store i32 %t6256, ptr %t6239 br label %ifend1256 ifend1256: %t6257 = load ptr, ptr %t1 %t6258 = call i32 @lp_str_eq(ptr %t6257, ptr @.str7932) %t6259 = icmp ne i32 %t6258, 0 br i1 %t6259, label %then1263, label %ifend1265 then1263: store ptr @.str7933, ptr %t403 %t6260 = load ptr, ptr %t410 %t6261 = getelementptr inbounds %LSlice, ptr %t6260, i32 0, i32 1 %t6262 = getelementptr inbounds %LSlice, ptr %t6260, i32 0, i32 2 %t6263 = getelementptr inbounds %LSlice, ptr %t6260, i32 0, i32 0 %t6264 = load i32, ptr %t6261 %t6265 = load i32, ptr %t6262 %t6266 = icmp sge i32 %t6264, %t6265 br i1 %t6266, label %grow1266, label %put1267 grow1266: %t6267 = mul i32 %t6265, 2 %t6268 = icmp eq i32 %t6265, 0 %t6269 = select i1 %t6268, i32 8, i32 %t6267 %t6270 = getelementptr ptr, ptr null, i32 1 %t6271 = ptrtoint ptr %t6270 to i64 %t6272 = zext i32 %t6269 to i64 %t6273 = mul i64 %t6272, %t6271 %t6274 = load ptr, ptr %t6263 %t6275 = call ptr @realloc(ptr %t6274, i64 %t6273) store ptr %t6275, ptr %t6263 store i32 %t6269, ptr %t6262 br label %put1267 put1267: %t6276 = load ptr, ptr %t6263 %t6277 = getelementptr inbounds ptr, ptr %t6276, i32 %t6264 store ptr @.str7934, ptr %t6277 %t6278 = add i32 %t6264, 1 store i32 %t6278, ptr %t6261 %t6279 = load ptr, ptr %t410 %t6280 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 1 %t6281 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 2 %t6282 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 0 %t6283 = load i32, ptr %t6280 %t6284 = load i32, ptr %t6281 %t6285 = icmp sge i32 %t6283, %t6284 br i1 %t6285, label %grow1268, label %put1269 grow1268: %t6286 = mul i32 %t6284, 2 %t6287 = icmp eq i32 %t6284, 0 %t6288 = select i1 %t6287, i32 8, i32 %t6286 %t6289 = getelementptr ptr, ptr null, i32 1 %t6290 = ptrtoint ptr %t6289 to i64 %t6291 = zext i32 %t6288 to i64 %t6292 = mul i64 %t6291, %t6290 %t6293 = load ptr, ptr %t6282 %t6294 = call ptr @realloc(ptr %t6293, i64 %t6292) store ptr %t6294, ptr %t6282 store i32 %t6288, ptr %t6281 br label %put1269 put1269: %t6295 = load ptr, ptr %t6282 %t6296 = getelementptr inbounds ptr, ptr %t6295, i32 %t6283 store ptr @.str7935, ptr %t6296 %t6297 = add i32 %t6283, 1 store i32 %t6297, ptr %t6280 br label %ifend1265 ifend1265: %t6298 = load ptr, ptr %t1 %t6299 = call i32 @lp_str_eq(ptr %t6298, ptr @.str7936) %t6300 = icmp ne i32 %t6299, 0 br i1 %t6300, label %then1270, label %ifend1272 then1270: store ptr @.str7937, ptr %t403 %t6301 = load ptr, ptr %t410 %t6302 = getelementptr inbounds %LSlice, ptr %t6301, i32 0, i32 1 %t6303 = getelementptr inbounds %LSlice, ptr %t6301, i32 0, i32 2 %t6304 = getelementptr inbounds %LSlice, ptr %t6301, i32 0, i32 0 %t6305 = load i32, ptr %t6302 %t6306 = load i32, ptr %t6303 %t6307 = icmp sge i32 %t6305, %t6306 br i1 %t6307, label %grow1273, label %put1274 grow1273: %t6308 = mul i32 %t6306, 2 %t6309 = icmp eq i32 %t6306, 0 %t6310 = select i1 %t6309, i32 8, i32 %t6308 %t6311 = getelementptr ptr, ptr null, i32 1 %t6312 = ptrtoint ptr %t6311 to i64 %t6313 = zext i32 %t6310 to i64 %t6314 = mul i64 %t6313, %t6312 %t6315 = load ptr, ptr %t6304 %t6316 = call ptr @realloc(ptr %t6315, i64 %t6314) store ptr %t6316, ptr %t6304 store i32 %t6310, ptr %t6303 br label %put1274 put1274: %t6317 = load ptr, ptr %t6304 %t6318 = getelementptr inbounds ptr, ptr %t6317, i32 %t6305 store ptr @.str7938, ptr %t6318 %t6319 = add i32 %t6305, 1 store i32 %t6319, ptr %t6302 %t6320 = load ptr, ptr %t410 %t6321 = getelementptr inbounds %LSlice, ptr %t6320, i32 0, i32 1 %t6322 = getelementptr inbounds %LSlice, ptr %t6320, i32 0, i32 2 %t6323 = getelementptr inbounds %LSlice, ptr %t6320, i32 0, i32 0 %t6324 = load i32, ptr %t6321 %t6325 = load i32, ptr %t6322 %t6326 = icmp sge i32 %t6324, %t6325 br i1 %t6326, label %grow1275, label %put1276 grow1275: %t6327 = mul i32 %t6325, 2 %t6328 = icmp eq i32 %t6325, 0 %t6329 = select i1 %t6328, i32 8, i32 %t6327 %t6330 = getelementptr ptr, ptr null, i32 1 %t6331 = ptrtoint ptr %t6330 to i64 %t6332 = zext i32 %t6329 to i64 %t6333 = mul i64 %t6332, %t6331 %t6334 = load ptr, ptr %t6323 %t6335 = call ptr @realloc(ptr %t6334, i64 %t6333) store ptr %t6335, ptr %t6323 store i32 %t6329, ptr %t6322 br label %put1276 put1276: %t6336 = load ptr, ptr %t6323 %t6337 = getelementptr inbounds ptr, ptr %t6336, i32 %t6324 store ptr @.str7939, ptr %t6337 %t6338 = add i32 %t6324, 1 store i32 %t6338, ptr %t6321 %t6339 = load ptr, ptr %t410 %t6340 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 1 %t6341 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 2 %t6342 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 0 %t6343 = load i32, ptr %t6340 %t6344 = load i32, ptr %t6341 %t6345 = icmp sge i32 %t6343, %t6344 br i1 %t6345, label %grow1277, label %put1278 grow1277: %t6346 = mul i32 %t6344, 2 %t6347 = icmp eq i32 %t6344, 0 %t6348 = select i1 %t6347, i32 8, i32 %t6346 %t6349 = getelementptr ptr, ptr null, i32 1 %t6350 = ptrtoint ptr %t6349 to i64 %t6351 = zext i32 %t6348 to i64 %t6352 = mul i64 %t6351, %t6350 %t6353 = load ptr, ptr %t6342 %t6354 = call ptr @realloc(ptr %t6353, i64 %t6352) store ptr %t6354, ptr %t6342 store i32 %t6348, ptr %t6341 br label %put1278 put1278: %t6355 = load ptr, ptr %t6342 %t6356 = getelementptr inbounds ptr, ptr %t6355, i32 %t6343 store ptr @.str7940, ptr %t6356 %t6357 = add i32 %t6343, 1 store i32 %t6357, ptr %t6340 br label %ifend1272 ifend1272: %t6358 = load ptr, ptr %t1 %t6359 = call i32 @lp_str_eq(ptr %t6358, ptr @.str7941) %t6360 = icmp ne i32 %t6359, 0 br i1 %t6360, label %then1279, label %ifend1281 then1279: store ptr @.str7942, ptr %t403 %t6361 = load ptr, ptr %t410 %t6362 = getelementptr inbounds %LSlice, ptr %t6361, i32 0, i32 1 %t6363 = getelementptr inbounds %LSlice, ptr %t6361, i32 0, i32 2 %t6364 = getelementptr inbounds %LSlice, ptr %t6361, i32 0, i32 0 %t6365 = load i32, ptr %t6362 %t6366 = load i32, ptr %t6363 %t6367 = icmp sge i32 %t6365, %t6366 br i1 %t6367, label %grow1282, label %put1283 grow1282: %t6368 = mul i32 %t6366, 2 %t6369 = icmp eq i32 %t6366, 0 %t6370 = select i1 %t6369, i32 8, i32 %t6368 %t6371 = getelementptr ptr, ptr null, i32 1 %t6372 = ptrtoint ptr %t6371 to i64 %t6373 = zext i32 %t6370 to i64 %t6374 = mul i64 %t6373, %t6372 %t6375 = load ptr, ptr %t6364 %t6376 = call ptr @realloc(ptr %t6375, i64 %t6374) store ptr %t6376, ptr %t6364 store i32 %t6370, ptr %t6363 br label %put1283 put1283: %t6377 = load ptr, ptr %t6364 %t6378 = getelementptr inbounds ptr, ptr %t6377, i32 %t6365 store ptr @.str7943, ptr %t6378 %t6379 = add i32 %t6365, 1 store i32 %t6379, ptr %t6362 %t6380 = load ptr, ptr %t410 %t6381 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 1 %t6382 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 2 %t6383 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 0 %t6384 = load i32, ptr %t6381 %t6385 = load i32, ptr %t6382 %t6386 = icmp sge i32 %t6384, %t6385 br i1 %t6386, label %grow1284, label %put1285 grow1284: %t6387 = mul i32 %t6385, 2 %t6388 = icmp eq i32 %t6385, 0 %t6389 = select i1 %t6388, i32 8, i32 %t6387 %t6390 = getelementptr ptr, ptr null, i32 1 %t6391 = ptrtoint ptr %t6390 to i64 %t6392 = zext i32 %t6389 to i64 %t6393 = mul i64 %t6392, %t6391 %t6394 = load ptr, ptr %t6383 %t6395 = call ptr @realloc(ptr %t6394, i64 %t6393) store ptr %t6395, ptr %t6383 store i32 %t6389, ptr %t6382 br label %put1285 put1285: %t6396 = load ptr, ptr %t6383 %t6397 = getelementptr inbounds ptr, ptr %t6396, i32 %t6384 store ptr @.str7944, ptr %t6397 %t6398 = add i32 %t6384, 1 store i32 %t6398, ptr %t6381 br label %ifend1281 ifend1281: %t6399 = load ptr, ptr %t1 %t6400 = call i32 @lp_str_eq(ptr %t6399, ptr @.str7945) %t6401 = icmp ne i32 %t6400, 0 br i1 %t6401, label %then1286, label %ifend1288 then1286: store ptr @.str7946, ptr %t403 %t6402 = load ptr, ptr %t410 %t6403 = getelementptr inbounds %LSlice, ptr %t6402, i32 0, i32 1 %t6404 = getelementptr inbounds %LSlice, ptr %t6402, i32 0, i32 2 %t6405 = getelementptr inbounds %LSlice, ptr %t6402, i32 0, i32 0 %t6406 = load i32, ptr %t6403 %t6407 = load i32, ptr %t6404 %t6408 = icmp sge i32 %t6406, %t6407 br i1 %t6408, label %grow1289, label %put1290 grow1289: %t6409 = mul i32 %t6407, 2 %t6410 = icmp eq i32 %t6407, 0 %t6411 = select i1 %t6410, i32 8, i32 %t6409 %t6412 = getelementptr ptr, ptr null, i32 1 %t6413 = ptrtoint ptr %t6412 to i64 %t6414 = zext i32 %t6411 to i64 %t6415 = mul i64 %t6414, %t6413 %t6416 = load ptr, ptr %t6405 %t6417 = call ptr @realloc(ptr %t6416, i64 %t6415) store ptr %t6417, ptr %t6405 store i32 %t6411, ptr %t6404 br label %put1290 put1290: %t6418 = load ptr, ptr %t6405 %t6419 = getelementptr inbounds ptr, ptr %t6418, i32 %t6406 store ptr @.str7947, ptr %t6419 %t6420 = add i32 %t6406, 1 store i32 %t6420, ptr %t6403 %t6421 = load ptr, ptr %t410 %t6422 = getelementptr inbounds %LSlice, ptr %t6421, i32 0, i32 1 %t6423 = getelementptr inbounds %LSlice, ptr %t6421, i32 0, i32 2 %t6424 = getelementptr inbounds %LSlice, ptr %t6421, i32 0, i32 0 %t6425 = load i32, ptr %t6422 %t6426 = load i32, ptr %t6423 %t6427 = icmp sge i32 %t6425, %t6426 br i1 %t6427, label %grow1291, label %put1292 grow1291: %t6428 = mul i32 %t6426, 2 %t6429 = icmp eq i32 %t6426, 0 %t6430 = select i1 %t6429, i32 8, i32 %t6428 %t6431 = getelementptr ptr, ptr null, i32 1 %t6432 = ptrtoint ptr %t6431 to i64 %t6433 = zext i32 %t6430 to i64 %t6434 = mul i64 %t6433, %t6432 %t6435 = load ptr, ptr %t6424 %t6436 = call ptr @realloc(ptr %t6435, i64 %t6434) store ptr %t6436, ptr %t6424 store i32 %t6430, ptr %t6423 br label %put1292 put1292: %t6437 = load ptr, ptr %t6424 %t6438 = getelementptr inbounds ptr, ptr %t6437, i32 %t6425 store ptr @.str7948, ptr %t6438 %t6439 = add i32 %t6425, 1 store i32 %t6439, ptr %t6422 %t6440 = load ptr, ptr %t410 %t6441 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 1 %t6442 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 2 %t6443 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 0 %t6444 = load i32, ptr %t6441 %t6445 = load i32, ptr %t6442 %t6446 = icmp sge i32 %t6444, %t6445 br i1 %t6446, label %grow1293, label %put1294 grow1293: %t6447 = mul i32 %t6445, 2 %t6448 = icmp eq i32 %t6445, 0 %t6449 = select i1 %t6448, i32 8, i32 %t6447 %t6450 = getelementptr ptr, ptr null, i32 1 %t6451 = ptrtoint ptr %t6450 to i64 %t6452 = zext i32 %t6449 to i64 %t6453 = mul i64 %t6452, %t6451 %t6454 = load ptr, ptr %t6443 %t6455 = call ptr @realloc(ptr %t6454, i64 %t6453) store ptr %t6455, ptr %t6443 store i32 %t6449, ptr %t6442 br label %put1294 put1294: %t6456 = load ptr, ptr %t6443 %t6457 = getelementptr inbounds ptr, ptr %t6456, i32 %t6444 store ptr @.str7949, ptr %t6457 %t6458 = add i32 %t6444, 1 store i32 %t6458, ptr %t6441 br label %ifend1288 ifend1288: %t6459 = load ptr, ptr %t1 %t6460 = call i32 @lp_str_eq(ptr %t6459, ptr @.str7950) %t6461 = icmp ne i32 %t6460, 0 br i1 %t6461, label %then1295, label %ifend1297 then1295: store ptr @.str7951, ptr %t403 %t6462 = load ptr, ptr %t410 %t6463 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 1 %t6464 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 2 %t6465 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 0 %t6466 = load i32, ptr %t6463 %t6467 = load i32, ptr %t6464 %t6468 = icmp sge i32 %t6466, %t6467 br i1 %t6468, label %grow1298, label %put1299 grow1298: %t6469 = mul i32 %t6467, 2 %t6470 = icmp eq i32 %t6467, 0 %t6471 = select i1 %t6470, i32 8, i32 %t6469 %t6472 = getelementptr ptr, ptr null, i32 1 %t6473 = ptrtoint ptr %t6472 to i64 %t6474 = zext i32 %t6471 to i64 %t6475 = mul i64 %t6474, %t6473 %t6476 = load ptr, ptr %t6465 %t6477 = call ptr @realloc(ptr %t6476, i64 %t6475) store ptr %t6477, ptr %t6465 store i32 %t6471, ptr %t6464 br label %put1299 put1299: %t6478 = load ptr, ptr %t6465 %t6479 = getelementptr inbounds ptr, ptr %t6478, i32 %t6466 store ptr @.str7952, ptr %t6479 %t6480 = add i32 %t6466, 1 store i32 %t6480, ptr %t6463 br label %ifend1297 ifend1297: %t6481 = load ptr, ptr %t1 %t6482 = call i32 @lp_str_eq(ptr %t6481, ptr @.str7953) %t6483 = icmp ne i32 %t6482, 0 br i1 %t6483, label %then1300, label %ifend1302 then1300: store ptr @.str7954, ptr %t403 %t6484 = load ptr, ptr %t410 %t6485 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 1 %t6486 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 2 %t6487 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 0 %t6488 = load i32, ptr %t6485 %t6489 = load i32, ptr %t6486 %t6490 = icmp sge i32 %t6488, %t6489 br i1 %t6490, label %grow1303, label %put1304 grow1303: %t6491 = mul i32 %t6489, 2 %t6492 = icmp eq i32 %t6489, 0 %t6493 = select i1 %t6492, i32 8, i32 %t6491 %t6494 = getelementptr ptr, ptr null, i32 1 %t6495 = ptrtoint ptr %t6494 to i64 %t6496 = zext i32 %t6493 to i64 %t6497 = mul i64 %t6496, %t6495 %t6498 = load ptr, ptr %t6487 %t6499 = call ptr @realloc(ptr %t6498, i64 %t6497) store ptr %t6499, ptr %t6487 store i32 %t6493, ptr %t6486 br label %put1304 put1304: %t6500 = load ptr, ptr %t6487 %t6501 = getelementptr inbounds ptr, ptr %t6500, i32 %t6488 store ptr @.str7955, ptr %t6501 %t6502 = add i32 %t6488, 1 store i32 %t6502, ptr %t6485 br label %ifend1302 ifend1302: %t6503 = load ptr, ptr %t1 %t6504 = call i32 @lp_str_eq(ptr %t6503, ptr @.str7956) %t6505 = icmp ne i32 %t6504, 0 br i1 %t6505, label %then1305, label %ifend1307 then1305: store ptr @.str7957, ptr %t403 %t6506 = load ptr, ptr %t410 %t6507 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 1 %t6508 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 2 %t6509 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 0 %t6510 = load i32, ptr %t6507 %t6511 = load i32, ptr %t6508 %t6512 = icmp sge i32 %t6510, %t6511 br i1 %t6512, label %grow1308, label %put1309 grow1308: %t6513 = mul i32 %t6511, 2 %t6514 = icmp eq i32 %t6511, 0 %t6515 = select i1 %t6514, i32 8, i32 %t6513 %t6516 = getelementptr ptr, ptr null, i32 1 %t6517 = ptrtoint ptr %t6516 to i64 %t6518 = zext i32 %t6515 to i64 %t6519 = mul i64 %t6518, %t6517 %t6520 = load ptr, ptr %t6509 %t6521 = call ptr @realloc(ptr %t6520, i64 %t6519) store ptr %t6521, ptr %t6509 store i32 %t6515, ptr %t6508 br label %put1309 put1309: %t6522 = load ptr, ptr %t6509 %t6523 = getelementptr inbounds ptr, ptr %t6522, i32 %t6510 store ptr @.str7958, ptr %t6523 %t6524 = add i32 %t6510, 1 store i32 %t6524, ptr %t6507 br label %ifend1307 ifend1307: %t6525 = load ptr, ptr %t1 %t6526 = call i32 @lp_str_eq(ptr %t6525, ptr @.str7959) %t6527 = icmp ne i32 %t6526, 0 br i1 %t6527, label %then1310, label %ifend1312 then1310: store ptr @.str7960, ptr %t403 %t6528 = load ptr, ptr %t410 %t6529 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 1 %t6530 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 2 %t6531 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 0 %t6532 = load i32, ptr %t6529 %t6533 = load i32, ptr %t6530 %t6534 = icmp sge i32 %t6532, %t6533 br i1 %t6534, label %grow1313, label %put1314 grow1313: %t6535 = mul i32 %t6533, 2 %t6536 = icmp eq i32 %t6533, 0 %t6537 = select i1 %t6536, i32 8, i32 %t6535 %t6538 = getelementptr ptr, ptr null, i32 1 %t6539 = ptrtoint ptr %t6538 to i64 %t6540 = zext i32 %t6537 to i64 %t6541 = mul i64 %t6540, %t6539 %t6542 = load ptr, ptr %t6531 %t6543 = call ptr @realloc(ptr %t6542, i64 %t6541) store ptr %t6543, ptr %t6531 store i32 %t6537, ptr %t6530 br label %put1314 put1314: %t6544 = load ptr, ptr %t6531 %t6545 = getelementptr inbounds ptr, ptr %t6544, i32 %t6532 store ptr @.str7961, ptr %t6545 %t6546 = add i32 %t6532, 1 store i32 %t6546, ptr %t6529 br label %ifend1312 ifend1312: %t6547 = load ptr, ptr %t1 %t6548 = call i32 @lp_str_eq(ptr %t6547, ptr @.str7962) %t6549 = icmp ne i32 %t6548, 0 br i1 %t6549, label %then1315, label %ifend1317 then1315: store ptr @.str7963, ptr %t403 %t6550 = load ptr, ptr %t410 %t6551 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 1 %t6552 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 2 %t6553 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 0 %t6554 = load i32, ptr %t6551 %t6555 = load i32, ptr %t6552 %t6556 = icmp sge i32 %t6554, %t6555 br i1 %t6556, label %grow1318, label %put1319 grow1318: %t6557 = mul i32 %t6555, 2 %t6558 = icmp eq i32 %t6555, 0 %t6559 = select i1 %t6558, i32 8, i32 %t6557 %t6560 = getelementptr ptr, ptr null, i32 1 %t6561 = ptrtoint ptr %t6560 to i64 %t6562 = zext i32 %t6559 to i64 %t6563 = mul i64 %t6562, %t6561 %t6564 = load ptr, ptr %t6553 %t6565 = call ptr @realloc(ptr %t6564, i64 %t6563) store ptr %t6565, ptr %t6553 store i32 %t6559, ptr %t6552 br label %put1319 put1319: %t6566 = load ptr, ptr %t6553 %t6567 = getelementptr inbounds ptr, ptr %t6566, i32 %t6554 store ptr @.str7964, ptr %t6567 %t6568 = add i32 %t6554, 1 store i32 %t6568, ptr %t6551 br label %ifend1317 ifend1317: %t6569 = load ptr, ptr %t1 %t6570 = call i32 @lp_str_eq(ptr %t6569, ptr @.str7965) %t6571 = icmp ne i32 %t6570, 0 br i1 %t6571, label %then1320, label %ifend1322 then1320: store ptr @.str7966, ptr %t403 %t6572 = load ptr, ptr %t410 %t6573 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 1 %t6574 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 2 %t6575 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 0 %t6576 = load i32, ptr %t6573 %t6577 = load i32, ptr %t6574 %t6578 = icmp sge i32 %t6576, %t6577 br i1 %t6578, label %grow1323, label %put1324 grow1323: %t6579 = mul i32 %t6577, 2 %t6580 = icmp eq i32 %t6577, 0 %t6581 = select i1 %t6580, i32 8, i32 %t6579 %t6582 = getelementptr ptr, ptr null, i32 1 %t6583 = ptrtoint ptr %t6582 to i64 %t6584 = zext i32 %t6581 to i64 %t6585 = mul i64 %t6584, %t6583 %t6586 = load ptr, ptr %t6575 %t6587 = call ptr @realloc(ptr %t6586, i64 %t6585) store ptr %t6587, ptr %t6575 store i32 %t6581, ptr %t6574 br label %put1324 put1324: %t6588 = load ptr, ptr %t6575 %t6589 = getelementptr inbounds ptr, ptr %t6588, i32 %t6576 store ptr @.str7967, ptr %t6589 %t6590 = add i32 %t6576, 1 store i32 %t6590, ptr %t6573 br label %ifend1322 ifend1322: %t6591 = load ptr, ptr %t1 %t6592 = call i32 @lp_str_eq(ptr %t6591, ptr @.str7968) %t6593 = icmp ne i32 %t6592, 0 br i1 %t6593, label %then1325, label %ifend1327 then1325: store ptr @.str7969, ptr %t403 %t6594 = load ptr, ptr %t410 %t6595 = getelementptr inbounds %LSlice, ptr %t6594, i32 0, i32 1 %t6596 = getelementptr inbounds %LSlice, ptr %t6594, i32 0, i32 2 %t6597 = getelementptr inbounds %LSlice, ptr %t6594, i32 0, i32 0 %t6598 = load i32, ptr %t6595 %t6599 = load i32, ptr %t6596 %t6600 = icmp sge i32 %t6598, %t6599 br i1 %t6600, label %grow1328, label %put1329 grow1328: %t6601 = mul i32 %t6599, 2 %t6602 = icmp eq i32 %t6599, 0 %t6603 = select i1 %t6602, i32 8, i32 %t6601 %t6604 = getelementptr ptr, ptr null, i32 1 %t6605 = ptrtoint ptr %t6604 to i64 %t6606 = zext i32 %t6603 to i64 %t6607 = mul i64 %t6606, %t6605 %t6608 = load ptr, ptr %t6597 %t6609 = call ptr @realloc(ptr %t6608, i64 %t6607) store ptr %t6609, ptr %t6597 store i32 %t6603, ptr %t6596 br label %put1329 put1329: %t6610 = load ptr, ptr %t6597 %t6611 = getelementptr inbounds ptr, ptr %t6610, i32 %t6598 store ptr @.str7970, ptr %t6611 %t6612 = add i32 %t6598, 1 store i32 %t6612, ptr %t6595 %t6613 = load ptr, ptr %t410 %t6614 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 1 %t6615 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 2 %t6616 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 0 %t6617 = load i32, ptr %t6614 %t6618 = load i32, ptr %t6615 %t6619 = icmp sge i32 %t6617, %t6618 br i1 %t6619, label %grow1330, label %put1331 grow1330: %t6620 = mul i32 %t6618, 2 %t6621 = icmp eq i32 %t6618, 0 %t6622 = select i1 %t6621, i32 8, i32 %t6620 %t6623 = getelementptr ptr, ptr null, i32 1 %t6624 = ptrtoint ptr %t6623 to i64 %t6625 = zext i32 %t6622 to i64 %t6626 = mul i64 %t6625, %t6624 %t6627 = load ptr, ptr %t6616 %t6628 = call ptr @realloc(ptr %t6627, i64 %t6626) store ptr %t6628, ptr %t6616 store i32 %t6622, ptr %t6615 br label %put1331 put1331: %t6629 = load ptr, ptr %t6616 %t6630 = getelementptr inbounds ptr, ptr %t6629, i32 %t6617 store ptr @.str7971, ptr %t6630 %t6631 = add i32 %t6617, 1 store i32 %t6631, ptr %t6614 br label %ifend1327 ifend1327: %t6632 = load ptr, ptr %t1 %t6633 = call i32 @lp_str_eq(ptr %t6632, ptr @.str7972) %t6634 = icmp ne i32 %t6633, 0 br i1 %t6634, label %then1332, label %ifend1334 then1332: store ptr @.str7973, ptr %t403 %t6635 = load ptr, ptr %t410 %t6636 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 1 %t6637 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 2 %t6638 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 0 %t6639 = load i32, ptr %t6636 %t6640 = load i32, ptr %t6637 %t6641 = icmp sge i32 %t6639, %t6640 br i1 %t6641, label %grow1335, label %put1336 grow1335: %t6642 = mul i32 %t6640, 2 %t6643 = icmp eq i32 %t6640, 0 %t6644 = select i1 %t6643, i32 8, i32 %t6642 %t6645 = getelementptr ptr, ptr null, i32 1 %t6646 = ptrtoint ptr %t6645 to i64 %t6647 = zext i32 %t6644 to i64 %t6648 = mul i64 %t6647, %t6646 %t6649 = load ptr, ptr %t6638 %t6650 = call ptr @realloc(ptr %t6649, i64 %t6648) store ptr %t6650, ptr %t6638 store i32 %t6644, ptr %t6637 br label %put1336 put1336: %t6651 = load ptr, ptr %t6638 %t6652 = getelementptr inbounds ptr, ptr %t6651, i32 %t6639 store ptr @.str7974, ptr %t6652 %t6653 = add i32 %t6639, 1 store i32 %t6653, ptr %t6636 br label %ifend1334 ifend1334: %t6654 = load ptr, ptr %t1 %t6655 = call i32 @lp_str_eq(ptr %t6654, ptr @.str7975) %t6656 = icmp ne i32 %t6655, 0 br i1 %t6656, label %then1337, label %ifend1339 then1337: store ptr @.str7976, ptr %t403 %t6657 = load ptr, ptr %t410 %t6658 = getelementptr inbounds %LSlice, ptr %t6657, i32 0, i32 1 %t6659 = getelementptr inbounds %LSlice, ptr %t6657, i32 0, i32 2 %t6660 = getelementptr inbounds %LSlice, ptr %t6657, i32 0, i32 0 %t6661 = load i32, ptr %t6658 %t6662 = load i32, ptr %t6659 %t6663 = icmp sge i32 %t6661, %t6662 br i1 %t6663, label %grow1340, label %put1341 grow1340: %t6664 = mul i32 %t6662, 2 %t6665 = icmp eq i32 %t6662, 0 %t6666 = select i1 %t6665, i32 8, i32 %t6664 %t6667 = getelementptr ptr, ptr null, i32 1 %t6668 = ptrtoint ptr %t6667 to i64 %t6669 = zext i32 %t6666 to i64 %t6670 = mul i64 %t6669, %t6668 %t6671 = load ptr, ptr %t6660 %t6672 = call ptr @realloc(ptr %t6671, i64 %t6670) store ptr %t6672, ptr %t6660 store i32 %t6666, ptr %t6659 br label %put1341 put1341: %t6673 = load ptr, ptr %t6660 %t6674 = getelementptr inbounds ptr, ptr %t6673, i32 %t6661 store ptr @.str7977, ptr %t6674 %t6675 = add i32 %t6661, 1 store i32 %t6675, ptr %t6658 %t6676 = load ptr, ptr %t410 %t6677 = getelementptr inbounds %LSlice, ptr %t6676, i32 0, i32 1 %t6678 = getelementptr inbounds %LSlice, ptr %t6676, i32 0, i32 2 %t6679 = getelementptr inbounds %LSlice, ptr %t6676, i32 0, i32 0 %t6680 = load i32, ptr %t6677 %t6681 = load i32, ptr %t6678 %t6682 = icmp sge i32 %t6680, %t6681 br i1 %t6682, label %grow1342, label %put1343 grow1342: %t6683 = mul i32 %t6681, 2 %t6684 = icmp eq i32 %t6681, 0 %t6685 = select i1 %t6684, i32 8, i32 %t6683 %t6686 = getelementptr ptr, ptr null, i32 1 %t6687 = ptrtoint ptr %t6686 to i64 %t6688 = zext i32 %t6685 to i64 %t6689 = mul i64 %t6688, %t6687 %t6690 = load ptr, ptr %t6679 %t6691 = call ptr @realloc(ptr %t6690, i64 %t6689) store ptr %t6691, ptr %t6679 store i32 %t6685, ptr %t6678 br label %put1343 put1343: %t6692 = load ptr, ptr %t6679 %t6693 = getelementptr inbounds ptr, ptr %t6692, i32 %t6680 store ptr @.str7978, ptr %t6693 %t6694 = add i32 %t6680, 1 store i32 %t6694, ptr %t6677 br label %ifend1339 ifend1339: br label %ifend1241 ifend1241: %t6695 = load ptr, ptr %t0 %t6696 = call i32 @lp_str_eq(ptr %t6695, ptr @.str7979) %t6697 = icmp ne i32 %t6696, 0 br i1 %t6697, label %then1344, label %ifend1346 then1344: %t6698 = load ptr, ptr %t1 %t6699 = call i32 @lp_str_eq(ptr %t6698, ptr @.str7980) %t6700 = icmp ne i32 %t6699, 0 br i1 %t6700, label %then1347, label %ifend1349 then1347: store ptr @.str7981, ptr %t403 br label %ifend1349 ifend1349: %t6701 = load ptr, ptr %t1 %t6702 = call i32 @lp_str_eq(ptr %t6701, ptr @.str7982) %t6703 = icmp ne i32 %t6702, 0 br i1 %t6703, label %then1350, label %ifend1352 then1350: store ptr @.str7983, ptr %t403 br label %ifend1352 ifend1352: %t6704 = load ptr, ptr %t1 %t6705 = call i32 @lp_str_eq(ptr %t6704, ptr @.str7984) %t6706 = icmp ne i32 %t6705, 0 br i1 %t6706, label %then1353, label %ifend1355 then1353: store ptr @.str7985, ptr %t403 br label %ifend1355 ifend1355: %t6707 = load ptr, ptr %t1 %t6708 = call i32 @lp_str_eq(ptr %t6707, ptr @.str7986) %t6709 = icmp ne i32 %t6708, 0 br i1 %t6709, label %then1356, label %ifend1358 then1356: store ptr @.str7987, ptr %t403 br label %ifend1358 ifend1358: %t6710 = load ptr, ptr %t1 %t6711 = call i32 @lp_str_eq(ptr %t6710, ptr @.str7988) %t6712 = icmp ne i32 %t6711, 0 br i1 %t6712, label %then1359, label %ifend1361 then1359: store ptr @.str7989, ptr %t403 br label %ifend1361 ifend1361: %t6713 = load ptr, ptr %t1 %t6714 = call i32 @lp_str_eq(ptr %t6713, ptr @.str7990) %t6715 = icmp ne i32 %t6714, 0 br i1 %t6715, label %then1362, label %ifend1364 then1362: store ptr @.str7991, ptr %t403 br label %ifend1364 ifend1364: %t6716 = load ptr, ptr %t1 %t6717 = call i32 @lp_str_eq(ptr %t6716, ptr @.str7992) %t6718 = icmp ne i32 %t6717, 0 br i1 %t6718, label %then1365, label %ifend1367 then1365: store ptr @.str7993, ptr %t403 br label %ifend1367 ifend1367: %t6719 = load ptr, ptr %t1 %t6720 = call i32 @lp_str_eq(ptr %t6719, ptr @.str7994) %t6721 = icmp ne i32 %t6720, 0 br i1 %t6721, label %then1368, label %ifend1370 then1368: store ptr @.str7995, ptr %t403 br label %ifend1370 ifend1370: %t6722 = load ptr, ptr %t1 %t6723 = call i32 @lp_str_eq(ptr %t6722, ptr @.str7996) %t6724 = icmp ne i32 %t6723, 0 br i1 %t6724, label %then1371, label %ifend1373 then1371: store ptr @.str7997, ptr %t403 br label %ifend1373 ifend1373: %t6725 = load ptr, ptr %t1 %t6726 = call i32 @lp_str_eq(ptr %t6725, ptr @.str7998) %t6727 = icmp ne i32 %t6726, 0 br i1 %t6727, label %then1374, label %ifend1376 then1374: store ptr @.str7999, ptr %t403 br label %ifend1376 ifend1376: %t6728 = load ptr, ptr %t1 %t6729 = call i32 @lp_str_eq(ptr %t6728, ptr @.str8000) %t6730 = icmp ne i32 %t6729, 0 br i1 %t6730, label %then1377, label %ifend1379 then1377: store ptr @.str8001, ptr %t403 br label %ifend1379 ifend1379: %t6731 = load ptr, ptr %t1 %t6732 = call i32 @lp_str_eq(ptr %t6731, ptr @.str8002) %t6733 = icmp ne i32 %t6732, 0 br i1 %t6733, label %then1380, label %ifend1382 then1380: store ptr @.str8003, ptr %t403 br label %ifend1382 ifend1382: %t6734 = load ptr, ptr %t1 %t6735 = call i32 @lp_str_eq(ptr %t6734, ptr @.str8004) %t6736 = icmp ne i32 %t6735, 0 br i1 %t6736, label %then1383, label %ifend1385 then1383: store ptr @.str8005, ptr %t403 br label %ifend1385 ifend1385: %t6737 = load ptr, ptr %t1 %t6738 = call i32 @lp_str_eq(ptr %t6737, ptr @.str8006) %t6739 = icmp ne i32 %t6738, 0 br i1 %t6739, label %then1386, label %ifend1388 then1386: store ptr @.str8007, ptr %t403 br label %ifend1388 ifend1388: %t6740 = load ptr, ptr %t1 %t6741 = call i32 @lp_str_eq(ptr %t6740, ptr @.str8008) %t6742 = icmp ne i32 %t6741, 0 br i1 %t6742, label %then1389, label %ifend1391 then1389: store ptr @.str8009, ptr %t403 br label %ifend1391 ifend1391: %t6743 = load ptr, ptr %t1 %t6744 = call i32 @lp_str_eq(ptr %t6743, ptr @.str8010) %t6745 = icmp ne i32 %t6744, 0 br i1 %t6745, label %then1392, label %ifend1394 then1392: store ptr @.str8011, ptr %t403 br label %ifend1394 ifend1394: %t6746 = load ptr, ptr %t1 %t6747 = call i32 @lp_str_eq(ptr %t6746, ptr @.str8012) %t6748 = icmp ne i32 %t6747, 0 br i1 %t6748, label %then1395, label %ifend1397 then1395: store ptr @.str8013, ptr %t403 br label %ifend1397 ifend1397: br label %ifend1346 ifend1346: %t6749 = load ptr, ptr %t0 %t6750 = call i32 @lp_str_eq(ptr %t6749, ptr @.str8014) %t6751 = icmp ne i32 %t6750, 0 br i1 %t6751, label %then1398, label %ifend1400 then1398: %t6752 = load ptr, ptr %t1 %t6753 = call i32 @lp_str_eq(ptr %t6752, ptr @.str8015) %t6754 = icmp ne i32 %t6753, 0 br i1 %t6754, label %then1401, label %ifend1403 then1401: store ptr @.str8016, ptr %t403 br label %ifend1403 ifend1403: %t6755 = load ptr, ptr %t1 %t6756 = call i32 @lp_str_eq(ptr %t6755, ptr @.str8017) %t6757 = icmp ne i32 %t6756, 0 br i1 %t6757, label %then1404, label %ifend1406 then1404: store ptr @.str8018, ptr %t403 br label %ifend1406 ifend1406: %t6758 = load ptr, ptr %t1 %t6759 = call i32 @lp_str_eq(ptr %t6758, ptr @.str8019) %t6760 = icmp ne i32 %t6759, 0 br i1 %t6760, label %then1407, label %ifend1409 then1407: store ptr @.str8020, ptr %t403 br label %ifend1409 ifend1409: %t6761 = load ptr, ptr %t1 %t6762 = call i32 @lp_str_eq(ptr %t6761, ptr @.str8021) %t6763 = icmp ne i32 %t6762, 0 br i1 %t6763, label %then1410, label %ifend1412 then1410: store ptr @.str8022, ptr %t403 br label %ifend1412 ifend1412: %t6764 = load ptr, ptr %t1 %t6765 = call i32 @lp_str_eq(ptr %t6764, ptr @.str8023) %t6766 = icmp ne i32 %t6765, 0 br i1 %t6766, label %then1413, label %ifend1415 then1413: store ptr @.str8024, ptr %t403 br label %ifend1415 ifend1415: %t6767 = load ptr, ptr %t1 %t6768 = call i32 @lp_str_eq(ptr %t6767, ptr @.str8025) %t6769 = icmp ne i32 %t6768, 0 br i1 %t6769, label %then1416, label %ifend1418 then1416: store ptr @.str8026, ptr %t403 br label %ifend1418 ifend1418: %t6770 = load ptr, ptr %t1 %t6771 = call i32 @lp_str_eq(ptr %t6770, ptr @.str8027) %t6772 = icmp ne i32 %t6771, 0 br i1 %t6772, label %then1419, label %ifend1421 then1419: store ptr @.str8028, ptr %t403 br label %ifend1421 ifend1421: %t6773 = load ptr, ptr %t1 %t6774 = call i32 @lp_str_eq(ptr %t6773, ptr @.str8029) %t6775 = icmp ne i32 %t6774, 0 br i1 %t6775, label %then1422, label %ifend1424 then1422: store ptr @.str8030, ptr %t403 br label %ifend1424 ifend1424: %t6776 = load ptr, ptr %t1 %t6777 = call i32 @lp_str_eq(ptr %t6776, ptr @.str8031) %t6778 = icmp ne i32 %t6777, 0 br i1 %t6778, label %then1425, label %ifend1427 then1425: store ptr @.str8032, ptr %t403 br label %ifend1427 ifend1427: br label %ifend1400 ifend1400: %t6779 = load ptr, ptr %t0 %t6780 = call i32 @lp_str_eq(ptr %t6779, ptr @.str8033) %t6781 = icmp ne i32 %t6780, 0 br i1 %t6781, label %then1428, label %ifend1430 then1428: %t6782 = load ptr, ptr %t1 %t6783 = call i32 @lp_str_eq(ptr %t6782, ptr @.str8034) %t6784 = icmp ne i32 %t6783, 0 br i1 %t6784, label %then1431, label %ifend1433 then1431: store ptr @.str8035, ptr %t403 br label %ifend1433 ifend1433: %t6785 = load ptr, ptr %t1 %t6786 = call i32 @lp_str_eq(ptr %t6785, ptr @.str8036) %t6787 = icmp ne i32 %t6786, 0 br i1 %t6787, label %then1434, label %ifend1436 then1434: store ptr @.str8037, ptr %t403 br label %ifend1436 ifend1436: %t6788 = load ptr, ptr %t1 %t6789 = call i32 @lp_str_eq(ptr %t6788, ptr @.str8038) %t6790 = icmp ne i32 %t6789, 0 br i1 %t6790, label %then1437, label %ifend1439 then1437: store ptr @.str8039, ptr %t403 br label %ifend1439 ifend1439: %t6791 = load ptr, ptr %t1 %t6792 = call i32 @lp_str_eq(ptr %t6791, ptr @.str8040) %t6793 = icmp ne i32 %t6792, 0 br i1 %t6793, label %then1440, label %ifend1442 then1440: store ptr @.str8041, ptr %t403 br label %ifend1442 ifend1442: %t6794 = load ptr, ptr %t1 %t6795 = call i32 @lp_str_eq(ptr %t6794, ptr @.str8042) %t6796 = icmp ne i32 %t6795, 0 br i1 %t6796, label %then1443, label %ifend1445 then1443: store ptr @.str8043, ptr %t403 br label %ifend1445 ifend1445: %t6797 = load ptr, ptr %t1 %t6798 = call i32 @lp_str_eq(ptr %t6797, ptr @.str8044) %t6799 = icmp ne i32 %t6798, 0 br i1 %t6799, label %then1446, label %ifend1448 then1446: store ptr @.str8045, ptr %t403 br label %ifend1448 ifend1448: %t6800 = load ptr, ptr %t1 %t6801 = call i32 @lp_str_eq(ptr %t6800, ptr @.str8046) %t6802 = icmp ne i32 %t6801, 0 br i1 %t6802, label %then1449, label %ifend1451 then1449: store ptr @.str8047, ptr %t403 br label %ifend1451 ifend1451: %t6803 = load ptr, ptr %t1 %t6804 = call i32 @lp_str_eq(ptr %t6803, ptr @.str8048) %t6805 = icmp ne i32 %t6804, 0 br i1 %t6805, label %then1452, label %ifend1454 then1452: store ptr @.str8049, ptr %t403 br label %ifend1454 ifend1454: br label %ifend1430 ifend1430: %t6806 = load ptr, ptr %t0 %t6807 = call i32 @lp_str_eq(ptr %t6806, ptr @.str8050) %t6808 = icmp ne i32 %t6807, 0 br i1 %t6808, label %then1455, label %ifend1457 then1455: %t6809 = load ptr, ptr %t1 %t6810 = call i32 @lp_str_eq(ptr %t6809, ptr @.str8051) %t6811 = icmp ne i32 %t6810, 0 br i1 %t6811, label %then1458, label %ifend1460 then1458: store ptr @.str8052, ptr %t403 br label %ifend1460 ifend1460: %t6812 = load ptr, ptr %t1 %t6813 = call i32 @lp_str_eq(ptr %t6812, ptr @.str8053) %t6814 = icmp ne i32 %t6813, 0 br i1 %t6814, label %then1461, label %ifend1463 then1461: store ptr @.str8054, ptr %t403 br label %ifend1463 ifend1463: br label %ifend1457 ifend1457: %t6815 = load ptr, ptr %t0 %t6816 = call i32 @lp_str_eq(ptr %t6815, ptr @.str8055) %t6817 = icmp ne i32 %t6816, 0 br i1 %t6817, label %then1464, label %ifend1466 then1464: %t6818 = load ptr, ptr %t1 %t6819 = call i32 @lp_str_eq(ptr %t6818, ptr @.str8056) %t6820 = icmp ne i32 %t6819, 0 br i1 %t6820, label %then1467, label %ifend1469 then1467: store ptr @.str8057, ptr %t403 %t6821 = load ptr, ptr %t410 %t6822 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 1 %t6823 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 2 %t6824 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 0 %t6825 = load i32, ptr %t6822 %t6826 = load i32, ptr %t6823 %t6827 = icmp sge i32 %t6825, %t6826 br i1 %t6827, label %grow1470, label %put1471 grow1470: %t6828 = mul i32 %t6826, 2 %t6829 = icmp eq i32 %t6826, 0 %t6830 = select i1 %t6829, i32 8, i32 %t6828 %t6831 = getelementptr ptr, ptr null, i32 1 %t6832 = ptrtoint ptr %t6831 to i64 %t6833 = zext i32 %t6830 to i64 %t6834 = mul i64 %t6833, %t6832 %t6835 = load ptr, ptr %t6824 %t6836 = call ptr @realloc(ptr %t6835, i64 %t6834) store ptr %t6836, ptr %t6824 store i32 %t6830, ptr %t6823 br label %put1471 put1471: %t6837 = load ptr, ptr %t6824 %t6838 = getelementptr inbounds ptr, ptr %t6837, i32 %t6825 store ptr @.str8058, ptr %t6838 %t6839 = add i32 %t6825, 1 store i32 %t6839, ptr %t6822 br label %ifend1469 ifend1469: %t6840 = load ptr, ptr %t1 %t6841 = call i32 @lp_str_eq(ptr %t6840, ptr @.str8059) %t6842 = icmp ne i32 %t6841, 0 br i1 %t6842, label %then1472, label %ifend1474 then1472: store ptr @.str8060, ptr %t403 %t6843 = load ptr, ptr %t410 %t6844 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 1 %t6845 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 2 %t6846 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 0 %t6847 = load i32, ptr %t6844 %t6848 = load i32, ptr %t6845 %t6849 = icmp sge i32 %t6847, %t6848 br i1 %t6849, label %grow1475, label %put1476 grow1475: %t6850 = mul i32 %t6848, 2 %t6851 = icmp eq i32 %t6848, 0 %t6852 = select i1 %t6851, i32 8, i32 %t6850 %t6853 = getelementptr ptr, ptr null, i32 1 %t6854 = ptrtoint ptr %t6853 to i64 %t6855 = zext i32 %t6852 to i64 %t6856 = mul i64 %t6855, %t6854 %t6857 = load ptr, ptr %t6846 %t6858 = call ptr @realloc(ptr %t6857, i64 %t6856) store ptr %t6858, ptr %t6846 store i32 %t6852, ptr %t6845 br label %put1476 put1476: %t6859 = load ptr, ptr %t6846 %t6860 = getelementptr inbounds ptr, ptr %t6859, i32 %t6847 store ptr @.str8061, ptr %t6860 %t6861 = add i32 %t6847, 1 store i32 %t6861, ptr %t6844 br label %ifend1474 ifend1474: %t6862 = load ptr, ptr %t1 %t6863 = call i32 @lp_str_eq(ptr %t6862, ptr @.str8062) %t6864 = icmp ne i32 %t6863, 0 br i1 %t6864, label %then1477, label %ifend1479 then1477: store ptr @.str8063, ptr %t403 %t6865 = load ptr, ptr %t410 %t6866 = getelementptr inbounds %LSlice, ptr %t6865, i32 0, i32 1 %t6867 = getelementptr inbounds %LSlice, ptr %t6865, i32 0, i32 2 %t6868 = getelementptr inbounds %LSlice, ptr %t6865, i32 0, i32 0 %t6869 = load i32, ptr %t6866 %t6870 = load i32, ptr %t6867 %t6871 = icmp sge i32 %t6869, %t6870 br i1 %t6871, label %grow1480, label %put1481 grow1480: %t6872 = mul i32 %t6870, 2 %t6873 = icmp eq i32 %t6870, 0 %t6874 = select i1 %t6873, i32 8, i32 %t6872 %t6875 = getelementptr ptr, ptr null, i32 1 %t6876 = ptrtoint ptr %t6875 to i64 %t6877 = zext i32 %t6874 to i64 %t6878 = mul i64 %t6877, %t6876 %t6879 = load ptr, ptr %t6868 %t6880 = call ptr @realloc(ptr %t6879, i64 %t6878) store ptr %t6880, ptr %t6868 store i32 %t6874, ptr %t6867 br label %put1481 put1481: %t6881 = load ptr, ptr %t6868 %t6882 = getelementptr inbounds ptr, ptr %t6881, i32 %t6869 store ptr @.str8064, ptr %t6882 %t6883 = add i32 %t6869, 1 store i32 %t6883, ptr %t6866 %t6884 = load ptr, ptr %t410 %t6885 = getelementptr inbounds %LSlice, ptr %t6884, i32 0, i32 1 %t6886 = getelementptr inbounds %LSlice, ptr %t6884, i32 0, i32 2 %t6887 = getelementptr inbounds %LSlice, ptr %t6884, i32 0, i32 0 %t6888 = load i32, ptr %t6885 %t6889 = load i32, ptr %t6886 %t6890 = icmp sge i32 %t6888, %t6889 br i1 %t6890, label %grow1482, label %put1483 grow1482: %t6891 = mul i32 %t6889, 2 %t6892 = icmp eq i32 %t6889, 0 %t6893 = select i1 %t6892, i32 8, i32 %t6891 %t6894 = getelementptr ptr, ptr null, i32 1 %t6895 = ptrtoint ptr %t6894 to i64 %t6896 = zext i32 %t6893 to i64 %t6897 = mul i64 %t6896, %t6895 %t6898 = load ptr, ptr %t6887 %t6899 = call ptr @realloc(ptr %t6898, i64 %t6897) store ptr %t6899, ptr %t6887 store i32 %t6893, ptr %t6886 br label %put1483 put1483: %t6900 = load ptr, ptr %t6887 %t6901 = getelementptr inbounds ptr, ptr %t6900, i32 %t6888 store ptr @.str8065, ptr %t6901 %t6902 = add i32 %t6888, 1 store i32 %t6902, ptr %t6885 br label %ifend1479 ifend1479: %t6903 = load ptr, ptr %t1 %t6904 = call i32 @lp_str_eq(ptr %t6903, ptr @.str8066) %t6905 = icmp ne i32 %t6904, 0 br i1 %t6905, label %then1484, label %ifend1486 then1484: store ptr @.str8067, ptr %t403 %t6906 = load ptr, ptr %t410 %t6907 = getelementptr inbounds %LSlice, ptr %t6906, i32 0, i32 1 %t6908 = getelementptr inbounds %LSlice, ptr %t6906, i32 0, i32 2 %t6909 = getelementptr inbounds %LSlice, ptr %t6906, i32 0, i32 0 %t6910 = load i32, ptr %t6907 %t6911 = load i32, ptr %t6908 %t6912 = icmp sge i32 %t6910, %t6911 br i1 %t6912, label %grow1487, label %put1488 grow1487: %t6913 = mul i32 %t6911, 2 %t6914 = icmp eq i32 %t6911, 0 %t6915 = select i1 %t6914, i32 8, i32 %t6913 %t6916 = getelementptr ptr, ptr null, i32 1 %t6917 = ptrtoint ptr %t6916 to i64 %t6918 = zext i32 %t6915 to i64 %t6919 = mul i64 %t6918, %t6917 %t6920 = load ptr, ptr %t6909 %t6921 = call ptr @realloc(ptr %t6920, i64 %t6919) store ptr %t6921, ptr %t6909 store i32 %t6915, ptr %t6908 br label %put1488 put1488: %t6922 = load ptr, ptr %t6909 %t6923 = getelementptr inbounds ptr, ptr %t6922, i32 %t6910 store ptr @.str8068, ptr %t6923 %t6924 = add i32 %t6910, 1 store i32 %t6924, ptr %t6907 %t6925 = load ptr, ptr %t410 %t6926 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 1 %t6927 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 2 %t6928 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 0 %t6929 = load i32, ptr %t6926 %t6930 = load i32, ptr %t6927 %t6931 = icmp sge i32 %t6929, %t6930 br i1 %t6931, label %grow1489, label %put1490 grow1489: %t6932 = mul i32 %t6930, 2 %t6933 = icmp eq i32 %t6930, 0 %t6934 = select i1 %t6933, i32 8, i32 %t6932 %t6935 = getelementptr ptr, ptr null, i32 1 %t6936 = ptrtoint ptr %t6935 to i64 %t6937 = zext i32 %t6934 to i64 %t6938 = mul i64 %t6937, %t6936 %t6939 = load ptr, ptr %t6928 %t6940 = call ptr @realloc(ptr %t6939, i64 %t6938) store ptr %t6940, ptr %t6928 store i32 %t6934, ptr %t6927 br label %put1490 put1490: %t6941 = load ptr, ptr %t6928 %t6942 = getelementptr inbounds ptr, ptr %t6941, i32 %t6929 store ptr @.str8069, ptr %t6942 %t6943 = add i32 %t6929, 1 store i32 %t6943, ptr %t6926 br label %ifend1486 ifend1486: %t6944 = load ptr, ptr %t1 %t6945 = call i32 @lp_str_eq(ptr %t6944, ptr @.str8070) %t6946 = icmp ne i32 %t6945, 0 br i1 %t6946, label %then1491, label %ifend1493 then1491: store ptr @.str8071, ptr %t403 %t6947 = load ptr, ptr %t410 %t6948 = getelementptr inbounds %LSlice, ptr %t6947, i32 0, i32 1 %t6949 = getelementptr inbounds %LSlice, ptr %t6947, i32 0, i32 2 %t6950 = getelementptr inbounds %LSlice, ptr %t6947, i32 0, i32 0 %t6951 = load i32, ptr %t6948 %t6952 = load i32, ptr %t6949 %t6953 = icmp sge i32 %t6951, %t6952 br i1 %t6953, label %grow1494, label %put1495 grow1494: %t6954 = mul i32 %t6952, 2 %t6955 = icmp eq i32 %t6952, 0 %t6956 = select i1 %t6955, i32 8, i32 %t6954 %t6957 = getelementptr ptr, ptr null, i32 1 %t6958 = ptrtoint ptr %t6957 to i64 %t6959 = zext i32 %t6956 to i64 %t6960 = mul i64 %t6959, %t6958 %t6961 = load ptr, ptr %t6950 %t6962 = call ptr @realloc(ptr %t6961, i64 %t6960) store ptr %t6962, ptr %t6950 store i32 %t6956, ptr %t6949 br label %put1495 put1495: %t6963 = load ptr, ptr %t6950 %t6964 = getelementptr inbounds ptr, ptr %t6963, i32 %t6951 store ptr @.str8072, ptr %t6964 %t6965 = add i32 %t6951, 1 store i32 %t6965, ptr %t6948 %t6966 = load ptr, ptr %t410 %t6967 = getelementptr inbounds %LSlice, ptr %t6966, i32 0, i32 1 %t6968 = getelementptr inbounds %LSlice, ptr %t6966, i32 0, i32 2 %t6969 = getelementptr inbounds %LSlice, ptr %t6966, i32 0, i32 0 %t6970 = load i32, ptr %t6967 %t6971 = load i32, ptr %t6968 %t6972 = icmp sge i32 %t6970, %t6971 br i1 %t6972, label %grow1496, label %put1497 grow1496: %t6973 = mul i32 %t6971, 2 %t6974 = icmp eq i32 %t6971, 0 %t6975 = select i1 %t6974, i32 8, i32 %t6973 %t6976 = getelementptr ptr, ptr null, i32 1 %t6977 = ptrtoint ptr %t6976 to i64 %t6978 = zext i32 %t6975 to i64 %t6979 = mul i64 %t6978, %t6977 %t6980 = load ptr, ptr %t6969 %t6981 = call ptr @realloc(ptr %t6980, i64 %t6979) store ptr %t6981, ptr %t6969 store i32 %t6975, ptr %t6968 br label %put1497 put1497: %t6982 = load ptr, ptr %t6969 %t6983 = getelementptr inbounds ptr, ptr %t6982, i32 %t6970 store ptr @.str8073, ptr %t6983 %t6984 = add i32 %t6970, 1 store i32 %t6984, ptr %t6967 br label %ifend1493 ifend1493: %t6985 = load ptr, ptr %t1 %t6986 = call i32 @lp_str_eq(ptr %t6985, ptr @.str8074) %t6987 = icmp ne i32 %t6986, 0 br i1 %t6987, label %then1498, label %ifend1500 then1498: store ptr @.str8075, ptr %t403 %t6988 = load ptr, ptr %t410 %t6989 = getelementptr inbounds %LSlice, ptr %t6988, i32 0, i32 1 %t6990 = getelementptr inbounds %LSlice, ptr %t6988, i32 0, i32 2 %t6991 = getelementptr inbounds %LSlice, ptr %t6988, i32 0, i32 0 %t6992 = load i32, ptr %t6989 %t6993 = load i32, ptr %t6990 %t6994 = icmp sge i32 %t6992, %t6993 br i1 %t6994, label %grow1501, label %put1502 grow1501: %t6995 = mul i32 %t6993, 2 %t6996 = icmp eq i32 %t6993, 0 %t6997 = select i1 %t6996, i32 8, i32 %t6995 %t6998 = getelementptr ptr, ptr null, i32 1 %t6999 = ptrtoint ptr %t6998 to i64 %t7000 = zext i32 %t6997 to i64 %t7001 = mul i64 %t7000, %t6999 %t7002 = load ptr, ptr %t6991 %t7003 = call ptr @realloc(ptr %t7002, i64 %t7001) store ptr %t7003, ptr %t6991 store i32 %t6997, ptr %t6990 br label %put1502 put1502: %t7004 = load ptr, ptr %t6991 %t7005 = getelementptr inbounds ptr, ptr %t7004, i32 %t6992 store ptr @.str8076, ptr %t7005 %t7006 = add i32 %t6992, 1 store i32 %t7006, ptr %t6989 %t7007 = load ptr, ptr %t410 %t7008 = getelementptr inbounds %LSlice, ptr %t7007, i32 0, i32 1 %t7009 = getelementptr inbounds %LSlice, ptr %t7007, i32 0, i32 2 %t7010 = getelementptr inbounds %LSlice, ptr %t7007, i32 0, i32 0 %t7011 = load i32, ptr %t7008 %t7012 = load i32, ptr %t7009 %t7013 = icmp sge i32 %t7011, %t7012 br i1 %t7013, label %grow1503, label %put1504 grow1503: %t7014 = mul i32 %t7012, 2 %t7015 = icmp eq i32 %t7012, 0 %t7016 = select i1 %t7015, i32 8, i32 %t7014 %t7017 = getelementptr ptr, ptr null, i32 1 %t7018 = ptrtoint ptr %t7017 to i64 %t7019 = zext i32 %t7016 to i64 %t7020 = mul i64 %t7019, %t7018 %t7021 = load ptr, ptr %t7010 %t7022 = call ptr @realloc(ptr %t7021, i64 %t7020) store ptr %t7022, ptr %t7010 store i32 %t7016, ptr %t7009 br label %put1504 put1504: %t7023 = load ptr, ptr %t7010 %t7024 = getelementptr inbounds ptr, ptr %t7023, i32 %t7011 store ptr @.str8077, ptr %t7024 %t7025 = add i32 %t7011, 1 store i32 %t7025, ptr %t7008 br label %ifend1500 ifend1500: %t7026 = load ptr, ptr %t1 %t7027 = call i32 @lp_str_eq(ptr %t7026, ptr @.str8078) %t7028 = icmp ne i32 %t7027, 0 br i1 %t7028, label %then1505, label %ifend1507 then1505: store ptr @.str8079, ptr %t403 %t7029 = load ptr, ptr %t410 %t7030 = getelementptr inbounds %LSlice, ptr %t7029, i32 0, i32 1 %t7031 = getelementptr inbounds %LSlice, ptr %t7029, i32 0, i32 2 %t7032 = getelementptr inbounds %LSlice, ptr %t7029, i32 0, i32 0 %t7033 = load i32, ptr %t7030 %t7034 = load i32, ptr %t7031 %t7035 = icmp sge i32 %t7033, %t7034 br i1 %t7035, label %grow1508, label %put1509 grow1508: %t7036 = mul i32 %t7034, 2 %t7037 = icmp eq i32 %t7034, 0 %t7038 = select i1 %t7037, i32 8, i32 %t7036 %t7039 = getelementptr ptr, ptr null, i32 1 %t7040 = ptrtoint ptr %t7039 to i64 %t7041 = zext i32 %t7038 to i64 %t7042 = mul i64 %t7041, %t7040 %t7043 = load ptr, ptr %t7032 %t7044 = call ptr @realloc(ptr %t7043, i64 %t7042) store ptr %t7044, ptr %t7032 store i32 %t7038, ptr %t7031 br label %put1509 put1509: %t7045 = load ptr, ptr %t7032 %t7046 = getelementptr inbounds ptr, ptr %t7045, i32 %t7033 store ptr @.str8080, ptr %t7046 %t7047 = add i32 %t7033, 1 store i32 %t7047, ptr %t7030 %t7048 = load ptr, ptr %t410 %t7049 = getelementptr inbounds %LSlice, ptr %t7048, i32 0, i32 1 %t7050 = getelementptr inbounds %LSlice, ptr %t7048, i32 0, i32 2 %t7051 = getelementptr inbounds %LSlice, ptr %t7048, i32 0, i32 0 %t7052 = load i32, ptr %t7049 %t7053 = load i32, ptr %t7050 %t7054 = icmp sge i32 %t7052, %t7053 br i1 %t7054, label %grow1510, label %put1511 grow1510: %t7055 = mul i32 %t7053, 2 %t7056 = icmp eq i32 %t7053, 0 %t7057 = select i1 %t7056, i32 8, i32 %t7055 %t7058 = getelementptr ptr, ptr null, i32 1 %t7059 = ptrtoint ptr %t7058 to i64 %t7060 = zext i32 %t7057 to i64 %t7061 = mul i64 %t7060, %t7059 %t7062 = load ptr, ptr %t7051 %t7063 = call ptr @realloc(ptr %t7062, i64 %t7061) store ptr %t7063, ptr %t7051 store i32 %t7057, ptr %t7050 br label %put1511 put1511: %t7064 = load ptr, ptr %t7051 %t7065 = getelementptr inbounds ptr, ptr %t7064, i32 %t7052 store ptr @.str8081, ptr %t7065 %t7066 = add i32 %t7052, 1 store i32 %t7066, ptr %t7049 %t7067 = load ptr, ptr %t410 %t7068 = getelementptr inbounds %LSlice, ptr %t7067, i32 0, i32 1 %t7069 = getelementptr inbounds %LSlice, ptr %t7067, i32 0, i32 2 %t7070 = getelementptr inbounds %LSlice, ptr %t7067, i32 0, i32 0 %t7071 = load i32, ptr %t7068 %t7072 = load i32, ptr %t7069 %t7073 = icmp sge i32 %t7071, %t7072 br i1 %t7073, label %grow1512, label %put1513 grow1512: %t7074 = mul i32 %t7072, 2 %t7075 = icmp eq i32 %t7072, 0 %t7076 = select i1 %t7075, i32 8, i32 %t7074 %t7077 = getelementptr ptr, ptr null, i32 1 %t7078 = ptrtoint ptr %t7077 to i64 %t7079 = zext i32 %t7076 to i64 %t7080 = mul i64 %t7079, %t7078 %t7081 = load ptr, ptr %t7070 %t7082 = call ptr @realloc(ptr %t7081, i64 %t7080) store ptr %t7082, ptr %t7070 store i32 %t7076, ptr %t7069 br label %put1513 put1513: %t7083 = load ptr, ptr %t7070 %t7084 = getelementptr inbounds ptr, ptr %t7083, i32 %t7071 store ptr @.str8082, ptr %t7084 %t7085 = add i32 %t7071, 1 store i32 %t7085, ptr %t7068 br label %ifend1507 ifend1507: %t7086 = load ptr, ptr %t1 %t7087 = call i32 @lp_str_eq(ptr %t7086, ptr @.str8083) %t7088 = icmp ne i32 %t7087, 0 br i1 %t7088, label %then1514, label %ifend1516 then1514: store ptr @.str8084, ptr %t403 %t7089 = load ptr, ptr %t410 %t7090 = getelementptr inbounds %LSlice, ptr %t7089, i32 0, i32 1 %t7091 = getelementptr inbounds %LSlice, ptr %t7089, i32 0, i32 2 %t7092 = getelementptr inbounds %LSlice, ptr %t7089, i32 0, i32 0 %t7093 = load i32, ptr %t7090 %t7094 = load i32, ptr %t7091 %t7095 = icmp sge i32 %t7093, %t7094 br i1 %t7095, label %grow1517, label %put1518 grow1517: %t7096 = mul i32 %t7094, 2 %t7097 = icmp eq i32 %t7094, 0 %t7098 = select i1 %t7097, i32 8, i32 %t7096 %t7099 = getelementptr ptr, ptr null, i32 1 %t7100 = ptrtoint ptr %t7099 to i64 %t7101 = zext i32 %t7098 to i64 %t7102 = mul i64 %t7101, %t7100 %t7103 = load ptr, ptr %t7092 %t7104 = call ptr @realloc(ptr %t7103, i64 %t7102) store ptr %t7104, ptr %t7092 store i32 %t7098, ptr %t7091 br label %put1518 put1518: %t7105 = load ptr, ptr %t7092 %t7106 = getelementptr inbounds ptr, ptr %t7105, i32 %t7093 store ptr @.str8085, ptr %t7106 %t7107 = add i32 %t7093, 1 store i32 %t7107, ptr %t7090 %t7108 = load ptr, ptr %t410 %t7109 = getelementptr inbounds %LSlice, ptr %t7108, i32 0, i32 1 %t7110 = getelementptr inbounds %LSlice, ptr %t7108, i32 0, i32 2 %t7111 = getelementptr inbounds %LSlice, ptr %t7108, i32 0, i32 0 %t7112 = load i32, ptr %t7109 %t7113 = load i32, ptr %t7110 %t7114 = icmp sge i32 %t7112, %t7113 br i1 %t7114, label %grow1519, label %put1520 grow1519: %t7115 = mul i32 %t7113, 2 %t7116 = icmp eq i32 %t7113, 0 %t7117 = select i1 %t7116, i32 8, i32 %t7115 %t7118 = getelementptr ptr, ptr null, i32 1 %t7119 = ptrtoint ptr %t7118 to i64 %t7120 = zext i32 %t7117 to i64 %t7121 = mul i64 %t7120, %t7119 %t7122 = load ptr, ptr %t7111 %t7123 = call ptr @realloc(ptr %t7122, i64 %t7121) store ptr %t7123, ptr %t7111 store i32 %t7117, ptr %t7110 br label %put1520 put1520: %t7124 = load ptr, ptr %t7111 %t7125 = getelementptr inbounds ptr, ptr %t7124, i32 %t7112 store ptr @.str8086, ptr %t7125 %t7126 = add i32 %t7112, 1 store i32 %t7126, ptr %t7109 %t7127 = load ptr, ptr %t410 %t7128 = getelementptr inbounds %LSlice, ptr %t7127, i32 0, i32 1 %t7129 = getelementptr inbounds %LSlice, ptr %t7127, i32 0, i32 2 %t7130 = getelementptr inbounds %LSlice, ptr %t7127, i32 0, i32 0 %t7131 = load i32, ptr %t7128 %t7132 = load i32, ptr %t7129 %t7133 = icmp sge i32 %t7131, %t7132 br i1 %t7133, label %grow1521, label %put1522 grow1521: %t7134 = mul i32 %t7132, 2 %t7135 = icmp eq i32 %t7132, 0 %t7136 = select i1 %t7135, i32 8, i32 %t7134 %t7137 = getelementptr ptr, ptr null, i32 1 %t7138 = ptrtoint ptr %t7137 to i64 %t7139 = zext i32 %t7136 to i64 %t7140 = mul i64 %t7139, %t7138 %t7141 = load ptr, ptr %t7130 %t7142 = call ptr @realloc(ptr %t7141, i64 %t7140) store ptr %t7142, ptr %t7130 store i32 %t7136, ptr %t7129 br label %put1522 put1522: %t7143 = load ptr, ptr %t7130 %t7144 = getelementptr inbounds ptr, ptr %t7143, i32 %t7131 store ptr @.str8087, ptr %t7144 %t7145 = add i32 %t7131, 1 store i32 %t7145, ptr %t7128 br label %ifend1516 ifend1516: %t7146 = load ptr, ptr %t1 %t7147 = call i32 @lp_str_eq(ptr %t7146, ptr @.str8088) %t7148 = icmp ne i32 %t7147, 0 br i1 %t7148, label %then1523, label %ifend1525 then1523: store ptr @.str8089, ptr %t403 %t7149 = load ptr, ptr %t410 %t7150 = getelementptr inbounds %LSlice, ptr %t7149, i32 0, i32 1 %t7151 = getelementptr inbounds %LSlice, ptr %t7149, i32 0, i32 2 %t7152 = getelementptr inbounds %LSlice, ptr %t7149, i32 0, i32 0 %t7153 = load i32, ptr %t7150 %t7154 = load i32, ptr %t7151 %t7155 = icmp sge i32 %t7153, %t7154 br i1 %t7155, label %grow1526, label %put1527 grow1526: %t7156 = mul i32 %t7154, 2 %t7157 = icmp eq i32 %t7154, 0 %t7158 = select i1 %t7157, i32 8, i32 %t7156 %t7159 = getelementptr ptr, ptr null, i32 1 %t7160 = ptrtoint ptr %t7159 to i64 %t7161 = zext i32 %t7158 to i64 %t7162 = mul i64 %t7161, %t7160 %t7163 = load ptr, ptr %t7152 %t7164 = call ptr @realloc(ptr %t7163, i64 %t7162) store ptr %t7164, ptr %t7152 store i32 %t7158, ptr %t7151 br label %put1527 put1527: %t7165 = load ptr, ptr %t7152 %t7166 = getelementptr inbounds ptr, ptr %t7165, i32 %t7153 store ptr @.str8090, ptr %t7166 %t7167 = add i32 %t7153, 1 store i32 %t7167, ptr %t7150 %t7168 = load ptr, ptr %t410 %t7169 = getelementptr inbounds %LSlice, ptr %t7168, i32 0, i32 1 %t7170 = getelementptr inbounds %LSlice, ptr %t7168, i32 0, i32 2 %t7171 = getelementptr inbounds %LSlice, ptr %t7168, i32 0, i32 0 %t7172 = load i32, ptr %t7169 %t7173 = load i32, ptr %t7170 %t7174 = icmp sge i32 %t7172, %t7173 br i1 %t7174, label %grow1528, label %put1529 grow1528: %t7175 = mul i32 %t7173, 2 %t7176 = icmp eq i32 %t7173, 0 %t7177 = select i1 %t7176, i32 8, i32 %t7175 %t7178 = getelementptr ptr, ptr null, i32 1 %t7179 = ptrtoint ptr %t7178 to i64 %t7180 = zext i32 %t7177 to i64 %t7181 = mul i64 %t7180, %t7179 %t7182 = load ptr, ptr %t7171 %t7183 = call ptr @realloc(ptr %t7182, i64 %t7181) store ptr %t7183, ptr %t7171 store i32 %t7177, ptr %t7170 br label %put1529 put1529: %t7184 = load ptr, ptr %t7171 %t7185 = getelementptr inbounds ptr, ptr %t7184, i32 %t7172 store ptr @.str8091, ptr %t7185 %t7186 = add i32 %t7172, 1 store i32 %t7186, ptr %t7169 br label %ifend1525 ifend1525: %t7187 = load ptr, ptr %t1 %t7188 = call i32 @lp_str_eq(ptr %t7187, ptr @.str8092) %t7189 = icmp ne i32 %t7188, 0 br i1 %t7189, label %then1530, label %ifend1532 then1530: store ptr @.str8093, ptr %t403 %t7190 = load ptr, ptr %t410 %t7191 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 1 %t7192 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 2 %t7193 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 0 %t7194 = load i32, ptr %t7191 %t7195 = load i32, ptr %t7192 %t7196 = icmp sge i32 %t7194, %t7195 br i1 %t7196, label %grow1533, label %put1534 grow1533: %t7197 = mul i32 %t7195, 2 %t7198 = icmp eq i32 %t7195, 0 %t7199 = select i1 %t7198, i32 8, i32 %t7197 %t7200 = getelementptr ptr, ptr null, i32 1 %t7201 = ptrtoint ptr %t7200 to i64 %t7202 = zext i32 %t7199 to i64 %t7203 = mul i64 %t7202, %t7201 %t7204 = load ptr, ptr %t7193 %t7205 = call ptr @realloc(ptr %t7204, i64 %t7203) store ptr %t7205, ptr %t7193 store i32 %t7199, ptr %t7192 br label %put1534 put1534: %t7206 = load ptr, ptr %t7193 %t7207 = getelementptr inbounds ptr, ptr %t7206, i32 %t7194 store ptr @.str8094, ptr %t7207 %t7208 = add i32 %t7194, 1 store i32 %t7208, ptr %t7191 br label %ifend1532 ifend1532: %t7209 = load ptr, ptr %t1 %t7210 = call i32 @lp_str_eq(ptr %t7209, ptr @.str8095) %t7211 = icmp ne i32 %t7210, 0 br i1 %t7211, label %then1535, label %ifend1537 then1535: store ptr @.str8096, ptr %t403 %t7212 = load ptr, ptr %t410 %t7213 = getelementptr inbounds %LSlice, ptr %t7212, i32 0, i32 1 %t7214 = getelementptr inbounds %LSlice, ptr %t7212, i32 0, i32 2 %t7215 = getelementptr inbounds %LSlice, ptr %t7212, i32 0, i32 0 %t7216 = load i32, ptr %t7213 %t7217 = load i32, ptr %t7214 %t7218 = icmp sge i32 %t7216, %t7217 br i1 %t7218, label %grow1538, label %put1539 grow1538: %t7219 = mul i32 %t7217, 2 %t7220 = icmp eq i32 %t7217, 0 %t7221 = select i1 %t7220, i32 8, i32 %t7219 %t7222 = getelementptr ptr, ptr null, i32 1 %t7223 = ptrtoint ptr %t7222 to i64 %t7224 = zext i32 %t7221 to i64 %t7225 = mul i64 %t7224, %t7223 %t7226 = load ptr, ptr %t7215 %t7227 = call ptr @realloc(ptr %t7226, i64 %t7225) store ptr %t7227, ptr %t7215 store i32 %t7221, ptr %t7214 br label %put1539 put1539: %t7228 = load ptr, ptr %t7215 %t7229 = getelementptr inbounds ptr, ptr %t7228, i32 %t7216 store ptr @.str8097, ptr %t7229 %t7230 = add i32 %t7216, 1 store i32 %t7230, ptr %t7213 %t7231 = load ptr, ptr %t410 %t7232 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 1 %t7233 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 2 %t7234 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 0 %t7235 = load i32, ptr %t7232 %t7236 = load i32, ptr %t7233 %t7237 = icmp sge i32 %t7235, %t7236 br i1 %t7237, label %grow1540, label %put1541 grow1540: %t7238 = mul i32 %t7236, 2 %t7239 = icmp eq i32 %t7236, 0 %t7240 = select i1 %t7239, i32 8, i32 %t7238 %t7241 = getelementptr ptr, ptr null, i32 1 %t7242 = ptrtoint ptr %t7241 to i64 %t7243 = zext i32 %t7240 to i64 %t7244 = mul i64 %t7243, %t7242 %t7245 = load ptr, ptr %t7234 %t7246 = call ptr @realloc(ptr %t7245, i64 %t7244) store ptr %t7246, ptr %t7234 store i32 %t7240, ptr %t7233 br label %put1541 put1541: %t7247 = load ptr, ptr %t7234 %t7248 = getelementptr inbounds ptr, ptr %t7247, i32 %t7235 store ptr @.str8098, ptr %t7248 %t7249 = add i32 %t7235, 1 store i32 %t7249, ptr %t7232 br label %ifend1537 ifend1537: %t7250 = load ptr, ptr %t1 %t7251 = call i32 @lp_str_eq(ptr %t7250, ptr @.str8099) %t7252 = icmp ne i32 %t7251, 0 br i1 %t7252, label %then1542, label %ifend1544 then1542: store ptr @.str8100, ptr %t403 %t7253 = load ptr, ptr %t410 %t7254 = getelementptr inbounds %LSlice, ptr %t7253, i32 0, i32 1 %t7255 = getelementptr inbounds %LSlice, ptr %t7253, i32 0, i32 2 %t7256 = getelementptr inbounds %LSlice, ptr %t7253, i32 0, i32 0 %t7257 = load i32, ptr %t7254 %t7258 = load i32, ptr %t7255 %t7259 = icmp sge i32 %t7257, %t7258 br i1 %t7259, label %grow1545, label %put1546 grow1545: %t7260 = mul i32 %t7258, 2 %t7261 = icmp eq i32 %t7258, 0 %t7262 = select i1 %t7261, i32 8, i32 %t7260 %t7263 = getelementptr ptr, ptr null, i32 1 %t7264 = ptrtoint ptr %t7263 to i64 %t7265 = zext i32 %t7262 to i64 %t7266 = mul i64 %t7265, %t7264 %t7267 = load ptr, ptr %t7256 %t7268 = call ptr @realloc(ptr %t7267, i64 %t7266) store ptr %t7268, ptr %t7256 store i32 %t7262, ptr %t7255 br label %put1546 put1546: %t7269 = load ptr, ptr %t7256 %t7270 = getelementptr inbounds ptr, ptr %t7269, i32 %t7257 store ptr @.str8101, ptr %t7270 %t7271 = add i32 %t7257, 1 store i32 %t7271, ptr %t7254 %t7272 = load ptr, ptr %t410 %t7273 = getelementptr inbounds %LSlice, ptr %t7272, i32 0, i32 1 %t7274 = getelementptr inbounds %LSlice, ptr %t7272, i32 0, i32 2 %t7275 = getelementptr inbounds %LSlice, ptr %t7272, i32 0, i32 0 %t7276 = load i32, ptr %t7273 %t7277 = load i32, ptr %t7274 %t7278 = icmp sge i32 %t7276, %t7277 br i1 %t7278, label %grow1547, label %put1548 grow1547: %t7279 = mul i32 %t7277, 2 %t7280 = icmp eq i32 %t7277, 0 %t7281 = select i1 %t7280, i32 8, i32 %t7279 %t7282 = getelementptr ptr, ptr null, i32 1 %t7283 = ptrtoint ptr %t7282 to i64 %t7284 = zext i32 %t7281 to i64 %t7285 = mul i64 %t7284, %t7283 %t7286 = load ptr, ptr %t7275 %t7287 = call ptr @realloc(ptr %t7286, i64 %t7285) store ptr %t7287, ptr %t7275 store i32 %t7281, ptr %t7274 br label %put1548 put1548: %t7288 = load ptr, ptr %t7275 %t7289 = getelementptr inbounds ptr, ptr %t7288, i32 %t7276 store ptr @.str8102, ptr %t7289 %t7290 = add i32 %t7276, 1 store i32 %t7290, ptr %t7273 br label %ifend1544 ifend1544: %t7291 = load ptr, ptr %t1 %t7292 = call i32 @lp_str_eq(ptr %t7291, ptr @.str8103) %t7293 = icmp ne i32 %t7292, 0 br i1 %t7293, label %then1549, label %ifend1551 then1549: store ptr @.str8104, ptr %t403 %t7294 = load ptr, ptr %t410 %t7295 = getelementptr inbounds %LSlice, ptr %t7294, i32 0, i32 1 %t7296 = getelementptr inbounds %LSlice, ptr %t7294, i32 0, i32 2 %t7297 = getelementptr inbounds %LSlice, ptr %t7294, i32 0, i32 0 %t7298 = load i32, ptr %t7295 %t7299 = load i32, ptr %t7296 %t7300 = icmp sge i32 %t7298, %t7299 br i1 %t7300, label %grow1552, label %put1553 grow1552: %t7301 = mul i32 %t7299, 2 %t7302 = icmp eq i32 %t7299, 0 %t7303 = select i1 %t7302, i32 8, i32 %t7301 %t7304 = getelementptr ptr, ptr null, i32 1 %t7305 = ptrtoint ptr %t7304 to i64 %t7306 = zext i32 %t7303 to i64 %t7307 = mul i64 %t7306, %t7305 %t7308 = load ptr, ptr %t7297 %t7309 = call ptr @realloc(ptr %t7308, i64 %t7307) store ptr %t7309, ptr %t7297 store i32 %t7303, ptr %t7296 br label %put1553 put1553: %t7310 = load ptr, ptr %t7297 %t7311 = getelementptr inbounds ptr, ptr %t7310, i32 %t7298 store ptr @.str8105, ptr %t7311 %t7312 = add i32 %t7298, 1 store i32 %t7312, ptr %t7295 br label %ifend1551 ifend1551: br label %ifend1466 ifend1466: %t7313 = load ptr, ptr %t0 %t7314 = call i32 @lp_str_eq(ptr %t7313, ptr @.str8106) %t7315 = icmp ne i32 %t7314, 0 br i1 %t7315, label %then1554, label %ifend1556 then1554: %t7316 = load ptr, ptr %t1 %t7317 = call i32 @lp_str_eq(ptr %t7316, ptr @.str8107) %t7318 = icmp ne i32 %t7317, 0 br i1 %t7318, label %then1557, label %ifend1559 then1557: store ptr @.str8108, ptr %t403 %t7319 = load ptr, ptr %t410 %t7320 = getelementptr inbounds %LSlice, ptr %t7319, i32 0, i32 1 %t7321 = getelementptr inbounds %LSlice, ptr %t7319, i32 0, i32 2 %t7322 = getelementptr inbounds %LSlice, ptr %t7319, i32 0, i32 0 %t7323 = load i32, ptr %t7320 %t7324 = load i32, ptr %t7321 %t7325 = icmp sge i32 %t7323, %t7324 br i1 %t7325, label %grow1560, label %put1561 grow1560: %t7326 = mul i32 %t7324, 2 %t7327 = icmp eq i32 %t7324, 0 %t7328 = select i1 %t7327, i32 8, i32 %t7326 %t7329 = getelementptr ptr, ptr null, i32 1 %t7330 = ptrtoint ptr %t7329 to i64 %t7331 = zext i32 %t7328 to i64 %t7332 = mul i64 %t7331, %t7330 %t7333 = load ptr, ptr %t7322 %t7334 = call ptr @realloc(ptr %t7333, i64 %t7332) store ptr %t7334, ptr %t7322 store i32 %t7328, ptr %t7321 br label %put1561 put1561: %t7335 = load ptr, ptr %t7322 %t7336 = getelementptr inbounds ptr, ptr %t7335, i32 %t7323 store ptr @.str8109, ptr %t7336 %t7337 = add i32 %t7323, 1 store i32 %t7337, ptr %t7320 br label %ifend1559 ifend1559: %t7338 = load ptr, ptr %t1 %t7339 = call i32 @lp_str_eq(ptr %t7338, ptr @.str8110) %t7340 = icmp ne i32 %t7339, 0 br i1 %t7340, label %then1562, label %ifend1564 then1562: store ptr @.str8111, ptr %t403 %t7341 = load ptr, ptr %t410 %t7342 = getelementptr inbounds %LSlice, ptr %t7341, i32 0, i32 1 %t7343 = getelementptr inbounds %LSlice, ptr %t7341, i32 0, i32 2 %t7344 = getelementptr inbounds %LSlice, ptr %t7341, i32 0, i32 0 %t7345 = load i32, ptr %t7342 %t7346 = load i32, ptr %t7343 %t7347 = icmp sge i32 %t7345, %t7346 br i1 %t7347, label %grow1565, label %put1566 grow1565: %t7348 = mul i32 %t7346, 2 %t7349 = icmp eq i32 %t7346, 0 %t7350 = select i1 %t7349, i32 8, i32 %t7348 %t7351 = getelementptr ptr, ptr null, i32 1 %t7352 = ptrtoint ptr %t7351 to i64 %t7353 = zext i32 %t7350 to i64 %t7354 = mul i64 %t7353, %t7352 %t7355 = load ptr, ptr %t7344 %t7356 = call ptr @realloc(ptr %t7355, i64 %t7354) store ptr %t7356, ptr %t7344 store i32 %t7350, ptr %t7343 br label %put1566 put1566: %t7357 = load ptr, ptr %t7344 %t7358 = getelementptr inbounds ptr, ptr %t7357, i32 %t7345 store ptr @.str8112, ptr %t7358 %t7359 = add i32 %t7345, 1 store i32 %t7359, ptr %t7342 br label %ifend1564 ifend1564: %t7360 = load ptr, ptr %t1 %t7361 = call i32 @lp_str_eq(ptr %t7360, ptr @.str8113) %t7362 = icmp ne i32 %t7361, 0 br i1 %t7362, label %then1567, label %ifend1569 then1567: store ptr @.str8114, ptr %t403 %t7363 = load ptr, ptr %t410 %t7364 = getelementptr inbounds %LSlice, ptr %t7363, i32 0, i32 1 %t7365 = getelementptr inbounds %LSlice, ptr %t7363, i32 0, i32 2 %t7366 = getelementptr inbounds %LSlice, ptr %t7363, i32 0, i32 0 %t7367 = load i32, ptr %t7364 %t7368 = load i32, ptr %t7365 %t7369 = icmp sge i32 %t7367, %t7368 br i1 %t7369, label %grow1570, label %put1571 grow1570: %t7370 = mul i32 %t7368, 2 %t7371 = icmp eq i32 %t7368, 0 %t7372 = select i1 %t7371, i32 8, i32 %t7370 %t7373 = getelementptr ptr, ptr null, i32 1 %t7374 = ptrtoint ptr %t7373 to i64 %t7375 = zext i32 %t7372 to i64 %t7376 = mul i64 %t7375, %t7374 %t7377 = load ptr, ptr %t7366 %t7378 = call ptr @realloc(ptr %t7377, i64 %t7376) store ptr %t7378, ptr %t7366 store i32 %t7372, ptr %t7365 br label %put1571 put1571: %t7379 = load ptr, ptr %t7366 %t7380 = getelementptr inbounds ptr, ptr %t7379, i32 %t7367 store ptr @.str8115, ptr %t7380 %t7381 = add i32 %t7367, 1 store i32 %t7381, ptr %t7364 %t7382 = load ptr, ptr %t410 %t7383 = getelementptr inbounds %LSlice, ptr %t7382, i32 0, i32 1 %t7384 = getelementptr inbounds %LSlice, ptr %t7382, i32 0, i32 2 %t7385 = getelementptr inbounds %LSlice, ptr %t7382, i32 0, i32 0 %t7386 = load i32, ptr %t7383 %t7387 = load i32, ptr %t7384 %t7388 = icmp sge i32 %t7386, %t7387 br i1 %t7388, label %grow1572, label %put1573 grow1572: %t7389 = mul i32 %t7387, 2 %t7390 = icmp eq i32 %t7387, 0 %t7391 = select i1 %t7390, i32 8, i32 %t7389 %t7392 = getelementptr ptr, ptr null, i32 1 %t7393 = ptrtoint ptr %t7392 to i64 %t7394 = zext i32 %t7391 to i64 %t7395 = mul i64 %t7394, %t7393 %t7396 = load ptr, ptr %t7385 %t7397 = call ptr @realloc(ptr %t7396, i64 %t7395) store ptr %t7397, ptr %t7385 store i32 %t7391, ptr %t7384 br label %put1573 put1573: %t7398 = load ptr, ptr %t7385 %t7399 = getelementptr inbounds ptr, ptr %t7398, i32 %t7386 store ptr @.str8116, ptr %t7399 %t7400 = add i32 %t7386, 1 store i32 %t7400, ptr %t7383 br label %ifend1569 ifend1569: %t7401 = load ptr, ptr %t1 %t7402 = call i32 @lp_str_eq(ptr %t7401, ptr @.str8117) %t7403 = icmp ne i32 %t7402, 0 br i1 %t7403, label %then1574, label %ifend1576 then1574: store ptr @.str8118, ptr %t403 %t7404 = load ptr, ptr %t410 %t7405 = getelementptr inbounds %LSlice, ptr %t7404, i32 0, i32 1 %t7406 = getelementptr inbounds %LSlice, ptr %t7404, i32 0, i32 2 %t7407 = getelementptr inbounds %LSlice, ptr %t7404, i32 0, i32 0 %t7408 = load i32, ptr %t7405 %t7409 = load i32, ptr %t7406 %t7410 = icmp sge i32 %t7408, %t7409 br i1 %t7410, label %grow1577, label %put1578 grow1577: %t7411 = mul i32 %t7409, 2 %t7412 = icmp eq i32 %t7409, 0 %t7413 = select i1 %t7412, i32 8, i32 %t7411 %t7414 = getelementptr ptr, ptr null, i32 1 %t7415 = ptrtoint ptr %t7414 to i64 %t7416 = zext i32 %t7413 to i64 %t7417 = mul i64 %t7416, %t7415 %t7418 = load ptr, ptr %t7407 %t7419 = call ptr @realloc(ptr %t7418, i64 %t7417) store ptr %t7419, ptr %t7407 store i32 %t7413, ptr %t7406 br label %put1578 put1578: %t7420 = load ptr, ptr %t7407 %t7421 = getelementptr inbounds ptr, ptr %t7420, i32 %t7408 store ptr @.str8119, ptr %t7421 %t7422 = add i32 %t7408, 1 store i32 %t7422, ptr %t7405 %t7423 = load ptr, ptr %t410 %t7424 = getelementptr inbounds %LSlice, ptr %t7423, i32 0, i32 1 %t7425 = getelementptr inbounds %LSlice, ptr %t7423, i32 0, i32 2 %t7426 = getelementptr inbounds %LSlice, ptr %t7423, i32 0, i32 0 %t7427 = load i32, ptr %t7424 %t7428 = load i32, ptr %t7425 %t7429 = icmp sge i32 %t7427, %t7428 br i1 %t7429, label %grow1579, label %put1580 grow1579: %t7430 = mul i32 %t7428, 2 %t7431 = icmp eq i32 %t7428, 0 %t7432 = select i1 %t7431, i32 8, i32 %t7430 %t7433 = getelementptr ptr, ptr null, i32 1 %t7434 = ptrtoint ptr %t7433 to i64 %t7435 = zext i32 %t7432 to i64 %t7436 = mul i64 %t7435, %t7434 %t7437 = load ptr, ptr %t7426 %t7438 = call ptr @realloc(ptr %t7437, i64 %t7436) store ptr %t7438, ptr %t7426 store i32 %t7432, ptr %t7425 br label %put1580 put1580: %t7439 = load ptr, ptr %t7426 %t7440 = getelementptr inbounds ptr, ptr %t7439, i32 %t7427 store ptr @.str8120, ptr %t7440 %t7441 = add i32 %t7427, 1 store i32 %t7441, ptr %t7424 br label %ifend1576 ifend1576: %t7442 = load ptr, ptr %t1 %t7443 = call i32 @lp_str_eq(ptr %t7442, ptr @.str8121) %t7444 = icmp ne i32 %t7443, 0 br i1 %t7444, label %then1581, label %ifend1583 then1581: store ptr @.str8122, ptr %t403 %t7445 = load ptr, ptr %t410 %t7446 = getelementptr inbounds %LSlice, ptr %t7445, i32 0, i32 1 %t7447 = getelementptr inbounds %LSlice, ptr %t7445, i32 0, i32 2 %t7448 = getelementptr inbounds %LSlice, ptr %t7445, i32 0, i32 0 %t7449 = load i32, ptr %t7446 %t7450 = load i32, ptr %t7447 %t7451 = icmp sge i32 %t7449, %t7450 br i1 %t7451, label %grow1584, label %put1585 grow1584: %t7452 = mul i32 %t7450, 2 %t7453 = icmp eq i32 %t7450, 0 %t7454 = select i1 %t7453, i32 8, i32 %t7452 %t7455 = getelementptr ptr, ptr null, i32 1 %t7456 = ptrtoint ptr %t7455 to i64 %t7457 = zext i32 %t7454 to i64 %t7458 = mul i64 %t7457, %t7456 %t7459 = load ptr, ptr %t7448 %t7460 = call ptr @realloc(ptr %t7459, i64 %t7458) store ptr %t7460, ptr %t7448 store i32 %t7454, ptr %t7447 br label %put1585 put1585: %t7461 = load ptr, ptr %t7448 %t7462 = getelementptr inbounds ptr, ptr %t7461, i32 %t7449 store ptr @.str8123, ptr %t7462 %t7463 = add i32 %t7449, 1 store i32 %t7463, ptr %t7446 %t7464 = load ptr, ptr %t410 %t7465 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 1 %t7466 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 2 %t7467 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 0 %t7468 = load i32, ptr %t7465 %t7469 = load i32, ptr %t7466 %t7470 = icmp sge i32 %t7468, %t7469 br i1 %t7470, label %grow1586, label %put1587 grow1586: %t7471 = mul i32 %t7469, 2 %t7472 = icmp eq i32 %t7469, 0 %t7473 = select i1 %t7472, i32 8, i32 %t7471 %t7474 = getelementptr ptr, ptr null, i32 1 %t7475 = ptrtoint ptr %t7474 to i64 %t7476 = zext i32 %t7473 to i64 %t7477 = mul i64 %t7476, %t7475 %t7478 = load ptr, ptr %t7467 %t7479 = call ptr @realloc(ptr %t7478, i64 %t7477) store ptr %t7479, ptr %t7467 store i32 %t7473, ptr %t7466 br label %put1587 put1587: %t7480 = load ptr, ptr %t7467 %t7481 = getelementptr inbounds ptr, ptr %t7480, i32 %t7468 store ptr @.str8124, ptr %t7481 %t7482 = add i32 %t7468, 1 store i32 %t7482, ptr %t7465 br label %ifend1583 ifend1583: %t7483 = load ptr, ptr %t1 %t7484 = call i32 @lp_str_eq(ptr %t7483, ptr @.str8125) %t7485 = icmp ne i32 %t7484, 0 br i1 %t7485, label %then1588, label %ifend1590 then1588: store ptr @.str8126, ptr %t403 %t7486 = load ptr, ptr %t410 %t7487 = getelementptr inbounds %LSlice, ptr %t7486, i32 0, i32 1 %t7488 = getelementptr inbounds %LSlice, ptr %t7486, i32 0, i32 2 %t7489 = getelementptr inbounds %LSlice, ptr %t7486, i32 0, i32 0 %t7490 = load i32, ptr %t7487 %t7491 = load i32, ptr %t7488 %t7492 = icmp sge i32 %t7490, %t7491 br i1 %t7492, label %grow1591, label %put1592 grow1591: %t7493 = mul i32 %t7491, 2 %t7494 = icmp eq i32 %t7491, 0 %t7495 = select i1 %t7494, i32 8, i32 %t7493 %t7496 = getelementptr ptr, ptr null, i32 1 %t7497 = ptrtoint ptr %t7496 to i64 %t7498 = zext i32 %t7495 to i64 %t7499 = mul i64 %t7498, %t7497 %t7500 = load ptr, ptr %t7489 %t7501 = call ptr @realloc(ptr %t7500, i64 %t7499) store ptr %t7501, ptr %t7489 store i32 %t7495, ptr %t7488 br label %put1592 put1592: %t7502 = load ptr, ptr %t7489 %t7503 = getelementptr inbounds ptr, ptr %t7502, i32 %t7490 store ptr @.str8127, ptr %t7503 %t7504 = add i32 %t7490, 1 store i32 %t7504, ptr %t7487 br label %ifend1590 ifend1590: %t7505 = load ptr, ptr %t1 %t7506 = call i32 @lp_str_eq(ptr %t7505, ptr @.str8128) %t7507 = icmp ne i32 %t7506, 0 br i1 %t7507, label %then1593, label %ifend1595 then1593: store ptr @.str8129, ptr %t403 %t7508 = load ptr, ptr %t410 %t7509 = getelementptr inbounds %LSlice, ptr %t7508, i32 0, i32 1 %t7510 = getelementptr inbounds %LSlice, ptr %t7508, i32 0, i32 2 %t7511 = getelementptr inbounds %LSlice, ptr %t7508, i32 0, i32 0 %t7512 = load i32, ptr %t7509 %t7513 = load i32, ptr %t7510 %t7514 = icmp sge i32 %t7512, %t7513 br i1 %t7514, label %grow1596, label %put1597 grow1596: %t7515 = mul i32 %t7513, 2 %t7516 = icmp eq i32 %t7513, 0 %t7517 = select i1 %t7516, i32 8, i32 %t7515 %t7518 = getelementptr ptr, ptr null, i32 1 %t7519 = ptrtoint ptr %t7518 to i64 %t7520 = zext i32 %t7517 to i64 %t7521 = mul i64 %t7520, %t7519 %t7522 = load ptr, ptr %t7511 %t7523 = call ptr @realloc(ptr %t7522, i64 %t7521) store ptr %t7523, ptr %t7511 store i32 %t7517, ptr %t7510 br label %put1597 put1597: %t7524 = load ptr, ptr %t7511 %t7525 = getelementptr inbounds ptr, ptr %t7524, i32 %t7512 store ptr @.str8130, ptr %t7525 %t7526 = add i32 %t7512, 1 store i32 %t7526, ptr %t7509 %t7527 = load ptr, ptr %t410 %t7528 = getelementptr inbounds %LSlice, ptr %t7527, i32 0, i32 1 %t7529 = getelementptr inbounds %LSlice, ptr %t7527, i32 0, i32 2 %t7530 = getelementptr inbounds %LSlice, ptr %t7527, i32 0, i32 0 %t7531 = load i32, ptr %t7528 %t7532 = load i32, ptr %t7529 %t7533 = icmp sge i32 %t7531, %t7532 br i1 %t7533, label %grow1598, label %put1599 grow1598: %t7534 = mul i32 %t7532, 2 %t7535 = icmp eq i32 %t7532, 0 %t7536 = select i1 %t7535, i32 8, i32 %t7534 %t7537 = getelementptr ptr, ptr null, i32 1 %t7538 = ptrtoint ptr %t7537 to i64 %t7539 = zext i32 %t7536 to i64 %t7540 = mul i64 %t7539, %t7538 %t7541 = load ptr, ptr %t7530 %t7542 = call ptr @realloc(ptr %t7541, i64 %t7540) store ptr %t7542, ptr %t7530 store i32 %t7536, ptr %t7529 br label %put1599 put1599: %t7543 = load ptr, ptr %t7530 %t7544 = getelementptr inbounds ptr, ptr %t7543, i32 %t7531 store ptr @.str8131, ptr %t7544 %t7545 = add i32 %t7531, 1 store i32 %t7545, ptr %t7528 br label %ifend1595 ifend1595: %t7546 = load ptr, ptr %t1 %t7547 = call i32 @lp_str_eq(ptr %t7546, ptr @.str8132) %t7548 = icmp ne i32 %t7547, 0 br i1 %t7548, label %then1600, label %ifend1602 then1600: store ptr @.str8133, ptr %t403 %t7549 = load ptr, ptr %t410 %t7550 = getelementptr inbounds %LSlice, ptr %t7549, i32 0, i32 1 %t7551 = getelementptr inbounds %LSlice, ptr %t7549, i32 0, i32 2 %t7552 = getelementptr inbounds %LSlice, ptr %t7549, i32 0, i32 0 %t7553 = load i32, ptr %t7550 %t7554 = load i32, ptr %t7551 %t7555 = icmp sge i32 %t7553, %t7554 br i1 %t7555, label %grow1603, label %put1604 grow1603: %t7556 = mul i32 %t7554, 2 %t7557 = icmp eq i32 %t7554, 0 %t7558 = select i1 %t7557, i32 8, i32 %t7556 %t7559 = getelementptr ptr, ptr null, i32 1 %t7560 = ptrtoint ptr %t7559 to i64 %t7561 = zext i32 %t7558 to i64 %t7562 = mul i64 %t7561, %t7560 %t7563 = load ptr, ptr %t7552 %t7564 = call ptr @realloc(ptr %t7563, i64 %t7562) store ptr %t7564, ptr %t7552 store i32 %t7558, ptr %t7551 br label %put1604 put1604: %t7565 = load ptr, ptr %t7552 %t7566 = getelementptr inbounds ptr, ptr %t7565, i32 %t7553 store ptr @.str8134, ptr %t7566 %t7567 = add i32 %t7553, 1 store i32 %t7567, ptr %t7550 %t7568 = load ptr, ptr %t410 %t7569 = getelementptr inbounds %LSlice, ptr %t7568, i32 0, i32 1 %t7570 = getelementptr inbounds %LSlice, ptr %t7568, i32 0, i32 2 %t7571 = getelementptr inbounds %LSlice, ptr %t7568, i32 0, i32 0 %t7572 = load i32, ptr %t7569 %t7573 = load i32, ptr %t7570 %t7574 = icmp sge i32 %t7572, %t7573 br i1 %t7574, label %grow1605, label %put1606 grow1605: %t7575 = mul i32 %t7573, 2 %t7576 = icmp eq i32 %t7573, 0 %t7577 = select i1 %t7576, i32 8, i32 %t7575 %t7578 = getelementptr ptr, ptr null, i32 1 %t7579 = ptrtoint ptr %t7578 to i64 %t7580 = zext i32 %t7577 to i64 %t7581 = mul i64 %t7580, %t7579 %t7582 = load ptr, ptr %t7571 %t7583 = call ptr @realloc(ptr %t7582, i64 %t7581) store ptr %t7583, ptr %t7571 store i32 %t7577, ptr %t7570 br label %put1606 put1606: %t7584 = load ptr, ptr %t7571 %t7585 = getelementptr inbounds ptr, ptr %t7584, i32 %t7572 store ptr @.str8135, ptr %t7585 %t7586 = add i32 %t7572, 1 store i32 %t7586, ptr %t7569 br label %ifend1602 ifend1602: %t7587 = load ptr, ptr %t1 %t7588 = call i32 @lp_str_eq(ptr %t7587, ptr @.str8136) %t7589 = icmp ne i32 %t7588, 0 br i1 %t7589, label %then1607, label %ifend1609 then1607: store ptr @.str8137, ptr %t403 %t7590 = load ptr, ptr %t410 %t7591 = getelementptr inbounds %LSlice, ptr %t7590, i32 0, i32 1 %t7592 = getelementptr inbounds %LSlice, ptr %t7590, i32 0, i32 2 %t7593 = getelementptr inbounds %LSlice, ptr %t7590, i32 0, i32 0 %t7594 = load i32, ptr %t7591 %t7595 = load i32, ptr %t7592 %t7596 = icmp sge i32 %t7594, %t7595 br i1 %t7596, label %grow1610, label %put1611 grow1610: %t7597 = mul i32 %t7595, 2 %t7598 = icmp eq i32 %t7595, 0 %t7599 = select i1 %t7598, i32 8, i32 %t7597 %t7600 = getelementptr ptr, ptr null, i32 1 %t7601 = ptrtoint ptr %t7600 to i64 %t7602 = zext i32 %t7599 to i64 %t7603 = mul i64 %t7602, %t7601 %t7604 = load ptr, ptr %t7593 %t7605 = call ptr @realloc(ptr %t7604, i64 %t7603) store ptr %t7605, ptr %t7593 store i32 %t7599, ptr %t7592 br label %put1611 put1611: %t7606 = load ptr, ptr %t7593 %t7607 = getelementptr inbounds ptr, ptr %t7606, i32 %t7594 store ptr @.str8138, ptr %t7607 %t7608 = add i32 %t7594, 1 store i32 %t7608, ptr %t7591 %t7609 = load ptr, ptr %t410 %t7610 = getelementptr inbounds %LSlice, ptr %t7609, i32 0, i32 1 %t7611 = getelementptr inbounds %LSlice, ptr %t7609, i32 0, i32 2 %t7612 = getelementptr inbounds %LSlice, ptr %t7609, i32 0, i32 0 %t7613 = load i32, ptr %t7610 %t7614 = load i32, ptr %t7611 %t7615 = icmp sge i32 %t7613, %t7614 br i1 %t7615, label %grow1612, label %put1613 grow1612: %t7616 = mul i32 %t7614, 2 %t7617 = icmp eq i32 %t7614, 0 %t7618 = select i1 %t7617, i32 8, i32 %t7616 %t7619 = getelementptr ptr, ptr null, i32 1 %t7620 = ptrtoint ptr %t7619 to i64 %t7621 = zext i32 %t7618 to i64 %t7622 = mul i64 %t7621, %t7620 %t7623 = load ptr, ptr %t7612 %t7624 = call ptr @realloc(ptr %t7623, i64 %t7622) store ptr %t7624, ptr %t7612 store i32 %t7618, ptr %t7611 br label %put1613 put1613: %t7625 = load ptr, ptr %t7612 %t7626 = getelementptr inbounds ptr, ptr %t7625, i32 %t7613 store ptr @.str8139, ptr %t7626 %t7627 = add i32 %t7613, 1 store i32 %t7627, ptr %t7610 br label %ifend1609 ifend1609: %t7628 = load ptr, ptr %t1 %t7629 = call i32 @lp_str_eq(ptr %t7628, ptr @.str8140) %t7630 = icmp ne i32 %t7629, 0 br i1 %t7630, label %then1614, label %ifend1616 then1614: store ptr @.str8141, ptr %t403 %t7631 = load ptr, ptr %t410 %t7632 = getelementptr inbounds %LSlice, ptr %t7631, i32 0, i32 1 %t7633 = getelementptr inbounds %LSlice, ptr %t7631, i32 0, i32 2 %t7634 = getelementptr inbounds %LSlice, ptr %t7631, i32 0, i32 0 %t7635 = load i32, ptr %t7632 %t7636 = load i32, ptr %t7633 %t7637 = icmp sge i32 %t7635, %t7636 br i1 %t7637, label %grow1617, label %put1618 grow1617: %t7638 = mul i32 %t7636, 2 %t7639 = icmp eq i32 %t7636, 0 %t7640 = select i1 %t7639, i32 8, i32 %t7638 %t7641 = getelementptr ptr, ptr null, i32 1 %t7642 = ptrtoint ptr %t7641 to i64 %t7643 = zext i32 %t7640 to i64 %t7644 = mul i64 %t7643, %t7642 %t7645 = load ptr, ptr %t7634 %t7646 = call ptr @realloc(ptr %t7645, i64 %t7644) store ptr %t7646, ptr %t7634 store i32 %t7640, ptr %t7633 br label %put1618 put1618: %t7647 = load ptr, ptr %t7634 %t7648 = getelementptr inbounds ptr, ptr %t7647, i32 %t7635 store ptr @.str8142, ptr %t7648 %t7649 = add i32 %t7635, 1 store i32 %t7649, ptr %t7632 %t7650 = load ptr, ptr %t410 %t7651 = getelementptr inbounds %LSlice, ptr %t7650, i32 0, i32 1 %t7652 = getelementptr inbounds %LSlice, ptr %t7650, i32 0, i32 2 %t7653 = getelementptr inbounds %LSlice, ptr %t7650, i32 0, i32 0 %t7654 = load i32, ptr %t7651 %t7655 = load i32, ptr %t7652 %t7656 = icmp sge i32 %t7654, %t7655 br i1 %t7656, label %grow1619, label %put1620 grow1619: %t7657 = mul i32 %t7655, 2 %t7658 = icmp eq i32 %t7655, 0 %t7659 = select i1 %t7658, i32 8, i32 %t7657 %t7660 = getelementptr ptr, ptr null, i32 1 %t7661 = ptrtoint ptr %t7660 to i64 %t7662 = zext i32 %t7659 to i64 %t7663 = mul i64 %t7662, %t7661 %t7664 = load ptr, ptr %t7653 %t7665 = call ptr @realloc(ptr %t7664, i64 %t7663) store ptr %t7665, ptr %t7653 store i32 %t7659, ptr %t7652 br label %put1620 put1620: %t7666 = load ptr, ptr %t7653 %t7667 = getelementptr inbounds ptr, ptr %t7666, i32 %t7654 store ptr @.str8143, ptr %t7667 %t7668 = add i32 %t7654, 1 store i32 %t7668, ptr %t7651 br label %ifend1616 ifend1616: %t7669 = load ptr, ptr %t1 %t7670 = call i32 @lp_str_eq(ptr %t7669, ptr @.str8144) %t7671 = icmp ne i32 %t7670, 0 br i1 %t7671, label %then1621, label %ifend1623 then1621: store ptr @.str8145, ptr %t403 %t7672 = load ptr, ptr %t410 %t7673 = getelementptr inbounds %LSlice, ptr %t7672, i32 0, i32 1 %t7674 = getelementptr inbounds %LSlice, ptr %t7672, i32 0, i32 2 %t7675 = getelementptr inbounds %LSlice, ptr %t7672, i32 0, i32 0 %t7676 = load i32, ptr %t7673 %t7677 = load i32, ptr %t7674 %t7678 = icmp sge i32 %t7676, %t7677 br i1 %t7678, label %grow1624, label %put1625 grow1624: %t7679 = mul i32 %t7677, 2 %t7680 = icmp eq i32 %t7677, 0 %t7681 = select i1 %t7680, i32 8, i32 %t7679 %t7682 = getelementptr ptr, ptr null, i32 1 %t7683 = ptrtoint ptr %t7682 to i64 %t7684 = zext i32 %t7681 to i64 %t7685 = mul i64 %t7684, %t7683 %t7686 = load ptr, ptr %t7675 %t7687 = call ptr @realloc(ptr %t7686, i64 %t7685) store ptr %t7687, ptr %t7675 store i32 %t7681, ptr %t7674 br label %put1625 put1625: %t7688 = load ptr, ptr %t7675 %t7689 = getelementptr inbounds ptr, ptr %t7688, i32 %t7676 store ptr @.str8146, ptr %t7689 %t7690 = add i32 %t7676, 1 store i32 %t7690, ptr %t7673 %t7691 = load ptr, ptr %t410 %t7692 = getelementptr inbounds %LSlice, ptr %t7691, i32 0, i32 1 %t7693 = getelementptr inbounds %LSlice, ptr %t7691, i32 0, i32 2 %t7694 = getelementptr inbounds %LSlice, ptr %t7691, i32 0, i32 0 %t7695 = load i32, ptr %t7692 %t7696 = load i32, ptr %t7693 %t7697 = icmp sge i32 %t7695, %t7696 br i1 %t7697, label %grow1626, label %put1627 grow1626: %t7698 = mul i32 %t7696, 2 %t7699 = icmp eq i32 %t7696, 0 %t7700 = select i1 %t7699, i32 8, i32 %t7698 %t7701 = getelementptr ptr, ptr null, i32 1 %t7702 = ptrtoint ptr %t7701 to i64 %t7703 = zext i32 %t7700 to i64 %t7704 = mul i64 %t7703, %t7702 %t7705 = load ptr, ptr %t7694 %t7706 = call ptr @realloc(ptr %t7705, i64 %t7704) store ptr %t7706, ptr %t7694 store i32 %t7700, ptr %t7693 br label %put1627 put1627: %t7707 = load ptr, ptr %t7694 %t7708 = getelementptr inbounds ptr, ptr %t7707, i32 %t7695 store ptr @.str8147, ptr %t7708 %t7709 = add i32 %t7695, 1 store i32 %t7709, ptr %t7692 br label %ifend1623 ifend1623: %t7710 = load ptr, ptr %t1 %t7711 = call i32 @lp_str_eq(ptr %t7710, ptr @.str8148) %t7712 = icmp ne i32 %t7711, 0 br i1 %t7712, label %then1628, label %ifend1630 then1628: store ptr @.str8149, ptr %t403 %t7713 = load ptr, ptr %t410 %t7714 = getelementptr inbounds %LSlice, ptr %t7713, i32 0, i32 1 %t7715 = getelementptr inbounds %LSlice, ptr %t7713, i32 0, i32 2 %t7716 = getelementptr inbounds %LSlice, ptr %t7713, i32 0, i32 0 %t7717 = load i32, ptr %t7714 %t7718 = load i32, ptr %t7715 %t7719 = icmp sge i32 %t7717, %t7718 br i1 %t7719, label %grow1631, label %put1632 grow1631: %t7720 = mul i32 %t7718, 2 %t7721 = icmp eq i32 %t7718, 0 %t7722 = select i1 %t7721, i32 8, i32 %t7720 %t7723 = getelementptr ptr, ptr null, i32 1 %t7724 = ptrtoint ptr %t7723 to i64 %t7725 = zext i32 %t7722 to i64 %t7726 = mul i64 %t7725, %t7724 %t7727 = load ptr, ptr %t7716 %t7728 = call ptr @realloc(ptr %t7727, i64 %t7726) store ptr %t7728, ptr %t7716 store i32 %t7722, ptr %t7715 br label %put1632 put1632: %t7729 = load ptr, ptr %t7716 %t7730 = getelementptr inbounds ptr, ptr %t7729, i32 %t7717 store ptr @.str8150, ptr %t7730 %t7731 = add i32 %t7717, 1 store i32 %t7731, ptr %t7714 br label %ifend1630 ifend1630: %t7732 = load ptr, ptr %t1 %t7733 = call i32 @lp_str_eq(ptr %t7732, ptr @.str8151) %t7734 = icmp ne i32 %t7733, 0 br i1 %t7734, label %then1633, label %ifend1635 then1633: store ptr @.str8152, ptr %t403 %t7735 = load ptr, ptr %t410 %t7736 = getelementptr inbounds %LSlice, ptr %t7735, i32 0, i32 1 %t7737 = getelementptr inbounds %LSlice, ptr %t7735, i32 0, i32 2 %t7738 = getelementptr inbounds %LSlice, ptr %t7735, i32 0, i32 0 %t7739 = load i32, ptr %t7736 %t7740 = load i32, ptr %t7737 %t7741 = icmp sge i32 %t7739, %t7740 br i1 %t7741, label %grow1636, label %put1637 grow1636: %t7742 = mul i32 %t7740, 2 %t7743 = icmp eq i32 %t7740, 0 %t7744 = select i1 %t7743, i32 8, i32 %t7742 %t7745 = getelementptr ptr, ptr null, i32 1 %t7746 = ptrtoint ptr %t7745 to i64 %t7747 = zext i32 %t7744 to i64 %t7748 = mul i64 %t7747, %t7746 %t7749 = load ptr, ptr %t7738 %t7750 = call ptr @realloc(ptr %t7749, i64 %t7748) store ptr %t7750, ptr %t7738 store i32 %t7744, ptr %t7737 br label %put1637 put1637: %t7751 = load ptr, ptr %t7738 %t7752 = getelementptr inbounds ptr, ptr %t7751, i32 %t7739 store ptr @.str8153, ptr %t7752 %t7753 = add i32 %t7739, 1 store i32 %t7753, ptr %t7736 br label %ifend1635 ifend1635: %t7754 = load ptr, ptr %t1 %t7755 = call i32 @lp_str_eq(ptr %t7754, ptr @.str8154) %t7756 = icmp ne i32 %t7755, 0 br i1 %t7756, label %then1638, label %ifend1640 then1638: store ptr @.str8155, ptr %t403 %t7757 = load ptr, ptr %t410 %t7758 = getelementptr inbounds %LSlice, ptr %t7757, i32 0, i32 1 %t7759 = getelementptr inbounds %LSlice, ptr %t7757, i32 0, i32 2 %t7760 = getelementptr inbounds %LSlice, ptr %t7757, i32 0, i32 0 %t7761 = load i32, ptr %t7758 %t7762 = load i32, ptr %t7759 %t7763 = icmp sge i32 %t7761, %t7762 br i1 %t7763, label %grow1641, label %put1642 grow1641: %t7764 = mul i32 %t7762, 2 %t7765 = icmp eq i32 %t7762, 0 %t7766 = select i1 %t7765, i32 8, i32 %t7764 %t7767 = getelementptr ptr, ptr null, i32 1 %t7768 = ptrtoint ptr %t7767 to i64 %t7769 = zext i32 %t7766 to i64 %t7770 = mul i64 %t7769, %t7768 %t7771 = load ptr, ptr %t7760 %t7772 = call ptr @realloc(ptr %t7771, i64 %t7770) store ptr %t7772, ptr %t7760 store i32 %t7766, ptr %t7759 br label %put1642 put1642: %t7773 = load ptr, ptr %t7760 %t7774 = getelementptr inbounds ptr, ptr %t7773, i32 %t7761 store ptr @.str8156, ptr %t7774 %t7775 = add i32 %t7761, 1 store i32 %t7775, ptr %t7758 br label %ifend1640 ifend1640: br label %ifend1556 ifend1556: %t7776 = load ptr, ptr %t0 %t7777 = call i32 @lp_str_eq(ptr %t7776, ptr @.str8157) %t7778 = icmp ne i32 %t7777, 0 br i1 %t7778, label %then1643, label %ifend1645 then1643: %t7779 = load ptr, ptr %t1 %t7780 = call i32 @lp_str_eq(ptr %t7779, ptr @.str8158) %t7781 = icmp ne i32 %t7780, 0 br i1 %t7781, label %then1646, label %ifend1648 then1646: store ptr @.str8159, ptr %t403 %t7782 = load ptr, ptr %t410 %t7783 = getelementptr inbounds %LSlice, ptr %t7782, i32 0, i32 1 %t7784 = getelementptr inbounds %LSlice, ptr %t7782, i32 0, i32 2 %t7785 = getelementptr inbounds %LSlice, ptr %t7782, i32 0, i32 0 %t7786 = load i32, ptr %t7783 %t7787 = load i32, ptr %t7784 %t7788 = icmp sge i32 %t7786, %t7787 br i1 %t7788, label %grow1649, label %put1650 grow1649: %t7789 = mul i32 %t7787, 2 %t7790 = icmp eq i32 %t7787, 0 %t7791 = select i1 %t7790, i32 8, i32 %t7789 %t7792 = getelementptr ptr, ptr null, i32 1 %t7793 = ptrtoint ptr %t7792 to i64 %t7794 = zext i32 %t7791 to i64 %t7795 = mul i64 %t7794, %t7793 %t7796 = load ptr, ptr %t7785 %t7797 = call ptr @realloc(ptr %t7796, i64 %t7795) store ptr %t7797, ptr %t7785 store i32 %t7791, ptr %t7784 br label %put1650 put1650: %t7798 = load ptr, ptr %t7785 %t7799 = getelementptr inbounds ptr, ptr %t7798, i32 %t7786 store ptr @.str8160, ptr %t7799 %t7800 = add i32 %t7786, 1 store i32 %t7800, ptr %t7783 br label %ifend1648 ifend1648: %t7801 = load ptr, ptr %t1 %t7802 = call i32 @lp_str_eq(ptr %t7801, ptr @.str8161) %t7803 = icmp ne i32 %t7802, 0 br i1 %t7803, label %then1651, label %ifend1653 then1651: store ptr @.str8162, ptr %t403 %t7804 = load ptr, ptr %t410 %t7805 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 1 %t7806 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 2 %t7807 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 0 %t7808 = load i32, ptr %t7805 %t7809 = load i32, ptr %t7806 %t7810 = icmp sge i32 %t7808, %t7809 br i1 %t7810, label %grow1654, label %put1655 grow1654: %t7811 = mul i32 %t7809, 2 %t7812 = icmp eq i32 %t7809, 0 %t7813 = select i1 %t7812, i32 8, i32 %t7811 %t7814 = getelementptr ptr, ptr null, i32 1 %t7815 = ptrtoint ptr %t7814 to i64 %t7816 = zext i32 %t7813 to i64 %t7817 = mul i64 %t7816, %t7815 %t7818 = load ptr, ptr %t7807 %t7819 = call ptr @realloc(ptr %t7818, i64 %t7817) store ptr %t7819, ptr %t7807 store i32 %t7813, ptr %t7806 br label %put1655 put1655: %t7820 = load ptr, ptr %t7807 %t7821 = getelementptr inbounds ptr, ptr %t7820, i32 %t7808 store ptr @.str8163, ptr %t7821 %t7822 = add i32 %t7808, 1 store i32 %t7822, ptr %t7805 br label %ifend1653 ifend1653: %t7823 = load ptr, ptr %t1 %t7824 = call i32 @lp_str_eq(ptr %t7823, ptr @.str8164) %t7825 = icmp ne i32 %t7824, 0 br i1 %t7825, label %then1656, label %ifend1658 then1656: store ptr @.str8165, ptr %t403 %t7826 = load ptr, ptr %t410 %t7827 = getelementptr inbounds %LSlice, ptr %t7826, i32 0, i32 1 %t7828 = getelementptr inbounds %LSlice, ptr %t7826, i32 0, i32 2 %t7829 = getelementptr inbounds %LSlice, ptr %t7826, i32 0, i32 0 %t7830 = load i32, ptr %t7827 %t7831 = load i32, ptr %t7828 %t7832 = icmp sge i32 %t7830, %t7831 br i1 %t7832, label %grow1659, label %put1660 grow1659: %t7833 = mul i32 %t7831, 2 %t7834 = icmp eq i32 %t7831, 0 %t7835 = select i1 %t7834, i32 8, i32 %t7833 %t7836 = getelementptr ptr, ptr null, i32 1 %t7837 = ptrtoint ptr %t7836 to i64 %t7838 = zext i32 %t7835 to i64 %t7839 = mul i64 %t7838, %t7837 %t7840 = load ptr, ptr %t7829 %t7841 = call ptr @realloc(ptr %t7840, i64 %t7839) store ptr %t7841, ptr %t7829 store i32 %t7835, ptr %t7828 br label %put1660 put1660: %t7842 = load ptr, ptr %t7829 %t7843 = getelementptr inbounds ptr, ptr %t7842, i32 %t7830 store ptr @.str8166, ptr %t7843 %t7844 = add i32 %t7830, 1 store i32 %t7844, ptr %t7827 %t7845 = load ptr, ptr %t410 %t7846 = getelementptr inbounds %LSlice, ptr %t7845, i32 0, i32 1 %t7847 = getelementptr inbounds %LSlice, ptr %t7845, i32 0, i32 2 %t7848 = getelementptr inbounds %LSlice, ptr %t7845, i32 0, i32 0 %t7849 = load i32, ptr %t7846 %t7850 = load i32, ptr %t7847 %t7851 = icmp sge i32 %t7849, %t7850 br i1 %t7851, label %grow1661, label %put1662 grow1661: %t7852 = mul i32 %t7850, 2 %t7853 = icmp eq i32 %t7850, 0 %t7854 = select i1 %t7853, i32 8, i32 %t7852 %t7855 = getelementptr ptr, ptr null, i32 1 %t7856 = ptrtoint ptr %t7855 to i64 %t7857 = zext i32 %t7854 to i64 %t7858 = mul i64 %t7857, %t7856 %t7859 = load ptr, ptr %t7848 %t7860 = call ptr @realloc(ptr %t7859, i64 %t7858) store ptr %t7860, ptr %t7848 store i32 %t7854, ptr %t7847 br label %put1662 put1662: %t7861 = load ptr, ptr %t7848 %t7862 = getelementptr inbounds ptr, ptr %t7861, i32 %t7849 store ptr @.str8167, ptr %t7862 %t7863 = add i32 %t7849, 1 store i32 %t7863, ptr %t7846 br label %ifend1658 ifend1658: %t7864 = load ptr, ptr %t1 %t7865 = call i32 @lp_str_eq(ptr %t7864, ptr @.str8168) %t7866 = icmp ne i32 %t7865, 0 br i1 %t7866, label %then1663, label %ifend1665 then1663: store ptr @.str8169, ptr %t403 %t7867 = load ptr, ptr %t410 %t7868 = getelementptr inbounds %LSlice, ptr %t7867, i32 0, i32 1 %t7869 = getelementptr inbounds %LSlice, ptr %t7867, i32 0, i32 2 %t7870 = getelementptr inbounds %LSlice, ptr %t7867, i32 0, i32 0 %t7871 = load i32, ptr %t7868 %t7872 = load i32, ptr %t7869 %t7873 = icmp sge i32 %t7871, %t7872 br i1 %t7873, label %grow1666, label %put1667 grow1666: %t7874 = mul i32 %t7872, 2 %t7875 = icmp eq i32 %t7872, 0 %t7876 = select i1 %t7875, i32 8, i32 %t7874 %t7877 = getelementptr ptr, ptr null, i32 1 %t7878 = ptrtoint ptr %t7877 to i64 %t7879 = zext i32 %t7876 to i64 %t7880 = mul i64 %t7879, %t7878 %t7881 = load ptr, ptr %t7870 %t7882 = call ptr @realloc(ptr %t7881, i64 %t7880) store ptr %t7882, ptr %t7870 store i32 %t7876, ptr %t7869 br label %put1667 put1667: %t7883 = load ptr, ptr %t7870 %t7884 = getelementptr inbounds ptr, ptr %t7883, i32 %t7871 store ptr @.str8170, ptr %t7884 %t7885 = add i32 %t7871, 1 store i32 %t7885, ptr %t7868 %t7886 = load ptr, ptr %t410 %t7887 = getelementptr inbounds %LSlice, ptr %t7886, i32 0, i32 1 %t7888 = getelementptr inbounds %LSlice, ptr %t7886, i32 0, i32 2 %t7889 = getelementptr inbounds %LSlice, ptr %t7886, i32 0, i32 0 %t7890 = load i32, ptr %t7887 %t7891 = load i32, ptr %t7888 %t7892 = icmp sge i32 %t7890, %t7891 br i1 %t7892, label %grow1668, label %put1669 grow1668: %t7893 = mul i32 %t7891, 2 %t7894 = icmp eq i32 %t7891, 0 %t7895 = select i1 %t7894, i32 8, i32 %t7893 %t7896 = getelementptr ptr, ptr null, i32 1 %t7897 = ptrtoint ptr %t7896 to i64 %t7898 = zext i32 %t7895 to i64 %t7899 = mul i64 %t7898, %t7897 %t7900 = load ptr, ptr %t7889 %t7901 = call ptr @realloc(ptr %t7900, i64 %t7899) store ptr %t7901, ptr %t7889 store i32 %t7895, ptr %t7888 br label %put1669 put1669: %t7902 = load ptr, ptr %t7889 %t7903 = getelementptr inbounds ptr, ptr %t7902, i32 %t7890 store ptr @.str8171, ptr %t7903 %t7904 = add i32 %t7890, 1 store i32 %t7904, ptr %t7887 br label %ifend1665 ifend1665: %t7905 = load ptr, ptr %t1 %t7906 = call i32 @lp_str_eq(ptr %t7905, ptr @.str8172) %t7907 = icmp ne i32 %t7906, 0 br i1 %t7907, label %then1670, label %ifend1672 then1670: store ptr @.str8173, ptr %t403 %t7908 = load ptr, ptr %t410 %t7909 = getelementptr inbounds %LSlice, ptr %t7908, i32 0, i32 1 %t7910 = getelementptr inbounds %LSlice, ptr %t7908, i32 0, i32 2 %t7911 = getelementptr inbounds %LSlice, ptr %t7908, i32 0, i32 0 %t7912 = load i32, ptr %t7909 %t7913 = load i32, ptr %t7910 %t7914 = icmp sge i32 %t7912, %t7913 br i1 %t7914, label %grow1673, label %put1674 grow1673: %t7915 = mul i32 %t7913, 2 %t7916 = icmp eq i32 %t7913, 0 %t7917 = select i1 %t7916, i32 8, i32 %t7915 %t7918 = getelementptr ptr, ptr null, i32 1 %t7919 = ptrtoint ptr %t7918 to i64 %t7920 = zext i32 %t7917 to i64 %t7921 = mul i64 %t7920, %t7919 %t7922 = load ptr, ptr %t7911 %t7923 = call ptr @realloc(ptr %t7922, i64 %t7921) store ptr %t7923, ptr %t7911 store i32 %t7917, ptr %t7910 br label %put1674 put1674: %t7924 = load ptr, ptr %t7911 %t7925 = getelementptr inbounds ptr, ptr %t7924, i32 %t7912 store ptr @.str8174, ptr %t7925 %t7926 = add i32 %t7912, 1 store i32 %t7926, ptr %t7909 %t7927 = load ptr, ptr %t410 %t7928 = getelementptr inbounds %LSlice, ptr %t7927, i32 0, i32 1 %t7929 = getelementptr inbounds %LSlice, ptr %t7927, i32 0, i32 2 %t7930 = getelementptr inbounds %LSlice, ptr %t7927, i32 0, i32 0 %t7931 = load i32, ptr %t7928 %t7932 = load i32, ptr %t7929 %t7933 = icmp sge i32 %t7931, %t7932 br i1 %t7933, label %grow1675, label %put1676 grow1675: %t7934 = mul i32 %t7932, 2 %t7935 = icmp eq i32 %t7932, 0 %t7936 = select i1 %t7935, i32 8, i32 %t7934 %t7937 = getelementptr ptr, ptr null, i32 1 %t7938 = ptrtoint ptr %t7937 to i64 %t7939 = zext i32 %t7936 to i64 %t7940 = mul i64 %t7939, %t7938 %t7941 = load ptr, ptr %t7930 %t7942 = call ptr @realloc(ptr %t7941, i64 %t7940) store ptr %t7942, ptr %t7930 store i32 %t7936, ptr %t7929 br label %put1676 put1676: %t7943 = load ptr, ptr %t7930 %t7944 = getelementptr inbounds ptr, ptr %t7943, i32 %t7931 store ptr @.str8175, ptr %t7944 %t7945 = add i32 %t7931, 1 store i32 %t7945, ptr %t7928 br label %ifend1672 ifend1672: %t7946 = load ptr, ptr %t1 %t7947 = call i32 @lp_str_eq(ptr %t7946, ptr @.str8176) %t7948 = icmp ne i32 %t7947, 0 br i1 %t7948, label %then1677, label %ifend1679 then1677: store ptr @.str8177, ptr %t403 %t7949 = load ptr, ptr %t410 %t7950 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 1 %t7951 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 2 %t7952 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 0 %t7953 = load i32, ptr %t7950 %t7954 = load i32, ptr %t7951 %t7955 = icmp sge i32 %t7953, %t7954 br i1 %t7955, label %grow1680, label %put1681 grow1680: %t7956 = mul i32 %t7954, 2 %t7957 = icmp eq i32 %t7954, 0 %t7958 = select i1 %t7957, i32 8, i32 %t7956 %t7959 = getelementptr ptr, ptr null, i32 1 %t7960 = ptrtoint ptr %t7959 to i64 %t7961 = zext i32 %t7958 to i64 %t7962 = mul i64 %t7961, %t7960 %t7963 = load ptr, ptr %t7952 %t7964 = call ptr @realloc(ptr %t7963, i64 %t7962) store ptr %t7964, ptr %t7952 store i32 %t7958, ptr %t7951 br label %put1681 put1681: %t7965 = load ptr, ptr %t7952 %t7966 = getelementptr inbounds ptr, ptr %t7965, i32 %t7953 store ptr @.str8178, ptr %t7966 %t7967 = add i32 %t7953, 1 store i32 %t7967, ptr %t7950 br label %ifend1679 ifend1679: %t7968 = load ptr, ptr %t1 %t7969 = call i32 @lp_str_eq(ptr %t7968, ptr @.str8179) %t7970 = icmp ne i32 %t7969, 0 br i1 %t7970, label %then1682, label %ifend1684 then1682: store ptr @.str8180, ptr %t403 %t7971 = load ptr, ptr %t410 %t7972 = getelementptr inbounds %LSlice, ptr %t7971, i32 0, i32 1 %t7973 = getelementptr inbounds %LSlice, ptr %t7971, i32 0, i32 2 %t7974 = getelementptr inbounds %LSlice, ptr %t7971, i32 0, i32 0 %t7975 = load i32, ptr %t7972 %t7976 = load i32, ptr %t7973 %t7977 = icmp sge i32 %t7975, %t7976 br i1 %t7977, label %grow1685, label %put1686 grow1685: %t7978 = mul i32 %t7976, 2 %t7979 = icmp eq i32 %t7976, 0 %t7980 = select i1 %t7979, i32 8, i32 %t7978 %t7981 = getelementptr ptr, ptr null, i32 1 %t7982 = ptrtoint ptr %t7981 to i64 %t7983 = zext i32 %t7980 to i64 %t7984 = mul i64 %t7983, %t7982 %t7985 = load ptr, ptr %t7974 %t7986 = call ptr @realloc(ptr %t7985, i64 %t7984) store ptr %t7986, ptr %t7974 store i32 %t7980, ptr %t7973 br label %put1686 put1686: %t7987 = load ptr, ptr %t7974 %t7988 = getelementptr inbounds ptr, ptr %t7987, i32 %t7975 store ptr @.str8181, ptr %t7988 %t7989 = add i32 %t7975, 1 store i32 %t7989, ptr %t7972 %t7990 = load ptr, ptr %t410 %t7991 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 1 %t7992 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 2 %t7993 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 0 %t7994 = load i32, ptr %t7991 %t7995 = load i32, ptr %t7992 %t7996 = icmp sge i32 %t7994, %t7995 br i1 %t7996, label %grow1687, label %put1688 grow1687: %t7997 = mul i32 %t7995, 2 %t7998 = icmp eq i32 %t7995, 0 %t7999 = select i1 %t7998, i32 8, i32 %t7997 %t8000 = getelementptr ptr, ptr null, i32 1 %t8001 = ptrtoint ptr %t8000 to i64 %t8002 = zext i32 %t7999 to i64 %t8003 = mul i64 %t8002, %t8001 %t8004 = load ptr, ptr %t7993 %t8005 = call ptr @realloc(ptr %t8004, i64 %t8003) store ptr %t8005, ptr %t7993 store i32 %t7999, ptr %t7992 br label %put1688 put1688: %t8006 = load ptr, ptr %t7993 %t8007 = getelementptr inbounds ptr, ptr %t8006, i32 %t7994 store ptr @.str8182, ptr %t8007 %t8008 = add i32 %t7994, 1 store i32 %t8008, ptr %t7991 br label %ifend1684 ifend1684: %t8009 = load ptr, ptr %t1 %t8010 = call i32 @lp_str_eq(ptr %t8009, ptr @.str8183) %t8011 = icmp ne i32 %t8010, 0 br i1 %t8011, label %then1689, label %ifend1691 then1689: store ptr @.str8184, ptr %t403 %t8012 = load ptr, ptr %t410 %t8013 = getelementptr inbounds %LSlice, ptr %t8012, i32 0, i32 1 %t8014 = getelementptr inbounds %LSlice, ptr %t8012, i32 0, i32 2 %t8015 = getelementptr inbounds %LSlice, ptr %t8012, i32 0, i32 0 %t8016 = load i32, ptr %t8013 %t8017 = load i32, ptr %t8014 %t8018 = icmp sge i32 %t8016, %t8017 br i1 %t8018, label %grow1692, label %put1693 grow1692: %t8019 = mul i32 %t8017, 2 %t8020 = icmp eq i32 %t8017, 0 %t8021 = select i1 %t8020, i32 8, i32 %t8019 %t8022 = getelementptr ptr, ptr null, i32 1 %t8023 = ptrtoint ptr %t8022 to i64 %t8024 = zext i32 %t8021 to i64 %t8025 = mul i64 %t8024, %t8023 %t8026 = load ptr, ptr %t8015 %t8027 = call ptr @realloc(ptr %t8026, i64 %t8025) store ptr %t8027, ptr %t8015 store i32 %t8021, ptr %t8014 br label %put1693 put1693: %t8028 = load ptr, ptr %t8015 %t8029 = getelementptr inbounds ptr, ptr %t8028, i32 %t8016 store ptr @.str8185, ptr %t8029 %t8030 = add i32 %t8016, 1 store i32 %t8030, ptr %t8013 %t8031 = load ptr, ptr %t410 %t8032 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 1 %t8033 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 2 %t8034 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 0 %t8035 = load i32, ptr %t8032 %t8036 = load i32, ptr %t8033 %t8037 = icmp sge i32 %t8035, %t8036 br i1 %t8037, label %grow1694, label %put1695 grow1694: %t8038 = mul i32 %t8036, 2 %t8039 = icmp eq i32 %t8036, 0 %t8040 = select i1 %t8039, i32 8, i32 %t8038 %t8041 = getelementptr ptr, ptr null, i32 1 %t8042 = ptrtoint ptr %t8041 to i64 %t8043 = zext i32 %t8040 to i64 %t8044 = mul i64 %t8043, %t8042 %t8045 = load ptr, ptr %t8034 %t8046 = call ptr @realloc(ptr %t8045, i64 %t8044) store ptr %t8046, ptr %t8034 store i32 %t8040, ptr %t8033 br label %put1695 put1695: %t8047 = load ptr, ptr %t8034 %t8048 = getelementptr inbounds ptr, ptr %t8047, i32 %t8035 store ptr @.str8186, ptr %t8048 %t8049 = add i32 %t8035, 1 store i32 %t8049, ptr %t8032 br label %ifend1691 ifend1691: %t8050 = load ptr, ptr %t1 %t8051 = call i32 @lp_str_eq(ptr %t8050, ptr @.str8187) %t8052 = icmp ne i32 %t8051, 0 br i1 %t8052, label %then1696, label %ifend1698 then1696: store ptr @.str8188, ptr %t403 %t8053 = load ptr, ptr %t410 %t8054 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 1 %t8055 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 2 %t8056 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 0 %t8057 = load i32, ptr %t8054 %t8058 = load i32, ptr %t8055 %t8059 = icmp sge i32 %t8057, %t8058 br i1 %t8059, label %grow1699, label %put1700 grow1699: %t8060 = mul i32 %t8058, 2 %t8061 = icmp eq i32 %t8058, 0 %t8062 = select i1 %t8061, i32 8, i32 %t8060 %t8063 = getelementptr ptr, ptr null, i32 1 %t8064 = ptrtoint ptr %t8063 to i64 %t8065 = zext i32 %t8062 to i64 %t8066 = mul i64 %t8065, %t8064 %t8067 = load ptr, ptr %t8056 %t8068 = call ptr @realloc(ptr %t8067, i64 %t8066) store ptr %t8068, ptr %t8056 store i32 %t8062, ptr %t8055 br label %put1700 put1700: %t8069 = load ptr, ptr %t8056 %t8070 = getelementptr inbounds ptr, ptr %t8069, i32 %t8057 store ptr @.str8189, ptr %t8070 %t8071 = add i32 %t8057, 1 store i32 %t8071, ptr %t8054 br label %ifend1698 ifend1698: %t8072 = load ptr, ptr %t1 %t8073 = call i32 @lp_str_eq(ptr %t8072, ptr @.str8190) %t8074 = icmp ne i32 %t8073, 0 br i1 %t8074, label %then1701, label %ifend1703 then1701: store ptr @.str8191, ptr %t403 %t8075 = load ptr, ptr %t410 %t8076 = getelementptr inbounds %LSlice, ptr %t8075, i32 0, i32 1 %t8077 = getelementptr inbounds %LSlice, ptr %t8075, i32 0, i32 2 %t8078 = getelementptr inbounds %LSlice, ptr %t8075, i32 0, i32 0 %t8079 = load i32, ptr %t8076 %t8080 = load i32, ptr %t8077 %t8081 = icmp sge i32 %t8079, %t8080 br i1 %t8081, label %grow1704, label %put1705 grow1704: %t8082 = mul i32 %t8080, 2 %t8083 = icmp eq i32 %t8080, 0 %t8084 = select i1 %t8083, i32 8, i32 %t8082 %t8085 = getelementptr ptr, ptr null, i32 1 %t8086 = ptrtoint ptr %t8085 to i64 %t8087 = zext i32 %t8084 to i64 %t8088 = mul i64 %t8087, %t8086 %t8089 = load ptr, ptr %t8078 %t8090 = call ptr @realloc(ptr %t8089, i64 %t8088) store ptr %t8090, ptr %t8078 store i32 %t8084, ptr %t8077 br label %put1705 put1705: %t8091 = load ptr, ptr %t8078 %t8092 = getelementptr inbounds ptr, ptr %t8091, i32 %t8079 store ptr @.str8192, ptr %t8092 %t8093 = add i32 %t8079, 1 store i32 %t8093, ptr %t8076 %t8094 = load ptr, ptr %t410 %t8095 = getelementptr inbounds %LSlice, ptr %t8094, i32 0, i32 1 %t8096 = getelementptr inbounds %LSlice, ptr %t8094, i32 0, i32 2 %t8097 = getelementptr inbounds %LSlice, ptr %t8094, i32 0, i32 0 %t8098 = load i32, ptr %t8095 %t8099 = load i32, ptr %t8096 %t8100 = icmp sge i32 %t8098, %t8099 br i1 %t8100, label %grow1706, label %put1707 grow1706: %t8101 = mul i32 %t8099, 2 %t8102 = icmp eq i32 %t8099, 0 %t8103 = select i1 %t8102, i32 8, i32 %t8101 %t8104 = getelementptr ptr, ptr null, i32 1 %t8105 = ptrtoint ptr %t8104 to i64 %t8106 = zext i32 %t8103 to i64 %t8107 = mul i64 %t8106, %t8105 %t8108 = load ptr, ptr %t8097 %t8109 = call ptr @realloc(ptr %t8108, i64 %t8107) store ptr %t8109, ptr %t8097 store i32 %t8103, ptr %t8096 br label %put1707 put1707: %t8110 = load ptr, ptr %t8097 %t8111 = getelementptr inbounds ptr, ptr %t8110, i32 %t8098 store ptr @.str8193, ptr %t8111 %t8112 = add i32 %t8098, 1 store i32 %t8112, ptr %t8095 br label %ifend1703 ifend1703: %t8113 = load ptr, ptr %t1 %t8114 = call i32 @lp_str_eq(ptr %t8113, ptr @.str8194) %t8115 = icmp ne i32 %t8114, 0 br i1 %t8115, label %then1708, label %ifend1710 then1708: store ptr @.str8195, ptr %t403 %t8116 = load ptr, ptr %t410 %t8117 = getelementptr inbounds %LSlice, ptr %t8116, i32 0, i32 1 %t8118 = getelementptr inbounds %LSlice, ptr %t8116, i32 0, i32 2 %t8119 = getelementptr inbounds %LSlice, ptr %t8116, i32 0, i32 0 %t8120 = load i32, ptr %t8117 %t8121 = load i32, ptr %t8118 %t8122 = icmp sge i32 %t8120, %t8121 br i1 %t8122, label %grow1711, label %put1712 grow1711: %t8123 = mul i32 %t8121, 2 %t8124 = icmp eq i32 %t8121, 0 %t8125 = select i1 %t8124, i32 8, i32 %t8123 %t8126 = getelementptr ptr, ptr null, i32 1 %t8127 = ptrtoint ptr %t8126 to i64 %t8128 = zext i32 %t8125 to i64 %t8129 = mul i64 %t8128, %t8127 %t8130 = load ptr, ptr %t8119 %t8131 = call ptr @realloc(ptr %t8130, i64 %t8129) store ptr %t8131, ptr %t8119 store i32 %t8125, ptr %t8118 br label %put1712 put1712: %t8132 = load ptr, ptr %t8119 %t8133 = getelementptr inbounds ptr, ptr %t8132, i32 %t8120 store ptr @.str8196, ptr %t8133 %t8134 = add i32 %t8120, 1 store i32 %t8134, ptr %t8117 br label %ifend1710 ifend1710: br label %ifend1645 ifend1645: %t8135 = load ptr, ptr %t0 %t8136 = call i32 @lp_str_eq(ptr %t8135, ptr @.str8197) %t8137 = icmp ne i32 %t8136, 0 br i1 %t8137, label %then1713, label %ifend1715 then1713: %t8138 = load ptr, ptr %t1 %t8139 = call i32 @lp_str_eq(ptr %t8138, ptr @.str8198) %t8140 = icmp ne i32 %t8139, 0 br i1 %t8140, label %then1716, label %ifend1718 then1716: store ptr @.str8199, ptr %t403 br label %ifend1718 ifend1718: %t8141 = load ptr, ptr %t1 %t8142 = call i32 @lp_str_eq(ptr %t8141, ptr @.str8200) %t8143 = icmp ne i32 %t8142, 0 br i1 %t8143, label %then1719, label %ifend1721 then1719: store ptr @.str8201, ptr %t403 %t8144 = load ptr, ptr %t410 %t8145 = getelementptr inbounds %LSlice, ptr %t8144, i32 0, i32 1 %t8146 = getelementptr inbounds %LSlice, ptr %t8144, i32 0, i32 2 %t8147 = getelementptr inbounds %LSlice, ptr %t8144, i32 0, i32 0 %t8148 = load i32, ptr %t8145 %t8149 = load i32, ptr %t8146 %t8150 = icmp sge i32 %t8148, %t8149 br i1 %t8150, label %grow1722, label %put1723 grow1722: %t8151 = mul i32 %t8149, 2 %t8152 = icmp eq i32 %t8149, 0 %t8153 = select i1 %t8152, i32 8, i32 %t8151 %t8154 = getelementptr ptr, ptr null, i32 1 %t8155 = ptrtoint ptr %t8154 to i64 %t8156 = zext i32 %t8153 to i64 %t8157 = mul i64 %t8156, %t8155 %t8158 = load ptr, ptr %t8147 %t8159 = call ptr @realloc(ptr %t8158, i64 %t8157) store ptr %t8159, ptr %t8147 store i32 %t8153, ptr %t8146 br label %put1723 put1723: %t8160 = load ptr, ptr %t8147 %t8161 = getelementptr inbounds ptr, ptr %t8160, i32 %t8148 store ptr @.str8202, ptr %t8161 %t8162 = add i32 %t8148, 1 store i32 %t8162, ptr %t8145 %t8163 = load ptr, ptr %t410 %t8164 = getelementptr inbounds %LSlice, ptr %t8163, i32 0, i32 1 %t8165 = getelementptr inbounds %LSlice, ptr %t8163, i32 0, i32 2 %t8166 = getelementptr inbounds %LSlice, ptr %t8163, i32 0, i32 0 %t8167 = load i32, ptr %t8164 %t8168 = load i32, ptr %t8165 %t8169 = icmp sge i32 %t8167, %t8168 br i1 %t8169, label %grow1724, label %put1725 grow1724: %t8170 = mul i32 %t8168, 2 %t8171 = icmp eq i32 %t8168, 0 %t8172 = select i1 %t8171, i32 8, i32 %t8170 %t8173 = getelementptr ptr, ptr null, i32 1 %t8174 = ptrtoint ptr %t8173 to i64 %t8175 = zext i32 %t8172 to i64 %t8176 = mul i64 %t8175, %t8174 %t8177 = load ptr, ptr %t8166 %t8178 = call ptr @realloc(ptr %t8177, i64 %t8176) store ptr %t8178, ptr %t8166 store i32 %t8172, ptr %t8165 br label %put1725 put1725: %t8179 = load ptr, ptr %t8166 %t8180 = getelementptr inbounds ptr, ptr %t8179, i32 %t8167 store ptr @.str8203, ptr %t8180 %t8181 = add i32 %t8167, 1 store i32 %t8181, ptr %t8164 %t8182 = load ptr, ptr %t410 %t8183 = getelementptr inbounds %LSlice, ptr %t8182, i32 0, i32 1 %t8184 = getelementptr inbounds %LSlice, ptr %t8182, i32 0, i32 2 %t8185 = getelementptr inbounds %LSlice, ptr %t8182, i32 0, i32 0 %t8186 = load i32, ptr %t8183 %t8187 = load i32, ptr %t8184 %t8188 = icmp sge i32 %t8186, %t8187 br i1 %t8188, label %grow1726, label %put1727 grow1726: %t8189 = mul i32 %t8187, 2 %t8190 = icmp eq i32 %t8187, 0 %t8191 = select i1 %t8190, i32 8, i32 %t8189 %t8192 = getelementptr ptr, ptr null, i32 1 %t8193 = ptrtoint ptr %t8192 to i64 %t8194 = zext i32 %t8191 to i64 %t8195 = mul i64 %t8194, %t8193 %t8196 = load ptr, ptr %t8185 %t8197 = call ptr @realloc(ptr %t8196, i64 %t8195) store ptr %t8197, ptr %t8185 store i32 %t8191, ptr %t8184 br label %put1727 put1727: %t8198 = load ptr, ptr %t8185 %t8199 = getelementptr inbounds ptr, ptr %t8198, i32 %t8186 store ptr @.str8204, ptr %t8199 %t8200 = add i32 %t8186, 1 store i32 %t8200, ptr %t8183 br label %ifend1721 ifend1721: %t8201 = load ptr, ptr %t1 %t8202 = call i32 @lp_str_eq(ptr %t8201, ptr @.str8205) %t8203 = icmp ne i32 %t8202, 0 br i1 %t8203, label %then1728, label %ifend1730 then1728: store ptr @.str8206, ptr %t403 %t8204 = load ptr, ptr %t410 %t8205 = getelementptr inbounds %LSlice, ptr %t8204, i32 0, i32 1 %t8206 = getelementptr inbounds %LSlice, ptr %t8204, i32 0, i32 2 %t8207 = getelementptr inbounds %LSlice, ptr %t8204, i32 0, i32 0 %t8208 = load i32, ptr %t8205 %t8209 = load i32, ptr %t8206 %t8210 = icmp sge i32 %t8208, %t8209 br i1 %t8210, label %grow1731, label %put1732 grow1731: %t8211 = mul i32 %t8209, 2 %t8212 = icmp eq i32 %t8209, 0 %t8213 = select i1 %t8212, i32 8, i32 %t8211 %t8214 = getelementptr ptr, ptr null, i32 1 %t8215 = ptrtoint ptr %t8214 to i64 %t8216 = zext i32 %t8213 to i64 %t8217 = mul i64 %t8216, %t8215 %t8218 = load ptr, ptr %t8207 %t8219 = call ptr @realloc(ptr %t8218, i64 %t8217) store ptr %t8219, ptr %t8207 store i32 %t8213, ptr %t8206 br label %put1732 put1732: %t8220 = load ptr, ptr %t8207 %t8221 = getelementptr inbounds ptr, ptr %t8220, i32 %t8208 store ptr @.str8207, ptr %t8221 %t8222 = add i32 %t8208, 1 store i32 %t8222, ptr %t8205 %t8223 = load ptr, ptr %t410 %t8224 = getelementptr inbounds %LSlice, ptr %t8223, i32 0, i32 1 %t8225 = getelementptr inbounds %LSlice, ptr %t8223, i32 0, i32 2 %t8226 = getelementptr inbounds %LSlice, ptr %t8223, i32 0, i32 0 %t8227 = load i32, ptr %t8224 %t8228 = load i32, ptr %t8225 %t8229 = icmp sge i32 %t8227, %t8228 br i1 %t8229, label %grow1733, label %put1734 grow1733: %t8230 = mul i32 %t8228, 2 %t8231 = icmp eq i32 %t8228, 0 %t8232 = select i1 %t8231, i32 8, i32 %t8230 %t8233 = getelementptr ptr, ptr null, i32 1 %t8234 = ptrtoint ptr %t8233 to i64 %t8235 = zext i32 %t8232 to i64 %t8236 = mul i64 %t8235, %t8234 %t8237 = load ptr, ptr %t8226 %t8238 = call ptr @realloc(ptr %t8237, i64 %t8236) store ptr %t8238, ptr %t8226 store i32 %t8232, ptr %t8225 br label %put1734 put1734: %t8239 = load ptr, ptr %t8226 %t8240 = getelementptr inbounds ptr, ptr %t8239, i32 %t8227 store ptr @.str8208, ptr %t8240 %t8241 = add i32 %t8227, 1 store i32 %t8241, ptr %t8224 br label %ifend1730 ifend1730: %t8242 = load ptr, ptr %t1 %t8243 = call i32 @lp_str_eq(ptr %t8242, ptr @.str8209) %t8244 = icmp ne i32 %t8243, 0 br i1 %t8244, label %then1735, label %ifend1737 then1735: store ptr @.str8210, ptr %t403 %t8245 = load ptr, ptr %t410 %t8246 = getelementptr inbounds %LSlice, ptr %t8245, i32 0, i32 1 %t8247 = getelementptr inbounds %LSlice, ptr %t8245, i32 0, i32 2 %t8248 = getelementptr inbounds %LSlice, ptr %t8245, i32 0, i32 0 %t8249 = load i32, ptr %t8246 %t8250 = load i32, ptr %t8247 %t8251 = icmp sge i32 %t8249, %t8250 br i1 %t8251, label %grow1738, label %put1739 grow1738: %t8252 = mul i32 %t8250, 2 %t8253 = icmp eq i32 %t8250, 0 %t8254 = select i1 %t8253, i32 8, i32 %t8252 %t8255 = getelementptr ptr, ptr null, i32 1 %t8256 = ptrtoint ptr %t8255 to i64 %t8257 = zext i32 %t8254 to i64 %t8258 = mul i64 %t8257, %t8256 %t8259 = load ptr, ptr %t8248 %t8260 = call ptr @realloc(ptr %t8259, i64 %t8258) store ptr %t8260, ptr %t8248 store i32 %t8254, ptr %t8247 br label %put1739 put1739: %t8261 = load ptr, ptr %t8248 %t8262 = getelementptr inbounds ptr, ptr %t8261, i32 %t8249 store ptr @.str8211, ptr %t8262 %t8263 = add i32 %t8249, 1 store i32 %t8263, ptr %t8246 %t8264 = load ptr, ptr %t410 %t8265 = getelementptr inbounds %LSlice, ptr %t8264, i32 0, i32 1 %t8266 = getelementptr inbounds %LSlice, ptr %t8264, i32 0, i32 2 %t8267 = getelementptr inbounds %LSlice, ptr %t8264, i32 0, i32 0 %t8268 = load i32, ptr %t8265 %t8269 = load i32, ptr %t8266 %t8270 = icmp sge i32 %t8268, %t8269 br i1 %t8270, label %grow1740, label %put1741 grow1740: %t8271 = mul i32 %t8269, 2 %t8272 = icmp eq i32 %t8269, 0 %t8273 = select i1 %t8272, i32 8, i32 %t8271 %t8274 = getelementptr ptr, ptr null, i32 1 %t8275 = ptrtoint ptr %t8274 to i64 %t8276 = zext i32 %t8273 to i64 %t8277 = mul i64 %t8276, %t8275 %t8278 = load ptr, ptr %t8267 %t8279 = call ptr @realloc(ptr %t8278, i64 %t8277) store ptr %t8279, ptr %t8267 store i32 %t8273, ptr %t8266 br label %put1741 put1741: %t8280 = load ptr, ptr %t8267 %t8281 = getelementptr inbounds ptr, ptr %t8280, i32 %t8268 store ptr @.str8212, ptr %t8281 %t8282 = add i32 %t8268, 1 store i32 %t8282, ptr %t8265 %t8283 = load ptr, ptr %t410 %t8284 = getelementptr inbounds %LSlice, ptr %t8283, i32 0, i32 1 %t8285 = getelementptr inbounds %LSlice, ptr %t8283, i32 0, i32 2 %t8286 = getelementptr inbounds %LSlice, ptr %t8283, i32 0, i32 0 %t8287 = load i32, ptr %t8284 %t8288 = load i32, ptr %t8285 %t8289 = icmp sge i32 %t8287, %t8288 br i1 %t8289, label %grow1742, label %put1743 grow1742: %t8290 = mul i32 %t8288, 2 %t8291 = icmp eq i32 %t8288, 0 %t8292 = select i1 %t8291, i32 8, i32 %t8290 %t8293 = getelementptr ptr, ptr null, i32 1 %t8294 = ptrtoint ptr %t8293 to i64 %t8295 = zext i32 %t8292 to i64 %t8296 = mul i64 %t8295, %t8294 %t8297 = load ptr, ptr %t8286 %t8298 = call ptr @realloc(ptr %t8297, i64 %t8296) store ptr %t8298, ptr %t8286 store i32 %t8292, ptr %t8285 br label %put1743 put1743: %t8299 = load ptr, ptr %t8286 %t8300 = getelementptr inbounds ptr, ptr %t8299, i32 %t8287 store ptr @.str8213, ptr %t8300 %t8301 = add i32 %t8287, 1 store i32 %t8301, ptr %t8284 br label %ifend1737 ifend1737: %t8302 = load ptr, ptr %t1 %t8303 = call i32 @lp_str_eq(ptr %t8302, ptr @.str8214) %t8304 = icmp ne i32 %t8303, 0 br i1 %t8304, label %then1744, label %ifend1746 then1744: store ptr @.str8215, ptr %t403 %t8305 = load ptr, ptr %t410 %t8306 = getelementptr inbounds %LSlice, ptr %t8305, i32 0, i32 1 %t8307 = getelementptr inbounds %LSlice, ptr %t8305, i32 0, i32 2 %t8308 = getelementptr inbounds %LSlice, ptr %t8305, i32 0, i32 0 %t8309 = load i32, ptr %t8306 %t8310 = load i32, ptr %t8307 %t8311 = icmp sge i32 %t8309, %t8310 br i1 %t8311, label %grow1747, label %put1748 grow1747: %t8312 = mul i32 %t8310, 2 %t8313 = icmp eq i32 %t8310, 0 %t8314 = select i1 %t8313, i32 8, i32 %t8312 %t8315 = getelementptr ptr, ptr null, i32 1 %t8316 = ptrtoint ptr %t8315 to i64 %t8317 = zext i32 %t8314 to i64 %t8318 = mul i64 %t8317, %t8316 %t8319 = load ptr, ptr %t8308 %t8320 = call ptr @realloc(ptr %t8319, i64 %t8318) store ptr %t8320, ptr %t8308 store i32 %t8314, ptr %t8307 br label %put1748 put1748: %t8321 = load ptr, ptr %t8308 %t8322 = getelementptr inbounds ptr, ptr %t8321, i32 %t8309 store ptr @.str8216, ptr %t8322 %t8323 = add i32 %t8309, 1 store i32 %t8323, ptr %t8306 %t8324 = load ptr, ptr %t410 %t8325 = getelementptr inbounds %LSlice, ptr %t8324, i32 0, i32 1 %t8326 = getelementptr inbounds %LSlice, ptr %t8324, i32 0, i32 2 %t8327 = getelementptr inbounds %LSlice, ptr %t8324, i32 0, i32 0 %t8328 = load i32, ptr %t8325 %t8329 = load i32, ptr %t8326 %t8330 = icmp sge i32 %t8328, %t8329 br i1 %t8330, label %grow1749, label %put1750 grow1749: %t8331 = mul i32 %t8329, 2 %t8332 = icmp eq i32 %t8329, 0 %t8333 = select i1 %t8332, i32 8, i32 %t8331 %t8334 = getelementptr ptr, ptr null, i32 1 %t8335 = ptrtoint ptr %t8334 to i64 %t8336 = zext i32 %t8333 to i64 %t8337 = mul i64 %t8336, %t8335 %t8338 = load ptr, ptr %t8327 %t8339 = call ptr @realloc(ptr %t8338, i64 %t8337) store ptr %t8339, ptr %t8327 store i32 %t8333, ptr %t8326 br label %put1750 put1750: %t8340 = load ptr, ptr %t8327 %t8341 = getelementptr inbounds ptr, ptr %t8340, i32 %t8328 store ptr @.str8217, ptr %t8341 %t8342 = add i32 %t8328, 1 store i32 %t8342, ptr %t8325 br label %ifend1746 ifend1746: %t8343 = load ptr, ptr %t1 %t8344 = call i32 @lp_str_eq(ptr %t8343, ptr @.str8218) %t8345 = icmp ne i32 %t8344, 0 br i1 %t8345, label %then1751, label %ifend1753 then1751: store ptr @.str8219, ptr %t403 %t8346 = load ptr, ptr %t410 %t8347 = getelementptr inbounds %LSlice, ptr %t8346, i32 0, i32 1 %t8348 = getelementptr inbounds %LSlice, ptr %t8346, i32 0, i32 2 %t8349 = getelementptr inbounds %LSlice, ptr %t8346, i32 0, i32 0 %t8350 = load i32, ptr %t8347 %t8351 = load i32, ptr %t8348 %t8352 = icmp sge i32 %t8350, %t8351 br i1 %t8352, label %grow1754, label %put1755 grow1754: %t8353 = mul i32 %t8351, 2 %t8354 = icmp eq i32 %t8351, 0 %t8355 = select i1 %t8354, i32 8, i32 %t8353 %t8356 = getelementptr ptr, ptr null, i32 1 %t8357 = ptrtoint ptr %t8356 to i64 %t8358 = zext i32 %t8355 to i64 %t8359 = mul i64 %t8358, %t8357 %t8360 = load ptr, ptr %t8349 %t8361 = call ptr @realloc(ptr %t8360, i64 %t8359) store ptr %t8361, ptr %t8349 store i32 %t8355, ptr %t8348 br label %put1755 put1755: %t8362 = load ptr, ptr %t8349 %t8363 = getelementptr inbounds ptr, ptr %t8362, i32 %t8350 store ptr @.str8220, ptr %t8363 %t8364 = add i32 %t8350, 1 store i32 %t8364, ptr %t8347 %t8365 = load ptr, ptr %t410 %t8366 = getelementptr inbounds %LSlice, ptr %t8365, i32 0, i32 1 %t8367 = getelementptr inbounds %LSlice, ptr %t8365, i32 0, i32 2 %t8368 = getelementptr inbounds %LSlice, ptr %t8365, i32 0, i32 0 %t8369 = load i32, ptr %t8366 %t8370 = load i32, ptr %t8367 %t8371 = icmp sge i32 %t8369, %t8370 br i1 %t8371, label %grow1756, label %put1757 grow1756: %t8372 = mul i32 %t8370, 2 %t8373 = icmp eq i32 %t8370, 0 %t8374 = select i1 %t8373, i32 8, i32 %t8372 %t8375 = getelementptr ptr, ptr null, i32 1 %t8376 = ptrtoint ptr %t8375 to i64 %t8377 = zext i32 %t8374 to i64 %t8378 = mul i64 %t8377, %t8376 %t8379 = load ptr, ptr %t8368 %t8380 = call ptr @realloc(ptr %t8379, i64 %t8378) store ptr %t8380, ptr %t8368 store i32 %t8374, ptr %t8367 br label %put1757 put1757: %t8381 = load ptr, ptr %t8368 %t8382 = getelementptr inbounds ptr, ptr %t8381, i32 %t8369 store ptr @.str8221, ptr %t8382 %t8383 = add i32 %t8369, 1 store i32 %t8383, ptr %t8366 br label %ifend1753 ifend1753: %t8384 = load ptr, ptr %t1 %t8385 = call i32 @lp_str_eq(ptr %t8384, ptr @.str8222) %t8386 = icmp ne i32 %t8385, 0 br i1 %t8386, label %then1758, label %ifend1760 then1758: store ptr @.str8223, ptr %t403 %t8387 = load ptr, ptr %t410 %t8388 = getelementptr inbounds %LSlice, ptr %t8387, i32 0, i32 1 %t8389 = getelementptr inbounds %LSlice, ptr %t8387, i32 0, i32 2 %t8390 = getelementptr inbounds %LSlice, ptr %t8387, i32 0, i32 0 %t8391 = load i32, ptr %t8388 %t8392 = load i32, ptr %t8389 %t8393 = icmp sge i32 %t8391, %t8392 br i1 %t8393, label %grow1761, label %put1762 grow1761: %t8394 = mul i32 %t8392, 2 %t8395 = icmp eq i32 %t8392, 0 %t8396 = select i1 %t8395, i32 8, i32 %t8394 %t8397 = getelementptr ptr, ptr null, i32 1 %t8398 = ptrtoint ptr %t8397 to i64 %t8399 = zext i32 %t8396 to i64 %t8400 = mul i64 %t8399, %t8398 %t8401 = load ptr, ptr %t8390 %t8402 = call ptr @realloc(ptr %t8401, i64 %t8400) store ptr %t8402, ptr %t8390 store i32 %t8396, ptr %t8389 br label %put1762 put1762: %t8403 = load ptr, ptr %t8390 %t8404 = getelementptr inbounds ptr, ptr %t8403, i32 %t8391 store ptr @.str8224, ptr %t8404 %t8405 = add i32 %t8391, 1 store i32 %t8405, ptr %t8388 br label %ifend1760 ifend1760: %t8406 = load ptr, ptr %t1 %t8407 = call i32 @lp_str_eq(ptr %t8406, ptr @.str8225) %t8408 = icmp ne i32 %t8407, 0 br i1 %t8408, label %then1763, label %ifend1765 then1763: store ptr @.str8226, ptr %t403 %t8409 = load ptr, ptr %t410 %t8410 = getelementptr inbounds %LSlice, ptr %t8409, i32 0, i32 1 %t8411 = getelementptr inbounds %LSlice, ptr %t8409, i32 0, i32 2 %t8412 = getelementptr inbounds %LSlice, ptr %t8409, i32 0, i32 0 %t8413 = load i32, ptr %t8410 %t8414 = load i32, ptr %t8411 %t8415 = icmp sge i32 %t8413, %t8414 br i1 %t8415, label %grow1766, label %put1767 grow1766: %t8416 = mul i32 %t8414, 2 %t8417 = icmp eq i32 %t8414, 0 %t8418 = select i1 %t8417, i32 8, i32 %t8416 %t8419 = getelementptr ptr, ptr null, i32 1 %t8420 = ptrtoint ptr %t8419 to i64 %t8421 = zext i32 %t8418 to i64 %t8422 = mul i64 %t8421, %t8420 %t8423 = load ptr, ptr %t8412 %t8424 = call ptr @realloc(ptr %t8423, i64 %t8422) store ptr %t8424, ptr %t8412 store i32 %t8418, ptr %t8411 br label %put1767 put1767: %t8425 = load ptr, ptr %t8412 %t8426 = getelementptr inbounds ptr, ptr %t8425, i32 %t8413 store ptr @.str8227, ptr %t8426 %t8427 = add i32 %t8413, 1 store i32 %t8427, ptr %t8410 br label %ifend1765 ifend1765: %t8428 = load ptr, ptr %t1 %t8429 = call i32 @lp_str_eq(ptr %t8428, ptr @.str8228) %t8430 = icmp ne i32 %t8429, 0 br i1 %t8430, label %then1768, label %ifend1770 then1768: store ptr @.str8229, ptr %t403 %t8431 = load ptr, ptr %t410 %t8432 = getelementptr inbounds %LSlice, ptr %t8431, i32 0, i32 1 %t8433 = getelementptr inbounds %LSlice, ptr %t8431, i32 0, i32 2 %t8434 = getelementptr inbounds %LSlice, ptr %t8431, i32 0, i32 0 %t8435 = load i32, ptr %t8432 %t8436 = load i32, ptr %t8433 %t8437 = icmp sge i32 %t8435, %t8436 br i1 %t8437, label %grow1771, label %put1772 grow1771: %t8438 = mul i32 %t8436, 2 %t8439 = icmp eq i32 %t8436, 0 %t8440 = select i1 %t8439, i32 8, i32 %t8438 %t8441 = getelementptr ptr, ptr null, i32 1 %t8442 = ptrtoint ptr %t8441 to i64 %t8443 = zext i32 %t8440 to i64 %t8444 = mul i64 %t8443, %t8442 %t8445 = load ptr, ptr %t8434 %t8446 = call ptr @realloc(ptr %t8445, i64 %t8444) store ptr %t8446, ptr %t8434 store i32 %t8440, ptr %t8433 br label %put1772 put1772: %t8447 = load ptr, ptr %t8434 %t8448 = getelementptr inbounds ptr, ptr %t8447, i32 %t8435 store ptr @.str8230, ptr %t8448 %t8449 = add i32 %t8435, 1 store i32 %t8449, ptr %t8432 br label %ifend1770 ifend1770: br label %ifend1715 ifend1715: %t8450 = load ptr, ptr %t0 %t8451 = call i32 @lp_str_eq(ptr %t8450, ptr @.str8231) %t8452 = icmp ne i32 %t8451, 0 br i1 %t8452, label %then1773, label %ifend1775 then1773: %t8453 = load ptr, ptr %t1 %t8454 = call i32 @lp_str_eq(ptr %t8453, ptr @.str8232) %t8455 = icmp ne i32 %t8454, 0 br i1 %t8455, label %then1776, label %ifend1778 then1776: store ptr @.str8233, ptr %t403 br label %ifend1778 ifend1778: %t8456 = load ptr, ptr %t1 %t8457 = call i32 @lp_str_eq(ptr %t8456, ptr @.str8234) %t8458 = icmp ne i32 %t8457, 0 br i1 %t8458, label %then1779, label %ifend1781 then1779: store ptr @.str8235, ptr %t403 %t8459 = load ptr, ptr %t410 %t8460 = getelementptr inbounds %LSlice, ptr %t8459, i32 0, i32 1 %t8461 = getelementptr inbounds %LSlice, ptr %t8459, i32 0, i32 2 %t8462 = getelementptr inbounds %LSlice, ptr %t8459, i32 0, i32 0 %t8463 = load i32, ptr %t8460 %t8464 = load i32, ptr %t8461 %t8465 = icmp sge i32 %t8463, %t8464 br i1 %t8465, label %grow1782, label %put1783 grow1782: %t8466 = mul i32 %t8464, 2 %t8467 = icmp eq i32 %t8464, 0 %t8468 = select i1 %t8467, i32 8, i32 %t8466 %t8469 = getelementptr ptr, ptr null, i32 1 %t8470 = ptrtoint ptr %t8469 to i64 %t8471 = zext i32 %t8468 to i64 %t8472 = mul i64 %t8471, %t8470 %t8473 = load ptr, ptr %t8462 %t8474 = call ptr @realloc(ptr %t8473, i64 %t8472) store ptr %t8474, ptr %t8462 store i32 %t8468, ptr %t8461 br label %put1783 put1783: %t8475 = load ptr, ptr %t8462 %t8476 = getelementptr inbounds ptr, ptr %t8475, i32 %t8463 store ptr @.str8236, ptr %t8476 %t8477 = add i32 %t8463, 1 store i32 %t8477, ptr %t8460 %t8478 = load ptr, ptr %t410 %t8479 = getelementptr inbounds %LSlice, ptr %t8478, i32 0, i32 1 %t8480 = getelementptr inbounds %LSlice, ptr %t8478, i32 0, i32 2 %t8481 = getelementptr inbounds %LSlice, ptr %t8478, i32 0, i32 0 %t8482 = load i32, ptr %t8479 %t8483 = load i32, ptr %t8480 %t8484 = icmp sge i32 %t8482, %t8483 br i1 %t8484, label %grow1784, label %put1785 grow1784: %t8485 = mul i32 %t8483, 2 %t8486 = icmp eq i32 %t8483, 0 %t8487 = select i1 %t8486, i32 8, i32 %t8485 %t8488 = getelementptr ptr, ptr null, i32 1 %t8489 = ptrtoint ptr %t8488 to i64 %t8490 = zext i32 %t8487 to i64 %t8491 = mul i64 %t8490, %t8489 %t8492 = load ptr, ptr %t8481 %t8493 = call ptr @realloc(ptr %t8492, i64 %t8491) store ptr %t8493, ptr %t8481 store i32 %t8487, ptr %t8480 br label %put1785 put1785: %t8494 = load ptr, ptr %t8481 %t8495 = getelementptr inbounds ptr, ptr %t8494, i32 %t8482 store ptr @.str8237, ptr %t8495 %t8496 = add i32 %t8482, 1 store i32 %t8496, ptr %t8479 br label %ifend1781 ifend1781: %t8497 = load ptr, ptr %t1 %t8498 = call i32 @lp_str_eq(ptr %t8497, ptr @.str8238) %t8499 = icmp ne i32 %t8498, 0 br i1 %t8499, label %then1786, label %ifend1788 then1786: store ptr @.str8239, ptr %t403 %t8500 = load ptr, ptr %t410 %t8501 = getelementptr inbounds %LSlice, ptr %t8500, i32 0, i32 1 %t8502 = getelementptr inbounds %LSlice, ptr %t8500, i32 0, i32 2 %t8503 = getelementptr inbounds %LSlice, ptr %t8500, i32 0, i32 0 %t8504 = load i32, ptr %t8501 %t8505 = load i32, ptr %t8502 %t8506 = icmp sge i32 %t8504, %t8505 br i1 %t8506, label %grow1789, label %put1790 grow1789: %t8507 = mul i32 %t8505, 2 %t8508 = icmp eq i32 %t8505, 0 %t8509 = select i1 %t8508, i32 8, i32 %t8507 %t8510 = getelementptr ptr, ptr null, i32 1 %t8511 = ptrtoint ptr %t8510 to i64 %t8512 = zext i32 %t8509 to i64 %t8513 = mul i64 %t8512, %t8511 %t8514 = load ptr, ptr %t8503 %t8515 = call ptr @realloc(ptr %t8514, i64 %t8513) store ptr %t8515, ptr %t8503 store i32 %t8509, ptr %t8502 br label %put1790 put1790: %t8516 = load ptr, ptr %t8503 %t8517 = getelementptr inbounds ptr, ptr %t8516, i32 %t8504 store ptr @.str8240, ptr %t8517 %t8518 = add i32 %t8504, 1 store i32 %t8518, ptr %t8501 %t8519 = load ptr, ptr %t410 %t8520 = getelementptr inbounds %LSlice, ptr %t8519, i32 0, i32 1 %t8521 = getelementptr inbounds %LSlice, ptr %t8519, i32 0, i32 2 %t8522 = getelementptr inbounds %LSlice, ptr %t8519, i32 0, i32 0 %t8523 = load i32, ptr %t8520 %t8524 = load i32, ptr %t8521 %t8525 = icmp sge i32 %t8523, %t8524 br i1 %t8525, label %grow1791, label %put1792 grow1791: %t8526 = mul i32 %t8524, 2 %t8527 = icmp eq i32 %t8524, 0 %t8528 = select i1 %t8527, i32 8, i32 %t8526 %t8529 = getelementptr ptr, ptr null, i32 1 %t8530 = ptrtoint ptr %t8529 to i64 %t8531 = zext i32 %t8528 to i64 %t8532 = mul i64 %t8531, %t8530 %t8533 = load ptr, ptr %t8522 %t8534 = call ptr @realloc(ptr %t8533, i64 %t8532) store ptr %t8534, ptr %t8522 store i32 %t8528, ptr %t8521 br label %put1792 put1792: %t8535 = load ptr, ptr %t8522 %t8536 = getelementptr inbounds ptr, ptr %t8535, i32 %t8523 store ptr @.str8241, ptr %t8536 %t8537 = add i32 %t8523, 1 store i32 %t8537, ptr %t8520 br label %ifend1788 ifend1788: %t8538 = load ptr, ptr %t1 %t8539 = call i32 @lp_str_eq(ptr %t8538, ptr @.str8242) %t8540 = icmp ne i32 %t8539, 0 br i1 %t8540, label %then1793, label %ifend1795 then1793: store ptr @.str8243, ptr %t403 %t8541 = load ptr, ptr %t410 %t8542 = getelementptr inbounds %LSlice, ptr %t8541, i32 0, i32 1 %t8543 = getelementptr inbounds %LSlice, ptr %t8541, i32 0, i32 2 %t8544 = getelementptr inbounds %LSlice, ptr %t8541, i32 0, i32 0 %t8545 = load i32, ptr %t8542 %t8546 = load i32, ptr %t8543 %t8547 = icmp sge i32 %t8545, %t8546 br i1 %t8547, label %grow1796, label %put1797 grow1796: %t8548 = mul i32 %t8546, 2 %t8549 = icmp eq i32 %t8546, 0 %t8550 = select i1 %t8549, i32 8, i32 %t8548 %t8551 = getelementptr ptr, ptr null, i32 1 %t8552 = ptrtoint ptr %t8551 to i64 %t8553 = zext i32 %t8550 to i64 %t8554 = mul i64 %t8553, %t8552 %t8555 = load ptr, ptr %t8544 %t8556 = call ptr @realloc(ptr %t8555, i64 %t8554) store ptr %t8556, ptr %t8544 store i32 %t8550, ptr %t8543 br label %put1797 put1797: %t8557 = load ptr, ptr %t8544 %t8558 = getelementptr inbounds ptr, ptr %t8557, i32 %t8545 store ptr @.str8244, ptr %t8558 %t8559 = add i32 %t8545, 1 store i32 %t8559, ptr %t8542 %t8560 = load ptr, ptr %t410 %t8561 = getelementptr inbounds %LSlice, ptr %t8560, i32 0, i32 1 %t8562 = getelementptr inbounds %LSlice, ptr %t8560, i32 0, i32 2 %t8563 = getelementptr inbounds %LSlice, ptr %t8560, i32 0, i32 0 %t8564 = load i32, ptr %t8561 %t8565 = load i32, ptr %t8562 %t8566 = icmp sge i32 %t8564, %t8565 br i1 %t8566, label %grow1798, label %put1799 grow1798: %t8567 = mul i32 %t8565, 2 %t8568 = icmp eq i32 %t8565, 0 %t8569 = select i1 %t8568, i32 8, i32 %t8567 %t8570 = getelementptr ptr, ptr null, i32 1 %t8571 = ptrtoint ptr %t8570 to i64 %t8572 = zext i32 %t8569 to i64 %t8573 = mul i64 %t8572, %t8571 %t8574 = load ptr, ptr %t8563 %t8575 = call ptr @realloc(ptr %t8574, i64 %t8573) store ptr %t8575, ptr %t8563 store i32 %t8569, ptr %t8562 br label %put1799 put1799: %t8576 = load ptr, ptr %t8563 %t8577 = getelementptr inbounds ptr, ptr %t8576, i32 %t8564 store ptr @.str8245, ptr %t8577 %t8578 = add i32 %t8564, 1 store i32 %t8578, ptr %t8561 br label %ifend1795 ifend1795: %t8579 = load ptr, ptr %t1 %t8580 = call i32 @lp_str_eq(ptr %t8579, ptr @.str8246) %t8581 = icmp ne i32 %t8580, 0 br i1 %t8581, label %then1800, label %ifend1802 then1800: store ptr @.str8247, ptr %t403 %t8582 = load ptr, ptr %t410 %t8583 = getelementptr inbounds %LSlice, ptr %t8582, i32 0, i32 1 %t8584 = getelementptr inbounds %LSlice, ptr %t8582, i32 0, i32 2 %t8585 = getelementptr inbounds %LSlice, ptr %t8582, i32 0, i32 0 %t8586 = load i32, ptr %t8583 %t8587 = load i32, ptr %t8584 %t8588 = icmp sge i32 %t8586, %t8587 br i1 %t8588, label %grow1803, label %put1804 grow1803: %t8589 = mul i32 %t8587, 2 %t8590 = icmp eq i32 %t8587, 0 %t8591 = select i1 %t8590, i32 8, i32 %t8589 %t8592 = getelementptr ptr, ptr null, i32 1 %t8593 = ptrtoint ptr %t8592 to i64 %t8594 = zext i32 %t8591 to i64 %t8595 = mul i64 %t8594, %t8593 %t8596 = load ptr, ptr %t8585 %t8597 = call ptr @realloc(ptr %t8596, i64 %t8595) store ptr %t8597, ptr %t8585 store i32 %t8591, ptr %t8584 br label %put1804 put1804: %t8598 = load ptr, ptr %t8585 %t8599 = getelementptr inbounds ptr, ptr %t8598, i32 %t8586 store ptr @.str8248, ptr %t8599 %t8600 = add i32 %t8586, 1 store i32 %t8600, ptr %t8583 br label %ifend1802 ifend1802: %t8601 = load ptr, ptr %t1 %t8602 = call i32 @lp_str_eq(ptr %t8601, ptr @.str8249) %t8603 = icmp ne i32 %t8602, 0 br i1 %t8603, label %then1805, label %ifend1807 then1805: store ptr @.str8250, ptr %t403 %t8604 = load ptr, ptr %t410 %t8605 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 1 %t8606 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 2 %t8607 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 0 %t8608 = load i32, ptr %t8605 %t8609 = load i32, ptr %t8606 %t8610 = icmp sge i32 %t8608, %t8609 br i1 %t8610, label %grow1808, label %put1809 grow1808: %t8611 = mul i32 %t8609, 2 %t8612 = icmp eq i32 %t8609, 0 %t8613 = select i1 %t8612, i32 8, i32 %t8611 %t8614 = getelementptr ptr, ptr null, i32 1 %t8615 = ptrtoint ptr %t8614 to i64 %t8616 = zext i32 %t8613 to i64 %t8617 = mul i64 %t8616, %t8615 %t8618 = load ptr, ptr %t8607 %t8619 = call ptr @realloc(ptr %t8618, i64 %t8617) store ptr %t8619, ptr %t8607 store i32 %t8613, ptr %t8606 br label %put1809 put1809: %t8620 = load ptr, ptr %t8607 %t8621 = getelementptr inbounds ptr, ptr %t8620, i32 %t8608 store ptr @.str8251, ptr %t8621 %t8622 = add i32 %t8608, 1 store i32 %t8622, ptr %t8605 br label %ifend1807 ifend1807: %t8623 = load ptr, ptr %t1 %t8624 = call i32 @lp_str_eq(ptr %t8623, ptr @.str8252) %t8625 = icmp ne i32 %t8624, 0 br i1 %t8625, label %then1810, label %ifend1812 then1810: store ptr @.str8253, ptr %t403 %t8626 = load ptr, ptr %t410 %t8627 = getelementptr inbounds %LSlice, ptr %t8626, i32 0, i32 1 %t8628 = getelementptr inbounds %LSlice, ptr %t8626, i32 0, i32 2 %t8629 = getelementptr inbounds %LSlice, ptr %t8626, i32 0, i32 0 %t8630 = load i32, ptr %t8627 %t8631 = load i32, ptr %t8628 %t8632 = icmp sge i32 %t8630, %t8631 br i1 %t8632, label %grow1813, label %put1814 grow1813: %t8633 = mul i32 %t8631, 2 %t8634 = icmp eq i32 %t8631, 0 %t8635 = select i1 %t8634, i32 8, i32 %t8633 %t8636 = getelementptr ptr, ptr null, i32 1 %t8637 = ptrtoint ptr %t8636 to i64 %t8638 = zext i32 %t8635 to i64 %t8639 = mul i64 %t8638, %t8637 %t8640 = load ptr, ptr %t8629 %t8641 = call ptr @realloc(ptr %t8640, i64 %t8639) store ptr %t8641, ptr %t8629 store i32 %t8635, ptr %t8628 br label %put1814 put1814: %t8642 = load ptr, ptr %t8629 %t8643 = getelementptr inbounds ptr, ptr %t8642, i32 %t8630 store ptr @.str8254, ptr %t8643 %t8644 = add i32 %t8630, 1 store i32 %t8644, ptr %t8627 br label %ifend1812 ifend1812: br label %ifend1775 ifend1775: %t8645 = load ptr, ptr %t0 %t8646 = call i32 @lp_str_eq(ptr %t8645, ptr @.str8255) %t8647 = icmp ne i32 %t8646, 0 br i1 %t8647, label %then1815, label %ifend1817 then1815: %t8648 = load ptr, ptr %t1 %t8649 = call i32 @lp_str_eq(ptr %t8648, ptr @.str8256) %t8650 = icmp ne i32 %t8649, 0 br i1 %t8650, label %then1818, label %ifend1820 then1818: store ptr @.str8257, ptr %t403 br label %ifend1820 ifend1820: %t8651 = load ptr, ptr %t1 %t8652 = call i32 @lp_str_eq(ptr %t8651, ptr @.str8258) %t8653 = icmp ne i32 %t8652, 0 br i1 %t8653, label %then1821, label %ifend1823 then1821: store ptr @.str8259, ptr %t403 %t8654 = load ptr, ptr %t410 %t8655 = getelementptr inbounds %LSlice, ptr %t8654, i32 0, i32 1 %t8656 = getelementptr inbounds %LSlice, ptr %t8654, i32 0, i32 2 %t8657 = getelementptr inbounds %LSlice, ptr %t8654, i32 0, i32 0 %t8658 = load i32, ptr %t8655 %t8659 = load i32, ptr %t8656 %t8660 = icmp sge i32 %t8658, %t8659 br i1 %t8660, label %grow1824, label %put1825 grow1824: %t8661 = mul i32 %t8659, 2 %t8662 = icmp eq i32 %t8659, 0 %t8663 = select i1 %t8662, i32 8, i32 %t8661 %t8664 = getelementptr ptr, ptr null, i32 1 %t8665 = ptrtoint ptr %t8664 to i64 %t8666 = zext i32 %t8663 to i64 %t8667 = mul i64 %t8666, %t8665 %t8668 = load ptr, ptr %t8657 %t8669 = call ptr @realloc(ptr %t8668, i64 %t8667) store ptr %t8669, ptr %t8657 store i32 %t8663, ptr %t8656 br label %put1825 put1825: %t8670 = load ptr, ptr %t8657 %t8671 = getelementptr inbounds ptr, ptr %t8670, i32 %t8658 store ptr @.str8260, ptr %t8671 %t8672 = add i32 %t8658, 1 store i32 %t8672, ptr %t8655 %t8673 = load ptr, ptr %t410 %t8674 = getelementptr inbounds %LSlice, ptr %t8673, i32 0, i32 1 %t8675 = getelementptr inbounds %LSlice, ptr %t8673, i32 0, i32 2 %t8676 = getelementptr inbounds %LSlice, ptr %t8673, i32 0, i32 0 %t8677 = load i32, ptr %t8674 %t8678 = load i32, ptr %t8675 %t8679 = icmp sge i32 %t8677, %t8678 br i1 %t8679, label %grow1826, label %put1827 grow1826: %t8680 = mul i32 %t8678, 2 %t8681 = icmp eq i32 %t8678, 0 %t8682 = select i1 %t8681, i32 8, i32 %t8680 %t8683 = getelementptr ptr, ptr null, i32 1 %t8684 = ptrtoint ptr %t8683 to i64 %t8685 = zext i32 %t8682 to i64 %t8686 = mul i64 %t8685, %t8684 %t8687 = load ptr, ptr %t8676 %t8688 = call ptr @realloc(ptr %t8687, i64 %t8686) store ptr %t8688, ptr %t8676 store i32 %t8682, ptr %t8675 br label %put1827 put1827: %t8689 = load ptr, ptr %t8676 %t8690 = getelementptr inbounds ptr, ptr %t8689, i32 %t8677 store ptr @.str8261, ptr %t8690 %t8691 = add i32 %t8677, 1 store i32 %t8691, ptr %t8674 br label %ifend1823 ifend1823: %t8692 = load ptr, ptr %t1 %t8693 = call i32 @lp_str_eq(ptr %t8692, ptr @.str8262) %t8694 = icmp ne i32 %t8693, 0 br i1 %t8694, label %then1828, label %ifend1830 then1828: store ptr @.str8263, ptr %t403 %t8695 = load ptr, ptr %t410 %t8696 = getelementptr inbounds %LSlice, ptr %t8695, i32 0, i32 1 %t8697 = getelementptr inbounds %LSlice, ptr %t8695, i32 0, i32 2 %t8698 = getelementptr inbounds %LSlice, ptr %t8695, i32 0, i32 0 %t8699 = load i32, ptr %t8696 %t8700 = load i32, ptr %t8697 %t8701 = icmp sge i32 %t8699, %t8700 br i1 %t8701, label %grow1831, label %put1832 grow1831: %t8702 = mul i32 %t8700, 2 %t8703 = icmp eq i32 %t8700, 0 %t8704 = select i1 %t8703, i32 8, i32 %t8702 %t8705 = getelementptr ptr, ptr null, i32 1 %t8706 = ptrtoint ptr %t8705 to i64 %t8707 = zext i32 %t8704 to i64 %t8708 = mul i64 %t8707, %t8706 %t8709 = load ptr, ptr %t8698 %t8710 = call ptr @realloc(ptr %t8709, i64 %t8708) store ptr %t8710, ptr %t8698 store i32 %t8704, ptr %t8697 br label %put1832 put1832: %t8711 = load ptr, ptr %t8698 %t8712 = getelementptr inbounds ptr, ptr %t8711, i32 %t8699 store ptr @.str8264, ptr %t8712 %t8713 = add i32 %t8699, 1 store i32 %t8713, ptr %t8696 %t8714 = load ptr, ptr %t410 %t8715 = getelementptr inbounds %LSlice, ptr %t8714, i32 0, i32 1 %t8716 = getelementptr inbounds %LSlice, ptr %t8714, i32 0, i32 2 %t8717 = getelementptr inbounds %LSlice, ptr %t8714, i32 0, i32 0 %t8718 = load i32, ptr %t8715 %t8719 = load i32, ptr %t8716 %t8720 = icmp sge i32 %t8718, %t8719 br i1 %t8720, label %grow1833, label %put1834 grow1833: %t8721 = mul i32 %t8719, 2 %t8722 = icmp eq i32 %t8719, 0 %t8723 = select i1 %t8722, i32 8, i32 %t8721 %t8724 = getelementptr ptr, ptr null, i32 1 %t8725 = ptrtoint ptr %t8724 to i64 %t8726 = zext i32 %t8723 to i64 %t8727 = mul i64 %t8726, %t8725 %t8728 = load ptr, ptr %t8717 %t8729 = call ptr @realloc(ptr %t8728, i64 %t8727) store ptr %t8729, ptr %t8717 store i32 %t8723, ptr %t8716 br label %put1834 put1834: %t8730 = load ptr, ptr %t8717 %t8731 = getelementptr inbounds ptr, ptr %t8730, i32 %t8718 store ptr @.str8265, ptr %t8731 %t8732 = add i32 %t8718, 1 store i32 %t8732, ptr %t8715 br label %ifend1830 ifend1830: %t8733 = load ptr, ptr %t1 %t8734 = call i32 @lp_str_eq(ptr %t8733, ptr @.str8266) %t8735 = icmp ne i32 %t8734, 0 br i1 %t8735, label %then1835, label %ifend1837 then1835: store ptr @.str8267, ptr %t403 %t8736 = load ptr, ptr %t410 %t8737 = getelementptr inbounds %LSlice, ptr %t8736, i32 0, i32 1 %t8738 = getelementptr inbounds %LSlice, ptr %t8736, i32 0, i32 2 %t8739 = getelementptr inbounds %LSlice, ptr %t8736, i32 0, i32 0 %t8740 = load i32, ptr %t8737 %t8741 = load i32, ptr %t8738 %t8742 = icmp sge i32 %t8740, %t8741 br i1 %t8742, label %grow1838, label %put1839 grow1838: %t8743 = mul i32 %t8741, 2 %t8744 = icmp eq i32 %t8741, 0 %t8745 = select i1 %t8744, i32 8, i32 %t8743 %t8746 = getelementptr ptr, ptr null, i32 1 %t8747 = ptrtoint ptr %t8746 to i64 %t8748 = zext i32 %t8745 to i64 %t8749 = mul i64 %t8748, %t8747 %t8750 = load ptr, ptr %t8739 %t8751 = call ptr @realloc(ptr %t8750, i64 %t8749) store ptr %t8751, ptr %t8739 store i32 %t8745, ptr %t8738 br label %put1839 put1839: %t8752 = load ptr, ptr %t8739 %t8753 = getelementptr inbounds ptr, ptr %t8752, i32 %t8740 store ptr @.str8268, ptr %t8753 %t8754 = add i32 %t8740, 1 store i32 %t8754, ptr %t8737 %t8755 = load ptr, ptr %t410 %t8756 = getelementptr inbounds %LSlice, ptr %t8755, i32 0, i32 1 %t8757 = getelementptr inbounds %LSlice, ptr %t8755, i32 0, i32 2 %t8758 = getelementptr inbounds %LSlice, ptr %t8755, i32 0, i32 0 %t8759 = load i32, ptr %t8756 %t8760 = load i32, ptr %t8757 %t8761 = icmp sge i32 %t8759, %t8760 br i1 %t8761, label %grow1840, label %put1841 grow1840: %t8762 = mul i32 %t8760, 2 %t8763 = icmp eq i32 %t8760, 0 %t8764 = select i1 %t8763, i32 8, i32 %t8762 %t8765 = getelementptr ptr, ptr null, i32 1 %t8766 = ptrtoint ptr %t8765 to i64 %t8767 = zext i32 %t8764 to i64 %t8768 = mul i64 %t8767, %t8766 %t8769 = load ptr, ptr %t8758 %t8770 = call ptr @realloc(ptr %t8769, i64 %t8768) store ptr %t8770, ptr %t8758 store i32 %t8764, ptr %t8757 br label %put1841 put1841: %t8771 = load ptr, ptr %t8758 %t8772 = getelementptr inbounds ptr, ptr %t8771, i32 %t8759 store ptr @.str8269, ptr %t8772 %t8773 = add i32 %t8759, 1 store i32 %t8773, ptr %t8756 br label %ifend1837 ifend1837: %t8774 = load ptr, ptr %t1 %t8775 = call i32 @lp_str_eq(ptr %t8774, ptr @.str8270) %t8776 = icmp ne i32 %t8775, 0 br i1 %t8776, label %then1842, label %ifend1844 then1842: store ptr @.str8271, ptr %t403 %t8777 = load ptr, ptr %t410 %t8778 = getelementptr inbounds %LSlice, ptr %t8777, i32 0, i32 1 %t8779 = getelementptr inbounds %LSlice, ptr %t8777, i32 0, i32 2 %t8780 = getelementptr inbounds %LSlice, ptr %t8777, i32 0, i32 0 %t8781 = load i32, ptr %t8778 %t8782 = load i32, ptr %t8779 %t8783 = icmp sge i32 %t8781, %t8782 br i1 %t8783, label %grow1845, label %put1846 grow1845: %t8784 = mul i32 %t8782, 2 %t8785 = icmp eq i32 %t8782, 0 %t8786 = select i1 %t8785, i32 8, i32 %t8784 %t8787 = getelementptr ptr, ptr null, i32 1 %t8788 = ptrtoint ptr %t8787 to i64 %t8789 = zext i32 %t8786 to i64 %t8790 = mul i64 %t8789, %t8788 %t8791 = load ptr, ptr %t8780 %t8792 = call ptr @realloc(ptr %t8791, i64 %t8790) store ptr %t8792, ptr %t8780 store i32 %t8786, ptr %t8779 br label %put1846 put1846: %t8793 = load ptr, ptr %t8780 %t8794 = getelementptr inbounds ptr, ptr %t8793, i32 %t8781 store ptr @.str8272, ptr %t8794 %t8795 = add i32 %t8781, 1 store i32 %t8795, ptr %t8778 br label %ifend1844 ifend1844: %t8796 = load ptr, ptr %t1 %t8797 = call i32 @lp_str_eq(ptr %t8796, ptr @.str8273) %t8798 = icmp ne i32 %t8797, 0 br i1 %t8798, label %then1847, label %ifend1849 then1847: store ptr @.str8274, ptr %t403 %t8799 = load ptr, ptr %t410 %t8800 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 1 %t8801 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 2 %t8802 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 0 %t8803 = load i32, ptr %t8800 %t8804 = load i32, ptr %t8801 %t8805 = icmp sge i32 %t8803, %t8804 br i1 %t8805, label %grow1850, label %put1851 grow1850: %t8806 = mul i32 %t8804, 2 %t8807 = icmp eq i32 %t8804, 0 %t8808 = select i1 %t8807, i32 8, i32 %t8806 %t8809 = getelementptr ptr, ptr null, i32 1 %t8810 = ptrtoint ptr %t8809 to i64 %t8811 = zext i32 %t8808 to i64 %t8812 = mul i64 %t8811, %t8810 %t8813 = load ptr, ptr %t8802 %t8814 = call ptr @realloc(ptr %t8813, i64 %t8812) store ptr %t8814, ptr %t8802 store i32 %t8808, ptr %t8801 br label %put1851 put1851: %t8815 = load ptr, ptr %t8802 %t8816 = getelementptr inbounds ptr, ptr %t8815, i32 %t8803 store ptr @.str8275, ptr %t8816 %t8817 = add i32 %t8803, 1 store i32 %t8817, ptr %t8800 br label %ifend1849 ifend1849: %t8818 = load ptr, ptr %t1 %t8819 = call i32 @lp_str_eq(ptr %t8818, ptr @.str8276) %t8820 = icmp ne i32 %t8819, 0 br i1 %t8820, label %then1852, label %ifend1854 then1852: store ptr @.str8277, ptr %t403 %t8821 = load ptr, ptr %t410 %t8822 = getelementptr inbounds %LSlice, ptr %t8821, i32 0, i32 1 %t8823 = getelementptr inbounds %LSlice, ptr %t8821, i32 0, i32 2 %t8824 = getelementptr inbounds %LSlice, ptr %t8821, i32 0, i32 0 %t8825 = load i32, ptr %t8822 %t8826 = load i32, ptr %t8823 %t8827 = icmp sge i32 %t8825, %t8826 br i1 %t8827, label %grow1855, label %put1856 grow1855: %t8828 = mul i32 %t8826, 2 %t8829 = icmp eq i32 %t8826, 0 %t8830 = select i1 %t8829, i32 8, i32 %t8828 %t8831 = getelementptr ptr, ptr null, i32 1 %t8832 = ptrtoint ptr %t8831 to i64 %t8833 = zext i32 %t8830 to i64 %t8834 = mul i64 %t8833, %t8832 %t8835 = load ptr, ptr %t8824 %t8836 = call ptr @realloc(ptr %t8835, i64 %t8834) store ptr %t8836, ptr %t8824 store i32 %t8830, ptr %t8823 br label %put1856 put1856: %t8837 = load ptr, ptr %t8824 %t8838 = getelementptr inbounds ptr, ptr %t8837, i32 %t8825 store ptr @.str8278, ptr %t8838 %t8839 = add i32 %t8825, 1 store i32 %t8839, ptr %t8822 br label %ifend1854 ifend1854: %t8840 = load ptr, ptr %t1 %t8841 = call i32 @lp_str_eq(ptr %t8840, ptr @.str8279) %t8842 = icmp ne i32 %t8841, 0 br i1 %t8842, label %then1857, label %ifend1859 then1857: store ptr @.str8280, ptr %t403 %t8843 = load ptr, ptr %t410 %t8844 = getelementptr inbounds %LSlice, ptr %t8843, i32 0, i32 1 %t8845 = getelementptr inbounds %LSlice, ptr %t8843, i32 0, i32 2 %t8846 = getelementptr inbounds %LSlice, ptr %t8843, i32 0, i32 0 %t8847 = load i32, ptr %t8844 %t8848 = load i32, ptr %t8845 %t8849 = icmp sge i32 %t8847, %t8848 br i1 %t8849, label %grow1860, label %put1861 grow1860: %t8850 = mul i32 %t8848, 2 %t8851 = icmp eq i32 %t8848, 0 %t8852 = select i1 %t8851, i32 8, i32 %t8850 %t8853 = getelementptr ptr, ptr null, i32 1 %t8854 = ptrtoint ptr %t8853 to i64 %t8855 = zext i32 %t8852 to i64 %t8856 = mul i64 %t8855, %t8854 %t8857 = load ptr, ptr %t8846 %t8858 = call ptr @realloc(ptr %t8857, i64 %t8856) store ptr %t8858, ptr %t8846 store i32 %t8852, ptr %t8845 br label %put1861 put1861: %t8859 = load ptr, ptr %t8846 %t8860 = getelementptr inbounds ptr, ptr %t8859, i32 %t8847 store ptr @.str8281, ptr %t8860 %t8861 = add i32 %t8847, 1 store i32 %t8861, ptr %t8844 br label %ifend1859 ifend1859: %t8862 = load ptr, ptr %t1 %t8863 = call i32 @lp_str_eq(ptr %t8862, ptr @.str8282) %t8864 = icmp ne i32 %t8863, 0 br i1 %t8864, label %then1862, label %ifend1864 then1862: store ptr @.str8283, ptr %t403 %t8865 = load ptr, ptr %t410 %t8866 = getelementptr inbounds %LSlice, ptr %t8865, i32 0, i32 1 %t8867 = getelementptr inbounds %LSlice, ptr %t8865, i32 0, i32 2 %t8868 = getelementptr inbounds %LSlice, ptr %t8865, i32 0, i32 0 %t8869 = load i32, ptr %t8866 %t8870 = load i32, ptr %t8867 %t8871 = icmp sge i32 %t8869, %t8870 br i1 %t8871, label %grow1865, label %put1866 grow1865: %t8872 = mul i32 %t8870, 2 %t8873 = icmp eq i32 %t8870, 0 %t8874 = select i1 %t8873, i32 8, i32 %t8872 %t8875 = getelementptr ptr, ptr null, i32 1 %t8876 = ptrtoint ptr %t8875 to i64 %t8877 = zext i32 %t8874 to i64 %t8878 = mul i64 %t8877, %t8876 %t8879 = load ptr, ptr %t8868 %t8880 = call ptr @realloc(ptr %t8879, i64 %t8878) store ptr %t8880, ptr %t8868 store i32 %t8874, ptr %t8867 br label %put1866 put1866: %t8881 = load ptr, ptr %t8868 %t8882 = getelementptr inbounds ptr, ptr %t8881, i32 %t8869 store ptr @.str8284, ptr %t8882 %t8883 = add i32 %t8869, 1 store i32 %t8883, ptr %t8866 br label %ifend1864 ifend1864: %t8884 = load ptr, ptr %t1 %t8885 = call i32 @lp_str_eq(ptr %t8884, ptr @.str8285) %t8886 = icmp ne i32 %t8885, 0 br i1 %t8886, label %then1867, label %ifend1869 then1867: store ptr @.str8286, ptr %t403 %t8887 = load ptr, ptr %t410 %t8888 = getelementptr inbounds %LSlice, ptr %t8887, i32 0, i32 1 %t8889 = getelementptr inbounds %LSlice, ptr %t8887, i32 0, i32 2 %t8890 = getelementptr inbounds %LSlice, ptr %t8887, i32 0, i32 0 %t8891 = load i32, ptr %t8888 %t8892 = load i32, ptr %t8889 %t8893 = icmp sge i32 %t8891, %t8892 br i1 %t8893, label %grow1870, label %put1871 grow1870: %t8894 = mul i32 %t8892, 2 %t8895 = icmp eq i32 %t8892, 0 %t8896 = select i1 %t8895, i32 8, i32 %t8894 %t8897 = getelementptr ptr, ptr null, i32 1 %t8898 = ptrtoint ptr %t8897 to i64 %t8899 = zext i32 %t8896 to i64 %t8900 = mul i64 %t8899, %t8898 %t8901 = load ptr, ptr %t8890 %t8902 = call ptr @realloc(ptr %t8901, i64 %t8900) store ptr %t8902, ptr %t8890 store i32 %t8896, ptr %t8889 br label %put1871 put1871: %t8903 = load ptr, ptr %t8890 %t8904 = getelementptr inbounds ptr, ptr %t8903, i32 %t8891 store ptr @.str8287, ptr %t8904 %t8905 = add i32 %t8891, 1 store i32 %t8905, ptr %t8888 br label %ifend1869 ifend1869: %t8906 = load ptr, ptr %t1 %t8907 = call i32 @lp_str_eq(ptr %t8906, ptr @.str8288) %t8908 = icmp ne i32 %t8907, 0 br i1 %t8908, label %then1872, label %ifend1874 then1872: store ptr @.str8289, ptr %t403 %t8909 = load ptr, ptr %t410 %t8910 = getelementptr inbounds %LSlice, ptr %t8909, i32 0, i32 1 %t8911 = getelementptr inbounds %LSlice, ptr %t8909, i32 0, i32 2 %t8912 = getelementptr inbounds %LSlice, ptr %t8909, i32 0, i32 0 %t8913 = load i32, ptr %t8910 %t8914 = load i32, ptr %t8911 %t8915 = icmp sge i32 %t8913, %t8914 br i1 %t8915, label %grow1875, label %put1876 grow1875: %t8916 = mul i32 %t8914, 2 %t8917 = icmp eq i32 %t8914, 0 %t8918 = select i1 %t8917, i32 8, i32 %t8916 %t8919 = getelementptr ptr, ptr null, i32 1 %t8920 = ptrtoint ptr %t8919 to i64 %t8921 = zext i32 %t8918 to i64 %t8922 = mul i64 %t8921, %t8920 %t8923 = load ptr, ptr %t8912 %t8924 = call ptr @realloc(ptr %t8923, i64 %t8922) store ptr %t8924, ptr %t8912 store i32 %t8918, ptr %t8911 br label %put1876 put1876: %t8925 = load ptr, ptr %t8912 %t8926 = getelementptr inbounds ptr, ptr %t8925, i32 %t8913 store ptr @.str8290, ptr %t8926 %t8927 = add i32 %t8913, 1 store i32 %t8927, ptr %t8910 br label %ifend1874 ifend1874: %t8928 = load ptr, ptr %t1 %t8929 = call i32 @lp_str_eq(ptr %t8928, ptr @.str8291) %t8930 = icmp ne i32 %t8929, 0 br i1 %t8930, label %then1877, label %ifend1879 then1877: store ptr @.str8292, ptr %t403 %t8931 = load ptr, ptr %t410 %t8932 = getelementptr inbounds %LSlice, ptr %t8931, i32 0, i32 1 %t8933 = getelementptr inbounds %LSlice, ptr %t8931, i32 0, i32 2 %t8934 = getelementptr inbounds %LSlice, ptr %t8931, i32 0, i32 0 %t8935 = load i32, ptr %t8932 %t8936 = load i32, ptr %t8933 %t8937 = icmp sge i32 %t8935, %t8936 br i1 %t8937, label %grow1880, label %put1881 grow1880: %t8938 = mul i32 %t8936, 2 %t8939 = icmp eq i32 %t8936, 0 %t8940 = select i1 %t8939, i32 8, i32 %t8938 %t8941 = getelementptr ptr, ptr null, i32 1 %t8942 = ptrtoint ptr %t8941 to i64 %t8943 = zext i32 %t8940 to i64 %t8944 = mul i64 %t8943, %t8942 %t8945 = load ptr, ptr %t8934 %t8946 = call ptr @realloc(ptr %t8945, i64 %t8944) store ptr %t8946, ptr %t8934 store i32 %t8940, ptr %t8933 br label %put1881 put1881: %t8947 = load ptr, ptr %t8934 %t8948 = getelementptr inbounds ptr, ptr %t8947, i32 %t8935 store ptr @.str8293, ptr %t8948 %t8949 = add i32 %t8935, 1 store i32 %t8949, ptr %t8932 br label %ifend1879 ifend1879: %t8950 = load ptr, ptr %t1 %t8951 = call i32 @lp_str_eq(ptr %t8950, ptr @.str8294) %t8952 = icmp ne i32 %t8951, 0 br i1 %t8952, label %then1882, label %ifend1884 then1882: store ptr @.str8295, ptr %t403 br label %ifend1884 ifend1884: %t8953 = load ptr, ptr %t1 %t8954 = call i32 @lp_str_eq(ptr %t8953, ptr @.str8296) %t8955 = icmp ne i32 %t8954, 0 br i1 %t8955, label %then1885, label %ifend1887 then1885: store ptr @.str8297, ptr %t403 %t8956 = load ptr, ptr %t410 %t8957 = getelementptr inbounds %LSlice, ptr %t8956, i32 0, i32 1 %t8958 = getelementptr inbounds %LSlice, ptr %t8956, i32 0, i32 2 %t8959 = getelementptr inbounds %LSlice, ptr %t8956, i32 0, i32 0 %t8960 = load i32, ptr %t8957 %t8961 = load i32, ptr %t8958 %t8962 = icmp sge i32 %t8960, %t8961 br i1 %t8962, label %grow1888, label %put1889 grow1888: %t8963 = mul i32 %t8961, 2 %t8964 = icmp eq i32 %t8961, 0 %t8965 = select i1 %t8964, i32 8, i32 %t8963 %t8966 = getelementptr ptr, ptr null, i32 1 %t8967 = ptrtoint ptr %t8966 to i64 %t8968 = zext i32 %t8965 to i64 %t8969 = mul i64 %t8968, %t8967 %t8970 = load ptr, ptr %t8959 %t8971 = call ptr @realloc(ptr %t8970, i64 %t8969) store ptr %t8971, ptr %t8959 store i32 %t8965, ptr %t8958 br label %put1889 put1889: %t8972 = load ptr, ptr %t8959 %t8973 = getelementptr inbounds ptr, ptr %t8972, i32 %t8960 store ptr @.str8298, ptr %t8973 %t8974 = add i32 %t8960, 1 store i32 %t8974, ptr %t8957 br label %ifend1887 ifend1887: %t8975 = load ptr, ptr %t1 %t8976 = call i32 @lp_str_eq(ptr %t8975, ptr @.str8299) %t8977 = icmp ne i32 %t8976, 0 br i1 %t8977, label %then1890, label %ifend1892 then1890: store ptr @.str8300, ptr %t403 %t8978 = load ptr, ptr %t410 %t8979 = getelementptr inbounds %LSlice, ptr %t8978, i32 0, i32 1 %t8980 = getelementptr inbounds %LSlice, ptr %t8978, i32 0, i32 2 %t8981 = getelementptr inbounds %LSlice, ptr %t8978, i32 0, i32 0 %t8982 = load i32, ptr %t8979 %t8983 = load i32, ptr %t8980 %t8984 = icmp sge i32 %t8982, %t8983 br i1 %t8984, label %grow1893, label %put1894 grow1893: %t8985 = mul i32 %t8983, 2 %t8986 = icmp eq i32 %t8983, 0 %t8987 = select i1 %t8986, i32 8, i32 %t8985 %t8988 = getelementptr ptr, ptr null, i32 1 %t8989 = ptrtoint ptr %t8988 to i64 %t8990 = zext i32 %t8987 to i64 %t8991 = mul i64 %t8990, %t8989 %t8992 = load ptr, ptr %t8981 %t8993 = call ptr @realloc(ptr %t8992, i64 %t8991) store ptr %t8993, ptr %t8981 store i32 %t8987, ptr %t8980 br label %put1894 put1894: %t8994 = load ptr, ptr %t8981 %t8995 = getelementptr inbounds ptr, ptr %t8994, i32 %t8982 store ptr @.str8301, ptr %t8995 %t8996 = add i32 %t8982, 1 store i32 %t8996, ptr %t8979 %t8997 = load ptr, ptr %t410 %t8998 = getelementptr inbounds %LSlice, ptr %t8997, i32 0, i32 1 %t8999 = getelementptr inbounds %LSlice, ptr %t8997, i32 0, i32 2 %t9000 = getelementptr inbounds %LSlice, ptr %t8997, i32 0, i32 0 %t9001 = load i32, ptr %t8998 %t9002 = load i32, ptr %t8999 %t9003 = icmp sge i32 %t9001, %t9002 br i1 %t9003, label %grow1895, label %put1896 grow1895: %t9004 = mul i32 %t9002, 2 %t9005 = icmp eq i32 %t9002, 0 %t9006 = select i1 %t9005, i32 8, i32 %t9004 %t9007 = getelementptr ptr, ptr null, i32 1 %t9008 = ptrtoint ptr %t9007 to i64 %t9009 = zext i32 %t9006 to i64 %t9010 = mul i64 %t9009, %t9008 %t9011 = load ptr, ptr %t9000 %t9012 = call ptr @realloc(ptr %t9011, i64 %t9010) store ptr %t9012, ptr %t9000 store i32 %t9006, ptr %t8999 br label %put1896 put1896: %t9013 = load ptr, ptr %t9000 %t9014 = getelementptr inbounds ptr, ptr %t9013, i32 %t9001 store ptr @.str8302, ptr %t9014 %t9015 = add i32 %t9001, 1 store i32 %t9015, ptr %t8998 %t9016 = load ptr, ptr %t410 %t9017 = getelementptr inbounds %LSlice, ptr %t9016, i32 0, i32 1 %t9018 = getelementptr inbounds %LSlice, ptr %t9016, i32 0, i32 2 %t9019 = getelementptr inbounds %LSlice, ptr %t9016, i32 0, i32 0 %t9020 = load i32, ptr %t9017 %t9021 = load i32, ptr %t9018 %t9022 = icmp sge i32 %t9020, %t9021 br i1 %t9022, label %grow1897, label %put1898 grow1897: %t9023 = mul i32 %t9021, 2 %t9024 = icmp eq i32 %t9021, 0 %t9025 = select i1 %t9024, i32 8, i32 %t9023 %t9026 = getelementptr ptr, ptr null, i32 1 %t9027 = ptrtoint ptr %t9026 to i64 %t9028 = zext i32 %t9025 to i64 %t9029 = mul i64 %t9028, %t9027 %t9030 = load ptr, ptr %t9019 %t9031 = call ptr @realloc(ptr %t9030, i64 %t9029) store ptr %t9031, ptr %t9019 store i32 %t9025, ptr %t9018 br label %put1898 put1898: %t9032 = load ptr, ptr %t9019 %t9033 = getelementptr inbounds ptr, ptr %t9032, i32 %t9020 store ptr @.str8303, ptr %t9033 %t9034 = add i32 %t9020, 1 store i32 %t9034, ptr %t9017 br label %ifend1892 ifend1892: %t9035 = load ptr, ptr %t1 %t9036 = call i32 @lp_str_eq(ptr %t9035, ptr @.str8304) %t9037 = icmp ne i32 %t9036, 0 br i1 %t9037, label %then1899, label %ifend1901 then1899: store ptr @.str8305, ptr %t403 br label %ifend1901 ifend1901: br label %ifend1817 ifend1817: %t9038 = load ptr, ptr %t0 %t9039 = call i32 @lp_str_eq(ptr %t9038, ptr @.str8306) %t9040 = icmp ne i32 %t9039, 0 br i1 %t9040, label %then1902, label %ifend1904 then1902: %t9041 = load ptr, ptr %t1 %t9042 = call i32 @lp_str_eq(ptr %t9041, ptr @.str8307) %t9043 = icmp ne i32 %t9042, 0 br i1 %t9043, label %then1905, label %ifend1907 then1905: store ptr @.str8308, ptr %t403 %t9044 = load ptr, ptr %t410 %t9045 = getelementptr inbounds %LSlice, ptr %t9044, i32 0, i32 1 %t9046 = getelementptr inbounds %LSlice, ptr %t9044, i32 0, i32 2 %t9047 = getelementptr inbounds %LSlice, ptr %t9044, i32 0, i32 0 %t9048 = load i32, ptr %t9045 %t9049 = load i32, ptr %t9046 %t9050 = icmp sge i32 %t9048, %t9049 br i1 %t9050, label %grow1908, label %put1909 grow1908: %t9051 = mul i32 %t9049, 2 %t9052 = icmp eq i32 %t9049, 0 %t9053 = select i1 %t9052, i32 8, i32 %t9051 %t9054 = getelementptr ptr, ptr null, i32 1 %t9055 = ptrtoint ptr %t9054 to i64 %t9056 = zext i32 %t9053 to i64 %t9057 = mul i64 %t9056, %t9055 %t9058 = load ptr, ptr %t9047 %t9059 = call ptr @realloc(ptr %t9058, i64 %t9057) store ptr %t9059, ptr %t9047 store i32 %t9053, ptr %t9046 br label %put1909 put1909: %t9060 = load ptr, ptr %t9047 %t9061 = getelementptr inbounds ptr, ptr %t9060, i32 %t9048 store ptr @.str8309, ptr %t9061 %t9062 = add i32 %t9048, 1 store i32 %t9062, ptr %t9045 br label %ifend1907 ifend1907: %t9063 = load ptr, ptr %t1 %t9064 = call i32 @lp_str_eq(ptr %t9063, ptr @.str8310) %t9065 = icmp ne i32 %t9064, 0 br i1 %t9065, label %then1910, label %ifend1912 then1910: store ptr @.str8311, ptr %t403 %t9066 = load ptr, ptr %t410 %t9067 = getelementptr inbounds %LSlice, ptr %t9066, i32 0, i32 1 %t9068 = getelementptr inbounds %LSlice, ptr %t9066, i32 0, i32 2 %t9069 = getelementptr inbounds %LSlice, ptr %t9066, i32 0, i32 0 %t9070 = load i32, ptr %t9067 %t9071 = load i32, ptr %t9068 %t9072 = icmp sge i32 %t9070, %t9071 br i1 %t9072, label %grow1913, label %put1914 grow1913: %t9073 = mul i32 %t9071, 2 %t9074 = icmp eq i32 %t9071, 0 %t9075 = select i1 %t9074, i32 8, i32 %t9073 %t9076 = getelementptr ptr, ptr null, i32 1 %t9077 = ptrtoint ptr %t9076 to i64 %t9078 = zext i32 %t9075 to i64 %t9079 = mul i64 %t9078, %t9077 %t9080 = load ptr, ptr %t9069 %t9081 = call ptr @realloc(ptr %t9080, i64 %t9079) store ptr %t9081, ptr %t9069 store i32 %t9075, ptr %t9068 br label %put1914 put1914: %t9082 = load ptr, ptr %t9069 %t9083 = getelementptr inbounds ptr, ptr %t9082, i32 %t9070 store ptr @.str8312, ptr %t9083 %t9084 = add i32 %t9070, 1 store i32 %t9084, ptr %t9067 br label %ifend1912 ifend1912: %t9085 = load ptr, ptr %t1 %t9086 = call i32 @lp_str_eq(ptr %t9085, ptr @.str8313) %t9087 = icmp ne i32 %t9086, 0 br i1 %t9087, label %then1915, label %ifend1917 then1915: store ptr @.str8314, ptr %t403 %t9088 = load ptr, ptr %t410 %t9089 = getelementptr inbounds %LSlice, ptr %t9088, i32 0, i32 1 %t9090 = getelementptr inbounds %LSlice, ptr %t9088, i32 0, i32 2 %t9091 = getelementptr inbounds %LSlice, ptr %t9088, i32 0, i32 0 %t9092 = load i32, ptr %t9089 %t9093 = load i32, ptr %t9090 %t9094 = icmp sge i32 %t9092, %t9093 br i1 %t9094, label %grow1918, label %put1919 grow1918: %t9095 = mul i32 %t9093, 2 %t9096 = icmp eq i32 %t9093, 0 %t9097 = select i1 %t9096, i32 8, i32 %t9095 %t9098 = getelementptr ptr, ptr null, i32 1 %t9099 = ptrtoint ptr %t9098 to i64 %t9100 = zext i32 %t9097 to i64 %t9101 = mul i64 %t9100, %t9099 %t9102 = load ptr, ptr %t9091 %t9103 = call ptr @realloc(ptr %t9102, i64 %t9101) store ptr %t9103, ptr %t9091 store i32 %t9097, ptr %t9090 br label %put1919 put1919: %t9104 = load ptr, ptr %t9091 %t9105 = getelementptr inbounds ptr, ptr %t9104, i32 %t9092 store ptr @.str8315, ptr %t9105 %t9106 = add i32 %t9092, 1 store i32 %t9106, ptr %t9089 br label %ifend1917 ifend1917: %t9107 = load ptr, ptr %t1 %t9108 = call i32 @lp_str_eq(ptr %t9107, ptr @.str8316) %t9109 = icmp ne i32 %t9108, 0 br i1 %t9109, label %then1920, label %ifend1922 then1920: store ptr @.str8317, ptr %t403 %t9110 = load ptr, ptr %t410 %t9111 = getelementptr inbounds %LSlice, ptr %t9110, i32 0, i32 1 %t9112 = getelementptr inbounds %LSlice, ptr %t9110, i32 0, i32 2 %t9113 = getelementptr inbounds %LSlice, ptr %t9110, i32 0, i32 0 %t9114 = load i32, ptr %t9111 %t9115 = load i32, ptr %t9112 %t9116 = icmp sge i32 %t9114, %t9115 br i1 %t9116, label %grow1923, label %put1924 grow1923: %t9117 = mul i32 %t9115, 2 %t9118 = icmp eq i32 %t9115, 0 %t9119 = select i1 %t9118, i32 8, i32 %t9117 %t9120 = getelementptr ptr, ptr null, i32 1 %t9121 = ptrtoint ptr %t9120 to i64 %t9122 = zext i32 %t9119 to i64 %t9123 = mul i64 %t9122, %t9121 %t9124 = load ptr, ptr %t9113 %t9125 = call ptr @realloc(ptr %t9124, i64 %t9123) store ptr %t9125, ptr %t9113 store i32 %t9119, ptr %t9112 br label %put1924 put1924: %t9126 = load ptr, ptr %t9113 %t9127 = getelementptr inbounds ptr, ptr %t9126, i32 %t9114 store ptr @.str8318, ptr %t9127 %t9128 = add i32 %t9114, 1 store i32 %t9128, ptr %t9111 br label %ifend1922 ifend1922: br label %ifend1904 ifend1904: %t9129 = load ptr, ptr %t0 %t9130 = call i32 @lp_str_eq(ptr %t9129, ptr @.str8319) %t9131 = icmp ne i32 %t9130, 0 br i1 %t9131, label %then1925, label %ifend1927 then1925: %t9132 = load ptr, ptr %t1 %t9133 = call i32 @lp_str_eq(ptr %t9132, ptr @.str8320) %t9134 = icmp ne i32 %t9133, 0 br i1 %t9134, label %then1928, label %ifend1930 then1928: store ptr @.str8321, ptr %t403 br label %ifend1930 ifend1930: %t9135 = load ptr, ptr %t1 %t9136 = call i32 @lp_str_eq(ptr %t9135, ptr @.str8322) %t9137 = icmp ne i32 %t9136, 0 br i1 %t9137, label %then1931, label %ifend1933 then1931: store ptr @.str8323, ptr %t403 %t9138 = load ptr, ptr %t410 %t9139 = getelementptr inbounds %LSlice, ptr %t9138, i32 0, i32 1 %t9140 = getelementptr inbounds %LSlice, ptr %t9138, i32 0, i32 2 %t9141 = getelementptr inbounds %LSlice, ptr %t9138, i32 0, i32 0 %t9142 = load i32, ptr %t9139 %t9143 = load i32, ptr %t9140 %t9144 = icmp sge i32 %t9142, %t9143 br i1 %t9144, label %grow1934, label %put1935 grow1934: %t9145 = mul i32 %t9143, 2 %t9146 = icmp eq i32 %t9143, 0 %t9147 = select i1 %t9146, i32 8, i32 %t9145 %t9148 = getelementptr ptr, ptr null, i32 1 %t9149 = ptrtoint ptr %t9148 to i64 %t9150 = zext i32 %t9147 to i64 %t9151 = mul i64 %t9150, %t9149 %t9152 = load ptr, ptr %t9141 %t9153 = call ptr @realloc(ptr %t9152, i64 %t9151) store ptr %t9153, ptr %t9141 store i32 %t9147, ptr %t9140 br label %put1935 put1935: %t9154 = load ptr, ptr %t9141 %t9155 = getelementptr inbounds ptr, ptr %t9154, i32 %t9142 store ptr @.str8324, ptr %t9155 %t9156 = add i32 %t9142, 1 store i32 %t9156, ptr %t9139 br label %ifend1933 ifend1933: %t9157 = load ptr, ptr %t1 %t9158 = call i32 @lp_str_eq(ptr %t9157, ptr @.str8325) %t9159 = icmp ne i32 %t9158, 0 br i1 %t9159, label %then1936, label %ifend1938 then1936: store ptr @.str8326, ptr %t403 %t9160 = load ptr, ptr %t410 %t9161 = getelementptr inbounds %LSlice, ptr %t9160, i32 0, i32 1 %t9162 = getelementptr inbounds %LSlice, ptr %t9160, i32 0, i32 2 %t9163 = getelementptr inbounds %LSlice, ptr %t9160, i32 0, i32 0 %t9164 = load i32, ptr %t9161 %t9165 = load i32, ptr %t9162 %t9166 = icmp sge i32 %t9164, %t9165 br i1 %t9166, label %grow1939, label %put1940 grow1939: %t9167 = mul i32 %t9165, 2 %t9168 = icmp eq i32 %t9165, 0 %t9169 = select i1 %t9168, i32 8, i32 %t9167 %t9170 = getelementptr ptr, ptr null, i32 1 %t9171 = ptrtoint ptr %t9170 to i64 %t9172 = zext i32 %t9169 to i64 %t9173 = mul i64 %t9172, %t9171 %t9174 = load ptr, ptr %t9163 %t9175 = call ptr @realloc(ptr %t9174, i64 %t9173) store ptr %t9175, ptr %t9163 store i32 %t9169, ptr %t9162 br label %put1940 put1940: %t9176 = load ptr, ptr %t9163 %t9177 = getelementptr inbounds ptr, ptr %t9176, i32 %t9164 store ptr @.str8327, ptr %t9177 %t9178 = add i32 %t9164, 1 store i32 %t9178, ptr %t9161 br label %ifend1938 ifend1938: %t9179 = load ptr, ptr %t1 %t9180 = call i32 @lp_str_eq(ptr %t9179, ptr @.str8328) %t9181 = icmp ne i32 %t9180, 0 br i1 %t9181, label %then1941, label %ifend1943 then1941: store ptr @.str8329, ptr %t403 %t9182 = load ptr, ptr %t410 %t9183 = getelementptr inbounds %LSlice, ptr %t9182, i32 0, i32 1 %t9184 = getelementptr inbounds %LSlice, ptr %t9182, i32 0, i32 2 %t9185 = getelementptr inbounds %LSlice, ptr %t9182, i32 0, i32 0 %t9186 = load i32, ptr %t9183 %t9187 = load i32, ptr %t9184 %t9188 = icmp sge i32 %t9186, %t9187 br i1 %t9188, label %grow1944, label %put1945 grow1944: %t9189 = mul i32 %t9187, 2 %t9190 = icmp eq i32 %t9187, 0 %t9191 = select i1 %t9190, i32 8, i32 %t9189 %t9192 = getelementptr ptr, ptr null, i32 1 %t9193 = ptrtoint ptr %t9192 to i64 %t9194 = zext i32 %t9191 to i64 %t9195 = mul i64 %t9194, %t9193 %t9196 = load ptr, ptr %t9185 %t9197 = call ptr @realloc(ptr %t9196, i64 %t9195) store ptr %t9197, ptr %t9185 store i32 %t9191, ptr %t9184 br label %put1945 put1945: %t9198 = load ptr, ptr %t9185 %t9199 = getelementptr inbounds ptr, ptr %t9198, i32 %t9186 store ptr @.str8330, ptr %t9199 %t9200 = add i32 %t9186, 1 store i32 %t9200, ptr %t9183 br label %ifend1943 ifend1943: %t9201 = load ptr, ptr %t1 %t9202 = call i32 @lp_str_eq(ptr %t9201, ptr @.str8331) %t9203 = icmp ne i32 %t9202, 0 br i1 %t9203, label %then1946, label %ifend1948 then1946: store ptr @.str8332, ptr %t403 br label %ifend1948 ifend1948: %t9204 = load ptr, ptr %t1 %t9205 = call i32 @lp_str_eq(ptr %t9204, ptr @.str8333) %t9206 = icmp ne i32 %t9205, 0 br i1 %t9206, label %then1949, label %ifend1951 then1949: store ptr @.str8334, ptr %t403 %t9207 = load ptr, ptr %t410 %t9208 = getelementptr inbounds %LSlice, ptr %t9207, i32 0, i32 1 %t9209 = getelementptr inbounds %LSlice, ptr %t9207, i32 0, i32 2 %t9210 = getelementptr inbounds %LSlice, ptr %t9207, i32 0, i32 0 %t9211 = load i32, ptr %t9208 %t9212 = load i32, ptr %t9209 %t9213 = icmp sge i32 %t9211, %t9212 br i1 %t9213, label %grow1952, label %put1953 grow1952: %t9214 = mul i32 %t9212, 2 %t9215 = icmp eq i32 %t9212, 0 %t9216 = select i1 %t9215, i32 8, i32 %t9214 %t9217 = getelementptr ptr, ptr null, i32 1 %t9218 = ptrtoint ptr %t9217 to i64 %t9219 = zext i32 %t9216 to i64 %t9220 = mul i64 %t9219, %t9218 %t9221 = load ptr, ptr %t9210 %t9222 = call ptr @realloc(ptr %t9221, i64 %t9220) store ptr %t9222, ptr %t9210 store i32 %t9216, ptr %t9209 br label %put1953 put1953: %t9223 = load ptr, ptr %t9210 %t9224 = getelementptr inbounds ptr, ptr %t9223, i32 %t9211 store ptr @.str8335, ptr %t9224 %t9225 = add i32 %t9211, 1 store i32 %t9225, ptr %t9208 br label %ifend1951 ifend1951: %t9226 = load ptr, ptr %t1 %t9227 = call i32 @lp_str_eq(ptr %t9226, ptr @.str8336) %t9228 = icmp ne i32 %t9227, 0 br i1 %t9228, label %then1954, label %ifend1956 then1954: store ptr @.str8337, ptr %t403 %t9229 = load ptr, ptr %t410 %t9230 = getelementptr inbounds %LSlice, ptr %t9229, i32 0, i32 1 %t9231 = getelementptr inbounds %LSlice, ptr %t9229, i32 0, i32 2 %t9232 = getelementptr inbounds %LSlice, ptr %t9229, i32 0, i32 0 %t9233 = load i32, ptr %t9230 %t9234 = load i32, ptr %t9231 %t9235 = icmp sge i32 %t9233, %t9234 br i1 %t9235, label %grow1957, label %put1958 grow1957: %t9236 = mul i32 %t9234, 2 %t9237 = icmp eq i32 %t9234, 0 %t9238 = select i1 %t9237, i32 8, i32 %t9236 %t9239 = getelementptr ptr, ptr null, i32 1 %t9240 = ptrtoint ptr %t9239 to i64 %t9241 = zext i32 %t9238 to i64 %t9242 = mul i64 %t9241, %t9240 %t9243 = load ptr, ptr %t9232 %t9244 = call ptr @realloc(ptr %t9243, i64 %t9242) store ptr %t9244, ptr %t9232 store i32 %t9238, ptr %t9231 br label %put1958 put1958: %t9245 = load ptr, ptr %t9232 %t9246 = getelementptr inbounds ptr, ptr %t9245, i32 %t9233 store ptr @.str8338, ptr %t9246 %t9247 = add i32 %t9233, 1 store i32 %t9247, ptr %t9230 %t9248 = load ptr, ptr %t410 %t9249 = getelementptr inbounds %LSlice, ptr %t9248, i32 0, i32 1 %t9250 = getelementptr inbounds %LSlice, ptr %t9248, i32 0, i32 2 %t9251 = getelementptr inbounds %LSlice, ptr %t9248, i32 0, i32 0 %t9252 = load i32, ptr %t9249 %t9253 = load i32, ptr %t9250 %t9254 = icmp sge i32 %t9252, %t9253 br i1 %t9254, label %grow1959, label %put1960 grow1959: %t9255 = mul i32 %t9253, 2 %t9256 = icmp eq i32 %t9253, 0 %t9257 = select i1 %t9256, i32 8, i32 %t9255 %t9258 = getelementptr ptr, ptr null, i32 1 %t9259 = ptrtoint ptr %t9258 to i64 %t9260 = zext i32 %t9257 to i64 %t9261 = mul i64 %t9260, %t9259 %t9262 = load ptr, ptr %t9251 %t9263 = call ptr @realloc(ptr %t9262, i64 %t9261) store ptr %t9263, ptr %t9251 store i32 %t9257, ptr %t9250 br label %put1960 put1960: %t9264 = load ptr, ptr %t9251 %t9265 = getelementptr inbounds ptr, ptr %t9264, i32 %t9252 store ptr @.str8339, ptr %t9265 %t9266 = add i32 %t9252, 1 store i32 %t9266, ptr %t9249 br label %ifend1956 ifend1956: %t9267 = load ptr, ptr %t1 %t9268 = call i32 @lp_str_eq(ptr %t9267, ptr @.str8340) %t9269 = icmp ne i32 %t9268, 0 br i1 %t9269, label %then1961, label %ifend1963 then1961: store ptr @.str8341, ptr %t403 %t9270 = load ptr, ptr %t410 %t9271 = getelementptr inbounds %LSlice, ptr %t9270, i32 0, i32 1 %t9272 = getelementptr inbounds %LSlice, ptr %t9270, i32 0, i32 2 %t9273 = getelementptr inbounds %LSlice, ptr %t9270, i32 0, i32 0 %t9274 = load i32, ptr %t9271 %t9275 = load i32, ptr %t9272 %t9276 = icmp sge i32 %t9274, %t9275 br i1 %t9276, label %grow1964, label %put1965 grow1964: %t9277 = mul i32 %t9275, 2 %t9278 = icmp eq i32 %t9275, 0 %t9279 = select i1 %t9278, i32 8, i32 %t9277 %t9280 = getelementptr ptr, ptr null, i32 1 %t9281 = ptrtoint ptr %t9280 to i64 %t9282 = zext i32 %t9279 to i64 %t9283 = mul i64 %t9282, %t9281 %t9284 = load ptr, ptr %t9273 %t9285 = call ptr @realloc(ptr %t9284, i64 %t9283) store ptr %t9285, ptr %t9273 store i32 %t9279, ptr %t9272 br label %put1965 put1965: %t9286 = load ptr, ptr %t9273 %t9287 = getelementptr inbounds ptr, ptr %t9286, i32 %t9274 store ptr @.str8342, ptr %t9287 %t9288 = add i32 %t9274, 1 store i32 %t9288, ptr %t9271 %t9289 = load ptr, ptr %t410 %t9290 = getelementptr inbounds %LSlice, ptr %t9289, i32 0, i32 1 %t9291 = getelementptr inbounds %LSlice, ptr %t9289, i32 0, i32 2 %t9292 = getelementptr inbounds %LSlice, ptr %t9289, i32 0, i32 0 %t9293 = load i32, ptr %t9290 %t9294 = load i32, ptr %t9291 %t9295 = icmp sge i32 %t9293, %t9294 br i1 %t9295, label %grow1966, label %put1967 grow1966: %t9296 = mul i32 %t9294, 2 %t9297 = icmp eq i32 %t9294, 0 %t9298 = select i1 %t9297, i32 8, i32 %t9296 %t9299 = getelementptr ptr, ptr null, i32 1 %t9300 = ptrtoint ptr %t9299 to i64 %t9301 = zext i32 %t9298 to i64 %t9302 = mul i64 %t9301, %t9300 %t9303 = load ptr, ptr %t9292 %t9304 = call ptr @realloc(ptr %t9303, i64 %t9302) store ptr %t9304, ptr %t9292 store i32 %t9298, ptr %t9291 br label %put1967 put1967: %t9305 = load ptr, ptr %t9292 %t9306 = getelementptr inbounds ptr, ptr %t9305, i32 %t9293 store ptr @.str8343, ptr %t9306 %t9307 = add i32 %t9293, 1 store i32 %t9307, ptr %t9290 br label %ifend1963 ifend1963: %t9308 = load ptr, ptr %t1 %t9309 = call i32 @lp_str_eq(ptr %t9308, ptr @.str8344) %t9310 = icmp ne i32 %t9309, 0 br i1 %t9310, label %then1968, label %ifend1970 then1968: store ptr @.str8345, ptr %t403 %t9311 = load ptr, ptr %t410 %t9312 = getelementptr inbounds %LSlice, ptr %t9311, i32 0, i32 1 %t9313 = getelementptr inbounds %LSlice, ptr %t9311, i32 0, i32 2 %t9314 = getelementptr inbounds %LSlice, ptr %t9311, i32 0, i32 0 %t9315 = load i32, ptr %t9312 %t9316 = load i32, ptr %t9313 %t9317 = icmp sge i32 %t9315, %t9316 br i1 %t9317, label %grow1971, label %put1972 grow1971: %t9318 = mul i32 %t9316, 2 %t9319 = icmp eq i32 %t9316, 0 %t9320 = select i1 %t9319, i32 8, i32 %t9318 %t9321 = getelementptr ptr, ptr null, i32 1 %t9322 = ptrtoint ptr %t9321 to i64 %t9323 = zext i32 %t9320 to i64 %t9324 = mul i64 %t9323, %t9322 %t9325 = load ptr, ptr %t9314 %t9326 = call ptr @realloc(ptr %t9325, i64 %t9324) store ptr %t9326, ptr %t9314 store i32 %t9320, ptr %t9313 br label %put1972 put1972: %t9327 = load ptr, ptr %t9314 %t9328 = getelementptr inbounds ptr, ptr %t9327, i32 %t9315 store ptr @.str8346, ptr %t9328 %t9329 = add i32 %t9315, 1 store i32 %t9329, ptr %t9312 %t9330 = load ptr, ptr %t410 %t9331 = getelementptr inbounds %LSlice, ptr %t9330, i32 0, i32 1 %t9332 = getelementptr inbounds %LSlice, ptr %t9330, i32 0, i32 2 %t9333 = getelementptr inbounds %LSlice, ptr %t9330, i32 0, i32 0 %t9334 = load i32, ptr %t9331 %t9335 = load i32, ptr %t9332 %t9336 = icmp sge i32 %t9334, %t9335 br i1 %t9336, label %grow1973, label %put1974 grow1973: %t9337 = mul i32 %t9335, 2 %t9338 = icmp eq i32 %t9335, 0 %t9339 = select i1 %t9338, i32 8, i32 %t9337 %t9340 = getelementptr ptr, ptr null, i32 1 %t9341 = ptrtoint ptr %t9340 to i64 %t9342 = zext i32 %t9339 to i64 %t9343 = mul i64 %t9342, %t9341 %t9344 = load ptr, ptr %t9333 %t9345 = call ptr @realloc(ptr %t9344, i64 %t9343) store ptr %t9345, ptr %t9333 store i32 %t9339, ptr %t9332 br label %put1974 put1974: %t9346 = load ptr, ptr %t9333 %t9347 = getelementptr inbounds ptr, ptr %t9346, i32 %t9334 store ptr @.str8347, ptr %t9347 %t9348 = add i32 %t9334, 1 store i32 %t9348, ptr %t9331 %t9349 = load ptr, ptr %t410 %t9350 = getelementptr inbounds %LSlice, ptr %t9349, i32 0, i32 1 %t9351 = getelementptr inbounds %LSlice, ptr %t9349, i32 0, i32 2 %t9352 = getelementptr inbounds %LSlice, ptr %t9349, i32 0, i32 0 %t9353 = load i32, ptr %t9350 %t9354 = load i32, ptr %t9351 %t9355 = icmp sge i32 %t9353, %t9354 br i1 %t9355, label %grow1975, label %put1976 grow1975: %t9356 = mul i32 %t9354, 2 %t9357 = icmp eq i32 %t9354, 0 %t9358 = select i1 %t9357, i32 8, i32 %t9356 %t9359 = getelementptr ptr, ptr null, i32 1 %t9360 = ptrtoint ptr %t9359 to i64 %t9361 = zext i32 %t9358 to i64 %t9362 = mul i64 %t9361, %t9360 %t9363 = load ptr, ptr %t9352 %t9364 = call ptr @realloc(ptr %t9363, i64 %t9362) store ptr %t9364, ptr %t9352 store i32 %t9358, ptr %t9351 br label %put1976 put1976: %t9365 = load ptr, ptr %t9352 %t9366 = getelementptr inbounds ptr, ptr %t9365, i32 %t9353 store ptr @.str8348, ptr %t9366 %t9367 = add i32 %t9353, 1 store i32 %t9367, ptr %t9350 br label %ifend1970 ifend1970: %t9368 = load ptr, ptr %t1 %t9369 = call i32 @lp_str_eq(ptr %t9368, ptr @.str8349) %t9370 = icmp ne i32 %t9369, 0 br i1 %t9370, label %then1977, label %ifend1979 then1977: store ptr @.str8350, ptr %t403 br label %ifend1979 ifend1979: %t9371 = load ptr, ptr %t1 %t9372 = call i32 @lp_str_eq(ptr %t9371, ptr @.str8351) %t9373 = icmp ne i32 %t9372, 0 br i1 %t9373, label %then1980, label %ifend1982 then1980: store ptr @.str8352, ptr %t403 %t9374 = load ptr, ptr %t410 %t9375 = getelementptr inbounds %LSlice, ptr %t9374, i32 0, i32 1 %t9376 = getelementptr inbounds %LSlice, ptr %t9374, i32 0, i32 2 %t9377 = getelementptr inbounds %LSlice, ptr %t9374, i32 0, i32 0 %t9378 = load i32, ptr %t9375 %t9379 = load i32, ptr %t9376 %t9380 = icmp sge i32 %t9378, %t9379 br i1 %t9380, label %grow1983, label %put1984 grow1983: %t9381 = mul i32 %t9379, 2 %t9382 = icmp eq i32 %t9379, 0 %t9383 = select i1 %t9382, i32 8, i32 %t9381 %t9384 = getelementptr ptr, ptr null, i32 1 %t9385 = ptrtoint ptr %t9384 to i64 %t9386 = zext i32 %t9383 to i64 %t9387 = mul i64 %t9386, %t9385 %t9388 = load ptr, ptr %t9377 %t9389 = call ptr @realloc(ptr %t9388, i64 %t9387) store ptr %t9389, ptr %t9377 store i32 %t9383, ptr %t9376 br label %put1984 put1984: %t9390 = load ptr, ptr %t9377 %t9391 = getelementptr inbounds ptr, ptr %t9390, i32 %t9378 store ptr @.str8353, ptr %t9391 %t9392 = add i32 %t9378, 1 store i32 %t9392, ptr %t9375 %t9393 = load ptr, ptr %t410 %t9394 = getelementptr inbounds %LSlice, ptr %t9393, i32 0, i32 1 %t9395 = getelementptr inbounds %LSlice, ptr %t9393, i32 0, i32 2 %t9396 = getelementptr inbounds %LSlice, ptr %t9393, i32 0, i32 0 %t9397 = load i32, ptr %t9394 %t9398 = load i32, ptr %t9395 %t9399 = icmp sge i32 %t9397, %t9398 br i1 %t9399, label %grow1985, label %put1986 grow1985: %t9400 = mul i32 %t9398, 2 %t9401 = icmp eq i32 %t9398, 0 %t9402 = select i1 %t9401, i32 8, i32 %t9400 %t9403 = getelementptr ptr, ptr null, i32 1 %t9404 = ptrtoint ptr %t9403 to i64 %t9405 = zext i32 %t9402 to i64 %t9406 = mul i64 %t9405, %t9404 %t9407 = load ptr, ptr %t9396 %t9408 = call ptr @realloc(ptr %t9407, i64 %t9406) store ptr %t9408, ptr %t9396 store i32 %t9402, ptr %t9395 br label %put1986 put1986: %t9409 = load ptr, ptr %t9396 %t9410 = getelementptr inbounds ptr, ptr %t9409, i32 %t9397 store ptr @.str8354, ptr %t9410 %t9411 = add i32 %t9397, 1 store i32 %t9411, ptr %t9394 br label %ifend1982 ifend1982: %t9412 = load ptr, ptr %t1 %t9413 = call i32 @lp_str_eq(ptr %t9412, ptr @.str8355) %t9414 = icmp ne i32 %t9413, 0 br i1 %t9414, label %then1987, label %ifend1989 then1987: store ptr @.str8356, ptr %t403 %t9415 = load ptr, ptr %t410 %t9416 = getelementptr inbounds %LSlice, ptr %t9415, i32 0, i32 1 %t9417 = getelementptr inbounds %LSlice, ptr %t9415, i32 0, i32 2 %t9418 = getelementptr inbounds %LSlice, ptr %t9415, i32 0, i32 0 %t9419 = load i32, ptr %t9416 %t9420 = load i32, ptr %t9417 %t9421 = icmp sge i32 %t9419, %t9420 br i1 %t9421, label %grow1990, label %put1991 grow1990: %t9422 = mul i32 %t9420, 2 %t9423 = icmp eq i32 %t9420, 0 %t9424 = select i1 %t9423, i32 8, i32 %t9422 %t9425 = getelementptr ptr, ptr null, i32 1 %t9426 = ptrtoint ptr %t9425 to i64 %t9427 = zext i32 %t9424 to i64 %t9428 = mul i64 %t9427, %t9426 %t9429 = load ptr, ptr %t9418 %t9430 = call ptr @realloc(ptr %t9429, i64 %t9428) store ptr %t9430, ptr %t9418 store i32 %t9424, ptr %t9417 br label %put1991 put1991: %t9431 = load ptr, ptr %t9418 %t9432 = getelementptr inbounds ptr, ptr %t9431, i32 %t9419 store ptr @.str8357, ptr %t9432 %t9433 = add i32 %t9419, 1 store i32 %t9433, ptr %t9416 br label %ifend1989 ifend1989: %t9434 = load ptr, ptr %t1 %t9435 = call i32 @lp_str_eq(ptr %t9434, ptr @.str8358) %t9436 = icmp ne i32 %t9435, 0 br i1 %t9436, label %then1992, label %ifend1994 then1992: store ptr @.str8359, ptr %t403 %t9437 = load ptr, ptr %t410 %t9438 = getelementptr inbounds %LSlice, ptr %t9437, i32 0, i32 1 %t9439 = getelementptr inbounds %LSlice, ptr %t9437, i32 0, i32 2 %t9440 = getelementptr inbounds %LSlice, ptr %t9437, i32 0, i32 0 %t9441 = load i32, ptr %t9438 %t9442 = load i32, ptr %t9439 %t9443 = icmp sge i32 %t9441, %t9442 br i1 %t9443, label %grow1995, label %put1996 grow1995: %t9444 = mul i32 %t9442, 2 %t9445 = icmp eq i32 %t9442, 0 %t9446 = select i1 %t9445, i32 8, i32 %t9444 %t9447 = getelementptr ptr, ptr null, i32 1 %t9448 = ptrtoint ptr %t9447 to i64 %t9449 = zext i32 %t9446 to i64 %t9450 = mul i64 %t9449, %t9448 %t9451 = load ptr, ptr %t9440 %t9452 = call ptr @realloc(ptr %t9451, i64 %t9450) store ptr %t9452, ptr %t9440 store i32 %t9446, ptr %t9439 br label %put1996 put1996: %t9453 = load ptr, ptr %t9440 %t9454 = getelementptr inbounds ptr, ptr %t9453, i32 %t9441 store ptr @.str8360, ptr %t9454 %t9455 = add i32 %t9441, 1 store i32 %t9455, ptr %t9438 br label %ifend1994 ifend1994: %t9456 = load ptr, ptr %t1 %t9457 = call i32 @lp_str_eq(ptr %t9456, ptr @.str8361) %t9458 = icmp ne i32 %t9457, 0 br i1 %t9458, label %then1997, label %ifend1999 then1997: store ptr @.str8362, ptr %t403 %t9459 = load ptr, ptr %t410 %t9460 = getelementptr inbounds %LSlice, ptr %t9459, i32 0, i32 1 %t9461 = getelementptr inbounds %LSlice, ptr %t9459, i32 0, i32 2 %t9462 = getelementptr inbounds %LSlice, ptr %t9459, i32 0, i32 0 %t9463 = load i32, ptr %t9460 %t9464 = load i32, ptr %t9461 %t9465 = icmp sge i32 %t9463, %t9464 br i1 %t9465, label %grow2000, label %put2001 grow2000: %t9466 = mul i32 %t9464, 2 %t9467 = icmp eq i32 %t9464, 0 %t9468 = select i1 %t9467, i32 8, i32 %t9466 %t9469 = getelementptr ptr, ptr null, i32 1 %t9470 = ptrtoint ptr %t9469 to i64 %t9471 = zext i32 %t9468 to i64 %t9472 = mul i64 %t9471, %t9470 %t9473 = load ptr, ptr %t9462 %t9474 = call ptr @realloc(ptr %t9473, i64 %t9472) store ptr %t9474, ptr %t9462 store i32 %t9468, ptr %t9461 br label %put2001 put2001: %t9475 = load ptr, ptr %t9462 %t9476 = getelementptr inbounds ptr, ptr %t9475, i32 %t9463 store ptr @.str8363, ptr %t9476 %t9477 = add i32 %t9463, 1 store i32 %t9477, ptr %t9460 br label %ifend1999 ifend1999: %t9478 = load ptr, ptr %t1 %t9479 = call i32 @lp_str_eq(ptr %t9478, ptr @.str8364) %t9480 = icmp ne i32 %t9479, 0 br i1 %t9480, label %then2002, label %ifend2004 then2002: store ptr @.str8365, ptr %t403 br label %ifend2004 ifend2004: br label %ifend1927 ifend1927: %t9481 = load ptr, ptr %t0 %t9482 = call i32 @lp_str_eq(ptr %t9481, ptr @.str8366) %t9483 = icmp ne i32 %t9482, 0 br i1 %t9483, label %then2005, label %ifend2007 then2005: %t9484 = load ptr, ptr %t1 %t9485 = call i32 @lp_str_eq(ptr %t9484, ptr @.str8367) %t9486 = icmp ne i32 %t9485, 0 br i1 %t9486, label %then2008, label %ifend2010 then2008: store ptr @.str8368, ptr %t403 %t9487 = load ptr, ptr %t410 %t9488 = getelementptr inbounds %LSlice, ptr %t9487, i32 0, i32 1 %t9489 = getelementptr inbounds %LSlice, ptr %t9487, i32 0, i32 2 %t9490 = getelementptr inbounds %LSlice, ptr %t9487, i32 0, i32 0 %t9491 = load i32, ptr %t9488 %t9492 = load i32, ptr %t9489 %t9493 = icmp sge i32 %t9491, %t9492 br i1 %t9493, label %grow2011, label %put2012 grow2011: %t9494 = mul i32 %t9492, 2 %t9495 = icmp eq i32 %t9492, 0 %t9496 = select i1 %t9495, i32 8, i32 %t9494 %t9497 = getelementptr ptr, ptr null, i32 1 %t9498 = ptrtoint ptr %t9497 to i64 %t9499 = zext i32 %t9496 to i64 %t9500 = mul i64 %t9499, %t9498 %t9501 = load ptr, ptr %t9490 %t9502 = call ptr @realloc(ptr %t9501, i64 %t9500) store ptr %t9502, ptr %t9490 store i32 %t9496, ptr %t9489 br label %put2012 put2012: %t9503 = load ptr, ptr %t9490 %t9504 = getelementptr inbounds ptr, ptr %t9503, i32 %t9491 store ptr @.str8369, ptr %t9504 %t9505 = add i32 %t9491, 1 store i32 %t9505, ptr %t9488 br label %ifend2010 ifend2010: %t9506 = load ptr, ptr %t1 %t9507 = call i32 @lp_str_eq(ptr %t9506, ptr @.str8370) %t9508 = icmp ne i32 %t9507, 0 br i1 %t9508, label %then2013, label %ifend2015 then2013: store ptr @.str8371, ptr %t403 %t9509 = load ptr, ptr %t410 %t9510 = getelementptr inbounds %LSlice, ptr %t9509, i32 0, i32 1 %t9511 = getelementptr inbounds %LSlice, ptr %t9509, i32 0, i32 2 %t9512 = getelementptr inbounds %LSlice, ptr %t9509, i32 0, i32 0 %t9513 = load i32, ptr %t9510 %t9514 = load i32, ptr %t9511 %t9515 = icmp sge i32 %t9513, %t9514 br i1 %t9515, label %grow2016, label %put2017 grow2016: %t9516 = mul i32 %t9514, 2 %t9517 = icmp eq i32 %t9514, 0 %t9518 = select i1 %t9517, i32 8, i32 %t9516 %t9519 = getelementptr ptr, ptr null, i32 1 %t9520 = ptrtoint ptr %t9519 to i64 %t9521 = zext i32 %t9518 to i64 %t9522 = mul i64 %t9521, %t9520 %t9523 = load ptr, ptr %t9512 %t9524 = call ptr @realloc(ptr %t9523, i64 %t9522) store ptr %t9524, ptr %t9512 store i32 %t9518, ptr %t9511 br label %put2017 put2017: %t9525 = load ptr, ptr %t9512 %t9526 = getelementptr inbounds ptr, ptr %t9525, i32 %t9513 store ptr @.str8372, ptr %t9526 %t9527 = add i32 %t9513, 1 store i32 %t9527, ptr %t9510 %t9528 = load ptr, ptr %t410 %t9529 = getelementptr inbounds %LSlice, ptr %t9528, i32 0, i32 1 %t9530 = getelementptr inbounds %LSlice, ptr %t9528, i32 0, i32 2 %t9531 = getelementptr inbounds %LSlice, ptr %t9528, i32 0, i32 0 %t9532 = load i32, ptr %t9529 %t9533 = load i32, ptr %t9530 %t9534 = icmp sge i32 %t9532, %t9533 br i1 %t9534, label %grow2018, label %put2019 grow2018: %t9535 = mul i32 %t9533, 2 %t9536 = icmp eq i32 %t9533, 0 %t9537 = select i1 %t9536, i32 8, i32 %t9535 %t9538 = getelementptr ptr, ptr null, i32 1 %t9539 = ptrtoint ptr %t9538 to i64 %t9540 = zext i32 %t9537 to i64 %t9541 = mul i64 %t9540, %t9539 %t9542 = load ptr, ptr %t9531 %t9543 = call ptr @realloc(ptr %t9542, i64 %t9541) store ptr %t9543, ptr %t9531 store i32 %t9537, ptr %t9530 br label %put2019 put2019: %t9544 = load ptr, ptr %t9531 %t9545 = getelementptr inbounds ptr, ptr %t9544, i32 %t9532 store ptr @.str8373, ptr %t9545 %t9546 = add i32 %t9532, 1 store i32 %t9546, ptr %t9529 br label %ifend2015 ifend2015: %t9547 = load ptr, ptr %t1 %t9548 = call i32 @lp_str_eq(ptr %t9547, ptr @.str8374) %t9549 = icmp ne i32 %t9548, 0 br i1 %t9549, label %then2020, label %ifend2022 then2020: store ptr @.str8375, ptr %t403 %t9550 = load ptr, ptr %t410 %t9551 = getelementptr inbounds %LSlice, ptr %t9550, i32 0, i32 1 %t9552 = getelementptr inbounds %LSlice, ptr %t9550, i32 0, i32 2 %t9553 = getelementptr inbounds %LSlice, ptr %t9550, i32 0, i32 0 %t9554 = load i32, ptr %t9551 %t9555 = load i32, ptr %t9552 %t9556 = icmp sge i32 %t9554, %t9555 br i1 %t9556, label %grow2023, label %put2024 grow2023: %t9557 = mul i32 %t9555, 2 %t9558 = icmp eq i32 %t9555, 0 %t9559 = select i1 %t9558, i32 8, i32 %t9557 %t9560 = getelementptr ptr, ptr null, i32 1 %t9561 = ptrtoint ptr %t9560 to i64 %t9562 = zext i32 %t9559 to i64 %t9563 = mul i64 %t9562, %t9561 %t9564 = load ptr, ptr %t9553 %t9565 = call ptr @realloc(ptr %t9564, i64 %t9563) store ptr %t9565, ptr %t9553 store i32 %t9559, ptr %t9552 br label %put2024 put2024: %t9566 = load ptr, ptr %t9553 %t9567 = getelementptr inbounds ptr, ptr %t9566, i32 %t9554 store ptr @.str8376, ptr %t9567 %t9568 = add i32 %t9554, 1 store i32 %t9568, ptr %t9551 %t9569 = load ptr, ptr %t410 %t9570 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 1 %t9571 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 2 %t9572 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 0 %t9573 = load i32, ptr %t9570 %t9574 = load i32, ptr %t9571 %t9575 = icmp sge i32 %t9573, %t9574 br i1 %t9575, label %grow2025, label %put2026 grow2025: %t9576 = mul i32 %t9574, 2 %t9577 = icmp eq i32 %t9574, 0 %t9578 = select i1 %t9577, i32 8, i32 %t9576 %t9579 = getelementptr ptr, ptr null, i32 1 %t9580 = ptrtoint ptr %t9579 to i64 %t9581 = zext i32 %t9578 to i64 %t9582 = mul i64 %t9581, %t9580 %t9583 = load ptr, ptr %t9572 %t9584 = call ptr @realloc(ptr %t9583, i64 %t9582) store ptr %t9584, ptr %t9572 store i32 %t9578, ptr %t9571 br label %put2026 put2026: %t9585 = load ptr, ptr %t9572 %t9586 = getelementptr inbounds ptr, ptr %t9585, i32 %t9573 store ptr @.str8377, ptr %t9586 %t9587 = add i32 %t9573, 1 store i32 %t9587, ptr %t9570 br label %ifend2022 ifend2022: %t9588 = load ptr, ptr %t1 %t9589 = call i32 @lp_str_eq(ptr %t9588, ptr @.str8378) %t9590 = icmp ne i32 %t9589, 0 br i1 %t9590, label %then2027, label %ifend2029 then2027: store ptr @.str8379, ptr %t403 %t9591 = load ptr, ptr %t410 %t9592 = getelementptr inbounds %LSlice, ptr %t9591, i32 0, i32 1 %t9593 = getelementptr inbounds %LSlice, ptr %t9591, i32 0, i32 2 %t9594 = getelementptr inbounds %LSlice, ptr %t9591, i32 0, i32 0 %t9595 = load i32, ptr %t9592 %t9596 = load i32, ptr %t9593 %t9597 = icmp sge i32 %t9595, %t9596 br i1 %t9597, label %grow2030, label %put2031 grow2030: %t9598 = mul i32 %t9596, 2 %t9599 = icmp eq i32 %t9596, 0 %t9600 = select i1 %t9599, i32 8, i32 %t9598 %t9601 = getelementptr ptr, ptr null, i32 1 %t9602 = ptrtoint ptr %t9601 to i64 %t9603 = zext i32 %t9600 to i64 %t9604 = mul i64 %t9603, %t9602 %t9605 = load ptr, ptr %t9594 %t9606 = call ptr @realloc(ptr %t9605, i64 %t9604) store ptr %t9606, ptr %t9594 store i32 %t9600, ptr %t9593 br label %put2031 put2031: %t9607 = load ptr, ptr %t9594 %t9608 = getelementptr inbounds ptr, ptr %t9607, i32 %t9595 store ptr @.str8380, ptr %t9608 %t9609 = add i32 %t9595, 1 store i32 %t9609, ptr %t9592 %t9610 = load ptr, ptr %t410 %t9611 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 1 %t9612 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 2 %t9613 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 0 %t9614 = load i32, ptr %t9611 %t9615 = load i32, ptr %t9612 %t9616 = icmp sge i32 %t9614, %t9615 br i1 %t9616, label %grow2032, label %put2033 grow2032: %t9617 = mul i32 %t9615, 2 %t9618 = icmp eq i32 %t9615, 0 %t9619 = select i1 %t9618, i32 8, i32 %t9617 %t9620 = getelementptr ptr, ptr null, i32 1 %t9621 = ptrtoint ptr %t9620 to i64 %t9622 = zext i32 %t9619 to i64 %t9623 = mul i64 %t9622, %t9621 %t9624 = load ptr, ptr %t9613 %t9625 = call ptr @realloc(ptr %t9624, i64 %t9623) store ptr %t9625, ptr %t9613 store i32 %t9619, ptr %t9612 br label %put2033 put2033: %t9626 = load ptr, ptr %t9613 %t9627 = getelementptr inbounds ptr, ptr %t9626, i32 %t9614 store ptr @.str8381, ptr %t9627 %t9628 = add i32 %t9614, 1 store i32 %t9628, ptr %t9611 br label %ifend2029 ifend2029: %t9629 = load ptr, ptr %t1 %t9630 = call i32 @lp_str_eq(ptr %t9629, ptr @.str8382) %t9631 = icmp ne i32 %t9630, 0 br i1 %t9631, label %then2034, label %ifend2036 then2034: store ptr @.str8383, ptr %t403 %t9632 = load ptr, ptr %t410 %t9633 = getelementptr inbounds %LSlice, ptr %t9632, i32 0, i32 1 %t9634 = getelementptr inbounds %LSlice, ptr %t9632, i32 0, i32 2 %t9635 = getelementptr inbounds %LSlice, ptr %t9632, i32 0, i32 0 %t9636 = load i32, ptr %t9633 %t9637 = load i32, ptr %t9634 %t9638 = icmp sge i32 %t9636, %t9637 br i1 %t9638, label %grow2037, label %put2038 grow2037: %t9639 = mul i32 %t9637, 2 %t9640 = icmp eq i32 %t9637, 0 %t9641 = select i1 %t9640, i32 8, i32 %t9639 %t9642 = getelementptr ptr, ptr null, i32 1 %t9643 = ptrtoint ptr %t9642 to i64 %t9644 = zext i32 %t9641 to i64 %t9645 = mul i64 %t9644, %t9643 %t9646 = load ptr, ptr %t9635 %t9647 = call ptr @realloc(ptr %t9646, i64 %t9645) store ptr %t9647, ptr %t9635 store i32 %t9641, ptr %t9634 br label %put2038 put2038: %t9648 = load ptr, ptr %t9635 %t9649 = getelementptr inbounds ptr, ptr %t9648, i32 %t9636 store ptr @.str8384, ptr %t9649 %t9650 = add i32 %t9636, 1 store i32 %t9650, ptr %t9633 br label %ifend2036 ifend2036: %t9651 = load ptr, ptr %t1 %t9652 = call i32 @lp_str_eq(ptr %t9651, ptr @.str8385) %t9653 = icmp ne i32 %t9652, 0 br i1 %t9653, label %then2039, label %ifend2041 then2039: store ptr @.str8386, ptr %t403 %t9654 = load ptr, ptr %t410 %t9655 = getelementptr inbounds %LSlice, ptr %t9654, i32 0, i32 1 %t9656 = getelementptr inbounds %LSlice, ptr %t9654, i32 0, i32 2 %t9657 = getelementptr inbounds %LSlice, ptr %t9654, i32 0, i32 0 %t9658 = load i32, ptr %t9655 %t9659 = load i32, ptr %t9656 %t9660 = icmp sge i32 %t9658, %t9659 br i1 %t9660, label %grow2042, label %put2043 grow2042: %t9661 = mul i32 %t9659, 2 %t9662 = icmp eq i32 %t9659, 0 %t9663 = select i1 %t9662, i32 8, i32 %t9661 %t9664 = getelementptr ptr, ptr null, i32 1 %t9665 = ptrtoint ptr %t9664 to i64 %t9666 = zext i32 %t9663 to i64 %t9667 = mul i64 %t9666, %t9665 %t9668 = load ptr, ptr %t9657 %t9669 = call ptr @realloc(ptr %t9668, i64 %t9667) store ptr %t9669, ptr %t9657 store i32 %t9663, ptr %t9656 br label %put2043 put2043: %t9670 = load ptr, ptr %t9657 %t9671 = getelementptr inbounds ptr, ptr %t9670, i32 %t9658 store ptr @.str8387, ptr %t9671 %t9672 = add i32 %t9658, 1 store i32 %t9672, ptr %t9655 %t9673 = load ptr, ptr %t410 %t9674 = getelementptr inbounds %LSlice, ptr %t9673, i32 0, i32 1 %t9675 = getelementptr inbounds %LSlice, ptr %t9673, i32 0, i32 2 %t9676 = getelementptr inbounds %LSlice, ptr %t9673, i32 0, i32 0 %t9677 = load i32, ptr %t9674 %t9678 = load i32, ptr %t9675 %t9679 = icmp sge i32 %t9677, %t9678 br i1 %t9679, label %grow2044, label %put2045 grow2044: %t9680 = mul i32 %t9678, 2 %t9681 = icmp eq i32 %t9678, 0 %t9682 = select i1 %t9681, i32 8, i32 %t9680 %t9683 = getelementptr ptr, ptr null, i32 1 %t9684 = ptrtoint ptr %t9683 to i64 %t9685 = zext i32 %t9682 to i64 %t9686 = mul i64 %t9685, %t9684 %t9687 = load ptr, ptr %t9676 %t9688 = call ptr @realloc(ptr %t9687, i64 %t9686) store ptr %t9688, ptr %t9676 store i32 %t9682, ptr %t9675 br label %put2045 put2045: %t9689 = load ptr, ptr %t9676 %t9690 = getelementptr inbounds ptr, ptr %t9689, i32 %t9677 store ptr @.str8388, ptr %t9690 %t9691 = add i32 %t9677, 1 store i32 %t9691, ptr %t9674 br label %ifend2041 ifend2041: %t9692 = load ptr, ptr %t1 %t9693 = call i32 @lp_str_eq(ptr %t9692, ptr @.str8389) %t9694 = icmp ne i32 %t9693, 0 br i1 %t9694, label %then2046, label %ifend2048 then2046: store ptr @.str8390, ptr %t403 %t9695 = load ptr, ptr %t410 %t9696 = getelementptr inbounds %LSlice, ptr %t9695, i32 0, i32 1 %t9697 = getelementptr inbounds %LSlice, ptr %t9695, i32 0, i32 2 %t9698 = getelementptr inbounds %LSlice, ptr %t9695, i32 0, i32 0 %t9699 = load i32, ptr %t9696 %t9700 = load i32, ptr %t9697 %t9701 = icmp sge i32 %t9699, %t9700 br i1 %t9701, label %grow2049, label %put2050 grow2049: %t9702 = mul i32 %t9700, 2 %t9703 = icmp eq i32 %t9700, 0 %t9704 = select i1 %t9703, i32 8, i32 %t9702 %t9705 = getelementptr ptr, ptr null, i32 1 %t9706 = ptrtoint ptr %t9705 to i64 %t9707 = zext i32 %t9704 to i64 %t9708 = mul i64 %t9707, %t9706 %t9709 = load ptr, ptr %t9698 %t9710 = call ptr @realloc(ptr %t9709, i64 %t9708) store ptr %t9710, ptr %t9698 store i32 %t9704, ptr %t9697 br label %put2050 put2050: %t9711 = load ptr, ptr %t9698 %t9712 = getelementptr inbounds ptr, ptr %t9711, i32 %t9699 store ptr @.str8391, ptr %t9712 %t9713 = add i32 %t9699, 1 store i32 %t9713, ptr %t9696 br label %ifend2048 ifend2048: %t9714 = load ptr, ptr %t1 %t9715 = call i32 @lp_str_eq(ptr %t9714, ptr @.str8392) %t9716 = icmp ne i32 %t9715, 0 br i1 %t9716, label %then2051, label %ifend2053 then2051: store ptr @.str8393, ptr %t403 %t9717 = load ptr, ptr %t410 %t9718 = getelementptr inbounds %LSlice, ptr %t9717, i32 0, i32 1 %t9719 = getelementptr inbounds %LSlice, ptr %t9717, i32 0, i32 2 %t9720 = getelementptr inbounds %LSlice, ptr %t9717, i32 0, i32 0 %t9721 = load i32, ptr %t9718 %t9722 = load i32, ptr %t9719 %t9723 = icmp sge i32 %t9721, %t9722 br i1 %t9723, label %grow2054, label %put2055 grow2054: %t9724 = mul i32 %t9722, 2 %t9725 = icmp eq i32 %t9722, 0 %t9726 = select i1 %t9725, i32 8, i32 %t9724 %t9727 = getelementptr ptr, ptr null, i32 1 %t9728 = ptrtoint ptr %t9727 to i64 %t9729 = zext i32 %t9726 to i64 %t9730 = mul i64 %t9729, %t9728 %t9731 = load ptr, ptr %t9720 %t9732 = call ptr @realloc(ptr %t9731, i64 %t9730) store ptr %t9732, ptr %t9720 store i32 %t9726, ptr %t9719 br label %put2055 put2055: %t9733 = load ptr, ptr %t9720 %t9734 = getelementptr inbounds ptr, ptr %t9733, i32 %t9721 store ptr @.str8394, ptr %t9734 %t9735 = add i32 %t9721, 1 store i32 %t9735, ptr %t9718 br label %ifend2053 ifend2053: %t9736 = load ptr, ptr %t1 %t9737 = call i32 @lp_str_eq(ptr %t9736, ptr @.str8395) %t9738 = icmp ne i32 %t9737, 0 br i1 %t9738, label %then2056, label %ifend2058 then2056: store ptr @.str8396, ptr %t403 %t9739 = load ptr, ptr %t410 %t9740 = getelementptr inbounds %LSlice, ptr %t9739, i32 0, i32 1 %t9741 = getelementptr inbounds %LSlice, ptr %t9739, i32 0, i32 2 %t9742 = getelementptr inbounds %LSlice, ptr %t9739, i32 0, i32 0 %t9743 = load i32, ptr %t9740 %t9744 = load i32, ptr %t9741 %t9745 = icmp sge i32 %t9743, %t9744 br i1 %t9745, label %grow2059, label %put2060 grow2059: %t9746 = mul i32 %t9744, 2 %t9747 = icmp eq i32 %t9744, 0 %t9748 = select i1 %t9747, i32 8, i32 %t9746 %t9749 = getelementptr ptr, ptr null, i32 1 %t9750 = ptrtoint ptr %t9749 to i64 %t9751 = zext i32 %t9748 to i64 %t9752 = mul i64 %t9751, %t9750 %t9753 = load ptr, ptr %t9742 %t9754 = call ptr @realloc(ptr %t9753, i64 %t9752) store ptr %t9754, ptr %t9742 store i32 %t9748, ptr %t9741 br label %put2060 put2060: %t9755 = load ptr, ptr %t9742 %t9756 = getelementptr inbounds ptr, ptr %t9755, i32 %t9743 store ptr @.str8397, ptr %t9756 %t9757 = add i32 %t9743, 1 store i32 %t9757, ptr %t9740 br label %ifend2058 ifend2058: %t9758 = load ptr, ptr %t1 %t9759 = call i32 @lp_str_eq(ptr %t9758, ptr @.str8398) %t9760 = icmp ne i32 %t9759, 0 br i1 %t9760, label %then2061, label %ifend2063 then2061: store ptr @.str8399, ptr %t403 %t9761 = load ptr, ptr %t410 %t9762 = getelementptr inbounds %LSlice, ptr %t9761, i32 0, i32 1 %t9763 = getelementptr inbounds %LSlice, ptr %t9761, i32 0, i32 2 %t9764 = getelementptr inbounds %LSlice, ptr %t9761, i32 0, i32 0 %t9765 = load i32, ptr %t9762 %t9766 = load i32, ptr %t9763 %t9767 = icmp sge i32 %t9765, %t9766 br i1 %t9767, label %grow2064, label %put2065 grow2064: %t9768 = mul i32 %t9766, 2 %t9769 = icmp eq i32 %t9766, 0 %t9770 = select i1 %t9769, i32 8, i32 %t9768 %t9771 = getelementptr ptr, ptr null, i32 1 %t9772 = ptrtoint ptr %t9771 to i64 %t9773 = zext i32 %t9770 to i64 %t9774 = mul i64 %t9773, %t9772 %t9775 = load ptr, ptr %t9764 %t9776 = call ptr @realloc(ptr %t9775, i64 %t9774) store ptr %t9776, ptr %t9764 store i32 %t9770, ptr %t9763 br label %put2065 put2065: %t9777 = load ptr, ptr %t9764 %t9778 = getelementptr inbounds ptr, ptr %t9777, i32 %t9765 store ptr @.str8400, ptr %t9778 %t9779 = add i32 %t9765, 1 store i32 %t9779, ptr %t9762 br label %ifend2063 ifend2063: br label %ifend2007 ifend2007: %t9780 = load ptr, ptr %t0 %t9781 = call i32 @lp_str_eq(ptr %t9780, ptr @.str8401) %t9782 = icmp ne i32 %t9781, 0 br i1 %t9782, label %then2066, label %ifend2068 then2066: %t9783 = load ptr, ptr %t1 %t9784 = call i32 @lp_str_eq(ptr %t9783, ptr @.str8402) %t9785 = icmp ne i32 %t9784, 0 br i1 %t9785, label %then2069, label %ifend2071 then2069: store ptr @.str8403, ptr %t403 %t9786 = load ptr, ptr %t410 %t9787 = getelementptr inbounds %LSlice, ptr %t9786, i32 0, i32 1 %t9788 = getelementptr inbounds %LSlice, ptr %t9786, i32 0, i32 2 %t9789 = getelementptr inbounds %LSlice, ptr %t9786, i32 0, i32 0 %t9790 = load i32, ptr %t9787 %t9791 = load i32, ptr %t9788 %t9792 = icmp sge i32 %t9790, %t9791 br i1 %t9792, label %grow2072, label %put2073 grow2072: %t9793 = mul i32 %t9791, 2 %t9794 = icmp eq i32 %t9791, 0 %t9795 = select i1 %t9794, i32 8, i32 %t9793 %t9796 = getelementptr ptr, ptr null, i32 1 %t9797 = ptrtoint ptr %t9796 to i64 %t9798 = zext i32 %t9795 to i64 %t9799 = mul i64 %t9798, %t9797 %t9800 = load ptr, ptr %t9789 %t9801 = call ptr @realloc(ptr %t9800, i64 %t9799) store ptr %t9801, ptr %t9789 store i32 %t9795, ptr %t9788 br label %put2073 put2073: %t9802 = load ptr, ptr %t9789 %t9803 = getelementptr inbounds ptr, ptr %t9802, i32 %t9790 store ptr @.str8404, ptr %t9803 %t9804 = add i32 %t9790, 1 store i32 %t9804, ptr %t9787 br label %ifend2071 ifend2071: %t9805 = load ptr, ptr %t1 %t9806 = call i32 @lp_str_eq(ptr %t9805, ptr @.str8405) %t9807 = icmp ne i32 %t9806, 0 br i1 %t9807, label %then2074, label %ifend2076 then2074: store ptr @.str8406, ptr %t403 %t9808 = load ptr, ptr %t410 %t9809 = getelementptr inbounds %LSlice, ptr %t9808, i32 0, i32 1 %t9810 = getelementptr inbounds %LSlice, ptr %t9808, i32 0, i32 2 %t9811 = getelementptr inbounds %LSlice, ptr %t9808, i32 0, i32 0 %t9812 = load i32, ptr %t9809 %t9813 = load i32, ptr %t9810 %t9814 = icmp sge i32 %t9812, %t9813 br i1 %t9814, label %grow2077, label %put2078 grow2077: %t9815 = mul i32 %t9813, 2 %t9816 = icmp eq i32 %t9813, 0 %t9817 = select i1 %t9816, i32 8, i32 %t9815 %t9818 = getelementptr ptr, ptr null, i32 1 %t9819 = ptrtoint ptr %t9818 to i64 %t9820 = zext i32 %t9817 to i64 %t9821 = mul i64 %t9820, %t9819 %t9822 = load ptr, ptr %t9811 %t9823 = call ptr @realloc(ptr %t9822, i64 %t9821) store ptr %t9823, ptr %t9811 store i32 %t9817, ptr %t9810 br label %put2078 put2078: %t9824 = load ptr, ptr %t9811 %t9825 = getelementptr inbounds ptr, ptr %t9824, i32 %t9812 store ptr @.str8407, ptr %t9825 %t9826 = add i32 %t9812, 1 store i32 %t9826, ptr %t9809 br label %ifend2076 ifend2076: %t9827 = load ptr, ptr %t1 %t9828 = call i32 @lp_str_eq(ptr %t9827, ptr @.str8408) %t9829 = icmp ne i32 %t9828, 0 br i1 %t9829, label %then2079, label %ifend2081 then2079: store ptr @.str8409, ptr %t403 %t9830 = load ptr, ptr %t410 %t9831 = getelementptr inbounds %LSlice, ptr %t9830, i32 0, i32 1 %t9832 = getelementptr inbounds %LSlice, ptr %t9830, i32 0, i32 2 %t9833 = getelementptr inbounds %LSlice, ptr %t9830, i32 0, i32 0 %t9834 = load i32, ptr %t9831 %t9835 = load i32, ptr %t9832 %t9836 = icmp sge i32 %t9834, %t9835 br i1 %t9836, label %grow2082, label %put2083 grow2082: %t9837 = mul i32 %t9835, 2 %t9838 = icmp eq i32 %t9835, 0 %t9839 = select i1 %t9838, i32 8, i32 %t9837 %t9840 = getelementptr ptr, ptr null, i32 1 %t9841 = ptrtoint ptr %t9840 to i64 %t9842 = zext i32 %t9839 to i64 %t9843 = mul i64 %t9842, %t9841 %t9844 = load ptr, ptr %t9833 %t9845 = call ptr @realloc(ptr %t9844, i64 %t9843) store ptr %t9845, ptr %t9833 store i32 %t9839, ptr %t9832 br label %put2083 put2083: %t9846 = load ptr, ptr %t9833 %t9847 = getelementptr inbounds ptr, ptr %t9846, i32 %t9834 store ptr @.str8410, ptr %t9847 %t9848 = add i32 %t9834, 1 store i32 %t9848, ptr %t9831 br label %ifend2081 ifend2081: %t9849 = load ptr, ptr %t1 %t9850 = call i32 @lp_str_eq(ptr %t9849, ptr @.str8411) %t9851 = icmp ne i32 %t9850, 0 br i1 %t9851, label %then2084, label %ifend2086 then2084: store ptr @.str8412, ptr %t403 %t9852 = load ptr, ptr %t410 %t9853 = getelementptr inbounds %LSlice, ptr %t9852, i32 0, i32 1 %t9854 = getelementptr inbounds %LSlice, ptr %t9852, i32 0, i32 2 %t9855 = getelementptr inbounds %LSlice, ptr %t9852, i32 0, i32 0 %t9856 = load i32, ptr %t9853 %t9857 = load i32, ptr %t9854 %t9858 = icmp sge i32 %t9856, %t9857 br i1 %t9858, label %grow2087, label %put2088 grow2087: %t9859 = mul i32 %t9857, 2 %t9860 = icmp eq i32 %t9857, 0 %t9861 = select i1 %t9860, i32 8, i32 %t9859 %t9862 = getelementptr ptr, ptr null, i32 1 %t9863 = ptrtoint ptr %t9862 to i64 %t9864 = zext i32 %t9861 to i64 %t9865 = mul i64 %t9864, %t9863 %t9866 = load ptr, ptr %t9855 %t9867 = call ptr @realloc(ptr %t9866, i64 %t9865) store ptr %t9867, ptr %t9855 store i32 %t9861, ptr %t9854 br label %put2088 put2088: %t9868 = load ptr, ptr %t9855 %t9869 = getelementptr inbounds ptr, ptr %t9868, i32 %t9856 store ptr @.str8413, ptr %t9869 %t9870 = add i32 %t9856, 1 store i32 %t9870, ptr %t9853 br label %ifend2086 ifend2086: %t9871 = load ptr, ptr %t1 %t9872 = call i32 @lp_str_eq(ptr %t9871, ptr @.str8414) %t9873 = icmp ne i32 %t9872, 0 br i1 %t9873, label %then2089, label %ifend2091 then2089: store ptr @.str8415, ptr %t403 %t9874 = load ptr, ptr %t410 %t9875 = getelementptr inbounds %LSlice, ptr %t9874, i32 0, i32 1 %t9876 = getelementptr inbounds %LSlice, ptr %t9874, i32 0, i32 2 %t9877 = getelementptr inbounds %LSlice, ptr %t9874, i32 0, i32 0 %t9878 = load i32, ptr %t9875 %t9879 = load i32, ptr %t9876 %t9880 = icmp sge i32 %t9878, %t9879 br i1 %t9880, label %grow2092, label %put2093 grow2092: %t9881 = mul i32 %t9879, 2 %t9882 = icmp eq i32 %t9879, 0 %t9883 = select i1 %t9882, i32 8, i32 %t9881 %t9884 = getelementptr ptr, ptr null, i32 1 %t9885 = ptrtoint ptr %t9884 to i64 %t9886 = zext i32 %t9883 to i64 %t9887 = mul i64 %t9886, %t9885 %t9888 = load ptr, ptr %t9877 %t9889 = call ptr @realloc(ptr %t9888, i64 %t9887) store ptr %t9889, ptr %t9877 store i32 %t9883, ptr %t9876 br label %put2093 put2093: %t9890 = load ptr, ptr %t9877 %t9891 = getelementptr inbounds ptr, ptr %t9890, i32 %t9878 store ptr @.str8416, ptr %t9891 %t9892 = add i32 %t9878, 1 store i32 %t9892, ptr %t9875 br label %ifend2091 ifend2091: %t9893 = load ptr, ptr %t1 %t9894 = call i32 @lp_str_eq(ptr %t9893, ptr @.str8417) %t9895 = icmp ne i32 %t9894, 0 br i1 %t9895, label %then2094, label %ifend2096 then2094: store ptr @.str8418, ptr %t403 %t9896 = load ptr, ptr %t410 %t9897 = getelementptr inbounds %LSlice, ptr %t9896, i32 0, i32 1 %t9898 = getelementptr inbounds %LSlice, ptr %t9896, i32 0, i32 2 %t9899 = getelementptr inbounds %LSlice, ptr %t9896, i32 0, i32 0 %t9900 = load i32, ptr %t9897 %t9901 = load i32, ptr %t9898 %t9902 = icmp sge i32 %t9900, %t9901 br i1 %t9902, label %grow2097, label %put2098 grow2097: %t9903 = mul i32 %t9901, 2 %t9904 = icmp eq i32 %t9901, 0 %t9905 = select i1 %t9904, i32 8, i32 %t9903 %t9906 = getelementptr ptr, ptr null, i32 1 %t9907 = ptrtoint ptr %t9906 to i64 %t9908 = zext i32 %t9905 to i64 %t9909 = mul i64 %t9908, %t9907 %t9910 = load ptr, ptr %t9899 %t9911 = call ptr @realloc(ptr %t9910, i64 %t9909) store ptr %t9911, ptr %t9899 store i32 %t9905, ptr %t9898 br label %put2098 put2098: %t9912 = load ptr, ptr %t9899 %t9913 = getelementptr inbounds ptr, ptr %t9912, i32 %t9900 store ptr @.str8419, ptr %t9913 %t9914 = add i32 %t9900, 1 store i32 %t9914, ptr %t9897 %t9915 = load ptr, ptr %t410 %t9916 = getelementptr inbounds %LSlice, ptr %t9915, i32 0, i32 1 %t9917 = getelementptr inbounds %LSlice, ptr %t9915, i32 0, i32 2 %t9918 = getelementptr inbounds %LSlice, ptr %t9915, i32 0, i32 0 %t9919 = load i32, ptr %t9916 %t9920 = load i32, ptr %t9917 %t9921 = icmp sge i32 %t9919, %t9920 br i1 %t9921, label %grow2099, label %put2100 grow2099: %t9922 = mul i32 %t9920, 2 %t9923 = icmp eq i32 %t9920, 0 %t9924 = select i1 %t9923, i32 8, i32 %t9922 %t9925 = getelementptr ptr, ptr null, i32 1 %t9926 = ptrtoint ptr %t9925 to i64 %t9927 = zext i32 %t9924 to i64 %t9928 = mul i64 %t9927, %t9926 %t9929 = load ptr, ptr %t9918 %t9930 = call ptr @realloc(ptr %t9929, i64 %t9928) store ptr %t9930, ptr %t9918 store i32 %t9924, ptr %t9917 br label %put2100 put2100: %t9931 = load ptr, ptr %t9918 %t9932 = getelementptr inbounds ptr, ptr %t9931, i32 %t9919 store ptr @.str8420, ptr %t9932 %t9933 = add i32 %t9919, 1 store i32 %t9933, ptr %t9916 br label %ifend2096 ifend2096: %t9934 = load ptr, ptr %t1 %t9935 = call i32 @lp_str_eq(ptr %t9934, ptr @.str8421) %t9936 = icmp ne i32 %t9935, 0 br i1 %t9936, label %then2101, label %ifend2103 then2101: store ptr @.str8422, ptr %t403 %t9937 = load ptr, ptr %t410 %t9938 = getelementptr inbounds %LSlice, ptr %t9937, i32 0, i32 1 %t9939 = getelementptr inbounds %LSlice, ptr %t9937, i32 0, i32 2 %t9940 = getelementptr inbounds %LSlice, ptr %t9937, i32 0, i32 0 %t9941 = load i32, ptr %t9938 %t9942 = load i32, ptr %t9939 %t9943 = icmp sge i32 %t9941, %t9942 br i1 %t9943, label %grow2104, label %put2105 grow2104: %t9944 = mul i32 %t9942, 2 %t9945 = icmp eq i32 %t9942, 0 %t9946 = select i1 %t9945, i32 8, i32 %t9944 %t9947 = getelementptr ptr, ptr null, i32 1 %t9948 = ptrtoint ptr %t9947 to i64 %t9949 = zext i32 %t9946 to i64 %t9950 = mul i64 %t9949, %t9948 %t9951 = load ptr, ptr %t9940 %t9952 = call ptr @realloc(ptr %t9951, i64 %t9950) store ptr %t9952, ptr %t9940 store i32 %t9946, ptr %t9939 br label %put2105 put2105: %t9953 = load ptr, ptr %t9940 %t9954 = getelementptr inbounds ptr, ptr %t9953, i32 %t9941 store ptr @.str8423, ptr %t9954 %t9955 = add i32 %t9941, 1 store i32 %t9955, ptr %t9938 %t9956 = load ptr, ptr %t410 %t9957 = getelementptr inbounds %LSlice, ptr %t9956, i32 0, i32 1 %t9958 = getelementptr inbounds %LSlice, ptr %t9956, i32 0, i32 2 %t9959 = getelementptr inbounds %LSlice, ptr %t9956, i32 0, i32 0 %t9960 = load i32, ptr %t9957 %t9961 = load i32, ptr %t9958 %t9962 = icmp sge i32 %t9960, %t9961 br i1 %t9962, label %grow2106, label %put2107 grow2106: %t9963 = mul i32 %t9961, 2 %t9964 = icmp eq i32 %t9961, 0 %t9965 = select i1 %t9964, i32 8, i32 %t9963 %t9966 = getelementptr ptr, ptr null, i32 1 %t9967 = ptrtoint ptr %t9966 to i64 %t9968 = zext i32 %t9965 to i64 %t9969 = mul i64 %t9968, %t9967 %t9970 = load ptr, ptr %t9959 %t9971 = call ptr @realloc(ptr %t9970, i64 %t9969) store ptr %t9971, ptr %t9959 store i32 %t9965, ptr %t9958 br label %put2107 put2107: %t9972 = load ptr, ptr %t9959 %t9973 = getelementptr inbounds ptr, ptr %t9972, i32 %t9960 store ptr @.str8424, ptr %t9973 %t9974 = add i32 %t9960, 1 store i32 %t9974, ptr %t9957 br label %ifend2103 ifend2103: %t9975 = load ptr, ptr %t1 %t9976 = call i32 @lp_str_eq(ptr %t9975, ptr @.str8425) %t9977 = icmp ne i32 %t9976, 0 br i1 %t9977, label %then2108, label %ifend2110 then2108: store ptr @.str8426, ptr %t403 %t9978 = load ptr, ptr %t410 %t9979 = getelementptr inbounds %LSlice, ptr %t9978, i32 0, i32 1 %t9980 = getelementptr inbounds %LSlice, ptr %t9978, i32 0, i32 2 %t9981 = getelementptr inbounds %LSlice, ptr %t9978, i32 0, i32 0 %t9982 = load i32, ptr %t9979 %t9983 = load i32, ptr %t9980 %t9984 = icmp sge i32 %t9982, %t9983 br i1 %t9984, label %grow2111, label %put2112 grow2111: %t9985 = mul i32 %t9983, 2 %t9986 = icmp eq i32 %t9983, 0 %t9987 = select i1 %t9986, i32 8, i32 %t9985 %t9988 = getelementptr ptr, ptr null, i32 1 %t9989 = ptrtoint ptr %t9988 to i64 %t9990 = zext i32 %t9987 to i64 %t9991 = mul i64 %t9990, %t9989 %t9992 = load ptr, ptr %t9981 %t9993 = call ptr @realloc(ptr %t9992, i64 %t9991) store ptr %t9993, ptr %t9981 store i32 %t9987, ptr %t9980 br label %put2112 put2112: %t9994 = load ptr, ptr %t9981 %t9995 = getelementptr inbounds ptr, ptr %t9994, i32 %t9982 store ptr @.str8427, ptr %t9995 %t9996 = add i32 %t9982, 1 store i32 %t9996, ptr %t9979 %t9997 = load ptr, ptr %t410 %t9998 = getelementptr inbounds %LSlice, ptr %t9997, i32 0, i32 1 %t9999 = getelementptr inbounds %LSlice, ptr %t9997, i32 0, i32 2 %t10000 = getelementptr inbounds %LSlice, ptr %t9997, i32 0, i32 0 %t10001 = load i32, ptr %t9998 %t10002 = load i32, ptr %t9999 %t10003 = icmp sge i32 %t10001, %t10002 br i1 %t10003, label %grow2113, label %put2114 grow2113: %t10004 = mul i32 %t10002, 2 %t10005 = icmp eq i32 %t10002, 0 %t10006 = select i1 %t10005, i32 8, i32 %t10004 %t10007 = getelementptr ptr, ptr null, i32 1 %t10008 = ptrtoint ptr %t10007 to i64 %t10009 = zext i32 %t10006 to i64 %t10010 = mul i64 %t10009, %t10008 %t10011 = load ptr, ptr %t10000 %t10012 = call ptr @realloc(ptr %t10011, i64 %t10010) store ptr %t10012, ptr %t10000 store i32 %t10006, ptr %t9999 br label %put2114 put2114: %t10013 = load ptr, ptr %t10000 %t10014 = getelementptr inbounds ptr, ptr %t10013, i32 %t10001 store ptr @.str8428, ptr %t10014 %t10015 = add i32 %t10001, 1 store i32 %t10015, ptr %t9998 br label %ifend2110 ifend2110: %t10016 = load ptr, ptr %t1 %t10017 = call i32 @lp_str_eq(ptr %t10016, ptr @.str8429) %t10018 = icmp ne i32 %t10017, 0 br i1 %t10018, label %then2115, label %ifend2117 then2115: store ptr @.str8430, ptr %t403 %t10019 = load ptr, ptr %t410 %t10020 = getelementptr inbounds %LSlice, ptr %t10019, i32 0, i32 1 %t10021 = getelementptr inbounds %LSlice, ptr %t10019, i32 0, i32 2 %t10022 = getelementptr inbounds %LSlice, ptr %t10019, i32 0, i32 0 %t10023 = load i32, ptr %t10020 %t10024 = load i32, ptr %t10021 %t10025 = icmp sge i32 %t10023, %t10024 br i1 %t10025, label %grow2118, label %put2119 grow2118: %t10026 = mul i32 %t10024, 2 %t10027 = icmp eq i32 %t10024, 0 %t10028 = select i1 %t10027, i32 8, i32 %t10026 %t10029 = getelementptr ptr, ptr null, i32 1 %t10030 = ptrtoint ptr %t10029 to i64 %t10031 = zext i32 %t10028 to i64 %t10032 = mul i64 %t10031, %t10030 %t10033 = load ptr, ptr %t10022 %t10034 = call ptr @realloc(ptr %t10033, i64 %t10032) store ptr %t10034, ptr %t10022 store i32 %t10028, ptr %t10021 br label %put2119 put2119: %t10035 = load ptr, ptr %t10022 %t10036 = getelementptr inbounds ptr, ptr %t10035, i32 %t10023 store ptr @.str8431, ptr %t10036 %t10037 = add i32 %t10023, 1 store i32 %t10037, ptr %t10020 %t10038 = load ptr, ptr %t410 %t10039 = getelementptr inbounds %LSlice, ptr %t10038, i32 0, i32 1 %t10040 = getelementptr inbounds %LSlice, ptr %t10038, i32 0, i32 2 %t10041 = getelementptr inbounds %LSlice, ptr %t10038, i32 0, i32 0 %t10042 = load i32, ptr %t10039 %t10043 = load i32, ptr %t10040 %t10044 = icmp sge i32 %t10042, %t10043 br i1 %t10044, label %grow2120, label %put2121 grow2120: %t10045 = mul i32 %t10043, 2 %t10046 = icmp eq i32 %t10043, 0 %t10047 = select i1 %t10046, i32 8, i32 %t10045 %t10048 = getelementptr ptr, ptr null, i32 1 %t10049 = ptrtoint ptr %t10048 to i64 %t10050 = zext i32 %t10047 to i64 %t10051 = mul i64 %t10050, %t10049 %t10052 = load ptr, ptr %t10041 %t10053 = call ptr @realloc(ptr %t10052, i64 %t10051) store ptr %t10053, ptr %t10041 store i32 %t10047, ptr %t10040 br label %put2121 put2121: %t10054 = load ptr, ptr %t10041 %t10055 = getelementptr inbounds ptr, ptr %t10054, i32 %t10042 store ptr @.str8432, ptr %t10055 %t10056 = add i32 %t10042, 1 store i32 %t10056, ptr %t10039 %t10057 = load ptr, ptr %t410 %t10058 = getelementptr inbounds %LSlice, ptr %t10057, i32 0, i32 1 %t10059 = getelementptr inbounds %LSlice, ptr %t10057, i32 0, i32 2 %t10060 = getelementptr inbounds %LSlice, ptr %t10057, i32 0, i32 0 %t10061 = load i32, ptr %t10058 %t10062 = load i32, ptr %t10059 %t10063 = icmp sge i32 %t10061, %t10062 br i1 %t10063, label %grow2122, label %put2123 grow2122: %t10064 = mul i32 %t10062, 2 %t10065 = icmp eq i32 %t10062, 0 %t10066 = select i1 %t10065, i32 8, i32 %t10064 %t10067 = getelementptr ptr, ptr null, i32 1 %t10068 = ptrtoint ptr %t10067 to i64 %t10069 = zext i32 %t10066 to i64 %t10070 = mul i64 %t10069, %t10068 %t10071 = load ptr, ptr %t10060 %t10072 = call ptr @realloc(ptr %t10071, i64 %t10070) store ptr %t10072, ptr %t10060 store i32 %t10066, ptr %t10059 br label %put2123 put2123: %t10073 = load ptr, ptr %t10060 %t10074 = getelementptr inbounds ptr, ptr %t10073, i32 %t10061 store ptr @.str8433, ptr %t10074 %t10075 = add i32 %t10061, 1 store i32 %t10075, ptr %t10058 br label %ifend2117 ifend2117: br label %ifend2068 ifend2068: %t10076 = load ptr, ptr %t0 %t10077 = call i32 @lp_str_eq(ptr %t10076, ptr @.str8434) %t10078 = icmp ne i32 %t10077, 0 br i1 %t10078, label %then2124, label %ifend2126 then2124: %t10079 = load ptr, ptr %t1 %t10080 = call i32 @lp_str_eq(ptr %t10079, ptr @.str8435) %t10081 = icmp ne i32 %t10080, 0 br i1 %t10081, label %then2127, label %ifend2129 then2127: store ptr @.str8436, ptr %t403 %t10082 = load ptr, ptr %t410 %t10083 = getelementptr inbounds %LSlice, ptr %t10082, i32 0, i32 1 %t10084 = getelementptr inbounds %LSlice, ptr %t10082, i32 0, i32 2 %t10085 = getelementptr inbounds %LSlice, ptr %t10082, i32 0, i32 0 %t10086 = load i32, ptr %t10083 %t10087 = load i32, ptr %t10084 %t10088 = icmp sge i32 %t10086, %t10087 br i1 %t10088, label %grow2130, label %put2131 grow2130: %t10089 = mul i32 %t10087, 2 %t10090 = icmp eq i32 %t10087, 0 %t10091 = select i1 %t10090, i32 8, i32 %t10089 %t10092 = getelementptr ptr, ptr null, i32 1 %t10093 = ptrtoint ptr %t10092 to i64 %t10094 = zext i32 %t10091 to i64 %t10095 = mul i64 %t10094, %t10093 %t10096 = load ptr, ptr %t10085 %t10097 = call ptr @realloc(ptr %t10096, i64 %t10095) store ptr %t10097, ptr %t10085 store i32 %t10091, ptr %t10084 br label %put2131 put2131: %t10098 = load ptr, ptr %t10085 %t10099 = getelementptr inbounds ptr, ptr %t10098, i32 %t10086 store ptr @.str8437, ptr %t10099 %t10100 = add i32 %t10086, 1 store i32 %t10100, ptr %t10083 br label %ifend2129 ifend2129: %t10101 = load ptr, ptr %t1 %t10102 = call i32 @lp_str_eq(ptr %t10101, ptr @.str8438) %t10103 = icmp ne i32 %t10102, 0 br i1 %t10103, label %then2132, label %ifend2134 then2132: store ptr @.str8439, ptr %t403 %t10104 = load ptr, ptr %t410 %t10105 = getelementptr inbounds %LSlice, ptr %t10104, i32 0, i32 1 %t10106 = getelementptr inbounds %LSlice, ptr %t10104, i32 0, i32 2 %t10107 = getelementptr inbounds %LSlice, ptr %t10104, i32 0, i32 0 %t10108 = load i32, ptr %t10105 %t10109 = load i32, ptr %t10106 %t10110 = icmp sge i32 %t10108, %t10109 br i1 %t10110, label %grow2135, label %put2136 grow2135: %t10111 = mul i32 %t10109, 2 %t10112 = icmp eq i32 %t10109, 0 %t10113 = select i1 %t10112, i32 8, i32 %t10111 %t10114 = getelementptr ptr, ptr null, i32 1 %t10115 = ptrtoint ptr %t10114 to i64 %t10116 = zext i32 %t10113 to i64 %t10117 = mul i64 %t10116, %t10115 %t10118 = load ptr, ptr %t10107 %t10119 = call ptr @realloc(ptr %t10118, i64 %t10117) store ptr %t10119, ptr %t10107 store i32 %t10113, ptr %t10106 br label %put2136 put2136: %t10120 = load ptr, ptr %t10107 %t10121 = getelementptr inbounds ptr, ptr %t10120, i32 %t10108 store ptr @.str8440, ptr %t10121 %t10122 = add i32 %t10108, 1 store i32 %t10122, ptr %t10105 %t10123 = load ptr, ptr %t410 %t10124 = getelementptr inbounds %LSlice, ptr %t10123, i32 0, i32 1 %t10125 = getelementptr inbounds %LSlice, ptr %t10123, i32 0, i32 2 %t10126 = getelementptr inbounds %LSlice, ptr %t10123, i32 0, i32 0 %t10127 = load i32, ptr %t10124 %t10128 = load i32, ptr %t10125 %t10129 = icmp sge i32 %t10127, %t10128 br i1 %t10129, label %grow2137, label %put2138 grow2137: %t10130 = mul i32 %t10128, 2 %t10131 = icmp eq i32 %t10128, 0 %t10132 = select i1 %t10131, i32 8, i32 %t10130 %t10133 = getelementptr ptr, ptr null, i32 1 %t10134 = ptrtoint ptr %t10133 to i64 %t10135 = zext i32 %t10132 to i64 %t10136 = mul i64 %t10135, %t10134 %t10137 = load ptr, ptr %t10126 %t10138 = call ptr @realloc(ptr %t10137, i64 %t10136) store ptr %t10138, ptr %t10126 store i32 %t10132, ptr %t10125 br label %put2138 put2138: %t10139 = load ptr, ptr %t10126 %t10140 = getelementptr inbounds ptr, ptr %t10139, i32 %t10127 store ptr @.str8441, ptr %t10140 %t10141 = add i32 %t10127, 1 store i32 %t10141, ptr %t10124 br label %ifend2134 ifend2134: %t10142 = load ptr, ptr %t1 %t10143 = call i32 @lp_str_eq(ptr %t10142, ptr @.str8442) %t10144 = icmp ne i32 %t10143, 0 br i1 %t10144, label %then2139, label %ifend2141 then2139: store ptr @.str8443, ptr %t403 %t10145 = load ptr, ptr %t410 %t10146 = getelementptr inbounds %LSlice, ptr %t10145, i32 0, i32 1 %t10147 = getelementptr inbounds %LSlice, ptr %t10145, i32 0, i32 2 %t10148 = getelementptr inbounds %LSlice, ptr %t10145, i32 0, i32 0 %t10149 = load i32, ptr %t10146 %t10150 = load i32, ptr %t10147 %t10151 = icmp sge i32 %t10149, %t10150 br i1 %t10151, label %grow2142, label %put2143 grow2142: %t10152 = mul i32 %t10150, 2 %t10153 = icmp eq i32 %t10150, 0 %t10154 = select i1 %t10153, i32 8, i32 %t10152 %t10155 = getelementptr ptr, ptr null, i32 1 %t10156 = ptrtoint ptr %t10155 to i64 %t10157 = zext i32 %t10154 to i64 %t10158 = mul i64 %t10157, %t10156 %t10159 = load ptr, ptr %t10148 %t10160 = call ptr @realloc(ptr %t10159, i64 %t10158) store ptr %t10160, ptr %t10148 store i32 %t10154, ptr %t10147 br label %put2143 put2143: %t10161 = load ptr, ptr %t10148 %t10162 = getelementptr inbounds ptr, ptr %t10161, i32 %t10149 store ptr @.str8444, ptr %t10162 %t10163 = add i32 %t10149, 1 store i32 %t10163, ptr %t10146 %t10164 = load ptr, ptr %t410 %t10165 = getelementptr inbounds %LSlice, ptr %t10164, i32 0, i32 1 %t10166 = getelementptr inbounds %LSlice, ptr %t10164, i32 0, i32 2 %t10167 = getelementptr inbounds %LSlice, ptr %t10164, i32 0, i32 0 %t10168 = load i32, ptr %t10165 %t10169 = load i32, ptr %t10166 %t10170 = icmp sge i32 %t10168, %t10169 br i1 %t10170, label %grow2144, label %put2145 grow2144: %t10171 = mul i32 %t10169, 2 %t10172 = icmp eq i32 %t10169, 0 %t10173 = select i1 %t10172, i32 8, i32 %t10171 %t10174 = getelementptr ptr, ptr null, i32 1 %t10175 = ptrtoint ptr %t10174 to i64 %t10176 = zext i32 %t10173 to i64 %t10177 = mul i64 %t10176, %t10175 %t10178 = load ptr, ptr %t10167 %t10179 = call ptr @realloc(ptr %t10178, i64 %t10177) store ptr %t10179, ptr %t10167 store i32 %t10173, ptr %t10166 br label %put2145 put2145: %t10180 = load ptr, ptr %t10167 %t10181 = getelementptr inbounds ptr, ptr %t10180, i32 %t10168 store ptr @.str8445, ptr %t10181 %t10182 = add i32 %t10168, 1 store i32 %t10182, ptr %t10165 %t10183 = load ptr, ptr %t410 %t10184 = getelementptr inbounds %LSlice, ptr %t10183, i32 0, i32 1 %t10185 = getelementptr inbounds %LSlice, ptr %t10183, i32 0, i32 2 %t10186 = getelementptr inbounds %LSlice, ptr %t10183, i32 0, i32 0 %t10187 = load i32, ptr %t10184 %t10188 = load i32, ptr %t10185 %t10189 = icmp sge i32 %t10187, %t10188 br i1 %t10189, label %grow2146, label %put2147 grow2146: %t10190 = mul i32 %t10188, 2 %t10191 = icmp eq i32 %t10188, 0 %t10192 = select i1 %t10191, i32 8, i32 %t10190 %t10193 = getelementptr ptr, ptr null, i32 1 %t10194 = ptrtoint ptr %t10193 to i64 %t10195 = zext i32 %t10192 to i64 %t10196 = mul i64 %t10195, %t10194 %t10197 = load ptr, ptr %t10186 %t10198 = call ptr @realloc(ptr %t10197, i64 %t10196) store ptr %t10198, ptr %t10186 store i32 %t10192, ptr %t10185 br label %put2147 put2147: %t10199 = load ptr, ptr %t10186 %t10200 = getelementptr inbounds ptr, ptr %t10199, i32 %t10187 store ptr @.str8446, ptr %t10200 %t10201 = add i32 %t10187, 1 store i32 %t10201, ptr %t10184 br label %ifend2141 ifend2141: %t10202 = load ptr, ptr %t1 %t10203 = call i32 @lp_str_eq(ptr %t10202, ptr @.str8447) %t10204 = icmp ne i32 %t10203, 0 br i1 %t10204, label %then2148, label %ifend2150 then2148: store ptr @.str8448, ptr %t403 %t10205 = load ptr, ptr %t410 %t10206 = getelementptr inbounds %LSlice, ptr %t10205, i32 0, i32 1 %t10207 = getelementptr inbounds %LSlice, ptr %t10205, i32 0, i32 2 %t10208 = getelementptr inbounds %LSlice, ptr %t10205, i32 0, i32 0 %t10209 = load i32, ptr %t10206 %t10210 = load i32, ptr %t10207 %t10211 = icmp sge i32 %t10209, %t10210 br i1 %t10211, label %grow2151, label %put2152 grow2151: %t10212 = mul i32 %t10210, 2 %t10213 = icmp eq i32 %t10210, 0 %t10214 = select i1 %t10213, i32 8, i32 %t10212 %t10215 = getelementptr ptr, ptr null, i32 1 %t10216 = ptrtoint ptr %t10215 to i64 %t10217 = zext i32 %t10214 to i64 %t10218 = mul i64 %t10217, %t10216 %t10219 = load ptr, ptr %t10208 %t10220 = call ptr @realloc(ptr %t10219, i64 %t10218) store ptr %t10220, ptr %t10208 store i32 %t10214, ptr %t10207 br label %put2152 put2152: %t10221 = load ptr, ptr %t10208 %t10222 = getelementptr inbounds ptr, ptr %t10221, i32 %t10209 store ptr @.str8449, ptr %t10222 %t10223 = add i32 %t10209, 1 store i32 %t10223, ptr %t10206 %t10224 = load ptr, ptr %t410 %t10225 = getelementptr inbounds %LSlice, ptr %t10224, i32 0, i32 1 %t10226 = getelementptr inbounds %LSlice, ptr %t10224, i32 0, i32 2 %t10227 = getelementptr inbounds %LSlice, ptr %t10224, i32 0, i32 0 %t10228 = load i32, ptr %t10225 %t10229 = load i32, ptr %t10226 %t10230 = icmp sge i32 %t10228, %t10229 br i1 %t10230, label %grow2153, label %put2154 grow2153: %t10231 = mul i32 %t10229, 2 %t10232 = icmp eq i32 %t10229, 0 %t10233 = select i1 %t10232, i32 8, i32 %t10231 %t10234 = getelementptr ptr, ptr null, i32 1 %t10235 = ptrtoint ptr %t10234 to i64 %t10236 = zext i32 %t10233 to i64 %t10237 = mul i64 %t10236, %t10235 %t10238 = load ptr, ptr %t10227 %t10239 = call ptr @realloc(ptr %t10238, i64 %t10237) store ptr %t10239, ptr %t10227 store i32 %t10233, ptr %t10226 br label %put2154 put2154: %t10240 = load ptr, ptr %t10227 %t10241 = getelementptr inbounds ptr, ptr %t10240, i32 %t10228 store ptr @.str8450, ptr %t10241 %t10242 = add i32 %t10228, 1 store i32 %t10242, ptr %t10225 br label %ifend2150 ifend2150: br label %ifend2126 ifend2126: %t10243 = load ptr, ptr %t0 %t10244 = call i32 @lp_str_eq(ptr %t10243, ptr @.str8451) %t10245 = icmp ne i32 %t10244, 0 br i1 %t10245, label %then2155, label %ifend2157 then2155: %t10246 = load ptr, ptr %t1 %t10247 = call i32 @lp_str_eq(ptr %t10246, ptr @.str8452) %t10248 = icmp ne i32 %t10247, 0 br i1 %t10248, label %then2158, label %ifend2160 then2158: store ptr @.str8453, ptr %t403 %t10249 = load ptr, ptr %t410 %t10250 = getelementptr inbounds %LSlice, ptr %t10249, i32 0, i32 1 %t10251 = getelementptr inbounds %LSlice, ptr %t10249, i32 0, i32 2 %t10252 = getelementptr inbounds %LSlice, ptr %t10249, i32 0, i32 0 %t10253 = load i32, ptr %t10250 %t10254 = load i32, ptr %t10251 %t10255 = icmp sge i32 %t10253, %t10254 br i1 %t10255, label %grow2161, label %put2162 grow2161: %t10256 = mul i32 %t10254, 2 %t10257 = icmp eq i32 %t10254, 0 %t10258 = select i1 %t10257, i32 8, i32 %t10256 %t10259 = getelementptr ptr, ptr null, i32 1 %t10260 = ptrtoint ptr %t10259 to i64 %t10261 = zext i32 %t10258 to i64 %t10262 = mul i64 %t10261, %t10260 %t10263 = load ptr, ptr %t10252 %t10264 = call ptr @realloc(ptr %t10263, i64 %t10262) store ptr %t10264, ptr %t10252 store i32 %t10258, ptr %t10251 br label %put2162 put2162: %t10265 = load ptr, ptr %t10252 %t10266 = getelementptr inbounds ptr, ptr %t10265, i32 %t10253 store ptr @.str8454, ptr %t10266 %t10267 = add i32 %t10253, 1 store i32 %t10267, ptr %t10250 %t10268 = load ptr, ptr %t410 %t10269 = getelementptr inbounds %LSlice, ptr %t10268, i32 0, i32 1 %t10270 = getelementptr inbounds %LSlice, ptr %t10268, i32 0, i32 2 %t10271 = getelementptr inbounds %LSlice, ptr %t10268, i32 0, i32 0 %t10272 = load i32, ptr %t10269 %t10273 = load i32, ptr %t10270 %t10274 = icmp sge i32 %t10272, %t10273 br i1 %t10274, label %grow2163, label %put2164 grow2163: %t10275 = mul i32 %t10273, 2 %t10276 = icmp eq i32 %t10273, 0 %t10277 = select i1 %t10276, i32 8, i32 %t10275 %t10278 = getelementptr ptr, ptr null, i32 1 %t10279 = ptrtoint ptr %t10278 to i64 %t10280 = zext i32 %t10277 to i64 %t10281 = mul i64 %t10280, %t10279 %t10282 = load ptr, ptr %t10271 %t10283 = call ptr @realloc(ptr %t10282, i64 %t10281) store ptr %t10283, ptr %t10271 store i32 %t10277, ptr %t10270 br label %put2164 put2164: %t10284 = load ptr, ptr %t10271 %t10285 = getelementptr inbounds ptr, ptr %t10284, i32 %t10272 store ptr @.str8455, ptr %t10285 %t10286 = add i32 %t10272, 1 store i32 %t10286, ptr %t10269 %t10287 = load ptr, ptr %t410 %t10288 = getelementptr inbounds %LSlice, ptr %t10287, i32 0, i32 1 %t10289 = getelementptr inbounds %LSlice, ptr %t10287, i32 0, i32 2 %t10290 = getelementptr inbounds %LSlice, ptr %t10287, i32 0, i32 0 %t10291 = load i32, ptr %t10288 %t10292 = load i32, ptr %t10289 %t10293 = icmp sge i32 %t10291, %t10292 br i1 %t10293, label %grow2165, label %put2166 grow2165: %t10294 = mul i32 %t10292, 2 %t10295 = icmp eq i32 %t10292, 0 %t10296 = select i1 %t10295, i32 8, i32 %t10294 %t10297 = getelementptr ptr, ptr null, i32 1 %t10298 = ptrtoint ptr %t10297 to i64 %t10299 = zext i32 %t10296 to i64 %t10300 = mul i64 %t10299, %t10298 %t10301 = load ptr, ptr %t10290 %t10302 = call ptr @realloc(ptr %t10301, i64 %t10300) store ptr %t10302, ptr %t10290 store i32 %t10296, ptr %t10289 br label %put2166 put2166: %t10303 = load ptr, ptr %t10290 %t10304 = getelementptr inbounds ptr, ptr %t10303, i32 %t10291 store ptr @.str8456, ptr %t10304 %t10305 = add i32 %t10291, 1 store i32 %t10305, ptr %t10288 %t10306 = load ptr, ptr %t410 %t10307 = getelementptr inbounds %LSlice, ptr %t10306, i32 0, i32 1 %t10308 = getelementptr inbounds %LSlice, ptr %t10306, i32 0, i32 2 %t10309 = getelementptr inbounds %LSlice, ptr %t10306, i32 0, i32 0 %t10310 = load i32, ptr %t10307 %t10311 = load i32, ptr %t10308 %t10312 = icmp sge i32 %t10310, %t10311 br i1 %t10312, label %grow2167, label %put2168 grow2167: %t10313 = mul i32 %t10311, 2 %t10314 = icmp eq i32 %t10311, 0 %t10315 = select i1 %t10314, i32 8, i32 %t10313 %t10316 = getelementptr ptr, ptr null, i32 1 %t10317 = ptrtoint ptr %t10316 to i64 %t10318 = zext i32 %t10315 to i64 %t10319 = mul i64 %t10318, %t10317 %t10320 = load ptr, ptr %t10309 %t10321 = call ptr @realloc(ptr %t10320, i64 %t10319) store ptr %t10321, ptr %t10309 store i32 %t10315, ptr %t10308 br label %put2168 put2168: %t10322 = load ptr, ptr %t10309 %t10323 = getelementptr inbounds ptr, ptr %t10322, i32 %t10310 store ptr @.str8457, ptr %t10323 %t10324 = add i32 %t10310, 1 store i32 %t10324, ptr %t10307 br label %ifend2160 ifend2160: %t10325 = load ptr, ptr %t1 %t10326 = call i32 @lp_str_eq(ptr %t10325, ptr @.str8458) %t10327 = icmp ne i32 %t10326, 0 br i1 %t10327, label %then2169, label %ifend2171 then2169: store ptr @.str8459, ptr %t403 %t10328 = load ptr, ptr %t410 %t10329 = getelementptr inbounds %LSlice, ptr %t10328, i32 0, i32 1 %t10330 = getelementptr inbounds %LSlice, ptr %t10328, i32 0, i32 2 %t10331 = getelementptr inbounds %LSlice, ptr %t10328, i32 0, i32 0 %t10332 = load i32, ptr %t10329 %t10333 = load i32, ptr %t10330 %t10334 = icmp sge i32 %t10332, %t10333 br i1 %t10334, label %grow2172, label %put2173 grow2172: %t10335 = mul i32 %t10333, 2 %t10336 = icmp eq i32 %t10333, 0 %t10337 = select i1 %t10336, i32 8, i32 %t10335 %t10338 = getelementptr ptr, ptr null, i32 1 %t10339 = ptrtoint ptr %t10338 to i64 %t10340 = zext i32 %t10337 to i64 %t10341 = mul i64 %t10340, %t10339 %t10342 = load ptr, ptr %t10331 %t10343 = call ptr @realloc(ptr %t10342, i64 %t10341) store ptr %t10343, ptr %t10331 store i32 %t10337, ptr %t10330 br label %put2173 put2173: %t10344 = load ptr, ptr %t10331 %t10345 = getelementptr inbounds ptr, ptr %t10344, i32 %t10332 store ptr @.str8460, ptr %t10345 %t10346 = add i32 %t10332, 1 store i32 %t10346, ptr %t10329 %t10347 = load ptr, ptr %t410 %t10348 = getelementptr inbounds %LSlice, ptr %t10347, i32 0, i32 1 %t10349 = getelementptr inbounds %LSlice, ptr %t10347, i32 0, i32 2 %t10350 = getelementptr inbounds %LSlice, ptr %t10347, i32 0, i32 0 %t10351 = load i32, ptr %t10348 %t10352 = load i32, ptr %t10349 %t10353 = icmp sge i32 %t10351, %t10352 br i1 %t10353, label %grow2174, label %put2175 grow2174: %t10354 = mul i32 %t10352, 2 %t10355 = icmp eq i32 %t10352, 0 %t10356 = select i1 %t10355, i32 8, i32 %t10354 %t10357 = getelementptr ptr, ptr null, i32 1 %t10358 = ptrtoint ptr %t10357 to i64 %t10359 = zext i32 %t10356 to i64 %t10360 = mul i64 %t10359, %t10358 %t10361 = load ptr, ptr %t10350 %t10362 = call ptr @realloc(ptr %t10361, i64 %t10360) store ptr %t10362, ptr %t10350 store i32 %t10356, ptr %t10349 br label %put2175 put2175: %t10363 = load ptr, ptr %t10350 %t10364 = getelementptr inbounds ptr, ptr %t10363, i32 %t10351 store ptr @.str8461, ptr %t10364 %t10365 = add i32 %t10351, 1 store i32 %t10365, ptr %t10348 %t10366 = load ptr, ptr %t410 %t10367 = getelementptr inbounds %LSlice, ptr %t10366, i32 0, i32 1 %t10368 = getelementptr inbounds %LSlice, ptr %t10366, i32 0, i32 2 %t10369 = getelementptr inbounds %LSlice, ptr %t10366, i32 0, i32 0 %t10370 = load i32, ptr %t10367 %t10371 = load i32, ptr %t10368 %t10372 = icmp sge i32 %t10370, %t10371 br i1 %t10372, label %grow2176, label %put2177 grow2176: %t10373 = mul i32 %t10371, 2 %t10374 = icmp eq i32 %t10371, 0 %t10375 = select i1 %t10374, i32 8, i32 %t10373 %t10376 = getelementptr ptr, ptr null, i32 1 %t10377 = ptrtoint ptr %t10376 to i64 %t10378 = zext i32 %t10375 to i64 %t10379 = mul i64 %t10378, %t10377 %t10380 = load ptr, ptr %t10369 %t10381 = call ptr @realloc(ptr %t10380, i64 %t10379) store ptr %t10381, ptr %t10369 store i32 %t10375, ptr %t10368 br label %put2177 put2177: %t10382 = load ptr, ptr %t10369 %t10383 = getelementptr inbounds ptr, ptr %t10382, i32 %t10370 store ptr @.str8462, ptr %t10383 %t10384 = add i32 %t10370, 1 store i32 %t10384, ptr %t10367 br label %ifend2171 ifend2171: %t10385 = load ptr, ptr %t1 %t10386 = call i32 @lp_str_eq(ptr %t10385, ptr @.str8463) %t10387 = icmp ne i32 %t10386, 0 br i1 %t10387, label %then2178, label %ifend2180 then2178: store ptr @.str8464, ptr %t403 %t10388 = load ptr, ptr %t410 %t10389 = getelementptr inbounds %LSlice, ptr %t10388, i32 0, i32 1 %t10390 = getelementptr inbounds %LSlice, ptr %t10388, i32 0, i32 2 %t10391 = getelementptr inbounds %LSlice, ptr %t10388, i32 0, i32 0 %t10392 = load i32, ptr %t10389 %t10393 = load i32, ptr %t10390 %t10394 = icmp sge i32 %t10392, %t10393 br i1 %t10394, label %grow2181, label %put2182 grow2181: %t10395 = mul i32 %t10393, 2 %t10396 = icmp eq i32 %t10393, 0 %t10397 = select i1 %t10396, i32 8, i32 %t10395 %t10398 = getelementptr ptr, ptr null, i32 1 %t10399 = ptrtoint ptr %t10398 to i64 %t10400 = zext i32 %t10397 to i64 %t10401 = mul i64 %t10400, %t10399 %t10402 = load ptr, ptr %t10391 %t10403 = call ptr @realloc(ptr %t10402, i64 %t10401) store ptr %t10403, ptr %t10391 store i32 %t10397, ptr %t10390 br label %put2182 put2182: %t10404 = load ptr, ptr %t10391 %t10405 = getelementptr inbounds ptr, ptr %t10404, i32 %t10392 store ptr @.str8465, ptr %t10405 %t10406 = add i32 %t10392, 1 store i32 %t10406, ptr %t10389 %t10407 = load ptr, ptr %t410 %t10408 = getelementptr inbounds %LSlice, ptr %t10407, i32 0, i32 1 %t10409 = getelementptr inbounds %LSlice, ptr %t10407, i32 0, i32 2 %t10410 = getelementptr inbounds %LSlice, ptr %t10407, i32 0, i32 0 %t10411 = load i32, ptr %t10408 %t10412 = load i32, ptr %t10409 %t10413 = icmp sge i32 %t10411, %t10412 br i1 %t10413, label %grow2183, label %put2184 grow2183: %t10414 = mul i32 %t10412, 2 %t10415 = icmp eq i32 %t10412, 0 %t10416 = select i1 %t10415, i32 8, i32 %t10414 %t10417 = getelementptr ptr, ptr null, i32 1 %t10418 = ptrtoint ptr %t10417 to i64 %t10419 = zext i32 %t10416 to i64 %t10420 = mul i64 %t10419, %t10418 %t10421 = load ptr, ptr %t10410 %t10422 = call ptr @realloc(ptr %t10421, i64 %t10420) store ptr %t10422, ptr %t10410 store i32 %t10416, ptr %t10409 br label %put2184 put2184: %t10423 = load ptr, ptr %t10410 %t10424 = getelementptr inbounds ptr, ptr %t10423, i32 %t10411 store ptr @.str8466, ptr %t10424 %t10425 = add i32 %t10411, 1 store i32 %t10425, ptr %t10408 %t10426 = load ptr, ptr %t410 %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 %grow2185, label %put2186 grow2185: %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 %put2186 put2186: %t10442 = load ptr, ptr %t10429 %t10443 = getelementptr inbounds ptr, ptr %t10442, i32 %t10430 store ptr @.str8467, ptr %t10443 %t10444 = add i32 %t10430, 1 store i32 %t10444, ptr %t10427 %t10445 = load ptr, ptr %t410 %t10446 = getelementptr inbounds %LSlice, ptr %t10445, i32 0, i32 1 %t10447 = getelementptr inbounds %LSlice, ptr %t10445, i32 0, i32 2 %t10448 = getelementptr inbounds %LSlice, ptr %t10445, i32 0, i32 0 %t10449 = load i32, ptr %t10446 %t10450 = load i32, ptr %t10447 %t10451 = icmp sge i32 %t10449, %t10450 br i1 %t10451, label %grow2187, label %put2188 grow2187: %t10452 = mul i32 %t10450, 2 %t10453 = icmp eq i32 %t10450, 0 %t10454 = select i1 %t10453, i32 8, i32 %t10452 %t10455 = getelementptr ptr, ptr null, i32 1 %t10456 = ptrtoint ptr %t10455 to i64 %t10457 = zext i32 %t10454 to i64 %t10458 = mul i64 %t10457, %t10456 %t10459 = load ptr, ptr %t10448 %t10460 = call ptr @realloc(ptr %t10459, i64 %t10458) store ptr %t10460, ptr %t10448 store i32 %t10454, ptr %t10447 br label %put2188 put2188: %t10461 = load ptr, ptr %t10448 %t10462 = getelementptr inbounds ptr, ptr %t10461, i32 %t10449 store ptr @.str8468, ptr %t10462 %t10463 = add i32 %t10449, 1 store i32 %t10463, ptr %t10446 %t10464 = load ptr, ptr %t410 %t10465 = getelementptr inbounds %LSlice, ptr %t10464, i32 0, i32 1 %t10466 = getelementptr inbounds %LSlice, ptr %t10464, i32 0, i32 2 %t10467 = getelementptr inbounds %LSlice, ptr %t10464, i32 0, i32 0 %t10468 = load i32, ptr %t10465 %t10469 = load i32, ptr %t10466 %t10470 = icmp sge i32 %t10468, %t10469 br i1 %t10470, label %grow2189, label %put2190 grow2189: %t10471 = mul i32 %t10469, 2 %t10472 = icmp eq i32 %t10469, 0 %t10473 = select i1 %t10472, i32 8, i32 %t10471 %t10474 = getelementptr ptr, ptr null, i32 1 %t10475 = ptrtoint ptr %t10474 to i64 %t10476 = zext i32 %t10473 to i64 %t10477 = mul i64 %t10476, %t10475 %t10478 = load ptr, ptr %t10467 %t10479 = call ptr @realloc(ptr %t10478, i64 %t10477) store ptr %t10479, ptr %t10467 store i32 %t10473, ptr %t10466 br label %put2190 put2190: %t10480 = load ptr, ptr %t10467 %t10481 = getelementptr inbounds ptr, ptr %t10480, i32 %t10468 store ptr @.str8469, ptr %t10481 %t10482 = add i32 %t10468, 1 store i32 %t10482, ptr %t10465 br label %ifend2180 ifend2180: %t10483 = load ptr, ptr %t1 %t10484 = call i32 @lp_str_eq(ptr %t10483, ptr @.str8470) %t10485 = icmp ne i32 %t10484, 0 br i1 %t10485, label %then2191, label %ifend2193 then2191: store ptr @.str8471, ptr %t403 %t10486 = load ptr, ptr %t410 %t10487 = getelementptr inbounds %LSlice, ptr %t10486, i32 0, i32 1 %t10488 = getelementptr inbounds %LSlice, ptr %t10486, i32 0, i32 2 %t10489 = getelementptr inbounds %LSlice, ptr %t10486, i32 0, i32 0 %t10490 = load i32, ptr %t10487 %t10491 = load i32, ptr %t10488 %t10492 = icmp sge i32 %t10490, %t10491 br i1 %t10492, label %grow2194, label %put2195 grow2194: %t10493 = mul i32 %t10491, 2 %t10494 = icmp eq i32 %t10491, 0 %t10495 = select i1 %t10494, i32 8, i32 %t10493 %t10496 = getelementptr ptr, ptr null, i32 1 %t10497 = ptrtoint ptr %t10496 to i64 %t10498 = zext i32 %t10495 to i64 %t10499 = mul i64 %t10498, %t10497 %t10500 = load ptr, ptr %t10489 %t10501 = call ptr @realloc(ptr %t10500, i64 %t10499) store ptr %t10501, ptr %t10489 store i32 %t10495, ptr %t10488 br label %put2195 put2195: %t10502 = load ptr, ptr %t10489 %t10503 = getelementptr inbounds ptr, ptr %t10502, i32 %t10490 store ptr @.str8472, ptr %t10503 %t10504 = add i32 %t10490, 1 store i32 %t10504, ptr %t10487 %t10505 = load ptr, ptr %t410 %t10506 = getelementptr inbounds %LSlice, ptr %t10505, i32 0, i32 1 %t10507 = getelementptr inbounds %LSlice, ptr %t10505, i32 0, i32 2 %t10508 = getelementptr inbounds %LSlice, ptr %t10505, i32 0, i32 0 %t10509 = load i32, ptr %t10506 %t10510 = load i32, ptr %t10507 %t10511 = icmp sge i32 %t10509, %t10510 br i1 %t10511, label %grow2196, label %put2197 grow2196: %t10512 = mul i32 %t10510, 2 %t10513 = icmp eq i32 %t10510, 0 %t10514 = select i1 %t10513, i32 8, i32 %t10512 %t10515 = getelementptr ptr, ptr null, i32 1 %t10516 = ptrtoint ptr %t10515 to i64 %t10517 = zext i32 %t10514 to i64 %t10518 = mul i64 %t10517, %t10516 %t10519 = load ptr, ptr %t10508 %t10520 = call ptr @realloc(ptr %t10519, i64 %t10518) store ptr %t10520, ptr %t10508 store i32 %t10514, ptr %t10507 br label %put2197 put2197: %t10521 = load ptr, ptr %t10508 %t10522 = getelementptr inbounds ptr, ptr %t10521, i32 %t10509 store ptr @.str8473, ptr %t10522 %t10523 = add i32 %t10509, 1 store i32 %t10523, ptr %t10506 %t10524 = load ptr, ptr %t410 %t10525 = getelementptr inbounds %LSlice, ptr %t10524, i32 0, i32 1 %t10526 = getelementptr inbounds %LSlice, ptr %t10524, i32 0, i32 2 %t10527 = getelementptr inbounds %LSlice, ptr %t10524, i32 0, i32 0 %t10528 = load i32, ptr %t10525 %t10529 = load i32, ptr %t10526 %t10530 = icmp sge i32 %t10528, %t10529 br i1 %t10530, label %grow2198, label %put2199 grow2198: %t10531 = mul i32 %t10529, 2 %t10532 = icmp eq i32 %t10529, 0 %t10533 = select i1 %t10532, i32 8, i32 %t10531 %t10534 = getelementptr ptr, ptr null, i32 1 %t10535 = ptrtoint ptr %t10534 to i64 %t10536 = zext i32 %t10533 to i64 %t10537 = mul i64 %t10536, %t10535 %t10538 = load ptr, ptr %t10527 %t10539 = call ptr @realloc(ptr %t10538, i64 %t10537) store ptr %t10539, ptr %t10527 store i32 %t10533, ptr %t10526 br label %put2199 put2199: %t10540 = load ptr, ptr %t10527 %t10541 = getelementptr inbounds ptr, ptr %t10540, i32 %t10528 store ptr @.str8474, ptr %t10541 %t10542 = add i32 %t10528, 1 store i32 %t10542, ptr %t10525 br label %ifend2193 ifend2193: %t10543 = load ptr, ptr %t1 %t10544 = call i32 @lp_str_eq(ptr %t10543, ptr @.str8475) %t10545 = icmp ne i32 %t10544, 0 br i1 %t10545, label %then2200, label %ifend2202 then2200: store ptr @.str8476, ptr %t403 %t10546 = load ptr, ptr %t410 %t10547 = getelementptr inbounds %LSlice, ptr %t10546, i32 0, i32 1 %t10548 = getelementptr inbounds %LSlice, ptr %t10546, i32 0, i32 2 %t10549 = getelementptr inbounds %LSlice, ptr %t10546, i32 0, i32 0 %t10550 = load i32, ptr %t10547 %t10551 = load i32, ptr %t10548 %t10552 = icmp sge i32 %t10550, %t10551 br i1 %t10552, label %grow2203, label %put2204 grow2203: %t10553 = mul i32 %t10551, 2 %t10554 = icmp eq i32 %t10551, 0 %t10555 = select i1 %t10554, i32 8, i32 %t10553 %t10556 = getelementptr ptr, ptr null, i32 1 %t10557 = ptrtoint ptr %t10556 to i64 %t10558 = zext i32 %t10555 to i64 %t10559 = mul i64 %t10558, %t10557 %t10560 = load ptr, ptr %t10549 %t10561 = call ptr @realloc(ptr %t10560, i64 %t10559) store ptr %t10561, ptr %t10549 store i32 %t10555, ptr %t10548 br label %put2204 put2204: %t10562 = load ptr, ptr %t10549 %t10563 = getelementptr inbounds ptr, ptr %t10562, i32 %t10550 store ptr @.str8477, ptr %t10563 %t10564 = add i32 %t10550, 1 store i32 %t10564, ptr %t10547 %t10565 = load ptr, ptr %t410 %t10566 = getelementptr inbounds %LSlice, ptr %t10565, i32 0, i32 1 %t10567 = getelementptr inbounds %LSlice, ptr %t10565, i32 0, i32 2 %t10568 = getelementptr inbounds %LSlice, ptr %t10565, i32 0, i32 0 %t10569 = load i32, ptr %t10566 %t10570 = load i32, ptr %t10567 %t10571 = icmp sge i32 %t10569, %t10570 br i1 %t10571, label %grow2205, label %put2206 grow2205: %t10572 = mul i32 %t10570, 2 %t10573 = icmp eq i32 %t10570, 0 %t10574 = select i1 %t10573, i32 8, i32 %t10572 %t10575 = getelementptr ptr, ptr null, i32 1 %t10576 = ptrtoint ptr %t10575 to i64 %t10577 = zext i32 %t10574 to i64 %t10578 = mul i64 %t10577, %t10576 %t10579 = load ptr, ptr %t10568 %t10580 = call ptr @realloc(ptr %t10579, i64 %t10578) store ptr %t10580, ptr %t10568 store i32 %t10574, ptr %t10567 br label %put2206 put2206: %t10581 = load ptr, ptr %t10568 %t10582 = getelementptr inbounds ptr, ptr %t10581, i32 %t10569 store ptr @.str8478, ptr %t10582 %t10583 = add i32 %t10569, 1 store i32 %t10583, ptr %t10566 %t10584 = load ptr, ptr %t410 %t10585 = getelementptr inbounds %LSlice, ptr %t10584, i32 0, i32 1 %t10586 = getelementptr inbounds %LSlice, ptr %t10584, i32 0, i32 2 %t10587 = getelementptr inbounds %LSlice, ptr %t10584, i32 0, i32 0 %t10588 = load i32, ptr %t10585 %t10589 = load i32, ptr %t10586 %t10590 = icmp sge i32 %t10588, %t10589 br i1 %t10590, label %grow2207, label %put2208 grow2207: %t10591 = mul i32 %t10589, 2 %t10592 = icmp eq i32 %t10589, 0 %t10593 = select i1 %t10592, i32 8, i32 %t10591 %t10594 = getelementptr ptr, ptr null, i32 1 %t10595 = ptrtoint ptr %t10594 to i64 %t10596 = zext i32 %t10593 to i64 %t10597 = mul i64 %t10596, %t10595 %t10598 = load ptr, ptr %t10587 %t10599 = call ptr @realloc(ptr %t10598, i64 %t10597) store ptr %t10599, ptr %t10587 store i32 %t10593, ptr %t10586 br label %put2208 put2208: %t10600 = load ptr, ptr %t10587 %t10601 = getelementptr inbounds ptr, ptr %t10600, i32 %t10588 store ptr @.str8479, ptr %t10601 %t10602 = add i32 %t10588, 1 store i32 %t10602, ptr %t10585 %t10603 = load ptr, ptr %t410 %t10604 = getelementptr inbounds %LSlice, ptr %t10603, i32 0, i32 1 %t10605 = getelementptr inbounds %LSlice, ptr %t10603, i32 0, i32 2 %t10606 = getelementptr inbounds %LSlice, ptr %t10603, i32 0, i32 0 %t10607 = load i32, ptr %t10604 %t10608 = load i32, ptr %t10605 %t10609 = icmp sge i32 %t10607, %t10608 br i1 %t10609, label %grow2209, label %put2210 grow2209: %t10610 = mul i32 %t10608, 2 %t10611 = icmp eq i32 %t10608, 0 %t10612 = select i1 %t10611, i32 8, i32 %t10610 %t10613 = getelementptr ptr, ptr null, i32 1 %t10614 = ptrtoint ptr %t10613 to i64 %t10615 = zext i32 %t10612 to i64 %t10616 = mul i64 %t10615, %t10614 %t10617 = load ptr, ptr %t10606 %t10618 = call ptr @realloc(ptr %t10617, i64 %t10616) store ptr %t10618, ptr %t10606 store i32 %t10612, ptr %t10605 br label %put2210 put2210: %t10619 = load ptr, ptr %t10606 %t10620 = getelementptr inbounds ptr, ptr %t10619, i32 %t10607 store ptr @.str8480, ptr %t10620 %t10621 = add i32 %t10607, 1 store i32 %t10621, ptr %t10604 %t10622 = load ptr, ptr %t410 %t10623 = getelementptr inbounds %LSlice, ptr %t10622, i32 0, i32 1 %t10624 = getelementptr inbounds %LSlice, ptr %t10622, i32 0, i32 2 %t10625 = getelementptr inbounds %LSlice, ptr %t10622, i32 0, i32 0 %t10626 = load i32, ptr %t10623 %t10627 = load i32, ptr %t10624 %t10628 = icmp sge i32 %t10626, %t10627 br i1 %t10628, label %grow2211, label %put2212 grow2211: %t10629 = mul i32 %t10627, 2 %t10630 = icmp eq i32 %t10627, 0 %t10631 = select i1 %t10630, i32 8, i32 %t10629 %t10632 = getelementptr ptr, ptr null, i32 1 %t10633 = ptrtoint ptr %t10632 to i64 %t10634 = zext i32 %t10631 to i64 %t10635 = mul i64 %t10634, %t10633 %t10636 = load ptr, ptr %t10625 %t10637 = call ptr @realloc(ptr %t10636, i64 %t10635) store ptr %t10637, ptr %t10625 store i32 %t10631, ptr %t10624 br label %put2212 put2212: %t10638 = load ptr, ptr %t10625 %t10639 = getelementptr inbounds ptr, ptr %t10638, i32 %t10626 store ptr @.str8481, ptr %t10639 %t10640 = add i32 %t10626, 1 store i32 %t10640, ptr %t10623 br label %ifend2202 ifend2202: br label %ifend2157 ifend2157: %t10641 = load ptr, ptr %t0 %t10642 = call i32 @lp_str_eq(ptr %t10641, ptr @.str8482) %t10643 = icmp ne i32 %t10642, 0 br i1 %t10643, label %then2213, label %ifend2215 then2213: %t10644 = load ptr, ptr %t1 %t10645 = call i32 @lp_str_eq(ptr %t10644, ptr @.str8483) %t10646 = icmp ne i32 %t10645, 0 br i1 %t10646, label %then2216, label %ifend2218 then2216: store ptr @.str8484, ptr %t403 %t10647 = load ptr, ptr %t410 %t10648 = getelementptr inbounds %LSlice, ptr %t10647, i32 0, i32 1 %t10649 = getelementptr inbounds %LSlice, ptr %t10647, i32 0, i32 2 %t10650 = getelementptr inbounds %LSlice, ptr %t10647, i32 0, i32 0 %t10651 = load i32, ptr %t10648 %t10652 = load i32, ptr %t10649 %t10653 = icmp sge i32 %t10651, %t10652 br i1 %t10653, label %grow2219, label %put2220 grow2219: %t10654 = mul i32 %t10652, 2 %t10655 = icmp eq i32 %t10652, 0 %t10656 = select i1 %t10655, i32 8, i32 %t10654 %t10657 = getelementptr ptr, ptr null, i32 1 %t10658 = ptrtoint ptr %t10657 to i64 %t10659 = zext i32 %t10656 to i64 %t10660 = mul i64 %t10659, %t10658 %t10661 = load ptr, ptr %t10650 %t10662 = call ptr @realloc(ptr %t10661, i64 %t10660) store ptr %t10662, ptr %t10650 store i32 %t10656, ptr %t10649 br label %put2220 put2220: %t10663 = load ptr, ptr %t10650 %t10664 = getelementptr inbounds ptr, ptr %t10663, i32 %t10651 store ptr @.str8485, ptr %t10664 %t10665 = add i32 %t10651, 1 store i32 %t10665, ptr %t10648 br label %ifend2218 ifend2218: %t10666 = load ptr, ptr %t1 %t10667 = call i32 @lp_str_eq(ptr %t10666, ptr @.str8486) %t10668 = icmp ne i32 %t10667, 0 br i1 %t10668, label %then2221, label %ifend2223 then2221: store ptr @.str8487, ptr %t403 %t10669 = load ptr, ptr %t410 %t10670 = getelementptr inbounds %LSlice, ptr %t10669, i32 0, i32 1 %t10671 = getelementptr inbounds %LSlice, ptr %t10669, i32 0, i32 2 %t10672 = getelementptr inbounds %LSlice, ptr %t10669, i32 0, i32 0 %t10673 = load i32, ptr %t10670 %t10674 = load i32, ptr %t10671 %t10675 = icmp sge i32 %t10673, %t10674 br i1 %t10675, label %grow2224, label %put2225 grow2224: %t10676 = mul i32 %t10674, 2 %t10677 = icmp eq i32 %t10674, 0 %t10678 = select i1 %t10677, i32 8, i32 %t10676 %t10679 = getelementptr ptr, ptr null, i32 1 %t10680 = ptrtoint ptr %t10679 to i64 %t10681 = zext i32 %t10678 to i64 %t10682 = mul i64 %t10681, %t10680 %t10683 = load ptr, ptr %t10672 %t10684 = call ptr @realloc(ptr %t10683, i64 %t10682) store ptr %t10684, ptr %t10672 store i32 %t10678, ptr %t10671 br label %put2225 put2225: %t10685 = load ptr, ptr %t10672 %t10686 = getelementptr inbounds ptr, ptr %t10685, i32 %t10673 store ptr @.str8488, ptr %t10686 %t10687 = add i32 %t10673, 1 store i32 %t10687, ptr %t10670 %t10688 = load ptr, ptr %t410 %t10689 = getelementptr inbounds %LSlice, ptr %t10688, i32 0, i32 1 %t10690 = getelementptr inbounds %LSlice, ptr %t10688, i32 0, i32 2 %t10691 = getelementptr inbounds %LSlice, ptr %t10688, i32 0, i32 0 %t10692 = load i32, ptr %t10689 %t10693 = load i32, ptr %t10690 %t10694 = icmp sge i32 %t10692, %t10693 br i1 %t10694, label %grow2226, label %put2227 grow2226: %t10695 = mul i32 %t10693, 2 %t10696 = icmp eq i32 %t10693, 0 %t10697 = select i1 %t10696, i32 8, i32 %t10695 %t10698 = getelementptr ptr, ptr null, i32 1 %t10699 = ptrtoint ptr %t10698 to i64 %t10700 = zext i32 %t10697 to i64 %t10701 = mul i64 %t10700, %t10699 %t10702 = load ptr, ptr %t10691 %t10703 = call ptr @realloc(ptr %t10702, i64 %t10701) store ptr %t10703, ptr %t10691 store i32 %t10697, ptr %t10690 br label %put2227 put2227: %t10704 = load ptr, ptr %t10691 %t10705 = getelementptr inbounds ptr, ptr %t10704, i32 %t10692 store ptr @.str8489, ptr %t10705 %t10706 = add i32 %t10692, 1 store i32 %t10706, ptr %t10689 %t10707 = load ptr, ptr %t410 %t10708 = getelementptr inbounds %LSlice, ptr %t10707, i32 0, i32 1 %t10709 = getelementptr inbounds %LSlice, ptr %t10707, i32 0, i32 2 %t10710 = getelementptr inbounds %LSlice, ptr %t10707, i32 0, i32 0 %t10711 = load i32, ptr %t10708 %t10712 = load i32, ptr %t10709 %t10713 = icmp sge i32 %t10711, %t10712 br i1 %t10713, label %grow2228, label %put2229 grow2228: %t10714 = mul i32 %t10712, 2 %t10715 = icmp eq i32 %t10712, 0 %t10716 = select i1 %t10715, i32 8, i32 %t10714 %t10717 = getelementptr ptr, ptr null, i32 1 %t10718 = ptrtoint ptr %t10717 to i64 %t10719 = zext i32 %t10716 to i64 %t10720 = mul i64 %t10719, %t10718 %t10721 = load ptr, ptr %t10710 %t10722 = call ptr @realloc(ptr %t10721, i64 %t10720) store ptr %t10722, ptr %t10710 store i32 %t10716, ptr %t10709 br label %put2229 put2229: %t10723 = load ptr, ptr %t10710 %t10724 = getelementptr inbounds ptr, ptr %t10723, i32 %t10711 store ptr @.str8490, ptr %t10724 %t10725 = add i32 %t10711, 1 store i32 %t10725, ptr %t10708 %t10726 = load ptr, ptr %t410 %t10727 = getelementptr inbounds %LSlice, ptr %t10726, i32 0, i32 1 %t10728 = getelementptr inbounds %LSlice, ptr %t10726, i32 0, i32 2 %t10729 = getelementptr inbounds %LSlice, ptr %t10726, i32 0, i32 0 %t10730 = load i32, ptr %t10727 %t10731 = load i32, ptr %t10728 %t10732 = icmp sge i32 %t10730, %t10731 br i1 %t10732, label %grow2230, label %put2231 grow2230: %t10733 = mul i32 %t10731, 2 %t10734 = icmp eq i32 %t10731, 0 %t10735 = select i1 %t10734, i32 8, i32 %t10733 %t10736 = getelementptr ptr, ptr null, i32 1 %t10737 = ptrtoint ptr %t10736 to i64 %t10738 = zext i32 %t10735 to i64 %t10739 = mul i64 %t10738, %t10737 %t10740 = load ptr, ptr %t10729 %t10741 = call ptr @realloc(ptr %t10740, i64 %t10739) store ptr %t10741, ptr %t10729 store i32 %t10735, ptr %t10728 br label %put2231 put2231: %t10742 = load ptr, ptr %t10729 %t10743 = getelementptr inbounds ptr, ptr %t10742, i32 %t10730 store ptr @.str8491, ptr %t10743 %t10744 = add i32 %t10730, 1 store i32 %t10744, ptr %t10727 %t10745 = load ptr, ptr %t410 %t10746 = getelementptr inbounds %LSlice, ptr %t10745, i32 0, i32 1 %t10747 = getelementptr inbounds %LSlice, ptr %t10745, i32 0, i32 2 %t10748 = getelementptr inbounds %LSlice, ptr %t10745, i32 0, i32 0 %t10749 = load i32, ptr %t10746 %t10750 = load i32, ptr %t10747 %t10751 = icmp sge i32 %t10749, %t10750 br i1 %t10751, label %grow2232, label %put2233 grow2232: %t10752 = mul i32 %t10750, 2 %t10753 = icmp eq i32 %t10750, 0 %t10754 = select i1 %t10753, i32 8, i32 %t10752 %t10755 = getelementptr ptr, ptr null, i32 1 %t10756 = ptrtoint ptr %t10755 to i64 %t10757 = zext i32 %t10754 to i64 %t10758 = mul i64 %t10757, %t10756 %t10759 = load ptr, ptr %t10748 %t10760 = call ptr @realloc(ptr %t10759, i64 %t10758) store ptr %t10760, ptr %t10748 store i32 %t10754, ptr %t10747 br label %put2233 put2233: %t10761 = load ptr, ptr %t10748 %t10762 = getelementptr inbounds ptr, ptr %t10761, i32 %t10749 store ptr @.str8492, ptr %t10762 %t10763 = add i32 %t10749, 1 store i32 %t10763, ptr %t10746 br label %ifend2223 ifend2223: %t10764 = load ptr, ptr %t1 %t10765 = call i32 @lp_str_eq(ptr %t10764, ptr @.str8493) %t10766 = icmp ne i32 %t10765, 0 br i1 %t10766, label %then2234, label %ifend2236 then2234: store ptr @.str8494, ptr %t403 %t10767 = load ptr, ptr %t410 %t10768 = getelementptr inbounds %LSlice, ptr %t10767, i32 0, i32 1 %t10769 = getelementptr inbounds %LSlice, ptr %t10767, i32 0, i32 2 %t10770 = getelementptr inbounds %LSlice, ptr %t10767, i32 0, i32 0 %t10771 = load i32, ptr %t10768 %t10772 = load i32, ptr %t10769 %t10773 = icmp sge i32 %t10771, %t10772 br i1 %t10773, label %grow2237, label %put2238 grow2237: %t10774 = mul i32 %t10772, 2 %t10775 = icmp eq i32 %t10772, 0 %t10776 = select i1 %t10775, i32 8, i32 %t10774 %t10777 = getelementptr ptr, ptr null, i32 1 %t10778 = ptrtoint ptr %t10777 to i64 %t10779 = zext i32 %t10776 to i64 %t10780 = mul i64 %t10779, %t10778 %t10781 = load ptr, ptr %t10770 %t10782 = call ptr @realloc(ptr %t10781, i64 %t10780) store ptr %t10782, ptr %t10770 store i32 %t10776, ptr %t10769 br label %put2238 put2238: %t10783 = load ptr, ptr %t10770 %t10784 = getelementptr inbounds ptr, ptr %t10783, i32 %t10771 store ptr @.str8495, ptr %t10784 %t10785 = add i32 %t10771, 1 store i32 %t10785, ptr %t10768 %t10786 = load ptr, ptr %t410 %t10787 = getelementptr inbounds %LSlice, ptr %t10786, i32 0, i32 1 %t10788 = getelementptr inbounds %LSlice, ptr %t10786, i32 0, i32 2 %t10789 = getelementptr inbounds %LSlice, ptr %t10786, i32 0, i32 0 %t10790 = load i32, ptr %t10787 %t10791 = load i32, ptr %t10788 %t10792 = icmp sge i32 %t10790, %t10791 br i1 %t10792, label %grow2239, label %put2240 grow2239: %t10793 = mul i32 %t10791, 2 %t10794 = icmp eq i32 %t10791, 0 %t10795 = select i1 %t10794, i32 8, i32 %t10793 %t10796 = getelementptr ptr, ptr null, i32 1 %t10797 = ptrtoint ptr %t10796 to i64 %t10798 = zext i32 %t10795 to i64 %t10799 = mul i64 %t10798, %t10797 %t10800 = load ptr, ptr %t10789 %t10801 = call ptr @realloc(ptr %t10800, i64 %t10799) store ptr %t10801, ptr %t10789 store i32 %t10795, ptr %t10788 br label %put2240 put2240: %t10802 = load ptr, ptr %t10789 %t10803 = getelementptr inbounds ptr, ptr %t10802, i32 %t10790 store ptr @.str8496, ptr %t10803 %t10804 = add i32 %t10790, 1 store i32 %t10804, ptr %t10787 %t10805 = load ptr, ptr %t410 %t10806 = getelementptr inbounds %LSlice, ptr %t10805, i32 0, i32 1 %t10807 = getelementptr inbounds %LSlice, ptr %t10805, i32 0, i32 2 %t10808 = getelementptr inbounds %LSlice, ptr %t10805, i32 0, i32 0 %t10809 = load i32, ptr %t10806 %t10810 = load i32, ptr %t10807 %t10811 = icmp sge i32 %t10809, %t10810 br i1 %t10811, label %grow2241, label %put2242 grow2241: %t10812 = mul i32 %t10810, 2 %t10813 = icmp eq i32 %t10810, 0 %t10814 = select i1 %t10813, i32 8, i32 %t10812 %t10815 = getelementptr ptr, ptr null, i32 1 %t10816 = ptrtoint ptr %t10815 to i64 %t10817 = zext i32 %t10814 to i64 %t10818 = mul i64 %t10817, %t10816 %t10819 = load ptr, ptr %t10808 %t10820 = call ptr @realloc(ptr %t10819, i64 %t10818) store ptr %t10820, ptr %t10808 store i32 %t10814, ptr %t10807 br label %put2242 put2242: %t10821 = load ptr, ptr %t10808 %t10822 = getelementptr inbounds ptr, ptr %t10821, i32 %t10809 store ptr @.str8497, ptr %t10822 %t10823 = add i32 %t10809, 1 store i32 %t10823, ptr %t10806 %t10824 = load ptr, ptr %t410 %t10825 = getelementptr inbounds %LSlice, ptr %t10824, i32 0, i32 1 %t10826 = getelementptr inbounds %LSlice, ptr %t10824, i32 0, i32 2 %t10827 = getelementptr inbounds %LSlice, ptr %t10824, i32 0, i32 0 %t10828 = load i32, ptr %t10825 %t10829 = load i32, ptr %t10826 %t10830 = icmp sge i32 %t10828, %t10829 br i1 %t10830, label %grow2243, label %put2244 grow2243: %t10831 = mul i32 %t10829, 2 %t10832 = icmp eq i32 %t10829, 0 %t10833 = select i1 %t10832, i32 8, i32 %t10831 %t10834 = getelementptr ptr, ptr null, i32 1 %t10835 = ptrtoint ptr %t10834 to i64 %t10836 = zext i32 %t10833 to i64 %t10837 = mul i64 %t10836, %t10835 %t10838 = load ptr, ptr %t10827 %t10839 = call ptr @realloc(ptr %t10838, i64 %t10837) store ptr %t10839, ptr %t10827 store i32 %t10833, ptr %t10826 br label %put2244 put2244: %t10840 = load ptr, ptr %t10827 %t10841 = getelementptr inbounds ptr, ptr %t10840, i32 %t10828 store ptr @.str8498, ptr %t10841 %t10842 = add i32 %t10828, 1 store i32 %t10842, ptr %t10825 %t10843 = load ptr, ptr %t410 %t10844 = getelementptr inbounds %LSlice, ptr %t10843, i32 0, i32 1 %t10845 = getelementptr inbounds %LSlice, ptr %t10843, i32 0, i32 2 %t10846 = getelementptr inbounds %LSlice, ptr %t10843, i32 0, i32 0 %t10847 = load i32, ptr %t10844 %t10848 = load i32, ptr %t10845 %t10849 = icmp sge i32 %t10847, %t10848 br i1 %t10849, label %grow2245, label %put2246 grow2245: %t10850 = mul i32 %t10848, 2 %t10851 = icmp eq i32 %t10848, 0 %t10852 = select i1 %t10851, i32 8, i32 %t10850 %t10853 = getelementptr ptr, ptr null, i32 1 %t10854 = ptrtoint ptr %t10853 to i64 %t10855 = zext i32 %t10852 to i64 %t10856 = mul i64 %t10855, %t10854 %t10857 = load ptr, ptr %t10846 %t10858 = call ptr @realloc(ptr %t10857, i64 %t10856) store ptr %t10858, ptr %t10846 store i32 %t10852, ptr %t10845 br label %put2246 put2246: %t10859 = load ptr, ptr %t10846 %t10860 = getelementptr inbounds ptr, ptr %t10859, i32 %t10847 store ptr @.str8499, ptr %t10860 %t10861 = add i32 %t10847, 1 store i32 %t10861, ptr %t10844 %t10862 = load ptr, ptr %t410 %t10863 = getelementptr inbounds %LSlice, ptr %t10862, i32 0, i32 1 %t10864 = getelementptr inbounds %LSlice, ptr %t10862, i32 0, i32 2 %t10865 = getelementptr inbounds %LSlice, ptr %t10862, i32 0, i32 0 %t10866 = load i32, ptr %t10863 %t10867 = load i32, ptr %t10864 %t10868 = icmp sge i32 %t10866, %t10867 br i1 %t10868, label %grow2247, label %put2248 grow2247: %t10869 = mul i32 %t10867, 2 %t10870 = icmp eq i32 %t10867, 0 %t10871 = select i1 %t10870, i32 8, i32 %t10869 %t10872 = getelementptr ptr, ptr null, i32 1 %t10873 = ptrtoint ptr %t10872 to i64 %t10874 = zext i32 %t10871 to i64 %t10875 = mul i64 %t10874, %t10873 %t10876 = load ptr, ptr %t10865 %t10877 = call ptr @realloc(ptr %t10876, i64 %t10875) store ptr %t10877, ptr %t10865 store i32 %t10871, ptr %t10864 br label %put2248 put2248: %t10878 = load ptr, ptr %t10865 %t10879 = getelementptr inbounds ptr, ptr %t10878, i32 %t10866 store ptr @.str8500, ptr %t10879 %t10880 = add i32 %t10866, 1 store i32 %t10880, ptr %t10863 %t10881 = load ptr, ptr %t410 %t10882 = getelementptr inbounds %LSlice, ptr %t10881, i32 0, i32 1 %t10883 = getelementptr inbounds %LSlice, ptr %t10881, i32 0, i32 2 %t10884 = getelementptr inbounds %LSlice, ptr %t10881, i32 0, i32 0 %t10885 = load i32, ptr %t10882 %t10886 = load i32, ptr %t10883 %t10887 = icmp sge i32 %t10885, %t10886 br i1 %t10887, label %grow2249, label %put2250 grow2249: %t10888 = mul i32 %t10886, 2 %t10889 = icmp eq i32 %t10886, 0 %t10890 = select i1 %t10889, i32 8, i32 %t10888 %t10891 = getelementptr ptr, ptr null, i32 1 %t10892 = ptrtoint ptr %t10891 to i64 %t10893 = zext i32 %t10890 to i64 %t10894 = mul i64 %t10893, %t10892 %t10895 = load ptr, ptr %t10884 %t10896 = call ptr @realloc(ptr %t10895, i64 %t10894) store ptr %t10896, ptr %t10884 store i32 %t10890, ptr %t10883 br label %put2250 put2250: %t10897 = load ptr, ptr %t10884 %t10898 = getelementptr inbounds ptr, ptr %t10897, i32 %t10885 store ptr @.str8501, ptr %t10898 %t10899 = add i32 %t10885, 1 store i32 %t10899, ptr %t10882 br label %ifend2236 ifend2236: %t10900 = load ptr, ptr %t1 %t10901 = call i32 @lp_str_eq(ptr %t10900, ptr @.str8502) %t10902 = icmp ne i32 %t10901, 0 br i1 %t10902, label %then2251, label %ifend2253 then2251: store ptr @.str8503, ptr %t403 %t10903 = load ptr, ptr %t410 %t10904 = getelementptr inbounds %LSlice, ptr %t10903, i32 0, i32 1 %t10905 = getelementptr inbounds %LSlice, ptr %t10903, i32 0, i32 2 %t10906 = getelementptr inbounds %LSlice, ptr %t10903, i32 0, i32 0 %t10907 = load i32, ptr %t10904 %t10908 = load i32, ptr %t10905 %t10909 = icmp sge i32 %t10907, %t10908 br i1 %t10909, label %grow2254, label %put2255 grow2254: %t10910 = mul i32 %t10908, 2 %t10911 = icmp eq i32 %t10908, 0 %t10912 = select i1 %t10911, i32 8, i32 %t10910 %t10913 = getelementptr ptr, ptr null, i32 1 %t10914 = ptrtoint ptr %t10913 to i64 %t10915 = zext i32 %t10912 to i64 %t10916 = mul i64 %t10915, %t10914 %t10917 = load ptr, ptr %t10906 %t10918 = call ptr @realloc(ptr %t10917, i64 %t10916) store ptr %t10918, ptr %t10906 store i32 %t10912, ptr %t10905 br label %put2255 put2255: %t10919 = load ptr, ptr %t10906 %t10920 = getelementptr inbounds ptr, ptr %t10919, i32 %t10907 store ptr @.str8504, ptr %t10920 %t10921 = add i32 %t10907, 1 store i32 %t10921, ptr %t10904 %t10922 = load ptr, ptr %t410 %t10923 = getelementptr inbounds %LSlice, ptr %t10922, i32 0, i32 1 %t10924 = getelementptr inbounds %LSlice, ptr %t10922, i32 0, i32 2 %t10925 = getelementptr inbounds %LSlice, ptr %t10922, i32 0, i32 0 %t10926 = load i32, ptr %t10923 %t10927 = load i32, ptr %t10924 %t10928 = icmp sge i32 %t10926, %t10927 br i1 %t10928, label %grow2256, label %put2257 grow2256: %t10929 = mul i32 %t10927, 2 %t10930 = icmp eq i32 %t10927, 0 %t10931 = select i1 %t10930, i32 8, i32 %t10929 %t10932 = getelementptr ptr, ptr null, i32 1 %t10933 = ptrtoint ptr %t10932 to i64 %t10934 = zext i32 %t10931 to i64 %t10935 = mul i64 %t10934, %t10933 %t10936 = load ptr, ptr %t10925 %t10937 = call ptr @realloc(ptr %t10936, i64 %t10935) store ptr %t10937, ptr %t10925 store i32 %t10931, ptr %t10924 br label %put2257 put2257: %t10938 = load ptr, ptr %t10925 %t10939 = getelementptr inbounds ptr, ptr %t10938, i32 %t10926 store ptr @.str8505, ptr %t10939 %t10940 = add i32 %t10926, 1 store i32 %t10940, ptr %t10923 %t10941 = load ptr, ptr %t410 %t10942 = getelementptr inbounds %LSlice, ptr %t10941, i32 0, i32 1 %t10943 = getelementptr inbounds %LSlice, ptr %t10941, i32 0, i32 2 %t10944 = getelementptr inbounds %LSlice, ptr %t10941, i32 0, i32 0 %t10945 = load i32, ptr %t10942 %t10946 = load i32, ptr %t10943 %t10947 = icmp sge i32 %t10945, %t10946 br i1 %t10947, label %grow2258, label %put2259 grow2258: %t10948 = mul i32 %t10946, 2 %t10949 = icmp eq i32 %t10946, 0 %t10950 = select i1 %t10949, i32 8, i32 %t10948 %t10951 = getelementptr ptr, ptr null, i32 1 %t10952 = ptrtoint ptr %t10951 to i64 %t10953 = zext i32 %t10950 to i64 %t10954 = mul i64 %t10953, %t10952 %t10955 = load ptr, ptr %t10944 %t10956 = call ptr @realloc(ptr %t10955, i64 %t10954) store ptr %t10956, ptr %t10944 store i32 %t10950, ptr %t10943 br label %put2259 put2259: %t10957 = load ptr, ptr %t10944 %t10958 = getelementptr inbounds ptr, ptr %t10957, i32 %t10945 store ptr @.str8506, ptr %t10958 %t10959 = add i32 %t10945, 1 store i32 %t10959, ptr %t10942 %t10960 = load ptr, ptr %t410 %t10961 = getelementptr inbounds %LSlice, ptr %t10960, i32 0, i32 1 %t10962 = getelementptr inbounds %LSlice, ptr %t10960, i32 0, i32 2 %t10963 = getelementptr inbounds %LSlice, ptr %t10960, i32 0, i32 0 %t10964 = load i32, ptr %t10961 %t10965 = load i32, ptr %t10962 %t10966 = icmp sge i32 %t10964, %t10965 br i1 %t10966, label %grow2260, label %put2261 grow2260: %t10967 = mul i32 %t10965, 2 %t10968 = icmp eq i32 %t10965, 0 %t10969 = select i1 %t10968, i32 8, i32 %t10967 %t10970 = getelementptr ptr, ptr null, i32 1 %t10971 = ptrtoint ptr %t10970 to i64 %t10972 = zext i32 %t10969 to i64 %t10973 = mul i64 %t10972, %t10971 %t10974 = load ptr, ptr %t10963 %t10975 = call ptr @realloc(ptr %t10974, i64 %t10973) store ptr %t10975, ptr %t10963 store i32 %t10969, ptr %t10962 br label %put2261 put2261: %t10976 = load ptr, ptr %t10963 %t10977 = getelementptr inbounds ptr, ptr %t10976, i32 %t10964 store ptr @.str8507, ptr %t10977 %t10978 = add i32 %t10964, 1 store i32 %t10978, ptr %t10961 br label %ifend2253 ifend2253: %t10979 = load ptr, ptr %t1 %t10980 = call i32 @lp_str_eq(ptr %t10979, ptr @.str8508) %t10981 = icmp ne i32 %t10980, 0 br i1 %t10981, label %then2262, label %ifend2264 then2262: store ptr @.str8509, ptr %t403 br label %ifend2264 ifend2264: %t10982 = load ptr, ptr %t1 %t10983 = call i32 @lp_str_eq(ptr %t10982, ptr @.str8510) %t10984 = icmp ne i32 %t10983, 0 br i1 %t10984, label %then2265, label %ifend2267 then2265: store ptr @.str8511, ptr %t403 %t10985 = load ptr, ptr %t410 %t10986 = getelementptr inbounds %LSlice, ptr %t10985, i32 0, i32 1 %t10987 = getelementptr inbounds %LSlice, ptr %t10985, i32 0, i32 2 %t10988 = getelementptr inbounds %LSlice, ptr %t10985, i32 0, i32 0 %t10989 = load i32, ptr %t10986 %t10990 = load i32, ptr %t10987 %t10991 = icmp sge i32 %t10989, %t10990 br i1 %t10991, label %grow2268, label %put2269 grow2268: %t10992 = mul i32 %t10990, 2 %t10993 = icmp eq i32 %t10990, 0 %t10994 = select i1 %t10993, i32 8, i32 %t10992 %t10995 = getelementptr ptr, ptr null, i32 1 %t10996 = ptrtoint ptr %t10995 to i64 %t10997 = zext i32 %t10994 to i64 %t10998 = mul i64 %t10997, %t10996 %t10999 = load ptr, ptr %t10988 %t11000 = call ptr @realloc(ptr %t10999, i64 %t10998) store ptr %t11000, ptr %t10988 store i32 %t10994, ptr %t10987 br label %put2269 put2269: %t11001 = load ptr, ptr %t10988 %t11002 = getelementptr inbounds ptr, ptr %t11001, i32 %t10989 store ptr @.str8512, ptr %t11002 %t11003 = add i32 %t10989, 1 store i32 %t11003, ptr %t10986 br label %ifend2267 ifend2267: %t11004 = load ptr, ptr %t1 %t11005 = call i32 @lp_str_eq(ptr %t11004, ptr @.str8513) %t11006 = icmp ne i32 %t11005, 0 br i1 %t11006, label %then2270, label %ifend2272 then2270: store ptr @.str8514, ptr %t403 %t11007 = load ptr, ptr %t410 %t11008 = getelementptr inbounds %LSlice, ptr %t11007, i32 0, i32 1 %t11009 = getelementptr inbounds %LSlice, ptr %t11007, i32 0, i32 2 %t11010 = getelementptr inbounds %LSlice, ptr %t11007, i32 0, i32 0 %t11011 = load i32, ptr %t11008 %t11012 = load i32, ptr %t11009 %t11013 = icmp sge i32 %t11011, %t11012 br i1 %t11013, label %grow2273, label %put2274 grow2273: %t11014 = mul i32 %t11012, 2 %t11015 = icmp eq i32 %t11012, 0 %t11016 = select i1 %t11015, i32 8, i32 %t11014 %t11017 = getelementptr ptr, ptr null, i32 1 %t11018 = ptrtoint ptr %t11017 to i64 %t11019 = zext i32 %t11016 to i64 %t11020 = mul i64 %t11019, %t11018 %t11021 = load ptr, ptr %t11010 %t11022 = call ptr @realloc(ptr %t11021, i64 %t11020) store ptr %t11022, ptr %t11010 store i32 %t11016, ptr %t11009 br label %put2274 put2274: %t11023 = load ptr, ptr %t11010 %t11024 = getelementptr inbounds ptr, ptr %t11023, i32 %t11011 store ptr @.str8515, ptr %t11024 %t11025 = add i32 %t11011, 1 store i32 %t11025, ptr %t11008 br label %ifend2272 ifend2272: %t11026 = load ptr, ptr %t1 %t11027 = call i32 @lp_str_eq(ptr %t11026, ptr @.str8516) %t11028 = icmp ne i32 %t11027, 0 br i1 %t11028, label %then2275, label %ifend2277 then2275: store ptr @.str8517, ptr %t403 %t11029 = load ptr, ptr %t410 %t11030 = getelementptr inbounds %LSlice, ptr %t11029, i32 0, i32 1 %t11031 = getelementptr inbounds %LSlice, ptr %t11029, i32 0, i32 2 %t11032 = getelementptr inbounds %LSlice, ptr %t11029, i32 0, i32 0 %t11033 = load i32, ptr %t11030 %t11034 = load i32, ptr %t11031 %t11035 = icmp sge i32 %t11033, %t11034 br i1 %t11035, label %grow2278, label %put2279 grow2278: %t11036 = mul i32 %t11034, 2 %t11037 = icmp eq i32 %t11034, 0 %t11038 = select i1 %t11037, i32 8, i32 %t11036 %t11039 = getelementptr ptr, ptr null, i32 1 %t11040 = ptrtoint ptr %t11039 to i64 %t11041 = zext i32 %t11038 to i64 %t11042 = mul i64 %t11041, %t11040 %t11043 = load ptr, ptr %t11032 %t11044 = call ptr @realloc(ptr %t11043, i64 %t11042) store ptr %t11044, ptr %t11032 store i32 %t11038, ptr %t11031 br label %put2279 put2279: %t11045 = load ptr, ptr %t11032 %t11046 = getelementptr inbounds ptr, ptr %t11045, i32 %t11033 store ptr @.str8518, ptr %t11046 %t11047 = add i32 %t11033, 1 store i32 %t11047, ptr %t11030 br label %ifend2277 ifend2277: %t11048 = load ptr, ptr %t1 %t11049 = call i32 @lp_str_eq(ptr %t11048, ptr @.str8519) %t11050 = icmp ne i32 %t11049, 0 br i1 %t11050, label %then2280, label %ifend2282 then2280: store ptr @.str8520, ptr %t403 br label %ifend2282 ifend2282: %t11051 = load ptr, ptr %t1 %t11052 = call i32 @lp_str_eq(ptr %t11051, ptr @.str8521) %t11053 = icmp ne i32 %t11052, 0 br i1 %t11053, label %then2283, label %ifend2285 then2283: store ptr @.str8522, ptr %t403 %t11054 = load ptr, ptr %t410 %t11055 = getelementptr inbounds %LSlice, ptr %t11054, i32 0, i32 1 %t11056 = getelementptr inbounds %LSlice, ptr %t11054, i32 0, i32 2 %t11057 = getelementptr inbounds %LSlice, ptr %t11054, i32 0, i32 0 %t11058 = load i32, ptr %t11055 %t11059 = load i32, ptr %t11056 %t11060 = icmp sge i32 %t11058, %t11059 br i1 %t11060, label %grow2286, label %put2287 grow2286: %t11061 = mul i32 %t11059, 2 %t11062 = icmp eq i32 %t11059, 0 %t11063 = select i1 %t11062, i32 8, i32 %t11061 %t11064 = getelementptr ptr, ptr null, i32 1 %t11065 = ptrtoint ptr %t11064 to i64 %t11066 = zext i32 %t11063 to i64 %t11067 = mul i64 %t11066, %t11065 %t11068 = load ptr, ptr %t11057 %t11069 = call ptr @realloc(ptr %t11068, i64 %t11067) store ptr %t11069, ptr %t11057 store i32 %t11063, ptr %t11056 br label %put2287 put2287: %t11070 = load ptr, ptr %t11057 %t11071 = getelementptr inbounds ptr, ptr %t11070, i32 %t11058 store ptr @.str8523, ptr %t11071 %t11072 = add i32 %t11058, 1 store i32 %t11072, ptr %t11055 br label %ifend2285 ifend2285: %t11073 = load ptr, ptr %t1 %t11074 = call i32 @lp_str_eq(ptr %t11073, ptr @.str8524) %t11075 = icmp ne i32 %t11074, 0 br i1 %t11075, label %then2288, label %ifend2290 then2288: store ptr @.str8525, ptr %t403 %t11076 = load ptr, ptr %t410 %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 %grow2291, label %put2292 grow2291: %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 %put2292 put2292: %t11092 = load ptr, ptr %t11079 %t11093 = getelementptr inbounds ptr, ptr %t11092, i32 %t11080 store ptr @.str8526, ptr %t11093 %t11094 = add i32 %t11080, 1 store i32 %t11094, ptr %t11077 %t11095 = load ptr, ptr %t410 %t11096 = getelementptr inbounds %LSlice, ptr %t11095, i32 0, i32 1 %t11097 = getelementptr inbounds %LSlice, ptr %t11095, i32 0, i32 2 %t11098 = getelementptr inbounds %LSlice, ptr %t11095, i32 0, i32 0 %t11099 = load i32, ptr %t11096 %t11100 = load i32, ptr %t11097 %t11101 = icmp sge i32 %t11099, %t11100 br i1 %t11101, label %grow2293, label %put2294 grow2293: %t11102 = mul i32 %t11100, 2 %t11103 = icmp eq i32 %t11100, 0 %t11104 = select i1 %t11103, i32 8, i32 %t11102 %t11105 = getelementptr ptr, ptr null, i32 1 %t11106 = ptrtoint ptr %t11105 to i64 %t11107 = zext i32 %t11104 to i64 %t11108 = mul i64 %t11107, %t11106 %t11109 = load ptr, ptr %t11098 %t11110 = call ptr @realloc(ptr %t11109, i64 %t11108) store ptr %t11110, ptr %t11098 store i32 %t11104, ptr %t11097 br label %put2294 put2294: %t11111 = load ptr, ptr %t11098 %t11112 = getelementptr inbounds ptr, ptr %t11111, i32 %t11099 store ptr @.str8527, ptr %t11112 %t11113 = add i32 %t11099, 1 store i32 %t11113, ptr %t11096 %t11114 = load ptr, ptr %t410 %t11115 = getelementptr inbounds %LSlice, ptr %t11114, i32 0, i32 1 %t11116 = getelementptr inbounds %LSlice, ptr %t11114, i32 0, i32 2 %t11117 = getelementptr inbounds %LSlice, ptr %t11114, i32 0, i32 0 %t11118 = load i32, ptr %t11115 %t11119 = load i32, ptr %t11116 %t11120 = icmp sge i32 %t11118, %t11119 br i1 %t11120, label %grow2295, label %put2296 grow2295: %t11121 = mul i32 %t11119, 2 %t11122 = icmp eq i32 %t11119, 0 %t11123 = select i1 %t11122, i32 8, i32 %t11121 %t11124 = getelementptr ptr, ptr null, i32 1 %t11125 = ptrtoint ptr %t11124 to i64 %t11126 = zext i32 %t11123 to i64 %t11127 = mul i64 %t11126, %t11125 %t11128 = load ptr, ptr %t11117 %t11129 = call ptr @realloc(ptr %t11128, i64 %t11127) store ptr %t11129, ptr %t11117 store i32 %t11123, ptr %t11116 br label %put2296 put2296: %t11130 = load ptr, ptr %t11117 %t11131 = getelementptr inbounds ptr, ptr %t11130, i32 %t11118 store ptr @.str8528, ptr %t11131 %t11132 = add i32 %t11118, 1 store i32 %t11132, ptr %t11115 %t11133 = load ptr, ptr %t410 %t11134 = getelementptr inbounds %LSlice, ptr %t11133, i32 0, i32 1 %t11135 = getelementptr inbounds %LSlice, ptr %t11133, i32 0, i32 2 %t11136 = getelementptr inbounds %LSlice, ptr %t11133, i32 0, i32 0 %t11137 = load i32, ptr %t11134 %t11138 = load i32, ptr %t11135 %t11139 = icmp sge i32 %t11137, %t11138 br i1 %t11139, label %grow2297, label %put2298 grow2297: %t11140 = mul i32 %t11138, 2 %t11141 = icmp eq i32 %t11138, 0 %t11142 = select i1 %t11141, i32 8, i32 %t11140 %t11143 = getelementptr ptr, ptr null, i32 1 %t11144 = ptrtoint ptr %t11143 to i64 %t11145 = zext i32 %t11142 to i64 %t11146 = mul i64 %t11145, %t11144 %t11147 = load ptr, ptr %t11136 %t11148 = call ptr @realloc(ptr %t11147, i64 %t11146) store ptr %t11148, ptr %t11136 store i32 %t11142, ptr %t11135 br label %put2298 put2298: %t11149 = load ptr, ptr %t11136 %t11150 = getelementptr inbounds ptr, ptr %t11149, i32 %t11137 store ptr @.str8529, ptr %t11150 %t11151 = add i32 %t11137, 1 store i32 %t11151, ptr %t11134 %t11152 = load ptr, ptr %t410 %t11153 = getelementptr inbounds %LSlice, ptr %t11152, i32 0, i32 1 %t11154 = getelementptr inbounds %LSlice, ptr %t11152, i32 0, i32 2 %t11155 = getelementptr inbounds %LSlice, ptr %t11152, i32 0, i32 0 %t11156 = load i32, ptr %t11153 %t11157 = load i32, ptr %t11154 %t11158 = icmp sge i32 %t11156, %t11157 br i1 %t11158, label %grow2299, label %put2300 grow2299: %t11159 = mul i32 %t11157, 2 %t11160 = icmp eq i32 %t11157, 0 %t11161 = select i1 %t11160, i32 8, i32 %t11159 %t11162 = getelementptr ptr, ptr null, i32 1 %t11163 = ptrtoint ptr %t11162 to i64 %t11164 = zext i32 %t11161 to i64 %t11165 = mul i64 %t11164, %t11163 %t11166 = load ptr, ptr %t11155 %t11167 = call ptr @realloc(ptr %t11166, i64 %t11165) store ptr %t11167, ptr %t11155 store i32 %t11161, ptr %t11154 br label %put2300 put2300: %t11168 = load ptr, ptr %t11155 %t11169 = getelementptr inbounds ptr, ptr %t11168, i32 %t11156 store ptr @.str8530, ptr %t11169 %t11170 = add i32 %t11156, 1 store i32 %t11170, ptr %t11153 %t11171 = load ptr, ptr %t410 %t11172 = getelementptr inbounds %LSlice, ptr %t11171, i32 0, i32 1 %t11173 = getelementptr inbounds %LSlice, ptr %t11171, i32 0, i32 2 %t11174 = getelementptr inbounds %LSlice, ptr %t11171, i32 0, i32 0 %t11175 = load i32, ptr %t11172 %t11176 = load i32, ptr %t11173 %t11177 = icmp sge i32 %t11175, %t11176 br i1 %t11177, label %grow2301, label %put2302 grow2301: %t11178 = mul i32 %t11176, 2 %t11179 = icmp eq i32 %t11176, 0 %t11180 = select i1 %t11179, i32 8, i32 %t11178 %t11181 = getelementptr ptr, ptr null, i32 1 %t11182 = ptrtoint ptr %t11181 to i64 %t11183 = zext i32 %t11180 to i64 %t11184 = mul i64 %t11183, %t11182 %t11185 = load ptr, ptr %t11174 %t11186 = call ptr @realloc(ptr %t11185, i64 %t11184) store ptr %t11186, ptr %t11174 store i32 %t11180, ptr %t11173 br label %put2302 put2302: %t11187 = load ptr, ptr %t11174 %t11188 = getelementptr inbounds ptr, ptr %t11187, i32 %t11175 store ptr @.str8531, ptr %t11188 %t11189 = add i32 %t11175, 1 store i32 %t11189, ptr %t11172 br label %ifend2290 ifend2290: %t11190 = load ptr, ptr %t1 %t11191 = call i32 @lp_str_eq(ptr %t11190, ptr @.str8532) %t11192 = icmp ne i32 %t11191, 0 br i1 %t11192, label %then2303, label %ifend2305 then2303: store ptr @.str8533, ptr %t403 br label %ifend2305 ifend2305: %t11193 = load ptr, ptr %t1 %t11194 = call i32 @lp_str_eq(ptr %t11193, ptr @.str8534) %t11195 = icmp ne i32 %t11194, 0 br i1 %t11195, label %then2306, label %ifend2308 then2306: store ptr @.str8535, ptr %t403 %t11196 = load ptr, ptr %t410 %t11197 = getelementptr inbounds %LSlice, ptr %t11196, i32 0, i32 1 %t11198 = getelementptr inbounds %LSlice, ptr %t11196, i32 0, i32 2 %t11199 = getelementptr inbounds %LSlice, ptr %t11196, i32 0, i32 0 %t11200 = load i32, ptr %t11197 %t11201 = load i32, ptr %t11198 %t11202 = icmp sge i32 %t11200, %t11201 br i1 %t11202, label %grow2309, label %put2310 grow2309: %t11203 = mul i32 %t11201, 2 %t11204 = icmp eq i32 %t11201, 0 %t11205 = select i1 %t11204, i32 8, i32 %t11203 %t11206 = getelementptr ptr, ptr null, i32 1 %t11207 = ptrtoint ptr %t11206 to i64 %t11208 = zext i32 %t11205 to i64 %t11209 = mul i64 %t11208, %t11207 %t11210 = load ptr, ptr %t11199 %t11211 = call ptr @realloc(ptr %t11210, i64 %t11209) store ptr %t11211, ptr %t11199 store i32 %t11205, ptr %t11198 br label %put2310 put2310: %t11212 = load ptr, ptr %t11199 %t11213 = getelementptr inbounds ptr, ptr %t11212, i32 %t11200 store ptr @.str8536, ptr %t11213 %t11214 = add i32 %t11200, 1 store i32 %t11214, ptr %t11197 br label %ifend2308 ifend2308: br label %ifend2215 ifend2215: %t11215 = load ptr, ptr %t0 %t11216 = call i32 @lp_str_eq(ptr %t11215, ptr @.str8537) %t11217 = icmp ne i32 %t11216, 0 br i1 %t11217, label %then2311, label %ifend2313 then2311: %t11218 = load ptr, ptr %t1 %t11219 = call i32 @lp_str_eq(ptr %t11218, ptr @.str8538) %t11220 = icmp ne i32 %t11219, 0 br i1 %t11220, label %then2314, label %ifend2316 then2314: store ptr @.str8539, ptr %t403 %t11221 = load ptr, ptr %t410 %t11222 = getelementptr inbounds %LSlice, ptr %t11221, i32 0, i32 1 %t11223 = getelementptr inbounds %LSlice, ptr %t11221, i32 0, i32 2 %t11224 = getelementptr inbounds %LSlice, ptr %t11221, i32 0, i32 0 %t11225 = load i32, ptr %t11222 %t11226 = load i32, ptr %t11223 %t11227 = icmp sge i32 %t11225, %t11226 br i1 %t11227, label %grow2317, label %put2318 grow2317: %t11228 = mul i32 %t11226, 2 %t11229 = icmp eq i32 %t11226, 0 %t11230 = select i1 %t11229, i32 8, i32 %t11228 %t11231 = getelementptr ptr, ptr null, i32 1 %t11232 = ptrtoint ptr %t11231 to i64 %t11233 = zext i32 %t11230 to i64 %t11234 = mul i64 %t11233, %t11232 %t11235 = load ptr, ptr %t11224 %t11236 = call ptr @realloc(ptr %t11235, i64 %t11234) store ptr %t11236, ptr %t11224 store i32 %t11230, ptr %t11223 br label %put2318 put2318: %t11237 = load ptr, ptr %t11224 %t11238 = getelementptr inbounds ptr, ptr %t11237, i32 %t11225 store ptr @.str8540, ptr %t11238 %t11239 = add i32 %t11225, 1 store i32 %t11239, ptr %t11222 %t11240 = load ptr, ptr %t410 %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 %grow2319, label %put2320 grow2319: %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 %put2320 put2320: %t11256 = load ptr, ptr %t11243 %t11257 = getelementptr inbounds ptr, ptr %t11256, i32 %t11244 store ptr @.str8541, ptr %t11257 %t11258 = add i32 %t11244, 1 store i32 %t11258, ptr %t11241 %t11259 = load ptr, ptr %t410 %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 %grow2321, label %put2322 grow2321: %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 %put2322 put2322: %t11275 = load ptr, ptr %t11262 %t11276 = getelementptr inbounds ptr, ptr %t11275, i32 %t11263 store ptr @.str8542, ptr %t11276 %t11277 = add i32 %t11263, 1 store i32 %t11277, ptr %t11260 %t11278 = load ptr, ptr %t410 %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 %grow2323, label %put2324 grow2323: %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 %put2324 put2324: %t11294 = load ptr, ptr %t11281 %t11295 = getelementptr inbounds ptr, ptr %t11294, i32 %t11282 store ptr @.str8543, ptr %t11295 %t11296 = add i32 %t11282, 1 store i32 %t11296, ptr %t11279 br label %ifend2316 ifend2316: %t11297 = load ptr, ptr %t1 %t11298 = call i32 @lp_str_eq(ptr %t11297, ptr @.str8544) %t11299 = icmp ne i32 %t11298, 0 br i1 %t11299, label %then2325, label %ifend2327 then2325: store ptr @.str8545, ptr %t403 %t11300 = load ptr, ptr %t410 %t11301 = getelementptr inbounds %LSlice, ptr %t11300, i32 0, i32 1 %t11302 = getelementptr inbounds %LSlice, ptr %t11300, i32 0, i32 2 %t11303 = getelementptr inbounds %LSlice, ptr %t11300, i32 0, i32 0 %t11304 = load i32, ptr %t11301 %t11305 = load i32, ptr %t11302 %t11306 = icmp sge i32 %t11304, %t11305 br i1 %t11306, label %grow2328, label %put2329 grow2328: %t11307 = mul i32 %t11305, 2 %t11308 = icmp eq i32 %t11305, 0 %t11309 = select i1 %t11308, i32 8, i32 %t11307 %t11310 = getelementptr ptr, ptr null, i32 1 %t11311 = ptrtoint ptr %t11310 to i64 %t11312 = zext i32 %t11309 to i64 %t11313 = mul i64 %t11312, %t11311 %t11314 = load ptr, ptr %t11303 %t11315 = call ptr @realloc(ptr %t11314, i64 %t11313) store ptr %t11315, ptr %t11303 store i32 %t11309, ptr %t11302 br label %put2329 put2329: %t11316 = load ptr, ptr %t11303 %t11317 = getelementptr inbounds ptr, ptr %t11316, i32 %t11304 store ptr @.str8546, ptr %t11317 %t11318 = add i32 %t11304, 1 store i32 %t11318, ptr %t11301 %t11319 = load ptr, ptr %t410 %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 %grow2330, label %put2331 grow2330: %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 %put2331 put2331: %t11335 = load ptr, ptr %t11322 %t11336 = getelementptr inbounds ptr, ptr %t11335, i32 %t11323 store ptr @.str8547, ptr %t11336 %t11337 = add i32 %t11323, 1 store i32 %t11337, ptr %t11320 br label %ifend2327 ifend2327: %t11338 = load ptr, ptr %t1 %t11339 = call i32 @lp_str_eq(ptr %t11338, ptr @.str8548) %t11340 = icmp ne i32 %t11339, 0 br i1 %t11340, label %then2332, label %ifend2334 then2332: store ptr @.str8549, ptr %t403 %t11341 = load ptr, ptr %t410 %t11342 = getelementptr inbounds %LSlice, ptr %t11341, i32 0, i32 1 %t11343 = getelementptr inbounds %LSlice, ptr %t11341, i32 0, i32 2 %t11344 = getelementptr inbounds %LSlice, ptr %t11341, i32 0, i32 0 %t11345 = load i32, ptr %t11342 %t11346 = load i32, ptr %t11343 %t11347 = icmp sge i32 %t11345, %t11346 br i1 %t11347, label %grow2335, label %put2336 grow2335: %t11348 = mul i32 %t11346, 2 %t11349 = icmp eq i32 %t11346, 0 %t11350 = select i1 %t11349, i32 8, i32 %t11348 %t11351 = getelementptr ptr, ptr null, i32 1 %t11352 = ptrtoint ptr %t11351 to i64 %t11353 = zext i32 %t11350 to i64 %t11354 = mul i64 %t11353, %t11352 %t11355 = load ptr, ptr %t11344 %t11356 = call ptr @realloc(ptr %t11355, i64 %t11354) store ptr %t11356, ptr %t11344 store i32 %t11350, ptr %t11343 br label %put2336 put2336: %t11357 = load ptr, ptr %t11344 %t11358 = getelementptr inbounds ptr, ptr %t11357, i32 %t11345 store ptr @.str8550, ptr %t11358 %t11359 = add i32 %t11345, 1 store i32 %t11359, ptr %t11342 br label %ifend2334 ifend2334: %t11360 = load ptr, ptr %t1 %t11361 = call i32 @lp_str_eq(ptr %t11360, ptr @.str8551) %t11362 = icmp ne i32 %t11361, 0 br i1 %t11362, label %then2337, label %ifend2339 then2337: %t11363 = load ptr, ptr %t2 %t11364 = getelementptr inbounds %Cmp_Node, ptr %t11363, i32 0, i32 7 %t11365 = load ptr, ptr %t11364 %t11366 = getelementptr inbounds %LSlice, ptr %t11365, i32 0, i32 1 %t11367 = load i32, ptr %t11366 %t11368 = icmp eq i32 %t11367, 2 %t11369 = zext i1 %t11368 to i32 %t11370 = icmp ne i32 %t11369, 0 br i1 %t11370, label %then2340, label %else2341 then2340: store ptr @.str8552, ptr %t403 %t11371 = load ptr, ptr %t410 %t11372 = getelementptr inbounds %LSlice, ptr %t11371, i32 0, i32 1 %t11373 = getelementptr inbounds %LSlice, ptr %t11371, i32 0, i32 2 %t11374 = getelementptr inbounds %LSlice, ptr %t11371, i32 0, i32 0 %t11375 = load i32, ptr %t11372 %t11376 = load i32, ptr %t11373 %t11377 = icmp sge i32 %t11375, %t11376 br i1 %t11377, label %grow2343, label %put2344 grow2343: %t11378 = mul i32 %t11376, 2 %t11379 = icmp eq i32 %t11376, 0 %t11380 = select i1 %t11379, i32 8, i32 %t11378 %t11381 = getelementptr ptr, ptr null, i32 1 %t11382 = ptrtoint ptr %t11381 to i64 %t11383 = zext i32 %t11380 to i64 %t11384 = mul i64 %t11383, %t11382 %t11385 = load ptr, ptr %t11374 %t11386 = call ptr @realloc(ptr %t11385, i64 %t11384) store ptr %t11386, ptr %t11374 store i32 %t11380, ptr %t11373 br label %put2344 put2344: %t11387 = load ptr, ptr %t11374 %t11388 = getelementptr inbounds ptr, ptr %t11387, i32 %t11375 store ptr @.str8553, ptr %t11388 %t11389 = add i32 %t11375, 1 store i32 %t11389, ptr %t11372 %t11390 = load ptr, ptr %t410 %t11391 = getelementptr inbounds %LSlice, ptr %t11390, i32 0, i32 1 %t11392 = getelementptr inbounds %LSlice, ptr %t11390, i32 0, i32 2 %t11393 = getelementptr inbounds %LSlice, ptr %t11390, i32 0, i32 0 %t11394 = load i32, ptr %t11391 %t11395 = load i32, ptr %t11392 %t11396 = icmp sge i32 %t11394, %t11395 br i1 %t11396, label %grow2345, label %put2346 grow2345: %t11397 = mul i32 %t11395, 2 %t11398 = icmp eq i32 %t11395, 0 %t11399 = select i1 %t11398, i32 8, i32 %t11397 %t11400 = getelementptr ptr, ptr null, i32 1 %t11401 = ptrtoint ptr %t11400 to i64 %t11402 = zext i32 %t11399 to i64 %t11403 = mul i64 %t11402, %t11401 %t11404 = load ptr, ptr %t11393 %t11405 = call ptr @realloc(ptr %t11404, i64 %t11403) store ptr %t11405, ptr %t11393 store i32 %t11399, ptr %t11392 br label %put2346 put2346: %t11406 = load ptr, ptr %t11393 %t11407 = getelementptr inbounds ptr, ptr %t11406, i32 %t11394 store ptr @.str8554, ptr %t11407 %t11408 = add i32 %t11394, 1 store i32 %t11408, ptr %t11391 br label %ifend2342 else2341: store ptr @.str8555, ptr %t403 %t11409 = load ptr, ptr %t410 %t11410 = getelementptr inbounds %LSlice, ptr %t11409, i32 0, i32 1 %t11411 = getelementptr inbounds %LSlice, ptr %t11409, i32 0, i32 2 %t11412 = getelementptr inbounds %LSlice, ptr %t11409, i32 0, i32 0 %t11413 = load i32, ptr %t11410 %t11414 = load i32, ptr %t11411 %t11415 = icmp sge i32 %t11413, %t11414 br i1 %t11415, label %grow2347, label %put2348 grow2347: %t11416 = mul i32 %t11414, 2 %t11417 = icmp eq i32 %t11414, 0 %t11418 = select i1 %t11417, i32 8, i32 %t11416 %t11419 = getelementptr ptr, ptr null, i32 1 %t11420 = ptrtoint ptr %t11419 to i64 %t11421 = zext i32 %t11418 to i64 %t11422 = mul i64 %t11421, %t11420 %t11423 = load ptr, ptr %t11412 %t11424 = call ptr @realloc(ptr %t11423, i64 %t11422) store ptr %t11424, ptr %t11412 store i32 %t11418, ptr %t11411 br label %put2348 put2348: %t11425 = load ptr, ptr %t11412 %t11426 = getelementptr inbounds ptr, ptr %t11425, i32 %t11413 store ptr @.str8556, ptr %t11426 %t11427 = add i32 %t11413, 1 store i32 %t11427, ptr %t11410 %t11428 = load ptr, ptr %t410 %t11429 = getelementptr inbounds %LSlice, ptr %t11428, i32 0, i32 1 %t11430 = getelementptr inbounds %LSlice, ptr %t11428, i32 0, i32 2 %t11431 = getelementptr inbounds %LSlice, ptr %t11428, i32 0, i32 0 %t11432 = load i32, ptr %t11429 %t11433 = load i32, ptr %t11430 %t11434 = icmp sge i32 %t11432, %t11433 br i1 %t11434, label %grow2349, label %put2350 grow2349: %t11435 = mul i32 %t11433, 2 %t11436 = icmp eq i32 %t11433, 0 %t11437 = select i1 %t11436, i32 8, i32 %t11435 %t11438 = getelementptr ptr, ptr null, i32 1 %t11439 = ptrtoint ptr %t11438 to i64 %t11440 = zext i32 %t11437 to i64 %t11441 = mul i64 %t11440, %t11439 %t11442 = load ptr, ptr %t11431 %t11443 = call ptr @realloc(ptr %t11442, i64 %t11441) store ptr %t11443, ptr %t11431 store i32 %t11437, ptr %t11430 br label %put2350 put2350: %t11444 = load ptr, ptr %t11431 %t11445 = getelementptr inbounds ptr, ptr %t11444, i32 %t11432 store ptr @.str8557, ptr %t11445 %t11446 = add i32 %t11432, 1 store i32 %t11446, ptr %t11429 %t11447 = load ptr, ptr %t410 %t11448 = getelementptr inbounds %LSlice, ptr %t11447, i32 0, i32 1 %t11449 = getelementptr inbounds %LSlice, ptr %t11447, i32 0, i32 2 %t11450 = getelementptr inbounds %LSlice, ptr %t11447, i32 0, i32 0 %t11451 = load i32, ptr %t11448 %t11452 = load i32, ptr %t11449 %t11453 = icmp sge i32 %t11451, %t11452 br i1 %t11453, label %grow2351, label %put2352 grow2351: %t11454 = mul i32 %t11452, 2 %t11455 = icmp eq i32 %t11452, 0 %t11456 = select i1 %t11455, i32 8, i32 %t11454 %t11457 = getelementptr ptr, ptr null, i32 1 %t11458 = ptrtoint ptr %t11457 to i64 %t11459 = zext i32 %t11456 to i64 %t11460 = mul i64 %t11459, %t11458 %t11461 = load ptr, ptr %t11450 %t11462 = call ptr @realloc(ptr %t11461, i64 %t11460) store ptr %t11462, ptr %t11450 store i32 %t11456, ptr %t11449 br label %put2352 put2352: %t11463 = load ptr, ptr %t11450 %t11464 = getelementptr inbounds ptr, ptr %t11463, i32 %t11451 store ptr @.str8558, ptr %t11464 %t11465 = add i32 %t11451, 1 store i32 %t11465, ptr %t11448 %t11466 = load ptr, ptr %t410 %t11467 = getelementptr inbounds %LSlice, ptr %t11466, i32 0, i32 1 %t11468 = getelementptr inbounds %LSlice, ptr %t11466, i32 0, i32 2 %t11469 = getelementptr inbounds %LSlice, ptr %t11466, i32 0, i32 0 %t11470 = load i32, ptr %t11467 %t11471 = load i32, ptr %t11468 %t11472 = icmp sge i32 %t11470, %t11471 br i1 %t11472, label %grow2353, label %put2354 grow2353: %t11473 = mul i32 %t11471, 2 %t11474 = icmp eq i32 %t11471, 0 %t11475 = select i1 %t11474, i32 8, i32 %t11473 %t11476 = getelementptr ptr, ptr null, i32 1 %t11477 = ptrtoint ptr %t11476 to i64 %t11478 = zext i32 %t11475 to i64 %t11479 = mul i64 %t11478, %t11477 %t11480 = load ptr, ptr %t11469 %t11481 = call ptr @realloc(ptr %t11480, i64 %t11479) store ptr %t11481, ptr %t11469 store i32 %t11475, ptr %t11468 br label %put2354 put2354: %t11482 = load ptr, ptr %t11469 %t11483 = getelementptr inbounds ptr, ptr %t11482, i32 %t11470 store ptr @.str8559, ptr %t11483 %t11484 = add i32 %t11470, 1 store i32 %t11484, ptr %t11467 br label %ifend2342 ifend2342: br label %ifend2339 ifend2339: br label %ifend2313 ifend2313: %t11485 = load ptr, ptr %t0 %t11486 = call i32 @lp_str_eq(ptr %t11485, ptr @.str8560) %t11487 = icmp ne i32 %t11486, 0 br i1 %t11487, label %then2355, label %ifend2357 then2355: %t11488 = load ptr, ptr %t1 %t11489 = call i32 @lp_str_eq(ptr %t11488, ptr @.str8561) %t11490 = icmp ne i32 %t11489, 0 br i1 %t11490, label %then2358, label %ifend2360 then2358: store ptr @.str8562, ptr %t403 %t11491 = load ptr, ptr %t410 %t11492 = getelementptr inbounds %LSlice, ptr %t11491, i32 0, i32 1 %t11493 = getelementptr inbounds %LSlice, ptr %t11491, i32 0, i32 2 %t11494 = getelementptr inbounds %LSlice, ptr %t11491, i32 0, i32 0 %t11495 = load i32, ptr %t11492 %t11496 = load i32, ptr %t11493 %t11497 = icmp sge i32 %t11495, %t11496 br i1 %t11497, label %grow2361, label %put2362 grow2361: %t11498 = mul i32 %t11496, 2 %t11499 = icmp eq i32 %t11496, 0 %t11500 = select i1 %t11499, i32 8, i32 %t11498 %t11501 = getelementptr ptr, ptr null, i32 1 %t11502 = ptrtoint ptr %t11501 to i64 %t11503 = zext i32 %t11500 to i64 %t11504 = mul i64 %t11503, %t11502 %t11505 = load ptr, ptr %t11494 %t11506 = call ptr @realloc(ptr %t11505, i64 %t11504) store ptr %t11506, ptr %t11494 store i32 %t11500, ptr %t11493 br label %put2362 put2362: %t11507 = load ptr, ptr %t11494 %t11508 = getelementptr inbounds ptr, ptr %t11507, i32 %t11495 store ptr @.str8563, ptr %t11508 %t11509 = add i32 %t11495, 1 store i32 %t11509, ptr %t11492 %t11510 = load ptr, ptr %t410 %t11511 = getelementptr inbounds %LSlice, ptr %t11510, i32 0, i32 1 %t11512 = getelementptr inbounds %LSlice, ptr %t11510, i32 0, i32 2 %t11513 = getelementptr inbounds %LSlice, ptr %t11510, i32 0, i32 0 %t11514 = load i32, ptr %t11511 %t11515 = load i32, ptr %t11512 %t11516 = icmp sge i32 %t11514, %t11515 br i1 %t11516, label %grow2363, label %put2364 grow2363: %t11517 = mul i32 %t11515, 2 %t11518 = icmp eq i32 %t11515, 0 %t11519 = select i1 %t11518, i32 8, i32 %t11517 %t11520 = getelementptr ptr, ptr null, i32 1 %t11521 = ptrtoint ptr %t11520 to i64 %t11522 = zext i32 %t11519 to i64 %t11523 = mul i64 %t11522, %t11521 %t11524 = load ptr, ptr %t11513 %t11525 = call ptr @realloc(ptr %t11524, i64 %t11523) store ptr %t11525, ptr %t11513 store i32 %t11519, ptr %t11512 br label %put2364 put2364: %t11526 = load ptr, ptr %t11513 %t11527 = getelementptr inbounds ptr, ptr %t11526, i32 %t11514 store ptr @.str8564, ptr %t11527 %t11528 = add i32 %t11514, 1 store i32 %t11528, ptr %t11511 %t11529 = load ptr, ptr %t410 %t11530 = getelementptr inbounds %LSlice, ptr %t11529, i32 0, i32 1 %t11531 = getelementptr inbounds %LSlice, ptr %t11529, i32 0, i32 2 %t11532 = getelementptr inbounds %LSlice, ptr %t11529, i32 0, i32 0 %t11533 = load i32, ptr %t11530 %t11534 = load i32, ptr %t11531 %t11535 = icmp sge i32 %t11533, %t11534 br i1 %t11535, label %grow2365, label %put2366 grow2365: %t11536 = mul i32 %t11534, 2 %t11537 = icmp eq i32 %t11534, 0 %t11538 = select i1 %t11537, i32 8, i32 %t11536 %t11539 = getelementptr ptr, ptr null, i32 1 %t11540 = ptrtoint ptr %t11539 to i64 %t11541 = zext i32 %t11538 to i64 %t11542 = mul i64 %t11541, %t11540 %t11543 = load ptr, ptr %t11532 %t11544 = call ptr @realloc(ptr %t11543, i64 %t11542) store ptr %t11544, ptr %t11532 store i32 %t11538, ptr %t11531 br label %put2366 put2366: %t11545 = load ptr, ptr %t11532 %t11546 = getelementptr inbounds ptr, ptr %t11545, i32 %t11533 store ptr @.str8565, ptr %t11546 %t11547 = add i32 %t11533, 1 store i32 %t11547, ptr %t11530 %t11548 = load ptr, ptr %t410 %t11549 = getelementptr inbounds %LSlice, ptr %t11548, i32 0, i32 1 %t11550 = getelementptr inbounds %LSlice, ptr %t11548, i32 0, i32 2 %t11551 = getelementptr inbounds %LSlice, ptr %t11548, i32 0, i32 0 %t11552 = load i32, ptr %t11549 %t11553 = load i32, ptr %t11550 %t11554 = icmp sge i32 %t11552, %t11553 br i1 %t11554, label %grow2367, label %put2368 grow2367: %t11555 = mul i32 %t11553, 2 %t11556 = icmp eq i32 %t11553, 0 %t11557 = select i1 %t11556, i32 8, i32 %t11555 %t11558 = getelementptr ptr, ptr null, i32 1 %t11559 = ptrtoint ptr %t11558 to i64 %t11560 = zext i32 %t11557 to i64 %t11561 = mul i64 %t11560, %t11559 %t11562 = load ptr, ptr %t11551 %t11563 = call ptr @realloc(ptr %t11562, i64 %t11561) store ptr %t11563, ptr %t11551 store i32 %t11557, ptr %t11550 br label %put2368 put2368: %t11564 = load ptr, ptr %t11551 %t11565 = getelementptr inbounds ptr, ptr %t11564, i32 %t11552 store ptr @.str8566, ptr %t11565 %t11566 = add i32 %t11552, 1 store i32 %t11566, ptr %t11549 %t11567 = load ptr, ptr %t410 %t11568 = getelementptr inbounds %LSlice, ptr %t11567, i32 0, i32 1 %t11569 = getelementptr inbounds %LSlice, ptr %t11567, i32 0, i32 2 %t11570 = getelementptr inbounds %LSlice, ptr %t11567, i32 0, i32 0 %t11571 = load i32, ptr %t11568 %t11572 = load i32, ptr %t11569 %t11573 = icmp sge i32 %t11571, %t11572 br i1 %t11573, label %grow2369, label %put2370 grow2369: %t11574 = mul i32 %t11572, 2 %t11575 = icmp eq i32 %t11572, 0 %t11576 = select i1 %t11575, i32 8, i32 %t11574 %t11577 = getelementptr ptr, ptr null, i32 1 %t11578 = ptrtoint ptr %t11577 to i64 %t11579 = zext i32 %t11576 to i64 %t11580 = mul i64 %t11579, %t11578 %t11581 = load ptr, ptr %t11570 %t11582 = call ptr @realloc(ptr %t11581, i64 %t11580) store ptr %t11582, ptr %t11570 store i32 %t11576, ptr %t11569 br label %put2370 put2370: %t11583 = load ptr, ptr %t11570 %t11584 = getelementptr inbounds ptr, ptr %t11583, i32 %t11571 store ptr @.str8567, ptr %t11584 %t11585 = add i32 %t11571, 1 store i32 %t11585, ptr %t11568 br label %ifend2360 ifend2360: br label %ifend2357 ifend2357: %t11586 = load ptr, ptr %t0 %t11587 = call i32 @lp_str_eq(ptr %t11586, ptr @.str8568) %t11588 = icmp ne i32 %t11587, 0 br i1 %t11588, label %then2371, label %ifend2373 then2371: %t11589 = load ptr, ptr %t1 %t11590 = call i32 @lp_str_eq(ptr %t11589, ptr @.str8569) %t11591 = icmp ne i32 %t11590, 0 br i1 %t11591, label %then2374, label %ifend2376 then2374: store ptr @.str8570, ptr %t403 %t11592 = load ptr, ptr %t410 %t11593 = getelementptr inbounds %LSlice, ptr %t11592, i32 0, i32 1 %t11594 = getelementptr inbounds %LSlice, ptr %t11592, i32 0, i32 2 %t11595 = getelementptr inbounds %LSlice, ptr %t11592, i32 0, i32 0 %t11596 = load i32, ptr %t11593 %t11597 = load i32, ptr %t11594 %t11598 = icmp sge i32 %t11596, %t11597 br i1 %t11598, label %grow2377, label %put2378 grow2377: %t11599 = mul i32 %t11597, 2 %t11600 = icmp eq i32 %t11597, 0 %t11601 = select i1 %t11600, i32 8, i32 %t11599 %t11602 = getelementptr ptr, ptr null, i32 1 %t11603 = ptrtoint ptr %t11602 to i64 %t11604 = zext i32 %t11601 to i64 %t11605 = mul i64 %t11604, %t11603 %t11606 = load ptr, ptr %t11595 %t11607 = call ptr @realloc(ptr %t11606, i64 %t11605) store ptr %t11607, ptr %t11595 store i32 %t11601, ptr %t11594 br label %put2378 put2378: %t11608 = load ptr, ptr %t11595 %t11609 = getelementptr inbounds ptr, ptr %t11608, i32 %t11596 store ptr @.str8571, ptr %t11609 %t11610 = add i32 %t11596, 1 store i32 %t11610, ptr %t11593 %t11611 = load ptr, ptr %t410 %t11612 = getelementptr inbounds %LSlice, ptr %t11611, i32 0, i32 1 %t11613 = getelementptr inbounds %LSlice, ptr %t11611, i32 0, i32 2 %t11614 = getelementptr inbounds %LSlice, ptr %t11611, i32 0, i32 0 %t11615 = load i32, ptr %t11612 %t11616 = load i32, ptr %t11613 %t11617 = icmp sge i32 %t11615, %t11616 br i1 %t11617, label %grow2379, label %put2380 grow2379: %t11618 = mul i32 %t11616, 2 %t11619 = icmp eq i32 %t11616, 0 %t11620 = select i1 %t11619, i32 8, i32 %t11618 %t11621 = getelementptr ptr, ptr null, i32 1 %t11622 = ptrtoint ptr %t11621 to i64 %t11623 = zext i32 %t11620 to i64 %t11624 = mul i64 %t11623, %t11622 %t11625 = load ptr, ptr %t11614 %t11626 = call ptr @realloc(ptr %t11625, i64 %t11624) store ptr %t11626, ptr %t11614 store i32 %t11620, ptr %t11613 br label %put2380 put2380: %t11627 = load ptr, ptr %t11614 %t11628 = getelementptr inbounds ptr, ptr %t11627, i32 %t11615 store ptr @.str8572, ptr %t11628 %t11629 = add i32 %t11615, 1 store i32 %t11629, ptr %t11612 %t11630 = load ptr, ptr %t410 %t11631 = getelementptr inbounds %LSlice, ptr %t11630, i32 0, i32 1 %t11632 = getelementptr inbounds %LSlice, ptr %t11630, i32 0, i32 2 %t11633 = getelementptr inbounds %LSlice, ptr %t11630, i32 0, i32 0 %t11634 = load i32, ptr %t11631 %t11635 = load i32, ptr %t11632 %t11636 = icmp sge i32 %t11634, %t11635 br i1 %t11636, label %grow2381, label %put2382 grow2381: %t11637 = mul i32 %t11635, 2 %t11638 = icmp eq i32 %t11635, 0 %t11639 = select i1 %t11638, i32 8, i32 %t11637 %t11640 = getelementptr ptr, ptr null, i32 1 %t11641 = ptrtoint ptr %t11640 to i64 %t11642 = zext i32 %t11639 to i64 %t11643 = mul i64 %t11642, %t11641 %t11644 = load ptr, ptr %t11633 %t11645 = call ptr @realloc(ptr %t11644, i64 %t11643) store ptr %t11645, ptr %t11633 store i32 %t11639, ptr %t11632 br label %put2382 put2382: %t11646 = load ptr, ptr %t11633 %t11647 = getelementptr inbounds ptr, ptr %t11646, i32 %t11634 store ptr @.str8573, ptr %t11647 %t11648 = add i32 %t11634, 1 store i32 %t11648, ptr %t11631 %t11649 = load ptr, ptr %t410 %t11650 = getelementptr inbounds %LSlice, ptr %t11649, i32 0, i32 1 %t11651 = getelementptr inbounds %LSlice, ptr %t11649, i32 0, i32 2 %t11652 = getelementptr inbounds %LSlice, ptr %t11649, i32 0, i32 0 %t11653 = load i32, ptr %t11650 %t11654 = load i32, ptr %t11651 %t11655 = icmp sge i32 %t11653, %t11654 br i1 %t11655, label %grow2383, label %put2384 grow2383: %t11656 = mul i32 %t11654, 2 %t11657 = icmp eq i32 %t11654, 0 %t11658 = select i1 %t11657, i32 8, i32 %t11656 %t11659 = getelementptr ptr, ptr null, i32 1 %t11660 = ptrtoint ptr %t11659 to i64 %t11661 = zext i32 %t11658 to i64 %t11662 = mul i64 %t11661, %t11660 %t11663 = load ptr, ptr %t11652 %t11664 = call ptr @realloc(ptr %t11663, i64 %t11662) store ptr %t11664, ptr %t11652 store i32 %t11658, ptr %t11651 br label %put2384 put2384: %t11665 = load ptr, ptr %t11652 %t11666 = getelementptr inbounds ptr, ptr %t11665, i32 %t11653 store ptr @.str8574, ptr %t11666 %t11667 = add i32 %t11653, 1 store i32 %t11667, ptr %t11650 br label %ifend2376 ifend2376: %t11668 = load ptr, ptr %t1 %t11669 = call i32 @lp_str_eq(ptr %t11668, ptr @.str8575) %t11670 = icmp ne i32 %t11669, 0 br i1 %t11670, label %then2385, label %ifend2387 then2385: store ptr @.str8576, ptr %t403 %t11671 = load ptr, ptr %t410 %t11672 = getelementptr inbounds %LSlice, ptr %t11671, i32 0, i32 1 %t11673 = getelementptr inbounds %LSlice, ptr %t11671, i32 0, i32 2 %t11674 = getelementptr inbounds %LSlice, ptr %t11671, i32 0, i32 0 %t11675 = load i32, ptr %t11672 %t11676 = load i32, ptr %t11673 %t11677 = icmp sge i32 %t11675, %t11676 br i1 %t11677, label %grow2388, label %put2389 grow2388: %t11678 = mul i32 %t11676, 2 %t11679 = icmp eq i32 %t11676, 0 %t11680 = select i1 %t11679, i32 8, i32 %t11678 %t11681 = getelementptr ptr, ptr null, i32 1 %t11682 = ptrtoint ptr %t11681 to i64 %t11683 = zext i32 %t11680 to i64 %t11684 = mul i64 %t11683, %t11682 %t11685 = load ptr, ptr %t11674 %t11686 = call ptr @realloc(ptr %t11685, i64 %t11684) store ptr %t11686, ptr %t11674 store i32 %t11680, ptr %t11673 br label %put2389 put2389: %t11687 = load ptr, ptr %t11674 %t11688 = getelementptr inbounds ptr, ptr %t11687, i32 %t11675 store ptr @.str8577, ptr %t11688 %t11689 = add i32 %t11675, 1 store i32 %t11689, ptr %t11672 %t11690 = load ptr, ptr %t410 %t11691 = getelementptr inbounds %LSlice, ptr %t11690, i32 0, i32 1 %t11692 = getelementptr inbounds %LSlice, ptr %t11690, i32 0, i32 2 %t11693 = getelementptr inbounds %LSlice, ptr %t11690, i32 0, i32 0 %t11694 = load i32, ptr %t11691 %t11695 = load i32, ptr %t11692 %t11696 = icmp sge i32 %t11694, %t11695 br i1 %t11696, label %grow2390, label %put2391 grow2390: %t11697 = mul i32 %t11695, 2 %t11698 = icmp eq i32 %t11695, 0 %t11699 = select i1 %t11698, i32 8, i32 %t11697 %t11700 = getelementptr ptr, ptr null, i32 1 %t11701 = ptrtoint ptr %t11700 to i64 %t11702 = zext i32 %t11699 to i64 %t11703 = mul i64 %t11702, %t11701 %t11704 = load ptr, ptr %t11693 %t11705 = call ptr @realloc(ptr %t11704, i64 %t11703) store ptr %t11705, ptr %t11693 store i32 %t11699, ptr %t11692 br label %put2391 put2391: %t11706 = load ptr, ptr %t11693 %t11707 = getelementptr inbounds ptr, ptr %t11706, i32 %t11694 store ptr @.str8578, ptr %t11707 %t11708 = add i32 %t11694, 1 store i32 %t11708, ptr %t11691 %t11709 = load ptr, ptr %t410 %t11710 = getelementptr inbounds %LSlice, ptr %t11709, i32 0, i32 1 %t11711 = getelementptr inbounds %LSlice, ptr %t11709, i32 0, i32 2 %t11712 = getelementptr inbounds %LSlice, ptr %t11709, i32 0, i32 0 %t11713 = load i32, ptr %t11710 %t11714 = load i32, ptr %t11711 %t11715 = icmp sge i32 %t11713, %t11714 br i1 %t11715, label %grow2392, label %put2393 grow2392: %t11716 = mul i32 %t11714, 2 %t11717 = icmp eq i32 %t11714, 0 %t11718 = select i1 %t11717, i32 8, i32 %t11716 %t11719 = getelementptr ptr, ptr null, i32 1 %t11720 = ptrtoint ptr %t11719 to i64 %t11721 = zext i32 %t11718 to i64 %t11722 = mul i64 %t11721, %t11720 %t11723 = load ptr, ptr %t11712 %t11724 = call ptr @realloc(ptr %t11723, i64 %t11722) store ptr %t11724, ptr %t11712 store i32 %t11718, ptr %t11711 br label %put2393 put2393: %t11725 = load ptr, ptr %t11712 %t11726 = getelementptr inbounds ptr, ptr %t11725, i32 %t11713 store ptr @.str8579, ptr %t11726 %t11727 = add i32 %t11713, 1 store i32 %t11727, ptr %t11710 %t11728 = load ptr, ptr %t410 %t11729 = getelementptr inbounds %LSlice, ptr %t11728, i32 0, i32 1 %t11730 = getelementptr inbounds %LSlice, ptr %t11728, i32 0, i32 2 %t11731 = getelementptr inbounds %LSlice, ptr %t11728, i32 0, i32 0 %t11732 = load i32, ptr %t11729 %t11733 = load i32, ptr %t11730 %t11734 = icmp sge i32 %t11732, %t11733 br i1 %t11734, label %grow2394, label %put2395 grow2394: %t11735 = mul i32 %t11733, 2 %t11736 = icmp eq i32 %t11733, 0 %t11737 = select i1 %t11736, i32 8, i32 %t11735 %t11738 = getelementptr ptr, ptr null, i32 1 %t11739 = ptrtoint ptr %t11738 to i64 %t11740 = zext i32 %t11737 to i64 %t11741 = mul i64 %t11740, %t11739 %t11742 = load ptr, ptr %t11731 %t11743 = call ptr @realloc(ptr %t11742, i64 %t11741) store ptr %t11743, ptr %t11731 store i32 %t11737, ptr %t11730 br label %put2395 put2395: %t11744 = load ptr, ptr %t11731 %t11745 = getelementptr inbounds ptr, ptr %t11744, i32 %t11732 store ptr @.str8580, ptr %t11745 %t11746 = add i32 %t11732, 1 store i32 %t11746, ptr %t11729 br label %ifend2387 ifend2387: %t11747 = load ptr, ptr %t1 %t11748 = call i32 @lp_str_eq(ptr %t11747, ptr @.str8581) %t11749 = icmp ne i32 %t11748, 0 br i1 %t11749, label %then2396, label %ifend2398 then2396: store ptr @.str8582, ptr %t403 %t11750 = load ptr, ptr %t410 %t11751 = getelementptr inbounds %LSlice, ptr %t11750, i32 0, i32 1 %t11752 = getelementptr inbounds %LSlice, ptr %t11750, i32 0, i32 2 %t11753 = getelementptr inbounds %LSlice, ptr %t11750, i32 0, i32 0 %t11754 = load i32, ptr %t11751 %t11755 = load i32, ptr %t11752 %t11756 = icmp sge i32 %t11754, %t11755 br i1 %t11756, label %grow2399, label %put2400 grow2399: %t11757 = mul i32 %t11755, 2 %t11758 = icmp eq i32 %t11755, 0 %t11759 = select i1 %t11758, i32 8, i32 %t11757 %t11760 = getelementptr ptr, ptr null, i32 1 %t11761 = ptrtoint ptr %t11760 to i64 %t11762 = zext i32 %t11759 to i64 %t11763 = mul i64 %t11762, %t11761 %t11764 = load ptr, ptr %t11753 %t11765 = call ptr @realloc(ptr %t11764, i64 %t11763) store ptr %t11765, ptr %t11753 store i32 %t11759, ptr %t11752 br label %put2400 put2400: %t11766 = load ptr, ptr %t11753 %t11767 = getelementptr inbounds ptr, ptr %t11766, i32 %t11754 store ptr @.str8583, ptr %t11767 %t11768 = add i32 %t11754, 1 store i32 %t11768, ptr %t11751 %t11769 = load ptr, ptr %t410 %t11770 = getelementptr inbounds %LSlice, ptr %t11769, i32 0, i32 1 %t11771 = getelementptr inbounds %LSlice, ptr %t11769, i32 0, i32 2 %t11772 = getelementptr inbounds %LSlice, ptr %t11769, i32 0, i32 0 %t11773 = load i32, ptr %t11770 %t11774 = load i32, ptr %t11771 %t11775 = icmp sge i32 %t11773, %t11774 br i1 %t11775, label %grow2401, label %put2402 grow2401: %t11776 = mul i32 %t11774, 2 %t11777 = icmp eq i32 %t11774, 0 %t11778 = select i1 %t11777, i32 8, i32 %t11776 %t11779 = getelementptr ptr, ptr null, i32 1 %t11780 = ptrtoint ptr %t11779 to i64 %t11781 = zext i32 %t11778 to i64 %t11782 = mul i64 %t11781, %t11780 %t11783 = load ptr, ptr %t11772 %t11784 = call ptr @realloc(ptr %t11783, i64 %t11782) store ptr %t11784, ptr %t11772 store i32 %t11778, ptr %t11771 br label %put2402 put2402: %t11785 = load ptr, ptr %t11772 %t11786 = getelementptr inbounds ptr, ptr %t11785, i32 %t11773 store ptr @.str8584, ptr %t11786 %t11787 = add i32 %t11773, 1 store i32 %t11787, ptr %t11770 br label %ifend2398 ifend2398: %t11788 = load ptr, ptr %t1 %t11789 = call i32 @lp_str_eq(ptr %t11788, ptr @.str8585) %t11790 = icmp ne i32 %t11789, 0 br i1 %t11790, label %then2403, label %ifend2405 then2403: store ptr @.str8586, ptr %t403 %t11791 = load ptr, ptr %t410 %t11792 = getelementptr inbounds %LSlice, ptr %t11791, i32 0, i32 1 %t11793 = getelementptr inbounds %LSlice, ptr %t11791, i32 0, i32 2 %t11794 = getelementptr inbounds %LSlice, ptr %t11791, i32 0, i32 0 %t11795 = load i32, ptr %t11792 %t11796 = load i32, ptr %t11793 %t11797 = icmp sge i32 %t11795, %t11796 br i1 %t11797, label %grow2406, label %put2407 grow2406: %t11798 = mul i32 %t11796, 2 %t11799 = icmp eq i32 %t11796, 0 %t11800 = select i1 %t11799, i32 8, i32 %t11798 %t11801 = getelementptr ptr, ptr null, i32 1 %t11802 = ptrtoint ptr %t11801 to i64 %t11803 = zext i32 %t11800 to i64 %t11804 = mul i64 %t11803, %t11802 %t11805 = load ptr, ptr %t11794 %t11806 = call ptr @realloc(ptr %t11805, i64 %t11804) store ptr %t11806, ptr %t11794 store i32 %t11800, ptr %t11793 br label %put2407 put2407: %t11807 = load ptr, ptr %t11794 %t11808 = getelementptr inbounds ptr, ptr %t11807, i32 %t11795 store ptr @.str8587, ptr %t11808 %t11809 = add i32 %t11795, 1 store i32 %t11809, ptr %t11792 br label %ifend2405 ifend2405: %t11810 = load ptr, ptr %t1 %t11811 = call i32 @lp_str_eq(ptr %t11810, ptr @.str8588) %t11812 = icmp ne i32 %t11811, 0 br i1 %t11812, label %then2408, label %ifend2410 then2408: store ptr @.str8589, ptr %t403 %t11813 = load ptr, ptr %t410 %t11814 = getelementptr inbounds %LSlice, ptr %t11813, i32 0, i32 1 %t11815 = getelementptr inbounds %LSlice, ptr %t11813, i32 0, i32 2 %t11816 = getelementptr inbounds %LSlice, ptr %t11813, i32 0, i32 0 %t11817 = load i32, ptr %t11814 %t11818 = load i32, ptr %t11815 %t11819 = icmp sge i32 %t11817, %t11818 br i1 %t11819, label %grow2411, label %put2412 grow2411: %t11820 = mul i32 %t11818, 2 %t11821 = icmp eq i32 %t11818, 0 %t11822 = select i1 %t11821, i32 8, i32 %t11820 %t11823 = getelementptr ptr, ptr null, i32 1 %t11824 = ptrtoint ptr %t11823 to i64 %t11825 = zext i32 %t11822 to i64 %t11826 = mul i64 %t11825, %t11824 %t11827 = load ptr, ptr %t11816 %t11828 = call ptr @realloc(ptr %t11827, i64 %t11826) store ptr %t11828, ptr %t11816 store i32 %t11822, ptr %t11815 br label %put2412 put2412: %t11829 = load ptr, ptr %t11816 %t11830 = getelementptr inbounds ptr, ptr %t11829, i32 %t11817 store ptr @.str8590, ptr %t11830 %t11831 = add i32 %t11817, 1 store i32 %t11831, ptr %t11814 br label %ifend2410 ifend2410: %t11832 = load ptr, ptr %t1 %t11833 = call i32 @lp_str_eq(ptr %t11832, ptr @.str8591) %t11834 = icmp ne i32 %t11833, 0 br i1 %t11834, label %then2413, label %ifend2415 then2413: store ptr @.str8592, ptr %t403 %t11835 = load ptr, ptr %t410 %t11836 = getelementptr inbounds %LSlice, ptr %t11835, i32 0, i32 1 %t11837 = getelementptr inbounds %LSlice, ptr %t11835, i32 0, i32 2 %t11838 = getelementptr inbounds %LSlice, ptr %t11835, i32 0, i32 0 %t11839 = load i32, ptr %t11836 %t11840 = load i32, ptr %t11837 %t11841 = icmp sge i32 %t11839, %t11840 br i1 %t11841, label %grow2416, label %put2417 grow2416: %t11842 = mul i32 %t11840, 2 %t11843 = icmp eq i32 %t11840, 0 %t11844 = select i1 %t11843, i32 8, i32 %t11842 %t11845 = getelementptr ptr, ptr null, i32 1 %t11846 = ptrtoint ptr %t11845 to i64 %t11847 = zext i32 %t11844 to i64 %t11848 = mul i64 %t11847, %t11846 %t11849 = load ptr, ptr %t11838 %t11850 = call ptr @realloc(ptr %t11849, i64 %t11848) store ptr %t11850, ptr %t11838 store i32 %t11844, ptr %t11837 br label %put2417 put2417: %t11851 = load ptr, ptr %t11838 %t11852 = getelementptr inbounds ptr, ptr %t11851, i32 %t11839 store ptr @.str8593, ptr %t11852 %t11853 = add i32 %t11839, 1 store i32 %t11853, ptr %t11836 %t11854 = load ptr, ptr %t410 %t11855 = getelementptr inbounds %LSlice, ptr %t11854, i32 0, i32 1 %t11856 = getelementptr inbounds %LSlice, ptr %t11854, i32 0, i32 2 %t11857 = getelementptr inbounds %LSlice, ptr %t11854, i32 0, i32 0 %t11858 = load i32, ptr %t11855 %t11859 = load i32, ptr %t11856 %t11860 = icmp sge i32 %t11858, %t11859 br i1 %t11860, label %grow2418, label %put2419 grow2418: %t11861 = mul i32 %t11859, 2 %t11862 = icmp eq i32 %t11859, 0 %t11863 = select i1 %t11862, i32 8, i32 %t11861 %t11864 = getelementptr ptr, ptr null, i32 1 %t11865 = ptrtoint ptr %t11864 to i64 %t11866 = zext i32 %t11863 to i64 %t11867 = mul i64 %t11866, %t11865 %t11868 = load ptr, ptr %t11857 %t11869 = call ptr @realloc(ptr %t11868, i64 %t11867) store ptr %t11869, ptr %t11857 store i32 %t11863, ptr %t11856 br label %put2419 put2419: %t11870 = load ptr, ptr %t11857 %t11871 = getelementptr inbounds ptr, ptr %t11870, i32 %t11858 store ptr @.str8594, ptr %t11871 %t11872 = add i32 %t11858, 1 store i32 %t11872, ptr %t11855 br label %ifend2415 ifend2415: br label %ifend2373 ifend2373: %t11873 = load ptr, ptr %t0 %t11874 = call i32 @lp_str_eq(ptr %t11873, ptr @.str8595) %t11875 = icmp ne i32 %t11874, 0 br i1 %t11875, label %then2420, label %ifend2422 then2420: %t11876 = load ptr, ptr %t1 %t11877 = call i32 @lp_str_eq(ptr %t11876, ptr @.str8596) %t11878 = icmp ne i32 %t11877, 0 br i1 %t11878, label %then2423, label %ifend2425 then2423: store ptr @.str8597, ptr %t403 %t11879 = load ptr, ptr %t410 %t11880 = getelementptr inbounds %LSlice, ptr %t11879, i32 0, i32 1 %t11881 = getelementptr inbounds %LSlice, ptr %t11879, i32 0, i32 2 %t11882 = getelementptr inbounds %LSlice, ptr %t11879, i32 0, i32 0 %t11883 = load i32, ptr %t11880 %t11884 = load i32, ptr %t11881 %t11885 = icmp sge i32 %t11883, %t11884 br i1 %t11885, label %grow2426, label %put2427 grow2426: %t11886 = mul i32 %t11884, 2 %t11887 = icmp eq i32 %t11884, 0 %t11888 = select i1 %t11887, i32 8, i32 %t11886 %t11889 = getelementptr ptr, ptr null, i32 1 %t11890 = ptrtoint ptr %t11889 to i64 %t11891 = zext i32 %t11888 to i64 %t11892 = mul i64 %t11891, %t11890 %t11893 = load ptr, ptr %t11882 %t11894 = call ptr @realloc(ptr %t11893, i64 %t11892) store ptr %t11894, ptr %t11882 store i32 %t11888, ptr %t11881 br label %put2427 put2427: %t11895 = load ptr, ptr %t11882 %t11896 = getelementptr inbounds ptr, ptr %t11895, i32 %t11883 store ptr @.str8598, ptr %t11896 %t11897 = add i32 %t11883, 1 store i32 %t11897, ptr %t11880 br label %ifend2425 ifend2425: %t11898 = load ptr, ptr %t1 %t11899 = call i32 @lp_str_eq(ptr %t11898, ptr @.str8599) %t11900 = icmp ne i32 %t11899, 0 br i1 %t11900, label %then2428, label %ifend2430 then2428: store ptr @.str8600, ptr %t403 %t11901 = load ptr, ptr %t410 %t11902 = getelementptr inbounds %LSlice, ptr %t11901, i32 0, i32 1 %t11903 = getelementptr inbounds %LSlice, ptr %t11901, i32 0, i32 2 %t11904 = getelementptr inbounds %LSlice, ptr %t11901, i32 0, i32 0 %t11905 = load i32, ptr %t11902 %t11906 = load i32, ptr %t11903 %t11907 = icmp sge i32 %t11905, %t11906 br i1 %t11907, label %grow2431, label %put2432 grow2431: %t11908 = mul i32 %t11906, 2 %t11909 = icmp eq i32 %t11906, 0 %t11910 = select i1 %t11909, i32 8, i32 %t11908 %t11911 = getelementptr ptr, ptr null, i32 1 %t11912 = ptrtoint ptr %t11911 to i64 %t11913 = zext i32 %t11910 to i64 %t11914 = mul i64 %t11913, %t11912 %t11915 = load ptr, ptr %t11904 %t11916 = call ptr @realloc(ptr %t11915, i64 %t11914) store ptr %t11916, ptr %t11904 store i32 %t11910, ptr %t11903 br label %put2432 put2432: %t11917 = load ptr, ptr %t11904 %t11918 = getelementptr inbounds ptr, ptr %t11917, i32 %t11905 store ptr @.str8601, ptr %t11918 %t11919 = add i32 %t11905, 1 store i32 %t11919, ptr %t11902 br label %ifend2430 ifend2430: %t11920 = load ptr, ptr %t1 %t11921 = call i32 @lp_str_eq(ptr %t11920, ptr @.str8602) %t11922 = icmp ne i32 %t11921, 0 br i1 %t11922, label %then2433, label %ifend2435 then2433: store ptr @.str8603, ptr %t403 %t11923 = load ptr, ptr %t410 %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 %grow2436, label %put2437 grow2436: %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 %put2437 put2437: %t11939 = load ptr, ptr %t11926 %t11940 = getelementptr inbounds ptr, ptr %t11939, i32 %t11927 store ptr @.str8604, ptr %t11940 %t11941 = add i32 %t11927, 1 store i32 %t11941, ptr %t11924 %t11942 = load ptr, ptr %t410 %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 %grow2438, label %put2439 grow2438: %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 %put2439 put2439: %t11958 = load ptr, ptr %t11945 %t11959 = getelementptr inbounds ptr, ptr %t11958, i32 %t11946 store ptr @.str8605, ptr %t11959 %t11960 = add i32 %t11946, 1 store i32 %t11960, ptr %t11943 %t11961 = load ptr, ptr %t410 %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 %grow2440, label %put2441 grow2440: %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 %put2441 put2441: %t11977 = load ptr, ptr %t11964 %t11978 = getelementptr inbounds ptr, ptr %t11977, i32 %t11965 store ptr @.str8606, ptr %t11978 %t11979 = add i32 %t11965, 1 store i32 %t11979, ptr %t11962 %t11980 = load ptr, ptr %t410 %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 %grow2442, label %put2443 grow2442: %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 %put2443 put2443: %t11996 = load ptr, ptr %t11983 %t11997 = getelementptr inbounds ptr, ptr %t11996, i32 %t11984 store ptr @.str8607, ptr %t11997 %t11998 = add i32 %t11984, 1 store i32 %t11998, ptr %t11981 %t11999 = load ptr, ptr %t410 %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 %grow2444, label %put2445 grow2444: %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 %put2445 put2445: %t12015 = load ptr, ptr %t12002 %t12016 = getelementptr inbounds ptr, ptr %t12015, i32 %t12003 store ptr @.str8608, ptr %t12016 %t12017 = add i32 %t12003, 1 store i32 %t12017, ptr %t12000 %t12018 = load ptr, ptr %t410 %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 %grow2446, label %put2447 grow2446: %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 %put2447 put2447: %t12034 = load ptr, ptr %t12021 %t12035 = getelementptr inbounds ptr, ptr %t12034, i32 %t12022 store ptr @.str8609, ptr %t12035 %t12036 = add i32 %t12022, 1 store i32 %t12036, ptr %t12019 br label %ifend2435 ifend2435: %t12037 = load ptr, ptr %t1 %t12038 = call i32 @lp_str_eq(ptr %t12037, ptr @.str8610) %t12039 = icmp ne i32 %t12038, 0 br i1 %t12039, label %then2448, label %ifend2450 then2448: store ptr @.str8611, ptr %t403 %t12040 = load ptr, ptr %t410 %t12041 = getelementptr inbounds %LSlice, ptr %t12040, i32 0, i32 1 %t12042 = getelementptr inbounds %LSlice, ptr %t12040, i32 0, i32 2 %t12043 = getelementptr inbounds %LSlice, ptr %t12040, i32 0, i32 0 %t12044 = load i32, ptr %t12041 %t12045 = load i32, ptr %t12042 %t12046 = icmp sge i32 %t12044, %t12045 br i1 %t12046, label %grow2451, label %put2452 grow2451: %t12047 = mul i32 %t12045, 2 %t12048 = icmp eq i32 %t12045, 0 %t12049 = select i1 %t12048, i32 8, i32 %t12047 %t12050 = getelementptr ptr, ptr null, i32 1 %t12051 = ptrtoint ptr %t12050 to i64 %t12052 = zext i32 %t12049 to i64 %t12053 = mul i64 %t12052, %t12051 %t12054 = load ptr, ptr %t12043 %t12055 = call ptr @realloc(ptr %t12054, i64 %t12053) store ptr %t12055, ptr %t12043 store i32 %t12049, ptr %t12042 br label %put2452 put2452: %t12056 = load ptr, ptr %t12043 %t12057 = getelementptr inbounds ptr, ptr %t12056, i32 %t12044 store ptr @.str8612, ptr %t12057 %t12058 = add i32 %t12044, 1 store i32 %t12058, ptr %t12041 %t12059 = load ptr, ptr %t410 %t12060 = getelementptr inbounds %LSlice, ptr %t12059, i32 0, i32 1 %t12061 = getelementptr inbounds %LSlice, ptr %t12059, i32 0, i32 2 %t12062 = getelementptr inbounds %LSlice, ptr %t12059, i32 0, i32 0 %t12063 = load i32, ptr %t12060 %t12064 = load i32, ptr %t12061 %t12065 = icmp sge i32 %t12063, %t12064 br i1 %t12065, label %grow2453, label %put2454 grow2453: %t12066 = mul i32 %t12064, 2 %t12067 = icmp eq i32 %t12064, 0 %t12068 = select i1 %t12067, i32 8, i32 %t12066 %t12069 = getelementptr ptr, ptr null, i32 1 %t12070 = ptrtoint ptr %t12069 to i64 %t12071 = zext i32 %t12068 to i64 %t12072 = mul i64 %t12071, %t12070 %t12073 = load ptr, ptr %t12062 %t12074 = call ptr @realloc(ptr %t12073, i64 %t12072) store ptr %t12074, ptr %t12062 store i32 %t12068, ptr %t12061 br label %put2454 put2454: %t12075 = load ptr, ptr %t12062 %t12076 = getelementptr inbounds ptr, ptr %t12075, i32 %t12063 store ptr @.str8613, ptr %t12076 %t12077 = add i32 %t12063, 1 store i32 %t12077, ptr %t12060 %t12078 = load ptr, ptr %t410 %t12079 = getelementptr inbounds %LSlice, ptr %t12078, i32 0, i32 1 %t12080 = getelementptr inbounds %LSlice, ptr %t12078, i32 0, i32 2 %t12081 = getelementptr inbounds %LSlice, ptr %t12078, i32 0, i32 0 %t12082 = load i32, ptr %t12079 %t12083 = load i32, ptr %t12080 %t12084 = icmp sge i32 %t12082, %t12083 br i1 %t12084, label %grow2455, label %put2456 grow2455: %t12085 = mul i32 %t12083, 2 %t12086 = icmp eq i32 %t12083, 0 %t12087 = select i1 %t12086, i32 8, i32 %t12085 %t12088 = getelementptr ptr, ptr null, i32 1 %t12089 = ptrtoint ptr %t12088 to i64 %t12090 = zext i32 %t12087 to i64 %t12091 = mul i64 %t12090, %t12089 %t12092 = load ptr, ptr %t12081 %t12093 = call ptr @realloc(ptr %t12092, i64 %t12091) store ptr %t12093, ptr %t12081 store i32 %t12087, ptr %t12080 br label %put2456 put2456: %t12094 = load ptr, ptr %t12081 %t12095 = getelementptr inbounds ptr, ptr %t12094, i32 %t12082 store ptr @.str8614, ptr %t12095 %t12096 = add i32 %t12082, 1 store i32 %t12096, ptr %t12079 %t12097 = load ptr, ptr %t410 %t12098 = getelementptr inbounds %LSlice, ptr %t12097, i32 0, i32 1 %t12099 = getelementptr inbounds %LSlice, ptr %t12097, i32 0, i32 2 %t12100 = getelementptr inbounds %LSlice, ptr %t12097, i32 0, i32 0 %t12101 = load i32, ptr %t12098 %t12102 = load i32, ptr %t12099 %t12103 = icmp sge i32 %t12101, %t12102 br i1 %t12103, label %grow2457, label %put2458 grow2457: %t12104 = mul i32 %t12102, 2 %t12105 = icmp eq i32 %t12102, 0 %t12106 = select i1 %t12105, i32 8, i32 %t12104 %t12107 = getelementptr ptr, ptr null, i32 1 %t12108 = ptrtoint ptr %t12107 to i64 %t12109 = zext i32 %t12106 to i64 %t12110 = mul i64 %t12109, %t12108 %t12111 = load ptr, ptr %t12100 %t12112 = call ptr @realloc(ptr %t12111, i64 %t12110) store ptr %t12112, ptr %t12100 store i32 %t12106, ptr %t12099 br label %put2458 put2458: %t12113 = load ptr, ptr %t12100 %t12114 = getelementptr inbounds ptr, ptr %t12113, i32 %t12101 store ptr @.str8615, ptr %t12114 %t12115 = add i32 %t12101, 1 store i32 %t12115, ptr %t12098 %t12116 = load ptr, ptr %t410 %t12117 = getelementptr inbounds %LSlice, ptr %t12116, i32 0, i32 1 %t12118 = getelementptr inbounds %LSlice, ptr %t12116, i32 0, i32 2 %t12119 = getelementptr inbounds %LSlice, ptr %t12116, i32 0, i32 0 %t12120 = load i32, ptr %t12117 %t12121 = load i32, ptr %t12118 %t12122 = icmp sge i32 %t12120, %t12121 br i1 %t12122, label %grow2459, label %put2460 grow2459: %t12123 = mul i32 %t12121, 2 %t12124 = icmp eq i32 %t12121, 0 %t12125 = select i1 %t12124, i32 8, i32 %t12123 %t12126 = getelementptr ptr, ptr null, i32 1 %t12127 = ptrtoint ptr %t12126 to i64 %t12128 = zext i32 %t12125 to i64 %t12129 = mul i64 %t12128, %t12127 %t12130 = load ptr, ptr %t12119 %t12131 = call ptr @realloc(ptr %t12130, i64 %t12129) store ptr %t12131, ptr %t12119 store i32 %t12125, ptr %t12118 br label %put2460 put2460: %t12132 = load ptr, ptr %t12119 %t12133 = getelementptr inbounds ptr, ptr %t12132, i32 %t12120 store ptr @.str8616, ptr %t12133 %t12134 = add i32 %t12120, 1 store i32 %t12134, ptr %t12117 %t12135 = load ptr, ptr %t410 %t12136 = getelementptr inbounds %LSlice, ptr %t12135, i32 0, i32 1 %t12137 = getelementptr inbounds %LSlice, ptr %t12135, i32 0, i32 2 %t12138 = getelementptr inbounds %LSlice, ptr %t12135, i32 0, i32 0 %t12139 = load i32, ptr %t12136 %t12140 = load i32, ptr %t12137 %t12141 = icmp sge i32 %t12139, %t12140 br i1 %t12141, label %grow2461, label %put2462 grow2461: %t12142 = mul i32 %t12140, 2 %t12143 = icmp eq i32 %t12140, 0 %t12144 = select i1 %t12143, i32 8, i32 %t12142 %t12145 = getelementptr ptr, ptr null, i32 1 %t12146 = ptrtoint ptr %t12145 to i64 %t12147 = zext i32 %t12144 to i64 %t12148 = mul i64 %t12147, %t12146 %t12149 = load ptr, ptr %t12138 %t12150 = call ptr @realloc(ptr %t12149, i64 %t12148) store ptr %t12150, ptr %t12138 store i32 %t12144, ptr %t12137 br label %put2462 put2462: %t12151 = load ptr, ptr %t12138 %t12152 = getelementptr inbounds ptr, ptr %t12151, i32 %t12139 store ptr @.str8617, ptr %t12152 %t12153 = add i32 %t12139, 1 store i32 %t12153, ptr %t12136 %t12154 = load ptr, ptr %t410 %t12155 = getelementptr inbounds %LSlice, ptr %t12154, i32 0, i32 1 %t12156 = getelementptr inbounds %LSlice, ptr %t12154, i32 0, i32 2 %t12157 = getelementptr inbounds %LSlice, ptr %t12154, i32 0, i32 0 %t12158 = load i32, ptr %t12155 %t12159 = load i32, ptr %t12156 %t12160 = icmp sge i32 %t12158, %t12159 br i1 %t12160, label %grow2463, label %put2464 grow2463: %t12161 = mul i32 %t12159, 2 %t12162 = icmp eq i32 %t12159, 0 %t12163 = select i1 %t12162, i32 8, i32 %t12161 %t12164 = getelementptr ptr, ptr null, i32 1 %t12165 = ptrtoint ptr %t12164 to i64 %t12166 = zext i32 %t12163 to i64 %t12167 = mul i64 %t12166, %t12165 %t12168 = load ptr, ptr %t12157 %t12169 = call ptr @realloc(ptr %t12168, i64 %t12167) store ptr %t12169, ptr %t12157 store i32 %t12163, ptr %t12156 br label %put2464 put2464: %t12170 = load ptr, ptr %t12157 %t12171 = getelementptr inbounds ptr, ptr %t12170, i32 %t12158 store ptr @.str8618, ptr %t12171 %t12172 = add i32 %t12158, 1 store i32 %t12172, ptr %t12155 br label %ifend2450 ifend2450: br label %ifend2422 ifend2422: %t12173 = load ptr, ptr %t0 %t12174 = call i32 @lp_str_eq(ptr %t12173, ptr @.str8619) %t12175 = icmp ne i32 %t12174, 0 br i1 %t12175, label %then2465, label %ifend2467 then2465: %t12176 = load ptr, ptr %t1 %t12177 = call i32 @lp_str_eq(ptr %t12176, ptr @.str8620) %t12178 = icmp ne i32 %t12177, 0 br i1 %t12178, label %then2468, label %ifend2470 then2468: store ptr @.str8621, ptr %t403 %t12179 = load ptr, ptr %t410 %t12180 = getelementptr inbounds %LSlice, ptr %t12179, i32 0, i32 1 %t12181 = getelementptr inbounds %LSlice, ptr %t12179, i32 0, i32 2 %t12182 = getelementptr inbounds %LSlice, ptr %t12179, i32 0, i32 0 %t12183 = load i32, ptr %t12180 %t12184 = load i32, ptr %t12181 %t12185 = icmp sge i32 %t12183, %t12184 br i1 %t12185, label %grow2471, label %put2472 grow2471: %t12186 = mul i32 %t12184, 2 %t12187 = icmp eq i32 %t12184, 0 %t12188 = select i1 %t12187, i32 8, i32 %t12186 %t12189 = getelementptr ptr, ptr null, i32 1 %t12190 = ptrtoint ptr %t12189 to i64 %t12191 = zext i32 %t12188 to i64 %t12192 = mul i64 %t12191, %t12190 %t12193 = load ptr, ptr %t12182 %t12194 = call ptr @realloc(ptr %t12193, i64 %t12192) store ptr %t12194, ptr %t12182 store i32 %t12188, ptr %t12181 br label %put2472 put2472: %t12195 = load ptr, ptr %t12182 %t12196 = getelementptr inbounds ptr, ptr %t12195, i32 %t12183 store ptr @.str8622, ptr %t12196 %t12197 = add i32 %t12183, 1 store i32 %t12197, ptr %t12180 br label %ifend2470 ifend2470: %t12198 = load ptr, ptr %t1 %t12199 = call i32 @lp_str_eq(ptr %t12198, ptr @.str8623) %t12200 = icmp ne i32 %t12199, 0 br i1 %t12200, label %then2473, label %ifend2475 then2473: store ptr @.str8624, ptr %t403 %t12201 = load ptr, ptr %t410 %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 %grow2476, label %put2477 grow2476: %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 %put2477 put2477: %t12217 = load ptr, ptr %t12204 %t12218 = getelementptr inbounds ptr, ptr %t12217, i32 %t12205 store ptr @.str8625, ptr %t12218 %t12219 = add i32 %t12205, 1 store i32 %t12219, ptr %t12202 %t12220 = load ptr, ptr %t410 %t12221 = getelementptr inbounds %LSlice, ptr %t12220, i32 0, i32 1 %t12222 = getelementptr inbounds %LSlice, ptr %t12220, i32 0, i32 2 %t12223 = getelementptr inbounds %LSlice, ptr %t12220, i32 0, i32 0 %t12224 = load i32, ptr %t12221 %t12225 = load i32, ptr %t12222 %t12226 = icmp sge i32 %t12224, %t12225 br i1 %t12226, label %grow2478, label %put2479 grow2478: %t12227 = mul i32 %t12225, 2 %t12228 = icmp eq i32 %t12225, 0 %t12229 = select i1 %t12228, i32 8, i32 %t12227 %t12230 = getelementptr ptr, ptr null, i32 1 %t12231 = ptrtoint ptr %t12230 to i64 %t12232 = zext i32 %t12229 to i64 %t12233 = mul i64 %t12232, %t12231 %t12234 = load ptr, ptr %t12223 %t12235 = call ptr @realloc(ptr %t12234, i64 %t12233) store ptr %t12235, ptr %t12223 store i32 %t12229, ptr %t12222 br label %put2479 put2479: %t12236 = load ptr, ptr %t12223 %t12237 = getelementptr inbounds ptr, ptr %t12236, i32 %t12224 store ptr @.str8626, ptr %t12237 %t12238 = add i32 %t12224, 1 store i32 %t12238, ptr %t12221 br label %ifend2475 ifend2475: %t12239 = load ptr, ptr %t1 %t12240 = call i32 @lp_str_eq(ptr %t12239, ptr @.str8627) %t12241 = icmp ne i32 %t12240, 0 br i1 %t12241, label %then2480, label %ifend2482 then2480: store ptr @.str8628, ptr %t403 br label %ifend2482 ifend2482: %t12242 = load ptr, ptr %t1 %t12243 = call i32 @lp_str_eq(ptr %t12242, ptr @.str8629) %t12244 = icmp ne i32 %t12243, 0 br i1 %t12244, label %then2483, label %ifend2485 then2483: store ptr @.str8630, ptr %t403 %t12245 = load ptr, ptr %t410 %t12246 = getelementptr inbounds %LSlice, ptr %t12245, i32 0, i32 1 %t12247 = getelementptr inbounds %LSlice, ptr %t12245, i32 0, i32 2 %t12248 = getelementptr inbounds %LSlice, ptr %t12245, i32 0, i32 0 %t12249 = load i32, ptr %t12246 %t12250 = load i32, ptr %t12247 %t12251 = icmp sge i32 %t12249, %t12250 br i1 %t12251, label %grow2486, label %put2487 grow2486: %t12252 = mul i32 %t12250, 2 %t12253 = icmp eq i32 %t12250, 0 %t12254 = select i1 %t12253, i32 8, i32 %t12252 %t12255 = getelementptr ptr, ptr null, i32 1 %t12256 = ptrtoint ptr %t12255 to i64 %t12257 = zext i32 %t12254 to i64 %t12258 = mul i64 %t12257, %t12256 %t12259 = load ptr, ptr %t12248 %t12260 = call ptr @realloc(ptr %t12259, i64 %t12258) store ptr %t12260, ptr %t12248 store i32 %t12254, ptr %t12247 br label %put2487 put2487: %t12261 = load ptr, ptr %t12248 %t12262 = getelementptr inbounds ptr, ptr %t12261, i32 %t12249 store ptr @.str8631, ptr %t12262 %t12263 = add i32 %t12249, 1 store i32 %t12263, ptr %t12246 br label %ifend2485 ifend2485: %t12264 = load ptr, ptr %t1 %t12265 = call i32 @lp_str_eq(ptr %t12264, ptr @.str8632) %t12266 = icmp ne i32 %t12265, 0 br i1 %t12266, label %then2488, label %ifend2490 then2488: store ptr @.str8633, ptr %t403 %t12267 = load ptr, ptr %t410 %t12268 = getelementptr inbounds %LSlice, ptr %t12267, i32 0, i32 1 %t12269 = getelementptr inbounds %LSlice, ptr %t12267, i32 0, i32 2 %t12270 = getelementptr inbounds %LSlice, ptr %t12267, i32 0, i32 0 %t12271 = load i32, ptr %t12268 %t12272 = load i32, ptr %t12269 %t12273 = icmp sge i32 %t12271, %t12272 br i1 %t12273, label %grow2491, label %put2492 grow2491: %t12274 = mul i32 %t12272, 2 %t12275 = icmp eq i32 %t12272, 0 %t12276 = select i1 %t12275, i32 8, i32 %t12274 %t12277 = getelementptr ptr, ptr null, i32 1 %t12278 = ptrtoint ptr %t12277 to i64 %t12279 = zext i32 %t12276 to i64 %t12280 = mul i64 %t12279, %t12278 %t12281 = load ptr, ptr %t12270 %t12282 = call ptr @realloc(ptr %t12281, i64 %t12280) store ptr %t12282, ptr %t12270 store i32 %t12276, ptr %t12269 br label %put2492 put2492: %t12283 = load ptr, ptr %t12270 %t12284 = getelementptr inbounds ptr, ptr %t12283, i32 %t12271 store ptr @.str8634, ptr %t12284 %t12285 = add i32 %t12271, 1 store i32 %t12285, ptr %t12268 br label %ifend2490 ifend2490: %t12286 = load ptr, ptr %t1 %t12287 = call i32 @lp_str_eq(ptr %t12286, ptr @.str8635) %t12288 = icmp ne i32 %t12287, 0 br i1 %t12288, label %then2493, label %ifend2495 then2493: store ptr @.str8636, ptr %t403 %t12289 = load ptr, ptr %t410 %t12290 = getelementptr inbounds %LSlice, ptr %t12289, i32 0, i32 1 %t12291 = getelementptr inbounds %LSlice, ptr %t12289, i32 0, i32 2 %t12292 = getelementptr inbounds %LSlice, ptr %t12289, i32 0, i32 0 %t12293 = load i32, ptr %t12290 %t12294 = load i32, ptr %t12291 %t12295 = icmp sge i32 %t12293, %t12294 br i1 %t12295, label %grow2496, label %put2497 grow2496: %t12296 = mul i32 %t12294, 2 %t12297 = icmp eq i32 %t12294, 0 %t12298 = select i1 %t12297, i32 8, i32 %t12296 %t12299 = getelementptr ptr, ptr null, i32 1 %t12300 = ptrtoint ptr %t12299 to i64 %t12301 = zext i32 %t12298 to i64 %t12302 = mul i64 %t12301, %t12300 %t12303 = load ptr, ptr %t12292 %t12304 = call ptr @realloc(ptr %t12303, i64 %t12302) store ptr %t12304, ptr %t12292 store i32 %t12298, ptr %t12291 br label %put2497 put2497: %t12305 = load ptr, ptr %t12292 %t12306 = getelementptr inbounds ptr, ptr %t12305, i32 %t12293 store ptr @.str8637, ptr %t12306 %t12307 = add i32 %t12293, 1 store i32 %t12307, ptr %t12290 %t12308 = load ptr, ptr %t410 %t12309 = getelementptr inbounds %LSlice, ptr %t12308, i32 0, i32 1 %t12310 = getelementptr inbounds %LSlice, ptr %t12308, i32 0, i32 2 %t12311 = getelementptr inbounds %LSlice, ptr %t12308, i32 0, i32 0 %t12312 = load i32, ptr %t12309 %t12313 = load i32, ptr %t12310 %t12314 = icmp sge i32 %t12312, %t12313 br i1 %t12314, label %grow2498, label %put2499 grow2498: %t12315 = mul i32 %t12313, 2 %t12316 = icmp eq i32 %t12313, 0 %t12317 = select i1 %t12316, i32 8, i32 %t12315 %t12318 = getelementptr ptr, ptr null, i32 1 %t12319 = ptrtoint ptr %t12318 to i64 %t12320 = zext i32 %t12317 to i64 %t12321 = mul i64 %t12320, %t12319 %t12322 = load ptr, ptr %t12311 %t12323 = call ptr @realloc(ptr %t12322, i64 %t12321) store ptr %t12323, ptr %t12311 store i32 %t12317, ptr %t12310 br label %put2499 put2499: %t12324 = load ptr, ptr %t12311 %t12325 = getelementptr inbounds ptr, ptr %t12324, i32 %t12312 store ptr @.str8638, ptr %t12325 %t12326 = add i32 %t12312, 1 store i32 %t12326, ptr %t12309 br label %ifend2495 ifend2495: %t12327 = load ptr, ptr %t1 %t12328 = call i32 @lp_str_eq(ptr %t12327, ptr @.str8639) %t12329 = icmp ne i32 %t12328, 0 br i1 %t12329, label %then2500, label %ifend2502 then2500: store ptr @.str8640, ptr %t403 %t12330 = load ptr, ptr %t410 %t12331 = getelementptr inbounds %LSlice, ptr %t12330, i32 0, i32 1 %t12332 = getelementptr inbounds %LSlice, ptr %t12330, i32 0, i32 2 %t12333 = getelementptr inbounds %LSlice, ptr %t12330, i32 0, i32 0 %t12334 = load i32, ptr %t12331 %t12335 = load i32, ptr %t12332 %t12336 = icmp sge i32 %t12334, %t12335 br i1 %t12336, label %grow2503, label %put2504 grow2503: %t12337 = mul i32 %t12335, 2 %t12338 = icmp eq i32 %t12335, 0 %t12339 = select i1 %t12338, i32 8, i32 %t12337 %t12340 = getelementptr ptr, ptr null, i32 1 %t12341 = ptrtoint ptr %t12340 to i64 %t12342 = zext i32 %t12339 to i64 %t12343 = mul i64 %t12342, %t12341 %t12344 = load ptr, ptr %t12333 %t12345 = call ptr @realloc(ptr %t12344, i64 %t12343) store ptr %t12345, ptr %t12333 store i32 %t12339, ptr %t12332 br label %put2504 put2504: %t12346 = load ptr, ptr %t12333 %t12347 = getelementptr inbounds ptr, ptr %t12346, i32 %t12334 store ptr @.str8641, ptr %t12347 %t12348 = add i32 %t12334, 1 store i32 %t12348, ptr %t12331 %t12349 = load ptr, ptr %t410 %t12350 = getelementptr inbounds %LSlice, ptr %t12349, i32 0, i32 1 %t12351 = getelementptr inbounds %LSlice, ptr %t12349, i32 0, i32 2 %t12352 = getelementptr inbounds %LSlice, ptr %t12349, i32 0, i32 0 %t12353 = load i32, ptr %t12350 %t12354 = load i32, ptr %t12351 %t12355 = icmp sge i32 %t12353, %t12354 br i1 %t12355, label %grow2505, label %put2506 grow2505: %t12356 = mul i32 %t12354, 2 %t12357 = icmp eq i32 %t12354, 0 %t12358 = select i1 %t12357, i32 8, i32 %t12356 %t12359 = getelementptr ptr, ptr null, i32 1 %t12360 = ptrtoint ptr %t12359 to i64 %t12361 = zext i32 %t12358 to i64 %t12362 = mul i64 %t12361, %t12360 %t12363 = load ptr, ptr %t12352 %t12364 = call ptr @realloc(ptr %t12363, i64 %t12362) store ptr %t12364, ptr %t12352 store i32 %t12358, ptr %t12351 br label %put2506 put2506: %t12365 = load ptr, ptr %t12352 %t12366 = getelementptr inbounds ptr, ptr %t12365, i32 %t12353 store ptr @.str8642, ptr %t12366 %t12367 = add i32 %t12353, 1 store i32 %t12367, ptr %t12350 br label %ifend2502 ifend2502: %t12368 = load ptr, ptr %t1 %t12369 = call i32 @lp_str_eq(ptr %t12368, ptr @.str8643) %t12370 = icmp ne i32 %t12369, 0 br i1 %t12370, label %then2507, label %ifend2509 then2507: store ptr @.str8644, ptr %t403 %t12371 = load ptr, ptr %t410 %t12372 = getelementptr inbounds %LSlice, ptr %t12371, i32 0, i32 1 %t12373 = getelementptr inbounds %LSlice, ptr %t12371, i32 0, i32 2 %t12374 = getelementptr inbounds %LSlice, ptr %t12371, i32 0, i32 0 %t12375 = load i32, ptr %t12372 %t12376 = load i32, ptr %t12373 %t12377 = icmp sge i32 %t12375, %t12376 br i1 %t12377, label %grow2510, label %put2511 grow2510: %t12378 = mul i32 %t12376, 2 %t12379 = icmp eq i32 %t12376, 0 %t12380 = select i1 %t12379, i32 8, i32 %t12378 %t12381 = getelementptr ptr, ptr null, i32 1 %t12382 = ptrtoint ptr %t12381 to i64 %t12383 = zext i32 %t12380 to i64 %t12384 = mul i64 %t12383, %t12382 %t12385 = load ptr, ptr %t12374 %t12386 = call ptr @realloc(ptr %t12385, i64 %t12384) store ptr %t12386, ptr %t12374 store i32 %t12380, ptr %t12373 br label %put2511 put2511: %t12387 = load ptr, ptr %t12374 %t12388 = getelementptr inbounds ptr, ptr %t12387, i32 %t12375 store ptr @.str8645, ptr %t12388 %t12389 = add i32 %t12375, 1 store i32 %t12389, ptr %t12372 %t12390 = load ptr, ptr %t410 %t12391 = getelementptr inbounds %LSlice, ptr %t12390, i32 0, i32 1 %t12392 = getelementptr inbounds %LSlice, ptr %t12390, i32 0, i32 2 %t12393 = getelementptr inbounds %LSlice, ptr %t12390, i32 0, i32 0 %t12394 = load i32, ptr %t12391 %t12395 = load i32, ptr %t12392 %t12396 = icmp sge i32 %t12394, %t12395 br i1 %t12396, label %grow2512, label %put2513 grow2512: %t12397 = mul i32 %t12395, 2 %t12398 = icmp eq i32 %t12395, 0 %t12399 = select i1 %t12398, i32 8, i32 %t12397 %t12400 = getelementptr ptr, ptr null, i32 1 %t12401 = ptrtoint ptr %t12400 to i64 %t12402 = zext i32 %t12399 to i64 %t12403 = mul i64 %t12402, %t12401 %t12404 = load ptr, ptr %t12393 %t12405 = call ptr @realloc(ptr %t12404, i64 %t12403) store ptr %t12405, ptr %t12393 store i32 %t12399, ptr %t12392 br label %put2513 put2513: %t12406 = load ptr, ptr %t12393 %t12407 = getelementptr inbounds ptr, ptr %t12406, i32 %t12394 store ptr @.str8646, ptr %t12407 %t12408 = add i32 %t12394, 1 store i32 %t12408, ptr %t12391 %t12409 = load ptr, ptr %t410 %t12410 = getelementptr inbounds %LSlice, ptr %t12409, i32 0, i32 1 %t12411 = getelementptr inbounds %LSlice, ptr %t12409, i32 0, i32 2 %t12412 = getelementptr inbounds %LSlice, ptr %t12409, i32 0, i32 0 %t12413 = load i32, ptr %t12410 %t12414 = load i32, ptr %t12411 %t12415 = icmp sge i32 %t12413, %t12414 br i1 %t12415, label %grow2514, label %put2515 grow2514: %t12416 = mul i32 %t12414, 2 %t12417 = icmp eq i32 %t12414, 0 %t12418 = select i1 %t12417, i32 8, i32 %t12416 %t12419 = getelementptr ptr, ptr null, i32 1 %t12420 = ptrtoint ptr %t12419 to i64 %t12421 = zext i32 %t12418 to i64 %t12422 = mul i64 %t12421, %t12420 %t12423 = load ptr, ptr %t12412 %t12424 = call ptr @realloc(ptr %t12423, i64 %t12422) store ptr %t12424, ptr %t12412 store i32 %t12418, ptr %t12411 br label %put2515 put2515: %t12425 = load ptr, ptr %t12412 %t12426 = getelementptr inbounds ptr, ptr %t12425, i32 %t12413 store ptr @.str8647, ptr %t12426 %t12427 = add i32 %t12413, 1 store i32 %t12427, ptr %t12410 br label %ifend2509 ifend2509: %t12428 = load ptr, ptr %t1 %t12429 = call i32 @lp_str_eq(ptr %t12428, ptr @.str8648) %t12430 = icmp ne i32 %t12429, 0 br i1 %t12430, label %then2516, label %ifend2518 then2516: store ptr @.str8649, ptr %t403 %t12431 = load ptr, ptr %t410 %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 %grow2519, label %put2520 grow2519: %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 %put2520 put2520: %t12447 = load ptr, ptr %t12434 %t12448 = getelementptr inbounds ptr, ptr %t12447, i32 %t12435 store ptr @.str8650, ptr %t12448 %t12449 = add i32 %t12435, 1 store i32 %t12449, ptr %t12432 %t12450 = load ptr, ptr %t410 %t12451 = getelementptr inbounds %LSlice, ptr %t12450, i32 0, i32 1 %t12452 = getelementptr inbounds %LSlice, ptr %t12450, i32 0, i32 2 %t12453 = getelementptr inbounds %LSlice, ptr %t12450, i32 0, i32 0 %t12454 = load i32, ptr %t12451 %t12455 = load i32, ptr %t12452 %t12456 = icmp sge i32 %t12454, %t12455 br i1 %t12456, label %grow2521, label %put2522 grow2521: %t12457 = mul i32 %t12455, 2 %t12458 = icmp eq i32 %t12455, 0 %t12459 = select i1 %t12458, i32 8, i32 %t12457 %t12460 = getelementptr ptr, ptr null, i32 1 %t12461 = ptrtoint ptr %t12460 to i64 %t12462 = zext i32 %t12459 to i64 %t12463 = mul i64 %t12462, %t12461 %t12464 = load ptr, ptr %t12453 %t12465 = call ptr @realloc(ptr %t12464, i64 %t12463) store ptr %t12465, ptr %t12453 store i32 %t12459, ptr %t12452 br label %put2522 put2522: %t12466 = load ptr, ptr %t12453 %t12467 = getelementptr inbounds ptr, ptr %t12466, i32 %t12454 store ptr @.str8651, ptr %t12467 %t12468 = add i32 %t12454, 1 store i32 %t12468, ptr %t12451 %t12469 = load ptr, ptr %t410 %t12470 = getelementptr inbounds %LSlice, ptr %t12469, i32 0, i32 1 %t12471 = getelementptr inbounds %LSlice, ptr %t12469, i32 0, i32 2 %t12472 = getelementptr inbounds %LSlice, ptr %t12469, i32 0, i32 0 %t12473 = load i32, ptr %t12470 %t12474 = load i32, ptr %t12471 %t12475 = icmp sge i32 %t12473, %t12474 br i1 %t12475, label %grow2523, label %put2524 grow2523: %t12476 = mul i32 %t12474, 2 %t12477 = icmp eq i32 %t12474, 0 %t12478 = select i1 %t12477, i32 8, i32 %t12476 %t12479 = getelementptr ptr, ptr null, i32 1 %t12480 = ptrtoint ptr %t12479 to i64 %t12481 = zext i32 %t12478 to i64 %t12482 = mul i64 %t12481, %t12480 %t12483 = load ptr, ptr %t12472 %t12484 = call ptr @realloc(ptr %t12483, i64 %t12482) store ptr %t12484, ptr %t12472 store i32 %t12478, ptr %t12471 br label %put2524 put2524: %t12485 = load ptr, ptr %t12472 %t12486 = getelementptr inbounds ptr, ptr %t12485, i32 %t12473 store ptr @.str8652, ptr %t12486 %t12487 = add i32 %t12473, 1 store i32 %t12487, ptr %t12470 %t12488 = load ptr, ptr %t410 %t12489 = getelementptr inbounds %LSlice, ptr %t12488, i32 0, i32 1 %t12490 = getelementptr inbounds %LSlice, ptr %t12488, i32 0, i32 2 %t12491 = getelementptr inbounds %LSlice, ptr %t12488, i32 0, i32 0 %t12492 = load i32, ptr %t12489 %t12493 = load i32, ptr %t12490 %t12494 = icmp sge i32 %t12492, %t12493 br i1 %t12494, label %grow2525, label %put2526 grow2525: %t12495 = mul i32 %t12493, 2 %t12496 = icmp eq i32 %t12493, 0 %t12497 = select i1 %t12496, i32 8, i32 %t12495 %t12498 = getelementptr ptr, ptr null, i32 1 %t12499 = ptrtoint ptr %t12498 to i64 %t12500 = zext i32 %t12497 to i64 %t12501 = mul i64 %t12500, %t12499 %t12502 = load ptr, ptr %t12491 %t12503 = call ptr @realloc(ptr %t12502, i64 %t12501) store ptr %t12503, ptr %t12491 store i32 %t12497, ptr %t12490 br label %put2526 put2526: %t12504 = load ptr, ptr %t12491 %t12505 = getelementptr inbounds ptr, ptr %t12504, i32 %t12492 store ptr @.str8653, ptr %t12505 %t12506 = add i32 %t12492, 1 store i32 %t12506, ptr %t12489 br label %ifend2518 ifend2518: %t12507 = load ptr, ptr %t1 %t12508 = call i32 @lp_str_eq(ptr %t12507, ptr @.str8654) %t12509 = icmp ne i32 %t12508, 0 br i1 %t12509, label %then2527, label %ifend2529 then2527: store ptr @.str8655, ptr %t403 %t12510 = load ptr, ptr %t410 %t12511 = getelementptr inbounds %LSlice, ptr %t12510, i32 0, i32 1 %t12512 = getelementptr inbounds %LSlice, ptr %t12510, i32 0, i32 2 %t12513 = getelementptr inbounds %LSlice, ptr %t12510, i32 0, i32 0 %t12514 = load i32, ptr %t12511 %t12515 = load i32, ptr %t12512 %t12516 = icmp sge i32 %t12514, %t12515 br i1 %t12516, label %grow2530, label %put2531 grow2530: %t12517 = mul i32 %t12515, 2 %t12518 = icmp eq i32 %t12515, 0 %t12519 = select i1 %t12518, i32 8, i32 %t12517 %t12520 = getelementptr ptr, ptr null, i32 1 %t12521 = ptrtoint ptr %t12520 to i64 %t12522 = zext i32 %t12519 to i64 %t12523 = mul i64 %t12522, %t12521 %t12524 = load ptr, ptr %t12513 %t12525 = call ptr @realloc(ptr %t12524, i64 %t12523) store ptr %t12525, ptr %t12513 store i32 %t12519, ptr %t12512 br label %put2531 put2531: %t12526 = load ptr, ptr %t12513 %t12527 = getelementptr inbounds ptr, ptr %t12526, i32 %t12514 store ptr @.str8656, ptr %t12527 %t12528 = add i32 %t12514, 1 store i32 %t12528, ptr %t12511 %t12529 = load ptr, ptr %t410 %t12530 = getelementptr inbounds %LSlice, ptr %t12529, i32 0, i32 1 %t12531 = getelementptr inbounds %LSlice, ptr %t12529, i32 0, i32 2 %t12532 = getelementptr inbounds %LSlice, ptr %t12529, i32 0, i32 0 %t12533 = load i32, ptr %t12530 %t12534 = load i32, ptr %t12531 %t12535 = icmp sge i32 %t12533, %t12534 br i1 %t12535, label %grow2532, label %put2533 grow2532: %t12536 = mul i32 %t12534, 2 %t12537 = icmp eq i32 %t12534, 0 %t12538 = select i1 %t12537, i32 8, i32 %t12536 %t12539 = getelementptr ptr, ptr null, i32 1 %t12540 = ptrtoint ptr %t12539 to i64 %t12541 = zext i32 %t12538 to i64 %t12542 = mul i64 %t12541, %t12540 %t12543 = load ptr, ptr %t12532 %t12544 = call ptr @realloc(ptr %t12543, i64 %t12542) store ptr %t12544, ptr %t12532 store i32 %t12538, ptr %t12531 br label %put2533 put2533: %t12545 = load ptr, ptr %t12532 %t12546 = getelementptr inbounds ptr, ptr %t12545, i32 %t12533 store ptr @.str8657, ptr %t12546 %t12547 = add i32 %t12533, 1 store i32 %t12547, ptr %t12530 br label %ifend2529 ifend2529: %t12548 = load ptr, ptr %t1 %t12549 = call i32 @lp_str_eq(ptr %t12548, ptr @.str8658) %t12550 = icmp ne i32 %t12549, 0 br i1 %t12550, label %then2534, label %ifend2536 then2534: store ptr @.str8659, ptr %t403 %t12551 = load ptr, ptr %t410 %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 %grow2537, label %put2538 grow2537: %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 %put2538 put2538: %t12567 = load ptr, ptr %t12554 %t12568 = getelementptr inbounds ptr, ptr %t12567, i32 %t12555 store ptr @.str8660, ptr %t12568 %t12569 = add i32 %t12555, 1 store i32 %t12569, ptr %t12552 br label %ifend2536 ifend2536: %t12570 = load ptr, ptr %t1 %t12571 = call i32 @lp_str_eq(ptr %t12570, ptr @.str8661) %t12572 = icmp ne i32 %t12571, 0 br i1 %t12572, label %then2539, label %ifend2541 then2539: store ptr @.str8662, ptr %t403 %t12573 = load ptr, ptr %t410 %t12574 = getelementptr inbounds %LSlice, ptr %t12573, i32 0, i32 1 %t12575 = getelementptr inbounds %LSlice, ptr %t12573, i32 0, i32 2 %t12576 = getelementptr inbounds %LSlice, ptr %t12573, i32 0, i32 0 %t12577 = load i32, ptr %t12574 %t12578 = load i32, ptr %t12575 %t12579 = icmp sge i32 %t12577, %t12578 br i1 %t12579, label %grow2542, label %put2543 grow2542: %t12580 = mul i32 %t12578, 2 %t12581 = icmp eq i32 %t12578, 0 %t12582 = select i1 %t12581, i32 8, i32 %t12580 %t12583 = getelementptr ptr, ptr null, i32 1 %t12584 = ptrtoint ptr %t12583 to i64 %t12585 = zext i32 %t12582 to i64 %t12586 = mul i64 %t12585, %t12584 %t12587 = load ptr, ptr %t12576 %t12588 = call ptr @realloc(ptr %t12587, i64 %t12586) store ptr %t12588, ptr %t12576 store i32 %t12582, ptr %t12575 br label %put2543 put2543: %t12589 = load ptr, ptr %t12576 %t12590 = getelementptr inbounds ptr, ptr %t12589, i32 %t12577 store ptr @.str8663, ptr %t12590 %t12591 = add i32 %t12577, 1 store i32 %t12591, ptr %t12574 br label %ifend2541 ifend2541: %t12592 = load ptr, ptr %t1 %t12593 = call i32 @lp_str_eq(ptr %t12592, ptr @.str8664) %t12594 = icmp ne i32 %t12593, 0 br i1 %t12594, label %then2544, label %ifend2546 then2544: store ptr @.str8665, ptr %t403 %t12595 = load ptr, ptr %t410 %t12596 = getelementptr inbounds %LSlice, ptr %t12595, i32 0, i32 1 %t12597 = getelementptr inbounds %LSlice, ptr %t12595, i32 0, i32 2 %t12598 = getelementptr inbounds %LSlice, ptr %t12595, i32 0, i32 0 %t12599 = load i32, ptr %t12596 %t12600 = load i32, ptr %t12597 %t12601 = icmp sge i32 %t12599, %t12600 br i1 %t12601, label %grow2547, label %put2548 grow2547: %t12602 = mul i32 %t12600, 2 %t12603 = icmp eq i32 %t12600, 0 %t12604 = select i1 %t12603, i32 8, i32 %t12602 %t12605 = getelementptr ptr, ptr null, i32 1 %t12606 = ptrtoint ptr %t12605 to i64 %t12607 = zext i32 %t12604 to i64 %t12608 = mul i64 %t12607, %t12606 %t12609 = load ptr, ptr %t12598 %t12610 = call ptr @realloc(ptr %t12609, i64 %t12608) store ptr %t12610, ptr %t12598 store i32 %t12604, ptr %t12597 br label %put2548 put2548: %t12611 = load ptr, ptr %t12598 %t12612 = getelementptr inbounds ptr, ptr %t12611, i32 %t12599 store ptr @.str8666, ptr %t12612 %t12613 = add i32 %t12599, 1 store i32 %t12613, ptr %t12596 br label %ifend2546 ifend2546: %t12614 = load ptr, ptr %t1 %t12615 = call i32 @lp_str_eq(ptr %t12614, ptr @.str8667) %t12616 = icmp ne i32 %t12615, 0 br i1 %t12616, label %then2549, label %ifend2551 then2549: store ptr @.str8668, ptr %t403 %t12617 = load ptr, ptr %t410 %t12618 = getelementptr inbounds %LSlice, ptr %t12617, i32 0, i32 1 %t12619 = getelementptr inbounds %LSlice, ptr %t12617, i32 0, i32 2 %t12620 = getelementptr inbounds %LSlice, ptr %t12617, i32 0, i32 0 %t12621 = load i32, ptr %t12618 %t12622 = load i32, ptr %t12619 %t12623 = icmp sge i32 %t12621, %t12622 br i1 %t12623, label %grow2552, label %put2553 grow2552: %t12624 = mul i32 %t12622, 2 %t12625 = icmp eq i32 %t12622, 0 %t12626 = select i1 %t12625, i32 8, i32 %t12624 %t12627 = getelementptr ptr, ptr null, i32 1 %t12628 = ptrtoint ptr %t12627 to i64 %t12629 = zext i32 %t12626 to i64 %t12630 = mul i64 %t12629, %t12628 %t12631 = load ptr, ptr %t12620 %t12632 = call ptr @realloc(ptr %t12631, i64 %t12630) store ptr %t12632, ptr %t12620 store i32 %t12626, ptr %t12619 br label %put2553 put2553: %t12633 = load ptr, ptr %t12620 %t12634 = getelementptr inbounds ptr, ptr %t12633, i32 %t12621 store ptr @.str8669, ptr %t12634 %t12635 = add i32 %t12621, 1 store i32 %t12635, ptr %t12618 %t12636 = load ptr, ptr %t410 %t12637 = getelementptr inbounds %LSlice, ptr %t12636, i32 0, i32 1 %t12638 = getelementptr inbounds %LSlice, ptr %t12636, i32 0, i32 2 %t12639 = getelementptr inbounds %LSlice, ptr %t12636, i32 0, i32 0 %t12640 = load i32, ptr %t12637 %t12641 = load i32, ptr %t12638 %t12642 = icmp sge i32 %t12640, %t12641 br i1 %t12642, label %grow2554, label %put2555 grow2554: %t12643 = mul i32 %t12641, 2 %t12644 = icmp eq i32 %t12641, 0 %t12645 = select i1 %t12644, i32 8, i32 %t12643 %t12646 = getelementptr ptr, ptr null, i32 1 %t12647 = ptrtoint ptr %t12646 to i64 %t12648 = zext i32 %t12645 to i64 %t12649 = mul i64 %t12648, %t12647 %t12650 = load ptr, ptr %t12639 %t12651 = call ptr @realloc(ptr %t12650, i64 %t12649) store ptr %t12651, ptr %t12639 store i32 %t12645, ptr %t12638 br label %put2555 put2555: %t12652 = load ptr, ptr %t12639 %t12653 = getelementptr inbounds ptr, ptr %t12652, i32 %t12640 store ptr @.str8670, ptr %t12653 %t12654 = add i32 %t12640, 1 store i32 %t12654, ptr %t12637 br label %ifend2551 ifend2551: br label %ifend2467 ifend2467: %t12655 = load ptr, ptr %t0 %t12656 = call i32 @lp_str_eq(ptr %t12655, ptr @.str8671) %t12657 = icmp ne i32 %t12656, 0 br i1 %t12657, label %then2556, label %ifend2558 then2556: %t12658 = load ptr, ptr %t1 %t12659 = call i32 @lp_str_eq(ptr %t12658, ptr @.str8672) %t12660 = icmp ne i32 %t12659, 0 br i1 %t12660, label %then2559, label %ifend2561 then2559: store ptr @.str8673, ptr %t403 br label %ifend2561 ifend2561: %t12661 = load ptr, ptr %t1 %t12662 = call i32 @lp_str_eq(ptr %t12661, ptr @.str8674) %t12663 = icmp ne i32 %t12662, 0 br i1 %t12663, label %then2562, label %ifend2564 then2562: store ptr @.str8675, ptr %t403 %t12664 = load ptr, ptr %t410 %t12665 = getelementptr inbounds %LSlice, ptr %t12664, i32 0, i32 1 %t12666 = getelementptr inbounds %LSlice, ptr %t12664, i32 0, i32 2 %t12667 = getelementptr inbounds %LSlice, ptr %t12664, i32 0, i32 0 %t12668 = load i32, ptr %t12665 %t12669 = load i32, ptr %t12666 %t12670 = icmp sge i32 %t12668, %t12669 br i1 %t12670, label %grow2565, label %put2566 grow2565: %t12671 = mul i32 %t12669, 2 %t12672 = icmp eq i32 %t12669, 0 %t12673 = select i1 %t12672, i32 8, i32 %t12671 %t12674 = getelementptr ptr, ptr null, i32 1 %t12675 = ptrtoint ptr %t12674 to i64 %t12676 = zext i32 %t12673 to i64 %t12677 = mul i64 %t12676, %t12675 %t12678 = load ptr, ptr %t12667 %t12679 = call ptr @realloc(ptr %t12678, i64 %t12677) store ptr %t12679, ptr %t12667 store i32 %t12673, ptr %t12666 br label %put2566 put2566: %t12680 = load ptr, ptr %t12667 %t12681 = getelementptr inbounds ptr, ptr %t12680, i32 %t12668 store ptr @.str8676, ptr %t12681 %t12682 = add i32 %t12668, 1 store i32 %t12682, ptr %t12665 br label %ifend2564 ifend2564: %t12683 = load ptr, ptr %t1 %t12684 = call i32 @lp_str_eq(ptr %t12683, ptr @.str8677) %t12685 = icmp ne i32 %t12684, 0 br i1 %t12685, label %then2567, label %ifend2569 then2567: store ptr @.str8678, ptr %t403 %t12686 = load ptr, ptr %t410 %t12687 = getelementptr inbounds %LSlice, ptr %t12686, i32 0, i32 1 %t12688 = getelementptr inbounds %LSlice, ptr %t12686, i32 0, i32 2 %t12689 = getelementptr inbounds %LSlice, ptr %t12686, i32 0, i32 0 %t12690 = load i32, ptr %t12687 %t12691 = load i32, ptr %t12688 %t12692 = icmp sge i32 %t12690, %t12691 br i1 %t12692, label %grow2570, label %put2571 grow2570: %t12693 = mul i32 %t12691, 2 %t12694 = icmp eq i32 %t12691, 0 %t12695 = select i1 %t12694, i32 8, i32 %t12693 %t12696 = getelementptr ptr, ptr null, i32 1 %t12697 = ptrtoint ptr %t12696 to i64 %t12698 = zext i32 %t12695 to i64 %t12699 = mul i64 %t12698, %t12697 %t12700 = load ptr, ptr %t12689 %t12701 = call ptr @realloc(ptr %t12700, i64 %t12699) store ptr %t12701, ptr %t12689 store i32 %t12695, ptr %t12688 br label %put2571 put2571: %t12702 = load ptr, ptr %t12689 %t12703 = getelementptr inbounds ptr, ptr %t12702, i32 %t12690 store ptr @.str8679, ptr %t12703 %t12704 = add i32 %t12690, 1 store i32 %t12704, ptr %t12687 br label %ifend2569 ifend2569: %t12705 = load ptr, ptr %t1 %t12706 = call i32 @lp_str_eq(ptr %t12705, ptr @.str8680) %t12707 = icmp ne i32 %t12706, 0 br i1 %t12707, label %then2572, label %ifend2574 then2572: store ptr @.str8681, ptr %t403 %t12708 = load ptr, ptr %t410 %t12709 = getelementptr inbounds %LSlice, ptr %t12708, i32 0, i32 1 %t12710 = getelementptr inbounds %LSlice, ptr %t12708, i32 0, i32 2 %t12711 = getelementptr inbounds %LSlice, ptr %t12708, i32 0, i32 0 %t12712 = load i32, ptr %t12709 %t12713 = load i32, ptr %t12710 %t12714 = icmp sge i32 %t12712, %t12713 br i1 %t12714, label %grow2575, label %put2576 grow2575: %t12715 = mul i32 %t12713, 2 %t12716 = icmp eq i32 %t12713, 0 %t12717 = select i1 %t12716, i32 8, i32 %t12715 %t12718 = getelementptr ptr, ptr null, i32 1 %t12719 = ptrtoint ptr %t12718 to i64 %t12720 = zext i32 %t12717 to i64 %t12721 = mul i64 %t12720, %t12719 %t12722 = load ptr, ptr %t12711 %t12723 = call ptr @realloc(ptr %t12722, i64 %t12721) store ptr %t12723, ptr %t12711 store i32 %t12717, ptr %t12710 br label %put2576 put2576: %t12724 = load ptr, ptr %t12711 %t12725 = getelementptr inbounds ptr, ptr %t12724, i32 %t12712 store ptr @.str8682, ptr %t12725 %t12726 = add i32 %t12712, 1 store i32 %t12726, ptr %t12709 br label %ifend2574 ifend2574: %t12727 = load ptr, ptr %t1 %t12728 = call i32 @lp_str_eq(ptr %t12727, ptr @.str8683) %t12729 = icmp ne i32 %t12728, 0 br i1 %t12729, label %then2577, label %ifend2579 then2577: store ptr @.str8684, ptr %t403 %t12730 = load ptr, ptr %t410 %t12731 = getelementptr inbounds %LSlice, ptr %t12730, i32 0, i32 1 %t12732 = getelementptr inbounds %LSlice, ptr %t12730, i32 0, i32 2 %t12733 = getelementptr inbounds %LSlice, ptr %t12730, i32 0, i32 0 %t12734 = load i32, ptr %t12731 %t12735 = load i32, ptr %t12732 %t12736 = icmp sge i32 %t12734, %t12735 br i1 %t12736, label %grow2580, label %put2581 grow2580: %t12737 = mul i32 %t12735, 2 %t12738 = icmp eq i32 %t12735, 0 %t12739 = select i1 %t12738, i32 8, i32 %t12737 %t12740 = getelementptr ptr, ptr null, i32 1 %t12741 = ptrtoint ptr %t12740 to i64 %t12742 = zext i32 %t12739 to i64 %t12743 = mul i64 %t12742, %t12741 %t12744 = load ptr, ptr %t12733 %t12745 = call ptr @realloc(ptr %t12744, i64 %t12743) store ptr %t12745, ptr %t12733 store i32 %t12739, ptr %t12732 br label %put2581 put2581: %t12746 = load ptr, ptr %t12733 %t12747 = getelementptr inbounds ptr, ptr %t12746, i32 %t12734 store ptr @.str8685, ptr %t12747 %t12748 = add i32 %t12734, 1 store i32 %t12748, ptr %t12731 br label %ifend2579 ifend2579: %t12749 = load ptr, ptr %t1 %t12750 = call i32 @lp_str_eq(ptr %t12749, ptr @.str8686) %t12751 = icmp ne i32 %t12750, 0 br i1 %t12751, label %then2582, label %ifend2584 then2582: store ptr @.str8687, ptr %t403 br label %ifend2584 ifend2584: %t12752 = load ptr, ptr %t1 %t12753 = call i32 @lp_str_eq(ptr %t12752, ptr @.str8688) %t12754 = icmp ne i32 %t12753, 0 br i1 %t12754, label %then2585, label %ifend2587 then2585: store ptr @.str8689, ptr %t403 br label %ifend2587 ifend2587: %t12755 = load ptr, ptr %t1 %t12756 = call i32 @lp_str_eq(ptr %t12755, ptr @.str8690) %t12757 = icmp ne i32 %t12756, 0 br i1 %t12757, label %then2588, label %ifend2590 then2588: store ptr @.str8691, ptr %t403 %t12758 = load ptr, ptr %t410 %t12759 = getelementptr inbounds %LSlice, ptr %t12758, i32 0, i32 1 %t12760 = getelementptr inbounds %LSlice, ptr %t12758, i32 0, i32 2 %t12761 = getelementptr inbounds %LSlice, ptr %t12758, i32 0, i32 0 %t12762 = load i32, ptr %t12759 %t12763 = load i32, ptr %t12760 %t12764 = icmp sge i32 %t12762, %t12763 br i1 %t12764, label %grow2591, label %put2592 grow2591: %t12765 = mul i32 %t12763, 2 %t12766 = icmp eq i32 %t12763, 0 %t12767 = select i1 %t12766, i32 8, i32 %t12765 %t12768 = getelementptr ptr, ptr null, i32 1 %t12769 = ptrtoint ptr %t12768 to i64 %t12770 = zext i32 %t12767 to i64 %t12771 = mul i64 %t12770, %t12769 %t12772 = load ptr, ptr %t12761 %t12773 = call ptr @realloc(ptr %t12772, i64 %t12771) store ptr %t12773, ptr %t12761 store i32 %t12767, ptr %t12760 br label %put2592 put2592: %t12774 = load ptr, ptr %t12761 %t12775 = getelementptr inbounds ptr, ptr %t12774, i32 %t12762 store ptr @.str8692, ptr %t12775 %t12776 = add i32 %t12762, 1 store i32 %t12776, ptr %t12759 %t12777 = load ptr, ptr %t410 %t12778 = getelementptr inbounds %LSlice, ptr %t12777, i32 0, i32 1 %t12779 = getelementptr inbounds %LSlice, ptr %t12777, i32 0, i32 2 %t12780 = getelementptr inbounds %LSlice, ptr %t12777, i32 0, i32 0 %t12781 = load i32, ptr %t12778 %t12782 = load i32, ptr %t12779 %t12783 = icmp sge i32 %t12781, %t12782 br i1 %t12783, label %grow2593, label %put2594 grow2593: %t12784 = mul i32 %t12782, 2 %t12785 = icmp eq i32 %t12782, 0 %t12786 = select i1 %t12785, i32 8, i32 %t12784 %t12787 = getelementptr ptr, ptr null, i32 1 %t12788 = ptrtoint ptr %t12787 to i64 %t12789 = zext i32 %t12786 to i64 %t12790 = mul i64 %t12789, %t12788 %t12791 = load ptr, ptr %t12780 %t12792 = call ptr @realloc(ptr %t12791, i64 %t12790) store ptr %t12792, ptr %t12780 store i32 %t12786, ptr %t12779 br label %put2594 put2594: %t12793 = load ptr, ptr %t12780 %t12794 = getelementptr inbounds ptr, ptr %t12793, i32 %t12781 store ptr @.str8693, ptr %t12794 %t12795 = add i32 %t12781, 1 store i32 %t12795, ptr %t12778 br label %ifend2590 ifend2590: %t12796 = load ptr, ptr %t1 %t12797 = call i32 @lp_str_eq(ptr %t12796, ptr @.str8694) %t12798 = icmp ne i32 %t12797, 0 br i1 %t12798, label %then2595, label %ifend2597 then2595: store ptr @.str8695, ptr %t403 %t12799 = load ptr, ptr %t410 %t12800 = getelementptr inbounds %LSlice, ptr %t12799, i32 0, i32 1 %t12801 = getelementptr inbounds %LSlice, ptr %t12799, i32 0, i32 2 %t12802 = getelementptr inbounds %LSlice, ptr %t12799, i32 0, i32 0 %t12803 = load i32, ptr %t12800 %t12804 = load i32, ptr %t12801 %t12805 = icmp sge i32 %t12803, %t12804 br i1 %t12805, label %grow2598, label %put2599 grow2598: %t12806 = mul i32 %t12804, 2 %t12807 = icmp eq i32 %t12804, 0 %t12808 = select i1 %t12807, i32 8, i32 %t12806 %t12809 = getelementptr ptr, ptr null, i32 1 %t12810 = ptrtoint ptr %t12809 to i64 %t12811 = zext i32 %t12808 to i64 %t12812 = mul i64 %t12811, %t12810 %t12813 = load ptr, ptr %t12802 %t12814 = call ptr @realloc(ptr %t12813, i64 %t12812) store ptr %t12814, ptr %t12802 store i32 %t12808, ptr %t12801 br label %put2599 put2599: %t12815 = load ptr, ptr %t12802 %t12816 = getelementptr inbounds ptr, ptr %t12815, i32 %t12803 store ptr @.str8696, ptr %t12816 %t12817 = add i32 %t12803, 1 store i32 %t12817, ptr %t12800 %t12818 = load ptr, ptr %t410 %t12819 = getelementptr inbounds %LSlice, ptr %t12818, i32 0, i32 1 %t12820 = getelementptr inbounds %LSlice, ptr %t12818, i32 0, i32 2 %t12821 = getelementptr inbounds %LSlice, ptr %t12818, i32 0, i32 0 %t12822 = load i32, ptr %t12819 %t12823 = load i32, ptr %t12820 %t12824 = icmp sge i32 %t12822, %t12823 br i1 %t12824, label %grow2600, label %put2601 grow2600: %t12825 = mul i32 %t12823, 2 %t12826 = icmp eq i32 %t12823, 0 %t12827 = select i1 %t12826, i32 8, i32 %t12825 %t12828 = getelementptr ptr, ptr null, i32 1 %t12829 = ptrtoint ptr %t12828 to i64 %t12830 = zext i32 %t12827 to i64 %t12831 = mul i64 %t12830, %t12829 %t12832 = load ptr, ptr %t12821 %t12833 = call ptr @realloc(ptr %t12832, i64 %t12831) store ptr %t12833, ptr %t12821 store i32 %t12827, ptr %t12820 br label %put2601 put2601: %t12834 = load ptr, ptr %t12821 %t12835 = getelementptr inbounds ptr, ptr %t12834, i32 %t12822 store ptr @.str8697, ptr %t12835 %t12836 = add i32 %t12822, 1 store i32 %t12836, ptr %t12819 %t12837 = load ptr, ptr %t410 %t12838 = getelementptr inbounds %LSlice, ptr %t12837, i32 0, i32 1 %t12839 = getelementptr inbounds %LSlice, ptr %t12837, i32 0, i32 2 %t12840 = getelementptr inbounds %LSlice, ptr %t12837, i32 0, i32 0 %t12841 = load i32, ptr %t12838 %t12842 = load i32, ptr %t12839 %t12843 = icmp sge i32 %t12841, %t12842 br i1 %t12843, label %grow2602, label %put2603 grow2602: %t12844 = mul i32 %t12842, 2 %t12845 = icmp eq i32 %t12842, 0 %t12846 = select i1 %t12845, i32 8, i32 %t12844 %t12847 = getelementptr ptr, ptr null, i32 1 %t12848 = ptrtoint ptr %t12847 to i64 %t12849 = zext i32 %t12846 to i64 %t12850 = mul i64 %t12849, %t12848 %t12851 = load ptr, ptr %t12840 %t12852 = call ptr @realloc(ptr %t12851, i64 %t12850) store ptr %t12852, ptr %t12840 store i32 %t12846, ptr %t12839 br label %put2603 put2603: %t12853 = load ptr, ptr %t12840 %t12854 = getelementptr inbounds ptr, ptr %t12853, i32 %t12841 store ptr @.str8698, ptr %t12854 %t12855 = add i32 %t12841, 1 store i32 %t12855, ptr %t12838 br label %ifend2597 ifend2597: %t12856 = load ptr, ptr %t1 %t12857 = call i32 @lp_str_eq(ptr %t12856, ptr @.str8699) %t12858 = icmp ne i32 %t12857, 0 br i1 %t12858, label %then2604, label %ifend2606 then2604: store ptr @.str8700, ptr %t403 %t12859 = load ptr, ptr %t410 %t12860 = getelementptr inbounds %LSlice, ptr %t12859, i32 0, i32 1 %t12861 = getelementptr inbounds %LSlice, ptr %t12859, i32 0, i32 2 %t12862 = getelementptr inbounds %LSlice, ptr %t12859, i32 0, i32 0 %t12863 = load i32, ptr %t12860 %t12864 = load i32, ptr %t12861 %t12865 = icmp sge i32 %t12863, %t12864 br i1 %t12865, label %grow2607, label %put2608 grow2607: %t12866 = mul i32 %t12864, 2 %t12867 = icmp eq i32 %t12864, 0 %t12868 = select i1 %t12867, i32 8, i32 %t12866 %t12869 = getelementptr ptr, ptr null, i32 1 %t12870 = ptrtoint ptr %t12869 to i64 %t12871 = zext i32 %t12868 to i64 %t12872 = mul i64 %t12871, %t12870 %t12873 = load ptr, ptr %t12862 %t12874 = call ptr @realloc(ptr %t12873, i64 %t12872) store ptr %t12874, ptr %t12862 store i32 %t12868, ptr %t12861 br label %put2608 put2608: %t12875 = load ptr, ptr %t12862 %t12876 = getelementptr inbounds ptr, ptr %t12875, i32 %t12863 store ptr @.str8701, ptr %t12876 %t12877 = add i32 %t12863, 1 store i32 %t12877, ptr %t12860 %t12878 = load ptr, ptr %t410 %t12879 = getelementptr inbounds %LSlice, ptr %t12878, i32 0, i32 1 %t12880 = getelementptr inbounds %LSlice, ptr %t12878, i32 0, i32 2 %t12881 = getelementptr inbounds %LSlice, ptr %t12878, i32 0, i32 0 %t12882 = load i32, ptr %t12879 %t12883 = load i32, ptr %t12880 %t12884 = icmp sge i32 %t12882, %t12883 br i1 %t12884, label %grow2609, label %put2610 grow2609: %t12885 = mul i32 %t12883, 2 %t12886 = icmp eq i32 %t12883, 0 %t12887 = select i1 %t12886, i32 8, i32 %t12885 %t12888 = getelementptr ptr, ptr null, i32 1 %t12889 = ptrtoint ptr %t12888 to i64 %t12890 = zext i32 %t12887 to i64 %t12891 = mul i64 %t12890, %t12889 %t12892 = load ptr, ptr %t12881 %t12893 = call ptr @realloc(ptr %t12892, i64 %t12891) store ptr %t12893, ptr %t12881 store i32 %t12887, ptr %t12880 br label %put2610 put2610: %t12894 = load ptr, ptr %t12881 %t12895 = getelementptr inbounds ptr, ptr %t12894, i32 %t12882 store ptr @.str8702, ptr %t12895 %t12896 = add i32 %t12882, 1 store i32 %t12896, ptr %t12879 br label %ifend2606 ifend2606: %t12897 = load ptr, ptr %t1 %t12898 = call i32 @lp_str_eq(ptr %t12897, ptr @.str8703) %t12899 = icmp ne i32 %t12898, 0 br i1 %t12899, label %then2611, label %ifend2613 then2611: store ptr @.str8704, ptr %t403 %t12900 = load ptr, ptr %t410 %t12901 = getelementptr inbounds %LSlice, ptr %t12900, i32 0, i32 1 %t12902 = getelementptr inbounds %LSlice, ptr %t12900, i32 0, i32 2 %t12903 = getelementptr inbounds %LSlice, ptr %t12900, i32 0, i32 0 %t12904 = load i32, ptr %t12901 %t12905 = load i32, ptr %t12902 %t12906 = icmp sge i32 %t12904, %t12905 br i1 %t12906, label %grow2614, label %put2615 grow2614: %t12907 = mul i32 %t12905, 2 %t12908 = icmp eq i32 %t12905, 0 %t12909 = select i1 %t12908, i32 8, i32 %t12907 %t12910 = getelementptr ptr, ptr null, i32 1 %t12911 = ptrtoint ptr %t12910 to i64 %t12912 = zext i32 %t12909 to i64 %t12913 = mul i64 %t12912, %t12911 %t12914 = load ptr, ptr %t12903 %t12915 = call ptr @realloc(ptr %t12914, i64 %t12913) store ptr %t12915, ptr %t12903 store i32 %t12909, ptr %t12902 br label %put2615 put2615: %t12916 = load ptr, ptr %t12903 %t12917 = getelementptr inbounds ptr, ptr %t12916, i32 %t12904 store ptr @.str8705, ptr %t12917 %t12918 = add i32 %t12904, 1 store i32 %t12918, ptr %t12901 %t12919 = load ptr, ptr %t410 %t12920 = getelementptr inbounds %LSlice, ptr %t12919, i32 0, i32 1 %t12921 = getelementptr inbounds %LSlice, ptr %t12919, i32 0, i32 2 %t12922 = getelementptr inbounds %LSlice, ptr %t12919, i32 0, i32 0 %t12923 = load i32, ptr %t12920 %t12924 = load i32, ptr %t12921 %t12925 = icmp sge i32 %t12923, %t12924 br i1 %t12925, label %grow2616, label %put2617 grow2616: %t12926 = mul i32 %t12924, 2 %t12927 = icmp eq i32 %t12924, 0 %t12928 = select i1 %t12927, i32 8, i32 %t12926 %t12929 = getelementptr ptr, ptr null, i32 1 %t12930 = ptrtoint ptr %t12929 to i64 %t12931 = zext i32 %t12928 to i64 %t12932 = mul i64 %t12931, %t12930 %t12933 = load ptr, ptr %t12922 %t12934 = call ptr @realloc(ptr %t12933, i64 %t12932) store ptr %t12934, ptr %t12922 store i32 %t12928, ptr %t12921 br label %put2617 put2617: %t12935 = load ptr, ptr %t12922 %t12936 = getelementptr inbounds ptr, ptr %t12935, i32 %t12923 store ptr @.str8706, ptr %t12936 %t12937 = add i32 %t12923, 1 store i32 %t12937, ptr %t12920 br label %ifend2613 ifend2613: %t12938 = load ptr, ptr %t1 %t12939 = call i32 @lp_str_eq(ptr %t12938, ptr @.str8707) %t12940 = icmp ne i32 %t12939, 0 br i1 %t12940, label %then2618, label %ifend2620 then2618: store ptr @.str8708, ptr %t403 %t12941 = load ptr, ptr %t410 %t12942 = getelementptr inbounds %LSlice, ptr %t12941, i32 0, i32 1 %t12943 = getelementptr inbounds %LSlice, ptr %t12941, i32 0, i32 2 %t12944 = getelementptr inbounds %LSlice, ptr %t12941, i32 0, i32 0 %t12945 = load i32, ptr %t12942 %t12946 = load i32, ptr %t12943 %t12947 = icmp sge i32 %t12945, %t12946 br i1 %t12947, label %grow2621, label %put2622 grow2621: %t12948 = mul i32 %t12946, 2 %t12949 = icmp eq i32 %t12946, 0 %t12950 = select i1 %t12949, i32 8, i32 %t12948 %t12951 = getelementptr ptr, ptr null, i32 1 %t12952 = ptrtoint ptr %t12951 to i64 %t12953 = zext i32 %t12950 to i64 %t12954 = mul i64 %t12953, %t12952 %t12955 = load ptr, ptr %t12944 %t12956 = call ptr @realloc(ptr %t12955, i64 %t12954) store ptr %t12956, ptr %t12944 store i32 %t12950, ptr %t12943 br label %put2622 put2622: %t12957 = load ptr, ptr %t12944 %t12958 = getelementptr inbounds ptr, ptr %t12957, i32 %t12945 store ptr @.str8709, ptr %t12958 %t12959 = add i32 %t12945, 1 store i32 %t12959, ptr %t12942 %t12960 = load ptr, ptr %t410 %t12961 = getelementptr inbounds %LSlice, ptr %t12960, i32 0, i32 1 %t12962 = getelementptr inbounds %LSlice, ptr %t12960, i32 0, i32 2 %t12963 = getelementptr inbounds %LSlice, ptr %t12960, i32 0, i32 0 %t12964 = load i32, ptr %t12961 %t12965 = load i32, ptr %t12962 %t12966 = icmp sge i32 %t12964, %t12965 br i1 %t12966, label %grow2623, label %put2624 grow2623: %t12967 = mul i32 %t12965, 2 %t12968 = icmp eq i32 %t12965, 0 %t12969 = select i1 %t12968, i32 8, i32 %t12967 %t12970 = getelementptr ptr, ptr null, i32 1 %t12971 = ptrtoint ptr %t12970 to i64 %t12972 = zext i32 %t12969 to i64 %t12973 = mul i64 %t12972, %t12971 %t12974 = load ptr, ptr %t12963 %t12975 = call ptr @realloc(ptr %t12974, i64 %t12973) store ptr %t12975, ptr %t12963 store i32 %t12969, ptr %t12962 br label %put2624 put2624: %t12976 = load ptr, ptr %t12963 %t12977 = getelementptr inbounds ptr, ptr %t12976, i32 %t12964 store ptr @.str8710, ptr %t12977 %t12978 = add i32 %t12964, 1 store i32 %t12978, ptr %t12961 br label %ifend2620 ifend2620: %t12979 = load ptr, ptr %t1 %t12980 = call i32 @lp_str_eq(ptr %t12979, ptr @.str8711) %t12981 = icmp ne i32 %t12980, 0 br i1 %t12981, label %then2625, label %ifend2627 then2625: store ptr @.str8712, ptr %t403 %t12982 = load ptr, ptr %t410 %t12983 = getelementptr inbounds %LSlice, ptr %t12982, i32 0, i32 1 %t12984 = getelementptr inbounds %LSlice, ptr %t12982, i32 0, i32 2 %t12985 = getelementptr inbounds %LSlice, ptr %t12982, i32 0, i32 0 %t12986 = load i32, ptr %t12983 %t12987 = load i32, ptr %t12984 %t12988 = icmp sge i32 %t12986, %t12987 br i1 %t12988, label %grow2628, label %put2629 grow2628: %t12989 = mul i32 %t12987, 2 %t12990 = icmp eq i32 %t12987, 0 %t12991 = select i1 %t12990, i32 8, i32 %t12989 %t12992 = getelementptr ptr, ptr null, i32 1 %t12993 = ptrtoint ptr %t12992 to i64 %t12994 = zext i32 %t12991 to i64 %t12995 = mul i64 %t12994, %t12993 %t12996 = load ptr, ptr %t12985 %t12997 = call ptr @realloc(ptr %t12996, i64 %t12995) store ptr %t12997, ptr %t12985 store i32 %t12991, ptr %t12984 br label %put2629 put2629: %t12998 = load ptr, ptr %t12985 %t12999 = getelementptr inbounds ptr, ptr %t12998, i32 %t12986 store ptr @.str8713, ptr %t12999 %t13000 = add i32 %t12986, 1 store i32 %t13000, ptr %t12983 %t13001 = load ptr, ptr %t410 %t13002 = getelementptr inbounds %LSlice, ptr %t13001, i32 0, i32 1 %t13003 = getelementptr inbounds %LSlice, ptr %t13001, i32 0, i32 2 %t13004 = getelementptr inbounds %LSlice, ptr %t13001, i32 0, i32 0 %t13005 = load i32, ptr %t13002 %t13006 = load i32, ptr %t13003 %t13007 = icmp sge i32 %t13005, %t13006 br i1 %t13007, label %grow2630, label %put2631 grow2630: %t13008 = mul i32 %t13006, 2 %t13009 = icmp eq i32 %t13006, 0 %t13010 = select i1 %t13009, i32 8, i32 %t13008 %t13011 = getelementptr ptr, ptr null, i32 1 %t13012 = ptrtoint ptr %t13011 to i64 %t13013 = zext i32 %t13010 to i64 %t13014 = mul i64 %t13013, %t13012 %t13015 = load ptr, ptr %t13004 %t13016 = call ptr @realloc(ptr %t13015, i64 %t13014) store ptr %t13016, ptr %t13004 store i32 %t13010, ptr %t13003 br label %put2631 put2631: %t13017 = load ptr, ptr %t13004 %t13018 = getelementptr inbounds ptr, ptr %t13017, i32 %t13005 store ptr @.str8714, ptr %t13018 %t13019 = add i32 %t13005, 1 store i32 %t13019, ptr %t13002 br label %ifend2627 ifend2627: %t13020 = load ptr, ptr %t1 %t13021 = call i32 @lp_str_eq(ptr %t13020, ptr @.str8715) %t13022 = icmp ne i32 %t13021, 0 br i1 %t13022, label %then2632, label %ifend2634 then2632: store ptr @.str8716, ptr %t403 %t13023 = load ptr, ptr %t410 %t13024 = getelementptr inbounds %LSlice, ptr %t13023, i32 0, i32 1 %t13025 = getelementptr inbounds %LSlice, ptr %t13023, i32 0, i32 2 %t13026 = getelementptr inbounds %LSlice, ptr %t13023, i32 0, i32 0 %t13027 = load i32, ptr %t13024 %t13028 = load i32, ptr %t13025 %t13029 = icmp sge i32 %t13027, %t13028 br i1 %t13029, label %grow2635, label %put2636 grow2635: %t13030 = mul i32 %t13028, 2 %t13031 = icmp eq i32 %t13028, 0 %t13032 = select i1 %t13031, i32 8, i32 %t13030 %t13033 = getelementptr ptr, ptr null, i32 1 %t13034 = ptrtoint ptr %t13033 to i64 %t13035 = zext i32 %t13032 to i64 %t13036 = mul i64 %t13035, %t13034 %t13037 = load ptr, ptr %t13026 %t13038 = call ptr @realloc(ptr %t13037, i64 %t13036) store ptr %t13038, ptr %t13026 store i32 %t13032, ptr %t13025 br label %put2636 put2636: %t13039 = load ptr, ptr %t13026 %t13040 = getelementptr inbounds ptr, ptr %t13039, i32 %t13027 store ptr @.str8717, ptr %t13040 %t13041 = add i32 %t13027, 1 store i32 %t13041, ptr %t13024 br label %ifend2634 ifend2634: %t13042 = load ptr, ptr %t1 %t13043 = call i32 @lp_str_eq(ptr %t13042, ptr @.str8718) %t13044 = icmp ne i32 %t13043, 0 br i1 %t13044, label %then2637, label %ifend2639 then2637: store ptr @.str8719, ptr %t403 %t13045 = load ptr, ptr %t410 %t13046 = getelementptr inbounds %LSlice, ptr %t13045, i32 0, i32 1 %t13047 = getelementptr inbounds %LSlice, ptr %t13045, i32 0, i32 2 %t13048 = getelementptr inbounds %LSlice, ptr %t13045, i32 0, i32 0 %t13049 = load i32, ptr %t13046 %t13050 = load i32, ptr %t13047 %t13051 = icmp sge i32 %t13049, %t13050 br i1 %t13051, label %grow2640, label %put2641 grow2640: %t13052 = mul i32 %t13050, 2 %t13053 = icmp eq i32 %t13050, 0 %t13054 = select i1 %t13053, i32 8, i32 %t13052 %t13055 = getelementptr ptr, ptr null, i32 1 %t13056 = ptrtoint ptr %t13055 to i64 %t13057 = zext i32 %t13054 to i64 %t13058 = mul i64 %t13057, %t13056 %t13059 = load ptr, ptr %t13048 %t13060 = call ptr @realloc(ptr %t13059, i64 %t13058) store ptr %t13060, ptr %t13048 store i32 %t13054, ptr %t13047 br label %put2641 put2641: %t13061 = load ptr, ptr %t13048 %t13062 = getelementptr inbounds ptr, ptr %t13061, i32 %t13049 store ptr @.str8720, ptr %t13062 %t13063 = add i32 %t13049, 1 store i32 %t13063, ptr %t13046 br label %ifend2639 ifend2639: %t13064 = load ptr, ptr %t1 %t13065 = call i32 @lp_str_eq(ptr %t13064, ptr @.str8721) %t13066 = icmp ne i32 %t13065, 0 br i1 %t13066, label %then2642, label %ifend2644 then2642: store ptr @.str8722, ptr %t403 %t13067 = load ptr, ptr %t410 %t13068 = getelementptr inbounds %LSlice, ptr %t13067, i32 0, i32 1 %t13069 = getelementptr inbounds %LSlice, ptr %t13067, i32 0, i32 2 %t13070 = getelementptr inbounds %LSlice, ptr %t13067, i32 0, i32 0 %t13071 = load i32, ptr %t13068 %t13072 = load i32, ptr %t13069 %t13073 = icmp sge i32 %t13071, %t13072 br i1 %t13073, label %grow2645, label %put2646 grow2645: %t13074 = mul i32 %t13072, 2 %t13075 = icmp eq i32 %t13072, 0 %t13076 = select i1 %t13075, i32 8, i32 %t13074 %t13077 = getelementptr ptr, ptr null, i32 1 %t13078 = ptrtoint ptr %t13077 to i64 %t13079 = zext i32 %t13076 to i64 %t13080 = mul i64 %t13079, %t13078 %t13081 = load ptr, ptr %t13070 %t13082 = call ptr @realloc(ptr %t13081, i64 %t13080) store ptr %t13082, ptr %t13070 store i32 %t13076, ptr %t13069 br label %put2646 put2646: %t13083 = load ptr, ptr %t13070 %t13084 = getelementptr inbounds ptr, ptr %t13083, i32 %t13071 store ptr @.str8723, ptr %t13084 %t13085 = add i32 %t13071, 1 store i32 %t13085, ptr %t13068 br label %ifend2644 ifend2644: %t13086 = load ptr, ptr %t1 %t13087 = call i32 @lp_str_eq(ptr %t13086, ptr @.str8724) %t13088 = icmp ne i32 %t13087, 0 br i1 %t13088, label %then2647, label %ifend2649 then2647: store ptr @.str8725, ptr %t403 %t13089 = load ptr, ptr %t410 %t13090 = getelementptr inbounds %LSlice, ptr %t13089, i32 0, i32 1 %t13091 = getelementptr inbounds %LSlice, ptr %t13089, i32 0, i32 2 %t13092 = getelementptr inbounds %LSlice, ptr %t13089, i32 0, i32 0 %t13093 = load i32, ptr %t13090 %t13094 = load i32, ptr %t13091 %t13095 = icmp sge i32 %t13093, %t13094 br i1 %t13095, label %grow2650, label %put2651 grow2650: %t13096 = mul i32 %t13094, 2 %t13097 = icmp eq i32 %t13094, 0 %t13098 = select i1 %t13097, i32 8, i32 %t13096 %t13099 = getelementptr ptr, ptr null, i32 1 %t13100 = ptrtoint ptr %t13099 to i64 %t13101 = zext i32 %t13098 to i64 %t13102 = mul i64 %t13101, %t13100 %t13103 = load ptr, ptr %t13092 %t13104 = call ptr @realloc(ptr %t13103, i64 %t13102) store ptr %t13104, ptr %t13092 store i32 %t13098, ptr %t13091 br label %put2651 put2651: %t13105 = load ptr, ptr %t13092 %t13106 = getelementptr inbounds ptr, ptr %t13105, i32 %t13093 store ptr @.str8726, ptr %t13106 %t13107 = add i32 %t13093, 1 store i32 %t13107, ptr %t13090 br label %ifend2649 ifend2649: br label %ifend2558 ifend2558: %t13108 = load ptr, ptr %t0 %t13109 = call i32 @lp_str_eq(ptr %t13108, ptr @.str8727) %t13110 = icmp ne i32 %t13109, 0 br i1 %t13110, label %then2652, label %ifend2654 then2652: %t13111 = load ptr, ptr %t1 %t13112 = call i32 @lp_str_eq(ptr %t13111, ptr @.str8728) %t13113 = icmp ne i32 %t13112, 0 br i1 %t13113, label %then2655, label %ifend2657 then2655: store ptr @.str8729, ptr %t403 %t13114 = load ptr, ptr %t410 %t13115 = getelementptr inbounds %LSlice, ptr %t13114, i32 0, i32 1 %t13116 = getelementptr inbounds %LSlice, ptr %t13114, i32 0, i32 2 %t13117 = getelementptr inbounds %LSlice, ptr %t13114, i32 0, i32 0 %t13118 = load i32, ptr %t13115 %t13119 = load i32, ptr %t13116 %t13120 = icmp sge i32 %t13118, %t13119 br i1 %t13120, label %grow2658, label %put2659 grow2658: %t13121 = mul i32 %t13119, 2 %t13122 = icmp eq i32 %t13119, 0 %t13123 = select i1 %t13122, i32 8, i32 %t13121 %t13124 = getelementptr ptr, ptr null, i32 1 %t13125 = ptrtoint ptr %t13124 to i64 %t13126 = zext i32 %t13123 to i64 %t13127 = mul i64 %t13126, %t13125 %t13128 = load ptr, ptr %t13117 %t13129 = call ptr @realloc(ptr %t13128, i64 %t13127) store ptr %t13129, ptr %t13117 store i32 %t13123, ptr %t13116 br label %put2659 put2659: %t13130 = load ptr, ptr %t13117 %t13131 = getelementptr inbounds ptr, ptr %t13130, i32 %t13118 store ptr @.str8730, ptr %t13131 %t13132 = add i32 %t13118, 1 store i32 %t13132, ptr %t13115 br label %ifend2657 ifend2657: %t13133 = load ptr, ptr %t1 %t13134 = call i32 @lp_str_eq(ptr %t13133, ptr @.str8731) %t13135 = icmp ne i32 %t13134, 0 br i1 %t13135, label %then2660, label %ifend2662 then2660: store ptr @.str8732, ptr %t403 %t13136 = load ptr, ptr %t410 %t13137 = getelementptr inbounds %LSlice, ptr %t13136, i32 0, i32 1 %t13138 = getelementptr inbounds %LSlice, ptr %t13136, i32 0, i32 2 %t13139 = getelementptr inbounds %LSlice, ptr %t13136, i32 0, i32 0 %t13140 = load i32, ptr %t13137 %t13141 = load i32, ptr %t13138 %t13142 = icmp sge i32 %t13140, %t13141 br i1 %t13142, label %grow2663, label %put2664 grow2663: %t13143 = mul i32 %t13141, 2 %t13144 = icmp eq i32 %t13141, 0 %t13145 = select i1 %t13144, i32 8, i32 %t13143 %t13146 = getelementptr ptr, ptr null, i32 1 %t13147 = ptrtoint ptr %t13146 to i64 %t13148 = zext i32 %t13145 to i64 %t13149 = mul i64 %t13148, %t13147 %t13150 = load ptr, ptr %t13139 %t13151 = call ptr @realloc(ptr %t13150, i64 %t13149) store ptr %t13151, ptr %t13139 store i32 %t13145, ptr %t13138 br label %put2664 put2664: %t13152 = load ptr, ptr %t13139 %t13153 = getelementptr inbounds ptr, ptr %t13152, i32 %t13140 store ptr @.str8733, ptr %t13153 %t13154 = add i32 %t13140, 1 store i32 %t13154, ptr %t13137 br label %ifend2662 ifend2662: br label %ifend2654 ifend2654: %t13155 = load ptr, ptr %t0 %t13156 = call i32 @lp_str_eq(ptr %t13155, ptr @.str8734) %t13157 = icmp ne i32 %t13156, 0 br i1 %t13157, label %then2665, label %ifend2667 then2665: %t13158 = load ptr, ptr %t1 %t13159 = call i32 @lp_str_eq(ptr %t13158, ptr @.str8735) %t13160 = icmp ne i32 %t13159, 0 br i1 %t13160, label %then2668, label %ifend2670 then2668: store ptr @.str8736, ptr %t403 %t13161 = load ptr, ptr %t410 %t13162 = getelementptr inbounds %LSlice, ptr %t13161, i32 0, i32 1 %t13163 = getelementptr inbounds %LSlice, ptr %t13161, i32 0, i32 2 %t13164 = getelementptr inbounds %LSlice, ptr %t13161, i32 0, i32 0 %t13165 = load i32, ptr %t13162 %t13166 = load i32, ptr %t13163 %t13167 = icmp sge i32 %t13165, %t13166 br i1 %t13167, label %grow2671, label %put2672 grow2671: %t13168 = mul i32 %t13166, 2 %t13169 = icmp eq i32 %t13166, 0 %t13170 = select i1 %t13169, i32 8, i32 %t13168 %t13171 = getelementptr ptr, ptr null, i32 1 %t13172 = ptrtoint ptr %t13171 to i64 %t13173 = zext i32 %t13170 to i64 %t13174 = mul i64 %t13173, %t13172 %t13175 = load ptr, ptr %t13164 %t13176 = call ptr @realloc(ptr %t13175, i64 %t13174) store ptr %t13176, ptr %t13164 store i32 %t13170, ptr %t13163 br label %put2672 put2672: %t13177 = load ptr, ptr %t13164 %t13178 = getelementptr inbounds ptr, ptr %t13177, i32 %t13165 store ptr @.str8737, ptr %t13178 %t13179 = add i32 %t13165, 1 store i32 %t13179, ptr %t13162 br label %ifend2670 ifend2670: %t13180 = load ptr, ptr %t1 %t13181 = call i32 @lp_str_eq(ptr %t13180, ptr @.str8738) %t13182 = icmp ne i32 %t13181, 0 br i1 %t13182, label %then2673, label %ifend2675 then2673: store ptr @.str8739, ptr %t403 %t13183 = load ptr, ptr %t410 %t13184 = getelementptr inbounds %LSlice, ptr %t13183, i32 0, i32 1 %t13185 = getelementptr inbounds %LSlice, ptr %t13183, i32 0, i32 2 %t13186 = getelementptr inbounds %LSlice, ptr %t13183, i32 0, i32 0 %t13187 = load i32, ptr %t13184 %t13188 = load i32, ptr %t13185 %t13189 = icmp sge i32 %t13187, %t13188 br i1 %t13189, label %grow2676, label %put2677 grow2676: %t13190 = mul i32 %t13188, 2 %t13191 = icmp eq i32 %t13188, 0 %t13192 = select i1 %t13191, i32 8, i32 %t13190 %t13193 = getelementptr ptr, ptr null, i32 1 %t13194 = ptrtoint ptr %t13193 to i64 %t13195 = zext i32 %t13192 to i64 %t13196 = mul i64 %t13195, %t13194 %t13197 = load ptr, ptr %t13186 %t13198 = call ptr @realloc(ptr %t13197, i64 %t13196) store ptr %t13198, ptr %t13186 store i32 %t13192, ptr %t13185 br label %put2677 put2677: %t13199 = load ptr, ptr %t13186 %t13200 = getelementptr inbounds ptr, ptr %t13199, i32 %t13187 store ptr @.str8740, ptr %t13200 %t13201 = add i32 %t13187, 1 store i32 %t13201, ptr %t13184 br label %ifend2675 ifend2675: %t13202 = load ptr, ptr %t1 %t13203 = call i32 @lp_str_eq(ptr %t13202, ptr @.str8741) %t13204 = icmp ne i32 %t13203, 0 br i1 %t13204, label %then2678, label %ifend2680 then2678: store ptr @.str8742, ptr %t403 %t13205 = load ptr, ptr %t410 %t13206 = getelementptr inbounds %LSlice, ptr %t13205, i32 0, i32 1 %t13207 = getelementptr inbounds %LSlice, ptr %t13205, i32 0, i32 2 %t13208 = getelementptr inbounds %LSlice, ptr %t13205, i32 0, i32 0 %t13209 = load i32, ptr %t13206 %t13210 = load i32, ptr %t13207 %t13211 = icmp sge i32 %t13209, %t13210 br i1 %t13211, label %grow2681, label %put2682 grow2681: %t13212 = mul i32 %t13210, 2 %t13213 = icmp eq i32 %t13210, 0 %t13214 = select i1 %t13213, i32 8, i32 %t13212 %t13215 = getelementptr ptr, ptr null, i32 1 %t13216 = ptrtoint ptr %t13215 to i64 %t13217 = zext i32 %t13214 to i64 %t13218 = mul i64 %t13217, %t13216 %t13219 = load ptr, ptr %t13208 %t13220 = call ptr @realloc(ptr %t13219, i64 %t13218) store ptr %t13220, ptr %t13208 store i32 %t13214, ptr %t13207 br label %put2682 put2682: %t13221 = load ptr, ptr %t13208 %t13222 = getelementptr inbounds ptr, ptr %t13221, i32 %t13209 store ptr @.str8743, ptr %t13222 %t13223 = add i32 %t13209, 1 store i32 %t13223, ptr %t13206 br label %ifend2680 ifend2680: %t13224 = load ptr, ptr %t1 %t13225 = call i32 @lp_str_eq(ptr %t13224, ptr @.str8744) %t13226 = icmp ne i32 %t13225, 0 br i1 %t13226, label %then2683, label %ifend2685 then2683: store ptr @.str8745, ptr %t403 %t13227 = load ptr, ptr %t410 %t13228 = getelementptr inbounds %LSlice, ptr %t13227, i32 0, i32 1 %t13229 = getelementptr inbounds %LSlice, ptr %t13227, i32 0, i32 2 %t13230 = getelementptr inbounds %LSlice, ptr %t13227, i32 0, i32 0 %t13231 = load i32, ptr %t13228 %t13232 = load i32, ptr %t13229 %t13233 = icmp sge i32 %t13231, %t13232 br i1 %t13233, label %grow2686, label %put2687 grow2686: %t13234 = mul i32 %t13232, 2 %t13235 = icmp eq i32 %t13232, 0 %t13236 = select i1 %t13235, i32 8, i32 %t13234 %t13237 = getelementptr ptr, ptr null, i32 1 %t13238 = ptrtoint ptr %t13237 to i64 %t13239 = zext i32 %t13236 to i64 %t13240 = mul i64 %t13239, %t13238 %t13241 = load ptr, ptr %t13230 %t13242 = call ptr @realloc(ptr %t13241, i64 %t13240) store ptr %t13242, ptr %t13230 store i32 %t13236, ptr %t13229 br label %put2687 put2687: %t13243 = load ptr, ptr %t13230 %t13244 = getelementptr inbounds ptr, ptr %t13243, i32 %t13231 store ptr @.str8746, ptr %t13244 %t13245 = add i32 %t13231, 1 store i32 %t13245, ptr %t13228 %t13246 = load ptr, ptr %t410 %t13247 = getelementptr inbounds %LSlice, ptr %t13246, i32 0, i32 1 %t13248 = getelementptr inbounds %LSlice, ptr %t13246, i32 0, i32 2 %t13249 = getelementptr inbounds %LSlice, ptr %t13246, i32 0, i32 0 %t13250 = load i32, ptr %t13247 %t13251 = load i32, ptr %t13248 %t13252 = icmp sge i32 %t13250, %t13251 br i1 %t13252, label %grow2688, label %put2689 grow2688: %t13253 = mul i32 %t13251, 2 %t13254 = icmp eq i32 %t13251, 0 %t13255 = select i1 %t13254, i32 8, i32 %t13253 %t13256 = getelementptr ptr, ptr null, i32 1 %t13257 = ptrtoint ptr %t13256 to i64 %t13258 = zext i32 %t13255 to i64 %t13259 = mul i64 %t13258, %t13257 %t13260 = load ptr, ptr %t13249 %t13261 = call ptr @realloc(ptr %t13260, i64 %t13259) store ptr %t13261, ptr %t13249 store i32 %t13255, ptr %t13248 br label %put2689 put2689: %t13262 = load ptr, ptr %t13249 %t13263 = getelementptr inbounds ptr, ptr %t13262, i32 %t13250 store ptr @.str8747, ptr %t13263 %t13264 = add i32 %t13250, 1 store i32 %t13264, ptr %t13247 br label %ifend2685 ifend2685: %t13265 = load ptr, ptr %t1 %t13266 = call i32 @lp_str_eq(ptr %t13265, ptr @.str8748) %t13267 = icmp ne i32 %t13266, 0 br i1 %t13267, label %then2690, label %ifend2692 then2690: store ptr @.str8749, ptr %t403 %t13268 = load ptr, ptr %t410 %t13269 = getelementptr inbounds %LSlice, ptr %t13268, i32 0, i32 1 %t13270 = getelementptr inbounds %LSlice, ptr %t13268, i32 0, i32 2 %t13271 = getelementptr inbounds %LSlice, ptr %t13268, i32 0, i32 0 %t13272 = load i32, ptr %t13269 %t13273 = load i32, ptr %t13270 %t13274 = icmp sge i32 %t13272, %t13273 br i1 %t13274, label %grow2693, label %put2694 grow2693: %t13275 = mul i32 %t13273, 2 %t13276 = icmp eq i32 %t13273, 0 %t13277 = select i1 %t13276, i32 8, i32 %t13275 %t13278 = getelementptr ptr, ptr null, i32 1 %t13279 = ptrtoint ptr %t13278 to i64 %t13280 = zext i32 %t13277 to i64 %t13281 = mul i64 %t13280, %t13279 %t13282 = load ptr, ptr %t13271 %t13283 = call ptr @realloc(ptr %t13282, i64 %t13281) store ptr %t13283, ptr %t13271 store i32 %t13277, ptr %t13270 br label %put2694 put2694: %t13284 = load ptr, ptr %t13271 %t13285 = getelementptr inbounds ptr, ptr %t13284, i32 %t13272 store ptr @.str8750, ptr %t13285 %t13286 = add i32 %t13272, 1 store i32 %t13286, ptr %t13269 %t13287 = load ptr, ptr %t410 %t13288 = getelementptr inbounds %LSlice, ptr %t13287, i32 0, i32 1 %t13289 = getelementptr inbounds %LSlice, ptr %t13287, i32 0, i32 2 %t13290 = getelementptr inbounds %LSlice, ptr %t13287, i32 0, i32 0 %t13291 = load i32, ptr %t13288 %t13292 = load i32, ptr %t13289 %t13293 = icmp sge i32 %t13291, %t13292 br i1 %t13293, label %grow2695, label %put2696 grow2695: %t13294 = mul i32 %t13292, 2 %t13295 = icmp eq i32 %t13292, 0 %t13296 = select i1 %t13295, i32 8, i32 %t13294 %t13297 = getelementptr ptr, ptr null, i32 1 %t13298 = ptrtoint ptr %t13297 to i64 %t13299 = zext i32 %t13296 to i64 %t13300 = mul i64 %t13299, %t13298 %t13301 = load ptr, ptr %t13290 %t13302 = call ptr @realloc(ptr %t13301, i64 %t13300) store ptr %t13302, ptr %t13290 store i32 %t13296, ptr %t13289 br label %put2696 put2696: %t13303 = load ptr, ptr %t13290 %t13304 = getelementptr inbounds ptr, ptr %t13303, i32 %t13291 store ptr @.str8751, ptr %t13304 %t13305 = add i32 %t13291, 1 store i32 %t13305, ptr %t13288 %t13306 = load ptr, ptr %t410 %t13307 = getelementptr inbounds %LSlice, ptr %t13306, i32 0, i32 1 %t13308 = getelementptr inbounds %LSlice, ptr %t13306, i32 0, i32 2 %t13309 = getelementptr inbounds %LSlice, ptr %t13306, i32 0, i32 0 %t13310 = load i32, ptr %t13307 %t13311 = load i32, ptr %t13308 %t13312 = icmp sge i32 %t13310, %t13311 br i1 %t13312, label %grow2697, label %put2698 grow2697: %t13313 = mul i32 %t13311, 2 %t13314 = icmp eq i32 %t13311, 0 %t13315 = select i1 %t13314, i32 8, i32 %t13313 %t13316 = getelementptr ptr, ptr null, i32 1 %t13317 = ptrtoint ptr %t13316 to i64 %t13318 = zext i32 %t13315 to i64 %t13319 = mul i64 %t13318, %t13317 %t13320 = load ptr, ptr %t13309 %t13321 = call ptr @realloc(ptr %t13320, i64 %t13319) store ptr %t13321, ptr %t13309 store i32 %t13315, ptr %t13308 br label %put2698 put2698: %t13322 = load ptr, ptr %t13309 %t13323 = getelementptr inbounds ptr, ptr %t13322, i32 %t13310 store ptr @.str8752, ptr %t13323 %t13324 = add i32 %t13310, 1 store i32 %t13324, ptr %t13307 br label %ifend2692 ifend2692: %t13325 = load ptr, ptr %t1 %t13326 = call i32 @lp_str_eq(ptr %t13325, ptr @.str8753) %t13327 = icmp ne i32 %t13326, 0 br i1 %t13327, label %then2699, label %ifend2701 then2699: store ptr @.str8754, ptr %t403 %t13328 = load ptr, ptr %t410 %t13329 = getelementptr inbounds %LSlice, ptr %t13328, i32 0, i32 1 %t13330 = getelementptr inbounds %LSlice, ptr %t13328, i32 0, i32 2 %t13331 = getelementptr inbounds %LSlice, ptr %t13328, i32 0, i32 0 %t13332 = load i32, ptr %t13329 %t13333 = load i32, ptr %t13330 %t13334 = icmp sge i32 %t13332, %t13333 br i1 %t13334, label %grow2702, label %put2703 grow2702: %t13335 = mul i32 %t13333, 2 %t13336 = icmp eq i32 %t13333, 0 %t13337 = select i1 %t13336, i32 8, i32 %t13335 %t13338 = getelementptr ptr, ptr null, i32 1 %t13339 = ptrtoint ptr %t13338 to i64 %t13340 = zext i32 %t13337 to i64 %t13341 = mul i64 %t13340, %t13339 %t13342 = load ptr, ptr %t13331 %t13343 = call ptr @realloc(ptr %t13342, i64 %t13341) store ptr %t13343, ptr %t13331 store i32 %t13337, ptr %t13330 br label %put2703 put2703: %t13344 = load ptr, ptr %t13331 %t13345 = getelementptr inbounds ptr, ptr %t13344, i32 %t13332 store ptr @.str8755, ptr %t13345 %t13346 = add i32 %t13332, 1 store i32 %t13346, ptr %t13329 %t13347 = load ptr, ptr %t410 %t13348 = getelementptr inbounds %LSlice, ptr %t13347, i32 0, i32 1 %t13349 = getelementptr inbounds %LSlice, ptr %t13347, i32 0, i32 2 %t13350 = getelementptr inbounds %LSlice, ptr %t13347, i32 0, i32 0 %t13351 = load i32, ptr %t13348 %t13352 = load i32, ptr %t13349 %t13353 = icmp sge i32 %t13351, %t13352 br i1 %t13353, label %grow2704, label %put2705 grow2704: %t13354 = mul i32 %t13352, 2 %t13355 = icmp eq i32 %t13352, 0 %t13356 = select i1 %t13355, i32 8, i32 %t13354 %t13357 = getelementptr ptr, ptr null, i32 1 %t13358 = ptrtoint ptr %t13357 to i64 %t13359 = zext i32 %t13356 to i64 %t13360 = mul i64 %t13359, %t13358 %t13361 = load ptr, ptr %t13350 %t13362 = call ptr @realloc(ptr %t13361, i64 %t13360) store ptr %t13362, ptr %t13350 store i32 %t13356, ptr %t13349 br label %put2705 put2705: %t13363 = load ptr, ptr %t13350 %t13364 = getelementptr inbounds ptr, ptr %t13363, i32 %t13351 store ptr @.str8756, ptr %t13364 %t13365 = add i32 %t13351, 1 store i32 %t13365, ptr %t13348 br label %ifend2701 ifend2701: %t13366 = load ptr, ptr %t1 %t13367 = call i32 @lp_str_eq(ptr %t13366, ptr @.str8757) %t13368 = icmp ne i32 %t13367, 0 br i1 %t13368, label %then2706, label %ifend2708 then2706: store ptr @.str8758, ptr %t403 %t13369 = load ptr, ptr %t410 %t13370 = getelementptr inbounds %LSlice, ptr %t13369, i32 0, i32 1 %t13371 = getelementptr inbounds %LSlice, ptr %t13369, i32 0, i32 2 %t13372 = getelementptr inbounds %LSlice, ptr %t13369, i32 0, i32 0 %t13373 = load i32, ptr %t13370 %t13374 = load i32, ptr %t13371 %t13375 = icmp sge i32 %t13373, %t13374 br i1 %t13375, label %grow2709, label %put2710 grow2709: %t13376 = mul i32 %t13374, 2 %t13377 = icmp eq i32 %t13374, 0 %t13378 = select i1 %t13377, i32 8, i32 %t13376 %t13379 = getelementptr ptr, ptr null, i32 1 %t13380 = ptrtoint ptr %t13379 to i64 %t13381 = zext i32 %t13378 to i64 %t13382 = mul i64 %t13381, %t13380 %t13383 = load ptr, ptr %t13372 %t13384 = call ptr @realloc(ptr %t13383, i64 %t13382) store ptr %t13384, ptr %t13372 store i32 %t13378, ptr %t13371 br label %put2710 put2710: %t13385 = load ptr, ptr %t13372 %t13386 = getelementptr inbounds ptr, ptr %t13385, i32 %t13373 store ptr @.str8759, ptr %t13386 %t13387 = add i32 %t13373, 1 store i32 %t13387, ptr %t13370 br label %ifend2708 ifend2708: %t13388 = load ptr, ptr %t1 %t13389 = call i32 @lp_str_eq(ptr %t13388, ptr @.str8760) %t13390 = icmp ne i32 %t13389, 0 br i1 %t13390, label %then2711, label %ifend2713 then2711: store ptr @.str8761, ptr %t403 %t13391 = load ptr, ptr %t410 %t13392 = getelementptr inbounds %LSlice, ptr %t13391, i32 0, i32 1 %t13393 = getelementptr inbounds %LSlice, ptr %t13391, i32 0, i32 2 %t13394 = getelementptr inbounds %LSlice, ptr %t13391, i32 0, i32 0 %t13395 = load i32, ptr %t13392 %t13396 = load i32, ptr %t13393 %t13397 = icmp sge i32 %t13395, %t13396 br i1 %t13397, label %grow2714, label %put2715 grow2714: %t13398 = mul i32 %t13396, 2 %t13399 = icmp eq i32 %t13396, 0 %t13400 = select i1 %t13399, i32 8, i32 %t13398 %t13401 = getelementptr ptr, ptr null, i32 1 %t13402 = ptrtoint ptr %t13401 to i64 %t13403 = zext i32 %t13400 to i64 %t13404 = mul i64 %t13403, %t13402 %t13405 = load ptr, ptr %t13394 %t13406 = call ptr @realloc(ptr %t13405, i64 %t13404) store ptr %t13406, ptr %t13394 store i32 %t13400, ptr %t13393 br label %put2715 put2715: %t13407 = load ptr, ptr %t13394 %t13408 = getelementptr inbounds ptr, ptr %t13407, i32 %t13395 store ptr @.str8762, ptr %t13408 %t13409 = add i32 %t13395, 1 store i32 %t13409, ptr %t13392 br label %ifend2713 ifend2713: %t13410 = load ptr, ptr %t1 %t13411 = call i32 @lp_str_eq(ptr %t13410, ptr @.str8763) %t13412 = icmp ne i32 %t13411, 0 br i1 %t13412, label %then2716, label %ifend2718 then2716: store ptr @.str8764, ptr %t403 %t13413 = load ptr, ptr %t410 %t13414 = getelementptr inbounds %LSlice, ptr %t13413, i32 0, i32 1 %t13415 = getelementptr inbounds %LSlice, ptr %t13413, i32 0, i32 2 %t13416 = getelementptr inbounds %LSlice, ptr %t13413, i32 0, i32 0 %t13417 = load i32, ptr %t13414 %t13418 = load i32, ptr %t13415 %t13419 = icmp sge i32 %t13417, %t13418 br i1 %t13419, label %grow2719, label %put2720 grow2719: %t13420 = mul i32 %t13418, 2 %t13421 = icmp eq i32 %t13418, 0 %t13422 = select i1 %t13421, i32 8, i32 %t13420 %t13423 = getelementptr ptr, ptr null, i32 1 %t13424 = ptrtoint ptr %t13423 to i64 %t13425 = zext i32 %t13422 to i64 %t13426 = mul i64 %t13425, %t13424 %t13427 = load ptr, ptr %t13416 %t13428 = call ptr @realloc(ptr %t13427, i64 %t13426) store ptr %t13428, ptr %t13416 store i32 %t13422, ptr %t13415 br label %put2720 put2720: %t13429 = load ptr, ptr %t13416 %t13430 = getelementptr inbounds ptr, ptr %t13429, i32 %t13417 store ptr @.str8765, ptr %t13430 %t13431 = add i32 %t13417, 1 store i32 %t13431, ptr %t13414 %t13432 = load ptr, ptr %t410 %t13433 = getelementptr inbounds %LSlice, ptr %t13432, i32 0, i32 1 %t13434 = getelementptr inbounds %LSlice, ptr %t13432, i32 0, i32 2 %t13435 = getelementptr inbounds %LSlice, ptr %t13432, i32 0, i32 0 %t13436 = load i32, ptr %t13433 %t13437 = load i32, ptr %t13434 %t13438 = icmp sge i32 %t13436, %t13437 br i1 %t13438, label %grow2721, label %put2722 grow2721: %t13439 = mul i32 %t13437, 2 %t13440 = icmp eq i32 %t13437, 0 %t13441 = select i1 %t13440, i32 8, i32 %t13439 %t13442 = getelementptr ptr, ptr null, i32 1 %t13443 = ptrtoint ptr %t13442 to i64 %t13444 = zext i32 %t13441 to i64 %t13445 = mul i64 %t13444, %t13443 %t13446 = load ptr, ptr %t13435 %t13447 = call ptr @realloc(ptr %t13446, i64 %t13445) store ptr %t13447, ptr %t13435 store i32 %t13441, ptr %t13434 br label %put2722 put2722: %t13448 = load ptr, ptr %t13435 %t13449 = getelementptr inbounds ptr, ptr %t13448, i32 %t13436 store ptr @.str8766, ptr %t13449 %t13450 = add i32 %t13436, 1 store i32 %t13450, ptr %t13433 br label %ifend2718 ifend2718: %t13451 = load ptr, ptr %t1 %t13452 = call i32 @lp_str_eq(ptr %t13451, ptr @.str8767) %t13453 = icmp ne i32 %t13452, 0 br i1 %t13453, label %then2723, label %ifend2725 then2723: store ptr @.str8768, ptr %t403 %t13454 = load ptr, ptr %t410 %t13455 = getelementptr inbounds %LSlice, ptr %t13454, i32 0, i32 1 %t13456 = getelementptr inbounds %LSlice, ptr %t13454, i32 0, i32 2 %t13457 = getelementptr inbounds %LSlice, ptr %t13454, i32 0, i32 0 %t13458 = load i32, ptr %t13455 %t13459 = load i32, ptr %t13456 %t13460 = icmp sge i32 %t13458, %t13459 br i1 %t13460, label %grow2726, label %put2727 grow2726: %t13461 = mul i32 %t13459, 2 %t13462 = icmp eq i32 %t13459, 0 %t13463 = select i1 %t13462, i32 8, i32 %t13461 %t13464 = getelementptr ptr, ptr null, i32 1 %t13465 = ptrtoint ptr %t13464 to i64 %t13466 = zext i32 %t13463 to i64 %t13467 = mul i64 %t13466, %t13465 %t13468 = load ptr, ptr %t13457 %t13469 = call ptr @realloc(ptr %t13468, i64 %t13467) store ptr %t13469, ptr %t13457 store i32 %t13463, ptr %t13456 br label %put2727 put2727: %t13470 = load ptr, ptr %t13457 %t13471 = getelementptr inbounds ptr, ptr %t13470, i32 %t13458 store ptr @.str8769, ptr %t13471 %t13472 = add i32 %t13458, 1 store i32 %t13472, ptr %t13455 %t13473 = load ptr, ptr %t410 %t13474 = getelementptr inbounds %LSlice, ptr %t13473, i32 0, i32 1 %t13475 = getelementptr inbounds %LSlice, ptr %t13473, i32 0, i32 2 %t13476 = getelementptr inbounds %LSlice, ptr %t13473, i32 0, i32 0 %t13477 = load i32, ptr %t13474 %t13478 = load i32, ptr %t13475 %t13479 = icmp sge i32 %t13477, %t13478 br i1 %t13479, label %grow2728, label %put2729 grow2728: %t13480 = mul i32 %t13478, 2 %t13481 = icmp eq i32 %t13478, 0 %t13482 = select i1 %t13481, i32 8, i32 %t13480 %t13483 = getelementptr ptr, ptr null, i32 1 %t13484 = ptrtoint ptr %t13483 to i64 %t13485 = zext i32 %t13482 to i64 %t13486 = mul i64 %t13485, %t13484 %t13487 = load ptr, ptr %t13476 %t13488 = call ptr @realloc(ptr %t13487, i64 %t13486) store ptr %t13488, ptr %t13476 store i32 %t13482, ptr %t13475 br label %put2729 put2729: %t13489 = load ptr, ptr %t13476 %t13490 = getelementptr inbounds ptr, ptr %t13489, i32 %t13477 store ptr @.str8770, ptr %t13490 %t13491 = add i32 %t13477, 1 store i32 %t13491, ptr %t13474 br label %ifend2725 ifend2725: %t13492 = load ptr, ptr %t1 %t13493 = call i32 @lp_str_eq(ptr %t13492, ptr @.str8771) %t13494 = icmp ne i32 %t13493, 0 br i1 %t13494, label %then2730, label %ifend2732 then2730: store ptr @.str8772, ptr %t403 %t13495 = load ptr, ptr %t410 %t13496 = getelementptr inbounds %LSlice, ptr %t13495, i32 0, i32 1 %t13497 = getelementptr inbounds %LSlice, ptr %t13495, i32 0, i32 2 %t13498 = getelementptr inbounds %LSlice, ptr %t13495, i32 0, i32 0 %t13499 = load i32, ptr %t13496 %t13500 = load i32, ptr %t13497 %t13501 = icmp sge i32 %t13499, %t13500 br i1 %t13501, label %grow2733, label %put2734 grow2733: %t13502 = mul i32 %t13500, 2 %t13503 = icmp eq i32 %t13500, 0 %t13504 = select i1 %t13503, i32 8, i32 %t13502 %t13505 = getelementptr ptr, ptr null, i32 1 %t13506 = ptrtoint ptr %t13505 to i64 %t13507 = zext i32 %t13504 to i64 %t13508 = mul i64 %t13507, %t13506 %t13509 = load ptr, ptr %t13498 %t13510 = call ptr @realloc(ptr %t13509, i64 %t13508) store ptr %t13510, ptr %t13498 store i32 %t13504, ptr %t13497 br label %put2734 put2734: %t13511 = load ptr, ptr %t13498 %t13512 = getelementptr inbounds ptr, ptr %t13511, i32 %t13499 store ptr @.str8773, ptr %t13512 %t13513 = add i32 %t13499, 1 store i32 %t13513, ptr %t13496 %t13514 = load ptr, ptr %t410 %t13515 = getelementptr inbounds %LSlice, ptr %t13514, i32 0, i32 1 %t13516 = getelementptr inbounds %LSlice, ptr %t13514, i32 0, i32 2 %t13517 = getelementptr inbounds %LSlice, ptr %t13514, i32 0, i32 0 %t13518 = load i32, ptr %t13515 %t13519 = load i32, ptr %t13516 %t13520 = icmp sge i32 %t13518, %t13519 br i1 %t13520, label %grow2735, label %put2736 grow2735: %t13521 = mul i32 %t13519, 2 %t13522 = icmp eq i32 %t13519, 0 %t13523 = select i1 %t13522, i32 8, i32 %t13521 %t13524 = getelementptr ptr, ptr null, i32 1 %t13525 = ptrtoint ptr %t13524 to i64 %t13526 = zext i32 %t13523 to i64 %t13527 = mul i64 %t13526, %t13525 %t13528 = load ptr, ptr %t13517 %t13529 = call ptr @realloc(ptr %t13528, i64 %t13527) store ptr %t13529, ptr %t13517 store i32 %t13523, ptr %t13516 br label %put2736 put2736: %t13530 = load ptr, ptr %t13517 %t13531 = getelementptr inbounds ptr, ptr %t13530, i32 %t13518 store ptr @.str8774, ptr %t13531 %t13532 = add i32 %t13518, 1 store i32 %t13532, ptr %t13515 br label %ifend2732 ifend2732: br label %ifend2667 ifend2667: %t13533 = load ptr, ptr %t0 %t13534 = call i32 @lp_str_eq(ptr %t13533, ptr @.str8775) %t13535 = icmp ne i32 %t13534, 0 br i1 %t13535, label %then2737, label %ifend2739 then2737: %t13536 = load ptr, ptr %t1 %t13537 = call i32 @lp_str_eq(ptr %t13536, ptr @.str8776) %t13538 = icmp ne i32 %t13537, 0 br i1 %t13538, label %then2740, label %ifend2742 then2740: store ptr @.str8777, ptr %t403 %t13539 = load ptr, ptr %t410 %t13540 = getelementptr inbounds %LSlice, ptr %t13539, i32 0, i32 1 %t13541 = getelementptr inbounds %LSlice, ptr %t13539, i32 0, i32 2 %t13542 = getelementptr inbounds %LSlice, ptr %t13539, i32 0, i32 0 %t13543 = load i32, ptr %t13540 %t13544 = load i32, ptr %t13541 %t13545 = icmp sge i32 %t13543, %t13544 br i1 %t13545, label %grow2743, label %put2744 grow2743: %t13546 = mul i32 %t13544, 2 %t13547 = icmp eq i32 %t13544, 0 %t13548 = select i1 %t13547, i32 8, i32 %t13546 %t13549 = getelementptr ptr, ptr null, i32 1 %t13550 = ptrtoint ptr %t13549 to i64 %t13551 = zext i32 %t13548 to i64 %t13552 = mul i64 %t13551, %t13550 %t13553 = load ptr, ptr %t13542 %t13554 = call ptr @realloc(ptr %t13553, i64 %t13552) store ptr %t13554, ptr %t13542 store i32 %t13548, ptr %t13541 br label %put2744 put2744: %t13555 = load ptr, ptr %t13542 %t13556 = getelementptr inbounds ptr, ptr %t13555, i32 %t13543 store ptr @.str8778, ptr %t13556 %t13557 = add i32 %t13543, 1 store i32 %t13557, ptr %t13540 br label %ifend2742 ifend2742: %t13558 = load ptr, ptr %t1 %t13559 = call i32 @lp_str_eq(ptr %t13558, ptr @.str8779) %t13560 = icmp ne i32 %t13559, 0 br i1 %t13560, label %then2745, label %ifend2747 then2745: store ptr @.str8780, ptr %t403 %t13561 = load ptr, ptr %t410 %t13562 = getelementptr inbounds %LSlice, ptr %t13561, i32 0, i32 1 %t13563 = getelementptr inbounds %LSlice, ptr %t13561, i32 0, i32 2 %t13564 = getelementptr inbounds %LSlice, ptr %t13561, i32 0, i32 0 %t13565 = load i32, ptr %t13562 %t13566 = load i32, ptr %t13563 %t13567 = icmp sge i32 %t13565, %t13566 br i1 %t13567, label %grow2748, label %put2749 grow2748: %t13568 = mul i32 %t13566, 2 %t13569 = icmp eq i32 %t13566, 0 %t13570 = select i1 %t13569, i32 8, i32 %t13568 %t13571 = getelementptr ptr, ptr null, i32 1 %t13572 = ptrtoint ptr %t13571 to i64 %t13573 = zext i32 %t13570 to i64 %t13574 = mul i64 %t13573, %t13572 %t13575 = load ptr, ptr %t13564 %t13576 = call ptr @realloc(ptr %t13575, i64 %t13574) store ptr %t13576, ptr %t13564 store i32 %t13570, ptr %t13563 br label %put2749 put2749: %t13577 = load ptr, ptr %t13564 %t13578 = getelementptr inbounds ptr, ptr %t13577, i32 %t13565 store ptr @.str8781, ptr %t13578 %t13579 = add i32 %t13565, 1 store i32 %t13579, ptr %t13562 br label %ifend2747 ifend2747: br label %ifend2739 ifend2739: %t13580 = load ptr, ptr %t0 %t13581 = call i32 @lp_str_eq(ptr %t13580, ptr @.str8782) %t13582 = icmp ne i32 %t13581, 0 br i1 %t13582, label %then2750, label %ifend2752 then2750: %t13583 = load ptr, ptr %t1 %t13584 = call i32 @lp_str_eq(ptr %t13583, ptr @.str8783) %t13585 = icmp ne i32 %t13584, 0 br i1 %t13585, label %then2753, label %ifend2755 then2753: store ptr @.str8784, ptr %t403 %t13586 = load ptr, ptr %t410 %t13587 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 1 %t13588 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 2 %t13589 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 0 %t13590 = load i32, ptr %t13587 %t13591 = load i32, ptr %t13588 %t13592 = icmp sge i32 %t13590, %t13591 br i1 %t13592, label %grow2756, label %put2757 grow2756: %t13593 = mul i32 %t13591, 2 %t13594 = icmp eq i32 %t13591, 0 %t13595 = select i1 %t13594, i32 8, i32 %t13593 %t13596 = getelementptr ptr, ptr null, i32 1 %t13597 = ptrtoint ptr %t13596 to i64 %t13598 = zext i32 %t13595 to i64 %t13599 = mul i64 %t13598, %t13597 %t13600 = load ptr, ptr %t13589 %t13601 = call ptr @realloc(ptr %t13600, i64 %t13599) store ptr %t13601, ptr %t13589 store i32 %t13595, ptr %t13588 br label %put2757 put2757: %t13602 = load ptr, ptr %t13589 %t13603 = getelementptr inbounds ptr, ptr %t13602, i32 %t13590 store ptr @.str8785, ptr %t13603 %t13604 = add i32 %t13590, 1 store i32 %t13604, ptr %t13587 br label %ifend2755 ifend2755: %t13605 = load ptr, ptr %t1 %t13606 = call i32 @lp_str_eq(ptr %t13605, ptr @.str8786) %t13607 = icmp ne i32 %t13606, 0 br i1 %t13607, label %then2758, label %ifend2760 then2758: store ptr @.str8787, ptr %t403 %t13608 = load ptr, ptr %t410 %t13609 = getelementptr inbounds %LSlice, ptr %t13608, i32 0, i32 1 %t13610 = getelementptr inbounds %LSlice, ptr %t13608, i32 0, i32 2 %t13611 = getelementptr inbounds %LSlice, ptr %t13608, i32 0, i32 0 %t13612 = load i32, ptr %t13609 %t13613 = load i32, ptr %t13610 %t13614 = icmp sge i32 %t13612, %t13613 br i1 %t13614, label %grow2761, label %put2762 grow2761: %t13615 = mul i32 %t13613, 2 %t13616 = icmp eq i32 %t13613, 0 %t13617 = select i1 %t13616, i32 8, i32 %t13615 %t13618 = getelementptr ptr, ptr null, i32 1 %t13619 = ptrtoint ptr %t13618 to i64 %t13620 = zext i32 %t13617 to i64 %t13621 = mul i64 %t13620, %t13619 %t13622 = load ptr, ptr %t13611 %t13623 = call ptr @realloc(ptr %t13622, i64 %t13621) store ptr %t13623, ptr %t13611 store i32 %t13617, ptr %t13610 br label %put2762 put2762: %t13624 = load ptr, ptr %t13611 %t13625 = getelementptr inbounds ptr, ptr %t13624, i32 %t13612 store ptr @.str8788, ptr %t13625 %t13626 = add i32 %t13612, 1 store i32 %t13626, ptr %t13609 br label %ifend2760 ifend2760: %t13627 = load ptr, ptr %t1 %t13628 = call i32 @lp_str_eq(ptr %t13627, ptr @.str8789) %t13629 = icmp ne i32 %t13628, 0 br i1 %t13629, label %then2763, label %ifend2765 then2763: store ptr @.str8790, ptr %t403 %t13630 = load ptr, ptr %t410 %t13631 = getelementptr inbounds %LSlice, ptr %t13630, i32 0, i32 1 %t13632 = getelementptr inbounds %LSlice, ptr %t13630, i32 0, i32 2 %t13633 = getelementptr inbounds %LSlice, ptr %t13630, i32 0, i32 0 %t13634 = load i32, ptr %t13631 %t13635 = load i32, ptr %t13632 %t13636 = icmp sge i32 %t13634, %t13635 br i1 %t13636, label %grow2766, label %put2767 grow2766: %t13637 = mul i32 %t13635, 2 %t13638 = icmp eq i32 %t13635, 0 %t13639 = select i1 %t13638, i32 8, i32 %t13637 %t13640 = getelementptr ptr, ptr null, i32 1 %t13641 = ptrtoint ptr %t13640 to i64 %t13642 = zext i32 %t13639 to i64 %t13643 = mul i64 %t13642, %t13641 %t13644 = load ptr, ptr %t13633 %t13645 = call ptr @realloc(ptr %t13644, i64 %t13643) store ptr %t13645, ptr %t13633 store i32 %t13639, ptr %t13632 br label %put2767 put2767: %t13646 = load ptr, ptr %t13633 %t13647 = getelementptr inbounds ptr, ptr %t13646, i32 %t13634 store ptr @.str8791, ptr %t13647 %t13648 = add i32 %t13634, 1 store i32 %t13648, ptr %t13631 br label %ifend2765 ifend2765: %t13649 = load ptr, ptr %t1 %t13650 = call i32 @lp_str_eq(ptr %t13649, ptr @.str8792) %t13651 = icmp ne i32 %t13650, 0 br i1 %t13651, label %then2768, label %ifend2770 then2768: store ptr @.str8793, ptr %t403 %t13652 = load ptr, ptr %t410 %t13653 = getelementptr inbounds %LSlice, ptr %t13652, i32 0, i32 1 %t13654 = getelementptr inbounds %LSlice, ptr %t13652, i32 0, i32 2 %t13655 = getelementptr inbounds %LSlice, ptr %t13652, i32 0, i32 0 %t13656 = load i32, ptr %t13653 %t13657 = load i32, ptr %t13654 %t13658 = icmp sge i32 %t13656, %t13657 br i1 %t13658, label %grow2771, label %put2772 grow2771: %t13659 = mul i32 %t13657, 2 %t13660 = icmp eq i32 %t13657, 0 %t13661 = select i1 %t13660, i32 8, i32 %t13659 %t13662 = getelementptr ptr, ptr null, i32 1 %t13663 = ptrtoint ptr %t13662 to i64 %t13664 = zext i32 %t13661 to i64 %t13665 = mul i64 %t13664, %t13663 %t13666 = load ptr, ptr %t13655 %t13667 = call ptr @realloc(ptr %t13666, i64 %t13665) store ptr %t13667, ptr %t13655 store i32 %t13661, ptr %t13654 br label %put2772 put2772: %t13668 = load ptr, ptr %t13655 %t13669 = getelementptr inbounds ptr, ptr %t13668, i32 %t13656 store ptr @.str8794, ptr %t13669 %t13670 = add i32 %t13656, 1 store i32 %t13670, ptr %t13653 %t13671 = load ptr, ptr %t410 %t13672 = getelementptr inbounds %LSlice, ptr %t13671, i32 0, i32 1 %t13673 = getelementptr inbounds %LSlice, ptr %t13671, i32 0, i32 2 %t13674 = getelementptr inbounds %LSlice, ptr %t13671, i32 0, i32 0 %t13675 = load i32, ptr %t13672 %t13676 = load i32, ptr %t13673 %t13677 = icmp sge i32 %t13675, %t13676 br i1 %t13677, label %grow2773, label %put2774 grow2773: %t13678 = mul i32 %t13676, 2 %t13679 = icmp eq i32 %t13676, 0 %t13680 = select i1 %t13679, i32 8, i32 %t13678 %t13681 = getelementptr ptr, ptr null, i32 1 %t13682 = ptrtoint ptr %t13681 to i64 %t13683 = zext i32 %t13680 to i64 %t13684 = mul i64 %t13683, %t13682 %t13685 = load ptr, ptr %t13674 %t13686 = call ptr @realloc(ptr %t13685, i64 %t13684) store ptr %t13686, ptr %t13674 store i32 %t13680, ptr %t13673 br label %put2774 put2774: %t13687 = load ptr, ptr %t13674 %t13688 = getelementptr inbounds ptr, ptr %t13687, i32 %t13675 store ptr @.str8795, ptr %t13688 %t13689 = add i32 %t13675, 1 store i32 %t13689, ptr %t13672 %t13690 = load ptr, ptr %t410 %t13691 = getelementptr inbounds %LSlice, ptr %t13690, i32 0, i32 1 %t13692 = getelementptr inbounds %LSlice, ptr %t13690, i32 0, i32 2 %t13693 = getelementptr inbounds %LSlice, ptr %t13690, i32 0, i32 0 %t13694 = load i32, ptr %t13691 %t13695 = load i32, ptr %t13692 %t13696 = icmp sge i32 %t13694, %t13695 br i1 %t13696, label %grow2775, label %put2776 grow2775: %t13697 = mul i32 %t13695, 2 %t13698 = icmp eq i32 %t13695, 0 %t13699 = select i1 %t13698, i32 8, i32 %t13697 %t13700 = getelementptr ptr, ptr null, i32 1 %t13701 = ptrtoint ptr %t13700 to i64 %t13702 = zext i32 %t13699 to i64 %t13703 = mul i64 %t13702, %t13701 %t13704 = load ptr, ptr %t13693 %t13705 = call ptr @realloc(ptr %t13704, i64 %t13703) store ptr %t13705, ptr %t13693 store i32 %t13699, ptr %t13692 br label %put2776 put2776: %t13706 = load ptr, ptr %t13693 %t13707 = getelementptr inbounds ptr, ptr %t13706, i32 %t13694 store ptr @.str8796, ptr %t13707 %t13708 = add i32 %t13694, 1 store i32 %t13708, ptr %t13691 %t13709 = load ptr, ptr %t410 %t13710 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 1 %t13711 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 2 %t13712 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 0 %t13713 = load i32, ptr %t13710 %t13714 = load i32, ptr %t13711 %t13715 = icmp sge i32 %t13713, %t13714 br i1 %t13715, label %grow2777, label %put2778 grow2777: %t13716 = mul i32 %t13714, 2 %t13717 = icmp eq i32 %t13714, 0 %t13718 = select i1 %t13717, i32 8, i32 %t13716 %t13719 = getelementptr ptr, ptr null, i32 1 %t13720 = ptrtoint ptr %t13719 to i64 %t13721 = zext i32 %t13718 to i64 %t13722 = mul i64 %t13721, %t13720 %t13723 = load ptr, ptr %t13712 %t13724 = call ptr @realloc(ptr %t13723, i64 %t13722) store ptr %t13724, ptr %t13712 store i32 %t13718, ptr %t13711 br label %put2778 put2778: %t13725 = load ptr, ptr %t13712 %t13726 = getelementptr inbounds ptr, ptr %t13725, i32 %t13713 store ptr @.str8797, ptr %t13726 %t13727 = add i32 %t13713, 1 store i32 %t13727, ptr %t13710 br label %ifend2770 ifend2770: %t13728 = load ptr, ptr %t1 %t13729 = call i32 @lp_str_eq(ptr %t13728, ptr @.str8798) %t13730 = icmp ne i32 %t13729, 0 br i1 %t13730, label %then2779, label %ifend2781 then2779: store ptr @.str8799, ptr %t403 %t13731 = load ptr, ptr %t410 %t13732 = getelementptr inbounds %LSlice, ptr %t13731, i32 0, i32 1 %t13733 = getelementptr inbounds %LSlice, ptr %t13731, i32 0, i32 2 %t13734 = getelementptr inbounds %LSlice, ptr %t13731, i32 0, i32 0 %t13735 = load i32, ptr %t13732 %t13736 = load i32, ptr %t13733 %t13737 = icmp sge i32 %t13735, %t13736 br i1 %t13737, label %grow2782, label %put2783 grow2782: %t13738 = mul i32 %t13736, 2 %t13739 = icmp eq i32 %t13736, 0 %t13740 = select i1 %t13739, i32 8, i32 %t13738 %t13741 = getelementptr ptr, ptr null, i32 1 %t13742 = ptrtoint ptr %t13741 to i64 %t13743 = zext i32 %t13740 to i64 %t13744 = mul i64 %t13743, %t13742 %t13745 = load ptr, ptr %t13734 %t13746 = call ptr @realloc(ptr %t13745, i64 %t13744) store ptr %t13746, ptr %t13734 store i32 %t13740, ptr %t13733 br label %put2783 put2783: %t13747 = load ptr, ptr %t13734 %t13748 = getelementptr inbounds ptr, ptr %t13747, i32 %t13735 store ptr @.str8800, ptr %t13748 %t13749 = add i32 %t13735, 1 store i32 %t13749, ptr %t13732 %t13750 = load ptr, ptr %t410 %t13751 = getelementptr inbounds %LSlice, ptr %t13750, i32 0, i32 1 %t13752 = getelementptr inbounds %LSlice, ptr %t13750, i32 0, i32 2 %t13753 = getelementptr inbounds %LSlice, ptr %t13750, i32 0, i32 0 %t13754 = load i32, ptr %t13751 %t13755 = load i32, ptr %t13752 %t13756 = icmp sge i32 %t13754, %t13755 br i1 %t13756, label %grow2784, label %put2785 grow2784: %t13757 = mul i32 %t13755, 2 %t13758 = icmp eq i32 %t13755, 0 %t13759 = select i1 %t13758, i32 8, i32 %t13757 %t13760 = getelementptr ptr, ptr null, i32 1 %t13761 = ptrtoint ptr %t13760 to i64 %t13762 = zext i32 %t13759 to i64 %t13763 = mul i64 %t13762, %t13761 %t13764 = load ptr, ptr %t13753 %t13765 = call ptr @realloc(ptr %t13764, i64 %t13763) store ptr %t13765, ptr %t13753 store i32 %t13759, ptr %t13752 br label %put2785 put2785: %t13766 = load ptr, ptr %t13753 %t13767 = getelementptr inbounds ptr, ptr %t13766, i32 %t13754 store ptr @.str8801, ptr %t13767 %t13768 = add i32 %t13754, 1 store i32 %t13768, ptr %t13751 br label %ifend2781 ifend2781: %t13769 = load ptr, ptr %t1 %t13770 = call i32 @lp_str_eq(ptr %t13769, ptr @.str8802) %t13771 = icmp ne i32 %t13770, 0 br i1 %t13771, label %then2786, label %ifend2788 then2786: store ptr @.str8803, ptr %t403 %t13772 = load ptr, ptr %t410 %t13773 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 1 %t13774 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 2 %t13775 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 0 %t13776 = load i32, ptr %t13773 %t13777 = load i32, ptr %t13774 %t13778 = icmp sge i32 %t13776, %t13777 br i1 %t13778, label %grow2789, label %put2790 grow2789: %t13779 = mul i32 %t13777, 2 %t13780 = icmp eq i32 %t13777, 0 %t13781 = select i1 %t13780, i32 8, i32 %t13779 %t13782 = getelementptr ptr, ptr null, i32 1 %t13783 = ptrtoint ptr %t13782 to i64 %t13784 = zext i32 %t13781 to i64 %t13785 = mul i64 %t13784, %t13783 %t13786 = load ptr, ptr %t13775 %t13787 = call ptr @realloc(ptr %t13786, i64 %t13785) store ptr %t13787, ptr %t13775 store i32 %t13781, ptr %t13774 br label %put2790 put2790: %t13788 = load ptr, ptr %t13775 %t13789 = getelementptr inbounds ptr, ptr %t13788, i32 %t13776 store ptr @.str8804, ptr %t13789 %t13790 = add i32 %t13776, 1 store i32 %t13790, ptr %t13773 br label %ifend2788 ifend2788: %t13791 = load ptr, ptr %t1 %t13792 = call i32 @lp_str_eq(ptr %t13791, ptr @.str8805) %t13793 = icmp ne i32 %t13792, 0 br i1 %t13793, label %then2791, label %ifend2793 then2791: store ptr @.str8806, ptr %t403 %t13794 = load ptr, ptr %t410 %t13795 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 1 %t13796 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 2 %t13797 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 0 %t13798 = load i32, ptr %t13795 %t13799 = load i32, ptr %t13796 %t13800 = icmp sge i32 %t13798, %t13799 br i1 %t13800, label %grow2794, label %put2795 grow2794: %t13801 = mul i32 %t13799, 2 %t13802 = icmp eq i32 %t13799, 0 %t13803 = select i1 %t13802, i32 8, i32 %t13801 %t13804 = getelementptr ptr, ptr null, i32 1 %t13805 = ptrtoint ptr %t13804 to i64 %t13806 = zext i32 %t13803 to i64 %t13807 = mul i64 %t13806, %t13805 %t13808 = load ptr, ptr %t13797 %t13809 = call ptr @realloc(ptr %t13808, i64 %t13807) store ptr %t13809, ptr %t13797 store i32 %t13803, ptr %t13796 br label %put2795 put2795: %t13810 = load ptr, ptr %t13797 %t13811 = getelementptr inbounds ptr, ptr %t13810, i32 %t13798 store ptr @.str8807, ptr %t13811 %t13812 = add i32 %t13798, 1 store i32 %t13812, ptr %t13795 br label %ifend2793 ifend2793: %t13813 = load ptr, ptr %t1 %t13814 = call i32 @lp_str_eq(ptr %t13813, ptr @.str8808) %t13815 = icmp ne i32 %t13814, 0 br i1 %t13815, label %then2796, label %ifend2798 then2796: store ptr @.str8809, ptr %t403 %t13816 = load ptr, ptr %t410 %t13817 = getelementptr inbounds %LSlice, ptr %t13816, i32 0, i32 1 %t13818 = getelementptr inbounds %LSlice, ptr %t13816, i32 0, i32 2 %t13819 = getelementptr inbounds %LSlice, ptr %t13816, i32 0, i32 0 %t13820 = load i32, ptr %t13817 %t13821 = load i32, ptr %t13818 %t13822 = icmp sge i32 %t13820, %t13821 br i1 %t13822, label %grow2799, label %put2800 grow2799: %t13823 = mul i32 %t13821, 2 %t13824 = icmp eq i32 %t13821, 0 %t13825 = select i1 %t13824, i32 8, i32 %t13823 %t13826 = getelementptr ptr, ptr null, i32 1 %t13827 = ptrtoint ptr %t13826 to i64 %t13828 = zext i32 %t13825 to i64 %t13829 = mul i64 %t13828, %t13827 %t13830 = load ptr, ptr %t13819 %t13831 = call ptr @realloc(ptr %t13830, i64 %t13829) store ptr %t13831, ptr %t13819 store i32 %t13825, ptr %t13818 br label %put2800 put2800: %t13832 = load ptr, ptr %t13819 %t13833 = getelementptr inbounds ptr, ptr %t13832, i32 %t13820 store ptr @.str8810, ptr %t13833 %t13834 = add i32 %t13820, 1 store i32 %t13834, ptr %t13817 br label %ifend2798 ifend2798: %t13835 = load ptr, ptr %t1 %t13836 = call i32 @lp_str_eq(ptr %t13835, ptr @.str8811) %t13837 = icmp ne i32 %t13836, 0 br i1 %t13837, label %then2801, label %ifend2803 then2801: store ptr @.str8812, ptr %t403 %t13838 = load ptr, ptr %t410 %t13839 = getelementptr inbounds %LSlice, ptr %t13838, i32 0, i32 1 %t13840 = getelementptr inbounds %LSlice, ptr %t13838, i32 0, i32 2 %t13841 = getelementptr inbounds %LSlice, ptr %t13838, i32 0, i32 0 %t13842 = load i32, ptr %t13839 %t13843 = load i32, ptr %t13840 %t13844 = icmp sge i32 %t13842, %t13843 br i1 %t13844, label %grow2804, label %put2805 grow2804: %t13845 = mul i32 %t13843, 2 %t13846 = icmp eq i32 %t13843, 0 %t13847 = select i1 %t13846, i32 8, i32 %t13845 %t13848 = getelementptr ptr, ptr null, i32 1 %t13849 = ptrtoint ptr %t13848 to i64 %t13850 = zext i32 %t13847 to i64 %t13851 = mul i64 %t13850, %t13849 %t13852 = load ptr, ptr %t13841 %t13853 = call ptr @realloc(ptr %t13852, i64 %t13851) store ptr %t13853, ptr %t13841 store i32 %t13847, ptr %t13840 br label %put2805 put2805: %t13854 = load ptr, ptr %t13841 %t13855 = getelementptr inbounds ptr, ptr %t13854, i32 %t13842 store ptr @.str8813, ptr %t13855 %t13856 = add i32 %t13842, 1 store i32 %t13856, ptr %t13839 %t13857 = load ptr, ptr %t410 %t13858 = getelementptr inbounds %LSlice, ptr %t13857, i32 0, i32 1 %t13859 = getelementptr inbounds %LSlice, ptr %t13857, i32 0, i32 2 %t13860 = getelementptr inbounds %LSlice, ptr %t13857, i32 0, i32 0 %t13861 = load i32, ptr %t13858 %t13862 = load i32, ptr %t13859 %t13863 = icmp sge i32 %t13861, %t13862 br i1 %t13863, label %grow2806, label %put2807 grow2806: %t13864 = mul i32 %t13862, 2 %t13865 = icmp eq i32 %t13862, 0 %t13866 = select i1 %t13865, i32 8, i32 %t13864 %t13867 = getelementptr ptr, ptr null, i32 1 %t13868 = ptrtoint ptr %t13867 to i64 %t13869 = zext i32 %t13866 to i64 %t13870 = mul i64 %t13869, %t13868 %t13871 = load ptr, ptr %t13860 %t13872 = call ptr @realloc(ptr %t13871, i64 %t13870) store ptr %t13872, ptr %t13860 store i32 %t13866, ptr %t13859 br label %put2807 put2807: %t13873 = load ptr, ptr %t13860 %t13874 = getelementptr inbounds ptr, ptr %t13873, i32 %t13861 store ptr @.str8814, ptr %t13874 %t13875 = add i32 %t13861, 1 store i32 %t13875, ptr %t13858 br label %ifend2803 ifend2803: %t13876 = load ptr, ptr %t1 %t13877 = call i32 @lp_str_eq(ptr %t13876, ptr @.str8815) %t13878 = icmp ne i32 %t13877, 0 br i1 %t13878, label %then2808, label %ifend2810 then2808: store ptr @.str8816, ptr %t403 %t13879 = load ptr, ptr %t410 %t13880 = getelementptr inbounds %LSlice, ptr %t13879, i32 0, i32 1 %t13881 = getelementptr inbounds %LSlice, ptr %t13879, i32 0, i32 2 %t13882 = getelementptr inbounds %LSlice, ptr %t13879, i32 0, i32 0 %t13883 = load i32, ptr %t13880 %t13884 = load i32, ptr %t13881 %t13885 = icmp sge i32 %t13883, %t13884 br i1 %t13885, label %grow2811, label %put2812 grow2811: %t13886 = mul i32 %t13884, 2 %t13887 = icmp eq i32 %t13884, 0 %t13888 = select i1 %t13887, i32 8, i32 %t13886 %t13889 = getelementptr ptr, ptr null, i32 1 %t13890 = ptrtoint ptr %t13889 to i64 %t13891 = zext i32 %t13888 to i64 %t13892 = mul i64 %t13891, %t13890 %t13893 = load ptr, ptr %t13882 %t13894 = call ptr @realloc(ptr %t13893, i64 %t13892) store ptr %t13894, ptr %t13882 store i32 %t13888, ptr %t13881 br label %put2812 put2812: %t13895 = load ptr, ptr %t13882 %t13896 = getelementptr inbounds ptr, ptr %t13895, i32 %t13883 store ptr @.str8817, ptr %t13896 %t13897 = add i32 %t13883, 1 store i32 %t13897, ptr %t13880 %t13898 = load ptr, ptr %t410 %t13899 = getelementptr inbounds %LSlice, ptr %t13898, i32 0, i32 1 %t13900 = getelementptr inbounds %LSlice, ptr %t13898, i32 0, i32 2 %t13901 = getelementptr inbounds %LSlice, ptr %t13898, i32 0, i32 0 %t13902 = load i32, ptr %t13899 %t13903 = load i32, ptr %t13900 %t13904 = icmp sge i32 %t13902, %t13903 br i1 %t13904, label %grow2813, label %put2814 grow2813: %t13905 = mul i32 %t13903, 2 %t13906 = icmp eq i32 %t13903, 0 %t13907 = select i1 %t13906, i32 8, i32 %t13905 %t13908 = getelementptr ptr, ptr null, i32 1 %t13909 = ptrtoint ptr %t13908 to i64 %t13910 = zext i32 %t13907 to i64 %t13911 = mul i64 %t13910, %t13909 %t13912 = load ptr, ptr %t13901 %t13913 = call ptr @realloc(ptr %t13912, i64 %t13911) store ptr %t13913, ptr %t13901 store i32 %t13907, ptr %t13900 br label %put2814 put2814: %t13914 = load ptr, ptr %t13901 %t13915 = getelementptr inbounds ptr, ptr %t13914, i32 %t13902 store ptr @.str8818, ptr %t13915 %t13916 = add i32 %t13902, 1 store i32 %t13916, ptr %t13899 %t13917 = load ptr, ptr %t410 %t13918 = getelementptr inbounds %LSlice, ptr %t13917, i32 0, i32 1 %t13919 = getelementptr inbounds %LSlice, ptr %t13917, i32 0, i32 2 %t13920 = getelementptr inbounds %LSlice, ptr %t13917, i32 0, i32 0 %t13921 = load i32, ptr %t13918 %t13922 = load i32, ptr %t13919 %t13923 = icmp sge i32 %t13921, %t13922 br i1 %t13923, label %grow2815, label %put2816 grow2815: %t13924 = mul i32 %t13922, 2 %t13925 = icmp eq i32 %t13922, 0 %t13926 = select i1 %t13925, i32 8, i32 %t13924 %t13927 = getelementptr ptr, ptr null, i32 1 %t13928 = ptrtoint ptr %t13927 to i64 %t13929 = zext i32 %t13926 to i64 %t13930 = mul i64 %t13929, %t13928 %t13931 = load ptr, ptr %t13920 %t13932 = call ptr @realloc(ptr %t13931, i64 %t13930) store ptr %t13932, ptr %t13920 store i32 %t13926, ptr %t13919 br label %put2816 put2816: %t13933 = load ptr, ptr %t13920 %t13934 = getelementptr inbounds ptr, ptr %t13933, i32 %t13921 store ptr @.str8819, ptr %t13934 %t13935 = add i32 %t13921, 1 store i32 %t13935, ptr %t13918 br label %ifend2810 ifend2810: %t13936 = load ptr, ptr %t1 %t13937 = call i32 @lp_str_eq(ptr %t13936, ptr @.str8820) %t13938 = icmp ne i32 %t13937, 0 br i1 %t13938, label %then2817, label %ifend2819 then2817: store ptr @.str8821, ptr %t403 %t13939 = load ptr, ptr %t410 %t13940 = getelementptr inbounds %LSlice, ptr %t13939, i32 0, i32 1 %t13941 = getelementptr inbounds %LSlice, ptr %t13939, i32 0, i32 2 %t13942 = getelementptr inbounds %LSlice, ptr %t13939, i32 0, i32 0 %t13943 = load i32, ptr %t13940 %t13944 = load i32, ptr %t13941 %t13945 = icmp sge i32 %t13943, %t13944 br i1 %t13945, label %grow2820, label %put2821 grow2820: %t13946 = mul i32 %t13944, 2 %t13947 = icmp eq i32 %t13944, 0 %t13948 = select i1 %t13947, i32 8, i32 %t13946 %t13949 = getelementptr ptr, ptr null, i32 1 %t13950 = ptrtoint ptr %t13949 to i64 %t13951 = zext i32 %t13948 to i64 %t13952 = mul i64 %t13951, %t13950 %t13953 = load ptr, ptr %t13942 %t13954 = call ptr @realloc(ptr %t13953, i64 %t13952) store ptr %t13954, ptr %t13942 store i32 %t13948, ptr %t13941 br label %put2821 put2821: %t13955 = load ptr, ptr %t13942 %t13956 = getelementptr inbounds ptr, ptr %t13955, i32 %t13943 store ptr @.str8822, ptr %t13956 %t13957 = add i32 %t13943, 1 store i32 %t13957, ptr %t13940 %t13958 = load ptr, ptr %t410 %t13959 = getelementptr inbounds %LSlice, ptr %t13958, i32 0, i32 1 %t13960 = getelementptr inbounds %LSlice, ptr %t13958, i32 0, i32 2 %t13961 = getelementptr inbounds %LSlice, ptr %t13958, i32 0, i32 0 %t13962 = load i32, ptr %t13959 %t13963 = load i32, ptr %t13960 %t13964 = icmp sge i32 %t13962, %t13963 br i1 %t13964, label %grow2822, label %put2823 grow2822: %t13965 = mul i32 %t13963, 2 %t13966 = icmp eq i32 %t13963, 0 %t13967 = select i1 %t13966, i32 8, i32 %t13965 %t13968 = getelementptr ptr, ptr null, i32 1 %t13969 = ptrtoint ptr %t13968 to i64 %t13970 = zext i32 %t13967 to i64 %t13971 = mul i64 %t13970, %t13969 %t13972 = load ptr, ptr %t13961 %t13973 = call ptr @realloc(ptr %t13972, i64 %t13971) store ptr %t13973, ptr %t13961 store i32 %t13967, ptr %t13960 br label %put2823 put2823: %t13974 = load ptr, ptr %t13961 %t13975 = getelementptr inbounds ptr, ptr %t13974, i32 %t13962 store ptr @.str8823, ptr %t13975 %t13976 = add i32 %t13962, 1 store i32 %t13976, ptr %t13959 %t13977 = load ptr, ptr %t410 %t13978 = getelementptr inbounds %LSlice, ptr %t13977, i32 0, i32 1 %t13979 = getelementptr inbounds %LSlice, ptr %t13977, i32 0, i32 2 %t13980 = getelementptr inbounds %LSlice, ptr %t13977, i32 0, i32 0 %t13981 = load i32, ptr %t13978 %t13982 = load i32, ptr %t13979 %t13983 = icmp sge i32 %t13981, %t13982 br i1 %t13983, label %grow2824, label %put2825 grow2824: %t13984 = mul i32 %t13982, 2 %t13985 = icmp eq i32 %t13982, 0 %t13986 = select i1 %t13985, i32 8, i32 %t13984 %t13987 = getelementptr ptr, ptr null, i32 1 %t13988 = ptrtoint ptr %t13987 to i64 %t13989 = zext i32 %t13986 to i64 %t13990 = mul i64 %t13989, %t13988 %t13991 = load ptr, ptr %t13980 %t13992 = call ptr @realloc(ptr %t13991, i64 %t13990) store ptr %t13992, ptr %t13980 store i32 %t13986, ptr %t13979 br label %put2825 put2825: %t13993 = load ptr, ptr %t13980 %t13994 = getelementptr inbounds ptr, ptr %t13993, i32 %t13981 store ptr @.str8824, ptr %t13994 %t13995 = add i32 %t13981, 1 store i32 %t13995, ptr %t13978 %t13996 = load ptr, ptr %t410 %t13997 = getelementptr inbounds %LSlice, ptr %t13996, i32 0, i32 1 %t13998 = getelementptr inbounds %LSlice, ptr %t13996, i32 0, i32 2 %t13999 = getelementptr inbounds %LSlice, ptr %t13996, i32 0, i32 0 %t14000 = load i32, ptr %t13997 %t14001 = load i32, ptr %t13998 %t14002 = icmp sge i32 %t14000, %t14001 br i1 %t14002, label %grow2826, label %put2827 grow2826: %t14003 = mul i32 %t14001, 2 %t14004 = icmp eq i32 %t14001, 0 %t14005 = select i1 %t14004, i32 8, i32 %t14003 %t14006 = getelementptr ptr, ptr null, i32 1 %t14007 = ptrtoint ptr %t14006 to i64 %t14008 = zext i32 %t14005 to i64 %t14009 = mul i64 %t14008, %t14007 %t14010 = load ptr, ptr %t13999 %t14011 = call ptr @realloc(ptr %t14010, i64 %t14009) store ptr %t14011, ptr %t13999 store i32 %t14005, ptr %t13998 br label %put2827 put2827: %t14012 = load ptr, ptr %t13999 %t14013 = getelementptr inbounds ptr, ptr %t14012, i32 %t14000 store ptr @.str8825, ptr %t14013 %t14014 = add i32 %t14000, 1 store i32 %t14014, ptr %t13997 br label %ifend2819 ifend2819: %t14015 = load ptr, ptr %t1 %t14016 = call i32 @lp_str_eq(ptr %t14015, ptr @.str8826) %t14017 = icmp ne i32 %t14016, 0 br i1 %t14017, label %then2828, label %ifend2830 then2828: store ptr @.str8827, ptr %t403 %t14018 = load ptr, ptr %t410 %t14019 = getelementptr inbounds %LSlice, ptr %t14018, i32 0, i32 1 %t14020 = getelementptr inbounds %LSlice, ptr %t14018, i32 0, i32 2 %t14021 = getelementptr inbounds %LSlice, ptr %t14018, i32 0, i32 0 %t14022 = load i32, ptr %t14019 %t14023 = load i32, ptr %t14020 %t14024 = icmp sge i32 %t14022, %t14023 br i1 %t14024, label %grow2831, label %put2832 grow2831: %t14025 = mul i32 %t14023, 2 %t14026 = icmp eq i32 %t14023, 0 %t14027 = select i1 %t14026, i32 8, i32 %t14025 %t14028 = getelementptr ptr, ptr null, i32 1 %t14029 = ptrtoint ptr %t14028 to i64 %t14030 = zext i32 %t14027 to i64 %t14031 = mul i64 %t14030, %t14029 %t14032 = load ptr, ptr %t14021 %t14033 = call ptr @realloc(ptr %t14032, i64 %t14031) store ptr %t14033, ptr %t14021 store i32 %t14027, ptr %t14020 br label %put2832 put2832: %t14034 = load ptr, ptr %t14021 %t14035 = getelementptr inbounds ptr, ptr %t14034, i32 %t14022 store ptr @.str8828, ptr %t14035 %t14036 = add i32 %t14022, 1 store i32 %t14036, ptr %t14019 %t14037 = load ptr, ptr %t410 %t14038 = getelementptr inbounds %LSlice, ptr %t14037, i32 0, i32 1 %t14039 = getelementptr inbounds %LSlice, ptr %t14037, i32 0, i32 2 %t14040 = getelementptr inbounds %LSlice, ptr %t14037, i32 0, i32 0 %t14041 = load i32, ptr %t14038 %t14042 = load i32, ptr %t14039 %t14043 = icmp sge i32 %t14041, %t14042 br i1 %t14043, label %grow2833, label %put2834 grow2833: %t14044 = mul i32 %t14042, 2 %t14045 = icmp eq i32 %t14042, 0 %t14046 = select i1 %t14045, i32 8, i32 %t14044 %t14047 = getelementptr ptr, ptr null, i32 1 %t14048 = ptrtoint ptr %t14047 to i64 %t14049 = zext i32 %t14046 to i64 %t14050 = mul i64 %t14049, %t14048 %t14051 = load ptr, ptr %t14040 %t14052 = call ptr @realloc(ptr %t14051, i64 %t14050) store ptr %t14052, ptr %t14040 store i32 %t14046, ptr %t14039 br label %put2834 put2834: %t14053 = load ptr, ptr %t14040 %t14054 = getelementptr inbounds ptr, ptr %t14053, i32 %t14041 store ptr @.str8829, ptr %t14054 %t14055 = add i32 %t14041, 1 store i32 %t14055, ptr %t14038 %t14056 = load ptr, ptr %t410 %t14057 = getelementptr inbounds %LSlice, ptr %t14056, i32 0, i32 1 %t14058 = getelementptr inbounds %LSlice, ptr %t14056, i32 0, i32 2 %t14059 = getelementptr inbounds %LSlice, ptr %t14056, i32 0, i32 0 %t14060 = load i32, ptr %t14057 %t14061 = load i32, ptr %t14058 %t14062 = icmp sge i32 %t14060, %t14061 br i1 %t14062, label %grow2835, label %put2836 grow2835: %t14063 = mul i32 %t14061, 2 %t14064 = icmp eq i32 %t14061, 0 %t14065 = select i1 %t14064, i32 8, i32 %t14063 %t14066 = getelementptr ptr, ptr null, i32 1 %t14067 = ptrtoint ptr %t14066 to i64 %t14068 = zext i32 %t14065 to i64 %t14069 = mul i64 %t14068, %t14067 %t14070 = load ptr, ptr %t14059 %t14071 = call ptr @realloc(ptr %t14070, i64 %t14069) store ptr %t14071, ptr %t14059 store i32 %t14065, ptr %t14058 br label %put2836 put2836: %t14072 = load ptr, ptr %t14059 %t14073 = getelementptr inbounds ptr, ptr %t14072, i32 %t14060 store ptr @.str8830, ptr %t14073 %t14074 = add i32 %t14060, 1 store i32 %t14074, ptr %t14057 br label %ifend2830 ifend2830: %t14075 = load ptr, ptr %t1 %t14076 = call i32 @lp_str_eq(ptr %t14075, ptr @.str8831) %t14077 = icmp ne i32 %t14076, 0 br i1 %t14077, label %then2837, label %ifend2839 then2837: store ptr @.str8832, ptr %t403 %t14078 = load ptr, ptr %t410 %t14079 = getelementptr inbounds %LSlice, ptr %t14078, i32 0, i32 1 %t14080 = getelementptr inbounds %LSlice, ptr %t14078, i32 0, i32 2 %t14081 = getelementptr inbounds %LSlice, ptr %t14078, i32 0, i32 0 %t14082 = load i32, ptr %t14079 %t14083 = load i32, ptr %t14080 %t14084 = icmp sge i32 %t14082, %t14083 br i1 %t14084, label %grow2840, label %put2841 grow2840: %t14085 = mul i32 %t14083, 2 %t14086 = icmp eq i32 %t14083, 0 %t14087 = select i1 %t14086, i32 8, i32 %t14085 %t14088 = getelementptr ptr, ptr null, i32 1 %t14089 = ptrtoint ptr %t14088 to i64 %t14090 = zext i32 %t14087 to i64 %t14091 = mul i64 %t14090, %t14089 %t14092 = load ptr, ptr %t14081 %t14093 = call ptr @realloc(ptr %t14092, i64 %t14091) store ptr %t14093, ptr %t14081 store i32 %t14087, ptr %t14080 br label %put2841 put2841: %t14094 = load ptr, ptr %t14081 %t14095 = getelementptr inbounds ptr, ptr %t14094, i32 %t14082 store ptr @.str8833, ptr %t14095 %t14096 = add i32 %t14082, 1 store i32 %t14096, ptr %t14079 %t14097 = load ptr, ptr %t410 %t14098 = getelementptr inbounds %LSlice, ptr %t14097, i32 0, i32 1 %t14099 = getelementptr inbounds %LSlice, ptr %t14097, i32 0, i32 2 %t14100 = getelementptr inbounds %LSlice, ptr %t14097, i32 0, i32 0 %t14101 = load i32, ptr %t14098 %t14102 = load i32, ptr %t14099 %t14103 = icmp sge i32 %t14101, %t14102 br i1 %t14103, label %grow2842, label %put2843 grow2842: %t14104 = mul i32 %t14102, 2 %t14105 = icmp eq i32 %t14102, 0 %t14106 = select i1 %t14105, i32 8, i32 %t14104 %t14107 = getelementptr ptr, ptr null, i32 1 %t14108 = ptrtoint ptr %t14107 to i64 %t14109 = zext i32 %t14106 to i64 %t14110 = mul i64 %t14109, %t14108 %t14111 = load ptr, ptr %t14100 %t14112 = call ptr @realloc(ptr %t14111, i64 %t14110) store ptr %t14112, ptr %t14100 store i32 %t14106, ptr %t14099 br label %put2843 put2843: %t14113 = load ptr, ptr %t14100 %t14114 = getelementptr inbounds ptr, ptr %t14113, i32 %t14101 store ptr @.str8834, ptr %t14114 %t14115 = add i32 %t14101, 1 store i32 %t14115, ptr %t14098 br label %ifend2839 ifend2839: %t14116 = load ptr, ptr %t1 %t14117 = call i32 @lp_str_eq(ptr %t14116, ptr @.str8835) %t14118 = icmp ne i32 %t14117, 0 br i1 %t14118, label %then2844, label %ifend2846 then2844: store ptr @.str8836, ptr %t403 %t14119 = load ptr, ptr %t410 %t14120 = getelementptr inbounds %LSlice, ptr %t14119, i32 0, i32 1 %t14121 = getelementptr inbounds %LSlice, ptr %t14119, i32 0, i32 2 %t14122 = getelementptr inbounds %LSlice, ptr %t14119, i32 0, i32 0 %t14123 = load i32, ptr %t14120 %t14124 = load i32, ptr %t14121 %t14125 = icmp sge i32 %t14123, %t14124 br i1 %t14125, label %grow2847, label %put2848 grow2847: %t14126 = mul i32 %t14124, 2 %t14127 = icmp eq i32 %t14124, 0 %t14128 = select i1 %t14127, i32 8, i32 %t14126 %t14129 = getelementptr ptr, ptr null, i32 1 %t14130 = ptrtoint ptr %t14129 to i64 %t14131 = zext i32 %t14128 to i64 %t14132 = mul i64 %t14131, %t14130 %t14133 = load ptr, ptr %t14122 %t14134 = call ptr @realloc(ptr %t14133, i64 %t14132) store ptr %t14134, ptr %t14122 store i32 %t14128, ptr %t14121 br label %put2848 put2848: %t14135 = load ptr, ptr %t14122 %t14136 = getelementptr inbounds ptr, ptr %t14135, i32 %t14123 store ptr @.str8837, ptr %t14136 %t14137 = add i32 %t14123, 1 store i32 %t14137, ptr %t14120 %t14138 = load ptr, ptr %t410 %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 %grow2849, label %put2850 grow2849: %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 %put2850 put2850: %t14154 = load ptr, ptr %t14141 %t14155 = getelementptr inbounds ptr, ptr %t14154, i32 %t14142 store ptr @.str8838, ptr %t14155 %t14156 = add i32 %t14142, 1 store i32 %t14156, ptr %t14139 br label %ifend2846 ifend2846: %t14157 = load ptr, ptr %t1 %t14158 = call i32 @lp_str_eq(ptr %t14157, ptr @.str8839) %t14159 = icmp ne i32 %t14158, 0 br i1 %t14159, label %then2851, label %ifend2853 then2851: store ptr @.str8840, ptr %t403 %t14160 = load ptr, ptr %t410 %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 %grow2854, label %put2855 grow2854: %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 %put2855 put2855: %t14176 = load ptr, ptr %t14163 %t14177 = getelementptr inbounds ptr, ptr %t14176, i32 %t14164 store ptr @.str8841, ptr %t14177 %t14178 = add i32 %t14164, 1 store i32 %t14178, ptr %t14161 %t14179 = load ptr, ptr %t410 %t14180 = getelementptr inbounds %LSlice, ptr %t14179, i32 0, i32 1 %t14181 = getelementptr inbounds %LSlice, ptr %t14179, i32 0, i32 2 %t14182 = getelementptr inbounds %LSlice, ptr %t14179, i32 0, i32 0 %t14183 = load i32, ptr %t14180 %t14184 = load i32, ptr %t14181 %t14185 = icmp sge i32 %t14183, %t14184 br i1 %t14185, label %grow2856, label %put2857 grow2856: %t14186 = mul i32 %t14184, 2 %t14187 = icmp eq i32 %t14184, 0 %t14188 = select i1 %t14187, i32 8, i32 %t14186 %t14189 = getelementptr ptr, ptr null, i32 1 %t14190 = ptrtoint ptr %t14189 to i64 %t14191 = zext i32 %t14188 to i64 %t14192 = mul i64 %t14191, %t14190 %t14193 = load ptr, ptr %t14182 %t14194 = call ptr @realloc(ptr %t14193, i64 %t14192) store ptr %t14194, ptr %t14182 store i32 %t14188, ptr %t14181 br label %put2857 put2857: %t14195 = load ptr, ptr %t14182 %t14196 = getelementptr inbounds ptr, ptr %t14195, i32 %t14183 store ptr @.str8842, ptr %t14196 %t14197 = add i32 %t14183, 1 store i32 %t14197, ptr %t14180 br label %ifend2853 ifend2853: %t14198 = load ptr, ptr %t1 %t14199 = call i32 @lp_str_eq(ptr %t14198, ptr @.str8843) %t14200 = icmp ne i32 %t14199, 0 br i1 %t14200, label %then2858, label %ifend2860 then2858: store ptr @.str8844, ptr %t403 %t14201 = load ptr, ptr %t410 %t14202 = getelementptr inbounds %LSlice, ptr %t14201, i32 0, i32 1 %t14203 = getelementptr inbounds %LSlice, ptr %t14201, i32 0, i32 2 %t14204 = getelementptr inbounds %LSlice, ptr %t14201, i32 0, i32 0 %t14205 = load i32, ptr %t14202 %t14206 = load i32, ptr %t14203 %t14207 = icmp sge i32 %t14205, %t14206 br i1 %t14207, label %grow2861, label %put2862 grow2861: %t14208 = mul i32 %t14206, 2 %t14209 = icmp eq i32 %t14206, 0 %t14210 = select i1 %t14209, i32 8, i32 %t14208 %t14211 = getelementptr ptr, ptr null, i32 1 %t14212 = ptrtoint ptr %t14211 to i64 %t14213 = zext i32 %t14210 to i64 %t14214 = mul i64 %t14213, %t14212 %t14215 = load ptr, ptr %t14204 %t14216 = call ptr @realloc(ptr %t14215, i64 %t14214) store ptr %t14216, ptr %t14204 store i32 %t14210, ptr %t14203 br label %put2862 put2862: %t14217 = load ptr, ptr %t14204 %t14218 = getelementptr inbounds ptr, ptr %t14217, i32 %t14205 store ptr @.str8845, ptr %t14218 %t14219 = add i32 %t14205, 1 store i32 %t14219, ptr %t14202 %t14220 = load ptr, ptr %t410 %t14221 = getelementptr inbounds %LSlice, ptr %t14220, i32 0, i32 1 %t14222 = getelementptr inbounds %LSlice, ptr %t14220, i32 0, i32 2 %t14223 = getelementptr inbounds %LSlice, ptr %t14220, i32 0, i32 0 %t14224 = load i32, ptr %t14221 %t14225 = load i32, ptr %t14222 %t14226 = icmp sge i32 %t14224, %t14225 br i1 %t14226, label %grow2863, label %put2864 grow2863: %t14227 = mul i32 %t14225, 2 %t14228 = icmp eq i32 %t14225, 0 %t14229 = select i1 %t14228, i32 8, i32 %t14227 %t14230 = getelementptr ptr, ptr null, i32 1 %t14231 = ptrtoint ptr %t14230 to i64 %t14232 = zext i32 %t14229 to i64 %t14233 = mul i64 %t14232, %t14231 %t14234 = load ptr, ptr %t14223 %t14235 = call ptr @realloc(ptr %t14234, i64 %t14233) store ptr %t14235, ptr %t14223 store i32 %t14229, ptr %t14222 br label %put2864 put2864: %t14236 = load ptr, ptr %t14223 %t14237 = getelementptr inbounds ptr, ptr %t14236, i32 %t14224 store ptr @.str8846, ptr %t14237 %t14238 = add i32 %t14224, 1 store i32 %t14238, ptr %t14221 br label %ifend2860 ifend2860: %t14239 = load ptr, ptr %t1 %t14240 = call i32 @lp_str_eq(ptr %t14239, ptr @.str8847) %t14241 = icmp ne i32 %t14240, 0 br i1 %t14241, label %then2865, label %ifend2867 then2865: store ptr @.str8848, ptr %t403 %t14242 = load ptr, ptr %t410 %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 %grow2868, label %put2869 grow2868: %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 %put2869 put2869: %t14258 = load ptr, ptr %t14245 %t14259 = getelementptr inbounds ptr, ptr %t14258, i32 %t14246 store ptr @.str8849, ptr %t14259 %t14260 = add i32 %t14246, 1 store i32 %t14260, ptr %t14243 br label %ifend2867 ifend2867: %t14261 = load ptr, ptr %t1 %t14262 = call i32 @lp_str_eq(ptr %t14261, ptr @.str8850) %t14263 = icmp ne i32 %t14262, 0 br i1 %t14263, label %then2870, label %ifend2872 then2870: store ptr @.str8851, ptr %t403 %t14264 = load ptr, ptr %t410 %t14265 = getelementptr inbounds %LSlice, ptr %t14264, i32 0, i32 1 %t14266 = getelementptr inbounds %LSlice, ptr %t14264, i32 0, i32 2 %t14267 = getelementptr inbounds %LSlice, ptr %t14264, i32 0, i32 0 %t14268 = load i32, ptr %t14265 %t14269 = load i32, ptr %t14266 %t14270 = icmp sge i32 %t14268, %t14269 br i1 %t14270, label %grow2873, label %put2874 grow2873: %t14271 = mul i32 %t14269, 2 %t14272 = icmp eq i32 %t14269, 0 %t14273 = select i1 %t14272, i32 8, i32 %t14271 %t14274 = getelementptr ptr, ptr null, i32 1 %t14275 = ptrtoint ptr %t14274 to i64 %t14276 = zext i32 %t14273 to i64 %t14277 = mul i64 %t14276, %t14275 %t14278 = load ptr, ptr %t14267 %t14279 = call ptr @realloc(ptr %t14278, i64 %t14277) store ptr %t14279, ptr %t14267 store i32 %t14273, ptr %t14266 br label %put2874 put2874: %t14280 = load ptr, ptr %t14267 %t14281 = getelementptr inbounds ptr, ptr %t14280, i32 %t14268 store ptr @.str8852, ptr %t14281 %t14282 = add i32 %t14268, 1 store i32 %t14282, ptr %t14265 %t14283 = load ptr, ptr %t410 %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 %grow2875, label %put2876 grow2875: %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 %put2876 put2876: %t14299 = load ptr, ptr %t14286 %t14300 = getelementptr inbounds ptr, ptr %t14299, i32 %t14287 store ptr @.str8853, ptr %t14300 %t14301 = add i32 %t14287, 1 store i32 %t14301, ptr %t14284 %t14302 = load ptr, ptr %t410 %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 %grow2877, label %put2878 grow2877: %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 %put2878 put2878: %t14318 = load ptr, ptr %t14305 %t14319 = getelementptr inbounds ptr, ptr %t14318, i32 %t14306 store ptr @.str8854, ptr %t14319 %t14320 = add i32 %t14306, 1 store i32 %t14320, ptr %t14303 br label %ifend2872 ifend2872: %t14321 = load ptr, ptr %t1 %t14322 = call i32 @lp_str_eq(ptr %t14321, ptr @.str8855) %t14323 = icmp ne i32 %t14322, 0 br i1 %t14323, label %then2879, label %ifend2881 then2879: store ptr @.str8856, ptr %t403 %t14324 = load ptr, ptr %t410 %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 %grow2882, label %put2883 grow2882: %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 %put2883 put2883: %t14340 = load ptr, ptr %t14327 %t14341 = getelementptr inbounds ptr, ptr %t14340, i32 %t14328 store ptr @.str8857, ptr %t14341 %t14342 = add i32 %t14328, 1 store i32 %t14342, ptr %t14325 %t14343 = load ptr, ptr %t410 %t14344 = getelementptr inbounds %LSlice, ptr %t14343, i32 0, i32 1 %t14345 = getelementptr inbounds %LSlice, ptr %t14343, i32 0, i32 2 %t14346 = getelementptr inbounds %LSlice, ptr %t14343, i32 0, i32 0 %t14347 = load i32, ptr %t14344 %t14348 = load i32, ptr %t14345 %t14349 = icmp sge i32 %t14347, %t14348 br i1 %t14349, label %grow2884, label %put2885 grow2884: %t14350 = mul i32 %t14348, 2 %t14351 = icmp eq i32 %t14348, 0 %t14352 = select i1 %t14351, i32 8, i32 %t14350 %t14353 = getelementptr ptr, ptr null, i32 1 %t14354 = ptrtoint ptr %t14353 to i64 %t14355 = zext i32 %t14352 to i64 %t14356 = mul i64 %t14355, %t14354 %t14357 = load ptr, ptr %t14346 %t14358 = call ptr @realloc(ptr %t14357, i64 %t14356) store ptr %t14358, ptr %t14346 store i32 %t14352, ptr %t14345 br label %put2885 put2885: %t14359 = load ptr, ptr %t14346 %t14360 = getelementptr inbounds ptr, ptr %t14359, i32 %t14347 store ptr @.str8858, ptr %t14360 %t14361 = add i32 %t14347, 1 store i32 %t14361, ptr %t14344 br label %ifend2881 ifend2881: %t14362 = load ptr, ptr %t1 %t14363 = call i32 @lp_str_eq(ptr %t14362, ptr @.str8859) %t14364 = icmp ne i32 %t14363, 0 br i1 %t14364, label %then2886, label %ifend2888 then2886: store ptr @.str8860, ptr %t403 %t14365 = load ptr, ptr %t410 %t14366 = getelementptr inbounds %LSlice, ptr %t14365, i32 0, i32 1 %t14367 = getelementptr inbounds %LSlice, ptr %t14365, i32 0, i32 2 %t14368 = getelementptr inbounds %LSlice, ptr %t14365, i32 0, i32 0 %t14369 = load i32, ptr %t14366 %t14370 = load i32, ptr %t14367 %t14371 = icmp sge i32 %t14369, %t14370 br i1 %t14371, label %grow2889, label %put2890 grow2889: %t14372 = mul i32 %t14370, 2 %t14373 = icmp eq i32 %t14370, 0 %t14374 = select i1 %t14373, i32 8, i32 %t14372 %t14375 = getelementptr ptr, ptr null, i32 1 %t14376 = ptrtoint ptr %t14375 to i64 %t14377 = zext i32 %t14374 to i64 %t14378 = mul i64 %t14377, %t14376 %t14379 = load ptr, ptr %t14368 %t14380 = call ptr @realloc(ptr %t14379, i64 %t14378) store ptr %t14380, ptr %t14368 store i32 %t14374, ptr %t14367 br label %put2890 put2890: %t14381 = load ptr, ptr %t14368 %t14382 = getelementptr inbounds ptr, ptr %t14381, i32 %t14369 store ptr @.str8861, ptr %t14382 %t14383 = add i32 %t14369, 1 store i32 %t14383, ptr %t14366 %t14384 = load ptr, ptr %t410 %t14385 = getelementptr inbounds %LSlice, ptr %t14384, i32 0, i32 1 %t14386 = getelementptr inbounds %LSlice, ptr %t14384, i32 0, i32 2 %t14387 = getelementptr inbounds %LSlice, ptr %t14384, i32 0, i32 0 %t14388 = load i32, ptr %t14385 %t14389 = load i32, ptr %t14386 %t14390 = icmp sge i32 %t14388, %t14389 br i1 %t14390, label %grow2891, label %put2892 grow2891: %t14391 = mul i32 %t14389, 2 %t14392 = icmp eq i32 %t14389, 0 %t14393 = select i1 %t14392, i32 8, i32 %t14391 %t14394 = getelementptr ptr, ptr null, i32 1 %t14395 = ptrtoint ptr %t14394 to i64 %t14396 = zext i32 %t14393 to i64 %t14397 = mul i64 %t14396, %t14395 %t14398 = load ptr, ptr %t14387 %t14399 = call ptr @realloc(ptr %t14398, i64 %t14397) store ptr %t14399, ptr %t14387 store i32 %t14393, ptr %t14386 br label %put2892 put2892: %t14400 = load ptr, ptr %t14387 %t14401 = getelementptr inbounds ptr, ptr %t14400, i32 %t14388 store ptr @.str8862, ptr %t14401 %t14402 = add i32 %t14388, 1 store i32 %t14402, ptr %t14385 br label %ifend2888 ifend2888: %t14403 = load ptr, ptr %t1 %t14404 = call i32 @lp_str_eq(ptr %t14403, ptr @.str8863) %t14405 = icmp ne i32 %t14404, 0 br i1 %t14405, label %then2893, label %ifend2895 then2893: store ptr @.str8864, ptr %t403 %t14406 = load ptr, ptr %t410 %t14407 = getelementptr inbounds %LSlice, ptr %t14406, i32 0, i32 1 %t14408 = getelementptr inbounds %LSlice, ptr %t14406, i32 0, i32 2 %t14409 = getelementptr inbounds %LSlice, ptr %t14406, i32 0, i32 0 %t14410 = load i32, ptr %t14407 %t14411 = load i32, ptr %t14408 %t14412 = icmp sge i32 %t14410, %t14411 br i1 %t14412, label %grow2896, label %put2897 grow2896: %t14413 = mul i32 %t14411, 2 %t14414 = icmp eq i32 %t14411, 0 %t14415 = select i1 %t14414, i32 8, i32 %t14413 %t14416 = getelementptr ptr, ptr null, i32 1 %t14417 = ptrtoint ptr %t14416 to i64 %t14418 = zext i32 %t14415 to i64 %t14419 = mul i64 %t14418, %t14417 %t14420 = load ptr, ptr %t14409 %t14421 = call ptr @realloc(ptr %t14420, i64 %t14419) store ptr %t14421, ptr %t14409 store i32 %t14415, ptr %t14408 br label %put2897 put2897: %t14422 = load ptr, ptr %t14409 %t14423 = getelementptr inbounds ptr, ptr %t14422, i32 %t14410 store ptr @.str8865, ptr %t14423 %t14424 = add i32 %t14410, 1 store i32 %t14424, ptr %t14407 %t14425 = load ptr, ptr %t410 %t14426 = getelementptr inbounds %LSlice, ptr %t14425, i32 0, i32 1 %t14427 = getelementptr inbounds %LSlice, ptr %t14425, i32 0, i32 2 %t14428 = getelementptr inbounds %LSlice, ptr %t14425, i32 0, i32 0 %t14429 = load i32, ptr %t14426 %t14430 = load i32, ptr %t14427 %t14431 = icmp sge i32 %t14429, %t14430 br i1 %t14431, label %grow2898, label %put2899 grow2898: %t14432 = mul i32 %t14430, 2 %t14433 = icmp eq i32 %t14430, 0 %t14434 = select i1 %t14433, i32 8, i32 %t14432 %t14435 = getelementptr ptr, ptr null, i32 1 %t14436 = ptrtoint ptr %t14435 to i64 %t14437 = zext i32 %t14434 to i64 %t14438 = mul i64 %t14437, %t14436 %t14439 = load ptr, ptr %t14428 %t14440 = call ptr @realloc(ptr %t14439, i64 %t14438) store ptr %t14440, ptr %t14428 store i32 %t14434, ptr %t14427 br label %put2899 put2899: %t14441 = load ptr, ptr %t14428 %t14442 = getelementptr inbounds ptr, ptr %t14441, i32 %t14429 store ptr @.str8866, ptr %t14442 %t14443 = add i32 %t14429, 1 store i32 %t14443, ptr %t14426 %t14444 = load ptr, ptr %t410 %t14445 = getelementptr inbounds %LSlice, ptr %t14444, i32 0, i32 1 %t14446 = getelementptr inbounds %LSlice, ptr %t14444, i32 0, i32 2 %t14447 = getelementptr inbounds %LSlice, ptr %t14444, i32 0, i32 0 %t14448 = load i32, ptr %t14445 %t14449 = load i32, ptr %t14446 %t14450 = icmp sge i32 %t14448, %t14449 br i1 %t14450, label %grow2900, label %put2901 grow2900: %t14451 = mul i32 %t14449, 2 %t14452 = icmp eq i32 %t14449, 0 %t14453 = select i1 %t14452, i32 8, i32 %t14451 %t14454 = getelementptr ptr, ptr null, i32 1 %t14455 = ptrtoint ptr %t14454 to i64 %t14456 = zext i32 %t14453 to i64 %t14457 = mul i64 %t14456, %t14455 %t14458 = load ptr, ptr %t14447 %t14459 = call ptr @realloc(ptr %t14458, i64 %t14457) store ptr %t14459, ptr %t14447 store i32 %t14453, ptr %t14446 br label %put2901 put2901: %t14460 = load ptr, ptr %t14447 %t14461 = getelementptr inbounds ptr, ptr %t14460, i32 %t14448 store ptr @.str8867, ptr %t14461 %t14462 = add i32 %t14448, 1 store i32 %t14462, ptr %t14445 br label %ifend2895 ifend2895: %t14463 = load ptr, ptr %t1 %t14464 = call i32 @lp_str_eq(ptr %t14463, ptr @.str8868) %t14465 = icmp ne i32 %t14464, 0 br i1 %t14465, label %then2902, label %ifend2904 then2902: store ptr @.str8869, ptr %t403 %t14466 = load ptr, ptr %t410 %t14467 = getelementptr inbounds %LSlice, ptr %t14466, i32 0, i32 1 %t14468 = getelementptr inbounds %LSlice, ptr %t14466, i32 0, i32 2 %t14469 = getelementptr inbounds %LSlice, ptr %t14466, i32 0, i32 0 %t14470 = load i32, ptr %t14467 %t14471 = load i32, ptr %t14468 %t14472 = icmp sge i32 %t14470, %t14471 br i1 %t14472, label %grow2905, label %put2906 grow2905: %t14473 = mul i32 %t14471, 2 %t14474 = icmp eq i32 %t14471, 0 %t14475 = select i1 %t14474, i32 8, i32 %t14473 %t14476 = getelementptr ptr, ptr null, i32 1 %t14477 = ptrtoint ptr %t14476 to i64 %t14478 = zext i32 %t14475 to i64 %t14479 = mul i64 %t14478, %t14477 %t14480 = load ptr, ptr %t14469 %t14481 = call ptr @realloc(ptr %t14480, i64 %t14479) store ptr %t14481, ptr %t14469 store i32 %t14475, ptr %t14468 br label %put2906 put2906: %t14482 = load ptr, ptr %t14469 %t14483 = getelementptr inbounds ptr, ptr %t14482, i32 %t14470 store ptr @.str8870, ptr %t14483 %t14484 = add i32 %t14470, 1 store i32 %t14484, ptr %t14467 br label %ifend2904 ifend2904: %t14485 = load ptr, ptr %t1 %t14486 = call i32 @lp_str_eq(ptr %t14485, ptr @.str8871) %t14487 = icmp ne i32 %t14486, 0 br i1 %t14487, label %then2907, label %ifend2909 then2907: store ptr @.str8872, ptr %t403 %t14488 = load ptr, ptr %t410 %t14489 = getelementptr inbounds %LSlice, ptr %t14488, i32 0, i32 1 %t14490 = getelementptr inbounds %LSlice, ptr %t14488, i32 0, i32 2 %t14491 = getelementptr inbounds %LSlice, ptr %t14488, i32 0, i32 0 %t14492 = load i32, ptr %t14489 %t14493 = load i32, ptr %t14490 %t14494 = icmp sge i32 %t14492, %t14493 br i1 %t14494, label %grow2910, label %put2911 grow2910: %t14495 = mul i32 %t14493, 2 %t14496 = icmp eq i32 %t14493, 0 %t14497 = select i1 %t14496, i32 8, i32 %t14495 %t14498 = getelementptr ptr, ptr null, i32 1 %t14499 = ptrtoint ptr %t14498 to i64 %t14500 = zext i32 %t14497 to i64 %t14501 = mul i64 %t14500, %t14499 %t14502 = load ptr, ptr %t14491 %t14503 = call ptr @realloc(ptr %t14502, i64 %t14501) store ptr %t14503, ptr %t14491 store i32 %t14497, ptr %t14490 br label %put2911 put2911: %t14504 = load ptr, ptr %t14491 %t14505 = getelementptr inbounds ptr, ptr %t14504, i32 %t14492 store ptr @.str8873, ptr %t14505 %t14506 = add i32 %t14492, 1 store i32 %t14506, ptr %t14489 %t14507 = load ptr, ptr %t410 %t14508 = getelementptr inbounds %LSlice, ptr %t14507, i32 0, i32 1 %t14509 = getelementptr inbounds %LSlice, ptr %t14507, i32 0, i32 2 %t14510 = getelementptr inbounds %LSlice, ptr %t14507, i32 0, i32 0 %t14511 = load i32, ptr %t14508 %t14512 = load i32, ptr %t14509 %t14513 = icmp sge i32 %t14511, %t14512 br i1 %t14513, label %grow2912, label %put2913 grow2912: %t14514 = mul i32 %t14512, 2 %t14515 = icmp eq i32 %t14512, 0 %t14516 = select i1 %t14515, i32 8, i32 %t14514 %t14517 = getelementptr ptr, ptr null, i32 1 %t14518 = ptrtoint ptr %t14517 to i64 %t14519 = zext i32 %t14516 to i64 %t14520 = mul i64 %t14519, %t14518 %t14521 = load ptr, ptr %t14510 %t14522 = call ptr @realloc(ptr %t14521, i64 %t14520) store ptr %t14522, ptr %t14510 store i32 %t14516, ptr %t14509 br label %put2913 put2913: %t14523 = load ptr, ptr %t14510 %t14524 = getelementptr inbounds ptr, ptr %t14523, i32 %t14511 store ptr @.str8874, ptr %t14524 %t14525 = add i32 %t14511, 1 store i32 %t14525, ptr %t14508 br label %ifend2909 ifend2909: %t14526 = load ptr, ptr %t1 %t14527 = call i32 @lp_str_eq(ptr %t14526, ptr @.str8875) %t14528 = icmp ne i32 %t14527, 0 br i1 %t14528, label %then2914, label %ifend2916 then2914: store ptr @.str8876, ptr %t403 %t14529 = load ptr, ptr %t410 %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 %grow2917, label %put2918 grow2917: %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 %put2918 put2918: %t14545 = load ptr, ptr %t14532 %t14546 = getelementptr inbounds ptr, ptr %t14545, i32 %t14533 store ptr @.str8877, ptr %t14546 %t14547 = add i32 %t14533, 1 store i32 %t14547, ptr %t14530 %t14548 = load ptr, ptr %t410 %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 %grow2919, label %put2920 grow2919: %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 %put2920 put2920: %t14564 = load ptr, ptr %t14551 %t14565 = getelementptr inbounds ptr, ptr %t14564, i32 %t14552 store ptr @.str8878, ptr %t14565 %t14566 = add i32 %t14552, 1 store i32 %t14566, ptr %t14549 br label %ifend2916 ifend2916: %t14567 = load ptr, ptr %t1 %t14568 = call i32 @lp_str_eq(ptr %t14567, ptr @.str8879) %t14569 = icmp ne i32 %t14568, 0 br i1 %t14569, label %then2921, label %ifend2923 then2921: store ptr @.str8880, ptr %t403 %t14570 = load ptr, ptr %t410 %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 %grow2924, label %put2925 grow2924: %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 %put2925 put2925: %t14586 = load ptr, ptr %t14573 %t14587 = getelementptr inbounds ptr, ptr %t14586, i32 %t14574 store ptr @.str8881, ptr %t14587 %t14588 = add i32 %t14574, 1 store i32 %t14588, ptr %t14571 %t14589 = load ptr, ptr %t410 %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 %grow2926, label %put2927 grow2926: %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 %put2927 put2927: %t14605 = load ptr, ptr %t14592 %t14606 = getelementptr inbounds ptr, ptr %t14605, i32 %t14593 store ptr @.str8882, ptr %t14606 %t14607 = add i32 %t14593, 1 store i32 %t14607, ptr %t14590 br label %ifend2923 ifend2923: %t14608 = load ptr, ptr %t1 %t14609 = call i32 @lp_str_eq(ptr %t14608, ptr @.str8883) %t14610 = icmp ne i32 %t14609, 0 br i1 %t14610, label %then2928, label %ifend2930 then2928: store ptr @.str8884, ptr %t403 %t14611 = load ptr, ptr %t410 %t14612 = getelementptr inbounds %LSlice, ptr %t14611, i32 0, i32 1 %t14613 = getelementptr inbounds %LSlice, ptr %t14611, i32 0, i32 2 %t14614 = getelementptr inbounds %LSlice, ptr %t14611, i32 0, i32 0 %t14615 = load i32, ptr %t14612 %t14616 = load i32, ptr %t14613 %t14617 = icmp sge i32 %t14615, %t14616 br i1 %t14617, label %grow2931, label %put2932 grow2931: %t14618 = mul i32 %t14616, 2 %t14619 = icmp eq i32 %t14616, 0 %t14620 = select i1 %t14619, i32 8, i32 %t14618 %t14621 = getelementptr ptr, ptr null, i32 1 %t14622 = ptrtoint ptr %t14621 to i64 %t14623 = zext i32 %t14620 to i64 %t14624 = mul i64 %t14623, %t14622 %t14625 = load ptr, ptr %t14614 %t14626 = call ptr @realloc(ptr %t14625, i64 %t14624) store ptr %t14626, ptr %t14614 store i32 %t14620, ptr %t14613 br label %put2932 put2932: %t14627 = load ptr, ptr %t14614 %t14628 = getelementptr inbounds ptr, ptr %t14627, i32 %t14615 store ptr @.str8885, ptr %t14628 %t14629 = add i32 %t14615, 1 store i32 %t14629, ptr %t14612 br label %ifend2930 ifend2930: %t14630 = load ptr, ptr %t1 %t14631 = call i32 @lp_str_eq(ptr %t14630, ptr @.str8886) %t14632 = icmp ne i32 %t14631, 0 br i1 %t14632, label %then2933, label %ifend2935 then2933: store ptr @.str8887, ptr %t403 %t14633 = load ptr, ptr %t410 %t14634 = getelementptr inbounds %LSlice, ptr %t14633, i32 0, i32 1 %t14635 = getelementptr inbounds %LSlice, ptr %t14633, i32 0, i32 2 %t14636 = getelementptr inbounds %LSlice, ptr %t14633, i32 0, i32 0 %t14637 = load i32, ptr %t14634 %t14638 = load i32, ptr %t14635 %t14639 = icmp sge i32 %t14637, %t14638 br i1 %t14639, label %grow2936, label %put2937 grow2936: %t14640 = mul i32 %t14638, 2 %t14641 = icmp eq i32 %t14638, 0 %t14642 = select i1 %t14641, i32 8, i32 %t14640 %t14643 = getelementptr ptr, ptr null, i32 1 %t14644 = ptrtoint ptr %t14643 to i64 %t14645 = zext i32 %t14642 to i64 %t14646 = mul i64 %t14645, %t14644 %t14647 = load ptr, ptr %t14636 %t14648 = call ptr @realloc(ptr %t14647, i64 %t14646) store ptr %t14648, ptr %t14636 store i32 %t14642, ptr %t14635 br label %put2937 put2937: %t14649 = load ptr, ptr %t14636 %t14650 = getelementptr inbounds ptr, ptr %t14649, i32 %t14637 store ptr @.str8888, ptr %t14650 %t14651 = add i32 %t14637, 1 store i32 %t14651, ptr %t14634 br label %ifend2935 ifend2935: %t14652 = load ptr, ptr %t1 %t14653 = call i32 @lp_str_eq(ptr %t14652, ptr @.str8889) %t14654 = icmp ne i32 %t14653, 0 br i1 %t14654, label %then2938, label %ifend2940 then2938: store ptr @.str8890, ptr %t403 %t14655 = load ptr, ptr %t410 %t14656 = getelementptr inbounds %LSlice, ptr %t14655, i32 0, i32 1 %t14657 = getelementptr inbounds %LSlice, ptr %t14655, i32 0, i32 2 %t14658 = getelementptr inbounds %LSlice, ptr %t14655, i32 0, i32 0 %t14659 = load i32, ptr %t14656 %t14660 = load i32, ptr %t14657 %t14661 = icmp sge i32 %t14659, %t14660 br i1 %t14661, label %grow2941, label %put2942 grow2941: %t14662 = mul i32 %t14660, 2 %t14663 = icmp eq i32 %t14660, 0 %t14664 = select i1 %t14663, i32 8, i32 %t14662 %t14665 = getelementptr ptr, ptr null, i32 1 %t14666 = ptrtoint ptr %t14665 to i64 %t14667 = zext i32 %t14664 to i64 %t14668 = mul i64 %t14667, %t14666 %t14669 = load ptr, ptr %t14658 %t14670 = call ptr @realloc(ptr %t14669, i64 %t14668) store ptr %t14670, ptr %t14658 store i32 %t14664, ptr %t14657 br label %put2942 put2942: %t14671 = load ptr, ptr %t14658 %t14672 = getelementptr inbounds ptr, ptr %t14671, i32 %t14659 store ptr @.str8891, ptr %t14672 %t14673 = add i32 %t14659, 1 store i32 %t14673, ptr %t14656 %t14674 = load ptr, ptr %t410 %t14675 = getelementptr inbounds %LSlice, ptr %t14674, i32 0, i32 1 %t14676 = getelementptr inbounds %LSlice, ptr %t14674, i32 0, i32 2 %t14677 = getelementptr inbounds %LSlice, ptr %t14674, i32 0, i32 0 %t14678 = load i32, ptr %t14675 %t14679 = load i32, ptr %t14676 %t14680 = icmp sge i32 %t14678, %t14679 br i1 %t14680, label %grow2943, label %put2944 grow2943: %t14681 = mul i32 %t14679, 2 %t14682 = icmp eq i32 %t14679, 0 %t14683 = select i1 %t14682, i32 8, i32 %t14681 %t14684 = getelementptr ptr, ptr null, i32 1 %t14685 = ptrtoint ptr %t14684 to i64 %t14686 = zext i32 %t14683 to i64 %t14687 = mul i64 %t14686, %t14685 %t14688 = load ptr, ptr %t14677 %t14689 = call ptr @realloc(ptr %t14688, i64 %t14687) store ptr %t14689, ptr %t14677 store i32 %t14683, ptr %t14676 br label %put2944 put2944: %t14690 = load ptr, ptr %t14677 %t14691 = getelementptr inbounds ptr, ptr %t14690, i32 %t14678 store ptr @.str8892, ptr %t14691 %t14692 = add i32 %t14678, 1 store i32 %t14692, ptr %t14675 %t14693 = load ptr, ptr %t410 %t14694 = getelementptr inbounds %LSlice, ptr %t14693, i32 0, i32 1 %t14695 = getelementptr inbounds %LSlice, ptr %t14693, i32 0, i32 2 %t14696 = getelementptr inbounds %LSlice, ptr %t14693, i32 0, i32 0 %t14697 = load i32, ptr %t14694 %t14698 = load i32, ptr %t14695 %t14699 = icmp sge i32 %t14697, %t14698 br i1 %t14699, label %grow2945, label %put2946 grow2945: %t14700 = mul i32 %t14698, 2 %t14701 = icmp eq i32 %t14698, 0 %t14702 = select i1 %t14701, i32 8, i32 %t14700 %t14703 = getelementptr ptr, ptr null, i32 1 %t14704 = ptrtoint ptr %t14703 to i64 %t14705 = zext i32 %t14702 to i64 %t14706 = mul i64 %t14705, %t14704 %t14707 = load ptr, ptr %t14696 %t14708 = call ptr @realloc(ptr %t14707, i64 %t14706) store ptr %t14708, ptr %t14696 store i32 %t14702, ptr %t14695 br label %put2946 put2946: %t14709 = load ptr, ptr %t14696 %t14710 = getelementptr inbounds ptr, ptr %t14709, i32 %t14697 store ptr @.str8893, ptr %t14710 %t14711 = add i32 %t14697, 1 store i32 %t14711, ptr %t14694 br label %ifend2940 ifend2940: %t14712 = load ptr, ptr %t1 %t14713 = call i32 @lp_str_eq(ptr %t14712, ptr @.str8894) %t14714 = icmp ne i32 %t14713, 0 br i1 %t14714, label %then2947, label %ifend2949 then2947: store ptr @.str8895, ptr %t403 %t14715 = load ptr, ptr %t410 %t14716 = getelementptr inbounds %LSlice, ptr %t14715, i32 0, i32 1 %t14717 = getelementptr inbounds %LSlice, ptr %t14715, i32 0, i32 2 %t14718 = getelementptr inbounds %LSlice, ptr %t14715, i32 0, i32 0 %t14719 = load i32, ptr %t14716 %t14720 = load i32, ptr %t14717 %t14721 = icmp sge i32 %t14719, %t14720 br i1 %t14721, label %grow2950, label %put2951 grow2950: %t14722 = mul i32 %t14720, 2 %t14723 = icmp eq i32 %t14720, 0 %t14724 = select i1 %t14723, i32 8, i32 %t14722 %t14725 = getelementptr ptr, ptr null, i32 1 %t14726 = ptrtoint ptr %t14725 to i64 %t14727 = zext i32 %t14724 to i64 %t14728 = mul i64 %t14727, %t14726 %t14729 = load ptr, ptr %t14718 %t14730 = call ptr @realloc(ptr %t14729, i64 %t14728) store ptr %t14730, ptr %t14718 store i32 %t14724, ptr %t14717 br label %put2951 put2951: %t14731 = load ptr, ptr %t14718 %t14732 = getelementptr inbounds ptr, ptr %t14731, i32 %t14719 store ptr @.str8896, ptr %t14732 %t14733 = add i32 %t14719, 1 store i32 %t14733, ptr %t14716 %t14734 = load ptr, ptr %t410 %t14735 = getelementptr inbounds %LSlice, ptr %t14734, i32 0, i32 1 %t14736 = getelementptr inbounds %LSlice, ptr %t14734, i32 0, i32 2 %t14737 = getelementptr inbounds %LSlice, ptr %t14734, i32 0, i32 0 %t14738 = load i32, ptr %t14735 %t14739 = load i32, ptr %t14736 %t14740 = icmp sge i32 %t14738, %t14739 br i1 %t14740, label %grow2952, label %put2953 grow2952: %t14741 = mul i32 %t14739, 2 %t14742 = icmp eq i32 %t14739, 0 %t14743 = select i1 %t14742, i32 8, i32 %t14741 %t14744 = getelementptr ptr, ptr null, i32 1 %t14745 = ptrtoint ptr %t14744 to i64 %t14746 = zext i32 %t14743 to i64 %t14747 = mul i64 %t14746, %t14745 %t14748 = load ptr, ptr %t14737 %t14749 = call ptr @realloc(ptr %t14748, i64 %t14747) store ptr %t14749, ptr %t14737 store i32 %t14743, ptr %t14736 br label %put2953 put2953: %t14750 = load ptr, ptr %t14737 %t14751 = getelementptr inbounds ptr, ptr %t14750, i32 %t14738 store ptr @.str8897, ptr %t14751 %t14752 = add i32 %t14738, 1 store i32 %t14752, ptr %t14735 %t14753 = load ptr, ptr %t410 %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 %grow2954, label %put2955 grow2954: %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 %put2955 put2955: %t14769 = load ptr, ptr %t14756 %t14770 = getelementptr inbounds ptr, ptr %t14769, i32 %t14757 store ptr @.str8898, ptr %t14770 %t14771 = add i32 %t14757, 1 store i32 %t14771, ptr %t14754 br label %ifend2949 ifend2949: %t14772 = load ptr, ptr %t1 %t14773 = call i32 @lp_str_eq(ptr %t14772, ptr @.str8899) %t14774 = icmp ne i32 %t14773, 0 br i1 %t14774, label %then2956, label %ifend2958 then2956: store ptr @.str8900, ptr %t403 %t14775 = load ptr, ptr %t410 %t14776 = getelementptr inbounds %LSlice, ptr %t14775, i32 0, i32 1 %t14777 = getelementptr inbounds %LSlice, ptr %t14775, i32 0, i32 2 %t14778 = getelementptr inbounds %LSlice, ptr %t14775, i32 0, i32 0 %t14779 = load i32, ptr %t14776 %t14780 = load i32, ptr %t14777 %t14781 = icmp sge i32 %t14779, %t14780 br i1 %t14781, label %grow2959, label %put2960 grow2959: %t14782 = mul i32 %t14780, 2 %t14783 = icmp eq i32 %t14780, 0 %t14784 = select i1 %t14783, i32 8, i32 %t14782 %t14785 = getelementptr ptr, ptr null, i32 1 %t14786 = ptrtoint ptr %t14785 to i64 %t14787 = zext i32 %t14784 to i64 %t14788 = mul i64 %t14787, %t14786 %t14789 = load ptr, ptr %t14778 %t14790 = call ptr @realloc(ptr %t14789, i64 %t14788) store ptr %t14790, ptr %t14778 store i32 %t14784, ptr %t14777 br label %put2960 put2960: %t14791 = load ptr, ptr %t14778 %t14792 = getelementptr inbounds ptr, ptr %t14791, i32 %t14779 store ptr @.str8901, ptr %t14792 %t14793 = add i32 %t14779, 1 store i32 %t14793, ptr %t14776 %t14794 = load ptr, ptr %t410 %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 %grow2961, label %put2962 grow2961: %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 %put2962 put2962: %t14810 = load ptr, ptr %t14797 %t14811 = getelementptr inbounds ptr, ptr %t14810, i32 %t14798 store ptr @.str8902, ptr %t14811 %t14812 = add i32 %t14798, 1 store i32 %t14812, ptr %t14795 %t14813 = load ptr, ptr %t410 %t14814 = getelementptr inbounds %LSlice, ptr %t14813, i32 0, i32 1 %t14815 = getelementptr inbounds %LSlice, ptr %t14813, i32 0, i32 2 %t14816 = getelementptr inbounds %LSlice, ptr %t14813, i32 0, i32 0 %t14817 = load i32, ptr %t14814 %t14818 = load i32, ptr %t14815 %t14819 = icmp sge i32 %t14817, %t14818 br i1 %t14819, label %grow2963, label %put2964 grow2963: %t14820 = mul i32 %t14818, 2 %t14821 = icmp eq i32 %t14818, 0 %t14822 = select i1 %t14821, i32 8, i32 %t14820 %t14823 = getelementptr ptr, ptr null, i32 1 %t14824 = ptrtoint ptr %t14823 to i64 %t14825 = zext i32 %t14822 to i64 %t14826 = mul i64 %t14825, %t14824 %t14827 = load ptr, ptr %t14816 %t14828 = call ptr @realloc(ptr %t14827, i64 %t14826) store ptr %t14828, ptr %t14816 store i32 %t14822, ptr %t14815 br label %put2964 put2964: %t14829 = load ptr, ptr %t14816 %t14830 = getelementptr inbounds ptr, ptr %t14829, i32 %t14817 store ptr @.str8903, ptr %t14830 %t14831 = add i32 %t14817, 1 store i32 %t14831, ptr %t14814 br label %ifend2958 ifend2958: %t14832 = load ptr, ptr %t1 %t14833 = call i32 @lp_str_eq(ptr %t14832, ptr @.str8904) %t14834 = icmp ne i32 %t14833, 0 br i1 %t14834, label %then2965, label %ifend2967 then2965: store ptr @.str8905, ptr %t403 %t14835 = load ptr, ptr %t410 %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 %grow2968, label %put2969 grow2968: %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 %put2969 put2969: %t14851 = load ptr, ptr %t14838 %t14852 = getelementptr inbounds ptr, ptr %t14851, i32 %t14839 store ptr @.str8906, ptr %t14852 %t14853 = add i32 %t14839, 1 store i32 %t14853, ptr %t14836 %t14854 = load ptr, ptr %t410 %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 %grow2970, label %put2971 grow2970: %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 %put2971 put2971: %t14870 = load ptr, ptr %t14857 %t14871 = getelementptr inbounds ptr, ptr %t14870, i32 %t14858 store ptr @.str8907, ptr %t14871 %t14872 = add i32 %t14858, 1 store i32 %t14872, ptr %t14855 %t14873 = load ptr, ptr %t410 %t14874 = getelementptr inbounds %LSlice, ptr %t14873, i32 0, i32 1 %t14875 = getelementptr inbounds %LSlice, ptr %t14873, i32 0, i32 2 %t14876 = getelementptr inbounds %LSlice, ptr %t14873, i32 0, i32 0 %t14877 = load i32, ptr %t14874 %t14878 = load i32, ptr %t14875 %t14879 = icmp sge i32 %t14877, %t14878 br i1 %t14879, label %grow2972, label %put2973 grow2972: %t14880 = mul i32 %t14878, 2 %t14881 = icmp eq i32 %t14878, 0 %t14882 = select i1 %t14881, i32 8, i32 %t14880 %t14883 = getelementptr ptr, ptr null, i32 1 %t14884 = ptrtoint ptr %t14883 to i64 %t14885 = zext i32 %t14882 to i64 %t14886 = mul i64 %t14885, %t14884 %t14887 = load ptr, ptr %t14876 %t14888 = call ptr @realloc(ptr %t14887, i64 %t14886) store ptr %t14888, ptr %t14876 store i32 %t14882, ptr %t14875 br label %put2973 put2973: %t14889 = load ptr, ptr %t14876 %t14890 = getelementptr inbounds ptr, ptr %t14889, i32 %t14877 store ptr @.str8908, ptr %t14890 %t14891 = add i32 %t14877, 1 store i32 %t14891, ptr %t14874 br label %ifend2967 ifend2967: %t14892 = load ptr, ptr %t1 %t14893 = call i32 @lp_str_eq(ptr %t14892, ptr @.str8909) %t14894 = icmp ne i32 %t14893, 0 br i1 %t14894, label %then2974, label %ifend2976 then2974: store ptr @.str8910, ptr %t403 %t14895 = load ptr, ptr %t410 %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 %grow2977, label %put2978 grow2977: %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 %put2978 put2978: %t14911 = load ptr, ptr %t14898 %t14912 = getelementptr inbounds ptr, ptr %t14911, i32 %t14899 store ptr @.str8911, ptr %t14912 %t14913 = add i32 %t14899, 1 store i32 %t14913, ptr %t14896 %t14914 = load ptr, ptr %t410 %t14915 = getelementptr inbounds %LSlice, ptr %t14914, i32 0, i32 1 %t14916 = getelementptr inbounds %LSlice, ptr %t14914, i32 0, i32 2 %t14917 = getelementptr inbounds %LSlice, ptr %t14914, i32 0, i32 0 %t14918 = load i32, ptr %t14915 %t14919 = load i32, ptr %t14916 %t14920 = icmp sge i32 %t14918, %t14919 br i1 %t14920, label %grow2979, label %put2980 grow2979: %t14921 = mul i32 %t14919, 2 %t14922 = icmp eq i32 %t14919, 0 %t14923 = select i1 %t14922, i32 8, i32 %t14921 %t14924 = getelementptr ptr, ptr null, i32 1 %t14925 = ptrtoint ptr %t14924 to i64 %t14926 = zext i32 %t14923 to i64 %t14927 = mul i64 %t14926, %t14925 %t14928 = load ptr, ptr %t14917 %t14929 = call ptr @realloc(ptr %t14928, i64 %t14927) store ptr %t14929, ptr %t14917 store i32 %t14923, ptr %t14916 br label %put2980 put2980: %t14930 = load ptr, ptr %t14917 %t14931 = getelementptr inbounds ptr, ptr %t14930, i32 %t14918 store ptr @.str8912, ptr %t14931 %t14932 = add i32 %t14918, 1 store i32 %t14932, ptr %t14915 br label %ifend2976 ifend2976: %t14933 = load ptr, ptr %t1 %t14934 = call i32 @lp_str_eq(ptr %t14933, ptr @.str8913) %t14935 = icmp ne i32 %t14934, 0 br i1 %t14935, label %then2981, label %ifend2983 then2981: store ptr @.str8914, ptr %t403 %t14936 = load ptr, ptr %t410 %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 %grow2984, label %put2985 grow2984: %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 %put2985 put2985: %t14952 = load ptr, ptr %t14939 %t14953 = getelementptr inbounds ptr, ptr %t14952, i32 %t14940 store ptr @.str8915, ptr %t14953 %t14954 = add i32 %t14940, 1 store i32 %t14954, ptr %t14937 %t14955 = load ptr, ptr %t410 %t14956 = getelementptr inbounds %LSlice, ptr %t14955, i32 0, i32 1 %t14957 = getelementptr inbounds %LSlice, ptr %t14955, i32 0, i32 2 %t14958 = getelementptr inbounds %LSlice, ptr %t14955, i32 0, i32 0 %t14959 = load i32, ptr %t14956 %t14960 = load i32, ptr %t14957 %t14961 = icmp sge i32 %t14959, %t14960 br i1 %t14961, label %grow2986, label %put2987 grow2986: %t14962 = mul i32 %t14960, 2 %t14963 = icmp eq i32 %t14960, 0 %t14964 = select i1 %t14963, i32 8, i32 %t14962 %t14965 = getelementptr ptr, ptr null, i32 1 %t14966 = ptrtoint ptr %t14965 to i64 %t14967 = zext i32 %t14964 to i64 %t14968 = mul i64 %t14967, %t14966 %t14969 = load ptr, ptr %t14958 %t14970 = call ptr @realloc(ptr %t14969, i64 %t14968) store ptr %t14970, ptr %t14958 store i32 %t14964, ptr %t14957 br label %put2987 put2987: %t14971 = load ptr, ptr %t14958 %t14972 = getelementptr inbounds ptr, ptr %t14971, i32 %t14959 store ptr @.str8916, ptr %t14972 %t14973 = add i32 %t14959, 1 store i32 %t14973, ptr %t14956 br label %ifend2983 ifend2983: %t14974 = load ptr, ptr %t1 %t14975 = call i32 @lp_str_eq(ptr %t14974, ptr @.str8917) %t14976 = icmp ne i32 %t14975, 0 br i1 %t14976, label %then2988, label %ifend2990 then2988: store ptr @.str8918, ptr %t403 %t14977 = load ptr, ptr %t410 %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 %grow2991, label %put2992 grow2991: %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 %put2992 put2992: %t14993 = load ptr, ptr %t14980 %t14994 = getelementptr inbounds ptr, ptr %t14993, i32 %t14981 store ptr @.str8919, ptr %t14994 %t14995 = add i32 %t14981, 1 store i32 %t14995, ptr %t14978 %t14996 = load ptr, ptr %t410 %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 %grow2993, label %put2994 grow2993: %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 %put2994 put2994: %t15012 = load ptr, ptr %t14999 %t15013 = getelementptr inbounds ptr, ptr %t15012, i32 %t15000 store ptr @.str8920, ptr %t15013 %t15014 = add i32 %t15000, 1 store i32 %t15014, ptr %t14997 br label %ifend2990 ifend2990: %t15015 = load ptr, ptr %t1 %t15016 = call i32 @lp_str_eq(ptr %t15015, ptr @.str8921) %t15017 = icmp ne i32 %t15016, 0 br i1 %t15017, label %then2995, label %ifend2997 then2995: store ptr @.str8922, ptr %t403 %t15018 = load ptr, ptr %t410 %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 %grow2998, label %put2999 grow2998: %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 %put2999 put2999: %t15034 = load ptr, ptr %t15021 %t15035 = getelementptr inbounds ptr, ptr %t15034, i32 %t15022 store ptr @.str8923, ptr %t15035 %t15036 = add i32 %t15022, 1 store i32 %t15036, ptr %t15019 %t15037 = load ptr, ptr %t410 %t15038 = getelementptr inbounds %LSlice, ptr %t15037, i32 0, i32 1 %t15039 = getelementptr inbounds %LSlice, ptr %t15037, i32 0, i32 2 %t15040 = getelementptr inbounds %LSlice, ptr %t15037, i32 0, i32 0 %t15041 = load i32, ptr %t15038 %t15042 = load i32, ptr %t15039 %t15043 = icmp sge i32 %t15041, %t15042 br i1 %t15043, label %grow3000, label %put3001 grow3000: %t15044 = mul i32 %t15042, 2 %t15045 = icmp eq i32 %t15042, 0 %t15046 = select i1 %t15045, i32 8, i32 %t15044 %t15047 = getelementptr ptr, ptr null, i32 1 %t15048 = ptrtoint ptr %t15047 to i64 %t15049 = zext i32 %t15046 to i64 %t15050 = mul i64 %t15049, %t15048 %t15051 = load ptr, ptr %t15040 %t15052 = call ptr @realloc(ptr %t15051, i64 %t15050) store ptr %t15052, ptr %t15040 store i32 %t15046, ptr %t15039 br label %put3001 put3001: %t15053 = load ptr, ptr %t15040 %t15054 = getelementptr inbounds ptr, ptr %t15053, i32 %t15041 store ptr @.str8924, ptr %t15054 %t15055 = add i32 %t15041, 1 store i32 %t15055, ptr %t15038 br label %ifend2997 ifend2997: %t15056 = load ptr, ptr %t1 %t15057 = call i32 @lp_str_eq(ptr %t15056, ptr @.str8925) %t15058 = icmp ne i32 %t15057, 0 br i1 %t15058, label %then3002, label %ifend3004 then3002: store ptr @.str8926, ptr %t403 %t15059 = load ptr, ptr %t410 %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 %grow3005, label %put3006 grow3005: %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 %put3006 put3006: %t15075 = load ptr, ptr %t15062 %t15076 = getelementptr inbounds ptr, ptr %t15075, i32 %t15063 store ptr @.str8927, ptr %t15076 %t15077 = add i32 %t15063, 1 store i32 %t15077, ptr %t15060 %t15078 = load ptr, ptr %t410 %t15079 = getelementptr inbounds %LSlice, ptr %t15078, i32 0, i32 1 %t15080 = getelementptr inbounds %LSlice, ptr %t15078, i32 0, i32 2 %t15081 = getelementptr inbounds %LSlice, ptr %t15078, i32 0, i32 0 %t15082 = load i32, ptr %t15079 %t15083 = load i32, ptr %t15080 %t15084 = icmp sge i32 %t15082, %t15083 br i1 %t15084, label %grow3007, label %put3008 grow3007: %t15085 = mul i32 %t15083, 2 %t15086 = icmp eq i32 %t15083, 0 %t15087 = select i1 %t15086, i32 8, i32 %t15085 %t15088 = getelementptr ptr, ptr null, i32 1 %t15089 = ptrtoint ptr %t15088 to i64 %t15090 = zext i32 %t15087 to i64 %t15091 = mul i64 %t15090, %t15089 %t15092 = load ptr, ptr %t15081 %t15093 = call ptr @realloc(ptr %t15092, i64 %t15091) store ptr %t15093, ptr %t15081 store i32 %t15087, ptr %t15080 br label %put3008 put3008: %t15094 = load ptr, ptr %t15081 %t15095 = getelementptr inbounds ptr, ptr %t15094, i32 %t15082 store ptr @.str8928, ptr %t15095 %t15096 = add i32 %t15082, 1 store i32 %t15096, ptr %t15079 br label %ifend3004 ifend3004: %t15097 = load ptr, ptr %t1 %t15098 = call i32 @lp_str_eq(ptr %t15097, ptr @.str8929) %t15099 = icmp ne i32 %t15098, 0 br i1 %t15099, label %then3009, label %ifend3011 then3009: store ptr @.str8930, ptr %t403 %t15100 = load ptr, ptr %t410 %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 %grow3012, label %put3013 grow3012: %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 %put3013 put3013: %t15116 = load ptr, ptr %t15103 %t15117 = getelementptr inbounds ptr, ptr %t15116, i32 %t15104 store ptr @.str8931, ptr %t15117 %t15118 = add i32 %t15104, 1 store i32 %t15118, ptr %t15101 br label %ifend3011 ifend3011: %t15119 = load ptr, ptr %t1 %t15120 = call i32 @lp_str_eq(ptr %t15119, ptr @.str8932) %t15121 = icmp ne i32 %t15120, 0 br i1 %t15121, label %then3014, label %ifend3016 then3014: store ptr @.str8933, ptr %t403 %t15122 = load ptr, ptr %t410 %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 %grow3017, label %put3018 grow3017: %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 %put3018 put3018: %t15138 = load ptr, ptr %t15125 %t15139 = getelementptr inbounds ptr, ptr %t15138, i32 %t15126 store ptr @.str8934, ptr %t15139 %t15140 = add i32 %t15126, 1 store i32 %t15140, ptr %t15123 br label %ifend3016 ifend3016: %t15141 = load ptr, ptr %t1 %t15142 = call i32 @lp_str_eq(ptr %t15141, ptr @.str8935) %t15143 = icmp ne i32 %t15142, 0 br i1 %t15143, label %then3019, label %ifend3021 then3019: store ptr @.str8936, ptr %t403 %t15144 = load ptr, ptr %t410 %t15145 = getelementptr inbounds %LSlice, ptr %t15144, i32 0, i32 1 %t15146 = getelementptr inbounds %LSlice, ptr %t15144, i32 0, i32 2 %t15147 = getelementptr inbounds %LSlice, ptr %t15144, i32 0, i32 0 %t15148 = load i32, ptr %t15145 %t15149 = load i32, ptr %t15146 %t15150 = icmp sge i32 %t15148, %t15149 br i1 %t15150, label %grow3022, label %put3023 grow3022: %t15151 = mul i32 %t15149, 2 %t15152 = icmp eq i32 %t15149, 0 %t15153 = select i1 %t15152, i32 8, i32 %t15151 %t15154 = getelementptr ptr, ptr null, i32 1 %t15155 = ptrtoint ptr %t15154 to i64 %t15156 = zext i32 %t15153 to i64 %t15157 = mul i64 %t15156, %t15155 %t15158 = load ptr, ptr %t15147 %t15159 = call ptr @realloc(ptr %t15158, i64 %t15157) store ptr %t15159, ptr %t15147 store i32 %t15153, ptr %t15146 br label %put3023 put3023: %t15160 = load ptr, ptr %t15147 %t15161 = getelementptr inbounds ptr, ptr %t15160, i32 %t15148 store ptr @.str8937, ptr %t15161 %t15162 = add i32 %t15148, 1 store i32 %t15162, ptr %t15145 %t15163 = load ptr, ptr %t410 %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 %grow3024, label %put3025 grow3024: %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 %put3025 put3025: %t15179 = load ptr, ptr %t15166 %t15180 = getelementptr inbounds ptr, ptr %t15179, i32 %t15167 store ptr @.str8938, ptr %t15180 %t15181 = add i32 %t15167, 1 store i32 %t15181, ptr %t15164 br label %ifend3021 ifend3021: br label %ifend2752 ifend2752: %t15183 = load ptr, ptr %t0 %t15184 = call i32 @lp_str_eq(ptr %t15183, ptr @.str8939) %t15185 = icmp ne i32 %t15184, 0 %t15186 = zext i1 %t15185 to i32 store i32 %t15186, ptr %t15182 br i1 %t15185, label %sc3026, label %scend3027 sc3026: %t15187 = load ptr, ptr %t403 %t15188 = icmp eq ptr %t15187, null %t15189 = zext i1 %t15188 to i32 %t15190 = icmp ne i32 %t15189, 0 %t15191 = zext i1 %t15190 to i32 store i32 %t15191, ptr %t15182 br label %scend3027 scend3027: %t15192 = load i32, ptr %t15182 %t15193 = icmp ne i32 %t15192, 0 br i1 %t15193, label %then3028, label %ifend3030 then3028: %t15194 = load ptr, ptr %t1 %t15195 = call ptr @lp_str_concat(ptr @.str8940, ptr %t15194) store ptr %t15195, ptr %t403 %t15196 = load ptr, ptr %t403 %t15197 = call ptr @fn_find_fn(ptr %t15196) store ptr %t15197, ptr %t15198 %t15199 = load ptr, ptr %t15198 %t15200 = icmp eq ptr %t15199, null %t15201 = zext i1 %t15200 to i32 %t15202 = icmp ne i32 %t15201, 0 br i1 %t15202, label %then3031, label %ifend3033 then3031: %t15203 = load ptr, ptr %t403 %t15204 = call ptr @fn_find_extern(ptr %t15203) store ptr %t15204, ptr %t15198 br label %ifend3033 ifend3033: %t15205 = load ptr, ptr %t15198 %t15206 = icmp ne ptr %t15205, null %t15207 = zext i1 %t15206 to i32 %t15208 = icmp ne i32 %t15207, 0 br i1 %t15208, label %then3034, label %ifend3036 then3034: %t15209 = load ptr, ptr %t15198 %t15210 = call ptr @fn_param_labels(ptr %t15209) store ptr %t15210, ptr %t15211 store i32 0, ptr %t15212 br label %wcond3037 wcond3037: %t15213 = load i32, ptr %t15212 %t15214 = load ptr, ptr %t15211 %t15215 = getelementptr inbounds %LSlice, ptr %t15214, i32 0, i32 1 %t15216 = load i32, ptr %t15215 %t15217 = icmp slt i32 %t15213, %t15216 %t15218 = zext i1 %t15217 to i32 %t15219 = icmp ne i32 %t15218, 0 br i1 %t15219, label %wbody3038, label %wend3039 wbody3038: %t15220 = load ptr, ptr %t410 %t15221 = load ptr, ptr %t15211 %t15222 = getelementptr inbounds %LSlice, ptr %t15221, i32 0, i32 0 %t15223 = load ptr, ptr %t15222 %t15224 = load i32, ptr %t15212 %t15225 = getelementptr inbounds ptr, ptr %t15223, i32 %t15224 %t15226 = load ptr, ptr %t15225 %t15227 = getelementptr inbounds %LSlice, ptr %t15220, i32 0, i32 1 %t15228 = getelementptr inbounds %LSlice, ptr %t15220, i32 0, i32 2 %t15229 = getelementptr inbounds %LSlice, ptr %t15220, i32 0, i32 0 %t15230 = load i32, ptr %t15227 %t15231 = load i32, ptr %t15228 %t15232 = icmp sge i32 %t15230, %t15231 br i1 %t15232, label %grow3040, label %put3041 grow3040: %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 %put3041 put3041: %t15242 = load ptr, ptr %t15229 %t15243 = getelementptr inbounds ptr, ptr %t15242, i32 %t15230 store ptr %t15226, ptr %t15243 %t15244 = add i32 %t15230, 1 store i32 %t15244, ptr %t15227 %t15245 = load i32, ptr %t15212 %t15246 = add i32 %t15245, 1 store i32 %t15246, ptr %t15212 br label %wcond3037 wend3039: br label %ifend3036 ifend3036: br label %ifend3030 ifend3030: %t15248 = load ptr, ptr %t0 %t15249 = call i32 @lp_str_eq(ptr %t15248, ptr @.str8941) %t15250 = icmp ne i32 %t15249, 0 %t15251 = zext i1 %t15250 to i32 store i32 %t15251, ptr %t15247 br i1 %t15250, label %sc3042, label %scend3043 sc3042: %t15252 = load ptr, ptr %t403 %t15253 = icmp eq ptr %t15252, null %t15254 = zext i1 %t15253 to i32 %t15255 = icmp ne i32 %t15254, 0 %t15256 = zext i1 %t15255 to i32 store i32 %t15256, ptr %t15247 br label %scend3043 scend3043: %t15257 = load i32, ptr %t15247 %t15258 = icmp ne i32 %t15257, 0 br i1 %t15258, label %then3044, label %ifend3046 then3044: %t15259 = load ptr, ptr %t1 %t15260 = call ptr @lp_str_concat(ptr @.str8942, ptr %t15259) store ptr %t15260, ptr %t403 %t15261 = load ptr, ptr %t403 %t15262 = call ptr @fn_find_fn(ptr %t15261) store ptr %t15262, ptr %t15263 %t15264 = load ptr, ptr %t15263 %t15265 = icmp eq ptr %t15264, null %t15266 = zext i1 %t15265 to i32 %t15267 = icmp ne i32 %t15266, 0 br i1 %t15267, label %then3047, label %ifend3049 then3047: %t15268 = load ptr, ptr %t403 %t15269 = call ptr @fn_find_extern(ptr %t15268) store ptr %t15269, ptr %t15263 br label %ifend3049 ifend3049: %t15270 = load ptr, ptr %t15263 %t15271 = icmp ne ptr %t15270, null %t15272 = zext i1 %t15271 to i32 %t15273 = icmp ne i32 %t15272, 0 br i1 %t15273, label %then3050, label %ifend3052 then3050: %t15274 = load ptr, ptr %t15263 %t15275 = call ptr @fn_param_labels(ptr %t15274) store ptr %t15275, ptr %t15276 store i32 0, ptr %t15277 br label %wcond3053 wcond3053: %t15278 = load i32, ptr %t15277 %t15279 = load ptr, ptr %t15276 %t15280 = getelementptr inbounds %LSlice, ptr %t15279, i32 0, i32 1 %t15281 = load i32, ptr %t15280 %t15282 = icmp slt i32 %t15278, %t15281 %t15283 = zext i1 %t15282 to i32 %t15284 = icmp ne i32 %t15283, 0 br i1 %t15284, label %wbody3054, label %wend3055 wbody3054: %t15285 = load ptr, ptr %t410 %t15286 = load ptr, ptr %t15276 %t15287 = getelementptr inbounds %LSlice, ptr %t15286, i32 0, i32 0 %t15288 = load ptr, ptr %t15287 %t15289 = load i32, ptr %t15277 %t15290 = getelementptr inbounds ptr, ptr %t15288, i32 %t15289 %t15291 = load ptr, ptr %t15290 %t15292 = getelementptr inbounds %LSlice, ptr %t15285, i32 0, i32 1 %t15293 = getelementptr inbounds %LSlice, ptr %t15285, i32 0, i32 2 %t15294 = getelementptr inbounds %LSlice, ptr %t15285, i32 0, i32 0 %t15295 = load i32, ptr %t15292 %t15296 = load i32, ptr %t15293 %t15297 = icmp sge i32 %t15295, %t15296 br i1 %t15297, label %grow3056, label %put3057 grow3056: %t15298 = mul i32 %t15296, 2 %t15299 = icmp eq i32 %t15296, 0 %t15300 = select i1 %t15299, i32 8, i32 %t15298 %t15301 = getelementptr ptr, ptr null, i32 1 %t15302 = ptrtoint ptr %t15301 to i64 %t15303 = zext i32 %t15300 to i64 %t15304 = mul i64 %t15303, %t15302 %t15305 = load ptr, ptr %t15294 %t15306 = call ptr @realloc(ptr %t15305, i64 %t15304) store ptr %t15306, ptr %t15294 store i32 %t15300, ptr %t15293 br label %put3057 put3057: %t15307 = load ptr, ptr %t15294 %t15308 = getelementptr inbounds ptr, ptr %t15307, i32 %t15295 store ptr %t15291, ptr %t15308 %t15309 = add i32 %t15295, 1 store i32 %t15309, ptr %t15292 %t15310 = load i32, ptr %t15277 %t15311 = add i32 %t15310, 1 store i32 %t15311, ptr %t15277 br label %wcond3053 wend3055: br label %ifend3052 ifend3052: br label %ifend3046 ifend3046: %t15313 = load ptr, ptr %t403 %t15314 = icmp eq ptr %t15313, null %t15315 = zext i1 %t15314 to i32 %t15316 = icmp ne i32 %t15315, 0 %t15317 = zext i1 %t15316 to i32 store i32 %t15317, ptr %t15312 br i1 %t15316, label %sc3058, label %scend3059 sc3058: %t15318 = load ptr, ptr %t0 %t15319 = call i32 @fn_is_registered_namespace(ptr %t15318) %t15320 = icmp ne i32 %t15319, 0 %t15321 = zext i1 %t15320 to i32 store i32 %t15321, ptr %t15312 br label %scend3059 scend3059: %t15322 = load i32, ptr %t15312 %t15323 = icmp ne i32 %t15322, 0 br i1 %t15323, label %then3060, label %ifend3062 then3060: %t15324 = load ptr, ptr %t0 %t15325 = call ptr @fn_ns_lower(ptr %t15324) %t15326 = call ptr @lp_str_concat(ptr %t15325, ptr @.str8943) %t15327 = load ptr, ptr %t1 %t15328 = call ptr @lp_str_concat(ptr %t15326, ptr %t15327) store ptr %t15328, ptr %t403 %t15330 = load ptr, ptr %t0 %t15331 = call i32 @fn_is_ns_block(ptr %t15330) %t15332 = icmp ne i32 %t15331, 0 %t15333 = zext i1 %t15332 to i32 store i32 %t15333, ptr %t15329 br i1 %t15332, label %sc3063, label %scend3064 sc3063: %t15334 = load ptr, ptr %t403 %t15335 = call i32 @fn_ns_export_has(ptr %t15334) %t15336 = icmp eq i32 %t15335, 0 %t15337 = zext i1 %t15336 to i32 %t15338 = icmp ne i32 %t15337, 0 %t15339 = zext i1 %t15338 to i32 store i32 %t15339, ptr %t15329 br label %scend3064 scend3064: %t15340 = load i32, ptr %t15329 %t15341 = icmp ne i32 %t15340, 0 br i1 %t15341, label %then3065, label %ifend3067 then3065: %t15342 = load ptr, ptr %t0 %t15343 = call ptr @lp_str_concat(ptr %t15342, ptr @.str8944) %t15344 = load ptr, ptr %t1 %t15345 = call ptr @lp_str_concat(ptr %t15343, ptr %t15344) %t15346 = call ptr @lp_str_concat(ptr %t15345, ptr @.str8945) %t15347 = load ptr, ptr %t0 %t15348 = call ptr @lp_str_concat(ptr %t15346, ptr %t15347) call void @fn_perr(ptr %t15348) br label %ifend3067 ifend3067: %t15349 = load ptr, ptr %t403 %t15350 = call ptr @fn_find_fn(ptr %t15349) store ptr %t15350, ptr %t15351 %t15352 = load ptr, ptr %t15351 %t15353 = icmp ne ptr %t15352, null %t15354 = zext i1 %t15353 to i32 %t15355 = icmp ne i32 %t15354, 0 br i1 %t15355, label %then3068, label %ifend3070 then3068: %t15356 = load ptr, ptr %t15351 %t15357 = call ptr @fn_param_labels(ptr %t15356) store ptr %t15357, ptr %t15358 store i32 0, ptr %t15359 br label %wcond3071 wcond3071: %t15360 = load i32, ptr %t15359 %t15361 = load ptr, ptr %t15358 %t15362 = getelementptr inbounds %LSlice, ptr %t15361, i32 0, i32 1 %t15363 = load i32, ptr %t15362 %t15364 = icmp slt i32 %t15360, %t15363 %t15365 = zext i1 %t15364 to i32 %t15366 = icmp ne i32 %t15365, 0 br i1 %t15366, label %wbody3072, label %wend3073 wbody3072: %t15367 = load ptr, ptr %t410 %t15368 = load ptr, ptr %t15358 %t15369 = getelementptr inbounds %LSlice, ptr %t15368, i32 0, i32 0 %t15370 = load ptr, ptr %t15369 %t15371 = load i32, ptr %t15359 %t15372 = getelementptr inbounds ptr, ptr %t15370, i32 %t15371 %t15373 = load ptr, ptr %t15372 %t15374 = getelementptr inbounds %LSlice, ptr %t15367, i32 0, i32 1 %t15375 = getelementptr inbounds %LSlice, ptr %t15367, i32 0, i32 2 %t15376 = getelementptr inbounds %LSlice, ptr %t15367, i32 0, i32 0 %t15377 = load i32, ptr %t15374 %t15378 = load i32, ptr %t15375 %t15379 = icmp sge i32 %t15377, %t15378 br i1 %t15379, label %grow3074, label %put3075 grow3074: %t15380 = mul i32 %t15378, 2 %t15381 = icmp eq i32 %t15378, 0 %t15382 = select i1 %t15381, i32 8, i32 %t15380 %t15383 = getelementptr ptr, ptr null, i32 1 %t15384 = ptrtoint ptr %t15383 to i64 %t15385 = zext i32 %t15382 to i64 %t15386 = mul i64 %t15385, %t15384 %t15387 = load ptr, ptr %t15376 %t15388 = call ptr @realloc(ptr %t15387, i64 %t15386) store ptr %t15388, ptr %t15376 store i32 %t15382, ptr %t15375 br label %put3075 put3075: %t15389 = load ptr, ptr %t15376 %t15390 = getelementptr inbounds ptr, ptr %t15389, i32 %t15377 store ptr %t15373, ptr %t15390 %t15391 = add i32 %t15377, 1 store i32 %t15391, ptr %t15374 %t15392 = load i32, ptr %t15359 %t15393 = add i32 %t15392, 1 store i32 %t15393, ptr %t15359 br label %wcond3071 wend3073: br label %ifend3070 ifend3070: br label %ifend3062 ifend3062: %t15394 = load ptr, ptr %t403 %t15395 = icmp eq ptr %t15394, null %t15396 = zext i1 %t15395 to i32 %t15397 = icmp ne i32 %t15396, 0 br i1 %t15397, label %then3076, label %ifend3078 then3076: %t15398 = load ptr, ptr %t0 %t15399 = call ptr @lp_str_concat(ptr @.str8946, ptr %t15398) %t15400 = call ptr @lp_str_concat(ptr %t15399, ptr @.str8947) %t15401 = load ptr, ptr %t1 %t15402 = call ptr @lp_str_concat(ptr %t15400, ptr %t15401) call void @fn_perr(ptr %t15402) br label %ifend3078 ifend3078: %t15403 = load ptr, ptr %t2 %t15404 = load ptr, ptr %t410 call void @fn_reorder_named(ptr %t15403, ptr %t15404) %t15405 = call ptr @fn_node(i32 33) store ptr %t15405, ptr %t15406 %t15407 = load ptr, ptr %t15406 %t15408 = getelementptr inbounds %Cmp_Node, ptr %t15407, i32 0, i32 1 %t15409 = load ptr, ptr %t403 store ptr %t15409, ptr %t15408 %t15410 = load ptr, ptr %t2 %t15411 = getelementptr inbounds %Cmp_Node, ptr %t15410, i32 0, i32 4 %t15412 = load ptr, ptr %t15406 store ptr %t15412, ptr %t15411 %t15413 = load ptr, ptr %t2 %t15414 = call ptr @fn_emit_call(ptr %t15413) store ptr %t15414, ptr %retval br label %ret ret: %t15415 = load ptr, ptr %retval ret ptr %t15415 } 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 @.str8948, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str8949) %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 @.str8950) %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 @.str8951, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str8952) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str8953) %t46 = load i32, ptr %t1 %t47 = call ptr @fn_itoa(i32 %t46) call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str8954) %t48 = load ptr, ptr %t45 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str8955) 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 @.str8956) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str8957) %t81 = load ptr, ptr %t45 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str8958) %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 @.str8959) call void @fn_emit(ptr @.str8960) %t86 = load ptr, ptr %t65 %t87 = call ptr @fn_llty(ptr %t86) call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str8961) %t88 = load ptr, ptr %t77 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str8962) %t89 = load ptr, ptr %t79 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str8963) %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 @.str8964) 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 @.str8965) %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 @.str8966, ptr @.str8967) 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 @.str8968, ptr %t53) %t55 = call ptr @fn_emit_bind(ptr %t54) %t56 = call ptr @fn_val(ptr %t55, ptr @.str8969) store ptr %t56, ptr %retval br label %ret ifend8: %t57 = load ptr, ptr %t38 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str8970) %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then12, label %ifend14 then12: %t60 = call ptr @fn_emit_bind(ptr @.str8971) %t61 = call ptr @fn_val(ptr %t60, ptr @.str8972) store ptr %t61, ptr %retval br label %ret ifend14: %t62 = load ptr, ptr %t38 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str8973) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str8974) %t65 = call ptr @fn_val(ptr @.str8975, ptr @.str8976) store ptr %t65, ptr %retval br label %ret ifend17: %t66 = load ptr, ptr %t38 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str8977) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str8978) %t69 = call ptr @fn_val(ptr @.str8979, ptr @.str8980) store ptr %t69, ptr %retval br label %ret ifend20: %t70 = load ptr, ptr %t38 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str8981) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then21, label %ifend23 then21: %t73 = call ptr @fn_emit_bind(ptr @.str8982) %t74 = call ptr @fn_val(ptr %t73, ptr @.str8983) store ptr %t74, ptr %retval br label %ret ifend23: %t75 = load ptr, ptr %t38 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str8984) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then24, label %ifend26 then24: %t78 = call ptr @fn_emit_bind(ptr @.str8985) %t79 = call ptr @fn_val(ptr %t78, ptr @.str8986) store ptr %t79, ptr %retval br label %ret ifend26: %t80 = load ptr, ptr %t38 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str8987) %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 @.str8988, ptr %t94) %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str8989) %t97 = call ptr @fn_emit_bind(ptr %t96) %t98 = call ptr @fn_val(ptr %t97, ptr @.str8990) store ptr %t98, ptr %retval br label %ret ifend29: %t99 = load ptr, ptr %t38 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str8991) %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 @.str8992) %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 @.str8993) %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 @.str8994) %t126 = call ptr @fn_val(ptr @.str8995, ptr @.str8996) store ptr %t126, ptr %retval br label %ret ifend32: %t127 = load ptr, ptr %t38 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str8997) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then33, label %ifend35 then33: call void @fn_emit(ptr @.str8998) %t130 = call ptr @fn_val(ptr @.str8999, ptr @.str9000) store ptr %t130, ptr %retval br label %ret ifend35: %t131 = load ptr, ptr %t38 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str9001) %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 @.str9002, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str9003) %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 @.str9004) %t162 = call ptr @fn_emit_bind(ptr %t161) %t163 = call ptr @fn_val(ptr %t162, ptr @.str9005) store ptr %t163, ptr %retval br label %ret ifend38: %t164 = load ptr, ptr %t38 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str9006) %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 @.str9007) %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 @.str9008) %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 @.str9009) %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 @.str9010) %t203 = call ptr @fn_val(ptr @.str9011, ptr @.str9012) store ptr %t203, ptr %retval br label %ret ifend41: %t204 = load ptr, ptr %t38 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str9013) %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 @.str9014, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str9015) %t221 = call ptr @fn_emit_bind(ptr %t220) %t222 = call ptr @fn_val(ptr %t221, ptr @.str9016) store ptr %t222, ptr %retval br label %ret ifend44: %t223 = load ptr, ptr %t38 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str9017) %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 @.str9018, ptr %t237) %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str9019) %t240 = call ptr @fn_emit_bind(ptr %t239) %t241 = call ptr @fn_val(ptr %t240, ptr @.str9020) store ptr %t241, ptr %retval br label %ret ifend47: %t242 = load ptr, ptr %t38 %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str9021) %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 @.str9022) %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 @.str9023) %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 @.str9024) %t269 = call ptr @fn_val(ptr @.str9025, ptr @.str9026) store ptr %t269, ptr %retval br label %ret ifend50: %t270 = load ptr, ptr %t38 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str9027) %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 @.str9028, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str9029) %t287 = call ptr @fn_emit_bind(ptr %t286) %t288 = call ptr @fn_val(ptr %t287, ptr @.str9030) store ptr %t288, ptr %retval br label %ret ifend53: %t289 = load ptr, ptr %t38 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str9031) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then54, label %ifend56 then54: %t292 = call ptr @fn_emit_bind(ptr @.str9032) store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t293 %t295 = call ptr @lp_str_concat(ptr @.str9033, ptr %t294) %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str9034) %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 @.str9035, ptr %t299) %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str9036) %t302 = call ptr @fn_emit_bind(ptr %t301) %t303 = call ptr @fn_val(ptr %t302, ptr @.str9037) store ptr %t303, ptr %retval br label %ret ifend56: %t304 = load ptr, ptr %t38 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str9038) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then57, label %ifend59 then57: %t307 = call ptr @fn_emit_bind(ptr @.str9039) %t308 = call ptr @fn_val(ptr %t307, ptr @.str9040) store ptr %t308, ptr %retval br label %ret ifend59: %t309 = load ptr, ptr %t38 %t310 = call i32 @lp_str_eq(ptr %t309, ptr @.str9041) %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then60, label %ifend62 then60: call void @fn_emit(ptr @.str9042) %t312 = call ptr @fn_val(ptr @.str9043, ptr @.str9044) store ptr %t312, ptr %retval br label %ret ifend62: %t313 = load ptr, ptr %t38 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str9045) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then63, label %ifend65 then63: call void @fn_emit(ptr @.str9046) %t316 = call ptr @fn_val(ptr @.str9047, ptr @.str9048) store ptr %t316, ptr %retval br label %ret ifend65: %t317 = load ptr, ptr %t38 %t318 = call i32 @lp_str_eq(ptr %t317, ptr @.str9049) %t319 = icmp ne i32 %t318, 0 br i1 %t319, label %then66, label %ifend68 then66: call void @fn_emit(ptr @.str9050) %t320 = call ptr @fn_val(ptr @.str9051, ptr @.str9052) store ptr %t320, ptr %retval br label %ret ifend68: %t321 = load ptr, ptr %t38 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str9053) %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 @.str9054) %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 @.str9055) %t336 = call ptr @fn_val(ptr @.str9056, ptr @.str9057) store ptr %t336, ptr %retval br label %ret ifend71: %t337 = load ptr, ptr %t38 %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str9058) %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 @.str9059) %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 @.str9060) %t352 = call ptr @fn_val(ptr @.str9061, ptr @.str9062) store ptr %t352, ptr %retval br label %ret ifend74: %t354 = load ptr, ptr %t38 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str9063) %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 @.str9064) %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 @.str9065) %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 @.str9066) %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 @.str9067) %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 @.str9068) %t401 = call ptr @fn_val(ptr @.str9069, ptr @.str9070) store ptr %t401, ptr %retval br label %ret ifend79: %t403 = load ptr, ptr %t38 %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str9071) %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 @.str9072) %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 @.str9073, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str9074) %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 @.str9075) %t442 = call ptr @fn_emit_bind(ptr %t441) %t443 = call ptr @fn_val(ptr %t442, ptr @.str9076) store ptr %t443, ptr %retval br label %ret ifend84: %t444 = load ptr, ptr %t38 %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str9077) %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 @.str9078) %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 @.str9079) %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 @.str9080) %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 @.str9081) %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 @.str9082, ptr %t488) %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str9083) %t491 = call ptr @fn_emit_bind(ptr %t490) %t492 = call ptr @fn_val(ptr %t491, ptr @.str9084) 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 @.str9085, ptr %t495) %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str9086) %t498 = call ptr @fn_emit_bind(ptr %t497) %t499 = call ptr @fn_val(ptr %t498, ptr @.str9087) store ptr %t499, ptr %retval br label %ret ifend93: %t500 = load ptr, ptr %t38 %t501 = call i32 @lp_str_eq(ptr %t500, ptr @.str9088) %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 @.str9089) %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 @.str9091) %t529 = call ptr @lp_str_concat(ptr @.str9090, 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 @.str9092) %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 @.str9094) %t540 = call ptr @lp_str_concat(ptr @.str9093, 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 @.str9096) %t545 = call ptr @lp_str_concat(ptr @.str9095, ptr %t544) call void @fn_emit(ptr %t545) br label %ifend114 ifend114: br label %ifend111 ifend111: %t546 = call ptr @fn_val(ptr @.str9097, ptr @.str9098) store ptr %t546, ptr %retval br label %ret ifend105: %t547 = load ptr, ptr %t38 %t548 = call i32 @lp_str_eq(ptr %t547, ptr @.str9099) %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 @.str9100, ptr %t561) %t563 = call ptr @lp_str_concat(ptr %t562, ptr @.str9101) %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 @.str9102, ptr %t566) %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str9103) %t569 = call ptr @fn_emit_bind(ptr %t568) %t570 = call ptr @fn_val(ptr %t569, ptr @.str9104) store ptr %t570, ptr %retval br label %ret ifend117: %t571 = load ptr, ptr %t38 %t572 = call i32 @lp_str_eq(ptr %t571, ptr @.str9105) %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 @.str9106, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str9107) %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 @.str9108, ptr %t590) %t592 = call ptr @lp_str_concat(ptr %t591, ptr @.str9109) %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 @.str9110, ptr %t595) %t597 = call ptr @lp_str_concat(ptr %t596, ptr @.str9111) %t598 = call ptr @fn_emit_bind(ptr %t597) %t599 = call ptr @fn_val(ptr %t598, ptr @.str9112) store ptr %t599, ptr %retval br label %ret ifend120: %t600 = load ptr, ptr %t38 %t601 = call i32 @lp_str_eq(ptr %t600, ptr @.str9113) %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 @.str9114) 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 @.str9115, ptr %t631) %t633 = call ptr @lp_str_concat(ptr %t632, ptr @.str9116) %t634 = call ptr @fn_emit_bind(ptr %t633) %t635 = call ptr @fn_val(ptr %t634, ptr @.str9117) store ptr %t635, ptr %retval br label %ret ifend123: %t639 = load ptr, ptr %t38 %t640 = call i32 @lp_str_eq(ptr %t639, ptr @.str9118) %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 @.str9119) %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 @.str9120) %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 @.str9121) %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 @.str9122, ptr %t729) %t731 = call ptr @lp_str_concat(ptr %t730, ptr @.str9123) %t732 = call ptr @fn_emit_bind(ptr %t731) %t733 = call ptr @fn_val(ptr %t732, ptr @.str9124) 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 @.str9125) %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 @.str9126, ptr %t742) %t744 = call ptr @lp_str_concat(ptr %t743, ptr @.str9127) %t745 = call ptr @fn_emit_bind(ptr %t744) %t746 = call ptr @fn_val(ptr %t745, ptr @.str9128) 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 @.str9129) store ptr %t750, ptr %retval br label %ret ifend145: %t753 = load ptr, ptr %t38 %t754 = call i32 @lp_str_eq(ptr %t753, ptr @.str9130) %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 @.str9131) store ptr %t795, ptr %retval br label %ret ifend161: %t797 = load ptr, ptr %t38 %t798 = call i32 @lp_str_eq(ptr %t797, ptr @.str9132) %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 @.str9133) %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 @.str9134) %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 @.str9135) %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 @.str9136) %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 @.str9137) %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 @.str9138, ptr %t905 %t906 = load ptr, ptr %t38 %t907 = call i32 @lp_str_eq(ptr %t906, ptr @.str9139) %t908 = icmp ne i32 %t907, 0 br i1 %t908, label %then192, label %ifend194 then192: store ptr @.str9140, 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 @.str9141) %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 @.str9142, ptr %t933) %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str9143) %t936 = call ptr @fn_emit_bind(ptr %t935) %t937 = call ptr @fn_val(ptr %t936, ptr @.str9144) store ptr %t937, ptr %retval br label %ret ifend197: %t938 = load ptr, ptr %t38 %t939 = call i32 @lp_str_eq(ptr %t938, ptr @.str9145) %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 @.str9146, ptr %t952) %t954 = call ptr @lp_str_concat(ptr %t953, ptr @.str9147) %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 @.str9148) %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 @.str9149) %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 @.str9150, ptr @.str9151) %t969 = call ptr @fn_val(ptr @.str9152, ptr @.str9153) store ptr %t969, ptr %retval br label %ret ifend200: %t970 = load ptr, ptr %t38 %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str9154) %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 @.str9155, ptr %t993) %t995 = call ptr @lp_str_concat(ptr %t994, ptr @.str9156) %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 @.str9157) %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 @.str9158) %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 @.str9159, ptr @.str9160) store ptr %t1020, ptr %retval br label %ret ifend203: %t1021 = load ptr, ptr %t38 %t1022 = call i32 @lp_str_eq(ptr %t1021, ptr @.str9161) %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 @.str9162, ptr %t1053) %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str9163) %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 @.str9164, 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 @.str9165, ptr %t1066) %t1068 = call ptr @lp_str_concat(ptr %t1067, ptr @.str9166) %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 @.str9167, ptr %t1071) %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str9168) %t1074 = load ptr, ptr %t1065 %t1075 = call ptr @lp_str_concat(ptr %t1073, ptr %t1074) %t1076 = call ptr @lp_str_concat(ptr %t1075, ptr @.str9169) %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 @.str9170, ptr %t1081) %t1083 = call ptr @lp_str_concat(ptr %t1082, ptr @.str9171) %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 @.str9172) %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 @.str9173) %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 @.str9174, ptr @.str9175) store ptr %t1108, ptr %retval br label %ret ifend206: %t1109 = load ptr, ptr %t38 %t1110 = call i32 @lp_str_eq(ptr %t1109, ptr @.str9176) %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 @.str9177) %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 @.str9178) %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 @.str9179, ptr %t1134) %t1136 = call ptr @lp_str_concat(ptr %t1135, ptr @.str9180) %t1137 = load ptr, ptr %t1130 %t1138 = call ptr @lp_str_concat(ptr %t1136, ptr %t1137) %t1139 = call ptr @lp_str_concat(ptr %t1138, ptr @.str9181) %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 @.str9182) call void @fn_emit(ptr %t1144) call void @fn_emit(ptr @.str9183) store i32 1, ptr @g_g_term %t1145 = call ptr @fn_val(ptr @.str9184, ptr @.str9185) store ptr %t1145, ptr %retval br label %ret ifend209: %t1146 = load ptr, ptr %t38 %t1147 = call i32 @lp_str_eq(ptr %t1146, ptr @.str9186) %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 @.str9187, ptr %t1160) %t1162 = call ptr @lp_str_concat(ptr %t1161, ptr @.str9188) %t1163 = call ptr @fn_emit_bind(ptr %t1162) store ptr %t1163, ptr %t1164 %t1165 = call ptr @fn_lbl(ptr @.str9189) store ptr %t1165, ptr %t1166 %t1167 = call ptr @fn_lbl(ptr @.str9190) store ptr %t1167, ptr %t1168 %t1169 = load ptr, ptr %t1164 %t1170 = call ptr @lp_str_concat(ptr @.str9191, ptr %t1169) %t1171 = call ptr @lp_str_concat(ptr %t1170, ptr @.str9192) %t1172 = load ptr, ptr %t1166 %t1173 = call ptr @lp_str_concat(ptr %t1171, ptr %t1172) %t1174 = call ptr @lp_str_concat(ptr %t1173, ptr @.str9193) %t1175 = load ptr, ptr %t1168 %t1176 = call ptr @lp_str_concat(ptr %t1174, ptr %t1175) %t1177 = call ptr @lp_str_concat(ptr %t1176, ptr @.str9194) call void @fn_emit(ptr %t1177) %t1178 = load ptr, ptr %t1168 %t1179 = call ptr @lp_str_concat(ptr %t1178, ptr @.str9195) 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 @.str9196) %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 @.str9197) %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 @.str9198, ptr %t1202) %t1204 = call ptr @lp_str_concat(ptr %t1203, ptr @.str9199) %t1205 = load ptr, ptr %t1198 %t1206 = call ptr @lp_str_concat(ptr %t1204, ptr %t1205) %t1207 = call ptr @lp_str_concat(ptr %t1206, ptr @.str9200) %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 @.str9201) call void @fn_emit(ptr %t1212) call void @fn_emit(ptr @.str9202) %t1213 = load ptr, ptr %t1166 %t1214 = call ptr @lp_str_concat(ptr %t1213, ptr @.str9203) call void @fn_emit(ptr %t1214) %t1215 = call ptr @fn_val(ptr @.str9204, ptr @.str9205) store ptr %t1215, ptr %retval br label %ret ifend212: %t1217 = load ptr, ptr %t38 %t1218 = call i32 @lp_str_eq(ptr %t1217, ptr @.str9206) %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 @.str9207) %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 @.str9208) store ptr %t1237, ptr %t1238 %t1239 = load ptr, ptr %t1238 %t1240 = call ptr @lp_str_concat(ptr @.str9209, ptr %t1239) %t1241 = call ptr @lp_str_concat(ptr %t1240, ptr @.str9210) %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 @.str9211, ptr %t1244) %t1246 = call ptr @lp_str_concat(ptr %t1245, ptr @.str9212) call void @fn_emit(ptr %t1246) %t1247 = load ptr, ptr %t1238 %t1248 = call ptr @lp_str_concat(ptr @.str9213, ptr %t1247) %t1249 = call ptr @lp_str_concat(ptr %t1248, ptr @.str9214) %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 @.str9216) %t1254 = call ptr @lp_str_concat(ptr @.str9215, ptr %t1253) %t1255 = call ptr @lp_str_concat(ptr %t1254, ptr @.str9217) %t1256 = load ptr, ptr %t1251 %t1257 = call ptr @lp_str_concat(ptr %t1255, ptr %t1256) %t1258 = call ptr @lp_str_concat(ptr %t1257, ptr @.str9218) call void @fn_emit(ptr %t1258) %t1259 = load ptr, ptr %t1238 %t1260 = call ptr @lp_str_concat(ptr @.str9219, ptr %t1259) %t1261 = call ptr @lp_str_concat(ptr %t1260, ptr @.str9220) %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 @.str9221, ptr %t1264) %t1266 = call ptr @lp_str_concat(ptr %t1265, ptr @.str9222) call void @fn_emit(ptr %t1266) %t1267 = load ptr, ptr %t1238 %t1268 = call ptr @fn_val(ptr %t1267, ptr @.str9223) store ptr %t1268, ptr %retval br label %ret ifend217: %t1270 = load ptr, ptr %t38 %t1271 = call i32 @lp_str_eq(ptr %t1270, ptr @.str9224) %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 @.str9225) %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 @.str9226) store ptr %t1290, ptr %t1291 %t1292 = load ptr, ptr %t1291 %t1293 = call ptr @lp_str_concat(ptr @.str9227, ptr %t1292) %t1294 = call ptr @lp_str_concat(ptr %t1293, ptr @.str9228) %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 @.str9229, ptr %t1297) %t1299 = call ptr @lp_str_concat(ptr %t1298, ptr @.str9230) call void @fn_emit(ptr %t1299) %t1300 = load ptr, ptr %t1291 %t1301 = call ptr @lp_str_concat(ptr @.str9231, ptr %t1300) %t1302 = call ptr @lp_str_concat(ptr %t1301, ptr @.str9232) %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 @.str9233, ptr %t1305) %t1307 = call ptr @lp_str_concat(ptr %t1306, ptr @.str9234) call void @fn_emit(ptr %t1307) %t1308 = load ptr, ptr %t1291 %t1309 = call ptr @lp_str_concat(ptr @.str9235, ptr %t1308) %t1310 = call ptr @lp_str_concat(ptr %t1309, ptr @.str9236) %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 @.str9237, ptr %t1315) %t1317 = call ptr @lp_str_concat(ptr %t1316, ptr @.str9238) %t1318 = load ptr, ptr %t1312 %t1319 = call ptr @lp_str_concat(ptr %t1317, ptr %t1318) %t1320 = call ptr @lp_str_concat(ptr %t1319, ptr @.str9239) call void @fn_emit(ptr %t1320) %t1321 = load ptr, ptr %t1291 %t1322 = call ptr @fn_val(ptr %t1321, ptr @.str9240) store ptr %t1322, ptr %retval br label %ret ifend222: %t1324 = load ptr, ptr %t38 %t1325 = call i32 @lp_str_eq(ptr %t1324, ptr @.str9241) %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 @.str9242) %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 @.str9243, ptr %t1346) %t1348 = call ptr @lp_str_concat(ptr %t1347, ptr @.str9244) %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 @.str9245, 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 @.str9246, ptr %t1355) %t1357 = call ptr @lp_str_concat(ptr %t1356, ptr @.str9247) %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 @.str9248, ptr %t1360) %t1362 = call ptr @lp_str_concat(ptr %t1361, ptr @.str9249) %t1363 = call ptr @fn_emit_bind(ptr %t1362) %t1364 = call ptr @fn_val(ptr %t1363, ptr @.str9250) store ptr %t1364, ptr %retval br label %ret ifend227: %t1366 = load ptr, ptr %t38 %t1367 = call i32 @lp_str_eq(ptr %t1366, ptr @.str9251) %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 @.str9252) %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 @.str9253, ptr %t1388) %t1390 = call ptr @lp_str_concat(ptr %t1389, ptr @.str9254) %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 @.str9255, 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 @.str9256, ptr %t1397) %t1399 = call ptr @lp_str_concat(ptr %t1398, ptr @.str9257) %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 @.str9258, ptr %t1402) %t1404 = call ptr @lp_str_concat(ptr %t1403, ptr @.str9259) %t1405 = call ptr @fn_emit_bind(ptr %t1404) %t1406 = call ptr @fn_val(ptr %t1405, ptr @.str9260) store ptr %t1406, ptr %retval br label %ret ifend232: %t1408 = load ptr, ptr %t38 %t1409 = call i32 @lp_str_eq(ptr %t1408, ptr @.str9261) %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 @.str9262) %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 @.str9263) store ptr %t1428, ptr %t1429 %t1430 = load ptr, ptr %t1429 %t1431 = call ptr @lp_str_concat(ptr @.str9264, ptr %t1430) %t1432 = call ptr @lp_str_concat(ptr %t1431, ptr @.str9265) %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 @.str9266, ptr %t1435) %t1437 = call ptr @lp_str_concat(ptr %t1436, ptr @.str9267) call void @fn_emit(ptr %t1437) %t1438 = load ptr, ptr %t1429 %t1439 = call ptr @lp_str_concat(ptr @.str9268, ptr %t1438) %t1440 = call ptr @lp_str_concat(ptr %t1439, ptr @.str9269) %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 @.str9271) %t1445 = call ptr @lp_str_concat(ptr @.str9270, ptr %t1444) %t1446 = call ptr @lp_str_concat(ptr %t1445, ptr @.str9272) %t1447 = load ptr, ptr %t1442 %t1448 = call ptr @lp_str_concat(ptr %t1446, ptr %t1447) %t1449 = call ptr @lp_str_concat(ptr %t1448, ptr @.str9273) call void @fn_emit(ptr %t1449) %t1450 = load ptr, ptr %t1429 %t1451 = call ptr @fn_val(ptr %t1450, ptr @.str9274) store ptr %t1451, ptr %retval br label %ret ifend237: %t1453 = load ptr, ptr %t38 %t1454 = call i32 @lp_str_eq(ptr %t1453, ptr @.str9275) %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 @.str9276) %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 @.str9277) store ptr %t1464, ptr %t1465 %t1466 = load ptr, ptr %t1465 %t1467 = call ptr @lp_str_concat(ptr @.str9278, ptr %t1466) %t1468 = call ptr @lp_str_concat(ptr %t1467, ptr @.str9279) %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 @.str9280, ptr %t1471) %t1473 = call ptr @lp_str_concat(ptr %t1472, ptr @.str9281) call void @fn_emit(ptr %t1473) %t1474 = load ptr, ptr %t1465 %t1475 = call ptr @lp_str_concat(ptr @.str9282, ptr %t1474) %t1476 = call ptr @lp_str_concat(ptr %t1475, ptr @.str9283) %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 @.str9284, ptr %t1479) %t1481 = call ptr @lp_str_concat(ptr %t1480, ptr @.str9285) call void @fn_emit(ptr %t1481) %t1482 = load ptr, ptr %t1465 %t1483 = call ptr @fn_val(ptr %t1482, ptr @.str9286) store ptr %t1483, ptr %retval br label %ret ifend242: %t1485 = load ptr, ptr %t38 %t1486 = call i32 @lp_str_eq(ptr %t1485, ptr @.str9287) %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 @.str9288) %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 @.str9289, ptr %t1507) %t1509 = call ptr @lp_str_concat(ptr %t1508, ptr @.str9290) %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 @.str9291, 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 @.str9292, ptr %t1516) %t1518 = call ptr @lp_str_concat(ptr %t1517, ptr @.str9293) %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 @.str9294, ptr %t1521) %t1523 = call ptr @lp_str_concat(ptr %t1522, ptr @.str9295) %t1524 = call ptr @fn_emit_bind(ptr %t1523) %t1525 = call ptr @fn_val(ptr %t1524, ptr @.str9296) store ptr %t1525, ptr %retval br label %ret ifend247: %t1527 = load ptr, ptr %t38 %t1528 = call i32 @lp_str_eq(ptr %t1527, ptr @.str9297) %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 @.str9298) %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 @.str9299, ptr %t1549) %t1551 = call ptr @lp_str_concat(ptr %t1550, ptr @.str9300) %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 @.str9301, 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 @.str9302, ptr %t1558) %t1560 = call ptr @lp_str_concat(ptr %t1559, ptr @.str9303) %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 @.str9304, ptr %t1563) %t1565 = call ptr @lp_str_concat(ptr %t1564, ptr @.str9305) %t1566 = call ptr @fn_emit_bind(ptr %t1565) %t1567 = call ptr @fn_val(ptr %t1566, ptr @.str9306) store ptr %t1567, ptr %retval br label %ret ifend252: %t1569 = load ptr, ptr %t38 %t1570 = call i32 @lp_str_eq(ptr %t1569, ptr @.str9307) %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 @.str9308) %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 @.str9309, ptr %t1600) %t1602 = call ptr @lp_str_concat(ptr %t1601, ptr @.str9310) %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 @.str9311, 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 @.str9312, ptr %t1611) %t1613 = call ptr @lp_str_concat(ptr %t1612, ptr @.str9313) %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 @.str9314, 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 @.str9315, ptr %t1620) %t1622 = call ptr @lp_str_concat(ptr %t1621, ptr @.str9316) %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 @.str9317, ptr %t1625) %t1627 = call ptr @lp_str_concat(ptr %t1626, ptr @.str9318) %t1628 = load ptr, ptr %t1619 %t1629 = call ptr @lp_str_concat(ptr %t1627, ptr %t1628) %t1630 = call ptr @lp_str_concat(ptr %t1629, ptr @.str9319) %t1631 = load ptr, ptr %t1597 %t1632 = call ptr @fn_coerce_code(ptr %t1631, ptr @.str9320) %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 @.str9321) store ptr %t1635, ptr %retval br label %ret ifend257: %t1636 = load ptr, ptr %t38 %t1637 = call i32 @lp_str_eq(ptr %t1636, ptr @.str9322) %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 @.str9323, ptr %t1650) %t1652 = call ptr @lp_str_concat(ptr %t1651, ptr @.str9324) %t1653 = call ptr @fn_emit_bind(ptr %t1652) %t1654 = call ptr @fn_val(ptr %t1653, ptr @.str9325) store ptr %t1654, ptr %retval br label %ret ifend260: %t1655 = load ptr, ptr %t38 %t1656 = call i32 @lp_str_eq(ptr %t1655, ptr @.str9326) %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 @.str9327, ptr %t1678) %t1680 = call ptr @lp_str_concat(ptr %t1679, ptr @.str9328) %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 @.str9329) %t1686 = call ptr @fn_emit_bind(ptr %t1685) %t1687 = call ptr @fn_val(ptr %t1686, ptr @.str9330) store ptr %t1687, ptr %retval br label %ret ifend263: %t1688 = load ptr, ptr %t38 %t1689 = call i32 @lp_str_eq(ptr %t1688, ptr @.str9331) %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 @.str9332, ptr %t1720) %t1722 = call ptr @lp_str_concat(ptr %t1721, ptr @.str9333) %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 @.str9334) %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 @.str9335) %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 @.str9336, ptr %t1735) %t1737 = call ptr @lp_str_concat(ptr %t1736, ptr @.str9337) %t1738 = call ptr @fn_emit_bind(ptr %t1737) %t1739 = call ptr @fn_val(ptr %t1738, ptr @.str9338) store ptr %t1739, ptr %retval br label %ret ifend266: %t1740 = load ptr, ptr %t38 %t1741 = call i32 @lp_str_eq(ptr %t1740, ptr @.str9339) %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 @.str9340, ptr %t1781) %t1783 = call ptr @lp_str_concat(ptr %t1782, ptr @.str9341) %t1784 = call ptr @fn_emit_bind(ptr %t1783) store ptr %t1784, ptr %t1785 call void @fn_emit(ptr @.str9342) %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 @.str9343) %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 @.str9344) %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 @.str9345) %t1795 = load ptr, ptr %t1785 call void @fn_emit(ptr %t1795) call void @fn_emit(ptr @.str9346) %t1796 = call ptr @fn_val(ptr @.str9347, ptr @.str9348) store ptr %t1796, ptr %retval br label %ret ifend269: %t1797 = load ptr, ptr %t38 %t1798 = call i32 @lp_str_eq(ptr %t1797, ptr @.str9349) %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 @.str9350, ptr %t1820) %t1822 = call ptr @lp_str_concat(ptr %t1821, ptr @.str9351) %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 @.str9352) %t1828 = call ptr @fn_emit_bind(ptr %t1827) %t1829 = call ptr @fn_val(ptr %t1828, ptr @.str9353) store ptr %t1829, ptr %retval br label %ret ifend272: %t1830 = load ptr, ptr %t38 %t1831 = call i32 @lp_str_eq(ptr %t1830, ptr @.str9354) %t1832 = icmp ne i32 %t1831, 0 br i1 %t1832, label %then273, label %ifend275 then273: %t1833 = call ptr @fn_emit_bind(ptr @.str9355) %t1834 = call ptr @fn_val(ptr %t1833, ptr @.str9356) store ptr %t1834, ptr %retval br label %ret ifend275: %t1835 = load ptr, ptr %t38 %t1836 = call i32 @lp_str_eq(ptr %t1835, ptr @.str9357) %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 @.str9358, ptr %t1849) %t1851 = call ptr @lp_str_concat(ptr %t1850, ptr @.str9359) %t1852 = call ptr @fn_emit_bind(ptr %t1851) %t1853 = call ptr @fn_val(ptr %t1852, ptr @.str9360) store ptr %t1853, ptr %retval br label %ret ifend278: %t1854 = load ptr, ptr %t38 %t1855 = call i32 @lp_str_eq(ptr %t1854, ptr @.str9361) %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 @.str9362, ptr %t1868) %t1870 = call ptr @lp_str_concat(ptr %t1869, ptr @.str9363) %t1871 = call ptr @fn_emit_bind(ptr %t1870) %t1872 = call ptr @fn_val(ptr %t1871, ptr @.str9364) store ptr %t1872, ptr %retval br label %ret ifend281: %t1873 = load ptr, ptr %t38 %t1874 = call i32 @lp_str_eq(ptr %t1873, ptr @.str9365) %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 @.str9366, ptr %t1896) %t1898 = call ptr @lp_str_concat(ptr %t1897, ptr @.str9367) %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 @.str9368) %t1904 = call ptr @fn_emit_bind(ptr %t1903) %t1905 = call ptr @fn_val(ptr %t1904, ptr @.str9369) store ptr %t1905, ptr %retval br label %ret ifend284: %t1906 = load ptr, ptr %t38 %t1907 = call i32 @lp_str_eq(ptr %t1906, ptr @.str9370) %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 @.str9371, ptr %t1929) %t1931 = call ptr @lp_str_concat(ptr %t1930, ptr @.str9372) %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 @.str9373) %t1937 = call ptr @fn_emit_bind(ptr %t1936) %t1938 = call ptr @fn_val(ptr %t1937, ptr @.str9374) store ptr %t1938, ptr %retval br label %ret ifend287: %t1939 = load ptr, ptr %t38 %t1940 = call i32 @lp_str_eq(ptr %t1939, ptr @.str9375) %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 @.str9376) %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 @.str9377) %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 @.str9378) %t1966 = call ptr @fn_val(ptr @.str9379, ptr @.str9380) store ptr %t1966, ptr %retval br label %ret ifend290: %t1967 = load ptr, ptr %t38 %t1968 = call i32 @lp_str_eq(ptr %t1967, ptr @.str9381) %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 @.str9382) %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 @.str9383) %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 @.str9384) %t1994 = call ptr @fn_val(ptr @.str9385, ptr @.str9386) store ptr %t1994, ptr %retval br label %ret ifend293: %t1995 = load ptr, ptr %t38 %t1996 = call i32 @lp_str_eq(ptr %t1995, ptr @.str9387) %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 @.str9388, ptr %t2009) %t2011 = call ptr @lp_str_concat(ptr %t2010, ptr @.str9389) %t2012 = call ptr @fn_emit_bind(ptr %t2011) %t2013 = call ptr @fn_val(ptr %t2012, ptr @.str9390) store ptr %t2013, ptr %retval br label %ret ifend296: %t2014 = load ptr, ptr %t38 %t2015 = call i32 @lp_str_eq(ptr %t2014, ptr @.str9391) %t2016 = icmp ne i32 %t2015, 0 br i1 %t2016, label %then297, label %ifend299 then297: %t2017 = call ptr @fn_emit_bind(ptr @.str9392) %t2018 = call ptr @fn_val(ptr %t2017, ptr @.str9393) store ptr %t2018, ptr %retval br label %ret ifend299: %t2019 = load ptr, ptr %t38 %t2020 = call i32 @lp_str_eq(ptr %t2019, ptr @.str9394) %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 @.str9395, ptr %t2033) %t2035 = call ptr @lp_str_concat(ptr %t2034, ptr @.str9396) %t2036 = call ptr @fn_emit_bind(ptr %t2035) %t2037 = call ptr @fn_val(ptr %t2036, ptr @.str9397) store ptr %t2037, ptr %retval br label %ret ifend302: %t2038 = load ptr, ptr %t38 %t2039 = call i32 @lp_str_eq(ptr %t2038, ptr @.str9398) %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 @.str9399, ptr %t2052) %t2054 = call ptr @lp_str_concat(ptr %t2053, ptr @.str9400) %t2055 = call ptr @fn_emit_bind(ptr %t2054) %t2056 = call ptr @fn_val(ptr %t2055, ptr @.str9401) store ptr %t2056, ptr %retval br label %ret ifend305: %t2057 = load ptr, ptr %t38 %t2058 = call i32 @lp_str_eq(ptr %t2057, ptr @.str9402) %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 @.str9403, ptr %t2080) %t2082 = call ptr @lp_str_concat(ptr %t2081, ptr @.str9404) %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 @.str9405) %t2088 = call ptr @fn_emit_bind(ptr %t2087) %t2089 = call ptr @fn_val(ptr %t2088, ptr @.str9406) store ptr %t2089, ptr %retval br label %ret ifend308: %t2090 = load ptr, ptr %t38 %t2091 = call i32 @lp_str_eq(ptr %t2090, ptr @.str9407) %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 @.str9408, ptr %t2113) %t2115 = call ptr @lp_str_concat(ptr %t2114, ptr @.str9409) %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 @.str9410) %t2121 = call ptr @fn_emit_bind(ptr %t2120) %t2122 = call ptr @fn_val(ptr %t2121, ptr @.str9411) 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 @.str9412) store ptr @.str9413, ptr %t2236 %t2237 = load ptr, ptr %t2235 %t2238 = call i32 @lp_str_eq(ptr %t2237, ptr @.str9414) %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 @.str9415) br label %ifend333 ifend333: call void @fn_emit(ptr @.str9416) %t2244 = load ptr, ptr %t2235 call void @fn_emit(ptr %t2244) call void @fn_emit(ptr @.str9417) %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 @.str9418) 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 @.str9419) 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 @.str9420) %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 @.str9421) %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 @.str9422, 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 @.str9423, 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 @.str9424) store ptr @.str9425, ptr %t2421 %t2422 = load ptr, ptr %t2420 %t2423 = call i32 @lp_str_eq(ptr %t2422, ptr @.str9426) %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 @.str9427) br label %ifend361 ifend361: call void @fn_emit(ptr @.str9428) %t2429 = load ptr, ptr %t2420 call void @fn_emit(ptr %t2429) call void @fn_emit(ptr @.str9429) %t2430 = load ptr, ptr %t2298 call void @fn_emit(ptr %t2430) call void @fn_emit(ptr @.str9430) 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 @.str9431) 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 @.str9432) %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 @.str9433) %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 @.str9434, ptr @.str9435) 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 @.str9436) 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 @.str9437) 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 @.str9438) 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 @.str9439, ptr @.str9440) 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 @.str9441) 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 @.str9442, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str9443) %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 @.str9444) %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 @.str9445) %t110 = call ptr @fn_emit_bind(ptr %t109) %t111 = call ptr @fn_val(ptr %t110, ptr @.str9446) 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 @.str9447) 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 @.str9448, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str9449) %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 @.str9450) %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 @.str9451) %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 @.str9452) %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 @.str9453, ptr %t232) %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str9454) 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 @.str9455, ptr %t237) %t239 = call ptr @fn_val(ptr %t238, ptr @.str9456) 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 @.str9457, 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 @.str9458, ptr %t310) %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str9459) %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 @.str9460) 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 @.str9461, 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 @.str9462) %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 @.str9463, 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 @.str9464) 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 @.str9465) %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 @.str9466, 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 @.str9467) 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 @.str9468) 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 @.str9469) %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 @.str9470) %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 @.str9471) %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 @.str9472) %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 @.str9473) 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 @.str9474) 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 @.str9475) %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 @.str9476, 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 @.str9477, ptr %t524) %t526 = call ptr @lp_str_concat(ptr %t525, ptr @.str9478) %t527 = call ptr @fn_emit_bind(ptr %t526) %t528 = call ptr @fn_val(ptr %t527, ptr @.str9479) 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 @.str9480) %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 @.str9481, ptr %t587) %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str9482) %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 @.str9483, ptr %t601) %t603 = call ptr @lp_str_concat(ptr %t602, ptr @.str9484) %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 @.str9485) %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 @.str9486, ptr %t626) %t628 = call ptr @fn_emit_bind(ptr %t627) %t629 = call ptr @fn_val(ptr %t628, ptr @.str9487) 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 @.str9488) %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 @.str9489) %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 @.str9490, ptr %t648) %t650 = call ptr @fn_emit_bind(ptr %t649) %t651 = call ptr @fn_val(ptr %t650, ptr @.str9491) 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 @.str9492) %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 @.str9493, ptr %t659) %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str9494) %t662 = call ptr @fn_emit_bind(ptr %t661) %t663 = call ptr @fn_val(ptr %t662, ptr @.str9495) 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 @.str9496) %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 @.str9497, 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 @.str9498) %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 @.str9499, ptr %t686) %t688 = call ptr @lp_str_concat(ptr %t687, ptr @.str9500) %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 @.str9501, ptr %t697) %t699 = call ptr @lp_str_concat(ptr %t698, ptr @.str9502) %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 @.str9503, ptr %t702) %t704 = call ptr @lp_str_concat(ptr %t703, ptr @.str9504) %t705 = call ptr @fn_emit_bind(ptr %t704) %t706 = call ptr @fn_val(ptr %t705, ptr @.str9505) store ptr %t706, ptr %retval br label %ret ifend130: call void @fn_perr(ptr @.str9506) %t707 = call ptr @fn_val(ptr @.str9507, ptr @.str9508) 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 @.str9509) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str9510) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str9511) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str9512) 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 @.str9513, ptr %t5 store ptr @.str9514, 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 @.str9515, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str9516) %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 @.str9517, 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 @.str9518, 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 @.str9519) 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 @.str9520) %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 @.str9521, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str9522) %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 @.str9523) %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 @.str9524, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str9525) %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 @.str9526, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9527) %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 @.str9528) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str9529) store ptr %t21, ptr %t22 %t23 = call ptr @fn_lbl(ptr @.str9530) 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 @.str9531) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9532) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9533) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9534) br label %ifend2 else1: call void @fn_emit(ptr @.str9535) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9536) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9537) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str9538) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9539) 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 @.str9540) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9541) 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 @.str9542) 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 @.str9543) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9544) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9545) 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 @.str9546) store ptr %t1, ptr %t2 %t3 = call ptr @fn_lbl(ptr @.str9547) store ptr %t3, ptr %t4 %t5 = call ptr @fn_lbl(ptr @.str9548) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str9549) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str9550) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str9551) %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 @.str9552, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str9553) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str9554) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str9555) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str9556) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9557) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9558) 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 @.str9559) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9560) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9561) 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 @.str9562) 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 @.str9563, 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 @.str9564) %t16 = call ptr @fn_lbl(ptr @.str9565) store ptr %t16, ptr %t17 %t18 = call ptr @fn_lbl(ptr @.str9566) store ptr %t18, ptr %t19 %t20 = call ptr @fn_lbl(ptr @.str9567) store ptr %t20, ptr %t21 %t22 = call ptr @fn_lbl(ptr @.str9568) store ptr %t22, ptr %t23 call void @fn_emit(ptr @.str9569) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9570) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9571) %t26 = load ptr, ptr %t2 %t27 = call ptr @lp_str_concat(ptr @.str9572, 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 @.str9573, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9574) %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 @.str9575) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str9576) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9577) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9578) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9579) 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 @.str9580) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str9581) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str9582) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str9583, 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 @.str9584, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9585) %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 @.str9586, ptr %t68, ptr %t69) call void @fn_emit(ptr @.str9587) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9588) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str9589) 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 @.str9590) br label %ifend2 ifend2: call void @fn_emit(ptr @.str9591) 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 @.str9592) %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 @.str9593, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str9594) %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 @.str9595) %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 @.str9596, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str9597) %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 @.str9598) 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 @.str9599) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str9600) %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 @.str9601) %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 @.str9602) %t115 = load ptr, ptr %t104 %t116 = call ptr @lp_str_concat(ptr @.str9603, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str9604) %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 @.str9605, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = call ptr @fn_lbl(ptr @.str9606) 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 @.str9607, 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 @.str9608, ptr %t82) %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str9609) %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 @.str9610, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str9611) %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 @.str9612, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str9613) %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 @.str9614) store ptr %t112, ptr %t113 %t114 = call ptr @fn_lbl(ptr @.str9615) store ptr %t114, ptr %t115 call void @fn_emit(ptr @.str9616) %t116 = load ptr, ptr %t36 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str9617) %t117 = load ptr, ptr %t113 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str9618) %t118 = load ptr, ptr %t115 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9619) %t119 = load ptr, ptr %t113 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9620) 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 @.str9621) %t137 = load ptr, ptr %t10 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str9622) br label %ifend23 ifend23: %t138 = load ptr, ptr %t115 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str9623) 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 @.str9624, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str9625) %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 @.str9626) 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 @.str9627) %t203 = load ptr, ptr %t10 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str9628) br label %ifend38 ifend38: %t204 = load ptr, ptr %t10 call void @fn_emit(ptr %t204) call void @fn_emit(ptr @.str9629) 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 @.str9630) 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 @.str9631, 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 @.str9632, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str9633) %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 @.str9634, ptr %t80) %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str9635) %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 @.str9636) store ptr %t88, ptr %t89 %t90 = call ptr @fn_lbl(ptr @.str9637) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str9638) %t92 = load ptr, ptr %t44 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str9639) %t93 = load ptr, ptr %t89 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str9640) %t94 = load ptr, ptr %t91 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str9641) %t95 = load ptr, ptr %t89 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str9642) 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 @.str9643) %t103 = load ptr, ptr %t19 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str9644) br label %ifend17 ifend17: %t104 = load ptr, ptr %t91 call void @fn_emit(ptr %t104) call void @fn_emit(ptr @.str9645) 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 @.str9646) %t118 = load ptr, ptr %t19 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9647) br label %ifend23 ifend23: %t119 = load ptr, ptr %t19 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9648) 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 @.str9649, 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 @.str9650, ptr %t96 %t97 = load ptr, ptr %t95 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str9651) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then12, label %ifend14 then12: store ptr @.str9652, 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 @.str9653) %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str9654) call void @fn_emit(ptr @.str9655) %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 @.str9656) %t180 = load ptr, ptr %t173 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str9657) 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 @.str9658) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str9659) %t195 = load i32, ptr %t181 %t196 = call ptr @fn_itoa(i32 %t195) call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str9660) call void @fn_emit(ptr @.str9661) %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 @.str9662) %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 @.str9663) %t209 = load ptr, ptr %t193 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str9664) %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 @.str9665, 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 @.str9666) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then31, label %ifend33 then31: store ptr @.str9667, ptr %t225 br label %ifend33 ifend33: %t231 = call ptr @fn_find_extern(ptr @.str9668) %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 @.str9669) %t235 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str9670) %t236 = load ptr, ptr %t225 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str9671) %t237 = load i32, ptr %t181 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str9672) %t239 = call ptr @fn_val(ptr @.str9673, ptr @.str9674) 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 @.str9675) 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 @.str9676) %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 @.str9677) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str9678) %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 @.str9679) %t284 = load ptr, ptr %t241 %t285 = call ptr @fn_buf_str(ptr %t284) call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str9680) %t286 = load ptr, ptr %t279 %t287 = call ptr @fn_val(ptr %t286, ptr @.str9681) store ptr %t287, ptr %retval br label %ret ifend45: call void @fn_emit(ptr @.str9682) %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 @.str9683) %t291 = load ptr, ptr %t241 %t292 = call ptr @fn_buf_str(ptr %t291) call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str9684) %t293 = call ptr @fn_val(ptr @.str9685, ptr @.str9686) 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 @.str9687) %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 @.str9688) 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 @.str9689) %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 @.str9690) 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 @.str9691) br label %ifend59 ifend59: call void @fn_emit(ptr @.str9692) %t216 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str9693) 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 @.str9694) 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 @.str9695) %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 @.str9696) call void @fn_emith(ptr @.str9697) call void @fn_emith(ptr @.str9698) %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 @.str9699) br label %ifend2 ifend2: call void @fn_emith(ptr @.str9700) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str9701, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9702) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 %t12 = call ptr @lp_str_concat(ptr @.str9703, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str9704) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr @.str9705, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str9706) call void @fn_emith(ptr %t16) call void @fn_emith(ptr @.str9707) %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 @.str9708) call void @fn_emith(ptr @.str9709) 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 @.str9710, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str9711) 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 @.str9712, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9713) %t50 = load ptr, ptr %t7 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str9714) %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 @.str9715) 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 @.str9716, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str9717) %t63 = load ptr, ptr %t7 %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9718) 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 @.str9719, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str9720) 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 @.str9721, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9722) 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 @.str9723, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str9724) 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 @.str9725) 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 @.str9726, ptr %t22) store ptr %t23, ptr %t24 call void @fn_emit(ptr @.str9727) %t25 = load ptr, ptr %t24 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9728) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9729) %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 @.str9730) call void @fn_emit(ptr @.str9731) %t35 = load ptr, ptr %t24 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9732) 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 @.str9733) %t38 = load ptr, ptr %t1 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str9734) call void @fn_emit(ptr @.str9735) %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 @.str9736) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9737) call void @fn_emit(ptr @.str9738) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9739) call void @fn_emit(ptr @.str9740) call void @fn_emit(ptr @.str9741) call void @fn_emit(ptr @.str9742) call void @fn_emit(ptr @.str9743) call void @fn_emit(ptr @.str9744) call void @fn_emit(ptr @.str9745) call void @fn_emit(ptr @.str9746) call void @fn_emit(ptr @.str9747) %t42 = load ptr, ptr %t1 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str9748) call void @fn_emit(ptr @.str9749) call void @fn_emit(ptr @.str9750) call void @fn_emit(ptr @.str9751) call void @fn_emit(ptr @.str9752) call void @fn_emit(ptr @.str9753) call void @fn_emit(ptr @.str9754) call void @fn_emit(ptr @.str9755) call void @fn_emit(ptr @.str9756) call void @fn_emit(ptr @.str9757) call void @fn_emit(ptr @.str9758) call void @fn_emit(ptr @.str9759) %t43 = load ptr, ptr %t1 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str9760) call void @fn_emit(ptr @.str9761) call void @fn_emit(ptr @.str9762) call void @fn_emit(ptr @.str9763) call void @fn_emit(ptr @.str9764) %t44 = load ptr, ptr %t1 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str9765) call void @fn_emit(ptr @.str9766) call void @fn_emit(ptr @.str9767) call void @fn_emit(ptr @.str9768) call void @fn_emit(ptr @.str9769) %t45 = load ptr, ptr %t1 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9770) call void @fn_emit(ptr @.str9771) call void @fn_emit(ptr @.str9772) call void @fn_emit(ptr @.str9773) call void @fn_emit(ptr @.str9774) 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 @.str9775) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str9776, ptr @.str9777, 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 @.str9778) store ptr %t41, ptr %t42 %t43 = call ptr @fn_lbl(ptr @.str9779) store ptr %t43, ptr %t44 %t45 = call ptr @fn_lbl(ptr @.str9780) store ptr %t45, ptr %t46 %t47 = call ptr @fn_lbl(ptr @.str9781) store ptr %t47, ptr %t48 call void @fn_emit(ptr @.str9782) %t49 = load ptr, ptr %t42 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9783) %t50 = load ptr, ptr %t42 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9784) %t51 = load ptr, ptr %t4 %t52 = call ptr @lp_str_concat(ptr @.str9785, ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 %t55 = call ptr @fn_emit_bind(ptr @.str9786) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t54 %t58 = call ptr @lp_str_concat(ptr @.str9787, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str9788) %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 @.str9789) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9790) %t65 = load ptr, ptr %t44 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9791) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9792) %t67 = load ptr, ptr %t44 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9793) store i32 0, ptr @g_g_term %t68 = load ptr, ptr %t4 %t69 = call ptr @lp_str_concat(ptr @.str9794, 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 @.str9795) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9796) %t75 = load ptr, ptr %t2 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9797) %t76 = load ptr, ptr %t71 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9798) %t77 = load ptr, ptr %t73 %t78 = call ptr @lp_str_concat(ptr @.str9799, 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 @.str9800, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str9801) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = call ptr @fn_lbl(ptr @.str9802) store ptr %t86, ptr %t87 call void @fn_emit(ptr @.str9803) %t88 = load ptr, ptr %t85 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str9804) %t89 = load ptr, ptr %t87 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str9805) %t90 = load ptr, ptr %t46 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str9806) %t91 = load ptr, ptr %t87 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str9807) %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 @.str9808, 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 @.str9809) %t127 = load ptr, ptr %t126 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str9810) %t128 = load ptr, ptr %t2 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str9811) %t129 = load ptr, ptr %t71 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str9812) %t130 = load ptr, ptr %t126 %t131 = call ptr @lp_str_concat(ptr @.str9813, 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 @.str9814, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str9815) %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 @.str9816, 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 @.str9817, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str9818) %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 @.str9819, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9820) %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 @.str9821) %t161 = load ptr, ptr %t160 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str9822) %t162 = load ptr, ptr %t2 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str9823) %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 @.str9824) %t166 = load ptr, ptr %t71 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str9825) %t167 = load ptr, ptr %t160 %t168 = call ptr @lp_str_concat(ptr @.str9826, 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 @.str9827, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str9828) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t120 br label %ifend10 ifend10: %t175 = call ptr @fn_lbl(ptr @.str9829) store ptr %t175, ptr %t176 call void @fn_emit(ptr @.str9830) %t177 = load ptr, ptr %t120 call void @fn_emit(ptr %t177) call void @fn_emit(ptr @.str9831) %t178 = load ptr, ptr %t176 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str9832) %t179 = load ptr, ptr %t46 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str9833) %t180 = load ptr, ptr %t176 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str9834) %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 @.str9835) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str9836) %t234 = load ptr, ptr %t2 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str9837) %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 @.str9838) %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 @.str9839) %t241 = load ptr, ptr %t71 call void @fn_emit(ptr %t241) call void @fn_emit(ptr @.str9840) %t242 = call ptr @fn_emit_alloca(ptr @.str9841) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str9842) %t244 = load ptr, ptr %t232 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str9843) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str9844) %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 @.str9845, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str9846) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 %t282 = call ptr @fn_lbl(ptr @.str9847) store ptr %t282, ptr %t283 call void @fn_emit(ptr @.str9848) %t284 = load ptr, ptr %t281 call void @fn_emit(ptr %t284) call void @fn_emit(ptr @.str9849) %t285 = load ptr, ptr %t283 call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str9850) %t286 = load ptr, ptr %t46 call void @fn_emit(ptr %t286) call void @fn_emit(ptr @.str9851) %t287 = load ptr, ptr %t283 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str9852) 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 @.str9853) %t298 = load ptr, ptr %t46 call void @fn_emit(ptr %t298) call void @fn_emit(ptr @.str9854) br label %ifend27 ifend27: %t299 = load ptr, ptr %t46 call void @fn_emit(ptr %t299) call void @fn_emit(ptr @.str9855) %t300 = load ptr, ptr %t4 %t301 = call ptr @lp_str_concat(ptr @.str9856, 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 @.str9857, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str9858) %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 @.str9859, ptr %t309, ptr %t310) call void @fn_emit(ptr @.str9860) %t311 = load ptr, ptr %t42 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str9861) %t312 = load ptr, ptr %t48 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str9862) 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 @.str9863) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str9864) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str9865) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str9866) %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 @.str9867, 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 @.str9868) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str9869) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str9870) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str9871) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str9872) call void @fn_emit(ptr @.str9873) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9874) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str9875) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9876) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9877) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9878) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9879) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9880) 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 @.str9881) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9882) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9883) %t51 = load ptr, ptr %t22 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str9884) %t52 = load i32, ptr %t28 %t53 = call ptr @fn_itoa(i32 %t52) call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str9885) %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 @.str9886) %t78 = load ptr, ptr %t58 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9887) %t79 = load ptr, ptr %t61 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9888) %t80 = load ptr, ptr %t48 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9889) %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 @.str9890) %t118 = load ptr, ptr %t117 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9891) %t119 = load ptr, ptr %t1 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9892) %t120 = load ptr, ptr %t22 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str9893) %t121 = load i32, ptr %t111 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str9894) %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 @.str9895) %t138 = load ptr, ptr %t133 %t139 = call ptr @fn_llty(ptr %t138) call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str9896) %t140 = load ptr, ptr %t137 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str9897) %t141 = load ptr, ptr %t117 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str9898) 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 @.str9899) store ptr %t153, ptr %t154 call void @fn_emit(ptr @.str9900) %t155 = load ptr, ptr %t22 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str9901) %t156 = load ptr, ptr %t154 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str9902) %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 @.str9903, ptr %t163) %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str9904) 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 @.str9905) %t172 = load ptr, ptr %t166 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str9906) %t173 = load ptr, ptr %t0 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str9907) 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 @.str9908) %t27 = load ptr, ptr %t26 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9909) %t28 = load ptr, ptr %t3 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9910) %t29 = load ptr, ptr %t24 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9911) %t30 = load ptr, ptr %t24 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9912) %t31 = load ptr, ptr %t1 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9913) %t32 = call ptr @fn_emit_alloca(ptr @.str9914) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str9915) %t34 = load ptr, ptr %t26 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9916) %t35 = load ptr, ptr %t33 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9917) %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 @.str9918, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9919) 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 @.str9920) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str9921, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9922) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str9923) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str9924) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t12 %t18 = call ptr @lp_str_concat(ptr @.str9925, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str9926) %t20 = load ptr, ptr %t16 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str9927) %t23 = load ptr, ptr %t14 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str9928) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t16 %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str9929) call void @fn_emit(ptr %t27) %t28 = load ptr, ptr @g_g_src_name %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str9930) %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 @.str9931) %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 @.str9932) %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 @.str9933, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str9934) %t46 = load ptr, ptr %t35 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str9935) %t49 = load ptr, ptr %t39 %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str9936) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str9937) %t52 = load ptr, ptr %t14 %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str9938) 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 @.str9939, i32 %t3) %t4 = call ptr @fn_emit_bind(ptr @.str9940) 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 @.str9941, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str9942) %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 @.str9943) %t45 = load ptr, ptr %t44 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9944) %t46 = load ptr, ptr %t42 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9945) %t47 = load ptr, ptr %t5 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9946) call void @fn_emit(ptr @.str9947) %t48 = load i32, ptr %t13 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9948) %t50 = load ptr, ptr %t44 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9949) %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 @.str9950, ptr %t102) %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str9951) 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 @.str9952) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str9953) %t112 = load ptr, ptr %t5 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str9954) 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 @.str9955, 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 @.str9956) %t19 = load ptr, ptr %t18 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str9957) %t20 = load ptr, ptr %t16 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9958) %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 @.str9959) %t24 = load ptr, ptr %t18 %t25 = call ptr @lp_str_concat(ptr @.str9960, 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 @.str9961, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str9962) %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 @.str9963) store ptr %t54, ptr %t55 %t56 = call ptr @fn_lbl(ptr @.str9964) store ptr %t56, ptr %t57 call void @fn_emit(ptr @.str9965) %t58 = load ptr, ptr %t53 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str9966) %t59 = load ptr, ptr %t55 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str9967) %t60 = load ptr, ptr %t57 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str9968) %t61 = load ptr, ptr %t55 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str9969) %t62 = load ptr, ptr %t44 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9970) %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 @.str9971) %t66 = load ptr, ptr %t44 %t67 = call ptr @lp_str_concat(ptr @.str9972, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str9973) 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 @.str9974) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9975) %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 @.str9976) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9977) %t79 = load ptr, ptr %t57 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9978) %t80 = load ptr, ptr %t57 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9979) %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 @.str9980) %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 @.str9981) br label %ifend11 ifend11: call void @fn_emit(ptr @.str9982) %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 @.str9983) 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 @.str9984) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str9985) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str9986) %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 @.str9987) %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 @.str9988) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str9989, 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 @.str9990, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9991) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str9992) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str9993) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str9994) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9995) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str9996) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9997) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9998) 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 @.str9999) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10000) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10001) 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 @.str10002) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str10003) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str10004) %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 @.str10005) %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 @.str10006) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str10007, 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 @.str10008, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10009) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str10010) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str10011) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str10012) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10013) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10014) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10015) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10016) store i32 0, ptr @g_g_term call void @fn_emit(ptr @.str10017) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10018) %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 @.str10019) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10020) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10021) %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 @.str10022) %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 @.str10023) %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 @.str10024) %t60 = call ptr @fn_emit_alloca(ptr @.str10025) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str10026) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10027) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10028) %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 @.str10029, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str10030) 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 @.str10031) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str10032) %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 @.str10033) 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 @.str10034) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str10035) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10036) 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 @.str10037, 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 @.str10038, 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 @.str10039) %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 @.str10040) %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 @.str10041) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10042) %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 @.str10043) %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 @.str10044, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str10045) 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 @.str10046, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str10047) 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 @.str10048) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10049) 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 @.str10050) %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10051) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str10052) %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 @.str10053) %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 @.str10054) call void @fn_emit(ptr @.str10055) %t90 = load ptr, ptr %t1 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10056) %t91 = load ptr, ptr %t81 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10057) 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 @.str10058) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10059) %t116 = load ptr, ptr %t79 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10060) %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 @.str10061) %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 @.str10062) %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 @.str10063) %t126 = call ptr @fn_emit_alloca(ptr @.str10064) store ptr %t126, ptr %t127 call void @fn_emit(ptr @.str10065) %t128 = load ptr, ptr %t114 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str10066) %t129 = load ptr, ptr %t127 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str10067) %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 @.str10068, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str10069) 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 @.str10070, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str10071) 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 @.str10072) %t161 = load ptr, ptr %t144 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str10073) %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 @.str10074) br label %ifend33 ifend33: br label %ifend21 else20: store ptr @.str10075, 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 @.str10076, 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 @.str10077) %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 @.str10078) %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 @.str10079) %t210 = load ptr, ptr %t1 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str10080) %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 @.str10081) 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 @.str10082, 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 @.str10083) br label %ifend2 ifend2: call void @fn_emit(ptr @.str10084) %t20 = load ptr, ptr %t11 store ptr %t20, ptr @g_code call void @fn_emit(ptr @.str10085) %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 @.str10086) %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 @.str10087) store ptr @.str10088, 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 @.str10089, 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 @.str10090, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str10091) %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 @.str10092, 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 @.str10093, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str10094) %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 @.str10095, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10096) %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 @.str10097) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr @.str10098, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str10099) %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 @.str10100, ptr %t62) %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str10101) %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 @.str10102) store ptr %t68, ptr %t69 %t70 = call ptr @fn_lbl(ptr @.str10103) store ptr %t70, ptr %t71 call void @fn_emit(ptr @.str10104) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10105) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10106) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10107) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10108) %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 @.str10109) call void @fn_emit(ptr @.str10110) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10111) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10112) 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 @.str10113) %t20 = load ptr, ptr %t1 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str10114) 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 @.str10115) %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 @.str10116) %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 @.str10117) 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 @.str10118) 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 @.str10119) %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 @.str10120) br label %ifend21 ifend21: br label %ifend8 ifend8: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str10121) %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 @.str10122) %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 @.str10123) 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 @.str10124) call void @fn_emit(ptr @.str10125) call void @fn_emit(ptr @.str10126) call void @fn_emit(ptr @.str10127) call void @fn_emit(ptr @.str10128) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str10129) call void @fn_emit(ptr @.str10130) 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 @.str10131) %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 @.str10132) %t59 = load ptr, ptr %t54 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str10133) call void @fn_emit(ptr @.str10134) %t60 = load ptr, ptr %t54 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str10135) %t61 = load ptr, ptr %t1 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str10136) %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 @.str10137) call void @fn_emit(ptr @.str10138) %t65 = load ptr, ptr %t54 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10139) %t66 = load ptr, ptr %t54 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10140) call void @fn_emit(ptr @.str10141) %t67 = load ptr, ptr %t54 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10142) %t68 = load ptr, ptr %t54 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10143) call void @fn_emit(ptr @.str10144) %t69 = load ptr, ptr %t54 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10145) %t70 = load ptr, ptr %t54 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10146) %t71 = load ptr, ptr %t58 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10147) call void @fn_emit(ptr @.str10148) %t72 = load ptr, ptr %t54 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10149) call void @fn_emit(ptr @.str10150) %t73 = load ptr, ptr %t54 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10151) %t74 = load ptr, ptr %t1 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10152) %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 @.str10153) %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 @.str10154) 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 @.str10155) %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 @.str10156) %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 @.str10157) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10158) %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 @.str10159) %t112 = load ptr, ptr %t54 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10160) %t113 = load i32, ptr %t26 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str10161) call void @fn_emit(ptr @.str10162) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10163) %t116 = load ptr, ptr %t107 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10164) call void @fn_emit(ptr @.str10165) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str10166) %t118 = load ptr, ptr %t107 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str10167) call void @fn_emit(ptr @.str10168) %t119 = load ptr, ptr %t107 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str10169) %t120 = load ptr, ptr %t107 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str10170) call void @fn_emit(ptr @.str10171) %t121 = load ptr, ptr %t107 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str10172) %t122 = load ptr, ptr %t107 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str10173) %t123 = load ptr, ptr %t107 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str10174) %t124 = load ptr, ptr %t107 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str10175) call void @fn_emit(ptr @.str10176) %t125 = load ptr, ptr %t107 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str10177) %t126 = load ptr, ptr %t107 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str10178) 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 @.str10179) %t129 = load ptr, ptr %t58 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str10180) %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 @.str10181) %t134 = load i32, ptr %t3 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str10182) call void @fn_emit(ptr @.str10183) 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 @.str10184, 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 @.str10185) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10186) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code call void @fn_emit(ptr @.str10187) %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 @.str10188) %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 @.str10189) 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 @.str10190, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str10191) %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 @.str10192, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str10193) %t73 = call ptr @fn_emit_bind(ptr %t72) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str10194) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str10195) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str10196) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10197) %t80 = load ptr, ptr %t76 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10198) %t81 = load ptr, ptr %t78 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str10199) %t82 = load ptr, ptr %t76 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10200) %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 @.str10201, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str10202) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 call void @fn_emit(ptr @.str10203) %t90 = load ptr, ptr %t89 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10204) %t91 = load ptr, ptr %t78 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10205) 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 @.str10206) %t94 = load ptr, ptr %t31 store ptr %t94, ptr @g_code call void @fn_emit(ptr @.str10207) %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 @.str10208) 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 @.str10209) %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 @.str10210) %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 @.str10211) %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 @.str10212) %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 @.str10213) %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 @.str10214) %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 @.str10215) %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 @.str10216) %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 @.str10217, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10218) 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 @.str10219) %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 @.str10220) %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 @.str10221) %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 @.str10222) %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 @.str10223) %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 @.str10224) %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 @.str10225) %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 @.str10226) call void @fn_emith(ptr @.str10227) call void @fn_emith(ptr @.str10228) call void @fn_emith(ptr @.str10229) call void @fn_emith(ptr @.str10230) call void @fn_emith(ptr @.str10231) call void @fn_emith(ptr @.str10232) call void @fn_emith(ptr @.str10233) call void @fn_emith(ptr @.str10234) call void @fn_emith(ptr @.str10235) call void @fn_emith(ptr @.str10236) call void @fn_emith(ptr @.str10237) call void @fn_emith(ptr @.str10238) call void @fn_emith(ptr @.str10239) call void @fn_emith(ptr @.str10240) call void @fn_emith(ptr @.str10241) call void @fn_emith(ptr @.str10242) call void @fn_emith(ptr @.str10243) call void @fn_emith(ptr @.str10244) call void @fn_emit(ptr @.str10245) %t0 = call ptr @fn_find_fn(ptr @.str10246) %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 @.str10247) 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 @.str10248) %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 @.str10249) %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 @.str10250) %t26 = load i32, ptr %t4 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t4 br label %wcond3 wend5: call void @fn_emit(ptr @.str10251) call void @fn_emith(ptr @.str10252) 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 @.str10253) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str10254) call void @fn_emith(ptr @.str10255) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) call void @fn_emith(ptr @.str10256) call void @fn_emith(ptr @.str10257) call void @fn_emit(ptr @.str10258) call void @fn_emit(ptr @.str10259) call void @fn_emit(ptr @.str10260) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str10261) call void @fn_emit(ptr @.str10262) call void @fn_emit(ptr @.str10263) call void @fn_emit(ptr @.str10264) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str10265) call void @fn_emit(ptr @.str10266) call void @fn_emit(ptr @.str10267) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str10268) call void @fn_emit(ptr @.str10269) call void @fn_emit(ptr @.str10270) call void @fn_emit(ptr @.str10271) 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 @.str10272) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str10273) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str10274) store ptr %t15, ptr %t16 %t17 = call ptr @fn_lbl(ptr @.str10275) store ptr %t17, ptr %t18 %t19 = call ptr @fn_lbl(ptr @.str10276) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str10277) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str10278) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10279) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10280) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10281) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str10282) call void @fn_emit(ptr @.str10283) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str10284) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str10285) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str10286) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10287) %t31 = call ptr @fn_emit_bind(ptr @.str10288) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 %t34 = call ptr @lp_str_concat(ptr @.str10289, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str10290) %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 @.str10291) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10292) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str10293) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str10294) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str10295) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str10296) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str10297) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str10298) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10299) %t49 = load ptr, ptr %t45 %t50 = call ptr @lp_str_concat(ptr @.str10300, 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 @.str10301, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str10302) %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 @.str10303) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str10304) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str10305) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10306) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10307) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 call void @fn_emit(ptr @.str10308) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10309) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10310) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10311) %t69 = load ptr, ptr %t65 %t70 = call ptr @lp_str_concat(ptr @.str10312, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 call void @fn_emit(ptr @.str10313) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10314) call void @fn_emit(ptr @.str10315) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10316) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10317) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10318) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10319) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str10320) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10321) 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 @.str10322) 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 @.str10323, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str10324) %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 @.str10325) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str10326) store ptr %t152, ptr %t153 call void @fn_emit(ptr @.str10327) %t154 = load ptr, ptr %t149 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str10328) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str10329) %t156 = load ptr, ptr %t153 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str10330) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str10331) %t158 = load ptr, ptr %t109 call void @fn_emit_call_one(ptr %t158) call void @fn_emit(ptr @.str10332) %t159 = load ptr, ptr %t153 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str10333) %t160 = load ptr, ptr %t153 call void @fn_emit(ptr %t160) call void @fn_emit(ptr @.str10334) 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 @.str10335) %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 @.str10336) 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 @.str10337, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str10338) %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 @.str10339) store ptr %t58, ptr %t59 %t60 = call ptr @fn_lbl(ptr @.str10340) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str10341) %t62 = load ptr, ptr %t57 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10342) %t63 = load ptr, ptr %t59 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10343) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10344) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10345) call void @fn_emit(ptr @.str10346) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10347) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10348) 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 @.str10349, 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 @.str10350) %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 @.str10351) %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 @.str10352) br label %ifend7 ifend7: call void @fn_emit(ptr @.str10353) %t26 = load ptr, ptr %t3 %t27 = call ptr @lp_str_concat(ptr @.str10354, 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 @.str10355) 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 @.str10356) %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 @.str10357) 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 @.str10358, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str10359) %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 @.str10360) %t67 = load ptr, ptr %t52 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10361) 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 @.str10362) br label %ifend23 ifend23: call void @fn_emit(ptr @.str10363) %t72 = load ptr, ptr %t8 store ptr %t72, ptr @g_code call void @fn_emit(ptr @.str10364) %t73 = load ptr, ptr %t1 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10365) %t74 = load ptr, ptr %t0 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10366) %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 @.str10367) 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 @.str10368, 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 @.str10369, 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 @.str10370) call void @fn_emit(ptr @.str10371) 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 @.str10372) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str10373) %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 @.str10374) call void @fn_emit(ptr @.str10375) %t23 = load ptr, ptr %t17 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10376) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10377) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10378) call void @fn_emit(ptr @.str10379) %t26 = load ptr, ptr %t17 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str10380) %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 @.str10381) call void @fn_emit(ptr @.str10382) %t30 = load ptr, ptr %t17 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10383) %t31 = load i32, ptr %t0 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t0 br label %wcond0 wend2: call void @fn_emit(ptr @.str10384) 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 @.str10385, 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 @.str10386) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str10387) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10388) %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 @.str10389) br label %ifend5 ifend5: %t39 = load ptr, ptr %t19 call void @fn_emit_bind_props(ptr %t39, ptr @.str10390) %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 @.str10391) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10392) %t47 = load ptr, ptr %t24 store ptr %t47, ptr @g_code call void @fn_emit(ptr @.str10393) %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 @.str10394) %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 @.str10395) %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 @.str10396) %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 @.str10397) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str10398) call void @fn_emit(ptr @.str10399) 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 @.str10400) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str10401) %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 @.str10402) call void @fn_emit(ptr @.str10403) %t33 = load ptr, ptr %t28 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10404) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10405) %t35 = load ptr, ptr %t28 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10406) call void @fn_emit(ptr @.str10407) %t36 = load ptr, ptr %t28 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str10408) %t37 = load ptr, ptr %t25 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str10409) %t38 = load ptr, ptr %t25 %t39 = call ptr @lp_str_concat(ptr @.str10410, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str10411) 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 @.str10412) %t47 = load ptr, ptr %t41 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str10413) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10414) %t48 = load ptr, ptr %t28 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10415) call void @fn_emit(ptr @.str10416) %t49 = load ptr, ptr %t28 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10417) %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 @.str10418) br label %ifend11 ifend11: call void @fn_emit(ptr @.str10419) call void @fn_emit(ptr @.str10420) 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 @.str10421) call void @fn_emit(ptr @.str10422) call void @fn_emit(ptr @.str10423) call void @fn_emit(ptr @.str10424) call void @fn_emit(ptr @.str10425) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str10426) call void @fn_emit(ptr @.str10427) call void @fn_emit(ptr @.str10428) call void @fn_emit(ptr @.str10429) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) call void @fn_emit(ptr @.str10430) call void @fn_emit(ptr @.str10431) 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 @.str10432) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10433) %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 @.str10434) call void @fn_emit(ptr @.str10435) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10436) %t35 = load ptr, ptr %t29 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10437) %t36 = load ptr, ptr %t29 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str10438) call void @fn_emit(ptr @.str10439) %t37 = load ptr, ptr %t29 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str10440) %t38 = load ptr, ptr %t26 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str10441) %t39 = load ptr, ptr %t26 %t40 = call ptr @lp_str_concat(ptr @.str10442, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str10443) 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 @.str10444) %t48 = load ptr, ptr %t42 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10445) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10446) %t49 = load ptr, ptr %t29 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10447) call void @fn_emit(ptr @.str10448) %t50 = load ptr, ptr %t29 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10449) %t51 = load i32, ptr %t10 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t10 br label %wcond3 wend5: call void @fn_emit(ptr @.str10450) call void @fn_emit(ptr @.str10451) call void @fn_emit(ptr @.str10452) 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 @.str10453) 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 @.str10454) %t21 = load ptr, ptr %t18 call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str10455) 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 @.str10456) 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 @.str10457) br label %ifend14 ifend14: call void @fn_emith(ptr @.str10458) br label %ifend11 ifend11: call void @fn_emith(ptr @.str10459) call void @fn_emith(ptr @.str10460) %t63 = load ptr, ptr %t18 call void @fn_emith(ptr %t63) call void @fn_emith(ptr @.str10461) %t64 = load ptr, ptr %t20 call void @fn_emith(ptr %t64) call void @fn_emith(ptr @.str10462) call void @fn_emith(ptr @.str10463) %t65 = load ptr, ptr %t18 call void @fn_emith(ptr %t65) call void @fn_emith(ptr @.str10464) call void @fn_emith(ptr @.str10465) %t66 = load ptr, ptr %t18 call void @fn_emith(ptr %t66) call void @fn_emith(ptr @.str10466) %t67 = load ptr, ptr %t20 call void @fn_emith(ptr %t67) call void @fn_emith(ptr @.str10467) call void @fn_emit(ptr @.str10468) %t68 = load ptr, ptr %t18 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10469) call void @fn_emit(ptr @.str10470) %t69 = load ptr, ptr %t18 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10471) call void @fn_emit(ptr @.str10472) %t70 = load ptr, ptr %t20 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10473) call void @fn_emit(ptr @.str10474) call void @fn_emit(ptr @.str10475) %t71 = load ptr, ptr %t20 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10476) %t72 = load ptr, ptr %t18 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10477) call void @fn_emit(ptr @.str10478) call void @fn_emit(ptr @.str10479) %t73 = load ptr, ptr %t20 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str10480) %t74 = load ptr, ptr %t18 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10481) call void @fn_emit(ptr @.str10482) call void @fn_emit(ptr @.str10483) %t75 = load ptr, ptr %t18 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10484) call void @fn_emit(ptr @.str10485) call void @fn_emit(ptr @.str10486) %t76 = load ptr, ptr %t18 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10487) call void @fn_emit(ptr @.str10488) %t77 = load ptr, ptr %t18 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10489) call void @fn_emit(ptr @.str10490) %t78 = load ptr, ptr %t20 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str10491) call void @fn_emit(ptr @.str10492) call void @fn_emit(ptr @.str10493) %t79 = load ptr, ptr %t20 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10494) %t80 = load ptr, ptr %t18 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10495) call void @fn_emit(ptr @.str10496) call void @fn_emit(ptr @.str10497) %t81 = load ptr, ptr %t20 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str10498) %t82 = load ptr, ptr %t18 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10499) call void @fn_emit(ptr @.str10500) call void @fn_emit(ptr @.str10501) %t83 = load ptr, ptr %t18 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str10502) call void @fn_emit(ptr @.str10503) call void @fn_emit(ptr @.str10504) %t84 = load ptr, ptr %t18 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str10505) call void @fn_emit(ptr @.str10506) %t85 = load ptr, ptr %t18 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str10507) call void @fn_emit(ptr @.str10508) call void @fn_emit(ptr @.str10509) call void @fn_emit(ptr @.str10510) %t86 = load ptr, ptr %t20 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str10511) %t87 = load ptr, ptr %t18 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str10512) call void @fn_emit(ptr @.str10513) call void @fn_emit(ptr @.str10514) 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 @.str10515, 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 @.str10516) call void @fn_emit(ptr @.str10517) %t94 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str10518) call void @fn_emit(ptr @.str10519) call void @fn_emit(ptr @.str10520) %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 @.str10521) br label %ifend17 else16: call void @fn_emit(ptr @.str10522) br label %ifend17 ifend17: call void @fn_emit(ptr @.str10523) call void @fn_emit(ptr @.str10524) %t101 = load ptr, ptr %t18 %t102 = call ptr @lp_str_concat(ptr @.str10525, 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 @.str10526) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str10527) %t132 = load ptr, ptr %t18 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str10528) %t133 = load ptr, ptr %t104 call void @fn_emit(ptr %t133) call void @fn_emit(ptr @.str10529) %t134 = load i32, ptr %t105 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str10530) call void @fn_emit(ptr @.str10531) %t136 = load ptr, ptr %t128 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str10532) %t137 = load i32, ptr %t105 %t138 = call ptr @fn_itoa(i32 %t137) call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str10533) %t139 = load ptr, ptr %t130 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str10534) %t140 = load ptr, ptr %t128 %t141 = call ptr @fn_emit_alloca(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str10535) %t143 = load ptr, ptr %t128 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10536) %t144 = load i32, ptr %t105 %t145 = call ptr @fn_itoa(i32 %t144) call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str10537) %t146 = load ptr, ptr %t142 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str10538) %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 @.str10539) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str10540) %t165 = load ptr, ptr %t18 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str10541) %t166 = load ptr, ptr %t104 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str10542) %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 @.str10543) call void @fn_emit(ptr @.str10544) %t173 = load ptr, ptr %t156 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str10545) %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 @.str10546) store ptr %t211, ptr %t212 call void @fn_emit(ptr @.str10547) %t213 = load ptr, ptr %t212 call void @fn_emit(ptr %t213) call void @fn_emit(ptr @.str10548) %t214 = call ptr @fn_lbl(ptr @.str10549) store ptr %t214, ptr %t215 %t216 = call ptr @fn_lbl(ptr @.str10550) store ptr %t216, ptr %t217 %t218 = call ptr @fn_lbl(ptr @.str10551) store ptr %t218, ptr %t219 call void @fn_emit(ptr @.str10552) %t220 = load ptr, ptr %t215 call void @fn_emit(ptr %t220) call void @fn_emit(ptr @.str10553) %t221 = load ptr, ptr %t215 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str10554) %t222 = load ptr, ptr %t212 %t223 = call ptr @lp_str_concat(ptr @.str10555, 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 @.str10556, 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 @.str10557, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str10558) %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 @.str10559) %t237 = load ptr, ptr %t236 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str10560) %t238 = load ptr, ptr %t217 call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str10561) %t239 = load ptr, ptr %t219 call void @fn_emit(ptr %t239) call void @fn_emit(ptr @.str10562) %t240 = load ptr, ptr %t217 call void @fn_emit(ptr %t240) call void @fn_emit(ptr @.str10563) %t241 = call ptr @fn_nreg() store ptr %t241, ptr %t242 call void @fn_emit(ptr @.str10564) %t243 = load ptr, ptr %t242 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str10565) %t244 = load ptr, ptr %t20 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str10566) %t245 = load ptr, ptr %t18 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str10567) %t246 = load ptr, ptr %t225 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str10568) %t247 = load ptr, ptr %t242 %t248 = call ptr @lp_str_concat(ptr @.str10569, 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 @.str10570, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str10571) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 %t256 = call ptr @fn_lbl(ptr @.str10572) store ptr %t256, ptr %t257 %t258 = call ptr @fn_lbl(ptr @.str10573) store ptr %t258, ptr %t259 call void @fn_emit(ptr @.str10574) %t260 = load ptr, ptr %t255 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str10575) %t261 = load ptr, ptr %t259 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str10576) %t262 = load ptr, ptr %t257 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str10577) %t263 = load ptr, ptr %t257 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str10578) call void @fn_emit(ptr @.str10579) %t264 = load ptr, ptr %t250 call void @fn_emit(ptr %t264) call void @fn_emit(ptr @.str10580) %t265 = load ptr, ptr %t104 call void @fn_emit(ptr %t265) call void @fn_emit(ptr @.str10581) call void @fn_emit(ptr @.str10582) %t266 = load ptr, ptr %t259 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str10583) %t267 = load ptr, ptr %t259 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str10584) %t268 = load ptr, ptr %t225 %t269 = call ptr @lp_str_concat(ptr @.str10585, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str10586) %t271 = call ptr @fn_emit_bind(ptr %t270) store ptr %t271, ptr %t272 call void @fn_emit(ptr @.str10587) %t273 = load ptr, ptr %t272 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str10588) %t274 = load ptr, ptr %t212 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str10589) call void @fn_emit(ptr @.str10590) %t275 = load ptr, ptr %t215 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str10591) %t276 = load ptr, ptr %t219 call void @fn_emit(ptr %t276) call void @fn_emit(ptr @.str10592) call void @fn_emit(ptr @.str10593) br label %ifend32 ifend32: call void @fn_emit(ptr @.str10594) call void @fn_emit(ptr @.str10595) %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 @.str10596, ptr %t283) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str10597) %t287 = load ptr, ptr %t286 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str10598) br label %ifend35 else34: call void @fn_emit(ptr @.str10599) 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 @.str10600, 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 @.str10601, ptr %t289 br label %ifend38 ifend38: call void @fn_emit(ptr @.str10602) %t296 = load ptr, ptr %t289 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str10603) %t297 = load ptr, ptr %t18 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str10604) 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 @.str10605) 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 @.str10606) %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 @.str10607) %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 @.str10608) %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 @.str10609) 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 @.str10610) %t355 = load ptr, ptr %t354 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str10611) call void @fn_emit(ptr @.str10612) %t356 = load ptr, ptr %t354 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str10613) call void @fn_emit(ptr @.str10614) %t357 = load ptr, ptr %t354 call void @fn_emit(ptr %t357) call void @fn_emit(ptr @.str10615) %t358 = load ptr, ptr %t351 call void @fn_emit(ptr %t358) call void @fn_emit(ptr @.str10616) call void @fn_emit(ptr @.str10617) %t359 = load ptr, ptr %t354 call void @fn_emit(ptr %t359) call void @fn_emit(ptr @.str10618) %t360 = load ptr, ptr %t354 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str10619) %t361 = load ptr, ptr %t354 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str10620) call void @fn_emit(ptr @.str10621) %t362 = load ptr, ptr %t354 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str10622) %t363 = load ptr, ptr %t354 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str10623) %t364 = load ptr, ptr %t354 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str10624) call void @fn_emit(ptr @.str10625) %t365 = load ptr, ptr %t354 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str10626) call void @fn_emit(ptr @.str10627) %t366 = load ptr, ptr %t354 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str10628) %t367 = load ptr, ptr %t334 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str10629) %t368 = load ptr, ptr %t351 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str10630) %t369 = load ptr, ptr %t354 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str10631) call void @fn_emit(ptr @.str10632) %t370 = load ptr, ptr %t354 call void @fn_emit(ptr %t370) call void @fn_emit(ptr @.str10633) %t371 = load ptr, ptr %t354 call void @fn_emit(ptr %t371) call void @fn_emit(ptr @.str10634) call void @fn_emit(ptr @.str10635) %t372 = load ptr, ptr %t354 call void @fn_emit(ptr %t372) call void @fn_emit(ptr @.str10636) %t373 = load ptr, ptr %t354 call void @fn_emit(ptr %t373) call void @fn_emit(ptr @.str10637) call void @fn_emit(ptr @.str10638) %t374 = load ptr, ptr %t354 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str10639) %t375 = load ptr, ptr %t354 call void @fn_emit(ptr %t375) call void @fn_emit(ptr @.str10640) %t376 = load ptr, ptr %t354 call void @fn_emit(ptr %t376) call void @fn_emit(ptr @.str10641) call void @fn_emit(ptr @.str10642) %t377 = load ptr, ptr %t354 call void @fn_emit(ptr %t377) call void @fn_emit(ptr @.str10643) call void @fn_emit(ptr @.str10644) %t378 = load ptr, ptr %t354 call void @fn_emit(ptr %t378) call void @fn_emit(ptr @.str10645) %t379 = load ptr, ptr %t334 call void @fn_emit(ptr %t379) call void @fn_emit(ptr @.str10646) %t380 = load ptr, ptr %t351 call void @fn_emit(ptr %t380) call void @fn_emit(ptr @.str10647) %t381 = load ptr, ptr %t354 call void @fn_emit(ptr %t381) call void @fn_emit(ptr @.str10648) call void @fn_emit(ptr @.str10649) %t382 = load ptr, ptr %t354 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str10650) %t383 = load ptr, ptr %t354 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str10651) call void @fn_emit(ptr @.str10652) %t384 = load ptr, ptr %t354 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str10653) call void @fn_emit(ptr @.str10654) %t385 = load ptr, ptr %t354 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str10655) %t386 = load ptr, ptr %t354 call void @fn_emit(ptr %t386) call void @fn_emit(ptr @.str10656) %t387 = load ptr, ptr %t354 call void @fn_emit(ptr %t387) call void @fn_emit(ptr @.str10657) %t388 = load ptr, ptr %t354 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str10658) call void @fn_emit(ptr @.str10659) %t389 = load ptr, ptr %t354 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str10660) %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 @.str10661) %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 @.str10662) br label %ifend50 else49: call void @fn_emit(ptr @.str10663) 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 @.str10664) 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 @.str10665) call void @fn_emith(ptr @.str10666) call void @fn_emith(ptr @.str10667) call void @fn_emith(ptr @.str10668) call void @fn_emith(ptr @.str10669) call void @fn_emit(ptr @.str10670) 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 @.str10671) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10672) %t63 = load ptr, ptr %t58 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10673) call void @fn_emit(ptr @.str10674) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10675) %t65 = load ptr, ptr %t61 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10676) call void @fn_emit(ptr @.str10677) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10678) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10679) %t68 = load ptr, ptr %t61 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10680) call void @fn_emit(ptr @.str10681) %t69 = load ptr, ptr %t61 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10682) %t70 = load ptr, ptr %t61 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10683) call void @fn_emit(ptr @.str10684) %t71 = load ptr, ptr %t61 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10685) %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 @.str10686) call void @fn_emit(ptr @.str10687) call void @fn_emit(ptr @.str10688) call void @fn_emit(ptr @.str10689) %t76 = load ptr, ptr %t28 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10690) call void @fn_emit(ptr @.str10691) call void @fn_emit(ptr @.str10692) call void @fn_emit(ptr @.str10693) 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 @.str10694) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str10695) %t106 = load ptr, ptr %t104 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str10696) call void @fn_emit(ptr @.str10697) %t107 = load ptr, ptr %t104 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10698) %t108 = load ptr, ptr %t104 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10699) %t109 = load ptr, ptr %t104 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str10700) call void @fn_emit(ptr @.str10701) %t110 = load ptr, ptr %t104 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str10702) 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 @.str10703) %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 @.str10704) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str10705) %t140 = load ptr, ptr %t132 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str10706) call void @fn_emit(ptr @.str10707) %t141 = load ptr, ptr %t138 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str10708) %t142 = load ptr, ptr %t138 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str10709) call void @fn_emit(ptr @.str10710) %t143 = load ptr, ptr %t138 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10711) %t144 = load ptr, ptr %t138 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str10712) %t145 = load ptr, ptr %t138 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str10713) call void @fn_emit(ptr @.str10714) %t146 = load ptr, ptr %t138 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str10715) %t147 = load i32, ptr %t111 %t148 = call ptr @fn_itoa(i32 %t147) call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str10716) call void @fn_emit(ptr @.str10717) %t149 = load ptr, ptr %t138 call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str10718) %t150 = load i32, ptr %t111 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t111 br label %wcond18 wend20: call void @fn_emit(ptr @.str10719) call void @fn_emit(ptr @.str10720) %t152 = load ptr, ptr %t104 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str10721) %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 @.str10722) call void @fn_emit(ptr @.str10723) 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 @.str10724) %t189 = load ptr, ptr %t188 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str10725) %t190 = load ptr, ptr %t188 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str10726) call void @fn_emit(ptr @.str10727) %t191 = load ptr, ptr %t188 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str10728) %t192 = load ptr, ptr %t188 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str10729) %t193 = load ptr, ptr %t188 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str10730) call void @fn_emit(ptr @.str10731) %t194 = load ptr, ptr %t188 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str10732) call void @fn_emit(ptr @.str10733) %t195 = load ptr, ptr %t188 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str10734) %t196 = load ptr, ptr %t1 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str10735) %t197 = load ptr, ptr %t185 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str10736) %t198 = load ptr, ptr %t185 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str10737) 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 @.str10738) %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 @.str10739) %t227 = load ptr, ptr %t226 call void @fn_emit(ptr %t227) call void @fn_emit(ptr @.str10740) %t228 = load i32, ptr %t199 %t229 = call ptr @fn_itoa(i32 %t228) call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str10741) call void @fn_emit(ptr @.str10742) %t230 = load ptr, ptr %t226 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str10743) %t231 = load ptr, ptr %t226 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str10744) %t232 = load ptr, ptr %t226 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str10745) call void @fn_emit(ptr @.str10746) %t233 = load ptr, ptr %t226 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str10747) call void @fn_emit(ptr @.str10748) %t234 = load ptr, ptr %t226 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str10749) %t235 = load ptr, ptr %t185 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str10750) %t236 = load ptr, ptr %t188 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str10751) %t237 = load i32, ptr %t199 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str10752) %t239 = load ptr, ptr %t220 %t240 = call i32 @lp_str_eq(ptr %t239, ptr @.str10753) %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then30, label %else31 then30: call void @fn_emit(ptr @.str10754) %t242 = load ptr, ptr %t226 call void @fn_emit(ptr %t242) call void @fn_emit(ptr @.str10755) %t243 = load ptr, ptr %t226 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str10756) call void @fn_emit(ptr @.str10757) %t244 = load ptr, ptr %t226 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str10758) %t245 = load ptr, ptr %t226 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str10759) %t246 = load ptr, ptr %t226 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str10760) br label %ifend32 else31: %t247 = load ptr, ptr %t220 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str10761) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then33, label %else34 then33: call void @fn_emit(ptr @.str10762) %t250 = load ptr, ptr %t226 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str10763) %t251 = load ptr, ptr %t226 call void @fn_emit(ptr %t251) call void @fn_emit(ptr @.str10764) call void @fn_emit(ptr @.str10765) %t252 = load ptr, ptr %t226 call void @fn_emit(ptr %t252) call void @fn_emit(ptr @.str10766) %t253 = load ptr, ptr %t226 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str10767) %t254 = load ptr, ptr %t226 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str10768) br label %ifend35 else34: call void @fn_emit(ptr @.str10769) %t255 = load ptr, ptr %t226 call void @fn_emit(ptr %t255) call void @fn_emit(ptr @.str10770) %t256 = load ptr, ptr %t226 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str10771) call void @fn_emit(ptr @.str10772) %t257 = load ptr, ptr %t226 call void @fn_emit(ptr %t257) call void @fn_emit(ptr @.str10773) %t258 = load ptr, ptr %t226 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str10774) %t259 = load ptr, ptr %t226 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str10775) br label %ifend35 ifend35: br label %ifend32 ifend32: call void @fn_emit(ptr @.str10776) %t260 = load ptr, ptr %t226 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str10777) %t261 = load i32, ptr %t199 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t199 br label %wcond27 wend29: call void @fn_emit(ptr @.str10778) call void @fn_emit(ptr @.str10779) %t263 = load ptr, ptr %t188 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str10780) %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 @.str10781) %t268 = load ptr, ptr %t28 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str10782) call void @fn_emit(ptr @.str10783) call void @fn_emit(ptr @.str10784) call void @fn_emit(ptr @.str10785) call void @fn_emit(ptr @.str10786) call void @fn_emit(ptr @.str10787) call void @fn_emit(ptr @.str10788) 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 @.str10789) %t301 = load ptr, ptr %t300 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str10790) %t302 = load ptr, ptr %t300 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str10791) call void @fn_emit(ptr @.str10792) %t303 = load ptr, ptr %t300 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str10793) %t304 = load ptr, ptr %t300 call void @fn_emit(ptr %t304) call void @fn_emit(ptr @.str10794) %t305 = load ptr, ptr %t300 call void @fn_emit(ptr %t305) call void @fn_emit(ptr @.str10795) call void @fn_emit(ptr @.str10796) %t306 = load ptr, ptr %t300 call void @fn_emit(ptr %t306) call void @fn_emit(ptr @.str10797) call void @fn_emit(ptr @.str10798) %t307 = load ptr, ptr %t300 call void @fn_emit(ptr %t307) call void @fn_emit(ptr @.str10799) %t308 = load ptr, ptr %t1 call void @fn_emit(ptr %t308) call void @fn_emit(ptr @.str10800) %t309 = load ptr, ptr %t297 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str10801) %t310 = load ptr, ptr %t297 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str10802) 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 @.str10803) %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 @.str10804) %t339 = load ptr, ptr %t338 call void @fn_emit(ptr %t339) call void @fn_emit(ptr @.str10805) %t340 = load i32, ptr %t311 %t341 = call ptr @fn_itoa(i32 %t340) call void @fn_emit(ptr %t341) call void @fn_emit(ptr @.str10806) call void @fn_emit(ptr @.str10807) %t342 = load ptr, ptr %t338 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str10808) %t343 = load ptr, ptr %t338 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str10809) %t344 = load ptr, ptr %t338 call void @fn_emit(ptr %t344) call void @fn_emit(ptr @.str10810) call void @fn_emit(ptr @.str10811) %t345 = load ptr, ptr %t338 call void @fn_emit(ptr %t345) call void @fn_emit(ptr @.str10812) call void @fn_emit(ptr @.str10813) %t346 = load ptr, ptr %t338 call void @fn_emit(ptr %t346) call void @fn_emit(ptr @.str10814) %t347 = load ptr, ptr %t297 call void @fn_emit(ptr %t347) call void @fn_emit(ptr @.str10815) %t348 = load ptr, ptr %t300 call void @fn_emit(ptr %t348) call void @fn_emit(ptr @.str10816) %t349 = load i32, ptr %t311 %t350 = call ptr @fn_itoa(i32 %t349) call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str10817) %t351 = load ptr, ptr %t332 %t352 = call i32 @lp_str_eq(ptr %t351, ptr @.str10818) %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then45, label %else46 then45: call void @fn_emit(ptr @.str10819) %t354 = load ptr, ptr %t338 call void @fn_emit(ptr %t354) call void @fn_emit(ptr @.str10820) call void @fn_emit(ptr @.str10821) %t355 = load ptr, ptr %t338 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str10822) %t356 = load ptr, ptr %t338 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str10823) br label %ifend47 else46: %t357 = load ptr, ptr %t332 %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str10824) %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then48, label %else49 then48: call void @fn_emit(ptr @.str10825) %t360 = load ptr, ptr %t338 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str10826) call void @fn_emit(ptr @.str10827) %t361 = load ptr, ptr %t338 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str10828) %t362 = load ptr, ptr %t338 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str10829) br label %ifend50 else49: call void @fn_emit(ptr @.str10830) %t363 = load ptr, ptr %t338 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str10831) call void @fn_emit(ptr @.str10832) %t364 = load ptr, ptr %t338 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str10833) %t365 = load ptr, ptr %t338 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str10834) br label %ifend50 ifend50: br label %ifend47 ifend47: call void @fn_emit(ptr @.str10835) %t366 = load ptr, ptr %t338 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str10836) %t367 = load i32, ptr %t311 %t368 = add i32 %t367, 1 store i32 %t368, ptr %t311 br label %wcond42 wend44: call void @fn_emit(ptr @.str10837) call void @fn_emit(ptr @.str10838) %t369 = load ptr, ptr %t300 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str10839) %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 @.str10840) %t374 = load ptr, ptr %t28 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str10841) call void @fn_emit(ptr @.str10842) call void @fn_emit(ptr @.str10843) call void @fn_emit(ptr @.str10844) call void @fn_emit(ptr @.str10845) call void @fn_emit(ptr @.str10846) call void @fn_emit(ptr @.str10847) 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 @.str10848) %t405 = load ptr, ptr %t404 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str10849) %t406 = load ptr, ptr %t404 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str10850) call void @fn_emit(ptr @.str10851) %t407 = load ptr, ptr %t404 call void @fn_emit(ptr %t407) call void @fn_emit(ptr @.str10852) %t408 = load ptr, ptr %t404 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str10853) %t409 = load ptr, ptr %t404 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str10854) call void @fn_emit(ptr @.str10855) %t410 = load ptr, ptr %t404 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str10856) call void @fn_emit(ptr @.str10857) %t411 = load ptr, ptr %t404 call void @fn_emit(ptr %t411) call void @fn_emit(ptr @.str10858) %t412 = load ptr, ptr %t1 call void @fn_emit(ptr %t412) call void @fn_emit(ptr @.str10859) %t413 = load ptr, ptr %t401 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str10860) call void @fn_emit(ptr @.str10861) %t414 = load ptr, ptr %t404 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str10862) %t415 = load ptr, ptr %t404 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str10863) call void @fn_emit(ptr @.str10864) %t416 = load ptr, ptr %t404 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str10865) %t417 = load ptr, ptr %t404 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str10866) %t418 = load ptr, ptr %t404 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str10867) call void @fn_emit(ptr @.str10868) %t419 = load ptr, ptr %t404 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str10869) %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 @.str10870) %t424 = load ptr, ptr %t28 call void @fn_emit(ptr %t424) 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) call void @fn_emit(ptr @.str10877) %t425 = load ptr, ptr %t1 call void @fn_emit(ptr %t425) call void @fn_emit(ptr @.str10878) call void @fn_emit(ptr @.str10879) call void @fn_emit(ptr @.str10880) call void @fn_emit(ptr @.str10881) %t426 = load ptr, ptr %t1 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str10882) %t427 = load ptr, ptr %t1 call void @fn_emit(ptr %t427) call void @fn_emit(ptr @.str10883) call void @fn_emit(ptr @.str10884) call void @fn_emit(ptr @.str10885) call void @fn_emit(ptr @.str10886) call void @fn_emit(ptr @.str10887) %t428 = load ptr, ptr %t28 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str10888) call void @fn_emit(ptr @.str10889) call void @fn_emit(ptr @.str10890) call void @fn_emit(ptr @.str10891) %t429 = load ptr, ptr %t28 call void @fn_emit(ptr %t429) call void @fn_emit(ptr @.str10892) call void @fn_emit(ptr @.str10893) call void @fn_emit(ptr @.str10894) %t430 = load ptr, ptr %t28 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str10895) call void @fn_emit(ptr @.str10896) call void @fn_emit(ptr @.str10897) call void @fn_emit(ptr @.str10898) %t431 = load ptr, ptr %t1 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str10899) call void @fn_emit(ptr @.str10900) call void @fn_emit(ptr @.str10901) 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 @.str10902) %t463 = load ptr, ptr %t462 call void @fn_emit(ptr %t463) call void @fn_emit(ptr @.str10903) %t464 = load ptr, ptr %t459 call void @fn_emit(ptr %t464) call void @fn_emit(ptr @.str10904) call void @fn_emit(ptr @.str10905) %t465 = load ptr, ptr %t462 call void @fn_emit(ptr %t465) call void @fn_emit(ptr @.str10906) %t466 = load ptr, ptr %t462 call void @fn_emit(ptr %t466) call void @fn_emit(ptr @.str10907) call void @fn_emit(ptr @.str10908) %t467 = load ptr, ptr %t462 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str10909) %t468 = load ptr, ptr %t462 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str10910) %t469 = load ptr, ptr %t462 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str10911) call void @fn_emit(ptr @.str10912) %t470 = load ptr, ptr %t462 call void @fn_emit(ptr %t470) call void @fn_emit(ptr @.str10913) %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 @.str10914) call void @fn_emit(ptr @.str10915) %t481 = load ptr, ptr %t462 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str10916) %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 @.str10917) 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 @.str10918, 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 @.str10919) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) call void @fn_emit(ptr @.str10920) %t528 = load ptr, ptr %t517 store ptr %t528, ptr @g_code call void @fn_emit(ptr @.str10921) %t529 = load ptr, ptr %t512 call void @fn_emit(ptr %t529) call void @fn_emit(ptr @.str10922) %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 @.str10923) 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 @.str10924) 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 @.str10925) %t566 = load ptr, ptr %t565 call void @fn_emit(ptr %t566) call void @fn_emit(ptr @.str10926) %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 @.str10927) call void @fn_emit(ptr @.str10928) %t570 = load ptr, ptr %t565 call void @fn_emit(ptr %t570) call void @fn_emit(ptr @.str10929) %t571 = load ptr, ptr %t565 call void @fn_emit(ptr %t571) call void @fn_emit(ptr @.str10930) %t572 = load ptr, ptr %t565 call void @fn_emit(ptr %t572) call void @fn_emit(ptr @.str10931) call void @fn_emit(ptr @.str10932) %t573 = load ptr, ptr %t565 call void @fn_emit(ptr %t573) call void @fn_emit(ptr @.str10933) %t574 = load ptr, ptr %t565 call void @fn_emit(ptr %t574) call void @fn_emit(ptr @.str10934) %t575 = load ptr, ptr %t562 call void @fn_emit(ptr %t575) call void @fn_emit(ptr @.str10935) %t576 = load ptr, ptr %t565 call void @fn_emit(ptr %t576) call void @fn_emit(ptr @.str10936) call void @fn_emit(ptr @.str10937) %t577 = load ptr, ptr %t565 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str10938) %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 @.str10939) call void @fn_emit(ptr @.str10940) call void @fn_emit(ptr @.str10941) call void @fn_emit(ptr @.str10942) call void @fn_emit(ptr @.str10943) call void @fn_emit(ptr @.str10944) %t582 = load ptr, ptr %t1 call void @fn_emit(ptr %t582) call void @fn_emit(ptr @.str10945) call void @fn_emit(ptr @.str10946) call void @fn_emit(ptr @.str10947) call void @fn_emit(ptr @.str10948) call void @fn_emit(ptr @.str10949) call void @fn_emit(ptr @.str10950) 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 @.str10951) store ptr %t0, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str10952) 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 @.str10953) call void @fn_emit(ptr @.str10954) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10955) call void @fn_emit(ptr @.str10956) 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 @.str10957) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10958) %t65 = load ptr, ptr %t63 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10959) call void @fn_emit(ptr @.str10960) %t66 = load ptr, ptr %t63 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10961) %t67 = load ptr, ptr %t63 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10962) %t68 = load ptr, ptr %t63 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10963) call void @fn_emit(ptr @.str10964) %t69 = load ptr, ptr %t63 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10965) %t70 = load ptr, ptr %t60 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10966) call void @fn_emit(ptr @.str10967) %t71 = load ptr, ptr %t63 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10968) %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 @.str10969) %t76 = load ptr, ptr %t30 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10970) call void @fn_emit(ptr @.str10971) call void @fn_emit(ptr @.str10972) call void @fn_emit(ptr @.str10973) %t77 = load ptr, ptr %t1 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10974) call void @fn_emit(ptr @.str10975) 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 @.str10976) %t106 = load ptr, ptr %t105 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str10977) %t107 = load ptr, ptr %t105 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10978) call void @fn_emit(ptr @.str10979) %t108 = load ptr, ptr %t105 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10980) %t109 = load ptr, ptr %t105 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str10981) %t110 = load ptr, ptr %t105 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str10982) call void @fn_emit(ptr @.str10983) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str10984) %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 @.str10985) call void @fn_emit(ptr @.str10986) %t118 = load ptr, ptr %t105 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str10987) %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 @.str10988) %t123 = load ptr, ptr %t30 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str10989) call void @fn_emit(ptr @.str10990) call void @fn_emit(ptr @.str10991) call void @fn_emit(ptr @.str10992) call void @fn_emit(ptr @.str10993) 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 @.str10994) %t152 = load ptr, ptr %t151 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str10995) %t153 = load ptr, ptr %t151 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str10996) call void @fn_emit(ptr @.str10997) %t154 = load ptr, ptr %t151 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str10998) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str10999) %t156 = load ptr, ptr %t151 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str11000) call void @fn_emit(ptr @.str11001) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str11002) 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 @.str11003) %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 @.str11004) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str11005) %t187 = load i32, ptr %t158 %t188 = call ptr @fn_itoa(i32 %t187) call void @fn_emit(ptr %t188) call void @fn_emit(ptr @.str11006) call void @fn_emit(ptr @.str11007) %t189 = load ptr, ptr %t185 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str11008) %t190 = load ptr, ptr %t185 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str11009) %t191 = load ptr, ptr %t185 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str11010) call void @fn_emit(ptr @.str11011) %t192 = load ptr, ptr %t185 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str11012) %t193 = load ptr, ptr %t179 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str11013) call void @fn_emit(ptr @.str11014) %t194 = load ptr, ptr %t185 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str11015) %t195 = load i32, ptr %t158 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t158 br label %wcond24 wend26: call void @fn_emit(ptr @.str11016) %t197 = load ptr, ptr %t1 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str11017) call void @fn_emit(ptr @.str11018) %t198 = load ptr, ptr %t151 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str11019) %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 @.str11020) %t203 = load ptr, ptr %t1 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str11021) call void @fn_emit(ptr @.str11022) 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 @.str11023) %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str11024) %t233 = load ptr, ptr %t231 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str11025) call void @fn_emit(ptr @.str11026) %t234 = load ptr, ptr %t231 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str11027) %t235 = load ptr, ptr %t231 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str11028) %t236 = load ptr, ptr %t231 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str11029) call void @fn_emit(ptr @.str11030) %t237 = load ptr, ptr %t231 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str11031) 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 @.str11032) %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 @.str11033) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str11034) %t267 = load i32, ptr %t238 %t268 = call ptr @fn_itoa(i32 %t267) call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str11035) call void @fn_emit(ptr @.str11036) %t269 = load ptr, ptr %t265 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str11037) %t270 = load ptr, ptr %t265 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str11038) %t271 = load ptr, ptr %t265 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str11039) call void @fn_emit(ptr @.str11040) %t272 = load ptr, ptr %t265 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str11041) %t273 = load ptr, ptr %t259 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str11042) call void @fn_emit(ptr @.str11043) %t274 = load ptr, ptr %t265 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str11044) %t275 = load i32, ptr %t238 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t238 br label %wcond33 wend35: call void @fn_emit(ptr @.str11045) %t277 = load ptr, ptr %t3 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str11046) call void @fn_emit(ptr @.str11047) %t278 = load ptr, ptr %t231 call void @fn_emit(ptr %t278) call void @fn_emit(ptr @.str11048) %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 @.str11049) %t283 = load ptr, ptr %t3 call void @fn_emit(ptr %t283) call void @fn_emit(ptr @.str11050) br label %ret ret: ret void } define void @fn_emit_tick_helpers() { entry: call void @fn_emit(ptr @.str11051) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str11052) call void @fn_emit_calls_for_phase(ptr @.str11053) call void @fn_emit_calls_for_phase(ptr @.str11054) call void @fn_emit_calls_for_phase(ptr @.str11055) call void @fn_emit(ptr @.str11056) call void @fn_emit(ptr @.str11057) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str11058) call void @fn_emit_calls_for_phase(ptr @.str11059) call void @fn_emit(ptr @.str11060) 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 @.str11061) call void @fn_emit(ptr @.str11062) call void @fn_emit(ptr @.str11063) %t0 = call ptr @fn_find_fn(ptr @.str11064) %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 @.str11065) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11066) call void @fn_emit_calls_for_phase(ptr @.str11067) %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 @.str11068) %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 @.str11069) 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 @.str11070) %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 @.str11071) 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 @.str11072) %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 @.str11073) br label %ifend14 ifend14: call void @fn_emit(ptr @.str11074) call void @fn_emit(ptr @.str11075) %t46 = call ptr @fn_emit_bind(ptr @.str11076) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = call ptr @lp_str_concat(ptr @.str11077, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str11078) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = call ptr @fn_find_fn(ptr @.str11079) %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 @.str11080) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr @.str11081, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str11082) %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 @.str11083, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str11084) %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 @.str11085) %t71 = load ptr, ptr %t70 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str11086) br label %ifend17 else16: call void @fn_emit(ptr @.str11087) %t72 = load ptr, ptr %t52 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str11088) br label %ifend17 ifend17: call void @fn_emit(ptr @.str11089) %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 @.str11090) %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 @.str11091) store ptr %t84, ptr %t85 call void @fn_emit(ptr @.str11092) %t86 = load ptr, ptr %t85 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str11093) br label %ifend22 else21: %t87 = call ptr @fn_find_fn(ptr @.str11094) %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 @.str11095) store ptr %t91, ptr %t92 call void @fn_emit(ptr @.str11096) %t93 = load ptr, ptr %t92 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11097) 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 @.str11098) %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 @.str11099) store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str11100) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str11101) br label %ifend30 ifend30: call void @fn_emit_calls_for_phase(ptr @.str11102) call void @fn_emit_calls_for_phase(ptr @.str11103) call void @fn_emit_calls_for_phase(ptr @.str11104) call void @fn_emit_calls_for_phase(ptr @.str11105) %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 @.str11106) %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 @.str11107) %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 @.str11108) br label %ifend35 ifend35: call void @fn_emit_calls_for_phase(ptr @.str11109) call void @fn_emit_calls_for_phase(ptr @.str11110) %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 @.str11111) %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 @.str11112) br label %ifend40 ifend40: %t136 = call ptr @fn_emit_bind(ptr @.str11113) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t137 %t139 = call ptr @lp_str_concat(ptr @.str11114, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str11115) %t141 = call ptr @fn_emit_bind(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str11116) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str11117) call void @fn_emit(ptr @.str11118) call void @fn_emit(ptr @.str11119) %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 @.str11120) br label %ifend43 ifend43: call void @fn_emit_calls_for_phase(ptr @.str11121) %t150 = call ptr @fn_find_event(ptr @.str11122) %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 @.str11123) br label %ifend46 ifend46: %t154 = call ptr @fn_find_fn(ptr @.str11124) %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 @.str11125) br label %ifend49 ifend49: call void @fn_emit(ptr @.str11126) 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 @.str11127, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str11128) %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 @.str11129, 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 @.str11130, 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 @.str11131, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11132) %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 @.str11133) 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 @.str11134, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str11135) %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 @.str11136) store ptr %t96, ptr %t97 %t98 = call ptr @fn_lbl(ptr @.str11137) store ptr %t98, ptr %t99 call void @fn_emit(ptr @.str11138) %t100 = load ptr, ptr %t95 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11139) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str11140) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11141) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11142) 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 @.str11143) %t111 = load ptr, ptr %t65 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str11144) br label %ifend13 ifend13: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str11145) 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 @.str11146) %t119 = load ptr, ptr %t65 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str11147) br label %ifend16 ifend16: %t120 = load ptr, ptr %t65 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str11148) 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 @.str11149) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11150) %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 @.str11151) 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 @.str11152) %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 @.str11153) %t80 = load ptr, ptr %t61 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str11154) 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 @.str11155, 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 @.str11156) %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 @.str11157) br label %ifend20 else19: call void @fn_emit(ptr @.str11158) br label %ifend20 ifend20: call void @fn_emit(ptr @.str11159) %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 @.str11160) call void @fn_emit(ptr @.str11161) %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 @.str11162) 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 @.str11163) %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 @.str11164, 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 @.str11165) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str11166) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str11167) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str11168) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str11169) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11170) %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 @.str11171, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str11172) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str11173) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str11174) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str11175) %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 @.str11176, ptr %t30) store ptr %t31, ptr %t32 call void @fn_emit(ptr @.str11177) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str11178) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str11179) %t35 = load ptr, ptr @g_g_snap_mode %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str11180) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: call void @fn_emit(ptr @.str11181) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str11182) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str11183) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str11184) br label %ifend8 else7: call void @fn_emit(ptr @.str11185) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str11186) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str11187) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str11188) 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 @.str11189, ptr %t45) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str11190) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str11191) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str11192) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str11193) %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 @.str11194, 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 @.str11195, ptr @.str11196) %t4 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t4, ptr @.str11197, ptr @.str11198) call void @fn_emit(ptr @.str11199) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str11200) %t6 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t6, ptr @.str11201, ptr @.str11202) %t7 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t7, ptr @.str11203, ptr @.str11204) %t8 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t8, ptr @.str11205, ptr @.str11206) %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 @.str11207, ptr @.str11208) 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 @.str11209, ptr %t39) call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str11210) 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 @.str11211, ptr %t72) store ptr %t73, ptr %t74 call void @fn_emit(ptr @.str11212) %t75 = load ptr, ptr %t74 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11213) %t76 = load ptr, ptr %t70 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11214) %t77 = load ptr, ptr %t2 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11215) %t78 = load ptr, ptr %t0 %t79 = load ptr, ptr %t70 %t80 = call ptr @lp_str_concat(ptr @.str11216, 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 @.str11217, 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 @.str11218, ptr @g_g_snap_mode call void @fn_emith(ptr @.str11219) call void @fn_emith(ptr @.str11220) call void @fn_emith(ptr @.str11221) %t0 = call ptr @fn_find_fn(ptr @.str11222) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 %t4 = call ptr @fn_find_fn(ptr @.str11223) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 call void @fn_emit(ptr @.str11224) call void @fn_emit(ptr @.str11225) call void @fn_emit(ptr @.str11226) call void @fn_emit(ptr @.str11227) call void @fn_emit_snapshot_blocks(ptr @.str11228) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str11229) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11230) call void @fn_emit(ptr @.str11231) call void @fn_emit(ptr @.str11232) call void @fn_emit(ptr @.str11233) call void @fn_emit(ptr @.str11234) call void @fn_emit_snapshot_blocks(ptr @.str11235) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str11236) br label %ifend5 ifend5: call void @fn_emit(ptr @.str11237) call void @fn_emit(ptr @.str11238) store ptr @.str11239, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str11240) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) %t14 = call ptr @lp_str_concat(ptr @.str11241, ptr %t13) store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str11242) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str11243) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str11244) call void @fn_emit(ptr @.str11245) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str11246) call void @fn_emit(ptr @.str11247) store ptr @.str11248, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str11249) call void @fn_emit(ptr @.str11250) call void @fn_emit(ptr @.str11251) store ptr @.str11252, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str11253) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) %t21 = call ptr @lp_str_concat(ptr @.str11254, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str11255) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str11256) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str11257) call void @fn_emit(ptr @.str11258) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str11259) store ptr @.str11260, 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 @.str11261) %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 @.str11262) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str11263, ptr %retval br label %ret ifend2: store ptr @.str11264, 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 @.str11265, 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 @.str11266, 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 @.str11267) %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 @.str11268, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str11269) %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 @.str11270) 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 @.str11271, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str11272) %t130 = load ptr, ptr %t59 %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str11273) 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 @.str11274) %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 @.str11275) 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 @.str11276) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str11277) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str11278) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11279) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11280) 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 @.str11281) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str11282) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str11283) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11284) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str11285) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str11286) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str11287) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11288) call void @fn_emit(ptr @.str11289) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str11290) %t102 = load ptr, ptr %t90 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11291) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11292) %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 @.str11293) %t121 = load i32, ptr %t6 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str11294) 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 @.str11295) %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 @.str11296) 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 @.str11297) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str11298) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str11299) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11300) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11301) 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 @.str11302) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str11303) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str11304) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11305) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str11306) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str11307) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str11308) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str11309) call void @fn_emit(ptr @.str11310) %t101 = load ptr, ptr %t90 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str11311) %t102 = load ptr, ptr %t97 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11312) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11313) %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 @.str11314) 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 @.str11315) call void @fn_emit(ptr @.str11316) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str11317) 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 @.str11318) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str11319) %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 @.str11320) call void @fn_emit(ptr @.str11321) %t52 = load ptr, ptr %t47 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11322) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11323) %t54 = load ptr, ptr %t47 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str11324) call void @fn_emit(ptr @.str11325) %t55 = load ptr, ptr %t47 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str11326) %t56 = load ptr, ptr %t47 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str11327) %t57 = load ptr, ptr %t44 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str11328) %t58 = load ptr, ptr %t47 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str11329) call void @fn_emit(ptr @.str11330) %t59 = load ptr, ptr %t47 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str11331) %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 @.str11332) call void @fn_emit(ptr @.str11333) call void @fn_emit(ptr @.str11334) %t64 = load ptr, ptr %t1 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str11335) 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 @.str11336) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str11337) %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 @.str11338) call void @fn_emit(ptr @.str11339) %t112 = load ptr, ptr %t107 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str11340) %t113 = load ptr, ptr %t107 call void @fn_emit(ptr %t113) call void @fn_emit(ptr @.str11341) %t114 = load ptr, ptr %t107 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str11342) call void @fn_emit(ptr @.str11343) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str11344) %t116 = load ptr, ptr %t104 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str11345) call void @fn_emit(ptr @.str11346) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str11347) %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 @.str11348) call void @fn_emit(ptr @.str11349) call void @fn_emit(ptr @.str11350) %t122 = load ptr, ptr %t1 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str11351) 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 @.str11352) %t166 = load ptr, ptr %t165 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str11353) %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 @.str11354) call void @fn_emit(ptr @.str11355) %t170 = load ptr, ptr %t165 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str11356) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str11357) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str11358) call void @fn_emit(ptr @.str11359) %t173 = load ptr, ptr %t165 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str11360) %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 @.str11361) call void @fn_emit(ptr @.str11362) %t182 = load ptr, ptr %t165 call void @fn_emit(ptr %t182) call void @fn_emit(ptr @.str11363) %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 @.str11364) 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 @.str11365) call void @fn_emit(ptr @.str11366) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str11367) call void @fn_emit(ptr @.str11368) call void @fn_emit(ptr @.str11369) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str11370) call void @fn_emit(ptr @.str11371) call void @fn_emit(ptr @.str11372) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str11373) call void @fn_emit(ptr @.str11374) br label %ret ret: ret void } define void @fn_emit_loopback() { entry: call void @fn_emith(ptr @.str11375) call void @fn_emith(ptr @.str11376) call void @fn_emith(ptr @.str11377) call void @fn_emith(ptr @.str11378) call void @fn_emit(ptr @.str11379) call void @fn_emit(ptr @.str11380) call void @fn_emit(ptr @.str11381) call void @fn_emit(ptr @.str11382) call void @fn_emit(ptr @.str11383) call void @fn_emit(ptr @.str11384) call void @fn_emit(ptr @.str11385) call void @fn_emit(ptr @.str11386) call void @fn_emit(ptr @.str11387) call void @fn_emit(ptr @.str11388) call void @fn_emit(ptr @.str11389) call void @fn_emit(ptr @.str11390) call void @fn_emit(ptr @.str11391) call void @fn_emit(ptr @.str11392) call void @fn_emit(ptr @.str11393) call void @fn_emit(ptr @.str11394) call void @fn_emit(ptr @.str11395) call void @fn_emit(ptr @.str11396) call void @fn_emit(ptr @.str11397) call void @fn_emit(ptr @.str11398) call void @fn_emit(ptr @.str11399) call void @fn_emit(ptr @.str11400) 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 @.str11401) 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 @.str11402, 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 @.str11403) 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 @.str11404, 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 @.str11405) %t0 = call ptr @fn_find_extern(ptr @.str11406) %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 @.str11407) call void @fn_emit(ptr @.str11408) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str11409) call void @fn_emit(ptr @.str11410) call void @fn_emit(ptr @.str11411) 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 @.str11412) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str11413) %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 @.str11414) call void @fn_emit(ptr @.str11415) %t37 = load ptr, ptr %t30 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str11416) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str11417) %t39 = load ptr, ptr %t30 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str11418) call void @fn_emit(ptr @.str11419) %t40 = load ptr, ptr %t30 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str11420) 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 @.str11421) %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 @.str11422) %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str11423) %t73 = load i32, ptr %t41 %t74 = call ptr @fn_itoa(i32 %t73) call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str11424) call void @fn_emit(ptr @.str11425) %t75 = load ptr, ptr %t71 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11426) %t76 = load ptr, ptr %t65 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11427) %t77 = load ptr, ptr %t71 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11428) %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 @.str11429) 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 @.str11430) %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 @.str11431) %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 @.str11432) %t106 = load ptr, ptr %t44 %t107 = call ptr @fn_buf_str(ptr %t106) call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str11433) call void @fn_emit(ptr @.str11434) call void @fn_emit(ptr @.str11435) %t108 = load ptr, ptr %t30 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str11436) 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 @.str11437) call void @fn_emit(ptr @.str11438) 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 @.str11439) 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 @.str11440) %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 @.str11441) %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 @.str11442) %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 @.str11443) %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 @.str11444) %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 @.str11445) %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 @.str11446) %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 @.str11447, 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 @.str11448, 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 @.str11449, 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 @.str11450, 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 @.str11451) 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 @.str11452) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str11453) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str11454) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str11455) 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 @.str11456) %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 @.str11457) %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 @.str11458) %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 @.str11459) %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 @.str11460) %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 @.str11461) %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 @.str11462) %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 @.str11463) %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 @.str11464) %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 @.str11465) %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 @.str11466) %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 @.str11467) %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 @.str11468) %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 @.str11469) %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 @.str11470) %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 @.str11471) 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 @.str11472) 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 @.str11473) %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 @.str11474) %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 @.str11475) %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 @.str11476) %t89 = load i32, ptr %t10 %t90 = call ptr @fn_itoa(i32 %t89) call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str11477) %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 @.str11478) br label %ifend16 else15: %t95 = load ptr, ptr %t65 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str11479) %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 @.str11480) %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 @.str11481, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str11482) %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 @.str11483) %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 @.str11484) %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 @.str11485) %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 @.str11486) %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 @.str11487) 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 @.str11488) %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 @.str11489) 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 @.str11490) 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 @.str11491) %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 @.str11492) %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 @.str11493) %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 @.str11494) 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 @.str11495) %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 @.str11496) %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 @.str11497) %t57 = load ptr, ptr %t49 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str11498) %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 @.str11499) br label %ifend8 ifend8: call void @fn_emit(ptr @.str11500) %t74 = load ptr, ptr %t15 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str11501) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then9, label %else10 then9: call void @fn_emit(ptr @.str11502) br label %ifend11 else10: %t77 = load ptr, ptr %t15 %t78 = call ptr @lp_str_concat(ptr @.str11503, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str11504) %t80 = call ptr @fn_emit_bind(ptr %t79) store ptr %t80, ptr %t81 call void @fn_emit(ptr @.str11505) %t82 = load ptr, ptr %t15 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str11506) %t83 = load ptr, ptr %t81 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str11507) br label %ifend11 ifend11: %t84 = load ptr, ptr %t11 store ptr %t84, ptr @g_code call void @fn_emit(ptr @.str11508) %t85 = load ptr, ptr %t15 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str11509) %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 @.str11510) %t89 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t89) call void @fn_emit(ptr @.str11511) %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 @.str11512) store ptr @.str11513, 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 @.str11514, 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 @.str11515) call void @fn_emit(ptr @.str11516) call void @fn_emit(ptr @.str11517) call void @fn_emit(ptr @.str11518) %t8 = call ptr @fn_find_fn(ptr @.str11519) %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 @.str11520) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11521) %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 @.str11522) br label %ifend5 ifend5: call void @fn_emit(ptr @.str11523) %t19 = call ptr @fn_emit_bind(ptr @.str11524) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str11525) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str11526) %t22 = load ptr, ptr %t5 store ptr %t22, ptr @g_code call void @fn_emit(ptr @.str11527) %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 @.str11528) 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 @.str11529, 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 @.str11530) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11531) %t15 = load ptr, ptr %t6 store ptr %t15, ptr @g_code call void @fn_emit(ptr @.str11532) %t16 = load i32, ptr %t1 %t17 = call ptr @fn_itoa(i32 %t16) call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str11533) %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 @.str11534) 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 @.str11535) call void @fn_emith(ptr @.str11536) call void @fn_emith(ptr @.str11537) 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 @.str11538) br label %ifend5 ifend5: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit(ptr @.str11539) call void @fn_emit(ptr @.str11540) call void @fn_emit(ptr @.str11541) call void @fn_emit(ptr @.str11542) call void @fn_emit(ptr @.str11543) call void @fn_emit(ptr @.str11544) %t19 = call ptr @fn_lbl(ptr @.str11545) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str11546) store ptr %t21, ptr %t22 %t23 = call ptr @fn_emit_bind(ptr @.str11547) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str11548, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11549) %t28 = load ptr, ptr %t20 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str11550) %t31 = load ptr, ptr %t22 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str11551) call void @fn_emit(ptr %t33) %t34 = load ptr, ptr %t20 %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11552) call void @fn_emit(ptr %t35) %t36 = call ptr @fn_emit_bind(ptr @.str11553) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = call ptr @lp_str_concat(ptr @.str11554, 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 @.str11555, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str11556) call void @fn_emit(ptr %t44) %t45 = load ptr, ptr %t22 %t46 = call ptr @lp_str_concat(ptr @.str11557, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str11558) call void @fn_emit(ptr %t47) %t48 = load ptr, ptr %t22 %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str11559) 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 @.str11560) br label %ifend8 ifend8: call void @fn_emit(ptr @.str11561) 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 @.str11562, 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 @.str11563, 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 @.str11564) store ptr %t91, ptr %t92 %t93 = call ptr @fn_lbl(ptr @.str11565) store ptr %t93, ptr %t94 %t95 = call ptr @fn_lbl(ptr @.str11566) store ptr %t95, ptr %t96 %t97 = call ptr @fn_emit_bind(ptr @.str11567) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t98 %t100 = call ptr @lp_str_concat(ptr @.str11568, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str11569) %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 @.str11570, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str11571) %t107 = load ptr, ptr %t94 %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str11572) %t110 = load ptr, ptr %t92 %t111 = call ptr @lp_str_concat(ptr %t109, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str11573) call void @fn_emit(ptr %t112) %t113 = load ptr, ptr %t92 %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str11574) call void @fn_emit(ptr %t114) %t115 = load ptr, ptr %t98 %t116 = call ptr @lp_str_concat(ptr @.str11575, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str11576) %t118 = load ptr, ptr %t90 %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str11577) %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 @.str11578, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str11579) %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 @.str11580, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str11581) %t131 = load ptr, ptr %t94 %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str11582) %t134 = load ptr, ptr %t96 %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str11583) call void @fn_emit(ptr %t136) %t137 = load ptr, ptr %t94 %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str11584) call void @fn_emit(ptr %t138) %t139 = call ptr @fn_emit_bind(ptr @.str11585) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = call ptr @lp_str_concat(ptr @.str11586, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str11587) %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 @.str11588, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str11589) call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str11590) %t149 = load i32, ptr %t0 %t150 = call ptr @fn_itoa(i32 %t149) %t151 = call ptr @lp_str_concat(ptr @.str11591, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str11592) call void @fn_emit(ptr %t152) %t153 = call ptr @fn_emit_bind(ptr @.str11593) store ptr %t153, ptr %t154 %t155 = load ptr, ptr %t154 %t156 = call ptr @lp_str_concat(ptr @.str11594, ptr %t155) %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str11595) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str11596) store ptr %t160, ptr %t161 %t162 = call ptr @fn_lbl(ptr @.str11597) store ptr %t162, ptr %t163 %t164 = call ptr @fn_lbl(ptr @.str11598) store ptr %t164, ptr %t165 %t166 = load ptr, ptr %t159 %t167 = call ptr @lp_str_concat(ptr @.str11599, ptr %t166) %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str11600) %t169 = load ptr, ptr %t163 %t170 = call ptr @lp_str_concat(ptr %t168, ptr %t169) %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str11601) %t172 = load ptr, ptr %t161 %t173 = call ptr @lp_str_concat(ptr %t171, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str11602) call void @fn_emit(ptr %t174) %t175 = load ptr, ptr %t161 %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str11603) call void @fn_emit(ptr %t176) %t177 = load ptr, ptr %t69 %t178 = call ptr @lp_str_concat(ptr @.str11604, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str11605) call void @fn_emit(ptr %t179) %t180 = load ptr, ptr %t165 %t181 = call ptr @lp_str_concat(ptr @.str11606, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str11607) call void @fn_emit(ptr %t182) %t183 = load ptr, ptr %t163 %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str11608) call void @fn_emit(ptr %t184) %t185 = call ptr @fn_emit_bind(ptr @.str11609) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t186 %t188 = call ptr @lp_str_concat(ptr @.str11610, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str11611) %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 @.str11612, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str11613) call void @fn_emit(ptr %t194) %t195 = load ptr, ptr %t80 %t196 = call ptr @lp_str_concat(ptr @.str11614, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str11615) call void @fn_emit(ptr %t197) %t198 = load ptr, ptr %t165 %t199 = call ptr @lp_str_concat(ptr @.str11616, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str11617) call void @fn_emit(ptr %t200) %t201 = load ptr, ptr %t165 %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str11618) call void @fn_emit(ptr %t202) %t203 = load ptr, ptr %t96 %t204 = call ptr @lp_str_concat(ptr @.str11619, ptr %t203) %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str11620) call void @fn_emit(ptr %t205) %t206 = load ptr, ptr %t96 %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str11621) 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 @.str11622) store ptr %t210, ptr %t211 %t212 = call ptr @fn_lbl(ptr @.str11623) store ptr %t212, ptr %t213 %t214 = call ptr @fn_emit_bind(ptr @.str11624) store ptr %t214, ptr %t215 %t216 = call ptr @fn_emit_bind(ptr @.str11625) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t217 %t219 = call ptr @lp_str_concat(ptr @.str11626, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str11627) %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 @.str11628, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str11629) %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 @.str11630, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str11631) %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 @.str11632, ptr %t235) %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str11633) %t238 = load ptr, ptr %t211 %t239 = call ptr @lp_str_concat(ptr %t237, ptr %t238) %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str11634) %t241 = load ptr, ptr %t213 %t242 = call ptr @lp_str_concat(ptr %t240, ptr %t241) %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str11635) call void @fn_emit(ptr %t243) %t244 = load ptr, ptr %t211 %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str11636) call void @fn_emit(ptr %t245) %t246 = load ptr, ptr %t217 %t247 = call ptr @lp_str_concat(ptr @.str11637, ptr %t246) %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str11638) call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str11639) %t249 = load ptr, ptr %t213 %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str11640) call void @fn_emit(ptr %t250) %t251 = call ptr @fn_emit_bind(ptr @.str11641) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t215 %t254 = call ptr @lp_str_concat(ptr @.str11642, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str11643) %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 @.str11644, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str11645) %t263 = load ptr, ptr %t252 %t264 = call ptr @lp_str_concat(ptr %t262, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str11646) call void @fn_emit(ptr %t265) %t266 = load ptr, ptr %t252 %t267 = call ptr @lp_str_concat(ptr @.str11647, ptr %t266) %t268 = call ptr @lp_str_concat(ptr %t267, ptr @.str11648) %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 @.str11649, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str11650) %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 @.str11651, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str11652) 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 @.str11653, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str11654) %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 @.str11655) %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 @.str11656) 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 @.str11657) 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 @.str11658) call void @fn_emith(ptr @.str11659) 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 @.str11660) 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 @.str11661) 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 @.str11662) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) call void @fn_emith(ptr @.str11663) 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 @.str11664) br label %ifend11 ifend11: call void @fn_emith(ptr @.str11665) %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 @.str11666) call void @fn_emith(ptr @.str11667) %t35 = load ptr, ptr %t14 call void @fn_emith(ptr %t35) call void @fn_emith(ptr @.str11668) %t36 = load ptr, ptr %t14 %t37 = call ptr @lp_str_concat(ptr @.str11669, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str11670) 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 @.str11671) store ptr %t42, ptr %t43 %t44 = call ptr @fn_emit_str_const(ptr @.str11672) store ptr %t44, ptr %t45 %t46 = call ptr @fn_emit_str_const(ptr @.str11673) store ptr %t46, ptr %t47 call void @fn_emith(ptr @.str11674) call void @fn_emith(ptr @.str11675) %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 @.str11676) br label %ifend14 ifend14: call void @fn_emith(ptr @.str11677) call void @fn_emit(ptr @.str11678) %t52 = load ptr, ptr %t43 %t53 = call ptr @lp_str_concat(ptr @.str11679, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str11680) call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str11681) %t55 = load ptr, ptr %t45 %t56 = call ptr @lp_str_concat(ptr @.str11682, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str11683) call void @fn_emit(ptr %t57) %t58 = load ptr, ptr %t47 %t59 = call ptr @lp_str_concat(ptr @.str11684, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str11685) call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str11686) call void @fn_emit(ptr @.str11687) call void @fn_emit(ptr @.str11688) %t61 = load ptr, ptr %t41 %t62 = call ptr @lp_str_concat(ptr @.str11689, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str11690) call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str11691) call void @fn_emit(ptr @.str11692) call void @fn_emit(ptr @.str11693) %t64 = load ptr, ptr %t14 %t65 = call ptr @lp_str_concat(ptr @.str11694, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str11695) call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11696) call void @fn_emit(ptr @.str11697) call void @fn_emit(ptr @.str11698) %t67 = load ptr, ptr %t14 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str11699) call void @fn_emit(ptr @.str11700) call void @fn_emit(ptr @.str11701) %t68 = load ptr, ptr %t14 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str11702) call void @fn_emit(ptr @.str11703) call void @fn_emit(ptr @.str11704) call void @fn_emit(ptr @.str11705) call void @fn_emit(ptr @.str11706) call void @fn_emit(ptr @.str11707) call void @fn_emit(ptr @.str11708) call void @fn_emit(ptr @.str11709) call void @fn_emit(ptr @.str11710) call void @fn_emit(ptr @.str11711) call void @fn_emit(ptr @.str11712) call void @fn_emit(ptr @.str11713) call void @fn_emith(ptr @.str11714) 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 @.str11715) 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 @.str11716) %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 @.str11717) 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 @.str11718, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str11719) %t9 = load ptr, ptr %t5 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str11720) %t12 = call i32 @system(ptr %t11) br label %ifend2 else1: %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr @.str11721, 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 @.str11722, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str11723) %t7 = call i32 @system(ptr %t6) br label %ifend2 else1: %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str11724, 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 @.str11725) 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 @.str11726, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str11727) 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 @.str11728, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str11729) store ptr %t20, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: store ptr @.str11730, 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 @.str11731) %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 @.str11732) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) %t10 = call ptr @lp_str_concat(ptr @.str11733, 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 @.str11734, ptr @g_g_parse_file store ptr @.str11735, ptr @g_g_err_file store ptr @.str11736, 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 @.str11737, 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 %t341 = alloca ptr %t349 = alloca ptr %t361 = alloca ptr %t364 = alloca ptr %t367 = alloca ptr %t385 = alloca ptr %t388 = alloca ptr %t401 = alloca ptr %t404 = alloca ptr %t416 = alloca i32 %t427 = alloca i32 %t452 = alloca ptr %t460 = alloca i32 %t481 = 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 @.str11738) %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 @.str11739) %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 @.str11740) %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 @.str11741) %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 @.str11742) %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 @.str11743) %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 @.str11744) %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 @.str11745) %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 @.str11746) %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 @.str11747) %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 @.str11748) %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 @.str11749) %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 @.str11750) %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 @.str11751, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str11752) 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 @.str11753) 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 @.str11754) 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 @.str11755) 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 @.str11756, ptr @.str11757) %t219 = call ptr @fn_fwd_slashes(ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str11758) %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 @.str11759, 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 @.str11760) 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 @.str11761) 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 @.str11762) 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 @.str11763) 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 @.str11764) %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 @.str11765) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t278 %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str11766) %t288 = load ptr, ptr %t285 %t289 = call ptr @lp_str_concat(ptr %t287, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str11767) 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 @.str11768) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t278 %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str11769) %t298 = load ptr, ptr %t295 %t299 = call ptr @lp_str_concat(ptr %t297, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str11770) 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 @.str11771) store ptr %t304, ptr %t305 %t306 = load ptr, ptr %t278 %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str11772) %t308 = load ptr, ptr %t305 %t309 = call ptr @lp_str_concat(ptr %t307, ptr %t308) %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str11773) 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 @.str11774) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t278 %t317 = call ptr @lp_str_concat(ptr %t316, ptr @.str11775) %t318 = load ptr, ptr %t315 %t319 = call ptr @lp_str_concat(ptr %t317, ptr %t318) %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str11776) 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 @.str11777) %t327 = load ptr, ptr %t273 %t328 = call ptr @fn_join_path(ptr %t327, ptr @.str11778) %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 @.str11779) %t332 = load ptr, ptr %t273 %t333 = call ptr @fn_join_path(ptr %t332, ptr @.str11780) %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_http %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 %t273 %t340 = call ptr @fn_join_path(ptr %t339, ptr @.str11781) store ptr %t340, ptr %t341 %t342 = load ptr, ptr %t278 %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str11782) %t344 = load ptr, ptr %t341 %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str11783) store ptr %t346, ptr %t278 br label %ifend133 else132: %t347 = load ptr, ptr %t273 %t348 = call ptr @fn_join_path(ptr %t347, ptr @.str11784) store ptr %t348, ptr %t349 %t350 = load ptr, ptr %t278 %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str11785) %t352 = load ptr, ptr %t349 %t353 = call ptr @lp_str_concat(ptr %t351, ptr %t352) %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str11786) store ptr %t354, ptr %t278 br label %ifend133 ifend133: br label %ifend130 ifend130: %t355 = load i32, ptr @g_g_uses_gl %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then134, label %ifend136 then134: %t357 = load i32, ptr @g_g_target_win %t358 = icmp ne i32 %t357, 0 br i1 %t358, label %then137, label %else138 then137: %t359 = load ptr, ptr %t273 %t360 = call ptr @fn_join_path(ptr %t359, ptr @.str11787) store ptr %t360, ptr %t361 %t362 = load ptr, ptr %t273 %t363 = call ptr @fn_join_path(ptr %t362, ptr @.str11788) store ptr %t363, ptr %t364 %t365 = load ptr, ptr %t273 %t366 = call ptr @fn_join_path(ptr %t365, ptr @.str11789) store ptr %t366, ptr %t367 %t368 = load i32, ptr @g_g_windowed %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then140, label %ifend142 then140: %t370 = load ptr, ptr %t273 %t371 = call ptr @fn_join_path(ptr %t370, ptr @.str11790) store ptr %t371, ptr %t367 br label %ifend142 ifend142: %t372 = load ptr, ptr %t278 %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str11791) %t374 = load ptr, ptr %t361 %t375 = call ptr @lp_str_concat(ptr %t373, ptr %t374) %t376 = call ptr @lp_str_concat(ptr %t375, ptr @.str11792) %t377 = load ptr, ptr %t364 %t378 = call ptr @lp_str_concat(ptr %t376, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str11793) %t380 = load ptr, ptr %t367 %t381 = call ptr @lp_str_concat(ptr %t379, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str11794) store ptr %t382, ptr %t278 br label %ifend139 else138: %t383 = load ptr, ptr %t273 %t384 = call ptr @fn_join_path(ptr %t383, ptr @.str11795) store ptr %t384, ptr %t385 %t386 = load ptr, ptr %t273 %t387 = call ptr @fn_join_path(ptr %t386, ptr @.str11796) store ptr %t387, ptr %t388 %t389 = load ptr, ptr %t278 %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str11797) %t391 = load ptr, ptr %t385 %t392 = call ptr @lp_str_concat(ptr %t390, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str11798) %t394 = load ptr, ptr %t388 %t395 = call ptr @lp_str_concat(ptr %t393, ptr %t394) %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str11799) store ptr %t396, ptr %t278 br label %ifend139 ifend139: br label %ifend136 ifend136: %t397 = load i32, ptr @g_g_uses_vk %t398 = icmp ne i32 %t397, 0 br i1 %t398, label %then143, label %ifend145 then143: %t399 = load ptr, ptr %t273 %t400 = call ptr @fn_join_path(ptr %t399, ptr @.str11800) store ptr %t400, ptr %t401 %t402 = load ptr, ptr %t273 %t403 = call ptr @fn_join_path(ptr %t402, ptr @.str11801) store ptr %t403, ptr %t404 %t405 = load i32, ptr @g_g_target_win %t406 = icmp ne i32 %t405, 0 br i1 %t406, label %then146, label %ifend148 then146: %t407 = load ptr, ptr %t273 %t408 = call ptr @fn_join_path(ptr %t407, ptr @.str11802) store ptr %t408, ptr %t404 br label %ifend148 ifend148: %t409 = load ptr, ptr %t278 %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str11803) %t411 = load ptr, ptr %t401 %t412 = call ptr @lp_str_concat(ptr %t410, ptr %t411) %t413 = call ptr @lp_str_concat(ptr %t412, ptr @.str11804) %t414 = load ptr, ptr %t404 %t415 = call ptr @lp_str_concat(ptr %t413, ptr %t414) store ptr %t415, ptr %t278 br label %ifend145 ifend145: %t417 = load i32, ptr @g_g_target_win %t418 = icmp ne i32 %t417, 0 %t419 = zext i1 %t418 to i32 store i32 %t419, ptr %t416 br i1 %t418, label %sc149, label %scend150 sc149: %t420 = load i32, ptr %t8 %t421 = icmp ne i32 %t420, 0 %t422 = zext i1 %t421 to i32 store i32 %t422, ptr %t416 br label %scend150 scend150: %t423 = load i32, ptr %t416 %t424 = icmp ne i32 %t423, 0 br i1 %t424, label %then151, label %ifend153 then151: %t425 = load ptr, ptr %t278 %t426 = call ptr @lp_str_concat(ptr %t425, ptr @.str11805) store ptr %t426, ptr %t278 br label %ifend153 ifend153: store i32 0, ptr %t427 br label %wcond154 wcond154: %t428 = load i32, ptr %t427 %t429 = load ptr, ptr %t15 %t430 = getelementptr inbounds %LSlice, ptr %t429, i32 0, i32 1 %t431 = load i32, ptr %t430 %t432 = icmp slt i32 %t428, %t431 %t433 = zext i1 %t432 to i32 %t434 = icmp ne i32 %t433, 0 br i1 %t434, label %wbody155, label %wend156 wbody155: %t435 = load ptr, ptr %t278 %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str11806) %t437 = load ptr, ptr %t15 %t438 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 0 %t439 = load ptr, ptr %t438 %t440 = load i32, ptr %t427 %t441 = getelementptr inbounds ptr, ptr %t439, i32 %t440 %t442 = load ptr, ptr %t441 %t443 = call ptr @lp_str_concat(ptr %t436, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str11807) store ptr %t444, ptr %t278 %t445 = load i32, ptr %t427 %t446 = add i32 %t445, 1 store i32 %t446, ptr %t427 br label %wcond154 wend156: %t447 = load ptr, ptr %t278 %t448 = call ptr @lp_str_concat(ptr %t447, ptr @.str11808) %t449 = load ptr, ptr %t1 %t450 = call ptr @lp_str_concat(ptr %t448, ptr %t449) store ptr %t450, ptr %t278 %t451 = load ptr, ptr %t278 store ptr %t451, ptr %t452 %t453 = call i32 @fn_host_is_windows() %t454 = icmp ne i32 %t453, 0 br i1 %t454, label %then157, label %ifend159 then157: %t455 = load ptr, ptr %t278 %t456 = call ptr @lp_str_concat(ptr @.str11809, ptr %t455) %t457 = call ptr @lp_str_concat(ptr %t456, ptr @.str11810) store ptr %t457, ptr %t452 br label %ifend159 ifend159: %t458 = load ptr, ptr %t452 %t459 = call i32 @system(ptr %t458) store i32 %t459, ptr %t460 %t461 = load i32, ptr %t5 %t462 = icmp eq i32 %t461, 0 %t463 = zext i1 %t462 to i32 %t464 = icmp ne i32 %t463, 0 br i1 %t464, label %then160, label %ifend162 then160: %t465 = load ptr, ptr %t264 call void @fn_remove_file(ptr %t465) br label %ifend162 ifend162: %t466 = load i32, ptr %t460 %t467 = icmp ne i32 %t466, 0 %t468 = zext i1 %t467 to i32 %t469 = icmp ne i32 %t468, 0 br i1 %t469, label %then163, label %ifend165 then163: call void @fn_die(ptr @.str11811) br label %ifend165 ifend165: %t470 = load i32, ptr %t6 %t471 = icmp ne i32 %t470, 0 br i1 %t471, label %then166, label %ifend168 then166: %t472 = call i32 @fn_host_is_windows() %t473 = icmp ne i32 %t472, 0 br i1 %t473, label %then169, label %ifend171 then169: %t474 = load ptr, ptr %t1 %t475 = call ptr @fn_win_path(ptr %t474) %t476 = call ptr @lp_str_concat(ptr @.str11812, ptr %t475) %t477 = call ptr @lp_str_concat(ptr %t476, ptr @.str11813) %t478 = call i32 @system(ptr %t477) call void @exit(i32 %t478) unreachable ifend171: %t479 = load ptr, ptr %t1 %t480 = call i32 @system(ptr %t479) store i32 %t480, ptr %t481 %t482 = load i32, ptr %t481 %t483 = lshr i32 %t482, 8 %t484 = and i32 %t483, 255 call void @exit(i32 %t484) unreachable ifend168: br label %ret ret: %t485 = load i32, ptr %retval ret i32 %t485 }