; Ludic (self-hosted) -> LLVM IR declare i32 @printf(ptr, ...) declare ptr @malloc(i64) declare ptr @realloc(ptr, i64) declare void @free(ptr) declare ptr @fopen(ptr, ptr) declare i64 @fread(ptr, i64, i64, ptr) declare i64 @fwrite(ptr, i64, i64, ptr) declare i32 @fseek(ptr, i64, i32) declare i64 @ftell(ptr) declare i32 @fclose(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 i64 @time(ptr) 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 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 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 } @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_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_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_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 [4 x i8] c"try\00" @.str50 = private unnamed_addr constant [5 x i8] c"else\00" @.str51 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00" @.str52 = private unnamed_addr constant [2 x i8] c"(\00" @.str53 = private unnamed_addr constant [2 x i8] c")\00" @.str54 = private unnamed_addr constant [20 x i8] c"expected expression\00" @.str55 = private unnamed_addr constant [2 x i8] c".\00" @.str56 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str57 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str58 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str59 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str60 = private unnamed_addr constant [4 x i8] c"Set\00" @.str61 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str62 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str63 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str64 = private unnamed_addr constant [4 x i8] c"Job\00" @.str65 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str66 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str67 = private unnamed_addr constant [6 x i8] c"Query\00" @.str68 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str69 = private unnamed_addr constant [6 x i8] c"Light\00" @.str70 = private unnamed_addr constant [6 x i8] c"Value\00" @.str71 = private unnamed_addr constant [5 x i8] c"Json\00" @.str72 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str73 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str74 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str75 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str76 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str77 = private unnamed_addr constant [5 x i8] c"cell\00" @.str78 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str79 = private unnamed_addr constant [7 x i8] c"define\00" @.str80 = private unnamed_addr constant [6 x i8] c"named\00" @.str81 = private unnamed_addr constant [5 x i8] c"draw\00" @.str82 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str83 = private unnamed_addr constant [6 x i8] c"width\00" @.str84 = private unnamed_addr constant [7 x i8] c"height\00" @.str85 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str86 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str87 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str88 = private unnamed_addr constant [6 x i8] c"apply\00" @.str89 = private unnamed_addr constant [6 x i8] c"Input\00" @.str90 = private unnamed_addr constant [5 x i8] c"bind\00" @.str91 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str92 = private unnamed_addr constant [5 x i8] c"poll\00" @.str93 = private unnamed_addr constant [5 x i8] c"down\00" @.str94 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str95 = private unnamed_addr constant [7 x i8] c"record\00" @.str96 = private unnamed_addr constant [7 x i8] c"replay\00" @.str97 = private unnamed_addr constant [7 x i8] c"action\00" @.str98 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str99 = private unnamed_addr constant [7 x i8] c"active\00" @.str100 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str101 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str102 = private unnamed_addr constant [6 x i8] c"Input\00" @.str103 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str104 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str105 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str106 = private unnamed_addr constant [6 x i8] c"press\00" @.str107 = private unnamed_addr constant [8 x i8] c"release\00" @.str108 = private unnamed_addr constant [5 x i8] c"axis\00" @.str109 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str110 = private unnamed_addr constant [7 x i8] c"vector\00" @.str111 = private unnamed_addr constant [9 x i8] c"strength\00" @.str112 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str113 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str114 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str115 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str116 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str117 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str118 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str119 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str120 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str121 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str122 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str123 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str124 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str125 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str126 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str127 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str128 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str129 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str130 = private unnamed_addr constant [5 x i8] c"play\00" @.str131 = private unnamed_addr constant [5 x i8] c"clip\00" @.str132 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str133 = private unnamed_addr constant [6 x i8] c"fired\00" @.str134 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str135 = private unnamed_addr constant [3 x i8] c"to\00" @.str136 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str137 = private unnamed_addr constant [5 x i8] c"Http\00" @.str138 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str139 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str140 = private unnamed_addr constant [3 x i8] c"to\00" @.str141 = private unnamed_addr constant [6 x i8] c"chain\00" @.str142 = private unnamed_addr constant [6 x i8] c"delay\00" @.str143 = private unnamed_addr constant [6 x i8] c"value\00" @.str144 = private unnamed_addr constant [5 x i8] c"stop\00" @.str145 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str146 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str147 = private unnamed_addr constant [2 x i8] c"[\00" @.str148 = private unnamed_addr constant [3 x i8] c"..\00" @.str149 = private unnamed_addr constant [2 x i8] c"]\00" @.str150 = private unnamed_addr constant [2 x i8] c"]\00" @.str151 = private unnamed_addr constant [2 x i8] c"(\00" @.str152 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str153 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str154 = private unnamed_addr constant [2 x i8] c"-\00" @.str155 = private unnamed_addr constant [2 x i8] c"-\00" @.str156 = private unnamed_addr constant [2 x i8] c"~\00" @.str157 = private unnamed_addr constant [2 x i8] c"~\00" @.str158 = private unnamed_addr constant [4 x i8] c"not\00" @.str159 = private unnamed_addr constant [4 x i8] c"not\00" @.str160 = private unnamed_addr constant [2 x i8] c"*\00" @.str161 = private unnamed_addr constant [2 x i8] c"/\00" @.str162 = private unnamed_addr constant [2 x i8] c"%\00" @.str163 = private unnamed_addr constant [3 x i8] c"<<\00" @.str164 = private unnamed_addr constant [3 x i8] c">>\00" @.str165 = private unnamed_addr constant [2 x i8] c"&\00" @.str166 = private unnamed_addr constant [2 x i8] c"+\00" @.str167 = private unnamed_addr constant [2 x i8] c"-\00" @.str168 = private unnamed_addr constant [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 [2 x i8] c">\00" @.str173 = private unnamed_addr constant [3 x i8] c">=\00" @.str174 = private unnamed_addr constant [3 x i8] c"==\00" @.str175 = private unnamed_addr constant [3 x i8] c"!=\00" @.str176 = private unnamed_addr constant [4 x i8] c"and\00" @.str177 = private unnamed_addr constant [4 x i8] c"and\00" @.str178 = private unnamed_addr constant [3 x i8] c"or\00" @.str179 = private unnamed_addr constant [3 x i8] c"or\00" @.str180 = private unnamed_addr constant [2 x i8] c"{\00" @.str181 = private unnamed_addr constant [2 x i8] c"}\00" @.str182 = private unnamed_addr constant [2 x i8] c":\00" @.str183 = private unnamed_addr constant [2 x i8] c",\00" @.str184 = private unnamed_addr constant [2 x i8] c"}\00" @.str185 = private unnamed_addr constant [2 x i8] c"{\00" @.str186 = private unnamed_addr constant [2 x i8] c"}\00" @.str187 = private unnamed_addr constant [2 x i8] c"}\00" @.str188 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" @.str189 = private unnamed_addr constant [2 x i8] c"}\00" @.str190 = private unnamed_addr constant [4 x i8] c"let\00" @.str191 = private unnamed_addr constant [4 x i8] c"var\00" @.str192 = private unnamed_addr constant [4 x i8] c"var\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 [7 x i8] c"return\00" @.str196 = private unnamed_addr constant [2 x i8] c"}\00" @.str197 = private unnamed_addr constant [3 x i8] c"if\00" @.str198 = private unnamed_addr constant [5 x i8] c"else\00" @.str199 = private unnamed_addr constant [3 x i8] c"if\00" @.str200 = private unnamed_addr constant [6 x i8] c"while\00" @.str201 = private unnamed_addr constant [4 x i8] c"for\00" @.str202 = private unnamed_addr constant [2 x i8] c"(\00" @.str203 = private unnamed_addr constant [3 x i8] c"..\00" @.str204 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str205 = private unnamed_addr constant [8 x i8] c"machine\00" @.str206 = private unnamed_addr constant [2 x i8] c"{\00" @.str207 = private unnamed_addr constant [2 x i8] c"}\00" @.str208 = private unnamed_addr constant [2 x i8] c"=\00" @.str209 = private unnamed_addr constant [2 x i8] c"}\00" @.str210 = private unnamed_addr constant [5 x i8] c"emit\00" @.str211 = private unnamed_addr constant [7 x i8] c"become\00" @.str212 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str213 = private unnamed_addr constant [7 x i8] c"enable\00" @.str214 = private unnamed_addr constant [8 x i8] c"disable\00" @.str215 = private unnamed_addr constant [7 x i8] c"enable\00" @.str216 = private unnamed_addr constant [6 x i8] c"layer\00" @.str217 = private unnamed_addr constant [6 x i8] c"layer\00" @.str218 = private unnamed_addr constant [7 x i8] c"system\00" @.str219 = private unnamed_addr constant [7 x i8] c"system\00" @.str220 = private unnamed_addr constant [3 x i8] c"on\00" @.str221 = private unnamed_addr constant [7 x i8] c"attach\00" @.str222 = private unnamed_addr constant [3 x i8] c"on\00" @.str223 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" @.str224 = private unnamed_addr constant [2 x i8] c"{\00" @.str225 = private unnamed_addr constant [7 x i8] c"detach\00" @.str226 = private unnamed_addr constant [3 x i8] c"on\00" @.str227 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" @.str228 = private unnamed_addr constant [6 x i8] c"break\00" @.str229 = private unnamed_addr constant [9 x i8] c"continue\00" @.str230 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str231 = private unnamed_addr constant [6 x i8] c"match\00" @.str232 = private unnamed_addr constant [2 x i8] c"{\00" @.str233 = private unnamed_addr constant [2 x i8] c"}\00" @.str234 = private unnamed_addr constant [2 x i8] c",\00" @.str235 = private unnamed_addr constant [3 x i8] c"=>\00" @.str236 = private unnamed_addr constant [2 x i8] c"{\00" @.str237 = private unnamed_addr constant [2 x i8] c"}\00" @.str238 = private unnamed_addr constant [2 x i8] c"=\00" @.str239 = private unnamed_addr constant [3 x i8] c"+=\00" @.str240 = private unnamed_addr constant [3 x i8] c"-=\00" @.str241 = private unnamed_addr constant [3 x i8] c"*=\00" @.str242 = private unnamed_addr constant [3 x i8] c"/=\00" @.str243 = private unnamed_addr constant [2 x i8] c":\00" @.str244 = private unnamed_addr constant [2 x i8] c"=\00" @.str245 = private unnamed_addr constant [2 x i8] c":\00" @.str246 = private unnamed_addr constant [2 x i8] c"=\00" @.str247 = private unnamed_addr constant [4 x i8] c"new\00" @.str248 = private unnamed_addr constant [6 x i8] c"match\00" @.str249 = private unnamed_addr constant [8 x i8] c"machine\00" @.str250 = private unnamed_addr constant [7 x i8] c"become\00" @.str251 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str252 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str253 = private unnamed_addr constant [6 x i8] c"query\00" @.str254 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str255 = private unnamed_addr constant [6 x i8] c"scene\00" @.str256 = private unnamed_addr constant [6 x i8] c"layer\00" @.str257 = private unnamed_addr constant [8 x i8] c"handler\00" @.str258 = private unnamed_addr constant [9 x i8] c"property\00" @.str259 = private unnamed_addr constant [6 x i8] c"model\00" @.str260 = private unnamed_addr constant [5 x i8] c"enum\00" @.str261 = private unnamed_addr constant [6 x i8] c"event\00" @.str262 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str263 = private unnamed_addr constant [9 x i8] c"function\00" @.str264 = private unnamed_addr constant [4 x i8] c"let\00" @.str265 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str266 = private unnamed_addr constant [4 x i8] c"var\00" @.str267 = private unnamed_addr constant [6 x i8] c"const\00" @.str268 = private unnamed_addr constant [3 x i8] c"if\00" @.str269 = private unnamed_addr constant [5 x i8] c"else\00" @.str270 = private unnamed_addr constant [6 x i8] c"while\00" @.str271 = private unnamed_addr constant [4 x i8] c"for\00" @.str272 = private unnamed_addr constant [7 x i8] c"return\00" @.str273 = private unnamed_addr constant [7 x i8] c"import\00" @.str274 = private unnamed_addr constant [8 x i8] c"program\00" @.str275 = private unnamed_addr constant [6 x i8] c"entry\00" @.str276 = private unnamed_addr constant [3 x i8] c"ui\00" @.str277 = private unnamed_addr constant [6 x i8] c"break\00" @.str278 = private unnamed_addr constant [9 x i8] c"continue\00" @.str279 = private unnamed_addr constant [4 x i8] c"and\00" @.str280 = private unnamed_addr constant [3 x i8] c"or\00" @.str281 = private unnamed_addr constant [4 x i8] c"not\00" @.str282 = private unnamed_addr constant [5 x i8] c"true\00" @.str283 = private unnamed_addr constant [6 x i8] c"false\00" @.str284 = private unnamed_addr constant [5 x i8] c"null\00" @.str285 = private unnamed_addr constant [2 x i8] c"(\00" @.str286 = private unnamed_addr constant [2 x i8] c"'\00" @.str287 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\00" @.str288 = private unnamed_addr constant [2 x i8] c")\00" @.str289 = private unnamed_addr constant [2 x i8] c":\00" @.str290 = private unnamed_addr constant [2 x i8] c",\00" @.str291 = private unnamed_addr constant [2 x i8] c")\00" @.str292 = private unnamed_addr constant [5 x i8] c"void\00" @.str293 = private unnamed_addr constant [3 x i8] c"->\00" @.str294 = private unnamed_addr constant [2 x i8] c"{\00" @.str295 = private unnamed_addr constant [2 x i8] c"}\00" @.str296 = private unnamed_addr constant [7 x i8] c"export\00" @.str297 = private unnamed_addr constant [9 x i8] c"internal\00" @.str298 = private unnamed_addr constant [9 x i8] c"function\00" @.str299 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00" @.str300 = private unnamed_addr constant [2 x i8] c"}\00" @.str301 = private unnamed_addr constant [2 x i8] c"_\00" @.str302 = private unnamed_addr constant [1 x i8] c"\00" @.str303 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" @.str304 = private unnamed_addr constant [1 x i8] c"\00" @.str305 = private unnamed_addr constant [5 x i8] c"bin/\00" @.str306 = private unnamed_addr constant [5 x i8] c"PATH\00" @.str307 = private unnamed_addr constant [1 x i8] c"\00" @.str308 = private unnamed_addr constant [3 x i8] c"rb\00" @.str309 = private unnamed_addr constant [1 x i8] c"\00" @.str310 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" @.str311 = 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" @.str312 = private unnamed_addr constant [2 x i8] c"@\00" @.str313 = private unnamed_addr constant [7 x i8] c"export\00" @.str314 = private unnamed_addr constant [7 x i8] c"Public\00" @.str315 = private unnamed_addr constant [3 x i8] c"On\00" @.str316 = private unnamed_addr constant [2 x i8] c"(\00" @.str317 = private unnamed_addr constant [2 x i8] c")\00" @.str318 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str319 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" @.str320 = private unnamed_addr constant [2 x i8] c"(\00" @.str321 = private unnamed_addr constant [2 x i8] c")\00" @.str322 = private unnamed_addr constant [10 x i8] c"OnDespawn\00" @.str323 = private unnamed_addr constant [2 x i8] c"(\00" @.str324 = private unnamed_addr constant [2 x i8] c",\00" @.str325 = private unnamed_addr constant [2 x i8] c":\00" @.str326 = private unnamed_addr constant [2 x i8] c")\00" @.str327 = private unnamed_addr constant [9 x i8] c"OnAttach\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 [9 x i8] c"OnDetach\00" @.str331 = private unnamed_addr constant [2 x i8] c"(\00" @.str332 = private unnamed_addr constant [2 x i8] c")\00" @.str333 = private unnamed_addr constant [9 x i8] c"OnEnable\00" @.str334 = private unnamed_addr constant [2 x i8] c"(\00" @.str335 = private unnamed_addr constant [2 x i8] c")\00" @.str336 = private unnamed_addr constant [10 x i8] c"OnDisable\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 [8 x i8] c"OnStart\00" @.str340 = private unnamed_addr constant [6 x i8] c"Start\00" @.str341 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str342 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str343 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str344 = private unnamed_addr constant [6 x i8] c"Owned\00" @.str345 = private unnamed_addr constant [7 x i8] c"Server\00" @.str346 = private unnamed_addr constant [7 x i8] c"server\00" @.str347 = private unnamed_addr constant [10 x i8] c"Predicted\00" @.str348 = private unnamed_addr constant [10 x i8] c"predicted\00" @.str349 = private unnamed_addr constant [9 x i8] c"ToServer\00" @.str350 = private unnamed_addr constant [9 x i8] c"toserver\00" @.str351 = private unnamed_addr constant [10 x i8] c"ToClients\00" @.str352 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str353 = private unnamed_addr constant [7 x i8] c"System\00" @.str354 = private unnamed_addr constant [7 x i8] c"Update\00" @.str355 = private unnamed_addr constant [2 x i8] c"(\00" @.str356 = private unnamed_addr constant [2 x i8] c")\00" @.str357 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" @.str358 = private unnamed_addr constant [2 x i8] c"(\00" @.str359 = private unnamed_addr constant [2 x i8] c",\00" @.str360 = private unnamed_addr constant [2 x i8] c")\00" @.str361 = private unnamed_addr constant [10 x i8] c"Namespace\00" @.str362 = private unnamed_addr constant [2 x i8] c"(\00" @.str363 = private unnamed_addr constant [2 x i8] c")\00" @.str364 = private unnamed_addr constant [11 x i8] c"ClearColor\00" @.str365 = private unnamed_addr constant [2 x i8] c"(\00" @.str366 = private unnamed_addr constant [2 x i8] c")\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 [2 x i8] c")\00" @.str370 = private unnamed_addr constant [7 x i8] c"import\00" @.str371 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" @.str372 = private unnamed_addr constant [5 x i8] c"enum\00" @.str373 = private unnamed_addr constant [6 x i8] c"event\00" @.str374 = private unnamed_addr constant [9 x i8] c"property\00" @.str375 = private unnamed_addr constant [6 x i8] c"model\00" @.str376 = private unnamed_addr constant [6 x i8] c"scene\00" @.str377 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str378 = private unnamed_addr constant [8 x i8] c"handler\00" @.str379 = private unnamed_addr constant [7 x i8] c"server\00" @.str380 = private unnamed_addr constant [7 x i8] c"model_\00" @.str381 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str382 = private unnamed_addr constant [7 x i8] c"model_\00" @.str383 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str384 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str385 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str386 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str387 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str388 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str389 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str390 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str391 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str392 = private unnamed_addr constant [6 x i8] c"Start\00" @.str393 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str394 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str395 = private unnamed_addr constant [3 x i8] c"ui\00" @.str396 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str397 = private unnamed_addr constant [4 x i8] c"var\00" @.str398 = private unnamed_addr constant [6 x i8] c"const\00" @.str399 = private unnamed_addr constant [9 x i8] c"function\00" @.str400 = private unnamed_addr constant [7 x i8] c"extern\00" @.str401 = private unnamed_addr constant [6 x i8] c"entry\00" @.str402 = private unnamed_addr constant [5 x i8] c"test\00" @.str403 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00" @.str404 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" @.str405 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str406 = private unnamed_addr constant [22 x i8] c"import: no directory \00" @.str407 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str408 = private unnamed_addr constant [2 x i8] c"/\00" @.str409 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" @.str410 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str411 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str412 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str413 = private unnamed_addr constant [20 x i8] c"cannot open import \00" @.str414 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str415 = private unnamed_addr constant [1 x i8] c"\00" @.str416 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str417 = private unnamed_addr constant [1 x i8] c"\00" @.str418 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" @.str419 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" @.str420 = private unnamed_addr constant [1 x i8] c"\00" @.str421 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" @.str422 = private unnamed_addr constant [1 x i8] c"\00" @.str423 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" @.str424 = private unnamed_addr constant [1 x i8] c"\00" @.str425 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" @.str426 = private unnamed_addr constant [1 x i8] c"\00" @.str427 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" @.str428 = private unnamed_addr constant [1 x i8] c"\00" @.str429 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" @.str430 = private unnamed_addr constant [1 x i8] c"\00" @.str431 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str432 = private unnamed_addr constant [1 x i8] c"\00" @.str433 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str434 = private unnamed_addr constant [1 x i8] c"\00" @.str435 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.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 [27 x i8] c"runtime/native/audio.ludic\00" @.str439 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" @.str440 = private unnamed_addr constant [1 x i8] c"\00" @.str441 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str442 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" @.str443 = private unnamed_addr constant [1 x i8] c"\00" @.str444 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str445 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str446 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str447 = private unnamed_addr constant [1 x i8] c"\00" @.str448 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str449 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str450 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str451 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str452 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str453 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str454 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" @.str455 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" @.str456 = private unnamed_addr constant [1 x i8] c"\00" @.str457 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" @.str458 = private unnamed_addr constant [1 x i8] c"\00" @.str459 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str460 = private unnamed_addr constant [27 x i8] c"runtime/native/input.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 [27 x i8] c"runtime/native/tween.ludic\00" @.str464 = private unnamed_addr constant [1 x i8] c"\00" @.str465 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str466 = private unnamed_addr constant [1 x i8] c"\00" @.str467 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" @.str468 = private unnamed_addr constant [1 x i8] c"\00" @.str469 = private unnamed_addr constant [24 x i8] c"runtime/native/gl.ludic\00" @.str470 = private unnamed_addr constant [1 x i8] c"\00" @.str471 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str472 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str473 = private unnamed_addr constant [1 x i8] c"\00" @.str474 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str475 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str476 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str477 = private unnamed_addr constant [5 x i8] c"Body\00" @.str478 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str479 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" @.str480 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str481 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str482 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" @.str483 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str484 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str485 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" @.str486 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str487 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" @.str488 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str489 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str490 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str491 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" @.str492 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str493 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" @.str494 = private unnamed_addr constant [7 x i8] c"Update\00" @.str495 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str496 = private unnamed_addr constant [12 x i8] c"esys_motion\00" @.str497 = private unnamed_addr constant [7 x i8] c"Update\00" @.str498 = private unnamed_addr constant [5 x i8] c"Body\00" @.str499 = private unnamed_addr constant [10 x i8] c"esys_move\00" @.str500 = private unnamed_addr constant [7 x i8] c"Update\00" @.str501 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str502 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" @.str503 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str504 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str505 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" @.str506 = private unnamed_addr constant [7 x i8] c"Render\00" @.str507 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str508 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" @.str509 = private unnamed_addr constant [7 x i8] c"Render\00" @.str510 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str511 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" @.str512 = private unnamed_addr constant [7 x i8] c"Render\00" @.str513 = private unnamed_addr constant [6 x i8] c"Ludic\00" @.str514 = private unnamed_addr constant [7 x i8] c"import\00" @.str515 = private unnamed_addr constant [2 x i8] c"@\00" @.str516 = private unnamed_addr constant [2 x i8] c"(\00" @.str517 = private unnamed_addr constant [2 x i8] c"(\00" @.str518 = private unnamed_addr constant [2 x i8] c")\00" @.str519 = private unnamed_addr constant [8 x i8] c"program\00" @.str520 = private unnamed_addr constant [2 x i8] c"{\00" @.str521 = private unnamed_addr constant [2 x i8] c"}\00" @.str522 = private unnamed_addr constant [2 x i8] c"{\00" @.str523 = private unnamed_addr constant [2 x i8] c"}\00" @.str524 = private unnamed_addr constant [2 x i8] c"@\00" @.str525 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str526 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str527 = private unnamed_addr constant [2 x i8] c":\00" @.str528 = private unnamed_addr constant [2 x i8] c"=\00" @.str529 = private unnamed_addr constant [2 x i8] c",\00" @.str530 = private unnamed_addr constant [2 x i8] c"}\00" @.str531 = private unnamed_addr constant [12 x i8] c"cancellable\00" @.str532 = private unnamed_addr constant [2 x i8] c"{\00" @.str533 = private unnamed_addr constant [2 x i8] c"}\00" @.str534 = private unnamed_addr constant [2 x i8] c":\00" @.str535 = private unnamed_addr constant [2 x i8] c"=\00" @.str536 = private unnamed_addr constant [2 x i8] c",\00" @.str537 = private unnamed_addr constant [2 x i8] c"}\00" @.str538 = private unnamed_addr constant [7 x i8] c"Update\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 [2 x i8] c")\00" @.str543 = private unnamed_addr constant [6 x i8] c"phase\00" @.str544 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str545 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\00" @.str546 = private unnamed_addr constant [2 x i8] c"[\00" @.str547 = private unnamed_addr constant [2 x i8] c"]\00" @.str548 = private unnamed_addr constant [2 x i8] c"{\00" @.str549 = private unnamed_addr constant [2 x i8] c"}\00" @.str550 = private unnamed_addr constant [2 x i8] c",\00" @.str551 = private unnamed_addr constant [2 x i8] c"]\00" @.str552 = private unnamed_addr constant [6 x i8] c"where\00" @.str553 = private unnamed_addr constant [2 x i8] c"(\00" @.str554 = private unnamed_addr constant [2 x i8] c")\00" @.str555 = private unnamed_addr constant [2 x i8] c",\00" @.str556 = private unnamed_addr constant [2 x i8] c")\00" @.str557 = private unnamed_addr constant [6 x i8] c"query\00" @.str558 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" @.str559 = private unnamed_addr constant [4 x i8] c"and\00" @.str560 = private unnamed_addr constant [2 x i8] c"(\00" @.str561 = private unnamed_addr constant [2 x i8] c")\00" @.str562 = private unnamed_addr constant [2 x i8] c")\00" @.str563 = private unnamed_addr constant [2 x i8] c":\00" @.str564 = private unnamed_addr constant [6 x i8] c"these\00" @.str565 = private unnamed_addr constant [2 x i8] c"[\00" @.str566 = private unnamed_addr constant [2 x i8] c"]\00" @.str567 = private unnamed_addr constant [2 x i8] c"{\00" @.str568 = private unnamed_addr constant [2 x i8] c"}\00" @.str569 = private unnamed_addr constant [2 x i8] c",\00" @.str570 = private unnamed_addr constant [2 x i8] c"]\00" @.str571 = private unnamed_addr constant [3 x i8] c"on\00" @.str572 = private unnamed_addr constant [2 x i8] c",\00" @.str573 = private unnamed_addr constant [2 x i8] c")\00" @.str574 = private unnamed_addr constant [2 x i8] c"{\00" @.str575 = private unnamed_addr constant [2 x i8] c"}\00" @.str576 = private unnamed_addr constant [2 x i8] c"}\00" @.str577 = private unnamed_addr constant [2 x i8] c",\00" @.str578 = private unnamed_addr constant [2 x i8] c":\00" @.str579 = private unnamed_addr constant [2 x i8] c"{\00" @.str580 = private unnamed_addr constant [2 x i8] c"}\00" @.str581 = private unnamed_addr constant [6 x i8] c"start\00" @.str582 = private unnamed_addr constant [7 x i8] c"public\00" @.str583 = private unnamed_addr constant [6 x i8] c"shows\00" @.str584 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str585 = private unnamed_addr constant [6 x i8] c"loads\00" @.str586 = private unnamed_addr constant [6 x i8] c"start\00" @.str587 = private unnamed_addr constant [6 x i8] c"shows\00" @.str588 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str589 = private unnamed_addr constant [5 x i8] c"then\00" @.str590 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" @.str591 = private unnamed_addr constant [6 x i8] c"loads\00" @.str592 = private unnamed_addr constant [5 x i8] c"then\00" @.str593 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" @.str594 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str595 = private unnamed_addr constant [7 x i8] c"_enter\00" @.str596 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str597 = private unnamed_addr constant [6 x i8] c"_exit\00" @.str598 = private unnamed_addr constant [2 x i8] c"{\00" @.str599 = private unnamed_addr constant [2 x i8] c"}\00" @.str600 = private unnamed_addr constant [3 x i8] c"on\00" @.str601 = private unnamed_addr constant [6 x i8] c"enter\00" @.str602 = private unnamed_addr constant [5 x i8] c"exit\00" @.str603 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" @.str604 = private unnamed_addr constant [6 x i8] c"layer\00" @.str605 = private unnamed_addr constant [7 x i8] c"public\00" @.str606 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str607 = private unnamed_addr constant [6 x i8] c"_show\00" @.str608 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str609 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str610 = private unnamed_addr constant [2 x i8] c"{\00" @.str611 = private unnamed_addr constant [2 x i8] c"}\00" @.str612 = private unnamed_addr constant [2 x i8] c"@\00" @.str613 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str614 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" @.str615 = private unnamed_addr constant [2 x i8] c")\00" @.str616 = private unnamed_addr constant [8 x i8] c"handler\00" @.str617 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" @.str618 = private unnamed_addr constant [2 x i8] c"_\00" @.str619 = private unnamed_addr constant [2 x i8] c"}\00" @.str620 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" @.str621 = private unnamed_addr constant [2 x i8] c"}\00" @.str622 = private unnamed_addr constant [8 x i8] c"_Loader\00" @.str623 = private unnamed_addr constant [7 x i8] c"Update\00" @.str624 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str625 = private unnamed_addr constant [5 x i8] c"pump\00" @.str626 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str627 = private unnamed_addr constant [6 x i8] c"ready\00" @.str628 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" @.str629 = private unnamed_addr constant [7 x i8] c"Render\00" @.str630 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" @.str631 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str632 = private unnamed_addr constant [6 x i8] c"_left\00" @.str633 = private unnamed_addr constant [4 x i8] c"int\00" @.str634 = private unnamed_addr constant [2 x i8] c"=\00" @.str635 = private unnamed_addr constant [7 x i8] c"_Timer\00" @.str636 = private unnamed_addr constant [7 x i8] c"Update\00" @.str637 = private unnamed_addr constant [3 x i8] c"-=\00" @.str638 = private unnamed_addr constant [3 x i8] c"<=\00" @.str639 = private unnamed_addr constant [3 x i8] c"id\00" @.str640 = private unnamed_addr constant [5 x i8] c"goto\00" @.str641 = private unnamed_addr constant [3 x i8] c"==\00" @.str642 = private unnamed_addr constant [3 x i8] c"id\00" @.str643 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str644 = private unnamed_addr constant [10 x i8] c"UiClicked\00" @.str645 = private unnamed_addr constant [2 x i8] c"{\00" @.str646 = private unnamed_addr constant [2 x i8] c"}\00" @.str647 = private unnamed_addr constant [2 x i8] c"(\00" @.str648 = private unnamed_addr constant [2 x i8] c")\00" @.str649 = private unnamed_addr constant [2 x i8] c",\00" @.str650 = private unnamed_addr constant [2 x i8] c")\00" @.str651 = private unnamed_addr constant [2 x i8] c",\00" @.str652 = private unnamed_addr constant [2 x i8] c"}\00" @.str653 = private unnamed_addr constant [2 x i8] c"{\00" @.str654 = private unnamed_addr constant [2 x i8] c"}\00" @.str655 = private unnamed_addr constant [2 x i8] c"@\00" @.str656 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str657 = private unnamed_addr constant [2 x i8] c",\00" @.str658 = private unnamed_addr constant [2 x i8] c"}\00" @.str659 = private unnamed_addr constant [2 x i8] c"(\00" @.str660 = private unnamed_addr constant [2 x i8] c")\00" @.str661 = private unnamed_addr constant [2 x i8] c":\00" @.str662 = private unnamed_addr constant [2 x i8] c",\00" @.str663 = private unnamed_addr constant [2 x i8] c")\00" @.str664 = private unnamed_addr constant [5 x i8] c"void\00" @.str665 = private unnamed_addr constant [3 x i8] c"->\00" @.str666 = private unnamed_addr constant [2 x i8] c"=\00" @.str667 = private unnamed_addr constant [2 x i8] c":\00" @.str668 = private unnamed_addr constant [2 x i8] c":\00" @.str669 = private unnamed_addr constant [2 x i8] c"{\00" @.str670 = private unnamed_addr constant [2 x i8] c"}\00" @.str671 = private unnamed_addr constant [2 x i8] c"}\00" @.str672 = private unnamed_addr constant [2 x i8] c"{\00" @.str673 = private unnamed_addr constant [2 x i8] c"}\00" @.str674 = private unnamed_addr constant [3 x i8] c" \00" @.str675 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" @.str676 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str677 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str678 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str679 = private unnamed_addr constant [4 x i8] c", 1\00" @.str680 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str681 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str682 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str683 = private unnamed_addr constant [3 x i8] c"%t\00" @.str684 = private unnamed_addr constant [3 x i8] c" \00" @.str685 = private unnamed_addr constant [11 x i8] c" = alloca \00" @.str686 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str687 = private unnamed_addr constant [3 x i8] c"%t\00" @.str688 = private unnamed_addr constant [4 x i8] c"int\00" @.str689 = private unnamed_addr constant [5 x i8] c"bool\00" @.str690 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str691 = private unnamed_addr constant [7 x i8] c"entity\00" @.str692 = private unnamed_addr constant [4 x i8] c"i32\00" @.str693 = private unnamed_addr constant [4 x i8] c"i32\00" @.str694 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str695 = private unnamed_addr constant [4 x i8] c"i32\00" @.str696 = private unnamed_addr constant [5 x i8] c"long\00" @.str697 = private unnamed_addr constant [4 x i8] c"i64\00" @.str698 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str699 = private unnamed_addr constant [4 x i8] c"i64\00" @.str700 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str701 = private unnamed_addr constant [4 x i8] c"i64\00" @.str702 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str703 = private unnamed_addr constant [5 x i8] c"i128\00" @.str704 = private unnamed_addr constant [5 x i8] c"byte\00" @.str705 = private unnamed_addr constant [3 x i8] c"i8\00" @.str706 = private unnamed_addr constant [6 x i8] c"words\00" @.str707 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str708 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str709 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str710 = private unnamed_addr constant [5 x i8] c"void\00" @.str711 = private unnamed_addr constant [5 x i8] c"void\00" @.str712 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str713 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" @.str714 = private unnamed_addr constant [4 x i8] c"int\00" @.str715 = private unnamed_addr constant [10 x i8] c"EndReason\00" @.str716 = private unnamed_addr constant [10 x i8] c"Despawned\00" @.str717 = private unnamed_addr constant [10 x i8] c"SceneExit\00" @.str718 = private unnamed_addr constant [5 x i8] c"Quit\00" @.str719 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str720 = private unnamed_addr constant [2 x i8] c".\00" @.str721 = private unnamed_addr constant [2 x i8] c".\00" @.str722 = private unnamed_addr constant [3 x i8] c"of\00" @.str723 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str724 = private unnamed_addr constant [5 x i8] c"make\00" @.str725 = private unnamed_addr constant [5 x i8] c"zero\00" @.str726 = private unnamed_addr constant [4 x i8] c"add\00" @.str727 = private unnamed_addr constant [4 x i8] c"sub\00" @.str728 = private unnamed_addr constant [6 x i8] c"scale\00" @.str729 = private unnamed_addr constant [6 x i8] c"along\00" @.str730 = private unnamed_addr constant [5 x i8] c"step\00" @.str731 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str732 = private unnamed_addr constant [4 x i8] c"Map\00" @.str733 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str734 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str735 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str736 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str737 = private unnamed_addr constant [9 x i8] c"Collider\00" @.str738 = private unnamed_addr constant [7 x i8] c"center\00" @.str739 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str740 = private unnamed_addr constant [6 x i8] c"Input\00" @.str741 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str742 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str743 = private unnamed_addr constant [2 x i8] c"_\00" @.str744 = private unnamed_addr constant [3 x i8] c"[]\00" @.str745 = private unnamed_addr constant [7 x i8] c"string\00" @.str746 = private unnamed_addr constant [4 x i8] c"int\00" @.str747 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str748 = private unnamed_addr constant [5 x i8] c"bool\00" @.str749 = private unnamed_addr constant [7 x i8] c"entity\00" @.str750 = private unnamed_addr constant [4 x i8] c"int\00" @.str751 = private unnamed_addr constant [7 x i8] c"reason\00" @.str752 = private unnamed_addr constant [4 x i8] c"int\00" @.str753 = private unnamed_addr constant [6 x i8] c"@.str\00" @.str754 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" @.str755 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str756 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str757 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str758 = private unnamed_addr constant [5 x i8] c"null\00" @.str759 = private unnamed_addr constant [2 x i8] c"0\00" @.str760 = private unnamed_addr constant [2 x i8] c"-\00" @.str761 = private unnamed_addr constant [2 x i8] c"-\00" @.str762 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str763 = private unnamed_addr constant [5 x i8] c"null\00" @.str764 = private unnamed_addr constant [2 x i8] c"0\00" @.str765 = private unnamed_addr constant [2 x i8] c"-\00" @.str766 = private unnamed_addr constant [5 x i8] c"void\00" @.str767 = private unnamed_addr constant [9 x i8] c" store \00" @.str768 = private unnamed_addr constant [2 x i8] c" \00" @.str769 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str770 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str771 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str772 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00" @.str773 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str774 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" @.str775 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" @.str776 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" @.str777 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" @.str778 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" @.str779 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" @.str780 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" @.str781 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" @.str782 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" @.str783 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" @.str784 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" @.str785 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" @.str786 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" @.str787 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" @.str788 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" @.str789 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" @.str790 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" @.str791 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" @.str792 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" @.str793 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" @.str794 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" @.str795 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" @.str796 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" @.str797 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" @.str798 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" @.str799 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" @.str800 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" @.str801 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" @.str802 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" @.str803 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" @.str804 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" @.str805 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" @.str806 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" @.str807 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" @.str808 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" @.str809 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" @.str810 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" @.str811 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" @.str812 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" @.str813 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" @.str814 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" @.str815 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" @.str816 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" @.str817 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" @.str818 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" @.str819 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" @.str820 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" @.str821 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" @.str822 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" @.str823 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" @.str824 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" @.str825 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" @.str826 = 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" @.str827 = 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" @.str828 = 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" @.str829 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" @.str830 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" @.str831 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" @.str832 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" @.str833 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str834 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str835 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" @.str836 = private unnamed_addr constant [10 x i8] c"property \00" @.str837 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" @.str838 = private unnamed_addr constant [10 x i8] c"property \00" @.str839 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str840 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str841 = private unnamed_addr constant [4 x i8] c"i32\00" @.str842 = private unnamed_addr constant [3 x i8] c", \00" @.str843 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str844 = private unnamed_addr constant [10 x i8] c"variable \00" @.str845 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" @.str846 = private unnamed_addr constant [10 x i8] c"variable \00" @.str847 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str848 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str849 = private unnamed_addr constant [20 x i8] c" = internal global \00" @.str850 = private unnamed_addr constant [2 x i8] c" \00" @.str851 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str852 = private unnamed_addr constant [9 x i8] c"declare \00" @.str853 = private unnamed_addr constant [3 x i8] c" @\00" @.str854 = private unnamed_addr constant [2 x i8] c"(\00" @.str855 = private unnamed_addr constant [3 x i8] c", \00" @.str856 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str857 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00" @.str858 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" @.str859 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str860 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" @.str861 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" @.str862 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" @.str863 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" @.str864 = 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" @.str865 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str866 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" @.str867 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00" @.str868 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" @.str869 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" @.str870 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" @.str871 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" @.str872 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" @.str873 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" @.str874 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" @.str875 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" @.str876 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" @.str877 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" @.str878 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" @.str879 = 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" @.str880 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" @.str881 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" @.str882 = 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" @.str883 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" @.str884 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" @.str885 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" @.str886 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" @.str887 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" @.str888 = 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" @.str889 = 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" @.str890 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" @.str891 = 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" @.str892 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00" @.str893 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str894 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" @.str895 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" @.str896 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str897 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str898 = 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" @.str899 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str900 = 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" @.str901 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str902 = 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" @.str903 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str904 = 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" @.str905 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str906 = 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" @.str907 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str908 = 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" @.str909 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00" @.str910 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str911 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" @.str912 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" @.str913 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str914 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str915 = 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" @.str916 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str917 = 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" @.str918 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str919 = 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" @.str920 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str921 = 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" @.str922 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str923 = 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" @.str924 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str925 = 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" @.str926 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" @.str927 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" @.str928 = 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" @.str929 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str930 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" @.str931 = 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" @.str932 = 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" @.str933 = 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" @.str934 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" @.str935 = private unnamed_addr constant [15 x i8] c"no such field \00" @.str936 = private unnamed_addr constant [3 x i8] c" \00" @.str937 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str938 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str939 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str940 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str941 = private unnamed_addr constant [6 x i8] c"words\00" @.str942 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str943 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str944 = private unnamed_addr constant [4 x i8] c"int\00" @.str945 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str946 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str947 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str948 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str949 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str950 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" @.str951 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str952 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str953 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str954 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str955 = private unnamed_addr constant [5 x i8] c"byte\00" @.str956 = private unnamed_addr constant [3 x i8] c" \00" @.str957 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str958 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str959 = private unnamed_addr constant [3 x i8] c" \00" @.str960 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" @.str961 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str962 = private unnamed_addr constant [3 x i8] c" \00" @.str963 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str964 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str965 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str966 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str967 = private unnamed_addr constant [7 x i8] c"resize\00" @.str968 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str969 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str970 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str971 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str972 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str973 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str974 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str975 = private unnamed_addr constant [4 x i8] c"arg\00" @.str976 = private unnamed_addr constant [5 x i8] c"exit\00" @.str977 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str978 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str979 = private unnamed_addr constant [4 x i8] c"run\00" @.str980 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str981 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str982 = private unnamed_addr constant [3 x i8] c" \00" @.str983 = private unnamed_addr constant [4 x i8] c" = \00" @.str984 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str985 = private unnamed_addr constant [7 x i8] c"resize\00" @.str986 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str987 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str988 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str989 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str990 = private unnamed_addr constant [2 x i8] c")\00" @.str991 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str992 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str993 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00" @.str994 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str995 = private unnamed_addr constant [2 x i8] c")\00" @.str996 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str997 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str998 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str999 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1000 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1001 = private unnamed_addr constant [7 x i8] c"@fread\00" @.str1002 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1003 = private unnamed_addr constant [8 x i8] c"@fwrite\00" @.str1004 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str1005 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str1006 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str1007 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1008 = private unnamed_addr constant [2 x i8] c")\00" @.str1009 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1010 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1011 = private unnamed_addr constant [4 x i8] c"int\00" @.str1012 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1013 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1014 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1015 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" @.str1016 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1017 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1018 = private unnamed_addr constant [2 x i8] c")\00" @.str1019 = private unnamed_addr constant [4 x i8] c"int\00" @.str1020 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1021 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" @.str1022 = private unnamed_addr constant [2 x i8] c")\00" @.str1023 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1024 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1025 = private unnamed_addr constant [4 x i8] c"int\00" @.str1026 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1027 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" @.str1028 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1029 = private unnamed_addr constant [2 x i8] c"0\00" @.str1030 = private unnamed_addr constant [5 x i8] c"void\00" @.str1031 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1032 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" @.str1033 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1034 = private unnamed_addr constant [2 x i8] c"0\00" @.str1035 = private unnamed_addr constant [5 x i8] c"void\00" @.str1036 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1037 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str1038 = private unnamed_addr constant [4 x i8] c"int\00" @.str1039 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1040 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str1041 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str1042 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1043 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str1044 = private unnamed_addr constant [7 x i8] c"string\00" @.str1045 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1046 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str1047 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1048 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str1049 = private unnamed_addr constant [2 x i8] c"0\00" @.str1050 = private unnamed_addr constant [5 x i8] c"void\00" @.str1051 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1052 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str1053 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1054 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1055 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" @.str1056 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1057 = private unnamed_addr constant [4 x i8] c"run\00" @.str1058 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" @.str1059 = private unnamed_addr constant [2 x i8] c")\00" @.str1060 = private unnamed_addr constant [4 x i8] c"int\00" @.str1061 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1062 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str1063 = private unnamed_addr constant [2 x i8] c")\00" @.str1064 = private unnamed_addr constant [7 x i8] c"string\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 [5 x i8] c"free\00" @.str1068 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1069 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1070 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1071 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1072 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1073 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1074 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1075 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1076 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1077 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1078 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1079 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1080 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1081 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1082 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1083 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1084 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1085 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1086 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1087 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1088 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1089 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1090 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1091 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1092 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1093 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1094 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1095 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1096 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1097 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1098 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1099 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1100 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1101 = private unnamed_addr constant [5 x i8] c"free\00" @.str1102 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str1103 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1104 = private unnamed_addr constant [2 x i8] c"0\00" @.str1105 = private unnamed_addr constant [5 x i8] c"void\00" @.str1106 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1107 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1108 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1109 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str1110 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1111 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1112 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1113 = private unnamed_addr constant [2 x i8] c"0\00" @.str1114 = private unnamed_addr constant [5 x i8] c"void\00" @.str1115 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1116 = private unnamed_addr constant [3 x i8] c" \00" @.str1117 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str1118 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1119 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1120 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1121 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1122 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" @.str1123 = private unnamed_addr constant [4 x i8] c"int\00" @.str1124 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1125 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1126 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1127 = private unnamed_addr constant [4 x i8] c"int\00" @.str1128 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1129 = private unnamed_addr constant [2 x i8] c"1\00" @.str1130 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1131 = private unnamed_addr constant [2 x i8] c"0\00" @.str1132 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1133 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1134 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" @.str1135 = private unnamed_addr constant [7 x i8] c"string\00" @.str1136 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1137 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" @.str1138 = private unnamed_addr constant [4 x i8] c"int\00" @.str1139 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1140 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" @.str1141 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1142 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1143 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" @.str1144 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1145 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1146 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1147 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1148 = private unnamed_addr constant [2 x i8] c"0\00" @.str1149 = private unnamed_addr constant [5 x i8] c"void\00" @.str1150 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1151 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" @.str1152 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1153 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1154 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1155 = private unnamed_addr constant [2 x i8] c"0\00" @.str1156 = private unnamed_addr constant [5 x i8] c"void\00" @.str1157 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1158 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" @.str1159 = private unnamed_addr constant [2 x i8] c"0\00" @.str1160 = private unnamed_addr constant [5 x i8] c"void\00" @.str1161 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1162 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" @.str1163 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1164 = private unnamed_addr constant [2 x i8] c"0\00" @.str1165 = private unnamed_addr constant [5 x i8] c"void\00" @.str1166 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1167 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" @.str1168 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1169 = private unnamed_addr constant [2 x i8] c"0\00" @.str1170 = private unnamed_addr constant [5 x i8] c"void\00" @.str1171 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1172 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" @.str1173 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1174 = private unnamed_addr constant [2 x i8] c"0\00" @.str1175 = private unnamed_addr constant [5 x i8] c"void\00" @.str1176 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1177 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" @.str1178 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1179 = private unnamed_addr constant [2 x i8] c"0\00" @.str1180 = private unnamed_addr constant [5 x i8] c"void\00" @.str1181 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1182 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" @.str1183 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1184 = private unnamed_addr constant [2 x i8] c"0\00" @.str1185 = private unnamed_addr constant [5 x i8] c"void\00" @.str1186 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1187 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" @.str1188 = private unnamed_addr constant [2 x i8] c")\00" @.str1189 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1190 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1191 = private unnamed_addr constant [27 x i8] c" call void @snd_play(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 [7 x i8] c", i32 \00" @.str1195 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1196 = private unnamed_addr constant [2 x i8] c"0\00" @.str1197 = private unnamed_addr constant [5 x i8] c"void\00" @.str1198 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1199 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" @.str1200 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1201 = private unnamed_addr constant [2 x i8] c"0\00" @.str1202 = private unnamed_addr constant [5 x i8] c"void\00" @.str1203 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1204 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" @.str1205 = private unnamed_addr constant [2 x i8] c")\00" @.str1206 = private unnamed_addr constant [4 x i8] c"int\00" @.str1207 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1208 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" @.str1209 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1210 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1211 = private unnamed_addr constant [2 x i8] c"0\00" @.str1212 = private unnamed_addr constant [5 x i8] c"void\00" @.str1213 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1214 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" @.str1215 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1216 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1217 = private unnamed_addr constant [2 x i8] c"0\00" @.str1218 = private unnamed_addr constant [5 x i8] c"void\00" @.str1219 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1220 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" @.str1221 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1222 = private unnamed_addr constant [2 x i8] c")\00" @.str1223 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1224 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1225 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" @.str1226 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1227 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1228 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1229 = private unnamed_addr constant [2 x i8] c"0\00" @.str1230 = private unnamed_addr constant [5 x i8] c"void\00" @.str1231 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1232 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" @.str1233 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1234 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1235 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1236 = private unnamed_addr constant [2 x i8] c"0\00" @.str1237 = private unnamed_addr constant [5 x i8] c"void\00" @.str1238 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1239 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" @.str1240 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1241 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1242 = private unnamed_addr constant [2 x i8] c"0\00" @.str1243 = private unnamed_addr constant [5 x i8] c"void\00" @.str1244 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1245 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" @.str1246 = private unnamed_addr constant [2 x i8] c")\00" @.str1247 = private unnamed_addr constant [4 x i8] c"int\00" @.str1248 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1249 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" @.str1250 = private unnamed_addr constant [2 x i8] c")\00" @.str1251 = private unnamed_addr constant [4 x i8] c"int\00" @.str1252 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1253 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" @.str1254 = private unnamed_addr constant [2 x i8] c")\00" @.str1255 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1256 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1257 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" @.str1258 = private unnamed_addr constant [2 x i8] c")\00" @.str1259 = private unnamed_addr constant [4 x i8] c"int\00" @.str1260 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1261 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" @.str1262 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1263 = private unnamed_addr constant [2 x i8] c")\00" @.str1264 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1265 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1266 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" @.str1267 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1268 = private unnamed_addr constant [2 x i8] c"0\00" @.str1269 = private unnamed_addr constant [5 x i8] c"void\00" @.str1270 = private unnamed_addr constant [2 x i8] c"0\00" @.str1271 = private unnamed_addr constant [5 x i8] c"void\00" @.str1272 = private unnamed_addr constant [4 x i8] c"min\00" @.str1273 = private unnamed_addr constant [4 x i8] c"max\00" @.str1274 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1275 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1276 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1277 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1278 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1279 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1280 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1281 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1282 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1283 = private unnamed_addr constant [4 x i8] c"min\00" @.str1284 = private unnamed_addr constant [4 x i8] c"max\00" @.str1285 = private unnamed_addr constant [4 x i8] c"slt\00" @.str1286 = private unnamed_addr constant [4 x i8] c"max\00" @.str1287 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str1288 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str1289 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str1290 = private unnamed_addr constant [3 x i8] c", \00" @.str1291 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1292 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1293 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1294 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1295 = private unnamed_addr constant [3 x i8] c", \00" @.str1296 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1297 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1298 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1299 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1300 = private unnamed_addr constant [3 x i8] c", \00" @.str1301 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1302 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1303 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1304 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1305 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1306 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1307 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1308 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str1309 = private unnamed_addr constant [3 x i8] c", \00" @.str1310 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str1311 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1312 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1313 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1314 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1315 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1316 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str1317 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1318 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1319 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1320 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str1321 = private unnamed_addr constant [3 x i8] c", \00" @.str1322 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1323 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1324 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1325 = private unnamed_addr constant [3 x i8] c", \00" @.str1326 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1327 = private unnamed_addr constant [3 x i8] c", \00" @.str1328 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1329 = private unnamed_addr constant [3 x i8] c", \00" @.str1330 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1331 = private unnamed_addr constant [3 x i8] c", \00" @.str1332 = private unnamed_addr constant [4 x i8] c"min\00" @.str1333 = private unnamed_addr constant [4 x i8] c"max\00" @.str1334 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1335 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1336 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1337 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1338 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1339 = private unnamed_addr constant [6 x i8] c"round\00" @.str1340 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1341 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1342 = private unnamed_addr constant [6 x i8] c"remap\00" @.str1343 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1344 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1345 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1346 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1347 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1348 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1349 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1350 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1351 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1352 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1353 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1354 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1355 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str1356 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str1357 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1358 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str1359 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1360 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1361 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1362 = private unnamed_addr constant [4 x i8] c"log\00" @.str1363 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1364 = private unnamed_addr constant [4 x i8] c"min\00" @.str1365 = private unnamed_addr constant [4 x i8] c"max\00" @.str1366 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1367 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1368 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1369 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1370 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1371 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1372 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1373 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1374 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1375 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1376 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1377 = private unnamed_addr constant [4 x i8] c"int\00" @.str1378 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1379 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1380 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1381 = private unnamed_addr constant [4 x i8] c"int\00" @.str1382 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1383 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1384 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str1385 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1386 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1387 = private unnamed_addr constant [4 x i8] c"int\00" @.str1388 = private unnamed_addr constant [6 x i8] c"round\00" @.str1389 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1390 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str1391 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1392 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1393 = private unnamed_addr constant [4 x i8] c"int\00" @.str1394 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1395 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1396 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1397 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1398 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1399 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1400 = private unnamed_addr constant [2 x i8] c")\00" @.str1401 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1402 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1403 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1404 = private unnamed_addr constant [2 x i8] c")\00" @.str1405 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1406 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1407 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1408 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1409 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1410 = private unnamed_addr constant [2 x i8] c")\00" @.str1411 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1412 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1413 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1414 = private unnamed_addr constant [2 x i8] c")\00" @.str1415 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1416 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1417 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1418 = private unnamed_addr constant [2 x i8] c")\00" @.str1419 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1420 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1421 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1422 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1423 = private unnamed_addr constant [2 x i8] c")\00" @.str1424 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1425 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1426 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1427 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1428 = private unnamed_addr constant [2 x i8] c")\00" @.str1429 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1430 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1431 = private unnamed_addr constant [2 x i8] c")\00" @.str1432 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1433 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1434 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1435 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1436 = private unnamed_addr constant [2 x i8] c")\00" @.str1437 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1438 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1439 = private unnamed_addr constant [2 x i8] c")\00" @.str1440 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1441 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1442 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1443 = private unnamed_addr constant [3 x i8] c", \00" @.str1444 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1445 = private unnamed_addr constant [2 x i8] c")\00" @.str1446 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1447 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1448 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1449 = private unnamed_addr constant [3 x i8] c", \00" @.str1450 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1451 = private unnamed_addr constant [3 x i8] c", \00" @.str1452 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1453 = private unnamed_addr constant [3 x i8] c", \00" @.str1454 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1455 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1456 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1457 = private unnamed_addr constant [3 x i8] c", \00" @.str1458 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1459 = private unnamed_addr constant [3 x i8] c", \00" @.str1460 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1461 = private unnamed_addr constant [3 x i8] c", \00" @.str1462 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1463 = private unnamed_addr constant [2 x i8] c")\00" @.str1464 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1465 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1466 = private unnamed_addr constant [6 x i8] c"94548\00" @.str1467 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1468 = private unnamed_addr constant [2 x i8] c")\00" @.str1469 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1470 = private unnamed_addr constant [4 x i8] c"log\00" @.str1471 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1472 = private unnamed_addr constant [2 x i8] c")\00" @.str1473 = private unnamed_addr constant [6 x i8] c"45426\00" @.str1474 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1475 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1476 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1477 = private unnamed_addr constant [2 x i8] c")\00" @.str1478 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1479 = private unnamed_addr constant [2 x i8] c")\00" @.str1480 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1481 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1482 = private unnamed_addr constant [5 x i8] c"1144\00" @.str1483 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1484 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1485 = private unnamed_addr constant [8 x i8] c"3754936\00" @.str1486 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1487 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1488 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1489 = private unnamed_addr constant [3 x i8] c", \00" @.str1490 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1491 = private unnamed_addr constant [3 x i8] c", \00" @.str1492 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1493 = private unnamed_addr constant [3 x i8] c", \00" @.str1494 = private unnamed_addr constant [4 x i8] c"int\00" @.str1495 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1496 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1497 = private unnamed_addr constant [3 x i8] c", \00" @.str1498 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1499 = private unnamed_addr constant [3 x i8] c", \00" @.str1500 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1501 = private unnamed_addr constant [3 x i8] c", \00" @.str1502 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1503 = private unnamed_addr constant [3 x i8] c", \00" @.str1504 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1505 = private unnamed_addr constant [3 x i8] c", \00" @.str1506 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1507 = private unnamed_addr constant [3 x i8] c", \00" @.str1508 = private unnamed_addr constant [4 x i8] c"int\00" @.str1509 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str1510 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1511 = private unnamed_addr constant [4 x i8] c", 2\00" @.str1512 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1513 = private unnamed_addr constant [3 x i8] c", \00" @.str1514 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1515 = private unnamed_addr constant [3 x i8] c", \00" @.str1516 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1517 = private unnamed_addr constant [3 x i8] c", \00" @.str1518 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1519 = private unnamed_addr constant [3 x i8] c", \00" @.str1520 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1521 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1522 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1523 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1524 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1525 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1526 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1527 = private unnamed_addr constant [3 x i8] c", \00" @.str1528 = private unnamed_addr constant [4 x i8] c"int\00" @.str1529 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str1530 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1531 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str1532 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1533 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1534 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1535 = private unnamed_addr constant [3 x i8] c", \00" @.str1536 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1537 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1538 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1539 = private unnamed_addr constant [3 x i8] c", \00" @.str1540 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1541 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1542 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1543 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1544 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1545 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1546 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1547 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1548 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1549 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1550 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1551 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1552 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1553 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1554 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1555 = private unnamed_addr constant [3 x i8] c", \00" @.str1556 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1557 = private unnamed_addr constant [3 x i8] c", \00" @.str1558 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str1559 = private unnamed_addr constant [3 x i8] c", \00" @.str1560 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1561 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1562 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1563 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1564 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str1565 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1566 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1567 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1568 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str1569 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1570 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str1571 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1572 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str1573 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1574 = private unnamed_addr constant [4 x i8] c", 2\00" @.str1575 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" @.str1576 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1577 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1578 = 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" @.str1579 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00" @.str1580 = 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" @.str1581 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" @.str1582 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" @.str1583 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" @.str1584 = 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" @.str1585 = 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" @.str1586 = 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" @.str1587 = 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" @.str1588 = 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" @.str1589 = 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" @.str1590 = 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" @.str1591 = 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" @.str1592 = 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" @.str1593 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00" @.str1594 = 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" @.str1595 = 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" @.str1596 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" @.str1597 = 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" @.str1598 = 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" @.str1599 = 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" @.str1600 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00" @.str1601 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str1602 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" @.str1603 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" @.str1604 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" @.str1605 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" @.str1606 = private unnamed_addr constant [4 x i8] c"z:\0A\00" @.str1607 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str1608 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str1609 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str1610 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" @.str1611 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" @.str1612 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" @.str1613 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" @.str1614 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" @.str1615 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" @.str1616 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" @.str1617 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" @.str1618 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str1619 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" @.str1620 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" @.str1621 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" @.str1622 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str1623 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" @.str1624 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" @.str1625 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" @.str1626 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" @.str1627 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" @.str1628 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" @.str1629 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" @.str1630 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" @.str1631 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" @.str1632 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" @.str1633 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" @.str1634 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" @.str1635 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" @.str1636 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" @.str1637 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" @.str1638 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" @.str1639 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" @.str1640 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" @.str1641 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" @.str1642 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" @.str1643 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" @.str1644 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" @.str1645 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" @.str1646 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" @.str1647 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" @.str1648 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" @.str1649 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" @.str1650 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" @.str1651 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" @.str1652 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" @.str1653 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" @.str1654 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" @.str1655 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str1656 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00" @.str1657 = 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" @.str1658 = 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" @.str1659 = 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" @.str1660 = 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" @.str1661 = 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" @.str1662 = 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" @.str1663 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" @.str1664 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" @.str1665 = 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" @.str1666 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" @.str1667 = 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" @.str1668 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" @.str1669 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" @.str1670 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" @.str1671 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00" @.str1672 = 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" @.str1673 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" @.str1674 = 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" @.str1675 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" @.str1676 = 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" @.str1677 = 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" @.str1678 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" @.str1679 = 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" @.str1680 = 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" @.str1681 = 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" @.str1682 = 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" @.str1683 = 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" @.str1684 = 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" @.str1685 = 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" @.str1686 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" @.str1687 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1688 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1689 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str1690 = private unnamed_addr constant [5 x i8] c", 32\00" @.str1691 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1692 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1693 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str1694 = private unnamed_addr constant [3 x i8] c", \00" @.str1695 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str1696 = private unnamed_addr constant [5 x i8] c", 32\00" @.str1697 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1698 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1699 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1700 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1701 = private unnamed_addr constant [5 x i8] c"make\00" @.str1702 = private unnamed_addr constant [5 x i8] c"zero\00" @.str1703 = private unnamed_addr constant [2 x i8] c"x\00" @.str1704 = private unnamed_addr constant [2 x i8] c"y\00" @.str1705 = private unnamed_addr constant [4 x i8] c"add\00" @.str1706 = private unnamed_addr constant [4 x i8] c"sub\00" @.str1707 = private unnamed_addr constant [6 x i8] c"scale\00" @.str1708 = private unnamed_addr constant [4 x i8] c"dot\00" @.str1709 = private unnamed_addr constant [7 x i8] c"length\00" @.str1710 = private unnamed_addr constant [9 x i8] c"distance\00" @.str1711 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str1712 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1713 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str1714 = private unnamed_addr constant [6 x i8] c"angle\00" @.str1715 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str1716 = private unnamed_addr constant [5 x i8] c"zero\00" @.str1717 = private unnamed_addr constant [2 x i8] c"0\00" @.str1718 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1719 = private unnamed_addr constant [5 x i8] c"make\00" @.str1720 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1721 = private unnamed_addr constant [2 x i8] c"x\00" @.str1722 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1723 = private unnamed_addr constant [2 x i8] c"y\00" @.str1724 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1725 = private unnamed_addr constant [4 x i8] c"add\00" @.str1726 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1727 = private unnamed_addr constant [3 x i8] c", \00" @.str1728 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1729 = private unnamed_addr constant [3 x i8] c", \00" @.str1730 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1731 = private unnamed_addr constant [4 x i8] c"sub\00" @.str1732 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1733 = private unnamed_addr constant [3 x i8] c", \00" @.str1734 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1735 = private unnamed_addr constant [3 x i8] c", \00" @.str1736 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1737 = private unnamed_addr constant [6 x i8] c"scale\00" @.str1738 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1739 = private unnamed_addr constant [4 x i8] c"dot\00" @.str1740 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1741 = private unnamed_addr constant [3 x i8] c", \00" @.str1742 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1743 = private unnamed_addr constant [7 x i8] c"length\00" @.str1744 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1745 = private unnamed_addr constant [3 x i8] c", \00" @.str1746 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1747 = private unnamed_addr constant [2 x i8] c")\00" @.str1748 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1749 = private unnamed_addr constant [9 x i8] c"distance\00" @.str1750 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1751 = private unnamed_addr constant [3 x i8] c", \00" @.str1752 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1753 = private unnamed_addr constant [3 x i8] c", \00" @.str1754 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1755 = private unnamed_addr constant [3 x i8] c", \00" @.str1756 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1757 = private unnamed_addr constant [2 x i8] c")\00" @.str1758 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1759 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str1760 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1761 = private unnamed_addr constant [3 x i8] c", \00" @.str1762 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1763 = private unnamed_addr constant [2 x i8] c")\00" @.str1764 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str1765 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1766 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1767 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str1768 = private unnamed_addr constant [6 x i8] c"65536\00" @.str1769 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1770 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str1771 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1772 = private unnamed_addr constant [2 x i8] c")\00" @.str1773 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1774 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1775 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1776 = private unnamed_addr constant [2 x i8] c")\00" @.str1777 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1778 = private unnamed_addr constant [3 x i8] c", \00" @.str1779 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1780 = private unnamed_addr constant [3 x i8] c", \00" @.str1781 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1782 = private unnamed_addr constant [6 x i8] c"angle\00" @.str1783 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1784 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1785 = private unnamed_addr constant [2 x i8] c")\00" @.str1786 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1787 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str1788 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1789 = private unnamed_addr constant [2 x i8] c")\00" @.str1790 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1791 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1792 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1793 = private unnamed_addr constant [2 x i8] c")\00" @.str1794 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1795 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1796 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1797 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1798 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1799 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1800 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1801 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1802 = private unnamed_addr constant [5 x i8] c"make\00" @.str1803 = private unnamed_addr constant [5 x i8] c"zero\00" @.str1804 = private unnamed_addr constant [2 x i8] c"x\00" @.str1805 = private unnamed_addr constant [2 x i8] c"y\00" @.str1806 = private unnamed_addr constant [4 x i8] c"add\00" @.str1807 = private unnamed_addr constant [4 x i8] c"sub\00" @.str1808 = private unnamed_addr constant [6 x i8] c"scale\00" @.str1809 = private unnamed_addr constant [4 x i8] c"dot\00" @.str1810 = private unnamed_addr constant [6 x i8] c"equal\00" @.str1811 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str1812 = private unnamed_addr constant [10 x i8] c"to_vector\00" @.str1813 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str1814 = private unnamed_addr constant [7 x i8] c"within\00" @.str1815 = private unnamed_addr constant [8 x i8] c"heading\00" @.str1816 = private unnamed_addr constant [6 x i8] c"along\00" @.str1817 = private unnamed_addr constant [5 x i8] c"step\00" @.str1818 = private unnamed_addr constant [5 x i8] c"zero\00" @.str1819 = private unnamed_addr constant [2 x i8] c"0\00" @.str1820 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1821 = private unnamed_addr constant [5 x i8] c"make\00" @.str1822 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1823 = private unnamed_addr constant [2 x i8] c"x\00" @.str1824 = private unnamed_addr constant [4 x i8] c"int\00" @.str1825 = private unnamed_addr constant [2 x i8] c"y\00" @.str1826 = private unnamed_addr constant [4 x i8] c"int\00" @.str1827 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str1828 = private unnamed_addr constant [7 x i8] c"within\00" @.str1829 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1830 = private unnamed_addr constant [3 x i8] c", \00" @.str1831 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1832 = private unnamed_addr constant [3 x i8] c", \00" @.str1833 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1834 = private unnamed_addr constant [3 x i8] c", \00" @.str1835 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1836 = private unnamed_addr constant [3 x i8] c", \00" @.str1837 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1838 = private unnamed_addr constant [3 x i8] c", \00" @.str1839 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str1840 = private unnamed_addr constant [4 x i8] c"int\00" @.str1841 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1842 = private unnamed_addr constant [3 x i8] c", \00" @.str1843 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str1844 = private unnamed_addr constant [3 x i8] c", \00" @.str1845 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1846 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1847 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1848 = private unnamed_addr constant [8 x i8] c"heading\00" @.str1849 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str1850 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" @.str1851 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00" @.str1852 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1853 = private unnamed_addr constant [2 x i8] c")\00" @.str1854 = private unnamed_addr constant [4 x i8] c"int\00" @.str1855 = private unnamed_addr constant [6 x i8] c"along\00" @.str1856 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str1857 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" @.str1858 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00" @.str1859 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1860 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1861 = private unnamed_addr constant [2 x i8] c")\00" @.str1862 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1863 = private unnamed_addr constant [5 x i8] c"step\00" @.str1864 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str1865 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" @.str1866 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(i32 \00" @.str1867 = private unnamed_addr constant [2 x i8] c")\00" @.str1868 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1869 = private unnamed_addr constant [4 x i8] c"add\00" @.str1870 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1871 = private unnamed_addr constant [3 x i8] c", \00" @.str1872 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1873 = private unnamed_addr constant [3 x i8] c", \00" @.str1874 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1875 = private unnamed_addr constant [4 x i8] c"sub\00" @.str1876 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1877 = private unnamed_addr constant [3 x i8] c", \00" @.str1878 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1879 = private unnamed_addr constant [3 x i8] c", \00" @.str1880 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1881 = private unnamed_addr constant [6 x i8] c"scale\00" @.str1882 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1883 = private unnamed_addr constant [3 x i8] c", \00" @.str1884 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1885 = private unnamed_addr constant [3 x i8] c", \00" @.str1886 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1887 = private unnamed_addr constant [4 x i8] c"dot\00" @.str1888 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1889 = private unnamed_addr constant [3 x i8] c", \00" @.str1890 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1891 = private unnamed_addr constant [3 x i8] c", \00" @.str1892 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1893 = private unnamed_addr constant [3 x i8] c", \00" @.str1894 = private unnamed_addr constant [4 x i8] c"int\00" @.str1895 = private unnamed_addr constant [6 x i8] c"equal\00" @.str1896 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" @.str1897 = private unnamed_addr constant [3 x i8] c", \00" @.str1898 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1899 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1900 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1901 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str1902 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1903 = private unnamed_addr constant [3 x i8] c", \00" @.str1904 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1905 = private unnamed_addr constant [3 x i8] c", \00" @.str1906 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1907 = private unnamed_addr constant [3 x i8] c", \00" @.str1908 = private unnamed_addr constant [4 x i8] c"int\00" @.str1909 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str1910 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1911 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str1912 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1913 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1914 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1915 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str1916 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str1917 = private unnamed_addr constant [5 x i8] c", 96\00" @.str1918 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1919 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str1920 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str1921 = private unnamed_addr constant [5 x i8] c", 64\00" @.str1922 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1923 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str1924 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str1925 = private unnamed_addr constant [5 x i8] c", 32\00" @.str1926 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1927 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str1928 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str1929 = private unnamed_addr constant [3 x i8] c", \00" @.str1930 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str1931 = private unnamed_addr constant [3 x i8] c", \00" @.str1932 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str1933 = private unnamed_addr constant [3 x i8] c", \00" @.str1934 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str1935 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1936 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" @.str1937 = private unnamed_addr constant [3 x i8] c", \00" @.str1938 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str1939 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1940 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str1941 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str1942 = private unnamed_addr constant [3 x i8] c", \00" @.str1943 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1944 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1945 = private unnamed_addr constant [5 x i8] c"make\00" @.str1946 = private unnamed_addr constant [2 x i8] c"x\00" @.str1947 = private unnamed_addr constant [2 x i8] c"y\00" @.str1948 = private unnamed_addr constant [2 x i8] c"w\00" @.str1949 = private unnamed_addr constant [2 x i8] c"h\00" @.str1950 = private unnamed_addr constant [6 x i8] c"right\00" @.str1951 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str1952 = private unnamed_addr constant [7 x i8] c"center\00" @.str1953 = private unnamed_addr constant [9 x i8] c"contains\00" @.str1954 = private unnamed_addr constant [11 x i8] c"intersects\00" @.str1955 = private unnamed_addr constant [5 x i8] c"make\00" @.str1956 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str1957 = private unnamed_addr constant [2 x i8] c"x\00" @.str1958 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1959 = private unnamed_addr constant [2 x i8] c"y\00" @.str1960 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1961 = private unnamed_addr constant [2 x i8] c"w\00" @.str1962 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1963 = private unnamed_addr constant [2 x i8] c"h\00" @.str1964 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1965 = private unnamed_addr constant [6 x i8] c"right\00" @.str1966 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1967 = private unnamed_addr constant [3 x i8] c", \00" @.str1968 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1969 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str1970 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1971 = private unnamed_addr constant [3 x i8] c", \00" @.str1972 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1973 = private unnamed_addr constant [7 x i8] c"center\00" @.str1974 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1975 = private unnamed_addr constant [4 x i8] c", 1\00" @.str1976 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1977 = private unnamed_addr constant [4 x i8] c", 1\00" @.str1978 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1979 = private unnamed_addr constant [3 x i8] c", \00" @.str1980 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1981 = private unnamed_addr constant [3 x i8] c", \00" @.str1982 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1983 = private unnamed_addr constant [9 x i8] c"contains\00" @.str1984 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1985 = private unnamed_addr constant [3 x i8] c", \00" @.str1986 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1987 = private unnamed_addr constant [3 x i8] c", \00" @.str1988 = private unnamed_addr constant [4 x i8] c"sge\00" @.str1989 = private unnamed_addr constant [4 x i8] c"slt\00" @.str1990 = private unnamed_addr constant [4 x i8] c"sge\00" @.str1991 = private unnamed_addr constant [4 x i8] c"slt\00" @.str1992 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str1993 = private unnamed_addr constant [3 x i8] c", \00" @.str1994 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str1995 = private unnamed_addr constant [3 x i8] c", \00" @.str1996 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str1997 = private unnamed_addr constant [3 x i8] c", \00" @.str1998 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1999 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2000 = private unnamed_addr constant [3 x i8] c", \00" @.str2001 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2002 = private unnamed_addr constant [3 x i8] c", \00" @.str2003 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2004 = private unnamed_addr constant [3 x i8] c", \00" @.str2005 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2006 = private unnamed_addr constant [3 x i8] c", \00" @.str2007 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2008 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2009 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2010 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2011 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2012 = private unnamed_addr constant [3 x i8] c", \00" @.str2013 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2014 = private unnamed_addr constant [3 x i8] c", \00" @.str2015 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2016 = private unnamed_addr constant [3 x i8] c", \00" @.str2017 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2018 = private unnamed_addr constant [7 x i8] c"length\00" @.str2019 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2020 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2021 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2022 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2023 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2024 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2025 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2026 = private unnamed_addr constant [10 x i8] c"ends_with\00" @.str2027 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2028 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2029 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2030 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2031 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2032 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2033 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2034 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2035 = private unnamed_addr constant [6 x i8] c"split\00" @.str2036 = private unnamed_addr constant [5 x i8] c"join\00" @.str2037 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2038 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2039 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str2040 = private unnamed_addr constant [2 x i8] c")\00" @.str2041 = private unnamed_addr constant [7 x i8] c"string\00" @.str2042 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2043 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str2044 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2045 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2046 = private unnamed_addr constant [2 x i8] c")\00" @.str2047 = private unnamed_addr constant [7 x i8] c"string\00" @.str2048 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2049 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str2050 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2051 = private unnamed_addr constant [2 x i8] c")\00" @.str2052 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2053 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2054 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str2055 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2056 = private unnamed_addr constant [2 x i8] c")\00" @.str2057 = private unnamed_addr constant [7 x i8] c"string\00" @.str2058 = private unnamed_addr constant [7 x i8] c"length\00" @.str2059 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2060 = private unnamed_addr constant [2 x i8] c")\00" @.str2061 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2062 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2063 = private unnamed_addr constant [4 x i8] c"int\00" @.str2064 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2065 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2066 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2067 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str2068 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str2069 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2070 = private unnamed_addr constant [4 x i8] c"int\00" @.str2071 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2072 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" @.str2073 = private unnamed_addr constant [2 x i8] c")\00" @.str2074 = private unnamed_addr constant [4 x i8] c"int\00" @.str2075 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2076 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_upper(ptr \00" @.str2077 = private unnamed_addr constant [2 x i8] c")\00" @.str2078 = private unnamed_addr constant [7 x i8] c"string\00" @.str2079 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2080 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_lower(ptr \00" @.str2081 = private unnamed_addr constant [2 x i8] c")\00" @.str2082 = private unnamed_addr constant [7 x i8] c"string\00" @.str2083 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2084 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_trim(ptr \00" @.str2085 = private unnamed_addr constant [2 x i8] c")\00" @.str2086 = private unnamed_addr constant [7 x i8] c"string\00" @.str2087 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2088 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00" @.str2089 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2090 = private unnamed_addr constant [2 x i8] c")\00" @.str2091 = private unnamed_addr constant [7 x i8] c"string\00" @.str2092 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2093 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2094 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2095 = private unnamed_addr constant [8 x i8] c", i1 1)\00" @.str2096 = private unnamed_addr constant [7 x i8] c"string\00" @.str2097 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2098 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2099 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2100 = private unnamed_addr constant [8 x i8] c", i1 0)\00" @.str2101 = private unnamed_addr constant [7 x i8] c"string\00" @.str2102 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2103 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00" @.str2104 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2105 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2106 = private unnamed_addr constant [2 x i8] c")\00" @.str2107 = private unnamed_addr constant [7 x i8] c"string\00" @.str2108 = private unnamed_addr constant [6 x i8] c"split\00" @.str2109 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00" @.str2110 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2111 = private unnamed_addr constant [2 x i8] c")\00" @.str2112 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str2113 = private unnamed_addr constant [5 x i8] c"join\00" @.str2114 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00" @.str2115 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2116 = private unnamed_addr constant [2 x i8] c")\00" @.str2117 = private unnamed_addr constant [7 x i8] c"string\00" @.str2118 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2119 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2120 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" @.str2121 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2122 = private unnamed_addr constant [2 x i8] c")\00" @.str2123 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2124 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str2125 = private unnamed_addr constant [7 x i8] c", null\00" @.str2126 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2127 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2128 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2129 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str2130 = private unnamed_addr constant [7 x i8] c", null\00" @.str2131 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2132 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2133 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2134 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2135 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2136 = private unnamed_addr constant [3 x i8] c", \00" @.str2137 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2138 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2139 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2140 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str2141 = private unnamed_addr constant [4 x i8] c"int\00" @.str2142 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2143 = private unnamed_addr constant [2 x i8] c")\00" @.str2144 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2145 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2146 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2147 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2148 = private unnamed_addr constant [2 x i8] c")\00" @.str2149 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2150 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2151 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2152 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2153 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2154 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2155 = private unnamed_addr constant [2 x i8] c")\00" @.str2156 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2157 = private unnamed_addr constant [3 x i8] c", \00" @.str2158 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2159 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2160 = private unnamed_addr constant [2 x i8] c"0\00" @.str2161 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" @.str2162 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2163 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" @.str2164 = private unnamed_addr constant [7 x i8] c"ew_end\00" @.str2165 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str2166 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2167 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2168 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2169 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2170 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2171 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2172 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2173 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2174 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2175 = private unnamed_addr constant [2 x i8] c")\00" @.str2176 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2177 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2178 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2179 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2180 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2181 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str2182 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2183 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2184 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str2185 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2186 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00" @.str2187 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2188 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2189 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2190 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2191 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2192 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2193 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2194 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2195 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2196 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2197 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2198 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2199 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2200 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2201 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" @.str2202 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" @.str2203 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2204 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" @.str2205 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2206 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2207 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2208 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2209 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2210 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2211 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2212 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2213 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2214 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2215 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2216 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00" @.str2217 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2218 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2219 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2220 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2221 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2222 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2223 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2224 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2225 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2226 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2227 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2228 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2229 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2230 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2231 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" @.str2232 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" @.str2233 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2234 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" @.str2235 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2236 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2237 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2238 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2239 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2240 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2241 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2242 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2243 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2244 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2245 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2246 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00" @.str2247 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2248 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2249 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" @.str2250 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" @.str2251 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" @.str2252 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" @.str2253 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2254 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" @.str2255 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" @.str2256 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" @.str2257 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" @.str2258 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" @.str2259 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" @.str2260 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" @.str2261 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" @.str2262 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00" @.str2263 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" @.str2264 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" @.str2265 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" @.str2266 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" @.str2267 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2268 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" @.str2269 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" @.str2270 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" @.str2271 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" @.str2272 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" @.str2273 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" @.str2274 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" @.str2275 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" @.str2276 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" @.str2277 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00" @.str2278 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" @.str2279 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" @.str2280 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" @.str2281 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" @.str2282 = private unnamed_addr constant [8 x i8] c"build:\0A\00" @.str2283 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str2284 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" @.str2285 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" @.str2286 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" @.str2287 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2288 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" @.str2289 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" @.str2290 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" @.str2291 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2292 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2293 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2294 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00" @.str2295 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" @.str2296 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" @.str2297 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" @.str2298 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" @.str2299 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" @.str2300 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" @.str2301 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" @.str2302 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" @.str2303 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2304 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00" @.str2305 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2306 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" @.str2307 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" @.str2308 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" @.str2309 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2310 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" @.str2311 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" @.str2312 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2313 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2314 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2315 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2316 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2317 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2318 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2319 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2320 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2321 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" @.str2322 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" @.str2323 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" @.str2324 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2325 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2326 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2327 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2328 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" @.str2329 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2330 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2331 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2332 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" @.str2333 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2334 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2335 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" @.str2336 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" @.str2337 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" @.str2338 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str2339 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" @.str2340 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2341 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" @.str2342 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" @.str2343 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" @.str2344 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" @.str2345 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2346 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str2347 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" @.str2348 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" @.str2349 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2350 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" @.str2351 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" @.str2352 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" @.str2353 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" @.str2354 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" @.str2355 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2356 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" @.str2357 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" @.str2358 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" @.str2359 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2360 = private unnamed_addr constant [7 x i8] c"term:\0A\00" @.str2361 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" @.str2362 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2363 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2364 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2365 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" @.str2366 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2367 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2368 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2369 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2370 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2371 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2372 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" @.str2373 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" @.str2374 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2375 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" @.str2376 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" @.str2377 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" @.str2378 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2379 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2380 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2381 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2382 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str2383 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2384 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" @.str2385 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2386 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" @.str2387 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" @.str2388 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" @.str2389 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" @.str2390 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" @.str2391 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" @.str2392 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2393 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" @.str2394 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2395 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str2396 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" @.str2397 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" @.str2398 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str2399 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" @.str2400 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str2401 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str2402 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2403 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str2404 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str2405 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" @.str2406 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str2407 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" @.str2408 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str2409 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str2410 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str2411 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str2412 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" @.str2413 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str2414 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2415 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" @.str2416 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str2417 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" @.str2418 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" @.str2419 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" @.str2420 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" @.str2421 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2422 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str2423 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str2424 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2425 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2426 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2427 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" @.str2428 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str2429 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" @.str2430 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str2431 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" @.str2432 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" @.str2433 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str2434 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str2435 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str2436 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" @.str2437 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" @.str2438 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" @.str2439 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" @.str2440 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" @.str2441 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" @.str2442 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" @.str2443 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" @.str2444 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2445 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str2446 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" @.str2447 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" @.str2448 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" @.str2449 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" @.str2450 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" @.str2451 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2452 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2453 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00" @.str2454 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2455 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" @.str2456 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" @.str2457 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" @.str2458 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" @.str2459 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" @.str2460 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str2461 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" @.str2462 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" @.str2463 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2464 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2465 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2466 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" @.str2467 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2468 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" @.str2469 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" @.str2470 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" @.str2471 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" @.str2472 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" @.str2473 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" @.str2474 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" @.str2475 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" @.str2476 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" @.str2477 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2478 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2479 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2480 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" @.str2481 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" @.str2482 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" @.str2483 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" @.str2484 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" @.str2485 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" @.str2486 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" @.str2487 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" @.str2488 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2489 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2490 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2491 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" @.str2492 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" @.str2493 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str2494 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" @.str2495 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" @.str2496 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" @.str2497 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" @.str2498 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" @.str2499 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" @.str2500 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" @.str2501 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" @.str2502 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" @.str2503 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" @.str2504 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" @.str2505 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" @.str2506 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" @.str2507 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" @.str2508 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" @.str2509 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" @.str2510 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" @.str2511 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" @.str2512 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" @.str2513 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" @.str2514 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" @.str2515 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" @.str2516 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" @.str2517 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str2518 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" @.str2519 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" @.str2520 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" @.str2521 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2522 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2523 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00" @.str2524 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2525 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str2526 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str2527 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" @.str2528 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str2529 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str2530 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2531 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str2532 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str2533 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" @.str2534 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str2535 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" @.str2536 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str2537 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str2538 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str2539 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str2540 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" @.str2541 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str2542 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2543 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" @.str2544 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str2545 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00" @.str2546 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" @.str2547 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00" @.str2548 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" @.str2549 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" @.str2550 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" @.str2551 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" @.str2552 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" @.str2553 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" @.str2554 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" @.str2555 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str2556 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str2557 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2558 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2559 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str2560 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" @.str2561 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2562 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" @.str2563 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" @.str2564 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" @.str2565 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str2566 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" @.str2567 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str2568 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" @.str2569 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" @.str2570 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str2571 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str2572 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str2573 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str2574 = private unnamed_addr constant [7 x i8] c"last:\0A\00" @.str2575 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" @.str2576 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str2577 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str2578 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" @.str2579 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" @.str2580 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00" @.str2581 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" @.str2582 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" @.str2583 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" @.str2584 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2585 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" @.str2586 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" @.str2587 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" @.str2588 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" @.str2589 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2590 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2591 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str2592 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2593 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" @.str2594 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2595 = private unnamed_addr constant [3 x i8] c"of\00" @.str2596 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str2597 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str2598 = private unnamed_addr constant [4 x i8] c"mix\00" @.str2599 = private unnamed_addr constant [8 x i8] c"combine\00" @.str2600 = private unnamed_addr constant [5 x i8] c"of64\00" @.str2601 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str2602 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str2603 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str2604 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2605 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str2606 = private unnamed_addr constant [3 x i8] c", \00" @.str2607 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2608 = private unnamed_addr constant [14 x i8] c", -2048144789\00" @.str2609 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str2610 = private unnamed_addr constant [5 x i8] c", 13\00" @.str2611 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str2612 = private unnamed_addr constant [3 x i8] c", \00" @.str2613 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2614 = private unnamed_addr constant [14 x i8] c", -1028477387\00" @.str2615 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str2616 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2617 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str2618 = private unnamed_addr constant [3 x i8] c", \00" @.str2619 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2620 = private unnamed_addr constant [5 x i8] c", 33\00" @.str2621 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str2622 = private unnamed_addr constant [3 x i8] c", \00" @.str2623 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str2624 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" @.str2625 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2626 = private unnamed_addr constant [5 x i8] c", 33\00" @.str2627 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str2628 = private unnamed_addr constant [3 x i8] c", \00" @.str2629 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str2630 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" @.str2631 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2632 = private unnamed_addr constant [5 x i8] c", 33\00" @.str2633 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str2634 = private unnamed_addr constant [3 x i8] c", \00" @.str2635 = private unnamed_addr constant [3 x i8] c"of\00" @.str2636 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str2637 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00" @.str2638 = private unnamed_addr constant [2 x i8] c")\00" @.str2639 = private unnamed_addr constant [4 x i8] c"int\00" @.str2640 = private unnamed_addr constant [5 x i8] c"of64\00" @.str2641 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str2642 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00" @.str2643 = private unnamed_addr constant [2 x i8] c")\00" @.str2644 = private unnamed_addr constant [5 x i8] c"long\00" @.str2645 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str2646 = private unnamed_addr constant [5 x i8] c"long\00" @.str2647 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str2648 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00" @.str2649 = private unnamed_addr constant [2 x i8] c")\00" @.str2650 = private unnamed_addr constant [4 x i8] c"int\00" @.str2651 = private unnamed_addr constant [4 x i8] c"mix\00" @.str2652 = private unnamed_addr constant [4 x i8] c"int\00" @.str2653 = private unnamed_addr constant [2 x i8] c"0\00" @.str2654 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2655 = private unnamed_addr constant [14 x i8] c", -1640531527\00" @.str2656 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2657 = private unnamed_addr constant [4 x i8] c", 6\00" @.str2658 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str2659 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2660 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2661 = private unnamed_addr constant [3 x i8] c", \00" @.str2662 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2663 = private unnamed_addr constant [3 x i8] c", \00" @.str2664 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str2665 = private unnamed_addr constant [3 x i8] c", \00" @.str2666 = private unnamed_addr constant [4 x i8] c"int\00" @.str2667 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00" @.str2668 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2669 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" @.str2670 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" @.str2671 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2672 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2673 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2674 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2675 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2676 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2677 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str2678 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str2679 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str2680 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2681 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" @.str2682 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" @.str2683 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" @.str2684 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" @.str2685 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" @.str2686 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2687 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2688 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2689 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2690 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" @.str2691 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" @.str2692 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2693 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00" @.str2694 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2695 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" @.str2696 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" @.str2697 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2698 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2699 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2700 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2701 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2702 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2703 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str2704 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str2705 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str2706 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2707 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" @.str2708 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" @.str2709 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" @.str2710 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" @.str2711 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" @.str2712 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2713 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2714 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2715 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2716 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" @.str2717 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" @.str2718 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2719 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00" @.str2720 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2721 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" @.str2722 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" @.str2723 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2724 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2725 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" @.str2726 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2727 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2728 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2729 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2730 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" @.str2731 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" @.str2732 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str2733 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2734 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" @.str2735 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" @.str2736 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" @.str2737 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" @.str2738 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" @.str2739 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str2740 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" @.str2741 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str2742 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" @.str2743 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" @.str2744 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" @.str2745 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" @.str2746 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" @.str2747 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" @.str2748 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" @.str2749 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" @.str2750 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" @.str2751 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" @.str2752 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" @.str2753 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" @.str2754 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str2755 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" @.str2756 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2757 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2758 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2759 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2760 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" @.str2761 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" @.str2762 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str2763 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2764 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str2765 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str2766 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" @.str2767 = private unnamed_addr constant [4 x i8] c"hex\00" @.str2768 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str2769 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str2770 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str2771 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str2772 = private unnamed_addr constant [7 x i8] c"base64\00" @.str2773 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str2774 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00" @.str2775 = private unnamed_addr constant [2 x i8] c")\00" @.str2776 = private unnamed_addr constant [7 x i8] c"string\00" @.str2777 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str2778 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str2779 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2780 = private unnamed_addr constant [2 x i8] c")\00" @.str2781 = private unnamed_addr constant [7 x i8] c"string\00" @.str2782 = private unnamed_addr constant [4 x i8] c"hex\00" @.str2783 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00" @.str2784 = private unnamed_addr constant [2 x i8] c")\00" @.str2785 = private unnamed_addr constant [7 x i8] c"string\00" @.str2786 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str2787 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str2788 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2789 = private unnamed_addr constant [2 x i8] c")\00" @.str2790 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2791 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str2792 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str2793 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2794 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2795 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00" @.str2796 = private unnamed_addr constant [2 x i8] c")\00" @.str2797 = private unnamed_addr constant [7 x i8] c"string\00" @.str2798 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str2799 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00" @.str2800 = private unnamed_addr constant [4 x i8] c"int\00" @.str2801 = private unnamed_addr constant [7 x i8] c"base64\00" @.str2802 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00" @.str2803 = private unnamed_addr constant [2 x i8] c")\00" @.str2804 = private unnamed_addr constant [7 x i8] c"string\00" @.str2805 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str2806 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2807 = private unnamed_addr constant [2 x i8] c")\00" @.str2808 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str2809 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2810 = private unnamed_addr constant [2 x i8] c")\00" @.str2811 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2812 = 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" @.str2813 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00" @.str2814 = 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" @.str2815 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" @.str2816 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2817 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" @.str2818 = 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" @.str2819 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" @.str2820 = 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" @.str2821 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00" @.str2822 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" @.str2823 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" @.str2824 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" @.str2825 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" @.str2826 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" @.str2827 = 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" @.str2828 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" @.str2829 = 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" @.str2830 = 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" @.str2831 = 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" @.str2832 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" @.str2833 = 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" @.str2834 = 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" @.str2835 = 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" @.str2836 = 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" @.str2837 = 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" @.str2838 = 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" @.str2839 = 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" @.str2840 = 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" @.str2841 = 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" @.str2842 = 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" @.str2843 = 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" @.str2844 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" @.str2845 = 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" @.str2846 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" @.str2847 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" @.str2848 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" @.str2849 = 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" @.str2850 = 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" @.str2851 = 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" @.str2852 = 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" @.str2853 = 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" @.str2854 = 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" @.str2855 = 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" @.str2856 = 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" @.str2857 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" @.str2858 = 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" @.str2859 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" @.str2860 = 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" @.str2861 = 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" @.str2862 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" @.str2863 = 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" @.str2864 = 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" @.str2865 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" @.str2866 = 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" @.str2867 = 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" @.str2868 = 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" @.str2869 = 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" @.str2870 = 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" @.str2871 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" @.str2872 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" @.str2873 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" @.str2874 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" @.str2875 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" @.str2876 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" @.str2877 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" @.str2878 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" @.str2879 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" @.str2880 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" @.str2881 = 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" @.str2882 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str2883 = 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" @.str2884 = 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" @.str2885 = 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" @.str2886 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" @.str2887 = 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" @.str2888 = 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" @.str2889 = 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" @.str2890 = 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" @.str2891 = 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" @.str2892 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" @.str2893 = 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" @.str2894 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" @.str2895 = 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" @.str2896 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" @.str2897 = 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" @.str2898 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" @.str2899 = 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" @.str2900 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" @.str2901 = 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" @.str2902 = 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" @.str2903 = 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" @.str2904 = 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" @.str2905 = 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" @.str2906 = 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" @.str2907 = 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" @.str2908 = 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" @.str2909 = 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" @.str2910 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" @.str2911 = 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" @.str2912 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" @.str2913 = 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" @.str2914 = 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" @.str2915 = 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" @.str2916 = 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" @.str2917 = 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" @.str2918 = 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" @.str2919 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00" @.str2920 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00" @.str2921 = 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" @.str2922 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00" @.str2923 = 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" @.str2924 = 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" @.str2925 = 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" @.str2926 = 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" @.str2927 = 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" @.str2928 = 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" @.str2929 = 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" @.str2930 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00" @.str2931 = 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" @.str2932 = 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" @.str2933 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00" @.str2934 = 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" @.str2935 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" @.str2936 = 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" @.str2937 = 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" @.str2938 = 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" @.str2939 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str2940 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" @.str2941 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2942 = 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" @.str2943 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" @.str2944 = 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" @.str2945 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" @.str2946 = 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" @.str2947 = 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" @.str2948 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" @.str2949 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00" @.str2950 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" @.str2951 = 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" @.str2952 = 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" @.str2953 = 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" @.str2954 = 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" @.str2955 = 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" @.str2956 = 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" @.str2957 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00" @.str2958 = 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" @.str2959 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" @.str2960 = 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" @.str2961 = 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" @.str2962 = 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" @.str2963 = 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" @.str2964 = 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" @.str2965 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str2966 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" @.str2967 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str2968 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" @.str2969 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" @.str2970 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" @.str2971 = 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" @.str2972 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" @.str2973 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00" @.str2974 = 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" @.str2975 = 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" @.str2976 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00" @.str2977 = 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" @.str2978 = 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" @.str2979 = 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" @.str2980 = 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" @.str2981 = 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" @.str2982 = 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" @.str2983 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00" @.str2984 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str2985 = 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" @.str2986 = 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" @.str2987 = 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" @.str2988 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" @.str2989 = 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" @.str2990 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" @.str2991 = 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" @.str2992 = 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" @.str2993 = 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" @.str2994 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" @.str2995 = 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" @.str2996 = 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" @.str2997 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" @.str2998 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" @.str2999 = 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" @.str3000 = 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" @.str3001 = 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" @.str3002 = 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" @.str3003 = 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" @.str3004 = 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" @.str3005 = 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" @.str3006 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" @.str3007 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" @.str3008 = 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" @.str3009 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" @.str3010 = 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" @.str3011 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" @.str3012 = private unnamed_addr constant [4 x i8] c"new\00" @.str3013 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3014 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3015 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3016 = private unnamed_addr constant [6 x i8] c"parse\00" @.str3017 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3018 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3019 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3020 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3021 = private unnamed_addr constant [4 x i8] c"new\00" @.str3022 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3023 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00" @.str3024 = private unnamed_addr constant [7 x i8] c"string\00" @.str3025 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3026 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3027 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00" @.str3028 = private unnamed_addr constant [7 x i8] c"string\00" @.str3029 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3030 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00" @.str3031 = private unnamed_addr constant [7 x i8] c"string\00" @.str3032 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3033 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00" @.str3034 = private unnamed_addr constant [2 x i8] c")\00" @.str3035 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3036 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3037 = private unnamed_addr constant [7 x i8] c"string\00" @.str3038 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3039 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00" @.str3040 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3041 = private unnamed_addr constant [2 x i8] c")\00" @.str3042 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3043 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00" @.str3044 = private unnamed_addr constant [2 x i8] c")\00" @.str3045 = private unnamed_addr constant [7 x i8] c"string\00" @.str3046 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00" @.str3047 = 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" @.str3048 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" @.str3049 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3050 = 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" @.str3051 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3052 = 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" @.str3053 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3054 = 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" @.str3055 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3056 = 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" @.str3057 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" @.str3058 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00" @.str3059 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00" @.str3060 = 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" @.str3061 = 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" @.str3062 = 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" @.str3063 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3064 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00" @.str3065 = 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" @.str3066 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" @.str3067 = 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" @.str3068 = 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" @.str3069 = 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" @.str3070 = 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" @.str3071 = 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" @.str3072 = 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" @.str3073 = 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" @.str3074 = 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" @.str3075 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3076 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00" @.str3077 = 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" @.str3078 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3079 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3080 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3081 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3082 = 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" @.str3083 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00" @.str3084 = 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" @.str3085 = 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" @.str3086 = 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" @.str3087 = 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" @.str3088 = 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" @.str3089 = 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" @.str3090 = 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" @.str3091 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" @.str3092 = 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" @.str3093 = 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" @.str3094 = 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" @.str3095 = 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" @.str3096 = 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" @.str3097 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" @.str3098 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" @.str3099 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00" @.str3100 = 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" @.str3101 = 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" @.str3102 = 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" @.str3103 = 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" @.str3104 = 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" @.str3105 = 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" @.str3106 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" @.str3107 = 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" @.str3108 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" @.str3109 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" @.str3110 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00" @.str3111 = 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" @.str3112 = 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" @.str3113 = 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" @.str3114 = 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" @.str3115 = 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" @.str3116 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" @.str3117 = 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" @.str3118 = 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" @.str3119 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00" @.str3120 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3121 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3122 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str3123 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str3124 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3125 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" @.str3126 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3127 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3128 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str3129 = private unnamed_addr constant [4 x i8] c", 1\00" @.str3130 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3131 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str3132 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3133 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3134 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(i32 \00" @.str3135 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3136 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3137 = private unnamed_addr constant [2 x i8] c")\00" @.str3138 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3139 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3140 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(i32 \00" @.str3141 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3142 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3143 = private unnamed_addr constant [2 x i8] c")\00" @.str3144 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3145 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str3146 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(i32 \00" @.str3147 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3148 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3149 = private unnamed_addr constant [2 x i8] c")\00" @.str3150 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3151 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str3152 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(i32 \00" @.str3153 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3154 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3155 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3156 = private unnamed_addr constant [2 x i8] c")\00" @.str3157 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3158 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3159 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(i32 \00" @.str3160 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3161 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3162 = private unnamed_addr constant [2 x i8] c")\00" @.str3163 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3164 = private unnamed_addr constant [37 x i8] c"call i32 @lp_noise_cellular2_id(i32 \00" @.str3165 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3166 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3167 = private unnamed_addr constant [2 x i8] c")\00" @.str3168 = private unnamed_addr constant [4 x i8] c"int\00" @.str3169 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00" @.str3170 = 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" @.str3171 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00" @.str3172 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" @.str3173 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3174 = 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" @.str3175 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" @.str3176 = 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" @.str3177 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00" @.str3178 = 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" @.str3179 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" @.str3180 = 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" @.str3181 = 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" @.str3182 = 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" @.str3183 = 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" @.str3184 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00" @.str3185 = 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" @.str3186 = 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" @.str3187 = 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" @.str3188 = 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" @.str3189 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3190 = 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" @.str3191 = 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" @.str3192 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3193 = 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" @.str3194 = 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" @.str3195 = 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" @.str3196 = 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" @.str3197 = 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" @.str3198 = 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" @.str3199 = 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" @.str3200 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3201 = 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" @.str3202 = 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" @.str3203 = 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" @.str3204 = 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" @.str3205 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3206 = 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" @.str3207 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" @.str3208 = 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" @.str3209 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3210 = 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" @.str3211 = 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" @.str3212 = 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" @.str3213 = 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" @.str3214 = 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" @.str3215 = 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" @.str3216 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3217 = 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" @.str3218 = 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" @.str3219 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3220 = 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" @.str3221 = 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" @.str3222 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3223 = 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" @.str3224 = 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" @.str3225 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" @.str3226 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" @.str3227 = 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" @.str3228 = 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" @.str3229 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" @.str3230 = 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" @.str3231 = 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" @.str3232 = 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" @.str3233 = 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" @.str3234 = 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" @.str3235 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" @.str3236 = 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" @.str3237 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" @.str3238 = 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" @.str3239 = 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" @.str3240 = 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" @.str3241 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" @.str3242 = 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" @.str3243 = 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" @.str3244 = 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" @.str3245 = 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" @.str3246 = 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" @.str3247 = 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" @.str3248 = 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" @.str3249 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" @.str3250 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" @.str3251 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" @.str3252 = 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" @.str3253 = 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" @.str3254 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" @.str3255 = 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" @.str3256 = 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" @.str3257 = 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" @.str3258 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" @.str3259 = 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" @.str3260 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" @.str3261 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" @.str3262 = 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" @.str3263 = 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" @.str3264 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" @.str3265 = 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" @.str3266 = 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" @.str3267 = 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" @.str3268 = 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" @.str3269 = 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" @.str3270 = 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" @.str3271 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3272 = 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" @.str3273 = 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" @.str3274 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3275 = 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" @.str3276 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" @.str3277 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3278 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3279 = private unnamed_addr constant [5 x i8] c"info\00" @.str3280 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3281 = private unnamed_addr constant [6 x i8] c"error\00" @.str3282 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3283 = private unnamed_addr constant [6 x i8] c"level\00" @.str3284 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str3285 = private unnamed_addr constant [4 x i8] c"i64\00" @.str3286 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str3287 = private unnamed_addr constant [2 x i8] c")\00" @.str3288 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str3289 = private unnamed_addr constant [2 x i8] c")\00" @.str3290 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3291 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str3292 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" @.str3293 = private unnamed_addr constant [2 x i8] c"0\00" @.str3294 = private unnamed_addr constant [5 x i8] c"void\00" @.str3295 = private unnamed_addr constant [6 x i8] c"level\00" @.str3296 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str3297 = private unnamed_addr constant [4 x i8] c"int\00" @.str3298 = private unnamed_addr constant [2 x i8] c"2\00" @.str3299 = private unnamed_addr constant [8 x i8] c"[INFO] \00" @.str3300 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3301 = private unnamed_addr constant [2 x i8] c"0\00" @.str3302 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" @.str3303 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3304 = private unnamed_addr constant [2 x i8] c"1\00" @.str3305 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" @.str3306 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3307 = private unnamed_addr constant [2 x i8] c"3\00" @.str3308 = private unnamed_addr constant [8 x i8] c"[WARN] \00" @.str3309 = private unnamed_addr constant [6 x i8] c"error\00" @.str3310 = private unnamed_addr constant [2 x i8] c"4\00" @.str3311 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" @.str3312 = private unnamed_addr constant [7 x i8] c"string\00" @.str3313 = private unnamed_addr constant [2 x i8] c"+\00" @.str3314 = private unnamed_addr constant [7 x i8] c"string\00" @.str3315 = private unnamed_addr constant [2 x i8] c"+\00" @.str3316 = private unnamed_addr constant [2 x i8] c" \00" @.str3317 = private unnamed_addr constant [7 x i8] c"string\00" @.str3318 = private unnamed_addr constant [2 x i8] c"+\00" @.str3319 = private unnamed_addr constant [7 x i8] c"string\00" @.str3320 = private unnamed_addr constant [2 x i8] c"+\00" @.str3321 = private unnamed_addr constant [2 x i8] c"=\00" @.str3322 = private unnamed_addr constant [7 x i8] c"string\00" @.str3323 = private unnamed_addr constant [2 x i8] c"+\00" @.str3324 = private unnamed_addr constant [7 x i8] c"string\00" @.str3325 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00" @.str3326 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3327 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3328 = private unnamed_addr constant [2 x i8] c"0\00" @.str3329 = private unnamed_addr constant [5 x i8] c"void\00" @.str3330 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" @.str3331 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" @.str3332 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00" @.str3333 = 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" @.str3334 = private unnamed_addr constant [69 x i8] c"go:\0A %e = load ptr, ptr @__stderrp\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3335 = 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" @.str3336 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str3337 = private unnamed_addr constant [5 x i8] c"args\00" @.str3338 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3339 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3340 = private unnamed_addr constant [4 x i8] c"env\00" @.str3341 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3342 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3343 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3344 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3345 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3346 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3347 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3348 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3349 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3350 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3351 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3352 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3353 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3354 = private unnamed_addr constant [9 x i8] c"temp_dir\00" @.str3355 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3356 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str3357 = private unnamed_addr constant [4 x i8] c"int\00" @.str3358 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3359 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str3360 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str3361 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3362 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str3363 = private unnamed_addr constant [7 x i8] c"string\00" @.str3364 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3365 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00" @.str3366 = private unnamed_addr constant [4 x i8] c"int\00" @.str3367 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3368 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str3369 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3370 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str3371 = private unnamed_addr constant [2 x i8] c"0\00" @.str3372 = private unnamed_addr constant [5 x i8] c"void\00" @.str3373 = private unnamed_addr constant [4 x i8] c"env\00" @.str3374 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3375 = private unnamed_addr constant [2 x i8] c")\00" @.str3376 = private unnamed_addr constant [7 x i8] c"string\00" @.str3377 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3378 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3379 = private unnamed_addr constant [2 x i8] c")\00" @.str3380 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str3381 = private unnamed_addr constant [7 x i8] c", null\00" @.str3382 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3383 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3384 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3385 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3386 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3387 = private unnamed_addr constant [11 x i8] c"@__stdoutp\00" @.str3388 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3389 = private unnamed_addr constant [11 x i8] c"@__stderrp\00" @.str3390 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str3391 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str3392 = private unnamed_addr constant [2 x i8] c")\00" @.str3393 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" @.str3394 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str3395 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3396 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3397 = private unnamed_addr constant [2 x i8] c"0\00" @.str3398 = private unnamed_addr constant [5 x i8] c"void\00" @.str3399 = private unnamed_addr constant [5 x i8] c"args\00" @.str3400 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00" @.str3401 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str3402 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3403 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00" @.str3404 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3405 = private unnamed_addr constant [2 x i8] c")\00" @.str3406 = private unnamed_addr constant [7 x i8] c"string\00" @.str3407 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3408 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" @.str3409 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3410 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str3411 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3412 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3413 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3414 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3415 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3416 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3417 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" @.str3418 = private unnamed_addr constant [2 x i8] c")\00" @.str3419 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3420 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3421 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3422 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3423 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3424 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3425 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00" @.str3426 = private unnamed_addr constant [7 x i8] c"string\00" @.str3427 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3428 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00" @.str3429 = private unnamed_addr constant [7 x i8] c"string\00" @.str3430 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3431 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00" @.str3432 = private unnamed_addr constant [2 x i8] c")\00" @.str3433 = private unnamed_addr constant [7 x i8] c"string\00" @.str3434 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3435 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00" @.str3436 = private unnamed_addr constant [2 x i8] c")\00" @.str3437 = private unnamed_addr constant [7 x i8] c"string\00" @.str3438 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3439 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00" @.str3440 = private unnamed_addr constant [2 x i8] c")\00" @.str3441 = private unnamed_addr constant [7 x i8] c"string\00" @.str3442 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str3443 = private unnamed_addr constant [7 x i8] c"string\00" @.str3444 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" @.str3445 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" @.str3446 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" @.str3447 = private unnamed_addr constant [5 x i8] c"HOME\00" @.str3448 = private unnamed_addr constant [2 x i8] c".\00" @.str3449 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" @.str3450 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" @.str3451 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str3452 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str3453 = private unnamed_addr constant [7 x i8] c"Darwin\00" @.str3454 = private unnamed_addr constant [6 x i8] c"macos\00" @.str3455 = private unnamed_addr constant [6 x i8] c"Linux\00" @.str3456 = private unnamed_addr constant [6 x i8] c"linux\00" @.str3457 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00" @.str3458 = 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" @.str3459 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" @.str3460 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" @.str3461 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00" @.str3462 = 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" @.str3463 = 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" @.str3464 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" @.str3465 = 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" @.str3466 = 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" @.str3467 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" @.str3468 = 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" @.str3469 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str3470 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3471 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3472 = private unnamed_addr constant [111 x i8] c"define ptr @lp_os_save_dir(ptr %app) {\0A %h = call ptr @lp_os_home()\0A %r = call ptr @lp_os_join3(ptr %h, ptr \00" @.str3473 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str3474 = private unnamed_addr constant [113 x i8] c"define ptr @lp_os_config_dir(ptr %app) {\0A %h = call ptr @lp_os_home()\0A %r = call ptr @lp_os_join3(ptr %h, ptr \00" @.str3475 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str3476 = private unnamed_addr constant [112 x i8] c"define ptr @lp_os_cache_dir(ptr %app) {\0A %h = call ptr @lp_os_home()\0A %r = call ptr @lp_os_join3(ptr %h, ptr \00" @.str3477 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str3478 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str3479 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3480 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3481 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str3482 = 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" @.str3483 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str3484 = 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" @.str3485 = 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" @.str3486 = 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" @.str3487 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str3488 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00" @.str3489 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str3490 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str3491 = 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" @.str3492 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" @.str3493 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3494 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" @.str3495 = 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" @.str3496 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" @.str3497 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3498 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" @.str3499 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00" @.str3500 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str3501 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" @.str3502 = private unnamed_addr constant [4 x i8] c"len\00" @.str3503 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str3504 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str3505 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str3506 = private unnamed_addr constant [6 x i8] c"chars\00" @.str3507 = private unnamed_addr constant [6 x i8] c"upper\00" @.str3508 = private unnamed_addr constant [6 x i8] c"lower\00" @.str3509 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str3510 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" @.str3511 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str3512 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str3513 = private unnamed_addr constant [2 x i8] c")\00" @.str3514 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str3515 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3516 = private unnamed_addr constant [4 x i8] c"int\00" @.str3517 = private unnamed_addr constant [4 x i8] c"len\00" @.str3518 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00" @.str3519 = private unnamed_addr constant [2 x i8] c")\00" @.str3520 = private unnamed_addr constant [4 x i8] c"int\00" @.str3521 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str3522 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00" @.str3523 = private unnamed_addr constant [2 x i8] c")\00" @.str3524 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3525 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str3526 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00" @.str3527 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3528 = private unnamed_addr constant [2 x i8] c")\00" @.str3529 = private unnamed_addr constant [4 x i8] c"int\00" @.str3530 = private unnamed_addr constant [6 x i8] c"chars\00" @.str3531 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00" @.str3532 = private unnamed_addr constant [2 x i8] c")\00" @.str3533 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str3534 = private unnamed_addr constant [6 x i8] c"upper\00" @.str3535 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str3536 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str3537 = private unnamed_addr constant [7 x i8] c"string\00" @.str3538 = private unnamed_addr constant [6 x i8] c"lower\00" @.str3539 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str3540 = private unnamed_addr constant [9 x i8] c", i32 0)\00" @.str3541 = private unnamed_addr constant [7 x i8] c"string\00" @.str3542 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str3543 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00" @.str3544 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3545 = private unnamed_addr constant [2 x i8] c")\00" @.str3546 = private unnamed_addr constant [7 x i8] c"string\00" @.str3547 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00" @.str3548 = private unnamed_addr constant [2 x i8] c")\00" @.str3549 = private unnamed_addr constant [4 x i8] c"int\00" @.str3550 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00" @.str3551 = 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" @.str3552 = 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" @.str3553 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3554 = 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" @.str3555 = 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" @.str3556 = 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" @.str3557 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str3558 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" @.str3559 = 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" @.str3560 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" @.str3561 = 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" @.str3562 = 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" @.str3563 = 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" @.str3564 = 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" @.str3565 = 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" @.str3566 = 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" @.str3567 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" @.str3568 = 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" @.str3569 = 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" @.str3570 = 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" @.str3571 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" @.str3572 = 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" @.str3573 = 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" @.str3574 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" @.str3575 = 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" @.str3576 = 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" @.str3577 = 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" @.str3578 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" @.str3579 = 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" @.str3580 = 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" @.str3581 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" @.str3582 = 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" @.str3583 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" @.str3584 = 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" @.str3585 = 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" @.str3586 = 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" @.str3587 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00" @.str3588 = 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" @.str3589 = 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" @.str3590 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" @.str3591 = 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" @.str3592 = 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" @.str3593 = 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" @.str3594 = 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" @.str3595 = 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" @.str3596 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str3597 = 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" @.str3598 = 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" @.str3599 = 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" @.str3600 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" @.str3601 = 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" @.str3602 = 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" @.str3603 = 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" @.str3604 = 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" @.str3605 = 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" @.str3606 = 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" @.str3607 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" @.str3608 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" @.str3609 = 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" @.str3610 = 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" @.str3611 = 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" @.str3612 = 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" @.str3613 = 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" @.str3614 = 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" @.str3615 = 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" @.str3616 = 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" @.str3617 = 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" @.str3618 = 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" @.str3619 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" @.str3620 = 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" @.str3621 = 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" @.str3622 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" @.str3623 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00" @.str3624 = 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" @.str3625 = 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" @.str3626 = 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" @.str3627 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00" @.str3628 = 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" @.str3629 = 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" @.str3630 = 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" @.str3631 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00" @.str3632 = 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" @.str3633 = 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" @.str3634 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" @.str3635 = 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" @.str3636 = 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" @.str3637 = 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" @.str3638 = 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" @.str3639 = 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" @.str3640 = 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" @.str3641 = 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" @.str3642 = 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" @.str3643 = 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" @.str3644 = 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" @.str3645 = 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" @.str3646 = 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" @.str3647 = 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" @.str3648 = 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" @.str3649 = 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" @.str3650 = 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" @.str3651 = 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" @.str3652 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00" @.str3653 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" @.str3654 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" @.str3655 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" @.str3656 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" @.str3657 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" @.str3658 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" @.str3659 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" @.str3660 = 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" @.str3661 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" @.str3662 = 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" @.str3663 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00" @.str3664 = 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" @.str3665 = 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" @.str3666 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" @.str3667 = 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" @.str3668 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" @.str3669 = 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" @.str3670 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" @.str3671 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00" @.str3672 = 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" @.str3673 = 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" @.str3674 = 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" @.str3675 = 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" @.str3676 = 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" @.str3677 = 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" @.str3678 = 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" @.str3679 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3680 = 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" @.str3681 = 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" @.str3682 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" @.str3683 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00" @.str3684 = 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" @.str3685 = 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" @.str3686 = 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" @.str3687 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3688 = 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" @.str3689 = 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" @.str3690 = 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" @.str3691 = 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" @.str3692 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00" @.str3693 = 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" @.str3694 = 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" @.str3695 = 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" @.str3696 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" @.str3697 = 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" @.str3698 = 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" @.str3699 = 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" @.str3700 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00" @.str3701 = 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" @.str3702 = 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" @.str3703 = 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" @.str3704 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3705 = 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" @.str3706 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" @.str3707 = 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" @.str3708 = 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" @.str3709 = 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" @.str3710 = 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" @.str3711 = 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" @.str3712 = 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" @.str3713 = 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" @.str3714 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str3715 = 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" @.str3716 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str3717 = 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" @.str3718 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str3719 = private unnamed_addr constant [7 x i8] c"exists\00" @.str3720 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str3721 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str3722 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str3723 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str3724 = private unnamed_addr constant [7 x i8] c"remove\00" @.str3725 = private unnamed_addr constant [5 x i8] c"size\00" @.str3726 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str3727 = private unnamed_addr constant [5 x i8] c"copy\00" @.str3728 = private unnamed_addr constant [5 x i8] c"list\00" @.str3729 = private unnamed_addr constant [5 x i8] c"join\00" @.str3730 = private unnamed_addr constant [4 x i8] c"dir\00" @.str3731 = private unnamed_addr constant [5 x i8] c"base\00" @.str3732 = private unnamed_addr constant [4 x i8] c"ext\00" @.str3733 = private unnamed_addr constant [5 x i8] c"stem\00" @.str3734 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str3735 = private unnamed_addr constant [3 x i8] c"of\00" @.str3736 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str3737 = private unnamed_addr constant [7 x i8] c"exists\00" @.str3738 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00" @.str3739 = private unnamed_addr constant [2 x i8] c")\00" @.str3740 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3741 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str3742 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00" @.str3743 = private unnamed_addr constant [2 x i8] c")\00" @.str3744 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3745 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str3746 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00" @.str3747 = private unnamed_addr constant [2 x i8] c")\00" @.str3748 = private unnamed_addr constant [7 x i8] c"string\00" @.str3749 = private unnamed_addr constant [7 x i8] c"remove\00" @.str3750 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00" @.str3751 = private unnamed_addr constant [2 x i8] c")\00" @.str3752 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3753 = private unnamed_addr constant [5 x i8] c"size\00" @.str3754 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00" @.str3755 = private unnamed_addr constant [2 x i8] c")\00" @.str3756 = private unnamed_addr constant [4 x i8] c"int\00" @.str3757 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str3758 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00" @.str3759 = private unnamed_addr constant [2 x i8] c")\00" @.str3760 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3761 = private unnamed_addr constant [5 x i8] c"list\00" @.str3762 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00" @.str3763 = private unnamed_addr constant [2 x i8] c")\00" @.str3764 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str3765 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str3766 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00" @.str3767 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3768 = private unnamed_addr constant [2 x i8] c")\00" @.str3769 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3770 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str3771 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00" @.str3772 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3773 = private unnamed_addr constant [2 x i8] c")\00" @.str3774 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3775 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00" @.str3776 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3777 = private unnamed_addr constant [2 x i8] c")\00" @.str3778 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3779 = private unnamed_addr constant [4 x i8] c"dir\00" @.str3780 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00" @.str3781 = private unnamed_addr constant [2 x i8] c")\00" @.str3782 = private unnamed_addr constant [7 x i8] c"string\00" @.str3783 = private unnamed_addr constant [5 x i8] c"base\00" @.str3784 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00" @.str3785 = private unnamed_addr constant [2 x i8] c")\00" @.str3786 = private unnamed_addr constant [7 x i8] c"string\00" @.str3787 = private unnamed_addr constant [4 x i8] c"ext\00" @.str3788 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00" @.str3789 = private unnamed_addr constant [2 x i8] c")\00" @.str3790 = private unnamed_addr constant [7 x i8] c"string\00" @.str3791 = private unnamed_addr constant [5 x i8] c"stem\00" @.str3792 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00" @.str3793 = private unnamed_addr constant [2 x i8] c")\00" @.str3794 = private unnamed_addr constant [7 x i8] c"string\00" @.str3795 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str3796 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00" @.str3797 = private unnamed_addr constant [2 x i8] c")\00" @.str3798 = private unnamed_addr constant [7 x i8] c"string\00" @.str3799 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00" @.str3800 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3801 = private unnamed_addr constant [2 x i8] c")\00" @.str3802 = private unnamed_addr constant [7 x i8] c"string\00" @.str3803 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str3804 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(ptr \00" @.str3805 = private unnamed_addr constant [2 x i8] c")\00" @.str3806 = private unnamed_addr constant [7 x i8] c"string\00" @.str3807 = private unnamed_addr constant [26 x i8] c"call ptr @lp_mime_of(ptr \00" @.str3808 = private unnamed_addr constant [2 x i8] c")\00" @.str3809 = private unnamed_addr constant [7 x i8] c"string\00" @.str3810 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" @.str3811 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" @.str3812 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" @.str3813 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" @.str3814 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" @.str3815 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" @.str3816 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" @.str3817 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00" @.str3818 = 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" @.str3819 = 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" @.str3820 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00" @.str3821 = 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" @.str3822 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00" @.str3823 = 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" @.str3824 = 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" @.str3825 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3826 = 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" @.str3827 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" @.str3828 = 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" @.str3829 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" @.str3830 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00" @.str3831 = 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" @.str3832 = 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" @.str3833 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" @.str3834 = 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" @.str3835 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" @.str3836 = 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" @.str3837 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" @.str3838 = 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" @.str3839 = 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" @.str3840 = 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" @.str3841 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" @.str3842 = 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" @.str3843 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" @.str3844 = 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" @.str3845 = 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" @.str3846 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00" @.str3847 = 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" @.str3848 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" @.str3849 = 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" @.str3850 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00" @.str3851 = 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" @.str3852 = 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" @.str3853 = 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" @.str3854 = 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" @.str3855 = 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" @.str3856 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00" @.str3857 = 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" @.str3858 = 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" @.str3859 = 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" @.str3860 = 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" @.str3861 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" @.str3862 = 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" @.str3863 = 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" @.str3864 = 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" @.str3865 = 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" @.str3866 = 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" @.str3867 = 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" @.str3868 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00" @.str3869 = 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" @.str3870 = 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" @.str3871 = 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" @.str3872 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00" @.str3873 = 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" @.str3874 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00" @.str3875 = 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" @.str3876 = 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" @.str3877 = 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" @.str3878 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" @.str3879 = 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" @.str3880 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" @.str3881 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" @.str3882 = 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" @.str3883 = 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" @.str3884 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" @.str3885 = 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" @.str3886 = 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" @.str3887 = 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" @.str3888 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" @.str3889 = 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" @.str3890 = 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" @.str3891 = 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" @.str3892 = 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" @.str3893 = 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" @.str3894 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" @.str3895 = 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" @.str3896 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" @.str3897 = 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" @.str3898 = 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" @.str3899 = 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" @.str3900 = 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" @.str3901 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" @.str3902 = 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" @.str3903 = 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" @.str3904 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" @.str3905 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" @.str3906 = 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" @.str3907 = 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" @.str3908 = 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" @.str3909 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00" @.str3910 = private unnamed_addr constant [114 x i8] c"entry:\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" @.str3911 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00" @.str3912 = 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" @.str3913 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" @.str3914 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str3915 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00" @.str3916 = private unnamed_addr constant [119 x i8] c"entry:\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" @.str3917 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" @.str3918 = 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" @.str3919 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00" @.str3920 = private unnamed_addr constant [146 x i8] c"entry:\0A store i32 0, ptr %lenout\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" @.str3921 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" @.str3922 = 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" @.str3923 = 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" @.str3924 = 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" @.str3925 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00" @.str3926 = 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" @.str3927 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00" @.str3928 = 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" @.str3929 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str3930 = 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" @.str3931 = 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" @.str3932 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00" @.str3933 = 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" @.str3934 = 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" @.str3935 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00" @.str3936 = 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" @.str3937 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str3938 = 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" @.str3939 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00" @.str3940 = 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" @.str3941 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00" @.str3942 = 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" @.str3943 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str3944 = 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" @.str3945 = 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" @.str3946 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00" @.str3947 = 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" @.str3948 = 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" @.str3949 = 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" @.str3950 = 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" @.str3951 = 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" @.str3952 = 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" @.str3953 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00" @.str3954 = 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" @.str3955 = 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" @.str3956 = 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" @.str3957 = 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" @.str3958 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" @.str3959 = 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" @.str3960 = 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" @.str3961 = 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" @.str3962 = 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" @.str3963 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00" @.str3964 = 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" @.str3965 = 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" @.str3966 = 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" @.str3967 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" @.str3968 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" @.str3969 = 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" @.str3970 = 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" @.str3971 = 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" @.str3972 = 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" @.str3973 = 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" @.str3974 = 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" @.str3975 = 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" @.str3976 = 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" @.str3977 = private unnamed_addr constant [4 x i8] c"png\00" @.str3978 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str3979 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str3980 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str3981 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str3982 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str3983 = private unnamed_addr constant [4 x i8] c"gif\00" @.str3984 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str3985 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str3986 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str3987 = private unnamed_addr constant [5 x i8] c"webp\00" @.str3988 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str3989 = private unnamed_addr constant [4 x i8] c"svg\00" @.str3990 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str3991 = private unnamed_addr constant [4 x i8] c"txt\00" @.str3992 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str3993 = private unnamed_addr constant [3 x i8] c"md\00" @.str3994 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str3995 = private unnamed_addr constant [4 x i8] c"csv\00" @.str3996 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str3997 = private unnamed_addr constant [5 x i8] c"html\00" @.str3998 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str3999 = private unnamed_addr constant [4 x i8] c"htm\00" @.str4000 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4001 = private unnamed_addr constant [4 x i8] c"css\00" @.str4002 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str4003 = private unnamed_addr constant [3 x i8] c"js\00" @.str4004 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str4005 = private unnamed_addr constant [5 x i8] c"json\00" @.str4006 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str4007 = private unnamed_addr constant [4 x i8] c"xml\00" @.str4008 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str4009 = private unnamed_addr constant [4 x i8] c"zip\00" @.str4010 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str4011 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str4012 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str4013 = private unnamed_addr constant [4 x i8] c"wav\00" @.str4014 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str4015 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str4016 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str4017 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str4018 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str4019 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str4020 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str4021 = private unnamed_addr constant [4 x i8] c"otf\00" @.str4022 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str4023 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str4024 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str4025 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" @.str4026 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" @.str4027 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" @.str4028 = private unnamed_addr constant [3 x i8] c", \00" @.str4029 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" @.str4030 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4031 = private unnamed_addr constant [3 x i8] c" }\00" @.str4032 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str4033 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00" @.str4034 = 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" @.str4035 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" @.str4036 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" @.str4037 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" @.str4038 = 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" @.str4039 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" @.str4040 = 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" @.str4041 = 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" @.str4042 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00" @.str4043 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00" @.str4044 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00" @.str4045 = 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" @.str4046 = 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" @.str4047 = 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" @.str4048 = 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" @.str4049 = 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" @.str4050 = 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" @.str4051 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00" @.str4052 = 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" @.str4053 = 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" @.str4054 = 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" @.str4055 = 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" @.str4056 = 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" @.str4057 = 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" @.str4058 = 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" @.str4059 = 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" @.str4060 = 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" @.str4061 = 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" @.str4062 = 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" @.str4063 = 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" @.str4064 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4065 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str4066 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" @.str4067 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" @.str4068 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" @.str4069 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str4070 = 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" @.str4071 = 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" @.str4072 = 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" @.str4073 = 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" @.str4074 = 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" @.str4075 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4076 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4077 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4078 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4079 = private unnamed_addr constant [4 x i8] c"len\00" @.str4080 = private unnamed_addr constant [5 x i8] c"push\00" @.str4081 = private unnamed_addr constant [6 x i8] c"clear\00" @.str4082 = private unnamed_addr constant [7 x i8] c"sample\00" @.str4083 = private unnamed_addr constant [6 x i8] c"first\00" @.str4084 = private unnamed_addr constant [5 x i8] c"last\00" @.str4085 = private unnamed_addr constant [4 x i8] c"pop\00" @.str4086 = private unnamed_addr constant [5 x i8] c"swap\00" @.str4087 = private unnamed_addr constant [9 x i8] c"contains\00" @.str4088 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4089 = private unnamed_addr constant [8 x i8] c"reverse\00" @.str4090 = private unnamed_addr constant [7 x i8] c"insert\00" @.str4091 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str4092 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4093 = private unnamed_addr constant [5 x i8] c"sort\00" @.str4094 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str4095 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str4096 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str4097 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4098 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4099 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4100 = private unnamed_addr constant [3 x i8] c", \00" @.str4101 = private unnamed_addr constant [3 x i8] c"ig\00" @.str4102 = private unnamed_addr constant [4 x i8] c"igd\00" @.str4103 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4104 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4105 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4106 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4107 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4108 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4109 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4110 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str4111 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4112 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4113 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str4114 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4115 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4116 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4117 = private unnamed_addr constant [3 x i8] c", \00" @.str4118 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4119 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str4120 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str4121 = private unnamed_addr constant [2 x i8] c")\00" @.str4122 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str4123 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4124 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4125 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4126 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4127 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4128 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4129 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4130 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4131 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4132 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4133 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4134 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4135 = private unnamed_addr constant [2 x i8] c" \00" @.str4136 = private unnamed_addr constant [3 x i8] c", \00" @.str4137 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00" @.str4138 = private unnamed_addr constant [2 x i8] c"(\00" @.str4139 = private unnamed_addr constant [2 x i8] c" \00" @.str4140 = private unnamed_addr constant [3 x i8] c", \00" @.str4141 = private unnamed_addr constant [2 x i8] c" \00" @.str4142 = private unnamed_addr constant [2 x i8] c")\00" @.str4143 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4144 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4145 = private unnamed_addr constant [6 x i8] c"call \00" @.str4146 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str4147 = private unnamed_addr constant [2 x i8] c"(\00" @.str4148 = private unnamed_addr constant [2 x i8] c" \00" @.str4149 = private unnamed_addr constant [2 x i8] c")\00" @.str4150 = private unnamed_addr constant [6 x i8] c"call \00" @.str4151 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str4152 = private unnamed_addr constant [2 x i8] c"(\00" @.str4153 = private unnamed_addr constant [2 x i8] c" \00" @.str4154 = private unnamed_addr constant [2 x i8] c")\00" @.str4155 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4156 = private unnamed_addr constant [2 x i8] c" \00" @.str4157 = private unnamed_addr constant [3 x i8] c", \00" @.str4158 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str4159 = private unnamed_addr constant [2 x i8] c" \00" @.str4160 = private unnamed_addr constant [3 x i8] c", \00" @.str4161 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4162 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4163 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4164 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4165 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4166 = private unnamed_addr constant [3 x i8] c", \00" @.str4167 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str4168 = private unnamed_addr constant [2 x i8] c")\00" @.str4169 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4170 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4171 = private unnamed_addr constant [2 x i8] c"1\00" @.str4172 = private unnamed_addr constant [6 x i8] c"ms_wc\00" @.str4173 = private unnamed_addr constant [6 x i8] c"ms_wb\00" @.str4174 = private unnamed_addr constant [6 x i8] c"ms_we\00" @.str4175 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4176 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4177 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4178 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4179 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4180 = private unnamed_addr constant [3 x i8] c", \00" @.str4181 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4182 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4183 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4184 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4185 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4186 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4187 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4188 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4189 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4190 = private unnamed_addr constant [2 x i8] c"0\00" @.str4191 = private unnamed_addr constant [6 x i8] c"ms_ic\00" @.str4192 = private unnamed_addr constant [6 x i8] c"ms_ib\00" @.str4193 = private unnamed_addr constant [6 x i8] c"ms_ie\00" @.str4194 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4195 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4196 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4197 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4198 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4199 = private unnamed_addr constant [3 x i8] c", \00" @.str4200 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4201 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4202 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4203 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4204 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4205 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4206 = private unnamed_addr constant [3 x i8] c", \00" @.str4207 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4208 = private unnamed_addr constant [3 x i8] c", \00" @.str4209 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4210 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4211 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4212 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4213 = private unnamed_addr constant [3 x i8] c", \00" @.str4214 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4215 = private unnamed_addr constant [3 x i8] c", \00" @.str4216 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4217 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4218 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4219 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4220 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4221 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4222 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4223 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4224 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4225 = private unnamed_addr constant [6 x i8] c"ms_mc\00" @.str4226 = private unnamed_addr constant [6 x i8] c"ms_mb\00" @.str4227 = private unnamed_addr constant [8 x i8] c"ms_mend\00" @.str4228 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4229 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4230 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4231 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4232 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4233 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4234 = private unnamed_addr constant [3 x i8] c", \00" @.str4235 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4236 = private unnamed_addr constant [3 x i8] c", \00" @.str4237 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str4238 = private unnamed_addr constant [3 x i8] c", \00" @.str4239 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4240 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4241 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4242 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4243 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4244 = private unnamed_addr constant [6 x i8] c"load \00" @.str4245 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4246 = private unnamed_addr constant [6 x i8] c"load \00" @.str4247 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4248 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4249 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" @.str4250 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" @.str4251 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" @.str4252 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4253 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4254 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4255 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4256 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4257 = private unnamed_addr constant [9 x i8] c" store \00" @.str4258 = private unnamed_addr constant [2 x i8] c" \00" @.str4259 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4260 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4261 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4262 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4263 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4264 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4265 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4266 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4267 = private unnamed_addr constant [9 x i8] c" store \00" @.str4268 = private unnamed_addr constant [2 x i8] c" \00" @.str4269 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4270 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4271 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4272 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4273 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4274 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4275 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4276 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4277 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4278 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4279 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4280 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4281 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4282 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4283 = private unnamed_addr constant [7 x i8] c"ms_dac\00" @.str4284 = private unnamed_addr constant [7 x i8] c"ms_dab\00" @.str4285 = private unnamed_addr constant [7 x i8] c"ms_dae\00" @.str4286 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4287 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4288 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4289 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4290 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4291 = private unnamed_addr constant [3 x i8] c", \00" @.str4292 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4293 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4294 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4295 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4296 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4297 = private unnamed_addr constant [6 x i8] c"load \00" @.str4298 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4299 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4300 = private unnamed_addr constant [9 x i8] c" store \00" @.str4301 = private unnamed_addr constant [2 x i8] c" \00" @.str4302 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4303 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4304 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4305 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4306 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4307 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4308 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4309 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4310 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4311 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4312 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4313 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" @.str4314 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" @.str4315 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" @.str4316 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4317 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4318 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4319 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4320 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4321 = private unnamed_addr constant [3 x i8] c", \00" @.str4322 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4323 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4324 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4325 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4326 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4327 = private unnamed_addr constant [6 x i8] c"load \00" @.str4328 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4329 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4330 = private unnamed_addr constant [9 x i8] c" store \00" @.str4331 = private unnamed_addr constant [2 x i8] c" \00" @.str4332 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4333 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4334 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4335 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4336 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4337 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4338 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4339 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4340 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4341 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4342 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4343 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4344 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4345 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" @.str4346 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" @.str4347 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" @.str4348 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4349 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4350 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4351 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4352 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4353 = private unnamed_addr constant [3 x i8] c", \00" @.str4354 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4355 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4356 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4357 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4358 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4359 = private unnamed_addr constant [6 x i8] c"load \00" @.str4360 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4361 = private unnamed_addr constant [9 x i8] c" store \00" @.str4362 = private unnamed_addr constant [2 x i8] c" \00" @.str4363 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4364 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4365 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4366 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4367 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4368 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4369 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4370 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4371 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4372 = private unnamed_addr constant [3 x i8] c", \00" @.str4373 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4374 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4375 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4376 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4377 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4378 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4379 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4380 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4381 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str4382 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4383 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4384 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" @.str4385 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4386 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" @.str4387 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4388 = private unnamed_addr constant [22 x i8] c": no function named '\00" @.str4389 = private unnamed_addr constant [2 x i8] c"'\00" @.str4390 = private unnamed_addr constant [4 x i8] c"len\00" @.str4391 = private unnamed_addr constant [5 x i8] c"push\00" @.str4392 = private unnamed_addr constant [7 x i8] c"sample\00" @.str4393 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str4394 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" @.str4395 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00" @.str4396 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4397 = private unnamed_addr constant [2 x i8] c")\00" @.str4398 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str4399 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4400 = private unnamed_addr constant [15 x i8] c" needs a slice\00" @.str4401 = private unnamed_addr constant [6 x i8] c"clear\00" @.str4402 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str4403 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4404 = private unnamed_addr constant [2 x i8] c"0\00" @.str4405 = private unnamed_addr constant [5 x i8] c"void\00" @.str4406 = private unnamed_addr constant [6 x i8] c"first\00" @.str4407 = private unnamed_addr constant [2 x i8] c"0\00" @.str4408 = private unnamed_addr constant [6 x i8] c"load \00" @.str4409 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4410 = private unnamed_addr constant [5 x i8] c"last\00" @.str4411 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4412 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4413 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4414 = private unnamed_addr constant [6 x i8] c"load \00" @.str4415 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4416 = private unnamed_addr constant [4 x i8] c"pop\00" @.str4417 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4418 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4419 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4420 = private unnamed_addr constant [6 x i8] c"load \00" @.str4421 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4422 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4423 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4424 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4425 = private unnamed_addr constant [5 x i8] c"swap\00" @.str4426 = private unnamed_addr constant [6 x i8] c"load \00" @.str4427 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4428 = private unnamed_addr constant [6 x i8] c"load \00" @.str4429 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4430 = private unnamed_addr constant [9 x i8] c" store \00" @.str4431 = private unnamed_addr constant [2 x i8] c" \00" @.str4432 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4433 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4434 = private unnamed_addr constant [9 x i8] c" store \00" @.str4435 = private unnamed_addr constant [2 x i8] c" \00" @.str4436 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4437 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4438 = private unnamed_addr constant [2 x i8] c"0\00" @.str4439 = private unnamed_addr constant [5 x i8] c"void\00" @.str4440 = private unnamed_addr constant [9 x i8] c"contains\00" @.str4441 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4442 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4443 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4444 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4445 = private unnamed_addr constant [3 x i8] c"-1\00" @.str4446 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4447 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4448 = private unnamed_addr constant [2 x i8] c"0\00" @.str4449 = private unnamed_addr constant [8 x i8] c"lc_cond\00" @.str4450 = private unnamed_addr constant [8 x i8] c"lc_body\00" @.str4451 = private unnamed_addr constant [7 x i8] c"lc_hit\00" @.str4452 = private unnamed_addr constant [8 x i8] c"lc_next\00" @.str4453 = private unnamed_addr constant [7 x i8] c"lc_end\00" @.str4454 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4455 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4456 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4457 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4458 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4459 = private unnamed_addr constant [3 x i8] c", \00" @.str4460 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4461 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4462 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4463 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4464 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4465 = private unnamed_addr constant [6 x i8] c"load \00" @.str4466 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4467 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str4468 = private unnamed_addr constant [2 x i8] c" \00" @.str4469 = private unnamed_addr constant [3 x i8] c", \00" @.str4470 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4471 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4472 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4473 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4474 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4475 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4476 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4477 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4478 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4479 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4480 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4481 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4482 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4483 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4484 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4485 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4486 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4487 = private unnamed_addr constant [4 x i8] c"int\00" @.str4488 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4489 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4490 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str4491 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4492 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4493 = private unnamed_addr constant [7 x i8] c"insert\00" @.str4494 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4495 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4496 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4497 = private unnamed_addr constant [5 x i8] c"li_c\00" @.str4498 = private unnamed_addr constant [5 x i8] c"li_b\00" @.str4499 = private unnamed_addr constant [5 x i8] c"li_e\00" @.str4500 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4501 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4502 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4503 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4504 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4505 = private unnamed_addr constant [3 x i8] c", \00" @.str4506 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4507 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4508 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4509 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4510 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4511 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4512 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4513 = private unnamed_addr constant [6 x i8] c"load \00" @.str4514 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4515 = private unnamed_addr constant [9 x i8] c" store \00" @.str4516 = private unnamed_addr constant [2 x i8] c" \00" @.str4517 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4518 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4519 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4520 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4521 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4522 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4523 = private unnamed_addr constant [9 x i8] c" store \00" @.str4524 = private unnamed_addr constant [2 x i8] c" \00" @.str4525 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4526 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4527 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4528 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4529 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4530 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4531 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4532 = private unnamed_addr constant [2 x i8] c"0\00" @.str4533 = private unnamed_addr constant [5 x i8] c"void\00" @.str4534 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str4535 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4536 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4537 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4538 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4539 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4540 = private unnamed_addr constant [5 x i8] c"lr_c\00" @.str4541 = private unnamed_addr constant [5 x i8] c"lr_b\00" @.str4542 = private unnamed_addr constant [5 x i8] c"lr_e\00" @.str4543 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4544 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4545 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4546 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4547 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4548 = private unnamed_addr constant [3 x i8] c", \00" @.str4549 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4550 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4551 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4552 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4553 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4554 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4555 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4556 = private unnamed_addr constant [6 x i8] c"load \00" @.str4557 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4558 = private unnamed_addr constant [9 x i8] c" store \00" @.str4559 = private unnamed_addr constant [2 x i8] c" \00" @.str4560 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4561 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4562 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4563 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4564 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4565 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4566 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4567 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4568 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4569 = private unnamed_addr constant [2 x i8] c"0\00" @.str4570 = private unnamed_addr constant [5 x i8] c"void\00" @.str4571 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4572 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4573 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4574 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4575 = private unnamed_addr constant [3 x i8] c"-1\00" @.str4576 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4577 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4578 = private unnamed_addr constant [2 x i8] c"0\00" @.str4579 = private unnamed_addr constant [5 x i8] c"lv_c\00" @.str4580 = private unnamed_addr constant [5 x i8] c"lv_b\00" @.str4581 = private unnamed_addr constant [5 x i8] c"lv_h\00" @.str4582 = private unnamed_addr constant [5 x i8] c"lv_n\00" @.str4583 = private unnamed_addr constant [5 x i8] c"lv_e\00" @.str4584 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4585 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4586 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4587 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4588 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4589 = private unnamed_addr constant [3 x i8] c", \00" @.str4590 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4591 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4592 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4593 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str4594 = private unnamed_addr constant [3 x i8] c", \00" @.str4595 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4596 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4597 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4598 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4599 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4600 = private unnamed_addr constant [6 x i8] c"load \00" @.str4601 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4602 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str4603 = private unnamed_addr constant [2 x i8] c" \00" @.str4604 = private unnamed_addr constant [3 x i8] c", \00" @.str4605 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4606 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4607 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4608 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4609 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4610 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4611 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4612 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4613 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4614 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4615 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4616 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4617 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4618 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4619 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4620 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4621 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4622 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4623 = private unnamed_addr constant [6 x i8] c"lv_do\00" @.str4624 = private unnamed_addr constant [7 x i8] c"lv_end\00" @.str4625 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4626 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4627 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4628 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4629 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4630 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4631 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4632 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4633 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4634 = private unnamed_addr constant [6 x i8] c"lv_dc\00" @.str4635 = private unnamed_addr constant [6 x i8] c"lv_db\00" @.str4636 = private unnamed_addr constant [6 x i8] c"lv_de\00" @.str4637 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4638 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4639 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4640 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4641 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4642 = private unnamed_addr constant [3 x i8] c", \00" @.str4643 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4644 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4645 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4646 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4647 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4648 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4649 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4650 = private unnamed_addr constant [6 x i8] c"load \00" @.str4651 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4652 = private unnamed_addr constant [9 x i8] c" store \00" @.str4653 = private unnamed_addr constant [2 x i8] c" \00" @.str4654 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4655 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4656 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4657 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4658 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4659 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4660 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4661 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4662 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4663 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4664 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4665 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4666 = private unnamed_addr constant [2 x i8] c"0\00" @.str4667 = private unnamed_addr constant [5 x i8] c"void\00" @.str4668 = private unnamed_addr constant [5 x i8] c"sort\00" @.str4669 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4670 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4671 = private unnamed_addr constant [5 x i8] c", 32\00" @.str4672 = private unnamed_addr constant [9 x i8] c"sort_ins\00" @.str4673 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" @.str4674 = private unnamed_addr constant [9 x i8] c"sort_end\00" @.str4675 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4676 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4677 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4678 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4679 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4680 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4681 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4682 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4683 = private unnamed_addr constant [2 x i8] c"1\00" @.str4684 = private unnamed_addr constant [6 x i8] c"ls_oc\00" @.str4685 = private unnamed_addr constant [6 x i8] c"ls_ob\00" @.str4686 = private unnamed_addr constant [6 x i8] c"ls_oe\00" @.str4687 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4688 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4689 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4690 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4691 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4692 = private unnamed_addr constant [3 x i8] c", \00" @.str4693 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4694 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4695 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4696 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4697 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4698 = private unnamed_addr constant [6 x i8] c"load \00" @.str4699 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4700 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4701 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4702 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4703 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4704 = private unnamed_addr constant [6 x i8] c"ls_ic\00" @.str4705 = private unnamed_addr constant [6 x i8] c"ls_ib\00" @.str4706 = private unnamed_addr constant [6 x i8] c"ls_ie\00" @.str4707 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4708 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4709 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4710 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4711 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4712 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4713 = private unnamed_addr constant [6 x i8] c"load \00" @.str4714 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4715 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str4716 = private unnamed_addr constant [2 x i8] c" \00" @.str4717 = private unnamed_addr constant [3 x i8] c", \00" @.str4718 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str4719 = private unnamed_addr constant [3 x i8] c", \00" @.str4720 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4721 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4722 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4723 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4724 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4725 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4726 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4727 = private unnamed_addr constant [9 x i8] c" store \00" @.str4728 = private unnamed_addr constant [2 x i8] c" \00" @.str4729 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4730 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4731 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4732 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4733 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4734 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4735 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4736 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4737 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4738 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4739 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4740 = private unnamed_addr constant [9 x i8] c" store \00" @.str4741 = private unnamed_addr constant [2 x i8] c" \00" @.str4742 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4743 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4744 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4745 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4746 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4747 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4748 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4749 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4750 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4751 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4752 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4753 = private unnamed_addr constant [1 x i8] c"\00" @.str4754 = private unnamed_addr constant [1 x i8] c"\00" @.str4755 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4756 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4757 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4758 = private unnamed_addr constant [2 x i8] c"0\00" @.str4759 = private unnamed_addr constant [5 x i8] c"void\00" @.str4760 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str4761 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" @.str4762 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" @.str4763 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4764 = private unnamed_addr constant [2 x i8] c"0\00" @.str4765 = private unnamed_addr constant [5 x i8] c"void\00" @.str4766 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str4767 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str4768 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4769 = private unnamed_addr constant [8 x i8] c": key '\00" @.str4770 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" @.str4771 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str4772 = private unnamed_addr constant [5 x i8] c"void\00" @.str4773 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4774 = private unnamed_addr constant [8 x i8] c": key '\00" @.str4775 = private unnamed_addr constant [23 x i8] c"' must return a number\00" @.str4776 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str4777 = private unnamed_addr constant [2 x i8] c"0\00" @.str4778 = private unnamed_addr constant [5 x i8] c"void\00" @.str4779 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4780 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4781 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4782 = private unnamed_addr constant [2 x i8] c"0\00" @.str4783 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4784 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4785 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4786 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4787 = private unnamed_addr constant [8 x i8] c"lr_cond\00" @.str4788 = private unnamed_addr constant [8 x i8] c"lr_body\00" @.str4789 = private unnamed_addr constant [7 x i8] c"lr_end\00" @.str4790 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4791 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4792 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4793 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4794 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4795 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4796 = private unnamed_addr constant [3 x i8] c", \00" @.str4797 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4798 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4799 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4800 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4801 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4802 = private unnamed_addr constant [6 x i8] c"load \00" @.str4803 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4804 = private unnamed_addr constant [6 x i8] c"load \00" @.str4805 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4806 = private unnamed_addr constant [9 x i8] c" store \00" @.str4807 = private unnamed_addr constant [2 x i8] c" \00" @.str4808 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4809 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4810 = private unnamed_addr constant [9 x i8] c" store \00" @.str4811 = private unnamed_addr constant [2 x i8] c" \00" @.str4812 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4813 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4814 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4815 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4816 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4817 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4818 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4819 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4820 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4821 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4822 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4823 = private unnamed_addr constant [2 x i8] c"0\00" @.str4824 = private unnamed_addr constant [5 x i8] c"void\00" @.str4825 = private unnamed_addr constant [3 x i8] c"in\00" @.str4826 = private unnamed_addr constant [4 x i8] c"out\00" @.str4827 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str4828 = private unnamed_addr constant [5 x i8] c"back\00" @.str4829 = private unnamed_addr constant [7 x i8] c"bounce\00" @.str4830 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str4831 = private unnamed_addr constant [7 x i8] c"495616\00" @.str4832 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4833 = private unnamed_addr constant [8 x i8] c", 35747\00" @.str4834 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4835 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str4836 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4837 = private unnamed_addr constant [8 x i8] c", 53620\00" @.str4838 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4839 = private unnamed_addr constant [8 x i8] c", 61440\00" @.str4840 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4841 = private unnamed_addr constant [8 x i8] c", 62557\00" @.str4842 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4843 = private unnamed_addr constant [8 x i8] c", 64512\00" @.str4844 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4845 = private unnamed_addr constant [8 x i8] c", 59578\00" @.str4846 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4847 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4848 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4849 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4850 = private unnamed_addr constant [8 x i8] c", 47663\00" @.str4851 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4852 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4853 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4854 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4855 = private unnamed_addr constant [8 x i8] c", 23831\00" @.str4856 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4857 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4858 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4859 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str4860 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4861 = private unnamed_addr constant [4 x i8] c", 3\00" @.str4862 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4863 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4864 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4865 = private unnamed_addr constant [3 x i8] c", \00" @.str4866 = private unnamed_addr constant [7 x i8] c"177051\00" @.str4867 = private unnamed_addr constant [7 x i8] c"111515\00" @.str4868 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4869 = private unnamed_addr constant [3 x i8] c", \00" @.str4870 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4871 = private unnamed_addr constant [5 x i8] c", 10\00" @.str4872 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str4873 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str4874 = private unnamed_addr constant [2 x i8] c")\00" @.str4875 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4876 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str4877 = private unnamed_addr constant [7 x i8] c"137258\00" @.str4878 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str4879 = private unnamed_addr constant [2 x i8] c")\00" @.str4880 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4881 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str4882 = private unnamed_addr constant [3 x i8] c"in\00" @.str4883 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4884 = private unnamed_addr constant [4 x i8] c"out\00" @.str4885 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4886 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str4887 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4888 = private unnamed_addr constant [5 x i8] c"back\00" @.str4889 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4890 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str4891 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4892 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4893 = private unnamed_addr constant [6 x i8] c"frame\00" @.str4894 = private unnamed_addr constant [5 x i8] c"once\00" @.str4895 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str4896 = private unnamed_addr constant [9 x i8] c"finished\00" @.str4897 = private unnamed_addr constant [9 x i8] c"duration\00" @.str4898 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str4899 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str4900 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str4901 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4902 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str4903 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4904 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4905 = private unnamed_addr constant [3 x i8] c", \00" @.str4906 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str4907 = private unnamed_addr constant [5 x i8] c", 16\00" @.str4908 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str4909 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4910 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4911 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4912 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4913 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str4914 = private unnamed_addr constant [6 x i8] c"frame\00" @.str4915 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str4916 = private unnamed_addr constant [3 x i8] c", \00" @.str4917 = private unnamed_addr constant [4 x i8] c"int\00" @.str4918 = private unnamed_addr constant [5 x i8] c"once\00" @.str4919 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4920 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4921 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4922 = private unnamed_addr constant [3 x i8] c", \00" @.str4923 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4924 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4925 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4926 = private unnamed_addr constant [4 x i8] c"int\00" @.str4927 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str4928 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4929 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4930 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4931 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4932 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str4933 = private unnamed_addr constant [3 x i8] c", \00" @.str4934 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4935 = private unnamed_addr constant [3 x i8] c", \00" @.str4936 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4937 = private unnamed_addr constant [3 x i8] c", \00" @.str4938 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4939 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4940 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4941 = private unnamed_addr constant [4 x i8] c"int\00" @.str4942 = private unnamed_addr constant [9 x i8] c"finished\00" @.str4943 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4944 = private unnamed_addr constant [3 x i8] c", \00" @.str4945 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str4946 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4947 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4948 = private unnamed_addr constant [9 x i8] c"duration\00" @.str4949 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str4950 = private unnamed_addr constant [5 x i8] c", 16\00" @.str4951 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str4952 = private unnamed_addr constant [3 x i8] c", \00" @.str4953 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4954 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str4955 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str4956 = private unnamed_addr constant [3 x i8] c", \00" @.str4957 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4958 = private unnamed_addr constant [3 x i8] c", \00" @.str4959 = private unnamed_addr constant [4 x i8] c"int\00" @.str4960 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str4961 = private unnamed_addr constant [3 x i8] c", \00" @.str4962 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4963 = private unnamed_addr constant [3 x i8] c", \00" @.str4964 = private unnamed_addr constant [4 x i8] c"int\00" @.str4965 = private unnamed_addr constant [9 x i8] c"progress\00" @.str4966 = private unnamed_addr constant [5 x i8] c"loop\00" @.str4967 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str4968 = private unnamed_addr constant [5 x i8] c"done\00" @.str4969 = private unnamed_addr constant [5 x i8] c"ease\00" @.str4970 = private unnamed_addr constant [7 x i8] c"number\00" @.str4971 = private unnamed_addr constant [6 x i8] c"round\00" @.str4972 = private unnamed_addr constant [6 x i8] c"point\00" @.str4973 = private unnamed_addr constant [5 x i8] c"tint\00" @.str4974 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4975 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4976 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4977 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4978 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str4979 = private unnamed_addr constant [9 x i8] c"progress\00" @.str4980 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4981 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4982 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4983 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4984 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str4985 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4986 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4987 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4988 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str4989 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4990 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str4991 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4992 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str4993 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4994 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4995 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str4996 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4997 = private unnamed_addr constant [5 x i8] c"loop\00" @.str4998 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str4999 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str5000 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5001 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str5002 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5003 = private unnamed_addr constant [9 x i8] c", 131072\00" @.str5004 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str5005 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str5006 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5007 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5008 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5009 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5010 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5011 = private unnamed_addr constant [5 x i8] c"done\00" @.str5012 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00" @.str5013 = private unnamed_addr constant [2 x i8] c")\00" @.str5014 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5015 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5016 = private unnamed_addr constant [3 x i8] c", \00" @.str5017 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5018 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5019 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5020 = private unnamed_addr constant [5 x i8] c"ease\00" @.str5021 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" @.str5022 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5023 = private unnamed_addr constant [7 x i8] c"number\00" @.str5024 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5025 = private unnamed_addr constant [6 x i8] c"round\00" @.str5026 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5027 = private unnamed_addr constant [3 x i8] c", \00" @.str5028 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5029 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5030 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5031 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5032 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5033 = private unnamed_addr constant [3 x i8] c", \00" @.str5034 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5035 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str5036 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str5037 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5038 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5039 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5040 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5041 = private unnamed_addr constant [3 x i8] c", \00" @.str5042 = private unnamed_addr constant [4 x i8] c"int\00" @.str5043 = private unnamed_addr constant [6 x i8] c"point\00" @.str5044 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str5045 = private unnamed_addr constant [3 x i8] c"16\00" @.str5046 = private unnamed_addr constant [3 x i8] c"16\00" @.str5047 = private unnamed_addr constant [2 x i8] c"8\00" @.str5048 = private unnamed_addr constant [2 x i8] c"8\00" @.str5049 = private unnamed_addr constant [2 x i8] c"0\00" @.str5050 = private unnamed_addr constant [2 x i8] c"0\00" @.str5051 = private unnamed_addr constant [4 x i8] c"int\00" @.str5052 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5053 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5054 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5055 = private unnamed_addr constant [12 x i8] c"rect_circle\00" @.str5056 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5057 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5058 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5059 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5060 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5061 = private unnamed_addr constant [3 x i8] c", \00" @.str5062 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5063 = private unnamed_addr constant [3 x i8] c", \00" @.str5064 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5065 = private unnamed_addr constant [3 x i8] c", \00" @.str5066 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5067 = private unnamed_addr constant [3 x i8] c", \00" @.str5068 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5069 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5070 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5071 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5072 = private unnamed_addr constant [3 x i8] c", \00" @.str5073 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5074 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5075 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5076 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5077 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5078 = private unnamed_addr constant [3 x i8] c", \00" @.str5079 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5080 = private unnamed_addr constant [3 x i8] c", \00" @.str5081 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5082 = private unnamed_addr constant [3 x i8] c", \00" @.str5083 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5084 = private unnamed_addr constant [3 x i8] c", \00" @.str5085 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5086 = private unnamed_addr constant [3 x i8] c", \00" @.str5087 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5088 = private unnamed_addr constant [3 x i8] c", \00" @.str5089 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5090 = private unnamed_addr constant [3 x i8] c", \00" @.str5091 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5092 = private unnamed_addr constant [3 x i8] c", \00" @.str5093 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5094 = private unnamed_addr constant [3 x i8] c", \00" @.str5095 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5096 = private unnamed_addr constant [3 x i8] c", \00" @.str5097 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5098 = private unnamed_addr constant [3 x i8] c", \00" @.str5099 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5100 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5101 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5102 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5103 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5104 = private unnamed_addr constant [3 x i8] c", \00" @.str5105 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5106 = private unnamed_addr constant [3 x i8] c", \00" @.str5107 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5108 = private unnamed_addr constant [3 x i8] c", \00" @.str5109 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5110 = private unnamed_addr constant [3 x i8] c", \00" @.str5111 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5112 = private unnamed_addr constant [3 x i8] c", \00" @.str5113 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5114 = private unnamed_addr constant [3 x i8] c", \00" @.str5115 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5116 = private unnamed_addr constant [3 x i8] c", \00" @.str5117 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5118 = private unnamed_addr constant [3 x i8] c", \00" @.str5119 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5120 = private unnamed_addr constant [3 x i8] c", \00" @.str5121 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5122 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5123 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5124 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5125 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5126 = private unnamed_addr constant [3 x i8] c", \00" @.str5127 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5128 = private unnamed_addr constant [3 x i8] c", \00" @.str5129 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5130 = private unnamed_addr constant [3 x i8] c", \00" @.str5131 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5132 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5133 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5134 = private unnamed_addr constant [3 x i8] c", \00" @.str5135 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5136 = private unnamed_addr constant [3 x i8] c", \00" @.str5137 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5138 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5139 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5140 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5141 = private unnamed_addr constant [3 x i8] c", \00" @.str5142 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5143 = private unnamed_addr constant [3 x i8] c", \00" @.str5144 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5145 = private unnamed_addr constant [3 x i8] c", \00" @.str5146 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5147 = private unnamed_addr constant [3 x i8] c", \00" @.str5148 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5149 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5150 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5151 = private unnamed_addr constant [3 x i8] c", \00" @.str5152 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5153 = private unnamed_addr constant [3 x i8] c", \00" @.str5154 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5155 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5156 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5157 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5158 = private unnamed_addr constant [6 x i8] c"words\00" @.str5159 = private unnamed_addr constant [5 x i8] c"copy\00" @.str5160 = private unnamed_addr constant [5 x i8] c"fill\00" @.str5161 = private unnamed_addr constant [5 x i8] c"peek\00" @.str5162 = private unnamed_addr constant [5 x i8] c"poke\00" @.str5163 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5164 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5165 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5166 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5167 = private unnamed_addr constant [2 x i8] c")\00" @.str5168 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str5169 = private unnamed_addr constant [6 x i8] c"words\00" @.str5170 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5171 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5172 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5173 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5174 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5175 = private unnamed_addr constant [2 x i8] c")\00" @.str5176 = private unnamed_addr constant [6 x i8] c"words\00" @.str5177 = private unnamed_addr constant [5 x i8] c"copy\00" @.str5178 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5179 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5180 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str5181 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5182 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str5183 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5184 = private unnamed_addr constant [2 x i8] c"0\00" @.str5185 = private unnamed_addr constant [5 x i8] c"void\00" @.str5186 = private unnamed_addr constant [5 x i8] c"fill\00" @.str5187 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5188 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5189 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str5190 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5191 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str5192 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5193 = private unnamed_addr constant [2 x i8] c"0\00" @.str5194 = private unnamed_addr constant [5 x i8] c"void\00" @.str5195 = private unnamed_addr constant [5 x i8] c"peek\00" @.str5196 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str5197 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5198 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str5199 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str5200 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5201 = private unnamed_addr constant [4 x i8] c"int\00" @.str5202 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str5203 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5204 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str5205 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str5206 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str5207 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5208 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5209 = private unnamed_addr constant [2 x i8] c"0\00" @.str5210 = private unnamed_addr constant [5 x i8] c"void\00" @.str5211 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5212 = private unnamed_addr constant [6 x i8] c"delta\00" @.str5213 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str5214 = private unnamed_addr constant [4 x i8] c"now\00" @.str5215 = private unnamed_addr constant [6 x i8] c"since\00" @.str5216 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5217 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str5218 = private unnamed_addr constant [4 x i8] c"int\00" @.str5219 = private unnamed_addr constant [6 x i8] c"delta\00" @.str5220 = private unnamed_addr constant [5 x i8] c"1092\00" @.str5221 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5222 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str5223 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str5224 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5225 = private unnamed_addr constant [7 x i8] c", 1092\00" @.str5226 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5227 = private unnamed_addr constant [6 x i8] c"since\00" @.str5228 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str5229 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5230 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5231 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5232 = private unnamed_addr constant [3 x i8] c", \00" @.str5233 = private unnamed_addr constant [4 x i8] c"int\00" @.str5234 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str5235 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5236 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5237 = private unnamed_addr constant [4 x i8] c"int\00" @.str5238 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str5239 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str5240 = private unnamed_addr constant [6 x i8] c"hours\00" @.str5241 = private unnamed_addr constant [5 x i8] c"days\00" @.str5242 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str5243 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str5244 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str5245 = private unnamed_addr constant [8 x i8] c"as_days\00" @.str5246 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str5247 = private unnamed_addr constant [4 x i8] c"int\00" @.str5248 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str5249 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5250 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5251 = private unnamed_addr constant [4 x i8] c"int\00" @.str5252 = private unnamed_addr constant [6 x i8] c"hours\00" @.str5253 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5254 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5255 = private unnamed_addr constant [4 x i8] c"int\00" @.str5256 = private unnamed_addr constant [5 x i8] c"days\00" @.str5257 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5258 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5259 = private unnamed_addr constant [4 x i8] c"int\00" @.str5260 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str5261 = private unnamed_addr constant [4 x i8] c"int\00" @.str5262 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str5263 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5264 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5265 = private unnamed_addr constant [4 x i8] c"int\00" @.str5266 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str5267 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5268 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5269 = private unnamed_addr constant [4 x i8] c"int\00" @.str5270 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5271 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5272 = private unnamed_addr constant [4 x i8] c"int\00" @.str5273 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5274 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5275 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5276 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str5277 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5278 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5279 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5280 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5281 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5282 = private unnamed_addr constant [4 x i8] c"new\00" @.str5283 = private unnamed_addr constant [5 x i8] c"year\00" @.str5284 = private unnamed_addr constant [6 x i8] c"month\00" @.str5285 = private unnamed_addr constant [4 x i8] c"day\00" @.str5286 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str5287 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str5288 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str5289 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str5290 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str5291 = private unnamed_addr constant [10 x i8] c"diff_days\00" @.str5292 = private unnamed_addr constant [4 x i8] c"new\00" @.str5293 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5294 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5295 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5296 = private unnamed_addr constant [2 x i8] c")\00" @.str5297 = private unnamed_addr constant [4 x i8] c"int\00" @.str5298 = private unnamed_addr constant [5 x i8] c"year\00" @.str5299 = private unnamed_addr constant [4 x i8] c"int\00" @.str5300 = private unnamed_addr constant [6 x i8] c"month\00" @.str5301 = private unnamed_addr constant [4 x i8] c"int\00" @.str5302 = private unnamed_addr constant [4 x i8] c"day\00" @.str5303 = private unnamed_addr constant [4 x i8] c"int\00" @.str5304 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str5305 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5306 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5307 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5308 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5309 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5310 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5311 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5312 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5313 = private unnamed_addr constant [4 x i8] c"int\00" @.str5314 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str5315 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5316 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5317 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str5318 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5319 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5320 = private unnamed_addr constant [6 x i8] c", 100\00" @.str5321 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str5322 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5323 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5324 = private unnamed_addr constant [6 x i8] c", 400\00" @.str5325 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str5326 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5327 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5328 = private unnamed_addr constant [3 x i8] c", \00" @.str5329 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str5330 = private unnamed_addr constant [3 x i8] c", \00" @.str5331 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5332 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5333 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5334 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str5335 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5336 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5337 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str5338 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str5339 = private unnamed_addr constant [5 x i8] c", 12\00" @.str5340 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5341 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5342 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5343 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5344 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5345 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5346 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5347 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5348 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str5349 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5350 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5351 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str5352 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5353 = private unnamed_addr constant [3 x i8] c", \00" @.str5354 = private unnamed_addr constant [4 x i8] c"int\00" @.str5355 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str5356 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5357 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5358 = private unnamed_addr constant [4 x i8] c"int\00" @.str5359 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str5360 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5361 = private unnamed_addr constant [3 x i8] c", \00" @.str5362 = private unnamed_addr constant [4 x i8] c"int\00" @.str5363 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5364 = private unnamed_addr constant [3 x i8] c", \00" @.str5365 = private unnamed_addr constant [4 x i8] c"int\00" @.str5366 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5367 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5368 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5369 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5370 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5371 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5372 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5373 = private unnamed_addr constant [3 x i8] c", \00" @.str5374 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5375 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5376 = private unnamed_addr constant [5 x i8] c"from\00" @.str5377 = private unnamed_addr constant [5 x i8] c"date\00" @.str5378 = private unnamed_addr constant [4 x i8] c"add\00" @.str5379 = private unnamed_addr constant [5 x i8] c"year\00" @.str5380 = private unnamed_addr constant [6 x i8] c"month\00" @.str5381 = private unnamed_addr constant [4 x i8] c"day\00" @.str5382 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str5383 = private unnamed_addr constant [5 x i8] c"hour\00" @.str5384 = private unnamed_addr constant [7 x i8] c"minute\00" @.str5385 = private unnamed_addr constant [7 x i8] c"second\00" @.str5386 = private unnamed_addr constant [7 x i8] c"format\00" @.str5387 = private unnamed_addr constant [6 x i8] c"parse\00" @.str5388 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str5389 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5390 = private unnamed_addr constant [2 x i8] c")\00" @.str5391 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\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 [4 x i8] c"i32\00" @.str5395 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str5396 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5397 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5398 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5399 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5400 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5401 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5402 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5403 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5404 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5405 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5406 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5407 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5408 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5409 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5410 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5411 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5412 = private unnamed_addr constant [6 x i8] c", 100\00" @.str5413 = private unnamed_addr constant [1 x i8] c"\00" @.str5414 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str5415 = private unnamed_addr constant [3 x i8] c"YY\00" @.str5416 = private unnamed_addr constant [3 x i8] c"MM\00" @.str5417 = private unnamed_addr constant [3 x i8] c"DD\00" @.str5418 = private unnamed_addr constant [3 x i8] c"HH\00" @.str5419 = private unnamed_addr constant [3 x i8] c"mm\00" @.str5420 = private unnamed_addr constant [3 x i8] c"ss\00" @.str5421 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00" @.str5422 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5423 = private unnamed_addr constant [2 x i8] c")\00" @.str5424 = private unnamed_addr constant [7 x i8] c"string\00" @.str5425 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" @.str5426 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5427 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5428 = private unnamed_addr constant [2 x i8] c"0\00" @.str5429 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5430 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5431 = private unnamed_addr constant [5 x i8] c"1970\00" @.str5432 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5433 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5434 = private unnamed_addr constant [2 x i8] c"1\00" @.str5435 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5436 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5437 = private unnamed_addr constant [2 x i8] c"1\00" @.str5438 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5439 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5440 = private unnamed_addr constant [2 x i8] c"0\00" @.str5441 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5442 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5443 = private unnamed_addr constant [2 x i8] c"0\00" @.str5444 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5445 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5446 = private unnamed_addr constant [2 x i8] c"0\00" @.str5447 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str5448 = private unnamed_addr constant [3 x i8] c"MM\00" @.str5449 = private unnamed_addr constant [3 x i8] c"DD\00" @.str5450 = private unnamed_addr constant [3 x i8] c"HH\00" @.str5451 = private unnamed_addr constant [3 x i8] c"mm\00" @.str5452 = private unnamed_addr constant [3 x i8] c"ss\00" @.str5453 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00" @.str5454 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5455 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5456 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5457 = private unnamed_addr constant [2 x i8] c")\00" @.str5458 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5459 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5460 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5461 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5462 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5463 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5464 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5465 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5466 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5467 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5468 = private unnamed_addr constant [2 x i8] c")\00" @.str5469 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5470 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5471 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5472 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5473 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5474 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5475 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5476 = private unnamed_addr constant [3 x i8] c", \00" @.str5477 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5478 = private unnamed_addr constant [3 x i8] c", \00" @.str5479 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5480 = private unnamed_addr constant [3 x i8] c", \00" @.str5481 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5482 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str5483 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5484 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5485 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str5486 = private unnamed_addr constant [4 x i8] c"int\00" @.str5487 = private unnamed_addr constant [7 x i8] c"format\00" @.str5488 = private unnamed_addr constant [6 x i8] c"parse\00" @.str5489 = private unnamed_addr constant [5 x i8] c"from\00" @.str5490 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5491 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5492 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5493 = private unnamed_addr constant [2 x i8] c")\00" @.str5494 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5495 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5496 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5497 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5498 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5499 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5500 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5501 = private unnamed_addr constant [3 x i8] c", \00" @.str5502 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5503 = private unnamed_addr constant [3 x i8] c", \00" @.str5504 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5505 = private unnamed_addr constant [3 x i8] c", \00" @.str5506 = private unnamed_addr constant [4 x i8] c"int\00" @.str5507 = private unnamed_addr constant [5 x i8] c"date\00" @.str5508 = private unnamed_addr constant [4 x i8] c"int\00" @.str5509 = private unnamed_addr constant [4 x i8] c"add\00" @.str5510 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5511 = private unnamed_addr constant [3 x i8] c", \00" @.str5512 = private unnamed_addr constant [4 x i8] c"int\00" @.str5513 = private unnamed_addr constant [5 x i8] c"year\00" @.str5514 = private unnamed_addr constant [4 x i8] c"int\00" @.str5515 = private unnamed_addr constant [6 x i8] c"month\00" @.str5516 = private unnamed_addr constant [4 x i8] c"int\00" @.str5517 = private unnamed_addr constant [4 x i8] c"day\00" @.str5518 = private unnamed_addr constant [4 x i8] c"int\00" @.str5519 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str5520 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5521 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5522 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5523 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5524 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5525 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5526 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5527 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5528 = private unnamed_addr constant [4 x i8] c"int\00" @.str5529 = private unnamed_addr constant [5 x i8] c"hour\00" @.str5530 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5531 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5532 = private unnamed_addr constant [4 x i8] c"int\00" @.str5533 = private unnamed_addr constant [7 x i8] c"minute\00" @.str5534 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5535 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5536 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5537 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5538 = private unnamed_addr constant [4 x i8] c"int\00" @.str5539 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5540 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5541 = private unnamed_addr constant [4 x i8] c"int\00" @.str5542 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" @.str5543 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" @.str5544 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" @.str5545 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" @.str5546 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str5547 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" @.str5548 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" @.str5549 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" @.str5550 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str5551 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" @.str5552 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" @.str5553 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" @.str5554 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" @.str5555 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" @.str5556 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" @.str5557 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" @.str5558 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" @.str5559 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" @.str5560 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str5561 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str5562 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str5563 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" @.str5564 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" @.str5565 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" @.str5566 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" @.str5567 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" @.str5568 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" @.str5569 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str5570 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5571 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" @.str5572 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" @.str5573 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" @.str5574 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" @.str5575 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" @.str5576 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" @.str5577 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" @.str5578 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" @.str5579 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" @.str5580 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" @.str5581 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" @.str5582 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" @.str5583 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" @.str5584 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" @.str5585 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" @.str5586 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str5587 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" @.str5588 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str5589 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str5590 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str5591 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" @.str5592 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" @.str5593 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" @.str5594 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" @.str5595 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" @.str5596 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" @.str5597 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" @.str5598 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" @.str5599 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" @.str5600 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" @.str5601 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" @.str5602 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" @.str5603 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" @.str5604 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" @.str5605 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" @.str5606 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" @.str5607 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" @.str5608 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" @.str5609 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" @.str5610 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" @.str5611 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" @.str5612 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5613 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5614 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00" @.str5615 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" @.str5616 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" @.str5617 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00" @.str5618 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" @.str5619 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" @.str5620 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" @.str5621 = 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" @.str5622 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str5623 = 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" @.str5624 = 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" @.str5625 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" @.str5626 = 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" @.str5627 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" @.str5628 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" @.str5629 = 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" @.str5630 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str5631 = 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" @.str5632 = 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" @.str5633 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" @.str5634 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" @.str5635 = 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" @.str5636 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" @.str5637 = 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" @.str5638 = 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" @.str5639 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" @.str5640 = private unnamed_addr constant [4 x i8] c"now\00" @.str5641 = private unnamed_addr constant [4 x i8] c"set\00" @.str5642 = private unnamed_addr constant [8 x i8] c"advance\00" @.str5643 = private unnamed_addr constant [6 x i8] c"reset\00" @.str5644 = private unnamed_addr constant [4 x i8] c"now\00" @.str5645 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str5646 = private unnamed_addr constant [4 x i8] c"int\00" @.str5647 = private unnamed_addr constant [6 x i8] c"reset\00" @.str5648 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" @.str5649 = private unnamed_addr constant [2 x i8] c"0\00" @.str5650 = private unnamed_addr constant [5 x i8] c"void\00" @.str5651 = private unnamed_addr constant [4 x i8] c"set\00" @.str5652 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5653 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str5654 = private unnamed_addr constant [2 x i8] c"0\00" @.str5655 = private unnamed_addr constant [5 x i8] c"void\00" @.str5656 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str5657 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5658 = private unnamed_addr constant [3 x i8] c", \00" @.str5659 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5660 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str5661 = private unnamed_addr constant [2 x i8] c"0\00" @.str5662 = private unnamed_addr constant [5 x i8] c"void\00" @.str5663 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str5664 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str5665 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str5666 = private unnamed_addr constant [7 x i8] c"darken\00" @.str5667 = private unnamed_addr constant [8 x i8] c"lighten\00" @.str5668 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str5669 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str5670 = private unnamed_addr constant [3 x i8] c", \00" @.str5671 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str5672 = private unnamed_addr constant [6 x i8] c", 255\00" @.str5673 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str5674 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5675 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str5676 = private unnamed_addr constant [4 x i8] c", 8\00" @.str5677 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str5678 = private unnamed_addr constant [3 x i8] c", \00" @.str5679 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str5680 = private unnamed_addr constant [3 x i8] c", \00" @.str5681 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5682 = private unnamed_addr constant [3 x i8] c", \00" @.str5683 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5684 = private unnamed_addr constant [3 x i8] c", \00" @.str5685 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str5686 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5687 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5688 = private unnamed_addr constant [3 x i8] c", \00" @.str5689 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str5690 = private unnamed_addr constant [4 x i8] c"int\00" @.str5691 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str5692 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str5693 = private unnamed_addr constant [5 x i8] c", 24\00" @.str5694 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str5695 = private unnamed_addr constant [3 x i8] c", \00" @.str5696 = private unnamed_addr constant [4 x i8] c"int\00" @.str5697 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str5698 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str5699 = private unnamed_addr constant [11 x i8] c", 16777215\00" @.str5700 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str5701 = private unnamed_addr constant [5 x i8] c", 24\00" @.str5702 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str5703 = private unnamed_addr constant [3 x i8] c", \00" @.str5704 = private unnamed_addr constant [4 x i8] c"int\00" @.str5705 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str5706 = private unnamed_addr constant [3 x i8] c"16\00" @.str5707 = private unnamed_addr constant [3 x i8] c"16\00" @.str5708 = private unnamed_addr constant [2 x i8] c"8\00" @.str5709 = private unnamed_addr constant [2 x i8] c"8\00" @.str5710 = private unnamed_addr constant [2 x i8] c"0\00" @.str5711 = private unnamed_addr constant [2 x i8] c"0\00" @.str5712 = private unnamed_addr constant [4 x i8] c"int\00" @.str5713 = private unnamed_addr constant [7 x i8] c"darken\00" @.str5714 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str5715 = private unnamed_addr constant [3 x i8] c"16\00" @.str5716 = private unnamed_addr constant [2 x i8] c"8\00" @.str5717 = private unnamed_addr constant [2 x i8] c"0\00" @.str5718 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5719 = private unnamed_addr constant [3 x i8] c", \00" @.str5720 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str5721 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5722 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5723 = private unnamed_addr constant [3 x i8] c", \00" @.str5724 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str5725 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5726 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5727 = private unnamed_addr constant [3 x i8] c", \00" @.str5728 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str5729 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5730 = private unnamed_addr constant [4 x i8] c"int\00" @.str5731 = private unnamed_addr constant [3 x i8] c"16\00" @.str5732 = private unnamed_addr constant [2 x i8] c"8\00" @.str5733 = private unnamed_addr constant [2 x i8] c"0\00" @.str5734 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str5735 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5736 = private unnamed_addr constant [3 x i8] c", \00" @.str5737 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str5738 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5739 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5740 = private unnamed_addr constant [3 x i8] c", \00" @.str5741 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str5742 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5743 = private unnamed_addr constant [3 x i8] c", \00" @.str5744 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str5745 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5746 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5747 = private unnamed_addr constant [3 x i8] c", \00" @.str5748 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str5749 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5750 = private unnamed_addr constant [3 x i8] c", \00" @.str5751 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str5752 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5753 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5754 = private unnamed_addr constant [3 x i8] c", \00" @.str5755 = private unnamed_addr constant [4 x i8] c"int\00" @.str5756 = private unnamed_addr constant [6 x i8] c"White\00" @.str5757 = private unnamed_addr constant [5 x i8] c"Snow\00" @.str5758 = private unnamed_addr constant [6 x i8] c"Ivory\00" @.str5759 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" @.str5760 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" @.str5761 = private unnamed_addr constant [9 x i8] c"SeaShell\00" @.str5762 = private unnamed_addr constant [6 x i8] c"Linen\00" @.str5763 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" @.str5764 = private unnamed_addr constant [8 x i8] c"OldLace\00" @.str5765 = private unnamed_addr constant [6 x i8] c"Beige\00" @.str5766 = private unnamed_addr constant [6 x i8] c"Cream\00" @.str5767 = private unnamed_addr constant [9 x i8] c"Honeydew\00" @.str5768 = private unnamed_addr constant [10 x i8] c"MintCream\00" @.str5769 = private unnamed_addr constant [6 x i8] c"Azure\00" @.str5770 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" @.str5771 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" @.str5772 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" @.str5773 = private unnamed_addr constant [9 x i8] c"Lavender\00" @.str5774 = private unnamed_addr constant [5 x i8] c"Bone\00" @.str5775 = private unnamed_addr constant [10 x i8] c"Parchment\00" @.str5776 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" @.str5777 = private unnamed_addr constant [10 x i8] c"LightGray\00" @.str5778 = private unnamed_addr constant [7 x i8] c"Silver\00" @.str5779 = private unnamed_addr constant [4 x i8] c"Ash\00" @.str5780 = private unnamed_addr constant [9 x i8] c"DarkGray\00" @.str5781 = private unnamed_addr constant [5 x i8] c"Gray\00" @.str5782 = private unnamed_addr constant [8 x i8] c"DimGray\00" @.str5783 = private unnamed_addr constant [7 x i8] c"Nickel\00" @.str5784 = private unnamed_addr constant [6 x i8] c"Slate\00" @.str5785 = private unnamed_addr constant [10 x i8] c"SlateGray\00" @.str5786 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" @.str5787 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" @.str5788 = private unnamed_addr constant [9 x i8] c"Charcoal\00" @.str5789 = private unnamed_addr constant [9 x i8] c"Graphite\00" @.str5790 = private unnamed_addr constant [5 x i8] c"Onyx\00" @.str5791 = private unnamed_addr constant [4 x i8] c"Jet\00" @.str5792 = private unnamed_addr constant [6 x i8] c"Black\00" @.str5793 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" @.str5794 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" @.str5795 = private unnamed_addr constant [6 x i8] c"Ebony\00" @.str5796 = private unnamed_addr constant [4 x i8] c"Red\00" @.str5797 = private unnamed_addr constant [8 x i8] c"Crimson\00" @.str5798 = private unnamed_addr constant [8 x i8] c"Scarlet\00" @.str5799 = private unnamed_addr constant [10 x i8] c"Vermilion\00" @.str5800 = private unnamed_addr constant [10 x i8] c"FireBrick\00" @.str5801 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" @.str5802 = private unnamed_addr constant [8 x i8] c"DarkRed\00" @.str5803 = private unnamed_addr constant [7 x i8] c"Maroon\00" @.str5804 = private unnamed_addr constant [5 x i8] c"Ruby\00" @.str5805 = private unnamed_addr constant [9 x i8] c"Cardinal\00" @.str5806 = private unnamed_addr constant [10 x i8] c"IndianRed\00" @.str5807 = private unnamed_addr constant [5 x i8] c"Rust\00" @.str5808 = private unnamed_addr constant [8 x i8] c"Sangria\00" @.str5809 = private unnamed_addr constant [8 x i8] c"Redwood\00" @.str5810 = private unnamed_addr constant [7 x i8] c"Cerise\00" @.str5811 = private unnamed_addr constant [9 x i8] c"Amaranth\00" @.str5812 = private unnamed_addr constant [8 x i8] c"Carmine\00" @.str5813 = private unnamed_addr constant [9 x i8] c"Chestnut\00" @.str5814 = private unnamed_addr constant [6 x i8] c"Brick\00" @.str5815 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" @.str5816 = private unnamed_addr constant [5 x i8] c"Pink\00" @.str5817 = private unnamed_addr constant [10 x i8] c"LightPink\00" @.str5818 = private unnamed_addr constant [8 x i8] c"HotPink\00" @.str5819 = private unnamed_addr constant [9 x i8] c"DeepPink\00" @.str5820 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" @.str5821 = private unnamed_addr constant [5 x i8] c"Rose\00" @.str5822 = private unnamed_addr constant [6 x i8] c"Blush\00" @.str5823 = private unnamed_addr constant [7 x i8] c"Salmon\00" @.str5824 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" @.str5825 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" @.str5826 = private unnamed_addr constant [6 x i8] c"Coral\00" @.str5827 = private unnamed_addr constant [11 x i8] c"Watermelon\00" @.str5828 = private unnamed_addr constant [9 x i8] c"Flamingo\00" @.str5829 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" @.str5830 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" @.str5831 = private unnamed_addr constant [8 x i8] c"Magenta\00" @.str5832 = private unnamed_addr constant [6 x i8] c"Mauve\00" @.str5833 = private unnamed_addr constant [5 x i8] c"Puce\00" @.str5834 = private unnamed_addr constant [8 x i8] c"Thistle\00" @.str5835 = private unnamed_addr constant [7 x i8] c"Orchid\00" @.str5836 = private unnamed_addr constant [7 x i8] c"Orange\00" @.str5837 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" @.str5838 = private unnamed_addr constant [10 x i8] c"Tangerine\00" @.str5839 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" @.str5840 = private unnamed_addr constant [8 x i8] c"Apricot\00" @.str5841 = private unnamed_addr constant [6 x i8] c"Peach\00" @.str5842 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" @.str5843 = private unnamed_addr constant [6 x i8] c"Amber\00" @.str5844 = private unnamed_addr constant [7 x i8] c"Bronze\00" @.str5845 = private unnamed_addr constant [7 x i8] c"Copper\00" @.str5846 = private unnamed_addr constant [9 x i8] c"Marigold\00" @.str5847 = private unnamed_addr constant [7 x i8] c"Carrot\00" @.str5848 = private unnamed_addr constant [10 x i8] c"Persimmon\00" @.str5849 = private unnamed_addr constant [7 x i8] c"Papaya\00" @.str5850 = private unnamed_addr constant [7 x i8] c"Sunset\00" @.str5851 = private unnamed_addr constant [7 x i8] c"Yellow\00" @.str5852 = private unnamed_addr constant [12 x i8] c"LightYellow\00" @.str5853 = private unnamed_addr constant [5 x i8] c"Gold\00" @.str5854 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" @.str5855 = private unnamed_addr constant [6 x i8] c"Lemon\00" @.str5856 = private unnamed_addr constant [7 x i8] c"Canary\00" @.str5857 = private unnamed_addr constant [8 x i8] c"Mustard\00" @.str5858 = private unnamed_addr constant [5 x i8] c"Flax\00" @.str5859 = private unnamed_addr constant [6 x i8] c"Wheat\00" @.str5860 = private unnamed_addr constant [5 x i8] c"Corn\00" @.str5861 = private unnamed_addr constant [10 x i8] c"Dandelion\00" @.str5862 = private unnamed_addr constant [8 x i8] c"Saffron\00" @.str5863 = private unnamed_addr constant [6 x i8] c"Khaki\00" @.str5864 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" @.str5865 = private unnamed_addr constant [6 x i8] c"Straw\00" @.str5866 = private unnamed_addr constant [6 x i8] c"Brown\00" @.str5867 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" @.str5868 = private unnamed_addr constant [7 x i8] c"Sienna\00" @.str5869 = private unnamed_addr constant [10 x i8] c"Chocolate\00" @.str5870 = private unnamed_addr constant [5 x i8] c"Peru\00" @.str5871 = private unnamed_addr constant [4 x i8] c"Tan\00" @.str5872 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" @.str5873 = private unnamed_addr constant [5 x i8] c"Sand\00" @.str5874 = private unnamed_addr constant [7 x i8] c"Coffee\00" @.str5875 = private unnamed_addr constant [9 x i8] c"Espresso\00" @.str5876 = private unnamed_addr constant [9 x i8] c"Mahogany\00" @.str5877 = private unnamed_addr constant [7 x i8] c"Walnut\00" @.str5878 = private unnamed_addr constant [6 x i8] c"Umber\00" @.str5879 = private unnamed_addr constant [6 x i8] c"Sepia\00" @.str5880 = private unnamed_addr constant [6 x i8] c"Taupe\00" @.str5881 = private unnamed_addr constant [5 x i8] c"Fawn\00" @.str5882 = private unnamed_addr constant [8 x i8] c"Caramel\00" @.str5883 = private unnamed_addr constant [6 x i8] c"Cocoa\00" @.str5884 = private unnamed_addr constant [6 x i8] c"Hazel\00" @.str5885 = private unnamed_addr constant [6 x i8] c"Wenge\00" @.str5886 = private unnamed_addr constant [6 x i8] c"Green\00" @.str5887 = private unnamed_addr constant [5 x i8] c"Lime\00" @.str5888 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" @.str5889 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" @.str5890 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" @.str5891 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" @.str5892 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" @.str5893 = private unnamed_addr constant [10 x i8] c"MintGreen\00" @.str5894 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" @.str5895 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" @.str5896 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" @.str5897 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" @.str5898 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" @.str5899 = private unnamed_addr constant [6 x i8] c"Olive\00" @.str5900 = private unnamed_addr constant [5 x i8] c"Moss\00" @.str5901 = private unnamed_addr constant [5 x i8] c"Fern\00" @.str5902 = private unnamed_addr constant [8 x i8] c"Emerald\00" @.str5903 = private unnamed_addr constant [5 x i8] c"Jade\00" @.str5904 = private unnamed_addr constant [10 x i8] c"Malachite\00" @.str5905 = private unnamed_addr constant [9 x i8] c"Shamrock\00" @.str5906 = private unnamed_addr constant [10 x i8] c"Pistachio\00" @.str5907 = private unnamed_addr constant [8 x i8] c"Avocado\00" @.str5908 = private unnamed_addr constant [5 x i8] c"Pine\00" @.str5909 = private unnamed_addr constant [5 x i8] c"Sage\00" @.str5910 = private unnamed_addr constant [6 x i8] c"Kelly\00" @.str5911 = private unnamed_addr constant [7 x i8] c"Hunter\00" @.str5912 = private unnamed_addr constant [6 x i8] c"Basil\00" @.str5913 = private unnamed_addr constant [7 x i8] c"Clover\00" @.str5914 = private unnamed_addr constant [8 x i8] c"Juniper\00" @.str5915 = private unnamed_addr constant [5 x i8] c"Neon\00" @.str5916 = private unnamed_addr constant [5 x i8] c"Cyan\00" @.str5917 = private unnamed_addr constant [5 x i8] c"Aqua\00" @.str5918 = private unnamed_addr constant [10 x i8] c"LightCyan\00" @.str5919 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" @.str5920 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" @.str5921 = private unnamed_addr constant [10 x i8] c"Turquoise\00" @.str5922 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" @.str5923 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" @.str5924 = private unnamed_addr constant [5 x i8] c"Teal\00" @.str5925 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" @.str5926 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" @.str5927 = private unnamed_addr constant [7 x i8] c"Lagoon\00" @.str5928 = private unnamed_addr constant [8 x i8] c"Seafoam\00" @.str5929 = private unnamed_addr constant [9 x i8] c"Cerulean\00" @.str5930 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" @.str5931 = private unnamed_addr constant [6 x i8] c"Robin\00" @.str5932 = private unnamed_addr constant [10 x i8] c"Verdigris\00" @.str5933 = private unnamed_addr constant [8 x i8] c"Celadon\00" @.str5934 = private unnamed_addr constant [5 x i8] c"Blue\00" @.str5935 = private unnamed_addr constant [10 x i8] c"LightBlue\00" @.str5936 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" @.str5937 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" @.str5938 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" @.str5939 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" @.str5940 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" @.str5941 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" @.str5942 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" @.str5943 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" @.str5944 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" @.str5945 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" @.str5946 = private unnamed_addr constant [5 x i8] c"Navy\00" @.str5947 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" @.str5948 = private unnamed_addr constant [7 x i8] c"Cobalt\00" @.str5949 = private unnamed_addr constant [9 x i8] c"Sapphire\00" @.str5950 = private unnamed_addr constant [6 x i8] c"Denim\00" @.str5951 = private unnamed_addr constant [7 x i8] c"Indigo\00" @.str5952 = private unnamed_addr constant [9 x i8] c"Prussian\00" @.str5953 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" @.str5954 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" @.str5955 = private unnamed_addr constant [5 x i8] c"Iris\00" @.str5956 = private unnamed_addr constant [9 x i8] c"Glaucous\00" @.str5957 = private unnamed_addr constant [7 x i8] c"Zaffre\00" @.str5958 = private unnamed_addr constant [6 x i8] c"Berry\00" @.str5959 = private unnamed_addr constant [7 x i8] c"Purple\00" @.str5960 = private unnamed_addr constant [7 x i8] c"Violet\00" @.str5961 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" @.str5962 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" @.str5963 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" @.str5964 = private unnamed_addr constant [9 x i8] c"Amethyst\00" @.str5965 = private unnamed_addr constant [5 x i8] c"Plum\00" @.str5966 = private unnamed_addr constant [9 x i8] c"Eggplant\00" @.str5967 = private unnamed_addr constant [6 x i8] c"Grape\00" @.str5968 = private unnamed_addr constant [5 x i8] c"Wine\00" @.str5969 = private unnamed_addr constant [9 x i8] c"Mulberry\00" @.str5970 = private unnamed_addr constant [6 x i8] c"Lilac\00" @.str5971 = private unnamed_addr constant [9 x i8] c"Wisteria\00" @.str5972 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" @.str5973 = private unnamed_addr constant [10 x i8] c"Byzantium\00" @.str5974 = private unnamed_addr constant [7 x i8] c"Tyrian\00" @.str5975 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" @.str5976 = private unnamed_addr constant [8 x i8] c"Orchid2\00" @.str5977 = private unnamed_addr constant [6 x i8] c"Space\00" @.str5978 = private unnamed_addr constant [6 x i8] c"Enter\00" @.str5979 = private unnamed_addr constant [7 x i8] c"Return\00" @.str5980 = private unnamed_addr constant [7 x i8] c"Escape\00" @.str5981 = private unnamed_addr constant [4 x i8] c"Esc\00" @.str5982 = private unnamed_addr constant [6 x i8] c"Shift\00" @.str5983 = private unnamed_addr constant [4 x i8] c"Tab\00" @.str5984 = private unnamed_addr constant [10 x i8] c"Backspace\00" @.str5985 = private unnamed_addr constant [3 x i8] c"Up\00" @.str5986 = private unnamed_addr constant [5 x i8] c"Down\00" @.str5987 = private unnamed_addr constant [5 x i8] c"Left\00" @.str5988 = private unnamed_addr constant [6 x i8] c"Right\00" @.str5989 = private unnamed_addr constant [7 x i8] c"Digit0\00" @.str5990 = private unnamed_addr constant [7 x i8] c"Digit1\00" @.str5991 = private unnamed_addr constant [7 x i8] c"Digit2\00" @.str5992 = private unnamed_addr constant [7 x i8] c"Digit3\00" @.str5993 = private unnamed_addr constant [7 x i8] c"Digit4\00" @.str5994 = private unnamed_addr constant [7 x i8] c"Digit5\00" @.str5995 = private unnamed_addr constant [7 x i8] c"Digit6\00" @.str5996 = private unnamed_addr constant [7 x i8] c"Digit7\00" @.str5997 = private unnamed_addr constant [7 x i8] c"Digit8\00" @.str5998 = private unnamed_addr constant [7 x i8] c"Digit9\00" @.str5999 = private unnamed_addr constant [15 x i8] c"getelementptr \00" @.str6000 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" @.str6001 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str6002 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6003 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" @.str6004 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6005 = private unnamed_addr constant [2 x i8] c")\00" @.str6006 = private unnamed_addr constant [3 x i8] c" \00" @.str6007 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6008 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6009 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6010 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6011 = private unnamed_addr constant [2 x i8] c"0\00" @.str6012 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6013 = private unnamed_addr constant [5 x i8] c"null\00" @.str6014 = private unnamed_addr constant [9 x i8] c" store \00" @.str6015 = private unnamed_addr constant [2 x i8] c" \00" @.str6016 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6017 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6018 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str6019 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6020 = private unnamed_addr constant [2 x i8] c")\00" @.str6021 = private unnamed_addr constant [3 x i8] c" \00" @.str6022 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6023 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str6024 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str6025 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6026 = private unnamed_addr constant [3 x i8] c" \00" @.str6027 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6028 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str6029 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6030 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6031 = private unnamed_addr constant [3 x i8] c" \00" @.str6032 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6033 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" @.str6034 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6035 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6036 = private unnamed_addr constant [3 x i8] c" \00" @.str6037 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6038 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6039 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6040 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6041 = private unnamed_addr constant [4 x i8] c"int\00" @.str6042 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str6043 = private unnamed_addr constant [2 x i8] c")\00" @.str6044 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6045 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6046 = private unnamed_addr constant [4 x i8] c"int\00" @.str6047 = private unnamed_addr constant [2 x i8] c"0\00" @.str6048 = private unnamed_addr constant [5 x i8] c"void\00" @.str6049 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00" @.str6050 = private unnamed_addr constant [3 x i8] c"[]\00" @.str6051 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00" @.str6052 = private unnamed_addr constant [6 x i8] c" and \00" @.str6053 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6054 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6055 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str6056 = private unnamed_addr constant [3 x i8] c", \00" @.str6057 = private unnamed_addr constant [5 x i8] c"grow\00" @.str6058 = private unnamed_addr constant [4 x i8] c"put\00" @.str6059 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6060 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6061 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6062 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6063 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6064 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6065 = private unnamed_addr constant [4 x i8] c", 2\00" @.str6066 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6067 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6068 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6069 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str6070 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6071 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6072 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6073 = private unnamed_addr constant [3 x i8] c", \00" @.str6074 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6075 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str6076 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6077 = private unnamed_addr constant [2 x i8] c")\00" @.str6078 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6079 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6080 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6081 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6082 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6083 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6084 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6085 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6086 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6087 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6088 = private unnamed_addr constant [3 x i8] c" \00" @.str6089 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6090 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6091 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6092 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6093 = private unnamed_addr constant [9 x i8] c" store \00" @.str6094 = private unnamed_addr constant [2 x i8] c" \00" @.str6095 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6096 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6097 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6098 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6099 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6100 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6101 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6102 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6103 = private unnamed_addr constant [4 x i8] c"int\00" @.str6104 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6105 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6106 = private unnamed_addr constant [7 x i8] c"result\00" @.str6107 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" @.str6108 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" @.str6109 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6110 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6111 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6112 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6113 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str6114 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6115 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6116 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6117 = private unnamed_addr constant [6 x i8] c"tryok\00" @.str6118 = private unnamed_addr constant [8 x i8] c"tryelse\00" @.str6119 = private unnamed_addr constant [7 x i8] c"tryend\00" @.str6120 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6121 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6122 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6123 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6124 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6125 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6126 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str6127 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6128 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6129 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6130 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6131 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6132 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6133 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6134 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6135 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str6136 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6137 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6138 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6139 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6140 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6141 = private unnamed_addr constant [6 x i8] c"error\00" @.str6142 = private unnamed_addr constant [7 x i8] c"string\00" @.str6143 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6144 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6145 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6146 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6147 = private unnamed_addr constant [4 x i8] c"int\00" @.str6148 = private unnamed_addr constant [6 x i8] c"load \00" @.str6149 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6150 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6151 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6152 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6153 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6154 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6155 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6156 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6157 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6158 = private unnamed_addr constant [3 x i8] c"sc\00" @.str6159 = private unnamed_addr constant [6 x i8] c"scend\00" @.str6160 = private unnamed_addr constant [4 x i8] c"and\00" @.str6161 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6162 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6163 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6164 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6165 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6166 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6167 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6168 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6169 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6170 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6171 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6172 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6173 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6174 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6175 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6176 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6177 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6178 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6179 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6180 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6181 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6182 = private unnamed_addr constant [2 x i8] c"<\00" @.str6183 = private unnamed_addr constant [4 x i8] c"slt\00" @.str6184 = private unnamed_addr constant [3 x i8] c"<=\00" @.str6185 = private unnamed_addr constant [4 x i8] c"sle\00" @.str6186 = private unnamed_addr constant [2 x i8] c">\00" @.str6187 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str6188 = private unnamed_addr constant [3 x i8] c">=\00" @.str6189 = private unnamed_addr constant [4 x i8] c"sge\00" @.str6190 = private unnamed_addr constant [3 x i8] c"==\00" @.str6191 = private unnamed_addr constant [3 x i8] c"eq\00" @.str6192 = private unnamed_addr constant [3 x i8] c"ne\00" @.str6193 = private unnamed_addr constant [2 x i8] c"<\00" @.str6194 = private unnamed_addr constant [3 x i8] c"<=\00" @.str6195 = private unnamed_addr constant [2 x i8] c">\00" @.str6196 = private unnamed_addr constant [3 x i8] c">=\00" @.str6197 = private unnamed_addr constant [3 x i8] c"==\00" @.str6198 = private unnamed_addr constant [3 x i8] c"!=\00" @.str6199 = private unnamed_addr constant [2 x i8] c"+\00" @.str6200 = private unnamed_addr constant [4 x i8] c"add\00" @.str6201 = private unnamed_addr constant [2 x i8] c"-\00" @.str6202 = private unnamed_addr constant [4 x i8] c"sub\00" @.str6203 = private unnamed_addr constant [2 x i8] c"*\00" @.str6204 = private unnamed_addr constant [4 x i8] c"mul\00" @.str6205 = private unnamed_addr constant [2 x i8] c"/\00" @.str6206 = private unnamed_addr constant [5 x i8] c"sdiv\00" @.str6207 = private unnamed_addr constant [2 x i8] c"&\00" @.str6208 = private unnamed_addr constant [4 x i8] c"and\00" @.str6209 = private unnamed_addr constant [2 x i8] c"|\00" @.str6210 = private unnamed_addr constant [3 x i8] c"or\00" @.str6211 = private unnamed_addr constant [2 x i8] c"^\00" @.str6212 = private unnamed_addr constant [4 x i8] c"xor\00" @.str6213 = private unnamed_addr constant [3 x i8] c"<<\00" @.str6214 = private unnamed_addr constant [4 x i8] c"shl\00" @.str6215 = private unnamed_addr constant [3 x i8] c">>\00" @.str6216 = private unnamed_addr constant [5 x i8] c"lshr\00" @.str6217 = private unnamed_addr constant [5 x i8] c"srem\00" @.str6218 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6219 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6220 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6221 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6222 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6223 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6224 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6225 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6226 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6227 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6228 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6229 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6230 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6231 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6232 = private unnamed_addr constant [2 x i8] c"+\00" @.str6233 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str6234 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6235 = private unnamed_addr constant [2 x i8] c")\00" @.str6236 = private unnamed_addr constant [7 x i8] c"string\00" @.str6237 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str6238 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6239 = private unnamed_addr constant [2 x i8] c")\00" @.str6240 = private unnamed_addr constant [3 x i8] c"!=\00" @.str6241 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6242 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6243 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6244 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6245 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6246 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6247 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6248 = private unnamed_addr constant [5 x i8] c"long\00" @.str6249 = private unnamed_addr constant [4 x i8] c"int\00" @.str6250 = private unnamed_addr constant [4 x i8] c"and\00" @.str6251 = private unnamed_addr constant [3 x i8] c"or\00" @.str6252 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6253 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6254 = private unnamed_addr constant [2 x i8] c"+\00" @.str6255 = private unnamed_addr constant [2 x i8] c"+\00" @.str6256 = private unnamed_addr constant [3 x i8] c"==\00" @.str6257 = private unnamed_addr constant [3 x i8] c"!=\00" @.str6258 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6259 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6260 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6261 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6262 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6263 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6264 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6265 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6266 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6267 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str6268 = private unnamed_addr constant [2 x i8] c" \00" @.str6269 = private unnamed_addr constant [2 x i8] c" \00" @.str6270 = private unnamed_addr constant [3 x i8] c", \00" @.str6271 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6272 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6273 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6274 = private unnamed_addr constant [6 x i8] c" i64 \00" @.str6275 = private unnamed_addr constant [3 x i8] c", \00" @.str6276 = private unnamed_addr constant [5 x i8] c"long\00" @.str6277 = private unnamed_addr constant [2 x i8] c"*\00" @.str6278 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6279 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6280 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6281 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6282 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6283 = private unnamed_addr constant [3 x i8] c", \00" @.str6284 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str6285 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6286 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6287 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6288 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6289 = private unnamed_addr constant [2 x i8] c"/\00" @.str6290 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6291 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6292 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str6293 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6294 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6295 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6296 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str6297 = private unnamed_addr constant [3 x i8] c", \00" @.str6298 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6299 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6300 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6301 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str6302 = private unnamed_addr constant [3 x i8] c", \00" @.str6303 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6304 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str6305 = private unnamed_addr constant [3 x i8] c", \00" @.str6306 = private unnamed_addr constant [4 x i8] c"int\00" @.str6307 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" @.str6308 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" @.str6309 = private unnamed_addr constant [19 x i8] c"no argument named \00" @.str6310 = private unnamed_addr constant [5 x i8] c"exok\00" @.str6311 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str6312 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6313 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6314 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6315 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6316 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6317 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str6318 = private unnamed_addr constant [1 x i8] c"\00" @.str6319 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str6320 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6321 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" @.str6322 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6323 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6324 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6325 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6326 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6327 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6328 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str6329 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" @.str6330 = private unnamed_addr constant [7 x i8] c"__each\00" @.str6331 = private unnamed_addr constant [5 x i8] c"self\00" @.str6332 = private unnamed_addr constant [2 x i8] c"0\00" @.str6333 = private unnamed_addr constant [5 x i8] c"void\00" @.str6334 = private unnamed_addr constant [6 x i8] c"count\00" @.str6335 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" @.str6336 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6337 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6338 = private unnamed_addr constant [2 x i8] c"0\00" @.str6339 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6340 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6341 = private unnamed_addr constant [2 x i8] c"0\00" @.str6342 = private unnamed_addr constant [3 x i8] c"cc\00" @.str6343 = private unnamed_addr constant [3 x i8] c"cb\00" @.str6344 = private unnamed_addr constant [3 x i8] c"cn\00" @.str6345 = private unnamed_addr constant [3 x i8] c"ce\00" @.str6346 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6347 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6348 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6349 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6350 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str6351 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6352 = private unnamed_addr constant [3 x i8] c", \00" @.str6353 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6354 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6355 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6356 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6357 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6358 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6359 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str6360 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6361 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6362 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str6363 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6364 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str6365 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str6366 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6367 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6368 = private unnamed_addr constant [3 x i8] c", \00" @.str6369 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6370 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6371 = private unnamed_addr constant [3 x i8] c", \00" @.str6372 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6373 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6374 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6375 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6376 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6377 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6378 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6379 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6380 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6381 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6382 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6383 = private unnamed_addr constant [4 x i8] c"int\00" @.str6384 = private unnamed_addr constant [2 x i8] c".\00" @.str6385 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" @.str6386 = private unnamed_addr constant [3 x i8] c"of\00" @.str6387 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6388 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str6389 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str6390 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6391 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str6392 = private unnamed_addr constant [3 x i8] c", \00" @.str6393 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6394 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6395 = private unnamed_addr constant [8 x i8] c", i32 0\00" @.str6396 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6397 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str6398 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6399 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6400 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6401 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6402 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str6403 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6404 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str6405 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str6406 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6407 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6408 = private unnamed_addr constant [3 x i8] c", \00" @.str6409 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6410 = private unnamed_addr constant [3 x i8] c", \00" @.str6411 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6412 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6413 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6414 = private unnamed_addr constant [5 x i8] c"name\00" @.str6415 = private unnamed_addr constant [7 x i8] c"string\00" @.str6416 = private unnamed_addr constant [3 x i8] c"of\00" @.str6417 = private unnamed_addr constant [4 x i8] c"has\00" @.str6418 = private unnamed_addr constant [6 x i8] c"count\00" @.str6419 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str6420 = private unnamed_addr constant [2 x i8] c"_\00" @.str6421 = private unnamed_addr constant [5 x i8] c"Math\00" @.str6422 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00" @.str6423 = private unnamed_addr constant [5 x i8] c"Text\00" @.str6424 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00" @.str6425 = private unnamed_addr constant [5 x i8] c"List\00" @.str6426 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00" @.str6427 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str6428 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00" @.str6429 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str6430 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str6431 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str6432 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00" @.str6433 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str6434 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00" @.str6435 = private unnamed_addr constant [6 x i8] c"Color\00" @.str6436 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00" @.str6437 = private unnamed_addr constant [5 x i8] c"Time\00" @.str6438 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00" @.str6439 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str6440 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00" @.str6441 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str6442 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00" @.str6443 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str6444 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00" @.str6445 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str6446 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00" @.str6447 = private unnamed_addr constant [4 x i8] c"Log\00" @.str6448 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00" @.str6449 = private unnamed_addr constant [3 x i8] c"Os\00" @.str6450 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00" @.str6451 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str6452 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00" @.str6453 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str6454 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00" @.str6455 = private unnamed_addr constant [5 x i8] c"Path\00" @.str6456 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00" @.str6457 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str6458 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00" @.str6459 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str6460 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00" @.str6461 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str6462 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00" @.str6463 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str6464 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00" @.str6465 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str6466 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00" @.str6467 = private unnamed_addr constant [5 x i8] c"Date\00" @.str6468 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00" @.str6469 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str6470 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00" @.str6471 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str6472 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00" @.str6473 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str6474 = private unnamed_addr constant [9 x i8] c"capacity\00" @.str6475 = private unnamed_addr constant [4 x i8] c"int\00" @.str6476 = private unnamed_addr constant [9 x i8] c"reserved\00" @.str6477 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str6478 = private unnamed_addr constant [4 x i8] c"int\00" @.str6479 = private unnamed_addr constant [5 x i8] c"free\00" @.str6480 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str6481 = private unnamed_addr constant [4 x i8] c"int\00" @.str6482 = private unnamed_addr constant [5 x i8] c"live\00" @.str6483 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str6484 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str6485 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6486 = private unnamed_addr constant [3 x i8] c", \00" @.str6487 = private unnamed_addr constant [4 x i8] c"int\00" @.str6488 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00" @.str6489 = private unnamed_addr constant [7 x i8] c"Screen\00" @.str6490 = private unnamed_addr constant [6 x i8] c"clear\00" @.str6491 = private unnamed_addr constant [6 x i8] c"clear\00" @.str6492 = private unnamed_addr constant [6 x i8] c"color\00" @.str6493 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" @.str6494 = private unnamed_addr constant [10 x i8] c"fill_rect\00" @.str6495 = private unnamed_addr constant [2 x i8] c"x\00" @.str6496 = private unnamed_addr constant [2 x i8] c"y\00" @.str6497 = private unnamed_addr constant [6 x i8] c"width\00" @.str6498 = private unnamed_addr constant [7 x i8] c"height\00" @.str6499 = private unnamed_addr constant [6 x i8] c"color\00" @.str6500 = private unnamed_addr constant [4 x i8] c"bar\00" @.str6501 = private unnamed_addr constant [4 x i8] c"bar\00" @.str6502 = private unnamed_addr constant [2 x i8] c"x\00" @.str6503 = private unnamed_addr constant [2 x i8] c"y\00" @.str6504 = private unnamed_addr constant [6 x i8] c"width\00" @.str6505 = private unnamed_addr constant [7 x i8] c"height\00" @.str6506 = private unnamed_addr constant [6 x i8] c"value\00" @.str6507 = private unnamed_addr constant [4 x i8] c"max\00" @.str6508 = private unnamed_addr constant [6 x i8] c"color\00" @.str6509 = private unnamed_addr constant [5 x i8] c"back\00" @.str6510 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" @.str6511 = private unnamed_addr constant [11 x i8] c"frame_rect\00" @.str6512 = private unnamed_addr constant [2 x i8] c"x\00" @.str6513 = private unnamed_addr constant [2 x i8] c"y\00" @.str6514 = private unnamed_addr constant [6 x i8] c"width\00" @.str6515 = private unnamed_addr constant [7 x i8] c"height\00" @.str6516 = private unnamed_addr constant [6 x i8] c"color\00" @.str6517 = private unnamed_addr constant [10 x i8] c"put_pixel\00" @.str6518 = private unnamed_addr constant [7 x i8] c"put_px\00" @.str6519 = private unnamed_addr constant [2 x i8] c"x\00" @.str6520 = private unnamed_addr constant [2 x i8] c"y\00" @.str6521 = private unnamed_addr constant [6 x i8] c"color\00" @.str6522 = private unnamed_addr constant [10 x i8] c"draw_text\00" @.str6523 = private unnamed_addr constant [5 x i8] c"text\00" @.str6524 = private unnamed_addr constant [2 x i8] c"x\00" @.str6525 = private unnamed_addr constant [2 x i8] c"y\00" @.str6526 = private unnamed_addr constant [5 x i8] c"text\00" @.str6527 = private unnamed_addr constant [6 x i8] c"color\00" @.str6528 = private unnamed_addr constant [6 x i8] c"scale\00" @.str6529 = private unnamed_addr constant [12 x i8] c"draw_number\00" @.str6530 = private unnamed_addr constant [9 x i8] c"text_int\00" @.str6531 = private unnamed_addr constant [2 x i8] c"x\00" @.str6532 = private unnamed_addr constant [2 x i8] c"y\00" @.str6533 = private unnamed_addr constant [6 x i8] c"value\00" @.str6534 = private unnamed_addr constant [6 x i8] c"color\00" @.str6535 = private unnamed_addr constant [6 x i8] c"scale\00" @.str6536 = private unnamed_addr constant [5 x i8] c"show\00" @.str6537 = private unnamed_addr constant [8 x i8] c"present\00" @.str6538 = private unnamed_addr constant [6 x i8] c"width\00" @.str6539 = private unnamed_addr constant [9 x i8] c"screen_w\00" @.str6540 = private unnamed_addr constant [7 x i8] c"height\00" @.str6541 = private unnamed_addr constant [9 x i8] c"screen_h\00" @.str6542 = private unnamed_addr constant [7 x i8] c"status\00" @.str6543 = private unnamed_addr constant [7 x i8] c"status\00" @.str6544 = private unnamed_addr constant [5 x i8] c"text\00" @.str6545 = private unnamed_addr constant [5 x i8] c"line\00" @.str6546 = private unnamed_addr constant [5 x i8] c"line\00" @.str6547 = private unnamed_addr constant [3 x i8] c"x1\00" @.str6548 = private unnamed_addr constant [3 x i8] c"y1\00" @.str6549 = private unnamed_addr constant [3 x i8] c"x2\00" @.str6550 = private unnamed_addr constant [3 x i8] c"y2\00" @.str6551 = private unnamed_addr constant [6 x i8] c"color\00" @.str6552 = private unnamed_addr constant [7 x i8] c"circle\00" @.str6553 = private unnamed_addr constant [7 x i8] c"circle\00" @.str6554 = private unnamed_addr constant [2 x i8] c"x\00" @.str6555 = private unnamed_addr constant [2 x i8] c"y\00" @.str6556 = private unnamed_addr constant [7 x i8] c"radius\00" @.str6557 = private unnamed_addr constant [6 x i8] c"color\00" @.str6558 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str6559 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str6560 = private unnamed_addr constant [2 x i8] c"x\00" @.str6561 = private unnamed_addr constant [2 x i8] c"y\00" @.str6562 = private unnamed_addr constant [7 x i8] c"radius\00" @.str6563 = private unnamed_addr constant [6 x i8] c"color\00" @.str6564 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str6565 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str6566 = private unnamed_addr constant [3 x i8] c"x1\00" @.str6567 = private unnamed_addr constant [3 x i8] c"y1\00" @.str6568 = private unnamed_addr constant [3 x i8] c"x2\00" @.str6569 = private unnamed_addr constant [3 x i8] c"y2\00" @.str6570 = private unnamed_addr constant [3 x i8] c"x3\00" @.str6571 = private unnamed_addr constant [3 x i8] c"y3\00" @.str6572 = private unnamed_addr constant [6 x i8] c"color\00" @.str6573 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str6574 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str6575 = private unnamed_addr constant [3 x i8] c"x1\00" @.str6576 = private unnamed_addr constant [3 x i8] c"y1\00" @.str6577 = private unnamed_addr constant [3 x i8] c"x2\00" @.str6578 = private unnamed_addr constant [3 x i8] c"y2\00" @.str6579 = private unnamed_addr constant [3 x i8] c"x3\00" @.str6580 = private unnamed_addr constant [3 x i8] c"y3\00" @.str6581 = private unnamed_addr constant [6 x i8] c"color\00" @.str6582 = private unnamed_addr constant [7 x i8] c"sprite\00" @.str6583 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str6584 = private unnamed_addr constant [3 x i8] c"id\00" @.str6585 = private unnamed_addr constant [2 x i8] c"x\00" @.str6586 = private unnamed_addr constant [2 x i8] c"y\00" @.str6587 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00" @.str6588 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str6589 = private unnamed_addr constant [3 x i8] c"id\00" @.str6590 = private unnamed_addr constant [2 x i8] c"x\00" @.str6591 = private unnamed_addr constant [2 x i8] c"y\00" @.str6592 = private unnamed_addr constant [6 x i8] c"scale\00" @.str6593 = private unnamed_addr constant [5 x i8] c"oval\00" @.str6594 = private unnamed_addr constant [5 x i8] c"oval\00" @.str6595 = private unnamed_addr constant [2 x i8] c"x\00" @.str6596 = private unnamed_addr constant [2 x i8] c"y\00" @.str6597 = private unnamed_addr constant [3 x i8] c"rx\00" @.str6598 = private unnamed_addr constant [3 x i8] c"ry\00" @.str6599 = private unnamed_addr constant [6 x i8] c"color\00" @.str6600 = private unnamed_addr constant [7 x i8] c"camera\00" @.str6601 = private unnamed_addr constant [7 x i8] c"camera\00" @.str6602 = private unnamed_addr constant [2 x i8] c"x\00" @.str6603 = private unnamed_addr constant [2 x i8] c"y\00" @.str6604 = private unnamed_addr constant [5 x i8] c"clip\00" @.str6605 = private unnamed_addr constant [5 x i8] c"clip\00" @.str6606 = private unnamed_addr constant [2 x i8] c"x\00" @.str6607 = private unnamed_addr constant [2 x i8] c"y\00" @.str6608 = private unnamed_addr constant [6 x i8] c"width\00" @.str6609 = private unnamed_addr constant [7 x i8] c"height\00" @.str6610 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str6611 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str6612 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str6613 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str6614 = private unnamed_addr constant [5 x i8] c"mode\00" @.str6615 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str6616 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str6617 = private unnamed_addr constant [5 x i8] c"text\00" @.str6618 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str6619 = private unnamed_addr constant [7 x i8] c"get_px\00" @.str6620 = private unnamed_addr constant [2 x i8] c"x\00" @.str6621 = private unnamed_addr constant [2 x i8] c"y\00" @.str6622 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str6623 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6624 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00" @.str6625 = private unnamed_addr constant [5 x i8] c"path\00" @.str6626 = private unnamed_addr constant [6 x i8] c"cellw\00" @.str6627 = private unnamed_addr constant [6 x i8] c"cellh\00" @.str6628 = private unnamed_addr constant [5 x i8] c"cell\00" @.str6629 = private unnamed_addr constant [11 x i8] c"atlas_cell\00" @.str6630 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6631 = private unnamed_addr constant [4 x i8] c"col\00" @.str6632 = private unnamed_addr constant [4 x i8] c"row\00" @.str6633 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str6634 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00" @.str6635 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6636 = private unnamed_addr constant [4 x i8] c"col\00" @.str6637 = private unnamed_addr constant [4 x i8] c"row\00" @.str6638 = private unnamed_addr constant [5 x i8] c"cols\00" @.str6639 = private unnamed_addr constant [5 x i8] c"rows\00" @.str6640 = private unnamed_addr constant [6 x i8] c"strip\00" @.str6641 = private unnamed_addr constant [12 x i8] c"atlas_strip\00" @.str6642 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6643 = private unnamed_addr constant [4 x i8] c"col\00" @.str6644 = private unnamed_addr constant [4 x i8] c"row\00" @.str6645 = private unnamed_addr constant [6 x i8] c"count\00" @.str6646 = private unnamed_addr constant [5 x i8] c"rows\00" @.str6647 = private unnamed_addr constant [7 x i8] c"define\00" @.str6648 = private unnamed_addr constant [13 x i8] c"atlas_define\00" @.str6649 = private unnamed_addr constant [5 x i8] c"name\00" @.str6650 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6651 = private unnamed_addr constant [4 x i8] c"col\00" @.str6652 = private unnamed_addr constant [4 x i8] c"row\00" @.str6653 = private unnamed_addr constant [6 x i8] c"named\00" @.str6654 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str6655 = private unnamed_addr constant [5 x i8] c"name\00" @.str6656 = private unnamed_addr constant [5 x i8] c"draw\00" @.str6657 = private unnamed_addr constant [11 x i8] c"atlas_draw\00" @.str6658 = private unnamed_addr constant [3 x i8] c"id\00" @.str6659 = private unnamed_addr constant [2 x i8] c"x\00" @.str6660 = private unnamed_addr constant [2 x i8] c"y\00" @.str6661 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str6662 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00" @.str6663 = private unnamed_addr constant [3 x i8] c"id\00" @.str6664 = private unnamed_addr constant [2 x i8] c"x\00" @.str6665 = private unnamed_addr constant [2 x i8] c"y\00" @.str6666 = private unnamed_addr constant [6 x i8] c"scale\00" @.str6667 = private unnamed_addr constant [11 x i8] c"draw_meter\00" @.str6668 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00" @.str6669 = private unnamed_addr constant [2 x i8] c"x\00" @.str6670 = private unnamed_addr constant [2 x i8] c"y\00" @.str6671 = private unnamed_addr constant [6 x i8] c"value\00" @.str6672 = private unnamed_addr constant [4 x i8] c"max\00" @.str6673 = private unnamed_addr constant [9 x i8] c"per_icon\00" @.str6674 = private unnamed_addr constant [8 x i8] c"spacing\00" @.str6675 = private unnamed_addr constant [5 x i8] c"full\00" @.str6676 = private unnamed_addr constant [5 x i8] c"half\00" @.str6677 = private unnamed_addr constant [6 x i8] c"empty\00" @.str6678 = private unnamed_addr constant [6 x i8] c"width\00" @.str6679 = private unnamed_addr constant [12 x i8] c"atlas_width\00" @.str6680 = private unnamed_addr constant [3 x i8] c"id\00" @.str6681 = private unnamed_addr constant [7 x i8] c"height\00" @.str6682 = private unnamed_addr constant [13 x i8] c"atlas_height\00" @.str6683 = private unnamed_addr constant [3 x i8] c"id\00" @.str6684 = private unnamed_addr constant [5 x i8] c"Font\00" @.str6685 = private unnamed_addr constant [5 x i8] c"load\00" @.str6686 = private unnamed_addr constant [10 x i8] c"font_load\00" @.str6687 = private unnamed_addr constant [5 x i8] c"path\00" @.str6688 = private unnamed_addr constant [3 x i8] c"Ui\00" @.str6689 = private unnamed_addr constant [6 x i8] c"build\00" @.str6690 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str6691 = private unnamed_addr constant [5 x i8] c"open\00" @.str6692 = private unnamed_addr constant [8 x i8] c"ui_open\00" @.str6693 = private unnamed_addr constant [3 x i8] c"id\00" @.str6694 = private unnamed_addr constant [6 x i8] c"close\00" @.str6695 = private unnamed_addr constant [9 x i8] c"ui_close\00" @.str6696 = private unnamed_addr constant [5 x i8] c"tick\00" @.str6697 = private unnamed_addr constant [8 x i8] c"ui_tick\00" @.str6698 = private unnamed_addr constant [4 x i8] c"key\00" @.str6699 = private unnamed_addr constant [8 x i8] c"clicked\00" @.str6700 = private unnamed_addr constant [11 x i8] c"ui_clicked\00" @.str6701 = private unnamed_addr constant [3 x i8] c"id\00" @.str6702 = private unnamed_addr constant [9 x i8] c"set_text\00" @.str6703 = private unnamed_addr constant [12 x i8] c"ui_set_text\00" @.str6704 = private unnamed_addr constant [3 x i8] c"id\00" @.str6705 = private unnamed_addr constant [5 x i8] c"text\00" @.str6706 = private unnamed_addr constant [7 x i8] c"render\00" @.str6707 = private unnamed_addr constant [10 x i8] c"ui_render\00" @.str6708 = private unnamed_addr constant [5 x i8] c"File\00" @.str6709 = private unnamed_addr constant [5 x i8] c"open\00" @.str6710 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str6711 = private unnamed_addr constant [5 x i8] c"path\00" @.str6712 = private unnamed_addr constant [5 x i8] c"mode\00" @.str6713 = private unnamed_addr constant [5 x i8] c"read\00" @.str6714 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str6715 = private unnamed_addr constant [5 x i8] c"file\00" @.str6716 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str6717 = private unnamed_addr constant [6 x i8] c"count\00" @.str6718 = private unnamed_addr constant [6 x i8] c"write\00" @.str6719 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str6720 = private unnamed_addr constant [5 x i8] c"file\00" @.str6721 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str6722 = private unnamed_addr constant [6 x i8] c"count\00" @.str6723 = private unnamed_addr constant [5 x i8] c"seek\00" @.str6724 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str6725 = private unnamed_addr constant [5 x i8] c"file\00" @.str6726 = private unnamed_addr constant [7 x i8] c"offset\00" @.str6727 = private unnamed_addr constant [7 x i8] c"whence\00" @.str6728 = private unnamed_addr constant [5 x i8] c"tell\00" @.str6729 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str6730 = private unnamed_addr constant [5 x i8] c"file\00" @.str6731 = private unnamed_addr constant [6 x i8] c"close\00" @.str6732 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str6733 = private unnamed_addr constant [5 x i8] c"file\00" @.str6734 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str6735 = private unnamed_addr constant [7 x i8] c"sparks\00" @.str6736 = private unnamed_addr constant [10 x i8] c"fx_sparks\00" @.str6737 = private unnamed_addr constant [2 x i8] c"x\00" @.str6738 = private unnamed_addr constant [2 x i8] c"y\00" @.str6739 = private unnamed_addr constant [6 x i8] c"color\00" @.str6740 = private unnamed_addr constant [6 x i8] c"count\00" @.str6741 = private unnamed_addr constant [7 x i8] c"number\00" @.str6742 = private unnamed_addr constant [10 x i8] c"fx_number\00" @.str6743 = private unnamed_addr constant [2 x i8] c"x\00" @.str6744 = private unnamed_addr constant [2 x i8] c"y\00" @.str6745 = private unnamed_addr constant [6 x i8] c"value\00" @.str6746 = private unnamed_addr constant [6 x i8] c"color\00" @.str6747 = private unnamed_addr constant [6 x i8] c"clear\00" @.str6748 = private unnamed_addr constant [9 x i8] c"fx_clear\00" @.str6749 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str6750 = private unnamed_addr constant [9 x i8] c"spawn_at\00" @.str6751 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" @.str6752 = private unnamed_addr constant [9 x i8] c"Position\00" @.str6753 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" @.str6754 = private unnamed_addr constant [5 x i8] c"name\00" @.str6755 = private unnamed_addr constant [3 x i8] c"at\00" @.str6756 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str6757 = private unnamed_addr constant [2 x i8] c")\00" @.str6758 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6759 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00" @.str6760 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str6761 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6762 = private unnamed_addr constant [2 x i8] c"x\00" @.str6763 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str6764 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6765 = private unnamed_addr constant [2 x i8] c"y\00" @.str6766 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6767 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6768 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6769 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6770 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6771 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6772 = private unnamed_addr constant [7 x i8] c"entity\00" @.str6773 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str6774 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" @.str6775 = private unnamed_addr constant [5 x i8] c"name\00" @.str6776 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" @.str6777 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str6778 = private unnamed_addr constant [2 x i8] c")\00" @.str6779 = private unnamed_addr constant [7 x i8] c"entity\00" @.str6780 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00" @.str6781 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str6782 = private unnamed_addr constant [5 x i8] c"font\00" @.str6783 = private unnamed_addr constant [12 x i8] c"assets_font\00" @.str6784 = private unnamed_addr constant [5 x i8] c"name\00" @.str6785 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00" @.str6786 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00" @.str6787 = private unnamed_addr constant [5 x i8] c"path\00" @.str6788 = private unnamed_addr constant [6 x i8] c"image\00" @.str6789 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str6790 = private unnamed_addr constant [5 x i8] c"path\00" @.str6791 = private unnamed_addr constant [5 x i8] c"load\00" @.str6792 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str6793 = private unnamed_addr constant [5 x i8] c"path\00" @.str6794 = private unnamed_addr constant [4 x i8] c"get\00" @.str6795 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str6796 = private unnamed_addr constant [5 x i8] c"name\00" @.str6797 = private unnamed_addr constant [8 x i8] c"enqueue\00" @.str6798 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00" @.str6799 = private unnamed_addr constant [5 x i8] c"name\00" @.str6800 = private unnamed_addr constant [5 x i8] c"path\00" @.str6801 = private unnamed_addr constant [5 x i8] c"pump\00" @.str6802 = private unnamed_addr constant [12 x i8] c"assets_pump\00" @.str6803 = private unnamed_addr constant [4 x i8] c"max\00" @.str6804 = private unnamed_addr constant [6 x i8] c"total\00" @.str6805 = private unnamed_addr constant [13 x i8] c"assets_total\00" @.str6806 = private unnamed_addr constant [7 x i8] c"loaded\00" @.str6807 = private unnamed_addr constant [14 x i8] c"assets_loaded\00" @.str6808 = private unnamed_addr constant [6 x i8] c"ready\00" @.str6809 = private unnamed_addr constant [13 x i8] c"assets_ready\00" @.str6810 = private unnamed_addr constant [9 x i8] c"progress\00" @.str6811 = private unnamed_addr constant [16 x i8] c"assets_progress\00" @.str6812 = private unnamed_addr constant [7 x i8] c"Camera\00" @.str6813 = private unnamed_addr constant [4 x i8] c"set\00" @.str6814 = private unnamed_addr constant [7 x i8] c"camera\00" @.str6815 = private unnamed_addr constant [2 x i8] c"x\00" @.str6816 = private unnamed_addr constant [2 x i8] c"y\00" @.str6817 = private unnamed_addr constant [7 x i8] c"follow\00" @.str6818 = private unnamed_addr constant [14 x i8] c"camera_follow\00" @.str6819 = private unnamed_addr constant [2 x i8] c"x\00" @.str6820 = private unnamed_addr constant [2 x i8] c"y\00" @.str6821 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str6822 = private unnamed_addr constant [6 x i8] c"shake\00" @.str6823 = private unnamed_addr constant [13 x i8] c"camera_shake\00" @.str6824 = private unnamed_addr constant [7 x i8] c"amount\00" @.str6825 = private unnamed_addr constant [10 x i8] c"shake_for\00" @.str6826 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00" @.str6827 = private unnamed_addr constant [7 x i8] c"amount\00" @.str6828 = private unnamed_addr constant [7 x i8] c"frames\00" @.str6829 = private unnamed_addr constant [5 x i8] c"zoom\00" @.str6830 = private unnamed_addr constant [12 x i8] c"camera_zoom\00" @.str6831 = private unnamed_addr constant [6 x i8] c"scale\00" @.str6832 = private unnamed_addr constant [4 x i8] c"Map\00" @.str6833 = private unnamed_addr constant [5 x i8] c"size\00" @.str6834 = private unnamed_addr constant [9 x i8] c"map_size\00" @.str6835 = private unnamed_addr constant [6 x i8] c"width\00" @.str6836 = private unnamed_addr constant [7 x i8] c"height\00" @.str6837 = private unnamed_addr constant [4 x i8] c"row\00" @.str6838 = private unnamed_addr constant [8 x i8] c"map_row\00" @.str6839 = private unnamed_addr constant [2 x i8] c"y\00" @.str6840 = private unnamed_addr constant [6 x i8] c"cells\00" @.str6841 = private unnamed_addr constant [5 x i8] c"tile\00" @.str6842 = private unnamed_addr constant [5 x i8] c"tile\00" @.str6843 = private unnamed_addr constant [2 x i8] c"x\00" @.str6844 = private unnamed_addr constant [2 x i8] c"y\00" @.str6845 = private unnamed_addr constant [4 x i8] c"get\00" @.str6846 = private unnamed_addr constant [5 x i8] c"tile\00" @.str6847 = private unnamed_addr constant [2 x i8] c"x\00" @.str6848 = private unnamed_addr constant [2 x i8] c"y\00" @.str6849 = private unnamed_addr constant [4 x i8] c"set\00" @.str6850 = private unnamed_addr constant [8 x i8] c"map_set\00" @.str6851 = private unnamed_addr constant [2 x i8] c"x\00" @.str6852 = private unnamed_addr constant [2 x i8] c"y\00" @.str6853 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str6854 = private unnamed_addr constant [5 x i8] c"fill\00" @.str6855 = private unnamed_addr constant [9 x i8] c"map_fill\00" @.str6856 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str6857 = private unnamed_addr constant [5 x i8] c"rect\00" @.str6858 = private unnamed_addr constant [9 x i8] c"map_rect\00" @.str6859 = private unnamed_addr constant [2 x i8] c"x\00" @.str6860 = private unnamed_addr constant [2 x i8] c"y\00" @.str6861 = private unnamed_addr constant [6 x i8] c"width\00" @.str6862 = private unnamed_addr constant [7 x i8] c"height\00" @.str6863 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str6864 = private unnamed_addr constant [7 x i8] c"border\00" @.str6865 = private unnamed_addr constant [11 x i8] c"map_border\00" @.str6866 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str6867 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str6868 = private unnamed_addr constant [16 x i8] c"map_random_cell\00" @.str6869 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str6870 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str6871 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00" @.str6872 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str6873 = private unnamed_addr constant [5 x i8] c"from\00" @.str6874 = private unnamed_addr constant [10 x i8] c"min_tiles\00" @.str6875 = private unnamed_addr constant [9 x i8] c"is_solid\00" @.str6876 = private unnamed_addr constant [13 x i8] c"map_is_solid\00" @.str6877 = private unnamed_addr constant [2 x i8] c"x\00" @.str6878 = private unnamed_addr constant [2 x i8] c"y\00" @.str6879 = private unnamed_addr constant [12 x i8] c"is_solid_at\00" @.str6880 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00" @.str6881 = private unnamed_addr constant [2 x i8] c"x\00" @.str6882 = private unnamed_addr constant [2 x i8] c"y\00" @.str6883 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str6884 = private unnamed_addr constant [12 x i8] c"map_to_tile\00" @.str6885 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str6886 = private unnamed_addr constant [6 x i8] c"width\00" @.str6887 = private unnamed_addr constant [10 x i8] c"map_width\00" @.str6888 = private unnamed_addr constant [7 x i8] c"height\00" @.str6889 = private unnamed_addr constant [11 x i8] c"map_height\00" @.str6890 = private unnamed_addr constant [7 x i8] c"Random\00" @.str6891 = private unnamed_addr constant [6 x i8] c"range\00" @.str6892 = private unnamed_addr constant [10 x i8] c"rng_range\00" @.str6893 = private unnamed_addr constant [4 x i8] c"low\00" @.str6894 = private unnamed_addr constant [5 x i8] c"high\00" @.str6895 = private unnamed_addr constant [9 x i8] c"weighted\00" @.str6896 = private unnamed_addr constant [13 x i8] c"rng_weighted\00" @.str6897 = private unnamed_addr constant [8 x i8] c"weights\00" @.str6898 = private unnamed_addr constant [7 x i8] c"chance\00" @.str6899 = private unnamed_addr constant [11 x i8] c"rng_chance\00" @.str6900 = private unnamed_addr constant [8 x i8] c"percent\00" @.str6901 = private unnamed_addr constant [5 x i8] c"seed\00" @.str6902 = private unnamed_addr constant [5 x i8] c"seed\00" @.str6903 = private unnamed_addr constant [6 x i8] c"value\00" @.str6904 = private unnamed_addr constant [6 x i8] c"value\00" @.str6905 = private unnamed_addr constant [10 x i8] c"rng_value\00" @.str6906 = private unnamed_addr constant [4 x i8] c"int\00" @.str6907 = private unnamed_addr constant [8 x i8] c"rng_int\00" @.str6908 = private unnamed_addr constant [4 x i8] c"max\00" @.str6909 = private unnamed_addr constant [5 x i8] c"sign\00" @.str6910 = private unnamed_addr constant [9 x i8] c"rng_sign\00" @.str6911 = private unnamed_addr constant [6 x i8] c"Input\00" @.str6912 = private unnamed_addr constant [4 x i8] c"key\00" @.str6913 = private unnamed_addr constant [4 x i8] c"key\00" @.str6914 = private unnamed_addr constant [5 x i8] c"bind\00" @.str6915 = private unnamed_addr constant [11 x i8] c"input_bind\00" @.str6916 = private unnamed_addr constant [7 x i8] c"action\00" @.str6917 = private unnamed_addr constant [4 x i8] c"key\00" @.str6918 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str6919 = private unnamed_addr constant [13 x i8] c"input_rebind\00" @.str6920 = private unnamed_addr constant [7 x i8] c"action\00" @.str6921 = private unnamed_addr constant [4 x i8] c"old\00" @.str6922 = private unnamed_addr constant [4 x i8] c"new\00" @.str6923 = private unnamed_addr constant [5 x i8] c"poll\00" @.str6924 = private unnamed_addr constant [11 x i8] c"input_poll\00" @.str6925 = private unnamed_addr constant [5 x i8] c"down\00" @.str6926 = private unnamed_addr constant [11 x i8] c"input_down\00" @.str6927 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str6928 = private unnamed_addr constant [14 x i8] c"input_pressed\00" @.str6929 = private unnamed_addr constant [7 x i8] c"record\00" @.str6930 = private unnamed_addr constant [13 x i8] c"input_record\00" @.str6931 = private unnamed_addr constant [7 x i8] c"replay\00" @.str6932 = private unnamed_addr constant [13 x i8] c"input_replay\00" @.str6933 = private unnamed_addr constant [7 x i8] c"action\00" @.str6934 = private unnamed_addr constant [14 x i8] c"input_default\00" @.str6935 = private unnamed_addr constant [7 x i8] c"action\00" @.str6936 = private unnamed_addr constant [4 x i8] c"key\00" @.str6937 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str6938 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00" @.str6939 = private unnamed_addr constant [7 x i8] c"action\00" @.str6940 = private unnamed_addr constant [7 x i8] c"button\00" @.str6941 = private unnamed_addr constant [7 x i8] c"active\00" @.str6942 = private unnamed_addr constant [13 x i8] c"input_active\00" @.str6943 = private unnamed_addr constant [7 x i8] c"action\00" @.str6944 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str6945 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00" @.str6946 = private unnamed_addr constant [7 x i8] c"action\00" @.str6947 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str6948 = private unnamed_addr constant [20 x i8] c"input_just_released\00" @.str6949 = private unnamed_addr constant [7 x i8] c"action\00" @.str6950 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str6951 = private unnamed_addr constant [15 x i8] c"input_key_down\00" @.str6952 = private unnamed_addr constant [4 x i8] c"key\00" @.str6953 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str6954 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00" @.str6955 = private unnamed_addr constant [4 x i8] c"key\00" @.str6956 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str6957 = private unnamed_addr constant [19 x i8] c"input_key_released\00" @.str6958 = private unnamed_addr constant [4 x i8] c"key\00" @.str6959 = private unnamed_addr constant [6 x i8] c"press\00" @.str6960 = private unnamed_addr constant [12 x i8] c"input_press\00" @.str6961 = private unnamed_addr constant [4 x i8] c"key\00" @.str6962 = private unnamed_addr constant [8 x i8] c"release\00" @.str6963 = private unnamed_addr constant [14 x i8] c"input_release\00" @.str6964 = private unnamed_addr constant [4 x i8] c"key\00" @.str6965 = private unnamed_addr constant [5 x i8] c"axis\00" @.str6966 = private unnamed_addr constant [11 x i8] c"input_axis\00" @.str6967 = private unnamed_addr constant [4 x i8] c"neg\00" @.str6968 = private unnamed_addr constant [4 x i8] c"pos\00" @.str6969 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str6970 = private unnamed_addr constant [13 x i8] c"input_axis_i\00" @.str6971 = private unnamed_addr constant [4 x i8] c"neg\00" @.str6972 = private unnamed_addr constant [4 x i8] c"pos\00" @.str6973 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str6974 = private unnamed_addr constant [13 x i8] c"input_move_i\00" @.str6975 = private unnamed_addr constant [7 x i8] c"vector\00" @.str6976 = private unnamed_addr constant [13 x i8] c"input_vector\00" @.str6977 = private unnamed_addr constant [5 x i8] c"left\00" @.str6978 = private unnamed_addr constant [6 x i8] c"right\00" @.str6979 = private unnamed_addr constant [3 x i8] c"up\00" @.str6980 = private unnamed_addr constant [5 x i8] c"down\00" @.str6981 = private unnamed_addr constant [9 x i8] c"strength\00" @.str6982 = private unnamed_addr constant [15 x i8] c"input_strength\00" @.str6983 = private unnamed_addr constant [7 x i8] c"action\00" @.str6984 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str6985 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00" @.str6986 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str6987 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00" @.str6988 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str6989 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00" @.str6990 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str6991 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00" @.str6992 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str6993 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00" @.str6994 = private unnamed_addr constant [7 x i8] c"button\00" @.str6995 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str6996 = private unnamed_addr constant [12 x i8] c"input_wheel\00" @.str6997 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str6998 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00" @.str6999 = private unnamed_addr constant [2 x i8] c"x\00" @.str7000 = private unnamed_addr constant [2 x i8] c"y\00" @.str7001 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7002 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str7003 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str7004 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00" @.str7005 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7006 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str7007 = private unnamed_addr constant [17 x i8] c"input_pad_button\00" @.str7008 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7009 = private unnamed_addr constant [7 x i8] c"button\00" @.str7010 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str7011 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00" @.str7012 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7013 = private unnamed_addr constant [5 x i8] c"axis\00" @.str7014 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str7015 = private unnamed_addr constant [14 x i8] c"input_set_pad\00" @.str7016 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7017 = private unnamed_addr constant [10 x i8] c"connected\00" @.str7018 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7019 = private unnamed_addr constant [3 x i8] c"lx\00" @.str7020 = private unnamed_addr constant [3 x i8] c"ly\00" @.str7021 = private unnamed_addr constant [3 x i8] c"rx\00" @.str7022 = private unnamed_addr constant [3 x i8] c"ry\00" @.str7023 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str7024 = private unnamed_addr constant [18 x i8] c"input_touch_count\00" @.str7025 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str7026 = private unnamed_addr constant [14 x i8] c"input_touch_x\00" @.str7027 = private unnamed_addr constant [6 x i8] c"index\00" @.str7028 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str7029 = private unnamed_addr constant [14 x i8] c"input_touch_y\00" @.str7030 = private unnamed_addr constant [6 x i8] c"index\00" @.str7031 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str7032 = private unnamed_addr constant [16 x i8] c"input_set_touch\00" @.str7033 = private unnamed_addr constant [6 x i8] c"index\00" @.str7034 = private unnamed_addr constant [2 x i8] c"x\00" @.str7035 = private unnamed_addr constant [2 x i8] c"y\00" @.str7036 = private unnamed_addr constant [7 x i8] c"active\00" @.str7037 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str7038 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str7039 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7040 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str7041 = private unnamed_addr constant [5 x i8] c"load\00" @.str7042 = private unnamed_addr constant [11 x i8] c"audio_load\00" @.str7043 = private unnamed_addr constant [5 x i8] c"path\00" @.str7044 = private unnamed_addr constant [7 x i8] c"define\00" @.str7045 = private unnamed_addr constant [13 x i8] c"audio_define\00" @.str7046 = private unnamed_addr constant [5 x i8] c"name\00" @.str7047 = private unnamed_addr constant [5 x i8] c"path\00" @.str7048 = private unnamed_addr constant [6 x i8] c"named\00" @.str7049 = private unnamed_addr constant [12 x i8] c"audio_named\00" @.str7050 = private unnamed_addr constant [5 x i8] c"name\00" @.str7051 = private unnamed_addr constant [5 x i8] c"play\00" @.str7052 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" @.str7053 = private unnamed_addr constant [5 x i8] c"name\00" @.str7054 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7055 = private unnamed_addr constant [3 x i8] c"id\00" @.str7056 = private unnamed_addr constant [11 x i8] c"play_sound\00" @.str7057 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7058 = private unnamed_addr constant [3 x i8] c"id\00" @.str7059 = private unnamed_addr constant [11 x i8] c"play_music\00" @.str7060 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" @.str7061 = private unnamed_addr constant [5 x i8] c"name\00" @.str7062 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" @.str7063 = private unnamed_addr constant [3 x i8] c"id\00" @.str7064 = private unnamed_addr constant [5 x i8] c"stop\00" @.str7065 = private unnamed_addr constant [11 x i8] c"audio_stop\00" @.str7066 = private unnamed_addr constant [3 x i8] c"id\00" @.str7067 = private unnamed_addr constant [11 x i8] c"stop_music\00" @.str7068 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00" @.str7069 = private unnamed_addr constant [9 x i8] c"stop_all\00" @.str7070 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00" @.str7071 = private unnamed_addr constant [7 x i8] c"volume\00" @.str7072 = private unnamed_addr constant [13 x i8] c"audio_volume\00" @.str7073 = private unnamed_addr constant [2 x i8] c"v\00" @.str7074 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str7075 = private unnamed_addr constant [12 x i8] c"audio_pitch\00" @.str7076 = private unnamed_addr constant [2 x i8] c"v\00" @.str7077 = private unnamed_addr constant [11 x i8] c"is_playing\00" @.str7078 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00" @.str7079 = private unnamed_addr constant [3 x i8] c"id\00" @.str7080 = private unnamed_addr constant [5 x i8] c"Http\00" @.str7081 = private unnamed_addr constant [4 x i8] c"get\00" @.str7082 = private unnamed_addr constant [9 x i8] c"http_get\00" @.str7083 = private unnamed_addr constant [4 x i8] c"url\00" @.str7084 = private unnamed_addr constant [5 x i8] c"post\00" @.str7085 = private unnamed_addr constant [10 x i8] c"http_post\00" @.str7086 = private unnamed_addr constant [4 x i8] c"url\00" @.str7087 = private unnamed_addr constant [5 x i8] c"body\00" @.str7088 = private unnamed_addr constant [8 x i8] c"request\00" @.str7089 = private unnamed_addr constant [13 x i8] c"http_request\00" @.str7090 = private unnamed_addr constant [7 x i8] c"method\00" @.str7091 = private unnamed_addr constant [4 x i8] c"url\00" @.str7092 = private unnamed_addr constant [5 x i8] c"body\00" @.str7093 = private unnamed_addr constant [5 x i8] c"open\00" @.str7094 = private unnamed_addr constant [10 x i8] c"http_open\00" @.str7095 = private unnamed_addr constant [7 x i8] c"method\00" @.str7096 = private unnamed_addr constant [4 x i8] c"url\00" @.str7097 = private unnamed_addr constant [4 x i8] c"set\00" @.str7098 = private unnamed_addr constant [16 x i8] c"http_set_header\00" @.str7099 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7100 = private unnamed_addr constant [5 x i8] c"name\00" @.str7101 = private unnamed_addr constant [6 x i8] c"value\00" @.str7102 = private unnamed_addr constant [5 x i8] c"body\00" @.str7103 = private unnamed_addr constant [10 x i8] c"http_body\00" @.str7104 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7105 = private unnamed_addr constant [5 x i8] c"body\00" @.str7106 = private unnamed_addr constant [11 x i8] c"body_bytes\00" @.str7107 = private unnamed_addr constant [12 x i8] c"http_body_n\00" @.str7108 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7109 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7110 = private unnamed_addr constant [4 x i8] c"len\00" @.str7111 = private unnamed_addr constant [5 x i8] c"send\00" @.str7112 = private unnamed_addr constant [14 x i8] c"http_send_req\00" @.str7113 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7114 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7115 = private unnamed_addr constant [10 x i8] c"http_poll\00" @.str7116 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7117 = private unnamed_addr constant [7 x i8] c"status\00" @.str7118 = private unnamed_addr constant [15 x i8] c"http_status_of\00" @.str7119 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7120 = private unnamed_addr constant [3 x i8] c"ok\00" @.str7121 = private unnamed_addr constant [8 x i8] c"http_ok\00" @.str7122 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7123 = private unnamed_addr constant [5 x i8] c"text\00" @.str7124 = private unnamed_addr constant [10 x i8] c"http_text\00" @.str7125 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7126 = private unnamed_addr constant [9 x i8] c"body_len\00" @.str7127 = private unnamed_addr constant [14 x i8] c"http_body_len\00" @.str7128 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7129 = private unnamed_addr constant [7 x i8] c"header\00" @.str7130 = private unnamed_addr constant [15 x i8] c"http_header_of\00" @.str7131 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7132 = private unnamed_addr constant [5 x i8] c"name\00" @.str7133 = private unnamed_addr constant [5 x i8] c"free\00" @.str7134 = private unnamed_addr constant [11 x i8] c"http_close\00" @.str7135 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7136 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7137 = private unnamed_addr constant [11 x i8] c"http_parse\00" @.str7138 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7139 = private unnamed_addr constant [4 x i8] c"len\00" @.str7140 = private unnamed_addr constant [6 x i8] c"World\00" @.str7141 = private unnamed_addr constant [4 x i8] c"get\00" @.str7142 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str7143 = private unnamed_addr constant [4 x i8] c"set\00" @.str7144 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str7145 = private unnamed_addr constant [4 x i8] c"has\00" @.str7146 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str7147 = private unnamed_addr constant [6 x i8] c"count\00" @.str7148 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str7149 = private unnamed_addr constant [5 x i8] c"size\00" @.str7150 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str7151 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str7152 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str7153 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str7154 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str7155 = private unnamed_addr constant [5 x i8] c"save\00" @.str7156 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str7157 = private unnamed_addr constant [5 x i8] c"load\00" @.str7158 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str7159 = private unnamed_addr constant [8 x i8] c"prop_id\00" @.str7160 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str7161 = private unnamed_addr constant [9 x i8] c"field_id\00" @.str7162 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str7163 = private unnamed_addr constant [9 x i8] c"model_id\00" @.str7164 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str7165 = private unnamed_addr constant [5 x i8] c"kind\00" @.str7166 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str7167 = private unnamed_addr constant [14 x i8] c"register_prop\00" @.str7168 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str7169 = private unnamed_addr constant [7 x i8] c"attach\00" @.str7170 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str7171 = private unnamed_addr constant [7 x i8] c"detach\00" @.str7172 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str7173 = private unnamed_addr constant [11 x i8] c"query_next\00" @.str7174 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str7175 = private unnamed_addr constant [8 x i8] c"Network\00" @.str7176 = private unnamed_addr constant [5 x i8] c"send\00" @.str7177 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str7178 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7179 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str7180 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str7181 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str7182 = private unnamed_addr constant [6 x i8] c"apply\00" @.str7183 = private unnamed_addr constant [6 x i8] c"apply\00" @.str7184 = private unnamed_addr constant [6 x i8] c"owner\00" @.str7185 = private unnamed_addr constant [6 x i8] c"owner\00" @.str7186 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str7187 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str7188 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str7189 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str7190 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str7191 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str7192 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str7193 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str7194 = private unnamed_addr constant [7 x i8] c"System\00" @.str7195 = private unnamed_addr constant [4 x i8] c"run\00" @.str7196 = private unnamed_addr constant [4 x i8] c"run\00" @.str7197 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str7198 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str7199 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7200 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7201 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7202 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7203 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7204 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7205 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7206 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7207 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7208 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7209 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7210 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7211 = private unnamed_addr constant [5 x i8] c"Save\00" @.str7212 = private unnamed_addr constant [6 x i8] c"write\00" @.str7213 = private unnamed_addr constant [5 x i8] c"save\00" @.str7214 = private unnamed_addr constant [5 x i8] c"read\00" @.str7215 = private unnamed_addr constant [5 x i8] c"load\00" @.str7216 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str7217 = private unnamed_addr constant [8 x i8] c"compile\00" @.str7218 = private unnamed_addr constant [14 x i8] c"regex_compile\00" @.str7219 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7220 = private unnamed_addr constant [6 x i8] c"valid\00" @.str7221 = private unnamed_addr constant [12 x i8] c"regex_valid\00" @.str7222 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7223 = private unnamed_addr constant [8 x i8] c"matches\00" @.str7224 = private unnamed_addr constant [14 x i8] c"regex_matches\00" @.str7225 = private unnamed_addr constant [5 x i8] c"text\00" @.str7226 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7227 = private unnamed_addr constant [5 x i8] c"test\00" @.str7228 = private unnamed_addr constant [11 x i8] c"regex_test\00" @.str7229 = private unnamed_addr constant [5 x i8] c"text\00" @.str7230 = private unnamed_addr constant [3 x i8] c"re\00" @.str7231 = private unnamed_addr constant [5 x i8] c"find\00" @.str7232 = private unnamed_addr constant [11 x i8] c"regex_find\00" @.str7233 = private unnamed_addr constant [5 x i8] c"text\00" @.str7234 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7235 = private unnamed_addr constant [5 x i8] c"exec\00" @.str7236 = private unnamed_addr constant [11 x i8] c"regex_exec\00" @.str7237 = private unnamed_addr constant [5 x i8] c"text\00" @.str7238 = private unnamed_addr constant [3 x i8] c"re\00" @.str7239 = private unnamed_addr constant [5 x i8] c"next\00" @.str7240 = private unnamed_addr constant [11 x i8] c"regex_next\00" @.str7241 = private unnamed_addr constant [5 x i8] c"text\00" @.str7242 = private unnamed_addr constant [3 x i8] c"re\00" @.str7243 = private unnamed_addr constant [5 x i8] c"from\00" @.str7244 = private unnamed_addr constant [8 x i8] c"replace\00" @.str7245 = private unnamed_addr constant [14 x i8] c"regex_replace\00" @.str7246 = private unnamed_addr constant [5 x i8] c"text\00" @.str7247 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7248 = private unnamed_addr constant [12 x i8] c"replacement\00" @.str7249 = private unnamed_addr constant [6 x i8] c"group\00" @.str7250 = private unnamed_addr constant [12 x i8] c"regex_group\00" @.str7251 = private unnamed_addr constant [6 x i8] c"match\00" @.str7252 = private unnamed_addr constant [2 x i8] c"n\00" @.str7253 = private unnamed_addr constant [12 x i8] c"group_count\00" @.str7254 = private unnamed_addr constant [18 x i8] c"regex_group_count\00" @.str7255 = private unnamed_addr constant [6 x i8] c"match\00" @.str7256 = private unnamed_addr constant [6 x i8] c"start\00" @.str7257 = private unnamed_addr constant [12 x i8] c"regex_start\00" @.str7258 = private unnamed_addr constant [6 x i8] c"match\00" @.str7259 = private unnamed_addr constant [2 x i8] c"n\00" @.str7260 = private unnamed_addr constant [4 x i8] c"end\00" @.str7261 = private unnamed_addr constant [10 x i8] c"regex_end\00" @.str7262 = private unnamed_addr constant [6 x i8] c"match\00" @.str7263 = private unnamed_addr constant [2 x i8] c"n\00" @.str7264 = private unnamed_addr constant [3 x i8] c"ok\00" @.str7265 = private unnamed_addr constant [9 x i8] c"regex_ok\00" @.str7266 = private unnamed_addr constant [6 x i8] c"match\00" @.str7267 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str7268 = private unnamed_addr constant [5 x i8] c"from\00" @.str7269 = private unnamed_addr constant [12 x i8] c"bigint_from\00" @.str7270 = private unnamed_addr constant [6 x i8] c"value\00" @.str7271 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7272 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00" @.str7273 = private unnamed_addr constant [5 x i8] c"text\00" @.str7274 = private unnamed_addr constant [4 x i8] c"add\00" @.str7275 = private unnamed_addr constant [11 x i8] c"bigint_add\00" @.str7276 = private unnamed_addr constant [2 x i8] c"a\00" @.str7277 = private unnamed_addr constant [2 x i8] c"b\00" @.str7278 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7279 = private unnamed_addr constant [11 x i8] c"bigint_sub\00" @.str7280 = private unnamed_addr constant [2 x i8] c"a\00" @.str7281 = private unnamed_addr constant [2 x i8] c"b\00" @.str7282 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7283 = private unnamed_addr constant [11 x i8] c"bigint_mul\00" @.str7284 = private unnamed_addr constant [2 x i8] c"a\00" @.str7285 = private unnamed_addr constant [2 x i8] c"b\00" @.str7286 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7287 = private unnamed_addr constant [11 x i8] c"bigint_neg\00" @.str7288 = private unnamed_addr constant [2 x i8] c"a\00" @.str7289 = private unnamed_addr constant [4 x i8] c"pow\00" @.str7290 = private unnamed_addr constant [11 x i8] c"bigint_pow\00" @.str7291 = private unnamed_addr constant [2 x i8] c"a\00" @.str7292 = private unnamed_addr constant [4 x i8] c"exp\00" @.str7293 = private unnamed_addr constant [4 x i8] c"div\00" @.str7294 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00" @.str7295 = private unnamed_addr constant [2 x i8] c"a\00" @.str7296 = private unnamed_addr constant [2 x i8] c"d\00" @.str7297 = private unnamed_addr constant [4 x i8] c"mod\00" @.str7298 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00" @.str7299 = private unnamed_addr constant [2 x i8] c"a\00" @.str7300 = private unnamed_addr constant [2 x i8] c"d\00" @.str7301 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str7302 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00" @.str7303 = private unnamed_addr constant [2 x i8] c"a\00" @.str7304 = private unnamed_addr constant [2 x i8] c"b\00" @.str7305 = private unnamed_addr constant [3 x i8] c"eq\00" @.str7306 = private unnamed_addr constant [10 x i8] c"bigint_eq\00" @.str7307 = private unnamed_addr constant [2 x i8] c"a\00" @.str7308 = private unnamed_addr constant [2 x i8] c"b\00" @.str7309 = private unnamed_addr constant [8 x i8] c"is_zero\00" @.str7310 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00" @.str7311 = private unnamed_addr constant [2 x i8] c"a\00" @.str7312 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str7313 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00" @.str7314 = private unnamed_addr constant [2 x i8] c"a\00" @.str7315 = private unnamed_addr constant [4 x i8] c"str\00" @.str7316 = private unnamed_addr constant [11 x i8] c"bigint_str\00" @.str7317 = private unnamed_addr constant [2 x i8] c"a\00" @.str7318 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str7319 = private unnamed_addr constant [5 x i8] c"from\00" @.str7320 = private unnamed_addr constant [13 x i8] c"decimal_from\00" @.str7321 = private unnamed_addr constant [6 x i8] c"value\00" @.str7322 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7323 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00" @.str7324 = private unnamed_addr constant [5 x i8] c"text\00" @.str7325 = private unnamed_addr constant [4 x i8] c"add\00" @.str7326 = private unnamed_addr constant [12 x i8] c"decimal_add\00" @.str7327 = private unnamed_addr constant [2 x i8] c"a\00" @.str7328 = private unnamed_addr constant [2 x i8] c"b\00" @.str7329 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7330 = private unnamed_addr constant [12 x i8] c"decimal_sub\00" @.str7331 = private unnamed_addr constant [2 x i8] c"a\00" @.str7332 = private unnamed_addr constant [2 x i8] c"b\00" @.str7333 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7334 = private unnamed_addr constant [12 x i8] c"decimal_mul\00" @.str7335 = private unnamed_addr constant [2 x i8] c"a\00" @.str7336 = private unnamed_addr constant [2 x i8] c"b\00" @.str7337 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7338 = private unnamed_addr constant [12 x i8] c"decimal_neg\00" @.str7339 = private unnamed_addr constant [2 x i8] c"a\00" @.str7340 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str7341 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00" @.str7342 = private unnamed_addr constant [2 x i8] c"a\00" @.str7343 = private unnamed_addr constant [2 x i8] c"b\00" @.str7344 = private unnamed_addr constant [3 x i8] c"eq\00" @.str7345 = private unnamed_addr constant [11 x i8] c"decimal_eq\00" @.str7346 = private unnamed_addr constant [2 x i8] c"a\00" @.str7347 = private unnamed_addr constant [2 x i8] c"b\00" @.str7348 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7349 = private unnamed_addr constant [14 x i8] c"decimal_scale\00" @.str7350 = private unnamed_addr constant [2 x i8] c"d\00" @.str7351 = private unnamed_addr constant [8 x i8] c"rescale\00" @.str7352 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00" @.str7353 = private unnamed_addr constant [2 x i8] c"d\00" @.str7354 = private unnamed_addr constant [7 x i8] c"places\00" @.str7355 = private unnamed_addr constant [4 x i8] c"str\00" @.str7356 = private unnamed_addr constant [12 x i8] c"decimal_str\00" @.str7357 = private unnamed_addr constant [2 x i8] c"d\00" @.str7358 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str7359 = private unnamed_addr constant [4 x i8] c"new\00" @.str7360 = private unnamed_addr constant [9 x i8] c"dict_new\00" @.str7361 = private unnamed_addr constant [4 x i8] c"set\00" @.str7362 = private unnamed_addr constant [9 x i8] c"dict_set\00" @.str7363 = private unnamed_addr constant [2 x i8] c"d\00" @.str7364 = private unnamed_addr constant [4 x i8] c"key\00" @.str7365 = private unnamed_addr constant [6 x i8] c"value\00" @.str7366 = private unnamed_addr constant [4 x i8] c"get\00" @.str7367 = private unnamed_addr constant [9 x i8] c"dict_get\00" @.str7368 = private unnamed_addr constant [2 x i8] c"d\00" @.str7369 = private unnamed_addr constant [4 x i8] c"key\00" @.str7370 = private unnamed_addr constant [7 x i8] c"get_or\00" @.str7371 = private unnamed_addr constant [12 x i8] c"dict_get_or\00" @.str7372 = private unnamed_addr constant [2 x i8] c"d\00" @.str7373 = private unnamed_addr constant [4 x i8] c"key\00" @.str7374 = private unnamed_addr constant [9 x i8] c"fallback\00" @.str7375 = private unnamed_addr constant [4 x i8] c"has\00" @.str7376 = private unnamed_addr constant [9 x i8] c"dict_has\00" @.str7377 = private unnamed_addr constant [2 x i8] c"d\00" @.str7378 = private unnamed_addr constant [4 x i8] c"key\00" @.str7379 = private unnamed_addr constant [7 x i8] c"remove\00" @.str7380 = private unnamed_addr constant [12 x i8] c"dict_remove\00" @.str7381 = private unnamed_addr constant [2 x i8] c"d\00" @.str7382 = private unnamed_addr constant [4 x i8] c"key\00" @.str7383 = private unnamed_addr constant [5 x i8] c"size\00" @.str7384 = private unnamed_addr constant [10 x i8] c"dict_size\00" @.str7385 = private unnamed_addr constant [2 x i8] c"d\00" @.str7386 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7387 = private unnamed_addr constant [11 x i8] c"dict_clear\00" @.str7388 = private unnamed_addr constant [2 x i8] c"d\00" @.str7389 = private unnamed_addr constant [5 x i8] c"keys\00" @.str7390 = private unnamed_addr constant [10 x i8] c"dict_keys\00" @.str7391 = private unnamed_addr constant [2 x i8] c"d\00" @.str7392 = private unnamed_addr constant [4 x i8] c"Set\00" @.str7393 = private unnamed_addr constant [4 x i8] c"new\00" @.str7394 = private unnamed_addr constant [8 x i8] c"set_new\00" @.str7395 = private unnamed_addr constant [4 x i8] c"add\00" @.str7396 = private unnamed_addr constant [8 x i8] c"set_add\00" @.str7397 = private unnamed_addr constant [2 x i8] c"s\00" @.str7398 = private unnamed_addr constant [4 x i8] c"key\00" @.str7399 = private unnamed_addr constant [4 x i8] c"has\00" @.str7400 = private unnamed_addr constant [8 x i8] c"set_has\00" @.str7401 = private unnamed_addr constant [2 x i8] c"s\00" @.str7402 = private unnamed_addr constant [4 x i8] c"key\00" @.str7403 = private unnamed_addr constant [7 x i8] c"remove\00" @.str7404 = private unnamed_addr constant [11 x i8] c"set_remove\00" @.str7405 = private unnamed_addr constant [2 x i8] c"s\00" @.str7406 = private unnamed_addr constant [4 x i8] c"key\00" @.str7407 = private unnamed_addr constant [5 x i8] c"size\00" @.str7408 = private unnamed_addr constant [9 x i8] c"set_size\00" @.str7409 = private unnamed_addr constant [2 x i8] c"s\00" @.str7410 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7411 = private unnamed_addr constant [10 x i8] c"set_clear\00" @.str7412 = private unnamed_addr constant [2 x i8] c"s\00" @.str7413 = private unnamed_addr constant [8 x i8] c"members\00" @.str7414 = private unnamed_addr constant [12 x i8] c"set_members\00" @.str7415 = private unnamed_addr constant [2 x i8] c"s\00" @.str7416 = private unnamed_addr constant [4 x i8] c"Job\00" @.str7417 = private unnamed_addr constant [6 x i8] c"defer\00" @.str7418 = private unnamed_addr constant [10 x i8] c"job_defer\00" @.str7419 = private unnamed_addr constant [4 x i8] c"run\00" @.str7420 = private unnamed_addr constant [8 x i8] c"job_run\00" @.str7421 = private unnamed_addr constant [5 x i8] c"kind\00" @.str7422 = private unnamed_addr constant [4 x i8] c"arg\00" @.str7423 = private unnamed_addr constant [8 x i8] c"fulfill\00" @.str7424 = private unnamed_addr constant [12 x i8] c"job_fulfill\00" @.str7425 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7426 = private unnamed_addr constant [6 x i8] c"value\00" @.str7427 = private unnamed_addr constant [5 x i8] c"fail\00" @.str7428 = private unnamed_addr constant [9 x i8] c"job_fail\00" @.str7429 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7430 = private unnamed_addr constant [6 x i8] c"error\00" @.str7431 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str7432 = private unnamed_addr constant [11 x i8] c"job_cancel\00" @.str7433 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7434 = private unnamed_addr constant [5 x i8] c"pump\00" @.str7435 = private unnamed_addr constant [9 x i8] c"job_pump\00" @.str7436 = private unnamed_addr constant [7 x i8] c"budget\00" @.str7437 = private unnamed_addr constant [5 x i8] c"done\00" @.str7438 = private unnamed_addr constant [9 x i8] c"job_done\00" @.str7439 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7440 = private unnamed_addr constant [3 x i8] c"ok\00" @.str7441 = private unnamed_addr constant [7 x i8] c"job_ok\00" @.str7442 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7443 = private unnamed_addr constant [7 x i8] c"failed\00" @.str7444 = private unnamed_addr constant [11 x i8] c"job_failed\00" @.str7445 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7446 = private unnamed_addr constant [10 x i8] c"cancelled\00" @.str7447 = private unnamed_addr constant [14 x i8] c"job_cancelled\00" @.str7448 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7449 = private unnamed_addr constant [7 x i8] c"result\00" @.str7450 = private unnamed_addr constant [11 x i8] c"job_result\00" @.str7451 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7452 = private unnamed_addr constant [6 x i8] c"error\00" @.str7453 = private unnamed_addr constant [10 x i8] c"job_error\00" @.str7454 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7455 = private unnamed_addr constant [8 x i8] c"pending\00" @.str7456 = private unnamed_addr constant [12 x i8] c"job_pending\00" @.str7457 = private unnamed_addr constant [5 x i8] c"free\00" @.str7458 = private unnamed_addr constant [9 x i8] c"job_free\00" @.str7459 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7460 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str7461 = private unnamed_addr constant [4 x i8] c"all\00" @.str7462 = private unnamed_addr constant [9 x i8] c"prom_all\00" @.str7463 = private unnamed_addr constant [8 x i8] c"handles\00" @.str7464 = private unnamed_addr constant [5 x i8] c"race\00" @.str7465 = private unnamed_addr constant [10 x i8] c"prom_race\00" @.str7466 = private unnamed_addr constant [8 x i8] c"handles\00" @.str7467 = private unnamed_addr constant [11 x i8] c"count_done\00" @.str7468 = private unnamed_addr constant [16 x i8] c"prom_count_done\00" @.str7469 = private unnamed_addr constant [8 x i8] c"handles\00" @.str7470 = private unnamed_addr constant [9 x i8] c"all_done\00" @.str7471 = private unnamed_addr constant [14 x i8] c"prom_all_done\00" @.str7472 = private unnamed_addr constant [8 x i8] c"handles\00" @.str7473 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str7474 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str7475 = private unnamed_addr constant [11 x i8] c"sync_mutex\00" @.str7476 = private unnamed_addr constant [5 x i8] c"lock\00" @.str7477 = private unnamed_addr constant [10 x i8] c"sync_lock\00" @.str7478 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str7479 = private unnamed_addr constant [7 x i8] c"unlock\00" @.str7480 = private unnamed_addr constant [12 x i8] c"sync_unlock\00" @.str7481 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str7482 = private unnamed_addr constant [9 x i8] c"try_lock\00" @.str7483 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00" @.str7484 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str7485 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7486 = private unnamed_addr constant [12 x i8] c"sync_atomic\00" @.str7487 = private unnamed_addr constant [4 x i8] c"get\00" @.str7488 = private unnamed_addr constant [9 x i8] c"sync_get\00" @.str7489 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7490 = private unnamed_addr constant [4 x i8] c"set\00" @.str7491 = private unnamed_addr constant [9 x i8] c"sync_set\00" @.str7492 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7493 = private unnamed_addr constant [6 x i8] c"value\00" @.str7494 = private unnamed_addr constant [4 x i8] c"add\00" @.str7495 = private unnamed_addr constant [9 x i8] c"sync_add\00" @.str7496 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7497 = private unnamed_addr constant [6 x i8] c"delta\00" @.str7498 = private unnamed_addr constant [4 x i8] c"cas\00" @.str7499 = private unnamed_addr constant [9 x i8] c"sync_cas\00" @.str7500 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7501 = private unnamed_addr constant [7 x i8] c"expect\00" @.str7502 = private unnamed_addr constant [5 x i8] c"next\00" @.str7503 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7504 = private unnamed_addr constant [13 x i8] c"sync_channel\00" @.str7505 = private unnamed_addr constant [5 x i8] c"send\00" @.str7506 = private unnamed_addr constant [10 x i8] c"sync_send\00" @.str7507 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7508 = private unnamed_addr constant [6 x i8] c"value\00" @.str7509 = private unnamed_addr constant [5 x i8] c"recv\00" @.str7510 = private unnamed_addr constant [10 x i8] c"sync_recv\00" @.str7511 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7512 = private unnamed_addr constant [9 x i8] c"can_recv\00" @.str7513 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00" @.str7514 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7515 = private unnamed_addr constant [4 x i8] c"len\00" @.str7516 = private unnamed_addr constant [9 x i8] c"sync_len\00" @.str7517 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7518 = private unnamed_addr constant [10 x i8] c"cpu_count\00" @.str7519 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00" @.str7520 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str7521 = private unnamed_addr constant [5 x i8] c"from\00" @.str7522 = private unnamed_addr constant [10 x i8] c"huge_from\00" @.str7523 = private unnamed_addr constant [6 x i8] c"value\00" @.str7524 = private unnamed_addr constant [4 x i8] c"add\00" @.str7525 = private unnamed_addr constant [9 x i8] c"huge_add\00" @.str7526 = private unnamed_addr constant [2 x i8] c"a\00" @.str7527 = private unnamed_addr constant [2 x i8] c"b\00" @.str7528 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7529 = private unnamed_addr constant [9 x i8] c"huge_sub\00" @.str7530 = private unnamed_addr constant [2 x i8] c"a\00" @.str7531 = private unnamed_addr constant [2 x i8] c"b\00" @.str7532 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7533 = private unnamed_addr constant [9 x i8] c"huge_mul\00" @.str7534 = private unnamed_addr constant [2 x i8] c"a\00" @.str7535 = private unnamed_addr constant [2 x i8] c"b\00" @.str7536 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7537 = private unnamed_addr constant [9 x i8] c"huge_neg\00" @.str7538 = private unnamed_addr constant [2 x i8] c"a\00" @.str7539 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str7540 = private unnamed_addr constant [9 x i8] c"huge_cmp\00" @.str7541 = private unnamed_addr constant [2 x i8] c"a\00" @.str7542 = private unnamed_addr constant [2 x i8] c"b\00" @.str7543 = private unnamed_addr constant [5 x i8] c"sign\00" @.str7544 = private unnamed_addr constant [10 x i8] c"huge_sign\00" @.str7545 = private unnamed_addr constant [2 x i8] c"a\00" @.str7546 = private unnamed_addr constant [9 x i8] c"mantissa\00" @.str7547 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00" @.str7548 = private unnamed_addr constant [2 x i8] c"a\00" @.str7549 = private unnamed_addr constant [4 x i8] c"exp\00" @.str7550 = private unnamed_addr constant [9 x i8] c"huge_exp\00" @.str7551 = private unnamed_addr constant [2 x i8] c"a\00" @.str7552 = private unnamed_addr constant [4 x i8] c"str\00" @.str7553 = private unnamed_addr constant [9 x i8] c"huge_str\00" @.str7554 = private unnamed_addr constant [2 x i8] c"a\00" @.str7555 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str7556 = private unnamed_addr constant [13 x i8] c"from_degrees\00" @.str7557 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00" @.str7558 = private unnamed_addr constant [2 x i8] c"d\00" @.str7559 = private unnamed_addr constant [11 x i8] c"to_degrees\00" @.str7560 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00" @.str7561 = private unnamed_addr constant [2 x i8] c"a\00" @.str7562 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str7563 = private unnamed_addr constant [11 x i8] c"angle_wrap\00" @.str7564 = private unnamed_addr constant [2 x i8] c"a\00" @.str7565 = private unnamed_addr constant [4 x i8] c"sin\00" @.str7566 = private unnamed_addr constant [10 x i8] c"angle_sin\00" @.str7567 = private unnamed_addr constant [2 x i8] c"a\00" @.str7568 = private unnamed_addr constant [4 x i8] c"cos\00" @.str7569 = private unnamed_addr constant [10 x i8] c"angle_cos\00" @.str7570 = private unnamed_addr constant [2 x i8] c"a\00" @.str7571 = private unnamed_addr constant [4 x i8] c"add\00" @.str7572 = private unnamed_addr constant [10 x i8] c"angle_add\00" @.str7573 = private unnamed_addr constant [2 x i8] c"a\00" @.str7574 = private unnamed_addr constant [2 x i8] c"b\00" @.str7575 = private unnamed_addr constant [5 x i8] c"diff\00" @.str7576 = private unnamed_addr constant [11 x i8] c"angle_diff\00" @.str7577 = private unnamed_addr constant [2 x i8] c"a\00" @.str7578 = private unnamed_addr constant [2 x i8] c"b\00" @.str7579 = private unnamed_addr constant [13 x i8] c"diff_degrees\00" @.str7580 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00" @.str7581 = private unnamed_addr constant [2 x i8] c"a\00" @.str7582 = private unnamed_addr constant [2 x i8] c"b\00" @.str7583 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7584 = private unnamed_addr constant [11 x i8] c"angle_lerp\00" @.str7585 = private unnamed_addr constant [2 x i8] c"a\00" @.str7586 = private unnamed_addr constant [2 x i8] c"b\00" @.str7587 = private unnamed_addr constant [2 x i8] c"t\00" @.str7588 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str7589 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str7590 = private unnamed_addr constant [14 x i8] c"percent_clamp\00" @.str7591 = private unnamed_addr constant [2 x i8] c"v\00" @.str7592 = private unnamed_addr constant [3 x i8] c"of\00" @.str7593 = private unnamed_addr constant [11 x i8] c"percent_of\00" @.str7594 = private unnamed_addr constant [4 x i8] c"num\00" @.str7595 = private unnamed_addr constant [4 x i8] c"den\00" @.str7596 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7597 = private unnamed_addr constant [13 x i8] c"percent_lerp\00" @.str7598 = private unnamed_addr constant [2 x i8] c"a\00" @.str7599 = private unnamed_addr constant [2 x i8] c"b\00" @.str7600 = private unnamed_addr constant [2 x i8] c"t\00" @.str7601 = private unnamed_addr constant [6 x i8] c"apply\00" @.str7602 = private unnamed_addr constant [14 x i8] c"percent_apply\00" @.str7603 = private unnamed_addr constant [6 x i8] c"value\00" @.str7604 = private unnamed_addr constant [2 x i8] c"p\00" @.str7605 = private unnamed_addr constant [5 x i8] c"Grid\00" @.str7606 = private unnamed_addr constant [5 x i8] c"line\00" @.str7607 = private unnamed_addr constant [10 x i8] c"grid_line\00" @.str7608 = private unnamed_addr constant [3 x i8] c"x0\00" @.str7609 = private unnamed_addr constant [3 x i8] c"y0\00" @.str7610 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7611 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7612 = private unnamed_addr constant [8 x i8] c"blocked\00" @.str7613 = private unnamed_addr constant [13 x i8] c"grid_blocked\00" @.str7614 = private unnamed_addr constant [2 x i8] c"x\00" @.str7615 = private unnamed_addr constant [2 x i8] c"y\00" @.str7616 = private unnamed_addr constant [5 x i8] c"wall\00" @.str7617 = private unnamed_addr constant [14 x i8] c"line_of_sight\00" @.str7618 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00" @.str7619 = private unnamed_addr constant [3 x i8] c"x0\00" @.str7620 = private unnamed_addr constant [3 x i8] c"y0\00" @.str7621 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7622 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7623 = private unnamed_addr constant [5 x i8] c"wall\00" @.str7624 = private unnamed_addr constant [6 x i8] c"flood\00" @.str7625 = private unnamed_addr constant [11 x i8] c"grid_flood\00" @.str7626 = private unnamed_addr constant [2 x i8] c"x\00" @.str7627 = private unnamed_addr constant [2 x i8] c"y\00" @.str7628 = private unnamed_addr constant [5 x i8] c"wall\00" @.str7629 = private unnamed_addr constant [7 x i8] c"a_star\00" @.str7630 = private unnamed_addr constant [12 x i8] c"path_a_star\00" @.str7631 = private unnamed_addr constant [3 x i8] c"x0\00" @.str7632 = private unnamed_addr constant [3 x i8] c"y0\00" @.str7633 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7634 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7635 = private unnamed_addr constant [5 x i8] c"wall\00" @.str7636 = private unnamed_addr constant [6 x i8] c"Light\00" @.str7637 = private unnamed_addr constant [8 x i8] c"ambient\00" @.str7638 = private unnamed_addr constant [14 x i8] c"light_ambient\00" @.str7639 = private unnamed_addr constant [6 x i8] c"color\00" @.str7640 = private unnamed_addr constant [6 x i8] c"point\00" @.str7641 = private unnamed_addr constant [12 x i8] c"light_point\00" @.str7642 = private unnamed_addr constant [2 x i8] c"x\00" @.str7643 = private unnamed_addr constant [2 x i8] c"y\00" @.str7644 = private unnamed_addr constant [7 x i8] c"radius\00" @.str7645 = private unnamed_addr constant [6 x i8] c"color\00" @.str7646 = private unnamed_addr constant [7 x i8] c"energy\00" @.str7647 = private unnamed_addr constant [5 x i8] c"spot\00" @.str7648 = private unnamed_addr constant [11 x i8] c"light_spot\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 [7 x i8] c"radius\00" @.str7652 = private unnamed_addr constant [6 x i8] c"color\00" @.str7653 = private unnamed_addr constant [7 x i8] c"energy\00" @.str7654 = private unnamed_addr constant [10 x i8] c"direction\00" @.str7655 = private unnamed_addr constant [7 x i8] c"spread\00" @.str7656 = private unnamed_addr constant [8 x i8] c"occlude\00" @.str7657 = private unnamed_addr constant [14 x i8] c"light_occlude\00" @.str7658 = private unnamed_addr constant [2 x i8] c"x\00" @.str7659 = private unnamed_addr constant [2 x i8] c"y\00" @.str7660 = private unnamed_addr constant [6 x i8] c"width\00" @.str7661 = private unnamed_addr constant [7 x i8] c"height\00" @.str7662 = private unnamed_addr constant [16 x i8] c"clear_occluders\00" @.str7663 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00" @.str7664 = private unnamed_addr constant [8 x i8] c"falloff\00" @.str7665 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00" @.str7666 = private unnamed_addr constant [9 x i8] c"exponent\00" @.str7667 = private unnamed_addr constant [5 x i8] c"soft\00" @.str7668 = private unnamed_addr constant [15 x i8] c"light_set_soft\00" @.str7669 = private unnamed_addr constant [7 x i8] c"radius\00" @.str7670 = private unnamed_addr constant [4 x i8] c"gel\00" @.str7671 = private unnamed_addr constant [14 x i8] c"light_set_gel\00" @.str7672 = private unnamed_addr constant [6 x i8] c"color\00" @.str7673 = private unnamed_addr constant [10 x i8] c"clear_gel\00" @.str7674 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00" @.str7675 = private unnamed_addr constant [7 x i8] c"height\00" @.str7676 = private unnamed_addr constant [17 x i8] c"light_set_height\00" @.str7677 = private unnamed_addr constant [7 x i8] c"height\00" @.str7678 = private unnamed_addr constant [7 x i8] c"normal\00" @.str7679 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00" @.str7680 = private unnamed_addr constant [2 x i8] c"x\00" @.str7681 = private unnamed_addr constant [2 x i8] c"y\00" @.str7682 = private unnamed_addr constant [6 x i8] c"width\00" @.str7683 = private unnamed_addr constant [7 x i8] c"height\00" @.str7684 = private unnamed_addr constant [3 x i8] c"nx\00" @.str7685 = private unnamed_addr constant [3 x i8] c"ny\00" @.str7686 = private unnamed_addr constant [14 x i8] c"clear_normals\00" @.str7687 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00" @.str7688 = private unnamed_addr constant [12 x i8] c"time_of_day\00" @.str7689 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00" @.str7690 = private unnamed_addr constant [2 x i8] c"t\00" @.str7691 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str7692 = private unnamed_addr constant [5 x i8] c"clip\00" @.str7693 = private unnamed_addr constant [10 x i8] c"anim_clip\00" @.str7694 = private unnamed_addr constant [5 x i8] c"name\00" @.str7695 = private unnamed_addr constant [7 x i8] c"frames\00" @.str7696 = private unnamed_addr constant [4 x i8] c"fps\00" @.str7697 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7698 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str7699 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" @.str7700 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7701 = private unnamed_addr constant [6 x i8] c"frame\00" @.str7702 = private unnamed_addr constant [6 x i8] c"fired\00" @.str7703 = private unnamed_addr constant [11 x i8] c"anim_fired\00" @.str7704 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7705 = private unnamed_addr constant [5 x i8] c"play\00" @.str7706 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" @.str7707 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7708 = private unnamed_addr constant [5 x i8] c"clip\00" @.str7709 = private unnamed_addr constant [10 x i8] c"anim_play\00" @.str7710 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7711 = private unnamed_addr constant [4 x i8] c"fps\00" @.str7712 = private unnamed_addr constant [7 x i8] c"frames\00" @.str7713 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7714 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str7715 = private unnamed_addr constant [3 x i8] c"to\00" @.str7716 = private unnamed_addr constant [10 x i8] c"motion_to\00" @.str7717 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7718 = private unnamed_addr constant [5 x i8] c"from\00" @.str7719 = private unnamed_addr constant [3 x i8] c"to\00" @.str7720 = private unnamed_addr constant [4 x i8] c"dur\00" @.str7721 = private unnamed_addr constant [5 x i8] c"ease\00" @.str7722 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str7723 = private unnamed_addr constant [3 x i8] c"to\00" @.str7724 = private unnamed_addr constant [9 x i8] c"tween_to\00" @.str7725 = private unnamed_addr constant [5 x i8] c"from\00" @.str7726 = private unnamed_addr constant [3 x i8] c"to\00" @.str7727 = private unnamed_addr constant [4 x i8] c"dur\00" @.str7728 = private unnamed_addr constant [5 x i8] c"ease\00" @.str7729 = private unnamed_addr constant [6 x i8] c"chain\00" @.str7730 = private unnamed_addr constant [12 x i8] c"tween_chain\00" @.str7731 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7732 = private unnamed_addr constant [3 x i8] c"to\00" @.str7733 = private unnamed_addr constant [4 x i8] c"dur\00" @.str7734 = private unnamed_addr constant [5 x i8] c"ease\00" @.str7735 = private unnamed_addr constant [6 x i8] c"delay\00" @.str7736 = private unnamed_addr constant [12 x i8] c"tween_delay\00" @.str7737 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7738 = private unnamed_addr constant [6 x i8] c"ticks\00" @.str7739 = private unnamed_addr constant [6 x i8] c"value\00" @.str7740 = private unnamed_addr constant [12 x i8] c"tween_value\00" @.str7741 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7742 = private unnamed_addr constant [5 x i8] c"stop\00" @.str7743 = private unnamed_addr constant [11 x i8] c"tween_stop\00" @.str7744 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7745 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str7746 = private unnamed_addr constant [15 x i8] c"tween_parallel\00" @.str7747 = private unnamed_addr constant [2 x i8] c"a\00" @.str7748 = private unnamed_addr constant [2 x i8] c"b\00" @.str7749 = private unnamed_addr constant [6 x i8] c"Query\00" @.str7750 = private unnamed_addr constant [6 x i8] c"count\00" @.str7751 = private unnamed_addr constant [12 x i8] c"query_count\00" @.str7752 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7753 = private unnamed_addr constant [6 x i8] c"first\00" @.str7754 = private unnamed_addr constant [12 x i8] c"query_first\00" @.str7755 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7756 = private unnamed_addr constant [8 x i8] c"nearest\00" @.str7757 = private unnamed_addr constant [14 x i8] c"query_nearest\00" @.str7758 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7759 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7760 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str7761 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str7762 = private unnamed_addr constant [2 x i8] c"x\00" @.str7763 = private unnamed_addr constant [2 x i8] c"y\00" @.str7764 = private unnamed_addr constant [7 x i8] c"within\00" @.str7765 = private unnamed_addr constant [13 x i8] c"query_within\00" @.str7766 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7767 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7768 = private unnamed_addr constant [2 x i8] c"x\00" @.str7769 = private unnamed_addr constant [2 x i8] c"y\00" @.str7770 = private unnamed_addr constant [7 x i8] c"radius\00" @.str7771 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str7772 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str7773 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str7774 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7775 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str7776 = private unnamed_addr constant [5 x i8] c"name\00" @.str7777 = private unnamed_addr constant [6 x i8] c"field\00" @.str7778 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str7779 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7780 = private unnamed_addr constant [5 x i8] c"name\00" @.str7781 = private unnamed_addr constant [11 x i8] c"prop_count\00" @.str7782 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str7783 = private unnamed_addr constant [10 x i8] c"prop_name\00" @.str7784 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str7785 = private unnamed_addr constant [6 x i8] c"index\00" @.str7786 = private unnamed_addr constant [12 x i8] c"field_count\00" @.str7787 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str7788 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7789 = private unnamed_addr constant [11 x i8] c"field_name\00" @.str7790 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str7791 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7792 = private unnamed_addr constant [6 x i8] c"index\00" @.str7793 = private unnamed_addr constant [11 x i8] c"field_type\00" @.str7794 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str7795 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7796 = private unnamed_addr constant [6 x i8] c"index\00" @.str7797 = private unnamed_addr constant [4 x i8] c"get\00" @.str7798 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str7799 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7800 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7801 = private unnamed_addr constant [6 x i8] c"field\00" @.str7802 = private unnamed_addr constant [4 x i8] c"set\00" @.str7803 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str7804 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7805 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7806 = private unnamed_addr constant [6 x i8] c"field\00" @.str7807 = private unnamed_addr constant [6 x i8] c"value\00" @.str7808 = private unnamed_addr constant [4 x i8] c"has\00" @.str7809 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str7810 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7811 = private unnamed_addr constant [5 x i8] c"prop\00" @.str7812 = private unnamed_addr constant [5 x i8] c"kind\00" @.str7813 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str7814 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7815 = private unnamed_addr constant [6 x i8] c"model\00" @.str7816 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str7817 = private unnamed_addr constant [5 x i8] c"name\00" @.str7818 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str7819 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00" @.str7820 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7821 = private unnamed_addr constant [6 x i8] c"apply\00" @.str7822 = private unnamed_addr constant [14 x i8] c"reflect_apply\00" @.str7823 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7824 = private unnamed_addr constant [6 x i8] c"value\00" @.str7825 = private unnamed_addr constant [6 x i8] c"Value\00" @.str7826 = private unnamed_addr constant [5 x i8] c"null\00" @.str7827 = private unnamed_addr constant [11 x i8] c"value_null\00" @.str7828 = private unnamed_addr constant [4 x i8] c"int\00" @.str7829 = private unnamed_addr constant [10 x i8] c"value_int\00" @.str7830 = private unnamed_addr constant [2 x i8] c"n\00" @.str7831 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7832 = private unnamed_addr constant [12 x i8] c"value_fixed\00" @.str7833 = private unnamed_addr constant [2 x i8] c"f\00" @.str7834 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7835 = private unnamed_addr constant [11 x i8] c"value_bool\00" @.str7836 = private unnamed_addr constant [2 x i8] c"b\00" @.str7837 = private unnamed_addr constant [4 x i8] c"str\00" @.str7838 = private unnamed_addr constant [10 x i8] c"value_str\00" @.str7839 = private unnamed_addr constant [2 x i8] c"s\00" @.str7840 = private unnamed_addr constant [5 x i8] c"list\00" @.str7841 = private unnamed_addr constant [11 x i8] c"value_list\00" @.str7842 = private unnamed_addr constant [7 x i8] c"object\00" @.str7843 = private unnamed_addr constant [13 x i8] c"value_object\00" @.str7844 = private unnamed_addr constant [4 x i8] c"add\00" @.str7845 = private unnamed_addr constant [10 x i8] c"value_add\00" @.str7846 = private unnamed_addr constant [5 x i8] c"list\00" @.str7847 = private unnamed_addr constant [5 x i8] c"item\00" @.str7848 = private unnamed_addr constant [4 x i8] c"put\00" @.str7849 = private unnamed_addr constant [10 x i8] c"value_put\00" @.str7850 = private unnamed_addr constant [4 x i8] c"obj\00" @.str7851 = private unnamed_addr constant [4 x i8] c"key\00" @.str7852 = private unnamed_addr constant [5 x i8] c"item\00" @.str7853 = private unnamed_addr constant [4 x i8] c"get\00" @.str7854 = private unnamed_addr constant [10 x i8] c"value_get\00" @.str7855 = private unnamed_addr constant [4 x i8] c"obj\00" @.str7856 = private unnamed_addr constant [4 x i8] c"key\00" @.str7857 = private unnamed_addr constant [4 x i8] c"has\00" @.str7858 = private unnamed_addr constant [10 x i8] c"value_has\00" @.str7859 = private unnamed_addr constant [4 x i8] c"obj\00" @.str7860 = private unnamed_addr constant [4 x i8] c"key\00" @.str7861 = private unnamed_addr constant [3 x i8] c"at\00" @.str7862 = private unnamed_addr constant [9 x i8] c"value_at\00" @.str7863 = private unnamed_addr constant [5 x i8] c"list\00" @.str7864 = private unnamed_addr constant [6 x i8] c"index\00" @.str7865 = private unnamed_addr constant [7 x i8] c"key_at\00" @.str7866 = private unnamed_addr constant [13 x i8] c"value_key_at\00" @.str7867 = private unnamed_addr constant [4 x i8] c"obj\00" @.str7868 = private unnamed_addr constant [6 x i8] c"index\00" @.str7869 = private unnamed_addr constant [6 x i8] c"count\00" @.str7870 = private unnamed_addr constant [12 x i8] c"value_count\00" @.str7871 = private unnamed_addr constant [6 x i8] c"value\00" @.str7872 = private unnamed_addr constant [5 x i8] c"kind\00" @.str7873 = private unnamed_addr constant [11 x i8] c"value_kind\00" @.str7874 = private unnamed_addr constant [6 x i8] c"value\00" @.str7875 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str7876 = private unnamed_addr constant [13 x i8] c"value_as_int\00" @.str7877 = private unnamed_addr constant [6 x i8] c"value\00" @.str7878 = private unnamed_addr constant [7 x i8] c"as_str\00" @.str7879 = private unnamed_addr constant [13 x i8] c"value_as_str\00" @.str7880 = private unnamed_addr constant [6 x i8] c"value\00" @.str7881 = private unnamed_addr constant [5 x i8] c"Json\00" @.str7882 = private unnamed_addr constant [7 x i8] c"encode\00" @.str7883 = private unnamed_addr constant [12 x i8] c"json_encode\00" @.str7884 = private unnamed_addr constant [6 x i8] c"value\00" @.str7885 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7886 = private unnamed_addr constant [11 x i8] c"json_parse\00" @.str7887 = private unnamed_addr constant [5 x i8] c"text\00" @.str7888 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str7889 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7890 = private unnamed_addr constant [10 x i8] c"xml_parse\00" @.str7891 = private unnamed_addr constant [5 x i8] c"text\00" @.str7892 = private unnamed_addr constant [4 x i8] c"tag\00" @.str7893 = private unnamed_addr constant [8 x i8] c"xml_tag\00" @.str7894 = private unnamed_addr constant [5 x i8] c"node\00" @.str7895 = private unnamed_addr constant [5 x i8] c"text\00" @.str7896 = private unnamed_addr constant [9 x i8] c"xml_text\00" @.str7897 = private unnamed_addr constant [5 x i8] c"node\00" @.str7898 = private unnamed_addr constant [5 x i8] c"attr\00" @.str7899 = private unnamed_addr constant [9 x i8] c"xml_attr\00" @.str7900 = private unnamed_addr constant [5 x i8] c"node\00" @.str7901 = private unnamed_addr constant [4 x i8] c"key\00" @.str7902 = private unnamed_addr constant [9 x i8] c"attr_int\00" @.str7903 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00" @.str7904 = private unnamed_addr constant [5 x i8] c"node\00" @.str7905 = private unnamed_addr constant [4 x i8] c"key\00" @.str7906 = private unnamed_addr constant [5 x i8] c"dflt\00" @.str7907 = private unnamed_addr constant [4 x i8] c"has\00" @.str7908 = private unnamed_addr constant [8 x i8] c"xml_has\00" @.str7909 = private unnamed_addr constant [5 x i8] c"node\00" @.str7910 = private unnamed_addr constant [4 x i8] c"key\00" @.str7911 = private unnamed_addr constant [11 x i8] c"attr_count\00" @.str7912 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00" @.str7913 = private unnamed_addr constant [5 x i8] c"node\00" @.str7914 = private unnamed_addr constant [12 x i8] c"child_count\00" @.str7915 = private unnamed_addr constant [16 x i8] c"xml_child_count\00" @.str7916 = private unnamed_addr constant [5 x i8] c"node\00" @.str7917 = private unnamed_addr constant [6 x i8] c"child\00" @.str7918 = private unnamed_addr constant [10 x i8] c"xml_child\00" @.str7919 = private unnamed_addr constant [5 x i8] c"node\00" @.str7920 = private unnamed_addr constant [6 x i8] c"index\00" @.str7921 = private unnamed_addr constant [5 x i8] c"find\00" @.str7922 = private unnamed_addr constant [9 x i8] c"xml_find\00" @.str7923 = private unnamed_addr constant [5 x i8] c"node\00" @.str7924 = private unnamed_addr constant [4 x i8] c"tag\00" @.str7925 = private unnamed_addr constant [6 x i8] c"count\00" @.str7926 = private unnamed_addr constant [10 x i8] c"xml_count\00" @.str7927 = private unnamed_addr constant [5 x i8] c"node\00" @.str7928 = private unnamed_addr constant [4 x i8] c"tag\00" @.str7929 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str7930 = private unnamed_addr constant [7 x i8] c"decode\00" @.str7931 = private unnamed_addr constant [14 x i8] c"base64_decode\00" @.str7932 = private unnamed_addr constant [4 x i8] c"src\00" @.str7933 = private unnamed_addr constant [7 x i8] c"encode\00" @.str7934 = private unnamed_addr constant [14 x i8] c"base64_encode\00" @.str7935 = private unnamed_addr constant [4 x i8] c"src\00" @.str7936 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str7937 = private unnamed_addr constant [5 x i8] c"read\00" @.str7938 = private unnamed_addr constant [11 x i8] c"tiled_read\00" @.str7939 = private unnamed_addr constant [5 x i8] c"path\00" @.str7940 = private unnamed_addr constant [9 x i8] c"read_tsx\00" @.str7941 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00" @.str7942 = private unnamed_addr constant [5 x i8] c"path\00" @.str7943 = private unnamed_addr constant [5 x i8] c"load\00" @.str7944 = private unnamed_addr constant [11 x i8] c"tiled_load\00" @.str7945 = private unnamed_addr constant [5 x i8] c"path\00" @.str7946 = private unnamed_addr constant [4 x i8] c"gid\00" @.str7947 = private unnamed_addr constant [9 x i8] c"tmap_gid\00" @.str7948 = private unnamed_addr constant [4 x i8] c"map\00" @.str7949 = private unnamed_addr constant [6 x i8] c"layer\00" @.str7950 = private unnamed_addr constant [2 x i8] c"x\00" @.str7951 = private unnamed_addr constant [2 x i8] c"y\00" @.str7952 = private unnamed_addr constant [8 x i8] c"resolve\00" @.str7953 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00" @.str7954 = private unnamed_addr constant [4 x i8] c"map\00" @.str7955 = private unnamed_addr constant [4 x i8] c"gid\00" @.str7956 = private unnamed_addr constant [6 x i8] c"width\00" @.str7957 = private unnamed_addr constant [11 x i8] c"tmap_width\00" @.str7958 = private unnamed_addr constant [4 x i8] c"map\00" @.str7959 = private unnamed_addr constant [7 x i8] c"height\00" @.str7960 = private unnamed_addr constant [12 x i8] c"tmap_height\00" @.str7961 = private unnamed_addr constant [4 x i8] c"map\00" @.str7962 = private unnamed_addr constant [12 x i8] c"layer_count\00" @.str7963 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00" @.str7964 = private unnamed_addr constant [4 x i8] c"map\00" @.str7965 = private unnamed_addr constant [11 x i8] c"layer_name\00" @.str7966 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00" @.str7967 = private unnamed_addr constant [4 x i8] c"map\00" @.str7968 = private unnamed_addr constant [6 x i8] c"index\00" @.str7969 = private unnamed_addr constant [5 x i8] c"draw\00" @.str7970 = private unnamed_addr constant [10 x i8] c"tmap_draw\00" @.str7971 = private unnamed_addr constant [4 x i8] c"map\00" @.str7972 = private unnamed_addr constant [5 x i8] c"camx\00" @.str7973 = private unnamed_addr constant [5 x i8] c"camy\00" @.str7974 = private unnamed_addr constant [10 x i8] c"draw_anim\00" @.str7975 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00" @.str7976 = private unnamed_addr constant [4 x i8] c"map\00" @.str7977 = private unnamed_addr constant [5 x i8] c"camx\00" @.str7978 = private unnamed_addr constant [5 x i8] c"camy\00" @.str7979 = private unnamed_addr constant [6 x i8] c"frame\00" @.str7980 = private unnamed_addr constant [10 x i8] c"frame_gid\00" @.str7981 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00" @.str7982 = private unnamed_addr constant [4 x i8] c"map\00" @.str7983 = private unnamed_addr constant [4 x i8] c"gid\00" @.str7984 = private unnamed_addr constant [6 x i8] c"frame\00" @.str7985 = private unnamed_addr constant [9 x i8] c"animated\00" @.str7986 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00" @.str7987 = private unnamed_addr constant [4 x i8] c"map\00" @.str7988 = private unnamed_addr constant [4 x i8] c"gid\00" @.str7989 = private unnamed_addr constant [8 x i8] c"project\00" @.str7990 = private unnamed_addr constant [13 x i8] c"tmap_project\00" @.str7991 = private unnamed_addr constant [4 x i8] c"map\00" @.str7992 = private unnamed_addr constant [6 x i8] c"layer\00" @.str7993 = private unnamed_addr constant [8 x i8] c"collide\00" @.str7994 = private unnamed_addr constant [13 x i8] c"tmap_collide\00" @.str7995 = private unnamed_addr constant [4 x i8] c"map\00" @.str7996 = private unnamed_addr constant [6 x i8] c"layer\00" @.str7997 = private unnamed_addr constant [15 x i8] c"collision_kind\00" @.str7998 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00" @.str7999 = private unnamed_addr constant [4 x i8] c"map\00" @.str8000 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8001 = private unnamed_addr constant [5 x i8] c"tree\00" @.str8002 = private unnamed_addr constant [10 x i8] c"tmap_tree\00" @.str8003 = private unnamed_addr constant [4 x i8] c"map\00" @.str8004 = private unnamed_addr constant [10 x i8] c"tile_prop\00" @.str8005 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00" @.str8006 = private unnamed_addr constant [4 x i8] c"map\00" @.str8007 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8008 = private unnamed_addr constant [5 x i8] c"name\00" @.str8009 = private unnamed_addr constant [12 x i8] c"tile_shapes\00" @.str8010 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00" @.str8011 = private unnamed_addr constant [4 x i8] c"map\00" @.str8012 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8013 = private unnamed_addr constant [13 x i8] c"object_count\00" @.str8014 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00" @.str8015 = private unnamed_addr constant [4 x i8] c"map\00" @.str8016 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8017 = private unnamed_addr constant [7 x i8] c"object\00" @.str8018 = private unnamed_addr constant [12 x i8] c"tmap_object\00" @.str8019 = private unnamed_addr constant [4 x i8] c"map\00" @.str8020 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8021 = private unnamed_addr constant [6 x i8] c"index\00" @.str8022 = private unnamed_addr constant [13 x i8] c"object_shape\00" @.str8023 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00" @.str8024 = private unnamed_addr constant [7 x i8] c"object\00" @.str8025 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8026 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00" @.str8027 = private unnamed_addr constant [10 x i8] c"container\00" @.str8028 = private unnamed_addr constant [5 x i8] c"name\00" @.str8029 = private unnamed_addr constant [9 x i8] c"prop_int\00" @.str8030 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00" @.str8031 = private unnamed_addr constant [10 x i8] c"container\00" @.str8032 = private unnamed_addr constant [5 x i8] c"name\00" @.str8033 = private unnamed_addr constant [10 x i8] c"prop_type\00" @.str8034 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00" @.str8035 = private unnamed_addr constant [10 x i8] c"container\00" @.str8036 = private unnamed_addr constant [5 x i8] c"name\00" @.str8037 = private unnamed_addr constant [11 x i8] c"load_types\00" @.str8038 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00" @.str8039 = private unnamed_addr constant [5 x i8] c"path\00" @.str8040 = private unnamed_addr constant [9 x i8] c"template\00" @.str8041 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00" @.str8042 = private unnamed_addr constant [5 x i8] c"path\00" @.str8043 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8044 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00" @.str8045 = private unnamed_addr constant [4 x i8] c"map\00" @.str8046 = private unnamed_addr constant [7 x i8] c"object\00" @.str8047 = private unnamed_addr constant [6 x i8] c"model\00" @.str8048 = private unnamed_addr constant [12 x i8] c"spawn_layer\00" @.str8049 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00" @.str8050 = private unnamed_addr constant [4 x i8] c"map\00" @.str8051 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8052 = private unnamed_addr constant [6 x i8] c"model\00" @.str8053 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str8054 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00" @.str8055 = private unnamed_addr constant [4 x i8] c"map\00" @.str8056 = private unnamed_addr constant [2 x i8] c"x\00" @.str8057 = private unnamed_addr constant [2 x i8] c"y\00" @.str8058 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str8059 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00" @.str8060 = private unnamed_addr constant [4 x i8] c"map\00" @.str8061 = private unnamed_addr constant [2 x i8] c"x\00" @.str8062 = private unnamed_addr constant [2 x i8] c"y\00" @.str8063 = private unnamed_addr constant [11 x i8] c"layer_kind\00" @.str8064 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00" @.str8065 = private unnamed_addr constant [4 x i8] c"map\00" @.str8066 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8067 = private unnamed_addr constant [14 x i8] c"layer_opacity\00" @.str8068 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00" @.str8069 = private unnamed_addr constant [4 x i8] c"map\00" @.str8070 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8071 = private unnamed_addr constant [11 x i8] c"layer_tint\00" @.str8072 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00" @.str8073 = private unnamed_addr constant [4 x i8] c"map\00" @.str8074 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8075 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00" @.str8076 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00" @.str8077 = private unnamed_addr constant [4 x i8] c"map\00" @.str8078 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8079 = private unnamed_addr constant [14 x i8] c"layer_offsety\00" @.str8080 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00" @.str8081 = private unnamed_addr constant [4 x i8] c"map\00" @.str8082 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8083 = private unnamed_addr constant [6 x i8] c"world\00" @.str8084 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00" @.str8085 = private unnamed_addr constant [5 x i8] c"path\00" @.str8086 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str8087 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00" @.str8088 = private unnamed_addr constant [6 x i8] c"world\00" @.str8089 = private unnamed_addr constant [10 x i8] c"world_map\00" @.str8090 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00" @.str8091 = private unnamed_addr constant [6 x i8] c"world\00" @.str8092 = private unnamed_addr constant [6 x i8] c"index\00" @.str8093 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str8094 = private unnamed_addr constant [4 x i8] c"gl_\00" @.str8095 = private unnamed_addr constant [2 x i8] c"_\00" @.str8096 = private unnamed_addr constant [2 x i8] c".\00" @.str8097 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" @.str8098 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str8099 = private unnamed_addr constant [2 x i8] c".\00" @.str8100 = private unnamed_addr constant [14 x i8] c"enum variant \00" @.str8101 = private unnamed_addr constant [8 x i8] c" takes \00" @.str8102 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" @.str8103 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str8104 = private unnamed_addr constant [2 x i8] c")\00" @.str8105 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8106 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8107 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8108 = private unnamed_addr constant [3 x i8] c" \00" @.str8109 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str8110 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8111 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8112 = private unnamed_addr constant [9 x i8] c" store \00" @.str8113 = private unnamed_addr constant [2 x i8] c" \00" @.str8114 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8115 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8116 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" @.str8117 = private unnamed_addr constant [5 x i8] c"self\00" @.str8118 = private unnamed_addr constant [2 x i8] c"0\00" @.str8119 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8120 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8121 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8122 = private unnamed_addr constant [4 x i8] c"key\00" @.str8123 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str8124 = private unnamed_addr constant [4 x i8] c"int\00" @.str8125 = private unnamed_addr constant [5 x i8] c"save\00" @.str8126 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" @.str8127 = private unnamed_addr constant [2 x i8] c"0\00" @.str8128 = private unnamed_addr constant [5 x i8] c"void\00" @.str8129 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str8130 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" @.str8131 = private unnamed_addr constant [2 x i8] c"0\00" @.str8132 = private unnamed_addr constant [5 x i8] c"void\00" @.str8133 = private unnamed_addr constant [5 x i8] c"load\00" @.str8134 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" @.str8135 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8136 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str8137 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" @.str8138 = private unnamed_addr constant [4 x i8] c"int\00" @.str8139 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str8140 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" @.str8141 = private unnamed_addr constant [2 x i8] c")\00" @.str8142 = private unnamed_addr constant [4 x i8] c"int\00" @.str8143 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str8144 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" @.str8145 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8146 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8147 = private unnamed_addr constant [2 x i8] c"0\00" @.str8148 = private unnamed_addr constant [5 x i8] c"void\00" @.str8149 = private unnamed_addr constant [5 x i8] c"quit\00" @.str8150 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" @.str8151 = private unnamed_addr constant [2 x i8] c"0\00" @.str8152 = private unnamed_addr constant [5 x i8] c"void\00" @.str8153 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8154 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" @.str8155 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8156 = private unnamed_addr constant [2 x i8] c")\00" @.str8157 = private unnamed_addr constant [4 x i8] c"int\00" @.str8158 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8159 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" @.str8160 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8161 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8162 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8163 = private unnamed_addr constant [2 x i8] c"0\00" @.str8164 = private unnamed_addr constant [5 x i8] c"void\00" @.str8165 = private unnamed_addr constant [10 x i8] c"sync_size\00" @.str8166 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" @.str8167 = private unnamed_addr constant [2 x i8] c")\00" @.str8168 = private unnamed_addr constant [4 x i8] c"int\00" @.str8169 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8170 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" @.str8171 = private unnamed_addr constant [2 x i8] c")\00" @.str8172 = private unnamed_addr constant [4 x i8] c"int\00" @.str8173 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8174 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" @.str8175 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8176 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8177 = private unnamed_addr constant [2 x i8] c"0\00" @.str8178 = private unnamed_addr constant [5 x i8] c"void\00" @.str8179 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8180 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" @.str8181 = private unnamed_addr constant [2 x i8] c")\00" @.str8182 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8183 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8184 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str8185 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8186 = private unnamed_addr constant [4 x i8] c", 1\00" @.str8187 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8188 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8189 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8190 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8191 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" @.str8192 = private unnamed_addr constant [4 x i8] c"int\00" @.str8193 = private unnamed_addr constant [9 x i8] c"net_pump\00" @.str8194 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" @.str8195 = private unnamed_addr constant [2 x i8] c"0\00" @.str8196 = private unnamed_addr constant [5 x i8] c"void\00" @.str8197 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" @.str8198 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" @.str8199 = private unnamed_addr constant [2 x i8] c"0\00" @.str8200 = private unnamed_addr constant [5 x i8] c"void\00" @.str8201 = private unnamed_addr constant [12 x i8] c"tick_render\00" @.str8202 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" @.str8203 = private unnamed_addr constant [2 x i8] c"0\00" @.str8204 = private unnamed_addr constant [5 x i8] c"void\00" @.str8205 = private unnamed_addr constant [9 x i8] c"set_role\00" @.str8206 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8207 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" @.str8208 = private unnamed_addr constant [2 x i8] c"0\00" @.str8209 = private unnamed_addr constant [5 x i8] c"void\00" @.str8210 = private unnamed_addr constant [13 x i8] c"set_local_id\00" @.str8211 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8212 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" @.str8213 = private unnamed_addr constant [2 x i8] c"0\00" @.str8214 = private unnamed_addr constant [5 x i8] c"void\00" @.str8215 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str8216 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str8217 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" @.str8218 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8219 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8220 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8221 = private unnamed_addr constant [2 x i8] c"0\00" @.str8222 = private unnamed_addr constant [5 x i8] c"void\00" @.str8223 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str8224 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str8225 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" @.str8226 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8227 = private unnamed_addr constant [2 x i8] c")\00" @.str8228 = private unnamed_addr constant [4 x i8] c"int\00" @.str8229 = private unnamed_addr constant [4 x i8] c"len\00" @.str8230 = private unnamed_addr constant [5 x i8] c"push\00" @.str8231 = private unnamed_addr constant [7 x i8] c"string\00" @.str8232 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8233 = private unnamed_addr constant [4 x i8] c"i64\00" @.str8234 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str8235 = private unnamed_addr constant [2 x i8] c")\00" @.str8236 = private unnamed_addr constant [7 x i8] c"string\00" @.str8237 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str8238 = private unnamed_addr constant [2 x i8] c")\00" @.str8239 = private unnamed_addr constant [7 x i8] c"string\00" @.str8240 = private unnamed_addr constant [6 x i8] c"print\00" @.str8241 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8242 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str8243 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8244 = private unnamed_addr constant [4 x i8] c"i64\00" @.str8245 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" @.str8246 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8247 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" @.str8248 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8249 = private unnamed_addr constant [2 x i8] c"0\00" @.str8250 = private unnamed_addr constant [5 x i8] c"void\00" @.str8251 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8252 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str8253 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8254 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str8255 = private unnamed_addr constant [2 x i8] c")\00" @.str8256 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8257 = private unnamed_addr constant [6 x i8] c"words\00" @.str8258 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str8259 = private unnamed_addr constant [4 x i8] c", 4\00" @.str8260 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str8261 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8262 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str8263 = private unnamed_addr constant [2 x i8] c")\00" @.str8264 = private unnamed_addr constant [6 x i8] c"words\00" @.str8265 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8266 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str8267 = private unnamed_addr constant [5 x i8] c", 16\00" @.str8268 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8269 = private unnamed_addr constant [6 x i8] c"floor\00" @.str8270 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str8271 = private unnamed_addr constant [5 x i8] c", 16\00" @.str8272 = private unnamed_addr constant [4 x i8] c"int\00" @.str8273 = private unnamed_addr constant [7 x i8] c"expect\00" @.str8274 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8275 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8276 = private unnamed_addr constant [2 x i8] c":\00" @.str8277 = private unnamed_addr constant [16 x i8] c": expect failed\00" @.str8278 = private unnamed_addr constant [1 x i8] c"\00" @.str8279 = private unnamed_addr constant [1 x i8] c"\00" @.str8280 = private unnamed_addr constant [2 x i8] c"0\00" @.str8281 = private unnamed_addr constant [5 x i8] c"void\00" @.str8282 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str8283 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8284 = private unnamed_addr constant [3 x i8] c", \00" @.str8285 = private unnamed_addr constant [2 x i8] c":\00" @.str8286 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str8287 = private unnamed_addr constant [2 x i8] c"0\00" @.str8288 = private unnamed_addr constant [5 x i8] c"void\00" @.str8289 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str8290 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8291 = private unnamed_addr constant [3 x i8] c", \00" @.str8292 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str8293 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str8294 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8295 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8296 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8297 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8298 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str8299 = private unnamed_addr constant [3 x i8] c", \00" @.str8300 = private unnamed_addr constant [2 x i8] c":\00" @.str8301 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" @.str8302 = private unnamed_addr constant [2 x i8] c"0\00" @.str8303 = private unnamed_addr constant [5 x i8] c"void\00" @.str8304 = private unnamed_addr constant [6 x i8] c"panic\00" @.str8305 = private unnamed_addr constant [2 x i8] c":\00" @.str8306 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str8307 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str8308 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str8309 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str8310 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8311 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8312 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str8313 = private unnamed_addr constant [2 x i8] c"0\00" @.str8314 = private unnamed_addr constant [5 x i8] c"void\00" @.str8315 = private unnamed_addr constant [7 x i8] c"assert\00" @.str8316 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8317 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8318 = private unnamed_addr constant [5 x i8] c"asok\00" @.str8319 = private unnamed_addr constant [6 x i8] c"asbad\00" @.str8320 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8321 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8322 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8323 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8324 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8325 = private unnamed_addr constant [2 x i8] c":\00" @.str8326 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" @.str8327 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str8328 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str8329 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str8330 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8331 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8332 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str8333 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8334 = private unnamed_addr constant [2 x i8] c"0\00" @.str8335 = private unnamed_addr constant [5 x i8] c"void\00" @.str8336 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8337 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8338 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str8339 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8340 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8341 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str8342 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8343 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8344 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8345 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8346 = private unnamed_addr constant [4 x i8] c"int\00" @.str8347 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8348 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8349 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8350 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str8351 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str8352 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8353 = private unnamed_addr constant [7 x i8] c"result\00" @.str8354 = private unnamed_addr constant [4 x i8] c"err\00" @.str8355 = private unnamed_addr constant [4 x i8] c"err\00" @.str8356 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str8357 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8358 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8359 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str8360 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8361 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8362 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8363 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str8364 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8365 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8366 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str8367 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str8368 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8369 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8370 = private unnamed_addr constant [7 x i8] c"result\00" @.str8371 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str8372 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str8373 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8374 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8375 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8376 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8377 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8378 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8379 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8380 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8381 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str8382 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str8383 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8384 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8385 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8386 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8387 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8388 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8389 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8390 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8391 = private unnamed_addr constant [5 x i8] c"some\00" @.str8392 = private unnamed_addr constant [5 x i8] c"some\00" @.str8393 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str8394 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8395 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8396 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str8397 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8398 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8399 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8400 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8401 = private unnamed_addr constant [4 x i8] c"int\00" @.str8402 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8403 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8404 = private unnamed_addr constant [7 x i8] c"option\00" @.str8405 = private unnamed_addr constant [5 x i8] c"none\00" @.str8406 = private unnamed_addr constant [5 x i8] c"none\00" @.str8407 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str8408 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8409 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8410 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str8411 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8412 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8413 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8414 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str8415 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8416 = private unnamed_addr constant [7 x i8] c"option\00" @.str8417 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str8418 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str8419 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8420 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8421 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8422 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8423 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8424 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8425 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8426 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8427 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str8428 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str8429 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8430 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8431 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8432 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8433 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8434 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8435 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8436 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8437 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str8438 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str8439 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8440 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8441 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8442 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8443 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8444 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8445 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8446 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8447 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8448 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8449 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8450 = private unnamed_addr constant [4 x i8] c"int\00" @.str8451 = private unnamed_addr constant [4 x i8] c"int\00" @.str8452 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8453 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" @.str8454 = private unnamed_addr constant [2 x i8] c")\00" @.str8455 = private unnamed_addr constant [4 x i8] c"int\00" @.str8456 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8457 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" @.str8458 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8459 = private unnamed_addr constant [2 x i8] c")\00" @.str8460 = private unnamed_addr constant [4 x i8] c"int\00" @.str8461 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str8462 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" @.str8463 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8464 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8465 = private unnamed_addr constant [2 x i8] c")\00" @.str8466 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str8467 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8468 = private unnamed_addr constant [4 x i8] c"int\00" @.str8469 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str8470 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str8471 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8472 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" @.str8473 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8474 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8475 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str8476 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8477 = private unnamed_addr constant [2 x i8] c"0\00" @.str8478 = private unnamed_addr constant [5 x i8] c"void\00" @.str8479 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str8480 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" @.str8481 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8482 = private unnamed_addr constant [2 x i8] c")\00" @.str8483 = private unnamed_addr constant [4 x i8] c"int\00" @.str8484 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str8485 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" @.str8486 = private unnamed_addr constant [4 x i8] c"int\00" @.str8487 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8488 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" @.str8489 = private unnamed_addr constant [2 x i8] c")\00" @.str8490 = private unnamed_addr constant [4 x i8] c"int\00" @.str8491 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8492 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" @.str8493 = private unnamed_addr constant [2 x i8] c")\00" @.str8494 = private unnamed_addr constant [4 x i8] c"int\00" @.str8495 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str8496 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" @.str8497 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8498 = private unnamed_addr constant [2 x i8] c")\00" @.str8499 = private unnamed_addr constant [4 x i8] c"int\00" @.str8500 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str8501 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" @.str8502 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8503 = private unnamed_addr constant [2 x i8] c")\00" @.str8504 = private unnamed_addr constant [4 x i8] c"int\00" @.str8505 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str8506 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" @.str8507 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8508 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8509 = private unnamed_addr constant [2 x i8] c"0\00" @.str8510 = private unnamed_addr constant [5 x i8] c"void\00" @.str8511 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str8512 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" @.str8513 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8514 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8515 = private unnamed_addr constant [2 x i8] c"0\00" @.str8516 = private unnamed_addr constant [5 x i8] c"void\00" @.str8517 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str8518 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" @.str8519 = private unnamed_addr constant [2 x i8] c")\00" @.str8520 = private unnamed_addr constant [4 x i8] c"int\00" @.str8521 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str8522 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" @.str8523 = private unnamed_addr constant [4 x i8] c"int\00" @.str8524 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str8525 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" @.str8526 = private unnamed_addr constant [2 x i8] c")\00" @.str8527 = private unnamed_addr constant [7 x i8] c"string\00" @.str8528 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str8529 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" @.str8530 = private unnamed_addr constant [2 x i8] c")\00" @.str8531 = private unnamed_addr constant [4 x i8] c"int\00" @.str8532 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str8533 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" @.str8534 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8535 = private unnamed_addr constant [2 x i8] c")\00" @.str8536 = private unnamed_addr constant [7 x i8] c"string\00" @.str8537 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str8538 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" @.str8539 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8540 = private unnamed_addr constant [2 x i8] c")\00" @.str8541 = private unnamed_addr constant [7 x i8] c"string\00" @.str8542 = private unnamed_addr constant [3 x i8] c" \00" @.str8543 = private unnamed_addr constant [2 x i8] c"0\00" @.str8544 = private unnamed_addr constant [5 x i8] c"void\00" @.str8545 = private unnamed_addr constant [4 x i8] c" = \00" @.str8546 = private unnamed_addr constant [6 x i8] c"call \00" @.str8547 = private unnamed_addr constant [3 x i8] c" @\00" @.str8548 = private unnamed_addr constant [2 x i8] c"(\00" @.str8549 = private unnamed_addr constant [3 x i8] c", \00" @.str8550 = private unnamed_addr constant [2 x i8] c" \00" @.str8551 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8552 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str8553 = private unnamed_addr constant [18 x i8] c"unknown function \00" @.str8554 = private unnamed_addr constant [3 x i8] c" \00" @.str8555 = private unnamed_addr constant [2 x i8] c"0\00" @.str8556 = private unnamed_addr constant [5 x i8] c"void\00" @.str8557 = private unnamed_addr constant [4 x i8] c" = \00" @.str8558 = private unnamed_addr constant [6 x i8] c"call \00" @.str8559 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str8560 = private unnamed_addr constant [2 x i8] c"(\00" @.str8561 = private unnamed_addr constant [3 x i8] c", \00" @.str8562 = private unnamed_addr constant [2 x i8] c" \00" @.str8563 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8564 = private unnamed_addr constant [2 x i8] c"0\00" @.str8565 = private unnamed_addr constant [4 x i8] c"int\00" @.str8566 = private unnamed_addr constant [4 x i8] c"int\00" @.str8567 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8568 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8569 = private unnamed_addr constant [5 x i8] c"null\00" @.str8570 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8571 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8572 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str8573 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8574 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8575 = private unnamed_addr constant [2 x i8] c")\00" @.str8576 = private unnamed_addr constant [7 x i8] c"string\00" @.str8577 = private unnamed_addr constant [7 x i8] c"string\00" @.str8578 = private unnamed_addr constant [6 x i8] c"load \00" @.str8579 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str8580 = private unnamed_addr constant [4 x i8] c"int\00" @.str8581 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" @.str8582 = private unnamed_addr constant [6 x i8] c"Color\00" @.str8583 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" @.str8584 = private unnamed_addr constant [4 x i8] c"int\00" @.str8585 = private unnamed_addr constant [4 x i8] c"Key\00" @.str8586 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str8587 = private unnamed_addr constant [4 x i8] c"int\00" @.str8588 = private unnamed_addr constant [4 x i8] c"int\00" @.str8589 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str8590 = private unnamed_addr constant [2 x i8] c"x\00" @.str8591 = private unnamed_addr constant [2 x i8] c"y\00" @.str8592 = private unnamed_addr constant [2 x i8] c"x\00" @.str8593 = private unnamed_addr constant [4 x i8] c"int\00" @.str8594 = private unnamed_addr constant [4 x i8] c"int\00" @.str8595 = private unnamed_addr constant [5 x i8] c"byte\00" @.str8596 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str8597 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str8598 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8599 = private unnamed_addr constant [4 x i8] c"int\00" @.str8600 = private unnamed_addr constant [4 x i8] c"i64\00" @.str8601 = private unnamed_addr constant [2 x i8] c"-\00" @.str8602 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" @.str8603 = private unnamed_addr constant [5 x i8] c"long\00" @.str8604 = private unnamed_addr constant [2 x i8] c"~\00" @.str8605 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str8606 = private unnamed_addr constant [5 x i8] c", -1\00" @.str8607 = private unnamed_addr constant [5 x i8] c"long\00" @.str8608 = private unnamed_addr constant [2 x i8] c"-\00" @.str8609 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str8610 = private unnamed_addr constant [2 x i8] c"~\00" @.str8611 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str8612 = private unnamed_addr constant [5 x i8] c", -1\00" @.str8613 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8614 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8615 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8616 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8617 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8618 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" @.str8619 = private unnamed_addr constant [2 x i8] c"0\00" @.str8620 = private unnamed_addr constant [4 x i8] c"int\00" @.str8621 = private unnamed_addr constant [9 x i8] c" store \00" @.str8622 = private unnamed_addr constant [2 x i8] c" \00" @.str8623 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8624 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8625 = private unnamed_addr constant [2 x i8] c"0\00" @.str8626 = private unnamed_addr constant [4 x i8] c"int\00" @.str8627 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" @.str8628 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" @.str8629 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" @.str8630 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str8631 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" @.str8632 = private unnamed_addr constant [2 x i8] c"=\00" @.str8633 = private unnamed_addr constant [6 x i8] c"load \00" @.str8634 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8635 = private unnamed_addr constant [3 x i8] c"i8\00" @.str8636 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str8637 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str8638 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8639 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8640 = private unnamed_addr constant [5 x i8] c"then\00" @.str8641 = private unnamed_addr constant [5 x i8] c"else\00" @.str8642 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str8643 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8644 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8645 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8646 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8647 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8648 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8649 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8650 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8651 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8652 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8653 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8654 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8655 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8656 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8657 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8658 = private unnamed_addr constant [6 x i8] c"wcond\00" @.str8659 = private unnamed_addr constant [6 x i8] c"wbody\00" @.str8660 = private unnamed_addr constant [5 x i8] c"wend\00" @.str8661 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8662 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8663 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8664 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8665 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8666 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8667 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8668 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8669 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8670 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8671 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8672 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8673 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8674 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8675 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8676 = private unnamed_addr constant [4 x i8] c"int\00" @.str8677 = private unnamed_addr constant [6 x i8] c"fcond\00" @.str8678 = private unnamed_addr constant [6 x i8] c"fbody\00" @.str8679 = private unnamed_addr constant [6 x i8] c"fcont\00" @.str8680 = private unnamed_addr constant [5 x i8] c"fend\00" @.str8681 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8682 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8683 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8684 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8685 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str8686 = private unnamed_addr constant [3 x i8] c", \00" @.str8687 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8688 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8689 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8690 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8691 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8692 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8693 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8694 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8695 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8696 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8697 = private unnamed_addr constant [4 x i8] c", 1\00" @.str8698 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8699 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8700 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8701 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8702 = private unnamed_addr constant [8 x i8] c"%retval\00" @.str8703 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str8704 = private unnamed_addr constant [2 x i8] c"_\00" @.str8705 = private unnamed_addr constant [8 x i8] c"match: \00" @.str8706 = private unnamed_addr constant [8 x i8] c" binds \00" @.str8707 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" @.str8708 = private unnamed_addr constant [8 x i8] c"match: \00" @.str8709 = private unnamed_addr constant [10 x i8] c" payload \00" @.str8710 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" @.str8711 = private unnamed_addr constant [3 x i8] c" \00" @.str8712 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str8713 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8714 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8715 = private unnamed_addr constant [6 x i8] c"load \00" @.str8716 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8717 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8718 = private unnamed_addr constant [5 x i8] c"mend\00" @.str8719 = private unnamed_addr constant [2 x i8] c"0\00" @.str8720 = private unnamed_addr constant [8 x i8] c"match: \00" @.str8721 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str8722 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8723 = private unnamed_addr constant [3 x i8] c", \00" @.str8724 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str8725 = private unnamed_addr constant [3 x i8] c", \00" @.str8726 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str8727 = private unnamed_addr constant [5 x i8] c"marm\00" @.str8728 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8729 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8730 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8731 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8732 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8733 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8734 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8735 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8736 = private unnamed_addr constant [10 x i8] c"match on \00" @.str8737 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" @.str8738 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" @.str8739 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8740 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8741 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8742 = private unnamed_addr constant [5 x i8] c"mend\00" @.str8743 = private unnamed_addr constant [2 x i8] c"0\00" @.str8744 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8745 = private unnamed_addr constant [3 x i8] c", \00" @.str8746 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str8747 = private unnamed_addr constant [3 x i8] c", \00" @.str8748 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str8749 = private unnamed_addr constant [5 x i8] c"marm\00" @.str8750 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8751 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8752 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8753 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8754 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8755 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8756 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8757 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8758 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8759 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8760 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8761 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" @.str8762 = private unnamed_addr constant [2 x i8] c"0\00" @.str8763 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8764 = private unnamed_addr constant [5 x i8] c"null\00" @.str8765 = private unnamed_addr constant [3 x i8] c" \00" @.str8766 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" @.str8767 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8768 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8769 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8770 = private unnamed_addr constant [3 x i8] c" \00" @.str8771 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" @.str8772 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8773 = private unnamed_addr constant [9 x i8] c" store \00" @.str8774 = private unnamed_addr constant [2 x i8] c" \00" @.str8775 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8776 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8777 = private unnamed_addr constant [2 x i8] c"0\00" @.str8778 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str8779 = private unnamed_addr constant [3 x i8] c"-1\00" @.str8780 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str8781 = private unnamed_addr constant [14 x i8] c" call void @\00" @.str8782 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str8783 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" @.str8784 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8785 = private unnamed_addr constant [2 x i8] c"0\00" @.str8786 = private unnamed_addr constant [4 x i8] c"int\00" @.str8787 = private unnamed_addr constant [3 x i8] c", \00" @.str8788 = private unnamed_addr constant [2 x i8] c" \00" @.str8789 = private unnamed_addr constant [3 x i8] c" \00" @.str8790 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" @.str8791 = private unnamed_addr constant [2 x i8] c"(\00" @.str8792 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8793 = private unnamed_addr constant [4 x i8] c"int\00" @.str8794 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str8795 = private unnamed_addr constant [2 x i8] c"(\00" @.str8796 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8797 = private unnamed_addr constant [2 x i8] c"0\00" @.str8798 = private unnamed_addr constant [4 x i8] c"int\00" @.str8799 = private unnamed_addr constant [2 x i8] c"0\00" @.str8800 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8801 = private unnamed_addr constant [5 x i8] c"null\00" @.str8802 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8803 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8804 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8805 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8806 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" @.str8807 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str8808 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8809 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" @.str8810 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str8811 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str8812 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" @.str8813 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" @.str8814 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" @.str8815 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" @.str8816 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" @.str8817 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str8818 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" @.str8819 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str8820 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" @.str8821 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str8822 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" @.str8823 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" @.str8824 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" @.str8825 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" @.str8826 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str8827 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str8828 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str8829 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str8830 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" @.str8831 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str8832 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str8833 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" @.str8834 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str8835 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str8836 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str8837 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str8838 = private unnamed_addr constant [5 x i8] c"@LE_\00" @.str8839 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str8840 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" @.str8841 = private unnamed_addr constant [3 x i8] c"%h\00" @.str8842 = private unnamed_addr constant [3 x i8] c" \00" @.str8843 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str8844 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str8845 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str8846 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str8847 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8848 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" @.str8849 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str8850 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" @.str8851 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" @.str8852 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" @.str8853 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" @.str8854 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str8855 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" @.str8856 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str8857 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" @.str8858 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" @.str8859 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" @.str8860 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" @.str8861 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str8862 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str8863 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" @.str8864 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" @.str8865 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str8866 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" @.str8867 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" @.str8868 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" @.str8869 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" @.str8870 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str8871 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str8872 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" @.str8873 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str8874 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str8875 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str8876 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" @.str8877 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" @.str8878 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" @.str8879 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str8880 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str8881 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" @.str8882 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str8883 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str8884 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str8885 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" @.str8886 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" @.str8887 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" @.str8888 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str8889 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str8890 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8891 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8892 = private unnamed_addr constant [2 x i8] c"0\00" @.str8893 = private unnamed_addr constant [6 x i8] c"qcond\00" @.str8894 = private unnamed_addr constant [6 x i8] c"qbody\00" @.str8895 = private unnamed_addr constant [6 x i8] c"qnext\00" @.str8896 = private unnamed_addr constant [5 x i8] c"qend\00" @.str8897 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8898 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8899 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8900 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8901 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str8902 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str8903 = private unnamed_addr constant [3 x i8] c", \00" @.str8904 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8905 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8906 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8907 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8908 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8909 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8910 = private unnamed_addr constant [3 x i8] c" \00" @.str8911 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str8912 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str8913 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8914 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8915 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8916 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8917 = private unnamed_addr constant [3 x i8] c"qa\00" @.str8918 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8919 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8920 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8921 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8922 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8923 = private unnamed_addr constant [2 x i8] c"0\00" @.str8924 = private unnamed_addr constant [3 x i8] c" \00" @.str8925 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str8926 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str8927 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8928 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8929 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8930 = private unnamed_addr constant [3 x i8] c", \00" @.str8931 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" @.str8932 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8933 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8934 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str8935 = private unnamed_addr constant [3 x i8] c", \00" @.str8936 = private unnamed_addr constant [3 x i8] c" \00" @.str8937 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str8938 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str8939 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str8940 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8941 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str8942 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str8943 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8944 = private unnamed_addr constant [3 x i8] c"qt\00" @.str8945 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8946 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8947 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8948 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8949 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8950 = private unnamed_addr constant [3 x i8] c" \00" @.str8951 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str8952 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str8953 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str8954 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str8955 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8956 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8957 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str8958 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8959 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8960 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8961 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8962 = private unnamed_addr constant [3 x i8] c"qw\00" @.str8963 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8964 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8965 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8966 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8967 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8968 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8969 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8970 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8971 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8972 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str8973 = private unnamed_addr constant [4 x i8] c", 1\00" @.str8974 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8975 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8976 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8977 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8978 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8979 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8980 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8981 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8982 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" @.str8983 = private unnamed_addr constant [3 x i8] c" \00" @.str8984 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str8985 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str8986 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str8987 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8988 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" @.str8989 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8990 = private unnamed_addr constant [3 x i8] c" \00" @.str8991 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str8992 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str8993 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str8994 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str8995 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8996 = private unnamed_addr constant [3 x i8] c" \00" @.str8997 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str8998 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8999 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9000 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9001 = private unnamed_addr constant [2 x i8] c"0\00" @.str9002 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9003 = private unnamed_addr constant [5 x i8] c"null\00" @.str9004 = private unnamed_addr constant [9 x i8] c" store \00" @.str9005 = private unnamed_addr constant [2 x i8] c" \00" @.str9006 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9007 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9008 = private unnamed_addr constant [3 x i8] c" \00" @.str9009 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9010 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9011 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9012 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9013 = private unnamed_addr constant [9 x i8] c" store \00" @.str9014 = private unnamed_addr constant [2 x i8] c" \00" @.str9015 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9016 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9017 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9018 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9019 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9020 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9021 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9022 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str9023 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9024 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9025 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9026 = private unnamed_addr constant [3 x i8] c" \00" @.str9027 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9028 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9029 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9030 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9031 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9032 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9033 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9034 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9035 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9036 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str9037 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" @.str9038 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" @.str9039 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str9040 = private unnamed_addr constant [17 x i8] c": unknown model \00" @.str9041 = private unnamed_addr constant [3 x i8] c" \00" @.str9042 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9043 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9044 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9045 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9046 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9047 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9048 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9049 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str9050 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9051 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9052 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9053 = private unnamed_addr constant [3 x i8] c" \00" @.str9054 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9055 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9056 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9057 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9058 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9059 = private unnamed_addr constant [3 x i8] c", \00" @.str9060 = private unnamed_addr constant [3 x i8] c"dh\00" @.str9061 = private unnamed_addr constant [4 x i8] c"dhn\00" @.str9062 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9063 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9064 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9065 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9066 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str9067 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9068 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str9069 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9070 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str9071 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9072 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9073 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str9074 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9075 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9076 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9077 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" @.str9078 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9079 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" @.str9080 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9081 = private unnamed_addr constant [3 x i8] c" \00" @.str9082 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9083 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9084 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9085 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9086 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9087 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" @.str9088 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9089 = private unnamed_addr constant [7 x i8] c"attach\00" @.str9090 = private unnamed_addr constant [8 x i8] c"attdone\00" @.str9091 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9092 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9093 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9094 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9095 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9096 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9097 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9098 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9099 = private unnamed_addr constant [3 x i8] c" \00" @.str9100 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9101 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9102 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9103 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9104 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9105 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str9106 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9107 = private unnamed_addr constant [7 x i8] c"detach\00" @.str9108 = private unnamed_addr constant [8 x i8] c"detdone\00" @.str9109 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9110 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9111 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9112 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9113 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9114 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str9115 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9116 = private unnamed_addr constant [3 x i8] c" \00" @.str9117 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9118 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9119 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9120 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9121 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9122 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9123 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9124 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9125 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9126 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9127 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str9128 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9129 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9130 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9131 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9132 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9133 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9134 = private unnamed_addr constant [2 x i8] c"0\00" @.str9135 = private unnamed_addr constant [2 x i8] c"1\00" @.str9136 = private unnamed_addr constant [7 x i8] c"system\00" @.str9137 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9138 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9139 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" @.str9140 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9141 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str9142 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str9143 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str9144 = private unnamed_addr constant [6 x i8] c"_show\00" @.str9145 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9146 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9147 = private unnamed_addr constant [3 x i8] c" \00" @.str9148 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9149 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9150 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9151 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9152 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str9153 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9154 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9155 = private unnamed_addr constant [3 x i8] c" \00" @.str9156 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9157 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9158 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9159 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9160 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9161 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9162 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9163 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9164 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9165 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9166 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str9167 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9168 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str9169 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9170 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9171 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9172 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str9173 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str9174 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str9175 = private unnamed_addr constant [2 x i8] c"_\00" @.str9176 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9177 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9178 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9179 = private unnamed_addr constant [5 x i8] c"void\00" @.str9180 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9181 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str9182 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" @.str9183 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str9184 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9185 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" @.str9186 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9187 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9188 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" @.str9189 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9190 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9191 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str9192 = private unnamed_addr constant [3 x i8] c", \00" @.str9193 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str9194 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9195 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9196 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str9197 = private unnamed_addr constant [3 x i8] c", \00" @.str9198 = private unnamed_addr constant [5 x i8] c"hrun\00" @.str9199 = private unnamed_addr constant [6 x i8] c"hskip\00" @.str9200 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9201 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9202 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9203 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9204 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" @.str9205 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9206 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9207 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9208 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9209 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" @.str9210 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9211 = private unnamed_addr constant [7 x i8] c"Update\00" @.str9212 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str9213 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" @.str9214 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" @.str9215 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str9216 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" @.str9217 = private unnamed_addr constant [7 x i8] c"Render\00" @.str9218 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str9219 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" @.str9220 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" @.str9221 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" @.str9222 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str9223 = 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" @.str9224 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9225 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str9226 = 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" @.str9227 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str9228 = private unnamed_addr constant [2 x i8] c"c\00" @.str9229 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9230 = private unnamed_addr constant [5 x i8] c" %h\00" @.str9231 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9232 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9233 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str9234 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str9235 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" @.str9236 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9237 = private unnamed_addr constant [7 x i8] c" %has\00" @.str9238 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" @.str9239 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str9240 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" @.str9241 = private unnamed_addr constant [11 x i8] c", label %t\00" @.str9242 = private unnamed_addr constant [11 x i8] c", label %c\00" @.str9243 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9244 = private unnamed_addr constant [2 x i8] c"t\00" @.str9245 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9246 = private unnamed_addr constant [5 x i8] c" %s\00" @.str9247 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9248 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9249 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9250 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str9251 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str9252 = private unnamed_addr constant [2 x i8] c"_\00" @.str9253 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str9254 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9255 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str9256 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9257 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9258 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str9259 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" @.str9260 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9261 = private unnamed_addr constant [6 x i8] c" %fp\00" @.str9262 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" @.str9263 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str9264 = private unnamed_addr constant [6 x i8] c" %fd\00" @.str9265 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" @.str9266 = private unnamed_addr constant [5 x i8] c", 1\0A\00" @.str9267 = private unnamed_addr constant [6 x i8] c" %fn\00" @.str9268 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" @.str9269 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" @.str9270 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" @.str9271 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9272 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" @.str9273 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str9274 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9275 = private unnamed_addr constant [14 x i8] c" br label %c\00" @.str9276 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9277 = private unnamed_addr constant [2 x i8] c"c\00" @.str9278 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" @.str9279 = 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" @.str9280 = private unnamed_addr constant [4 x i8] c"int\00" @.str9281 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str9282 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9283 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" @.str9284 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str9285 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9286 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" @.str9287 = private unnamed_addr constant [2 x i8] c")\00" @.str9288 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9289 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9290 = private unnamed_addr constant [3 x i8] c"pf\00" @.str9291 = private unnamed_addr constant [4 x i8] c"pfn\00" @.str9292 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9293 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9294 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9295 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9296 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9297 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" @.str9298 = private unnamed_addr constant [3 x i8] c"()\00" @.str9299 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str9300 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9301 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9302 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str9303 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" @.str9304 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9305 = private unnamed_addr constant [6 x i8] c"Input\00" @.str9306 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str9307 = private unnamed_addr constant [7 x i8] c"Update\00" @.str9308 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str9309 = private unnamed_addr constant [7 x i8] c"Render\00" @.str9310 = private unnamed_addr constant [6 x i8] c"Start\00" @.str9311 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str9312 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str9313 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str9314 = private unnamed_addr constant [2 x i8] c"'\00" @.str9315 = private unnamed_addr constant [6 x i8] c"Start\00" @.str9316 = private unnamed_addr constant [6 x i8] c"Input\00" @.str9317 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str9318 = private unnamed_addr constant [7 x i8] c"Update\00" @.str9319 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str9320 = private unnamed_addr constant [7 x i8] c"Render\00" @.str9321 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str9322 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" @.str9323 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" @.str9324 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" @.str9325 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" @.str9326 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" @.str9327 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" @.str9328 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" @.str9329 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" @.str9330 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" @.str9331 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" @.str9332 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" @.str9333 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" @.str9334 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" @.str9335 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" @.str9336 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" @.str9337 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" @.str9338 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" @.str9339 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" @.str9340 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" @.str9341 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" @.str9342 = private unnamed_addr constant [12 x i8] c"module_init\00" @.str9343 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" @.str9344 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" @.str9345 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9346 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9347 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9348 = 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" @.str9349 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" @.str9350 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str9351 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" @.str9352 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9353 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" @.str9354 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" @.str9355 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" @.str9356 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str9357 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9358 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" @.str9359 = private unnamed_addr constant [6 x i8] c"add:\0A\00" @.str9360 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9361 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" @.str9362 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" @.str9363 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" @.str9364 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" @.str9365 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" @.str9366 = 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" @.str9367 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str9368 = private unnamed_addr constant [4 x i8] c"dsp\00" @.str9369 = private unnamed_addr constant [4 x i8] c"dsh\00" @.str9370 = private unnamed_addr constant [4 x i8] c"dsb\00" @.str9371 = private unnamed_addr constant [5 x i8] c"dsdo\00" @.str9372 = private unnamed_addr constant [4 x i8] c"dsc\00" @.str9373 = private unnamed_addr constant [4 x i8] c"dsn\00" @.str9374 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9375 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9376 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" @.str9377 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9378 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9379 = private unnamed_addr constant [3 x i8] c" \00" @.str9380 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" @.str9381 = private unnamed_addr constant [7 x i8] c" ], [ \00" @.str9382 = private unnamed_addr constant [4 x i8] c", %\00" @.str9383 = private unnamed_addr constant [4 x i8] c" ]\0A\00" @.str9384 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" @.str9385 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9386 = private unnamed_addr constant [3 x i8] c", \00" @.str9387 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9388 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9389 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9390 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9391 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9392 = private unnamed_addr constant [3 x i8] c" \00" @.str9393 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9394 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" @.str9395 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9396 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9397 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9398 = private unnamed_addr constant [3 x i8] c", \00" @.str9399 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9400 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9401 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9402 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9403 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9404 = private unnamed_addr constant [3 x i8] c" \00" @.str9405 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9406 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" @.str9407 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9408 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str9409 = private unnamed_addr constant [13 x i8] c" call void \00" @.str9410 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9411 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9412 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9413 = private unnamed_addr constant [5 x i8] c":\0A \00" @.str9414 = private unnamed_addr constant [12 x i8] c" = add i32 \00" @.str9415 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" @.str9416 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9417 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9418 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str9419 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9420 = private unnamed_addr constant [3 x i8] c", \00" @.str9421 = private unnamed_addr constant [6 x i8] c"scrun\00" @.str9422 = private unnamed_addr constant [7 x i8] c"scskip\00" @.str9423 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9424 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9425 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9426 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9427 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9428 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9429 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9430 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9431 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str9432 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str9433 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9434 = private unnamed_addr constant [3 x i8] c", \00" @.str9435 = private unnamed_addr constant [5 x i8] c"mrun\00" @.str9436 = private unnamed_addr constant [6 x i8] c"mskip\00" @.str9437 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9438 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9439 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9440 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9441 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" @.str9442 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9443 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9444 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9445 = private unnamed_addr constant [5 x i8] c"void\00" @.str9446 = private unnamed_addr constant [6 x i8] c"enter\00" @.str9447 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str9448 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" @.str9449 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" @.str9450 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str9451 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9452 = private unnamed_addr constant [5 x i8] c"exit\00" @.str9453 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" @.str9454 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str9455 = private unnamed_addr constant [2 x i8] c"_\00" @.str9456 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9457 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9458 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9459 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str9460 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" @.str9461 = private unnamed_addr constant [2 x i8] c"_\00" @.str9462 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str9463 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9464 = private unnamed_addr constant [6 x i8] c"enter\00" @.str9465 = private unnamed_addr constant [5 x i8] c"exit\00" @.str9466 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" @.str9467 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" @.str9468 = private unnamed_addr constant [6 x i8] c" %is\00" @.str9469 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" @.str9470 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9471 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" @.str9472 = private unnamed_addr constant [15 x i8] c", label %leave\00" @.str9473 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str9474 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9475 = private unnamed_addr constant [6 x i8] c"leave\00" @.str9476 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" @.str9477 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" @.str9478 = private unnamed_addr constant [5 x i8] c"next\00" @.str9479 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9480 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9481 = private unnamed_addr constant [5 x i8] c"void\00" @.str9482 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9483 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" @.str9484 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9485 = private unnamed_addr constant [4 x i8] c"int\00" @.str9486 = private unnamed_addr constant [3 x i8] c"%e\00" @.str9487 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9488 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str9489 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" @.str9490 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" @.str9491 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9492 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" @.str9493 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str9494 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str9495 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str9496 = private unnamed_addr constant [5 x i8] c" %c\00" @.str9497 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str9498 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9499 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str9500 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str9501 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str9502 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9503 = private unnamed_addr constant [4 x i8] c"hit\00" @.str9504 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str9505 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str9506 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9507 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str9508 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9509 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str9510 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str9511 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9512 = private unnamed_addr constant [5 x i8] c"next\00" @.str9513 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9514 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" @.str9515 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" @.str9516 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9517 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" @.str9518 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str9519 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" @.str9520 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" @.str9521 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str9522 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str9523 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" @.str9524 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" @.str9525 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" @.str9526 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" @.str9527 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str9528 = private unnamed_addr constant [5 x i8] c" %c\00" @.str9529 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str9530 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9531 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str9532 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str9533 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str9534 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9535 = private unnamed_addr constant [4 x i8] c"hit\00" @.str9536 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str9537 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str9538 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9539 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str9540 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9541 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str9542 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str9543 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9544 = private unnamed_addr constant [5 x i8] c"next\00" @.str9545 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9546 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" @.str9547 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str9548 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str9549 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" @.str9550 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str9551 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str9552 = private unnamed_addr constant [3 x i8] c", \00" @.str9553 = private unnamed_addr constant [3 x i8] c", \00" @.str9554 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9555 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str9556 = private unnamed_addr constant [6 x i8] c"@evL_\00" @.str9557 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str9558 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str9559 = private unnamed_addr constant [6 x i8] c"@evN_\00" @.str9560 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" @.str9561 = private unnamed_addr constant [6 x i8] c"@evO_\00" @.str9562 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str9563 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9564 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" @.str9565 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" @.str9566 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str9567 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9568 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str9569 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9570 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str9571 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str9572 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str9573 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str9574 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str9575 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str9576 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str9577 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str9578 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" @.str9579 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str9580 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str9581 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str9582 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" @.str9583 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" @.str9584 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str9585 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9586 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str9587 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9588 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str9589 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str9590 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str9591 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str9592 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str9593 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str9594 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str9595 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str9596 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" @.str9597 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str9598 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str9599 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str9600 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" @.str9601 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" @.str9602 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str9603 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9604 = 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" @.str9605 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" @.str9606 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" @.str9607 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str9608 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" @.str9609 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" @.str9610 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" @.str9611 = private unnamed_addr constant [5 x i8] c"void\00" @.str9612 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" @.str9613 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" @.str9614 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9615 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" @.str9616 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" @.str9617 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str9618 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str9619 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" @.str9620 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" @.str9621 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str9622 = private unnamed_addr constant [3 x i8] c" \00" @.str9623 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str9624 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9625 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9626 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9627 = private unnamed_addr constant [9 x i8] c" store \00" @.str9628 = private unnamed_addr constant [4 x i8] c" %p\00" @.str9629 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9630 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9631 = private unnamed_addr constant [9 x i8] c" store \00" @.str9632 = private unnamed_addr constant [4 x i8] c" %p\00" @.str9633 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9634 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9635 = private unnamed_addr constant [3 x i8] c" \00" @.str9636 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str9637 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9638 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9639 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9640 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9641 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9642 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9643 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str9644 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9645 = private unnamed_addr constant [4 x i8] c"evl\00" @.str9646 = private unnamed_addr constant [4 x i8] c"evb\00" @.str9647 = private unnamed_addr constant [4 x i8] c"evd\00" @.str9648 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9649 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9650 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9651 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9652 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" @.str9653 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9654 = private unnamed_addr constant [3 x i8] c", \00" @.str9655 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9656 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9657 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9658 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9659 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9660 = private unnamed_addr constant [3 x i8] c" \00" @.str9661 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9662 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str9663 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9664 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9665 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str9666 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str9667 = private unnamed_addr constant [7 x i8] c", null\00" @.str9668 = private unnamed_addr constant [5 x i8] c"evdo\00" @.str9669 = private unnamed_addr constant [5 x i8] c"evsk\00" @.str9670 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9671 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9672 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9673 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9674 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9675 = private unnamed_addr constant [13 x i8] c" call void \00" @.str9676 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str9677 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9678 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9679 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9680 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9681 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9682 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9683 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9684 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9685 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9686 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9687 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9688 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9689 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9690 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str9691 = 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" @.str9692 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9693 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str9694 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9695 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str9696 = private unnamed_addr constant [5 x i8] c"void\00" @.str9697 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9698 = private unnamed_addr constant [8 x i8] c"define \00" @.str9699 = private unnamed_addr constant [6 x i8] c" @ev_\00" @.str9700 = private unnamed_addr constant [2 x i8] c"(\00" @.str9701 = private unnamed_addr constant [3 x i8] c", \00" @.str9702 = private unnamed_addr constant [4 x i8] c" %p\00" @.str9703 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str9704 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9705 = 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" @.str9706 = private unnamed_addr constant [3 x i8] c"sw\00" @.str9707 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9708 = private unnamed_addr constant [7 x i8] c" %swi\00" @.str9709 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" @.str9710 = private unnamed_addr constant [7 x i8] c" %swn\00" @.str9711 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" @.str9712 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9713 = private unnamed_addr constant [7 x i8] c" %swg\00" @.str9714 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" @.str9715 = private unnamed_addr constant [7 x i8] c", %swn\00" @.str9716 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9717 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" @.str9718 = private unnamed_addr constant [13 x i8] c", label %swb\00" @.str9719 = private unnamed_addr constant [13 x i8] c", label %swd\00" @.str9720 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9721 = private unnamed_addr constant [4 x i8] c"swb\00" @.str9722 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9723 = private unnamed_addr constant [8 x i8] c" %swop\00" @.str9724 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9725 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str9726 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str9727 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9728 = private unnamed_addr constant [8 x i8] c" %swov\00" @.str9729 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str9730 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9731 = private unnamed_addr constant [7 x i8] c" %swm\00" @.str9732 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" @.str9733 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" @.str9734 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" @.str9735 = private unnamed_addr constant [13 x i8] c", label %swh\00" @.str9736 = private unnamed_addr constant [13 x i8] c", label %swx\00" @.str9737 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9738 = private unnamed_addr constant [4 x i8] c"swh\00" @.str9739 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9740 = private unnamed_addr constant [8 x i8] c" %swlp\00" @.str9741 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9742 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str9743 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str9744 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9745 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" @.str9746 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str9747 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9748 = private unnamed_addr constant [4 x i8] c"swx\00" @.str9749 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9750 = private unnamed_addr constant [9 x i8] c" %swinc\00" @.str9751 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" @.str9752 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" @.str9753 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" @.str9754 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9755 = private unnamed_addr constant [4 x i8] c"swd\00" @.str9756 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" @.str9757 = private unnamed_addr constant [15 x i8] c" br label %sw\00" @.str9758 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9759 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str9760 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9761 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" @.str9762 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" @.str9763 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" @.str9764 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" @.str9765 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" @.str9766 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" @.str9767 = private unnamed_addr constant [5 x i8] c" %c\00" @.str9768 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str9769 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9770 = private unnamed_addr constant [5 x i8] c" %e\00" @.str9771 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" @.str9772 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str9773 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" @.str9774 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str9775 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str9776 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9777 = private unnamed_addr constant [2 x i8] c"h\00" @.str9778 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str9779 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9780 = private unnamed_addr constant [2 x i8] c"n\00" @.str9781 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9782 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" @.str9783 = 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" @.str9784 = 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" @.str9785 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" @.str9786 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" @.str9787 = 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" @.str9788 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" @.str9789 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" @.str9790 = private unnamed_addr constant [6 x i8] c" %pm\00" @.str9791 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str9792 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9793 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" @.str9794 = private unnamed_addr constant [12 x i8] c", label %pk\00" @.str9795 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str9796 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9797 = private unnamed_addr constant [3 x i8] c"pk\00" @.str9798 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9799 = private unnamed_addr constant [2 x i8] c"_\00" @.str9800 = private unnamed_addr constant [6 x i8] c" %fc\00" @.str9801 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str9802 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9803 = private unnamed_addr constant [6 x i8] c" %fe\00" @.str9804 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" @.str9805 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str9806 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" @.str9807 = private unnamed_addr constant [12 x i8] c", label %fh\00" @.str9808 = private unnamed_addr constant [12 x i8] c", label %fn\00" @.str9809 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9810 = private unnamed_addr constant [3 x i8] c"fh\00" @.str9811 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str9812 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9813 = private unnamed_addr constant [3 x i8] c"fn\00" @.str9814 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9815 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str9816 = private unnamed_addr constant [3 x i8] c"pn\00" @.str9817 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9818 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str9819 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" @.str9820 = private unnamed_addr constant [5 x i8] c" %m\00" @.str9821 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str9822 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9823 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str9824 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str9825 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str9826 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9827 = private unnamed_addr constant [2 x i8] c"g\00" @.str9828 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9829 = private unnamed_addr constant [5 x i8] c" %s\00" @.str9830 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9831 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9832 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9833 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str9834 = private unnamed_addr constant [2 x i8] c"_\00" @.str9835 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str9836 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str9837 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9838 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" @.str9839 = private unnamed_addr constant [12 x i8] c", label %gf\00" @.str9840 = private unnamed_addr constant [12 x i8] c", label %gk\00" @.str9841 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9842 = private unnamed_addr constant [3 x i8] c"gf\00" @.str9843 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9844 = private unnamed_addr constant [6 x i8] c" %ga\00" @.str9845 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9846 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str9847 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9848 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9849 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9850 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str9851 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" @.str9852 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9853 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str9854 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" @.str9855 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str9856 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9857 = private unnamed_addr constant [3 x i8] c"i8\00" @.str9858 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str9859 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" @.str9860 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9861 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str9862 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" @.str9863 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str9864 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9865 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str9866 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" @.str9867 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9868 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str9869 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" @.str9870 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str9871 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9872 = private unnamed_addr constant [3 x i8] c"gk\00" @.str9873 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9874 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str9875 = private unnamed_addr constant [3 x i8] c"gn\00" @.str9876 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9877 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" @.str9878 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9879 = 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" @.str9880 = 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" @.str9881 = 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" @.str9882 = 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" @.str9883 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" @.str9884 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" @.str9885 = private unnamed_addr constant [5 x i8] c" %m\00" @.str9886 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str9887 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9888 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str9889 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str9890 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str9891 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9892 = private unnamed_addr constant [2 x i8] c"g\00" @.str9893 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9894 = private unnamed_addr constant [5 x i8] c" %s\00" @.str9895 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9896 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9897 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9898 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str9899 = private unnamed_addr constant [2 x i8] c"_\00" @.str9900 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str9901 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str9902 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9903 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str9904 = private unnamed_addr constant [12 x i8] c", label %sf\00" @.str9905 = private unnamed_addr constant [12 x i8] c", label %sk\00" @.str9906 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9907 = private unnamed_addr constant [3 x i8] c"sf\00" @.str9908 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9909 = private unnamed_addr constant [6 x i8] c" %sa\00" @.str9910 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9911 = private unnamed_addr constant [9 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 [6 x i8] c" %sp\00" @.str9916 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" @.str9917 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" @.str9918 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str9919 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str9920 = private unnamed_addr constant [3 x i8] c"i8\00" @.str9921 = private unnamed_addr constant [6 x i8] c" %sb\00" @.str9922 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" @.str9923 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" @.str9924 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str9925 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str9926 = private unnamed_addr constant [6 x i8] c" %sw\00" @.str9927 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" @.str9928 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" @.str9929 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str9930 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str9931 = private unnamed_addr constant [3 x i8] c"sk\00" @.str9932 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9933 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str9934 = private unnamed_addr constant [3 x i8] c"gn\00" @.str9935 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9936 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" @.str9937 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9938 = 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" @.str9939 = 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" @.str9940 = 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" @.str9941 = 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" @.str9942 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" @.str9943 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str9944 = private unnamed_addr constant [5 x i8] c" %m\00" @.str9945 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str9946 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9947 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str9948 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str9949 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str9950 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9951 = private unnamed_addr constant [2 x i8] c"g\00" @.str9952 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9953 = private unnamed_addr constant [6 x i8] c" %hp\00" @.str9954 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9955 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9956 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str9957 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str9958 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" @.str9959 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9960 = private unnamed_addr constant [6 x i8] c" %hr\00" @.str9961 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" @.str9962 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" @.str9963 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9964 = private unnamed_addr constant [3 x i8] c"gn\00" @.str9965 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9966 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str9967 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9968 = 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" @.str9969 = 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" @.str9970 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" @.str9971 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" @.str9972 = 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" @.str9973 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" @.str9974 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" @.str9975 = 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" @.str9976 = 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" @.str9977 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" @.str9978 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" @.str9979 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9980 = 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" @.str9981 = 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" @.str9982 = 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" @.str9983 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" @.str9984 = 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" @.str9985 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" @.str9986 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str9987 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str9988 = 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" @.str9989 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str9990 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str9991 = 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" @.str9992 = 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" @.str9993 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" @.str9994 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str9995 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str9996 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" @.str9997 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" @.str9998 = private unnamed_addr constant [7 x i8] c" %mdc\00" @.str9999 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10000 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10001 = private unnamed_addr constant [7 x i8] c" %mde\00" @.str10002 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" @.str10003 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10004 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" @.str10005 = private unnamed_addr constant [13 x i8] c", label %mdh\00" @.str10006 = private unnamed_addr constant [13 x i8] c", label %mdn\00" @.str10007 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10008 = private unnamed_addr constant [4 x i8] c"mdh\00" @.str10009 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10010 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10011 = private unnamed_addr constant [4 x i8] c"mdn\00" @.str10012 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10013 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10014 = private unnamed_addr constant [4 x i8] c"int\00" @.str10015 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10016 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10017 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" @.str10018 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10019 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10020 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" @.str10021 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str10022 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" @.str10023 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10024 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str10025 = private unnamed_addr constant [12 x i8] c", label %sh\00" @.str10026 = private unnamed_addr constant [12 x i8] c", label %sn\00" @.str10027 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10028 = private unnamed_addr constant [3 x i8] c"sh\00" @.str10029 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" @.str10030 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" @.str10031 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" @.str10032 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10033 = private unnamed_addr constant [3 x i8] c"sn\00" @.str10034 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10035 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10036 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" @.str10037 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" @.str10038 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" @.str10039 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" @.str10040 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str10041 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str10042 = 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" @.str10043 = 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" @.str10044 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" @.str10045 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" @.str10046 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" @.str10047 = private unnamed_addr constant [1 x i8] c"\00" @.str10048 = private unnamed_addr constant [4 x i8] c"int\00" @.str10049 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" @.str10050 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" @.str10051 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" @.str10052 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" @.str10053 = private unnamed_addr constant [6 x i8] c" %pe\00" @.str10054 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" @.str10055 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10056 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" @.str10057 = private unnamed_addr constant [12 x i8] c", label %ph\00" @.str10058 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str10059 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10060 = private unnamed_addr constant [3 x i8] c"ph\00" @.str10061 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str10062 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10063 = private unnamed_addr constant [3 x i8] c"pn\00" @.str10064 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10065 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" @.str10066 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str10067 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" @.str10068 = 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" @.str10069 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" @.str10070 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10071 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" @.str10072 = private unnamed_addr constant [7 x i8] c" %fce\00" @.str10073 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10074 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10075 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" @.str10076 = private unnamed_addr constant [13 x i8] c", label %fch\00" @.str10077 = private unnamed_addr constant [13 x i8] c", label %fcn\00" @.str10078 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10079 = private unnamed_addr constant [4 x i8] c"fch\00" @.str10080 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10081 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10082 = private unnamed_addr constant [4 x i8] c"fcn\00" @.str10083 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10084 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10085 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str10086 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" @.str10087 = 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" @.str10088 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" @.str10089 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str10090 = private unnamed_addr constant [7 x i8] c" %fne\00" @.str10091 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10092 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10093 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" @.str10094 = private unnamed_addr constant [13 x i8] c", label %fnk\00" @.str10095 = private unnamed_addr constant [13 x i8] c", label %fnn\00" @.str10096 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10097 = private unnamed_addr constant [4 x i8] c"fnk\00" @.str10098 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10099 = private unnamed_addr constant [2 x i8] c"_\00" @.str10100 = private unnamed_addr constant [8 x i8] c" %fnfe\00" @.str10101 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10102 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10103 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" @.str10104 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" @.str10105 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" @.str10106 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10107 = private unnamed_addr constant [5 x i8] c"fnfh\00" @.str10108 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str10109 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10110 = private unnamed_addr constant [5 x i8] c"fnfn\00" @.str10111 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10112 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str10113 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10114 = private unnamed_addr constant [4 x i8] c"fnn\00" @.str10115 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10116 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str10117 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10118 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str10119 = private unnamed_addr constant [7 x i8] c" %fte\00" @.str10120 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10121 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10122 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" @.str10123 = private unnamed_addr constant [13 x i8] c", label %ftk\00" @.str10124 = private unnamed_addr constant [13 x i8] c", label %ftn\00" @.str10125 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10126 = private unnamed_addr constant [4 x i8] c"ftk\00" @.str10127 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10128 = private unnamed_addr constant [2 x i8] c"_\00" @.str10129 = private unnamed_addr constant [8 x i8] c" %ftfe\00" @.str10130 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10131 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10132 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" @.str10133 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" @.str10134 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" @.str10135 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10136 = private unnamed_addr constant [5 x i8] c"ftfh\00" @.str10137 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str10138 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10139 = private unnamed_addr constant [5 x i8] c"ftfn\00" @.str10140 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10141 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str10142 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10143 = private unnamed_addr constant [4 x i8] c"ftn\00" @.str10144 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10145 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str10146 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10147 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" @.str10148 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10149 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10150 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10151 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10152 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10153 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" @.str10154 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10155 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10156 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10157 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str10158 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str10159 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str10160 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str10161 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str10162 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str10163 = private unnamed_addr constant [6 x i8] c"Start\00" @.str10164 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10165 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str10166 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str10167 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10168 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str10169 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" @.str10170 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10171 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str10172 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" @.str10173 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10174 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10175 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str10176 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" @.str10177 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10178 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10179 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str10180 = private unnamed_addr constant [3 x i8] c", \00" @.str10181 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10182 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str10183 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10184 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str10185 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str10186 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str10187 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" @.str10188 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10189 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str10190 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str10191 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" @.str10192 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10193 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str10194 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str10195 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str10196 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" @.str10197 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10198 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10199 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10200 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10201 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10202 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str10203 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" @.str10204 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10205 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10206 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10207 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str10208 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" @.str10209 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str10210 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10211 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10212 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10213 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" @.str10214 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10215 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str10216 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" @.str10217 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str10218 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str10219 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" @.str10220 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str10221 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" @.str10222 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" @.str10223 = private unnamed_addr constant [15 x i8] c"machine state \00" @.str10224 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str10225 = private unnamed_addr constant [1 x i8] c"\00" @.str10226 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" @.str10227 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" @.str10228 = private unnamed_addr constant [2 x i8] c")\00" @.str10229 = private unnamed_addr constant [6 x i8] c"smend\00" @.str10230 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10231 = private unnamed_addr constant [3 x i8] c", \00" @.str10232 = private unnamed_addr constant [6 x i8] c"sbody\00" @.str10233 = private unnamed_addr constant [5 x i8] c"sarm\00" @.str10234 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10235 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10236 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10237 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10238 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10239 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10240 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10241 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10242 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10243 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10244 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10245 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10246 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str10247 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10248 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \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 [27 x i8] c"become: no state or scene \00" @.str10252 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" @.str10253 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10254 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" @.str10255 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10256 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str10257 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str10258 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10259 = private unnamed_addr constant [5 x i8] c"file\00" @.str10260 = private unnamed_addr constant [4 x i8] c"%io\00" @.str10261 = private unnamed_addr constant [3 x i8] c" \00" @.str10262 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" @.str10263 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str10264 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str10265 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" @.str10266 = private unnamed_addr constant [5 x i8] c"size\00" @.str10267 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str10268 = private unnamed_addr constant [3 x i8] c" \00" @.str10269 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str10270 = private unnamed_addr constant [3 x i8] c", \00" @.str10271 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10272 = private unnamed_addr constant [5 x i8] c"%ioa\00" @.str10273 = private unnamed_addr constant [3 x i8] c" \00" @.str10274 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" @.str10275 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10276 = private unnamed_addr constant [5 x i8] c"save\00" @.str10277 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str10278 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10279 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10280 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10281 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str10282 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10283 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10284 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10285 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str10286 = private unnamed_addr constant [3 x i8] c" \00" @.str10287 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str10288 = private unnamed_addr constant [3 x i8] c", \00" @.str10289 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10290 = private unnamed_addr constant [2 x i8] c"0\00" @.str10291 = private unnamed_addr constant [8 x i8] c"@L_entc\00" @.str10292 = private unnamed_addr constant [2 x i8] c"4\00" @.str10293 = private unnamed_addr constant [9 x i8] c"@L_freen\00" @.str10294 = private unnamed_addr constant [2 x i8] c"4\00" @.str10295 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" @.str10296 = private unnamed_addr constant [5 x i8] c", 4\0A\00" @.str10297 = private unnamed_addr constant [9 x i8] c"@L_alive\00" @.str10298 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str10299 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" @.str10300 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str10301 = private unnamed_addr constant [8 x i8] c"@L_kind\00" @.str10302 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str10303 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" @.str10304 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str10305 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str10306 = private unnamed_addr constant [2 x i8] c"4\00" @.str10307 = private unnamed_addr constant [5 x i8] c"%csz\00" @.str10308 = private unnamed_addr constant [3 x i8] c" \00" @.str10309 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str10310 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" @.str10311 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" @.str10312 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str10313 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str10314 = private unnamed_addr constant [5 x i8] c"file\00" @.str10315 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" @.str10316 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str10317 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str10318 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str10319 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str10320 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" @.str10321 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" @.str10322 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str10323 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" @.str10324 = private unnamed_addr constant [7 x i8] c"fwrite\00" @.str10325 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" @.str10326 = 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" @.str10327 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" @.str10328 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" @.str10329 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str10330 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" @.str10331 = private unnamed_addr constant [6 x i8] c"fread\00" @.str10332 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" @.str10333 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" @.str10334 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" @.str10335 = private unnamed_addr constant [5 x i8] c"save\00" @.str10336 = private unnamed_addr constant [1 x i8] c"\00" @.str10337 = private unnamed_addr constant [5 x i8] c"%wsn\00" @.str10338 = private unnamed_addr constant [3 x i8] c" \00" @.str10339 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str10340 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str10341 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10342 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10343 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str10344 = private unnamed_addr constant [5 x i8] c"load\00" @.str10345 = private unnamed_addr constant [1 x i8] c"\00" @.str10346 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10347 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" @.str10348 = private unnamed_addr constant [5 x i8] c"size\00" @.str10349 = private unnamed_addr constant [1 x i8] c"\00" @.str10350 = private unnamed_addr constant [5 x i8] c"%wzn\00" @.str10351 = private unnamed_addr constant [3 x i8] c" \00" @.str10352 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str10353 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str10354 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10355 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10356 = private unnamed_addr constant [5 x i8] c"file\00" @.str10357 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10358 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10359 = private unnamed_addr constant [2 x i8] c"1\00" @.str10360 = private unnamed_addr constant [2 x i8] c"4\00" @.str10361 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" @.str10362 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10363 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10364 = private unnamed_addr constant [13 x i8] c"@Sync field \00" @.str10365 = private unnamed_addr constant [2 x i8] c".\00" @.str10366 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" @.str10367 = private unnamed_addr constant [7 x i8] c"model \00" @.str10368 = private unnamed_addr constant [9 x i8] c" @Syncs \00" @.str10369 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" @.str10370 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" @.str10371 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str10372 = private unnamed_addr constant [3 x i8] c" \00" @.str10373 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10374 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10375 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10376 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10377 = private unnamed_addr constant [3 x i8] c" \00" @.str10378 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10379 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10380 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10381 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10382 = private unnamed_addr constant [3 x i8] c" \00" @.str10383 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str10384 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10385 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str10386 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10387 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10388 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10389 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10390 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10391 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" @.str10392 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str10393 = private unnamed_addr constant [3 x i8] c" \00" @.str10394 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10395 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10396 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10397 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10398 = private unnamed_addr constant [3 x i8] c" \00" @.str10399 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10400 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10401 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10402 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10403 = private unnamed_addr constant [3 x i8] c" \00" @.str10404 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str10405 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10406 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str10407 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10408 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10409 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10410 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10411 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str10412 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10413 = 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" @.str10414 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10415 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10416 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10417 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10418 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10419 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10420 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10421 = private unnamed_addr constant [2 x i8] c"h\00" @.str10422 = private unnamed_addr constant [7 x i8] c":\0A %r\00" @.str10423 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" @.str10424 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" @.str10425 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10426 = private unnamed_addr constant [2 x i8] c"n\00" @.str10427 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10428 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str10429 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str10430 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10431 = 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" @.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 [11 x i8] c", label %h\00" @.str10437 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10438 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10439 = private unnamed_addr constant [2 x i8] c"h\00" @.str10440 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" @.str10441 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" @.str10442 = private unnamed_addr constant [2 x i8] c"n\00" @.str10443 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10444 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10445 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" @.str10446 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10447 = 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" @.str10448 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10449 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10450 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10451 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10452 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10453 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10454 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10455 = private unnamed_addr constant [2 x i8] c"h\00" @.str10456 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10457 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10458 = private unnamed_addr constant [2 x i8] c"n\00" @.str10459 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10460 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str10461 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" @.str10462 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str10463 = 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" @.str10464 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" @.str10465 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str10466 = 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" @.str10467 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" @.str10468 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str10469 = 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" @.str10470 = 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" @.str10471 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" @.str10472 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" @.str10473 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" @.str10474 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" @.str10475 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str10476 = 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" @.str10477 = 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" @.str10478 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" @.str10479 = 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" @.str10480 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" @.str10481 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str10482 = 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" @.str10483 = 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" @.str10484 = 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" @.str10485 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" @.str10486 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" @.str10487 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" @.str10488 = 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" @.str10489 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" @.str10490 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str10491 = 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" @.str10492 = 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" @.str10493 = 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" @.str10494 = 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" @.str10495 = 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" @.str10496 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" @.str10497 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str10498 = private unnamed_addr constant [11 x i8] c"L_net_send\00" @.str10499 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str10500 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" @.str10501 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str10502 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str10503 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" @.str10504 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" @.str10505 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" @.str10506 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" @.str10507 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" @.str10508 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10509 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" @.str10510 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10511 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10512 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10513 = private unnamed_addr constant [11 x i8] c", label %x\00" @.str10514 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10515 = private unnamed_addr constant [2 x i8] c"h\00" @.str10516 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10517 = private unnamed_addr constant [2 x i8] c"_\00" @.str10518 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str10519 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" @.str10520 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10521 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str10522 = private unnamed_addr constant [9 x i8] c" = load \00" @.str10523 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str10524 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10525 = private unnamed_addr constant [3 x i8] c", \00" @.str10526 = private unnamed_addr constant [5 x i8] c" %fv\00" @.str10527 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10528 = private unnamed_addr constant [2 x i8] c"(\00" @.str10529 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10530 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10531 = private unnamed_addr constant [2 x i8] c"x\00" @.str10532 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10533 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10534 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str10535 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str10536 = private unnamed_addr constant [6 x i8] c"panel\00" @.str10537 = private unnamed_addr constant [4 x i8] c"col\00" @.str10538 = private unnamed_addr constant [4 x i8] c"row\00" @.str10539 = private unnamed_addr constant [6 x i8] c"label\00" @.str10540 = private unnamed_addr constant [7 x i8] c"button\00" @.str10541 = private unnamed_addr constant [6 x i8] c"image\00" @.str10542 = private unnamed_addr constant [7 x i8] c"spacer\00" @.str10543 = private unnamed_addr constant [5 x i8] c"font\00" @.str10544 = private unnamed_addr constant [5 x i8] c"size\00" @.str10545 = private unnamed_addr constant [3 x i8] c"fg\00" @.str10546 = private unnamed_addr constant [6 x i8] c"align\00" @.str10547 = private unnamed_addr constant [3 x i8] c"id\00" @.str10548 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" @.str10549 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10550 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10551 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10552 = private unnamed_addr constant [2 x i8] c"w\00" @.str10553 = private unnamed_addr constant [2 x i8] c"h\00" @.str10554 = private unnamed_addr constant [2 x i8] c"x\00" @.str10555 = private unnamed_addr constant [2 x i8] c"y\00" @.str10556 = private unnamed_addr constant [4 x i8] c"pad\00" @.str10557 = private unnamed_addr constant [4 x i8] c"gap\00" @.str10558 = private unnamed_addr constant [3 x i8] c"bg\00" @.str10559 = private unnamed_addr constant [3 x i8] c"fg\00" @.str10560 = private unnamed_addr constant [7 x i8] c"border\00" @.str10561 = private unnamed_addr constant [5 x i8] c"grow\00" @.str10562 = private unnamed_addr constant [5 x i8] c"font\00" @.str10563 = private unnamed_addr constant [5 x i8] c"size\00" @.str10564 = private unnamed_addr constant [6 x i8] c"inset\00" @.str10565 = private unnamed_addr constant [6 x i8] c"focus\00" @.str10566 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" @.str10567 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10568 = private unnamed_addr constant [2 x i8] c"1\00" @.str10569 = private unnamed_addr constant [3 x i8] c"id\00" @.str10570 = private unnamed_addr constant [5 x i8] c"goto\00" @.str10571 = private unnamed_addr constant [5 x i8] c"text\00" @.str10572 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" @.str10573 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10574 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10575 = private unnamed_addr constant [5 x i8] c"skin\00" @.str10576 = private unnamed_addr constant [6 x i8] c"image\00" @.str10577 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" @.str10578 = private unnamed_addr constant [2 x i8] c")\00" @.str10579 = private unnamed_addr constant [5 x i8] c"skin\00" @.str10580 = private unnamed_addr constant [6 x i8] c"align\00" @.str10581 = private unnamed_addr constant [7 x i8] c"center\00" @.str10582 = private unnamed_addr constant [4 x i8] c"end\00" @.str10583 = private unnamed_addr constant [2 x i8] c"1\00" @.str10584 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" @.str10585 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10586 = private unnamed_addr constant [3 x i8] c", \00" @.str10587 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str10588 = private unnamed_addr constant [5 x i8] c"void\00" @.str10589 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" @.str10590 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10591 = private unnamed_addr constant [9 x i8] c" store \00" @.str10592 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str10593 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10594 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10595 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10596 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str10597 = private unnamed_addr constant [5 x i8] c"void\00" @.str10598 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10599 = private unnamed_addr constant [6 x i8] c"load \00" @.str10600 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" @.str10601 = private unnamed_addr constant [7 x i8] c" ret \00" @.str10602 = private unnamed_addr constant [2 x i8] c" \00" @.str10603 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10604 = private unnamed_addr constant [8 x i8] c"define \00" @.str10605 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str10606 = private unnamed_addr constant [2 x i8] c"(\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 [4 x i8] c"int\00" @.str10610 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" @.str10611 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str10612 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str10613 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" @.str10614 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str10615 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str10616 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str10617 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10618 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str10619 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" @.str10620 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10621 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10622 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str10623 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str10624 = private unnamed_addr constant [5 x i8] c"void\00" @.str10625 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10626 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str10627 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" @.str10628 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10629 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10630 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" @.str10631 = 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" @.str10632 = 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" @.str10633 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str10634 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str10635 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str10636 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" @.str10637 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" @.str10638 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str10639 = private unnamed_addr constant [8 x i8] c"ok - \00" @.str10640 = private unnamed_addr constant [8 x i8] c"FAIL - \00" @.str10641 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" @.str10642 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" @.str10643 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10644 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" @.str10645 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10646 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10647 = private unnamed_addr constant [6 x i8] c"tpass\00" @.str10648 = private unnamed_addr constant [6 x i8] c"tfail\00" @.str10649 = private unnamed_addr constant [6 x i8] c"tdone\00" @.str10650 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10651 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10652 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10653 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10654 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10655 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str10656 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10657 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10658 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10659 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10660 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str10661 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10662 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10663 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10664 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" @.str10665 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str10666 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10667 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10668 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10669 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10670 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str10671 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str10672 = private unnamed_addr constant [3 x i8] c", \00" @.str10673 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" @.str10674 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10675 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10676 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10677 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10678 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10679 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str10680 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10681 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str10682 = private unnamed_addr constant [11 x i8] c"function '\00" @.str10683 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str10684 = private unnamed_addr constant [2 x i8] c":\00" @.str10685 = private unnamed_addr constant [2 x i8] c")\00" @.str10686 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" @.str10687 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str10688 = 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" @.str10689 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" @.str10690 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" @.str10691 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" @.str10692 = private unnamed_addr constant [10 x i8] c" x i32] [\00" @.str10693 = private unnamed_addr constant [3 x i8] c", \00" @.str10694 = private unnamed_addr constant [5 x i8] c"i32 \00" @.str10695 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str10696 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" @.str10697 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10698 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" @.str10699 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10700 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" @.str10701 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" @.str10702 = private unnamed_addr constant [2 x i8] c"w\00" @.str10703 = 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" @.str10704 = 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" @.str10705 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str10706 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str10707 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" @.str10708 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" @.str10709 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10710 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" @.str10711 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" @.str10712 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" @.str10713 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" @.str10714 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10715 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str10716 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" @.str10717 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str10718 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" @.str10719 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10720 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10721 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str10722 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" @.str10723 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" @.str10724 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10725 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" @.str10726 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str10727 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" @.str10728 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" @.str10729 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" @.str10730 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" @.str10731 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" @.str10732 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" @.str10733 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" @.str10734 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str10735 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10736 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str10737 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" @.str10738 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str10739 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" @.str10740 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" @.str10741 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" @.str10742 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10743 = 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" @.str10744 = private unnamed_addr constant [3 x i8] c"wb\00" @.str10745 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str10746 = private unnamed_addr constant [2 x i8] c"/\00" @.str10747 = private unnamed_addr constant [8 x i8] c"VERSION\00" @.str10748 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" @.str10749 = private unnamed_addr constant [7 x i8] c"ludic \00" @.str10750 = private unnamed_addr constant [1 x i8] c"\00" @.str10751 = private unnamed_addr constant [1 x i8] c"\00" @.str10752 = private unnamed_addr constant [2 x i8] c"?\00" @.str10753 = private unnamed_addr constant [10 x i8] c"--version\00" @.str10754 = private unnamed_addr constant [11 x i8] c"--windowed\00" @.str10755 = private unnamed_addr constant [11 x i8] c"--headless\00" @.str10756 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" @.str10757 = private unnamed_addr constant [14 x i8] c"--emit-module\00" @.str10758 = private unnamed_addr constant [6 x i8] c"--fmt\00" @.str10759 = private unnamed_addr constant [13 x i8] c"--save-temps\00" @.str10760 = private unnamed_addr constant [6 x i8] c"--run\00" @.str10761 = private unnamed_addr constant [11 x i8] c"--coverage\00" @.str10762 = private unnamed_addr constant [3 x i8] c"-o\00" @.str10763 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" @.str10764 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10765 = private unnamed_addr constant [90 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00" @.str10766 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" @.str10767 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" @.str10768 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" @.str10769 = private unnamed_addr constant [4 x i8] c".ll\00" @.str10770 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" @.str10771 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" @.str10772 = private unnamed_addr constant [6 x i8] c"clang\00" @.str10773 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" @.str10774 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" @.str10775 = private unnamed_addr constant [2 x i8] c" \00" @.str10776 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" @.str10777 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" @.str10778 = private unnamed_addr constant [2 x i8] c" \00" @.str10779 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" @.str10780 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" @.str10781 = private unnamed_addr constant [2 x i8] c" \00" @.str10782 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" @.str10783 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" @.str10784 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" @.str10785 = private unnamed_addr constant [2 x i8] c" \00" @.str10786 = private unnamed_addr constant [2 x i8] c" \00" @.str10787 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" @.str10788 = private unnamed_addr constant [5 x i8] c" -o \00" @.str10789 = private unnamed_addr constant [7 x i8] c"rm -f \00" @.str10790 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\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 @access(ptr, i32) declare i32 @mkdir(ptr, i32) declare i32 @remove(ptr) 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: %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: %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 @fopen(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 } @.str10791 = private unnamed_addr constant [4 x i8] c"png\00" @.str10792 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str10793 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str10794 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str10795 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str10796 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str10797 = private unnamed_addr constant [4 x i8] c"gif\00" @.str10798 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str10799 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str10800 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str10801 = private unnamed_addr constant [5 x i8] c"webp\00" @.str10802 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str10803 = private unnamed_addr constant [4 x i8] c"svg\00" @.str10804 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str10805 = private unnamed_addr constant [4 x i8] c"txt\00" @.str10806 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str10807 = private unnamed_addr constant [3 x i8] c"md\00" @.str10808 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str10809 = private unnamed_addr constant [4 x i8] c"csv\00" @.str10810 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str10811 = private unnamed_addr constant [5 x i8] c"html\00" @.str10812 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str10813 = private unnamed_addr constant [4 x i8] c"htm\00" @.str10814 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str10815 = private unnamed_addr constant [4 x i8] c"css\00" @.str10816 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str10817 = private unnamed_addr constant [3 x i8] c"js\00" @.str10818 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str10819 = private unnamed_addr constant [5 x i8] c"json\00" @.str10820 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str10821 = private unnamed_addr constant [4 x i8] c"xml\00" @.str10822 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str10823 = private unnamed_addr constant [4 x i8] c"zip\00" @.str10824 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str10825 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str10826 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str10827 = private unnamed_addr constant [4 x i8] c"wav\00" @.str10828 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str10829 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str10830 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str10831 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str10832 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str10833 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str10834 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str10835 = private unnamed_addr constant [4 x i8] c"otf\00" @.str10836 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str10837 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str10838 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str10839 = 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 @.str10791, ptr @.str10792 }, { ptr, ptr } { ptr @.str10793, ptr @.str10794 }, { ptr, ptr } { ptr @.str10795, ptr @.str10796 }, { ptr, ptr } { ptr @.str10797, ptr @.str10798 }, { ptr, ptr } { ptr @.str10799, ptr @.str10800 }, { ptr, ptr } { ptr @.str10801, ptr @.str10802 }, { ptr, ptr } { ptr @.str10803, ptr @.str10804 }, { ptr, ptr } { ptr @.str10805, ptr @.str10806 }, { ptr, ptr } { ptr @.str10807, ptr @.str10808 }, { ptr, ptr } { ptr @.str10809, ptr @.str10810 }, { ptr, ptr } { ptr @.str10811, ptr @.str10812 }, { ptr, ptr } { ptr @.str10813, ptr @.str10814 }, { ptr, ptr } { ptr @.str10815, ptr @.str10816 }, { ptr, ptr } { ptr @.str10817, ptr @.str10818 }, { ptr, ptr } { ptr @.str10819, ptr @.str10820 }, { ptr, ptr } { ptr @.str10821, ptr @.str10822 }, { ptr, ptr } { ptr @.str10823, ptr @.str10824 }, { ptr, ptr } { ptr @.str10825, ptr @.str10826 }, { ptr, ptr } { ptr @.str10827, ptr @.str10828 }, { ptr, ptr } { ptr @.str10829, ptr @.str10830 }, { ptr, ptr } { ptr @.str10831, ptr @.str10832 }, { ptr, ptr } { ptr @.str10833, ptr @.str10834 }, { ptr, ptr } { ptr @.str10835, ptr @.str10836 }, { ptr, ptr } { ptr @.str10837, ptr @.str10838 }] 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 @.str10839) 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" 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 @fopen(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 %t332 = alloca i32 %t360 = alloca i32 %t361 = alloca i32 %t393 = alloca i32 %t394 = alloca i32 %t395 = alloca i32 %t439 = alloca i32 %t448 = alloca i32 %t449 = 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 br label %wcond73 wcond73: %t333 = load i32, ptr %t8 %t334 = load i32, ptr %t14 %t335 = icmp slt i32 %t333, %t334 %t336 = zext i1 %t335 to i32 %t337 = icmp ne i32 %t336, 0 %t338 = zext i1 %t337 to i32 store i32 %t338, ptr %t332 br i1 %t337, label %sc76, label %scend77 sc76: %t339 = load ptr, ptr %t0 %t340 = load i32, ptr %t8 %t341 = getelementptr inbounds i8, ptr %t339, i32 %t340 %t342 = load i8, ptr %t341 %t343 = zext i8 %t342 to i32 %t344 = call i32 @fn_char_is_digit(i32 %t343) %t345 = icmp ne i32 %t344, 0 %t346 = zext i1 %t345 to i32 store i32 %t346, ptr %t332 br label %scend77 scend77: %t347 = load i32, ptr %t332 %t348 = icmp ne i32 %t347, 0 br i1 %t348, label %wbody74, label %wend75 wbody74: %t349 = load i32, ptr %t331 %t350 = mul i32 %t349, 10 %t351 = load ptr, ptr %t0 %t352 = load i32, ptr %t8 %t353 = getelementptr inbounds i8, ptr %t351, i32 %t352 %t354 = load i8, ptr %t353 %t355 = zext i8 %t354 to i32 %t356 = sub i32 %t355, 48 %t357 = add i32 %t350, %t356 store i32 %t357, ptr %t331 %t358 = load i32, ptr %t8 %t359 = add i32 %t358, 1 store i32 %t359, ptr %t8 br label %wcond73 wend75: %t362 = load i32, ptr %t8 %t363 = load i32, ptr %t14 %t364 = icmp slt i32 %t362, %t363 %t365 = zext i1 %t364 to i32 %t366 = icmp ne i32 %t365, 0 %t367 = zext i1 %t366 to i32 store i32 %t367, ptr %t361 br i1 %t366, label %sc78, label %scend79 sc78: %t368 = load ptr, ptr %t0 %t369 = load i32, ptr %t8 %t370 = getelementptr inbounds i8, ptr %t368, i32 %t369 %t371 = load i8, ptr %t370 %t372 = zext i8 %t371 to i32 %t373 = icmp eq i32 %t372, 46 %t374 = zext i1 %t373 to i32 %t375 = icmp ne i32 %t374, 0 %t376 = zext i1 %t375 to i32 store i32 %t376, ptr %t361 br label %scend79 scend79: %t377 = load i32, ptr %t361 %t378 = icmp ne i32 %t377, 0 %t379 = zext i1 %t378 to i32 store i32 %t379, ptr %t360 br i1 %t378, label %sc80, label %scend81 sc80: %t380 = load ptr, ptr %t0 %t381 = load i32, ptr %t8 %t382 = add i32 %t381, 1 %t383 = getelementptr inbounds i8, ptr %t380, i32 %t382 %t384 = load i8, ptr %t383 %t385 = zext i8 %t384 to i32 %t386 = call i32 @fn_char_is_digit(i32 %t385) %t387 = icmp ne i32 %t386, 0 %t388 = zext i1 %t387 to i32 store i32 %t388, ptr %t360 br label %scend81 scend81: %t389 = load i32, ptr %t360 %t390 = icmp ne i32 %t389, 0 br i1 %t390, label %then82, label %ifend84 then82: %t391 = load i32, ptr %t8 %t392 = add i32 %t391, 1 store i32 %t392, ptr %t8 store i32 0, ptr %t393 store i32 1, ptr %t394 br label %wcond85 wcond85: %t396 = load i32, ptr %t8 %t397 = load i32, ptr %t14 %t398 = icmp slt i32 %t396, %t397 %t399 = zext i1 %t398 to i32 %t400 = icmp ne i32 %t399, 0 %t401 = zext i1 %t400 to i32 store i32 %t401, ptr %t395 br i1 %t400, label %sc88, label %scend89 sc88: %t402 = load ptr, ptr %t0 %t403 = load i32, ptr %t8 %t404 = getelementptr inbounds i8, ptr %t402, i32 %t403 %t405 = load i8, ptr %t404 %t406 = zext i8 %t405 to i32 %t407 = call i32 @fn_char_is_digit(i32 %t406) %t408 = icmp ne i32 %t407, 0 %t409 = zext i1 %t408 to i32 store i32 %t409, ptr %t395 br label %scend89 scend89: %t410 = load i32, ptr %t395 %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %wbody86, label %wend87 wbody86: %t412 = load i32, ptr %t394 %t413 = icmp slt i32 %t412, 10000 %t414 = zext i1 %t413 to i32 %t415 = icmp ne i32 %t414, 0 br i1 %t415, label %then90, label %ifend92 then90: %t416 = load i32, ptr %t393 %t417 = mul i32 %t416, 10 %t418 = load ptr, ptr %t0 %t419 = load i32, ptr %t8 %t420 = getelementptr inbounds i8, ptr %t418, i32 %t419 %t421 = load i8, ptr %t420 %t422 = zext i8 %t421 to i32 %t423 = sub i32 %t422, 48 %t424 = add i32 %t417, %t423 store i32 %t424, ptr %t393 %t425 = load i32, ptr %t394 %t426 = mul i32 %t425, 10 store i32 %t426, ptr %t394 br label %ifend92 ifend92: %t427 = load i32, ptr %t8 %t428 = add i32 %t427, 1 store i32 %t428, ptr %t8 br label %wcond85 wend87: %t429 = load i32, ptr %t331 %t430 = shl i32 %t429, 16 %t431 = load i32, ptr %t393 %t432 = shl i32 %t431, 16 %t433 = load i32, ptr %t394 %t434 = lshr i32 %t433, 1 %t435 = add i32 %t432, %t434 %t436 = load i32, ptr %t394 %t437 = sdiv i32 %t435, %t436 %t438 = add i32 %t430, %t437 store i32 %t438, ptr %t439 %t440 = load i32, ptr %t439 %t441 = load i32, ptr %t10 call void @fn_tok_push(i32 6, ptr null, i32 %t440, i32 %t441) br label %wcond0 ifend84: %t442 = load i32, ptr %t331 %t443 = load i32, ptr %t10 call void @fn_tok_push(i32 1, ptr null, i32 %t442, i32 %t443) br label %wcond0 ifend51: %t444 = load i32, ptr %t25 %t445 = call i32 @fn_char_is_alpha(i32 %t444) %t446 = icmp ne i32 %t445, 0 br i1 %t446, label %then93, label %ifend95 then93: %t447 = load i32, ptr %t8 store i32 %t447, ptr %t448 br label %wcond96 wcond96: %t450 = load i32, ptr %t8 %t451 = load i32, ptr %t14 %t452 = icmp slt i32 %t450, %t451 %t453 = zext i1 %t452 to i32 %t454 = icmp ne i32 %t453, 0 %t455 = zext i1 %t454 to i32 store i32 %t455, ptr %t449 br i1 %t454, label %sc99, label %scend100 sc99: %t456 = load ptr, ptr %t0 %t457 = load i32, ptr %t8 %t458 = getelementptr inbounds i8, ptr %t456, i32 %t457 %t459 = load i8, ptr %t458 %t460 = zext i8 %t459 to i32 %t461 = call i32 @fn_char_is_alnum(i32 %t460) %t462 = icmp ne i32 %t461, 0 %t463 = zext i1 %t462 to i32 store i32 %t463, ptr %t449 br label %scend100 scend100: %t464 = load i32, ptr %t449 %t465 = icmp ne i32 %t464, 0 br i1 %t465, label %wbody97, label %wend98 wbody97: %t466 = load i32, ptr %t8 %t467 = add i32 %t466, 1 store i32 %t467, ptr %t8 br label %wcond96 wend98: %t468 = load ptr, ptr %t0 %t469 = load i32, ptr %t448 %t470 = load i32, ptr %t8 %t471 = call ptr @lp_str_slice(ptr %t468, i32 %t469, i32 %t470) %t472 = load i32, ptr %t10 call void @fn_tok_push(i32 0, ptr %t471, i32 0, i32 %t472) br label %wcond0 ifend95: %t473 = load i32, ptr %t25 %t474 = icmp eq i32 %t473, 59 %t475 = zext i1 %t474 to i32 %t476 = icmp ne i32 %t475, 0 br i1 %t476, label %then101, label %ifend103 then101: %t477 = load i32, ptr %t10 call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t477) %t478 = load i32, ptr %t8 %t479 = add i32 %t478, 1 store i32 %t479, ptr %t8 br label %wcond0 ifend103: %t480 = load ptr, ptr %t0 %t481 = load i32, ptr %t8 %t482 = call i32 @fn_two_at(ptr %t480, i32 %t481, i32 45, i32 62) %t483 = icmp ne i32 %t482, 0 br i1 %t483, label %then104, label %ifend106 then104: %t484 = load ptr, ptr %t0 %t485 = load i32, ptr %t8 %t486 = load i32, ptr %t8 %t487 = add i32 %t486, 2 %t488 = call ptr @lp_str_slice(ptr %t484, i32 %t485, i32 %t487) %t489 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t488, i32 0, i32 %t489) %t490 = load i32, ptr %t8 %t491 = add i32 %t490, 2 store i32 %t491, ptr %t8 br label %wcond0 ifend106: %t492 = load ptr, ptr %t0 %t493 = load i32, ptr %t8 %t494 = call i32 @fn_two_at(ptr %t492, i32 %t493, i32 61, i32 62) %t495 = icmp ne i32 %t494, 0 br i1 %t495, label %then107, label %ifend109 then107: %t496 = load ptr, ptr %t0 %t497 = load i32, ptr %t8 %t498 = load i32, ptr %t8 %t499 = add i32 %t498, 2 %t500 = call ptr @lp_str_slice(ptr %t496, i32 %t497, i32 %t499) %t501 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t500, i32 0, i32 %t501) %t502 = load i32, ptr %t8 %t503 = add i32 %t502, 2 store i32 %t503, ptr %t8 br label %wcond0 ifend109: %t504 = load ptr, ptr %t0 %t505 = load i32, ptr %t8 %t506 = call i32 @fn_two_at(ptr %t504, i32 %t505, i32 61, i32 61) %t507 = icmp ne i32 %t506, 0 br i1 %t507, label %then110, label %ifend112 then110: %t508 = load ptr, ptr %t0 %t509 = load i32, ptr %t8 %t510 = load i32, ptr %t8 %t511 = add i32 %t510, 2 %t512 = call ptr @lp_str_slice(ptr %t508, i32 %t509, i32 %t511) %t513 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t512, i32 0, i32 %t513) %t514 = load i32, ptr %t8 %t515 = add i32 %t514, 2 store i32 %t515, ptr %t8 br label %wcond0 ifend112: %t516 = load ptr, ptr %t0 %t517 = load i32, ptr %t8 %t518 = call i32 @fn_two_at(ptr %t516, i32 %t517, i32 33, i32 61) %t519 = icmp ne i32 %t518, 0 br i1 %t519, label %then113, label %ifend115 then113: %t520 = load ptr, ptr %t0 %t521 = load i32, ptr %t8 %t522 = load i32, ptr %t8 %t523 = add i32 %t522, 2 %t524 = call ptr @lp_str_slice(ptr %t520, i32 %t521, i32 %t523) %t525 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t524, i32 0, i32 %t525) %t526 = load i32, ptr %t8 %t527 = add i32 %t526, 2 store i32 %t527, ptr %t8 br label %wcond0 ifend115: %t528 = load ptr, ptr %t0 %t529 = load i32, ptr %t8 %t530 = call i32 @fn_two_at(ptr %t528, i32 %t529, i32 60, i32 61) %t531 = icmp ne i32 %t530, 0 br i1 %t531, label %then116, label %ifend118 then116: %t532 = load ptr, ptr %t0 %t533 = load i32, ptr %t8 %t534 = load i32, ptr %t8 %t535 = add i32 %t534, 2 %t536 = call ptr @lp_str_slice(ptr %t532, i32 %t533, i32 %t535) %t537 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t536, i32 0, i32 %t537) %t538 = load i32, ptr %t8 %t539 = add i32 %t538, 2 store i32 %t539, ptr %t8 br label %wcond0 ifend118: %t540 = load ptr, ptr %t0 %t541 = load i32, ptr %t8 %t542 = call i32 @fn_two_at(ptr %t540, i32 %t541, i32 62, i32 61) %t543 = icmp ne i32 %t542, 0 br i1 %t543, label %then119, label %ifend121 then119: %t544 = load ptr, ptr %t0 %t545 = load i32, ptr %t8 %t546 = load i32, ptr %t8 %t547 = add i32 %t546, 2 %t548 = call ptr @lp_str_slice(ptr %t544, i32 %t545, i32 %t547) %t549 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t548, i32 0, i32 %t549) %t550 = load i32, ptr %t8 %t551 = add i32 %t550, 2 store i32 %t551, ptr %t8 br label %wcond0 ifend121: %t552 = load ptr, ptr %t0 %t553 = load i32, ptr %t8 %t554 = call i32 @fn_two_at(ptr %t552, i32 %t553, i32 43, i32 61) %t555 = icmp ne i32 %t554, 0 br i1 %t555, label %then122, label %ifend124 then122: %t556 = load ptr, ptr %t0 %t557 = load i32, ptr %t8 %t558 = load i32, ptr %t8 %t559 = add i32 %t558, 2 %t560 = call ptr @lp_str_slice(ptr %t556, i32 %t557, i32 %t559) %t561 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t560, i32 0, i32 %t561) %t562 = load i32, ptr %t8 %t563 = add i32 %t562, 2 store i32 %t563, ptr %t8 br label %wcond0 ifend124: %t564 = load ptr, ptr %t0 %t565 = load i32, ptr %t8 %t566 = call i32 @fn_two_at(ptr %t564, i32 %t565, i32 45, i32 61) %t567 = icmp ne i32 %t566, 0 br i1 %t567, label %then125, label %ifend127 then125: %t568 = load ptr, ptr %t0 %t569 = load i32, ptr %t8 %t570 = load i32, ptr %t8 %t571 = add i32 %t570, 2 %t572 = call ptr @lp_str_slice(ptr %t568, i32 %t569, i32 %t571) %t573 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t572, i32 0, i32 %t573) %t574 = load i32, ptr %t8 %t575 = add i32 %t574, 2 store i32 %t575, ptr %t8 br label %wcond0 ifend127: %t576 = load ptr, ptr %t0 %t577 = load i32, ptr %t8 %t578 = call i32 @fn_two_at(ptr %t576, i32 %t577, i32 42, i32 61) %t579 = icmp ne i32 %t578, 0 br i1 %t579, label %then128, label %ifend130 then128: %t580 = load ptr, ptr %t0 %t581 = load i32, ptr %t8 %t582 = load i32, ptr %t8 %t583 = add i32 %t582, 2 %t584 = call ptr @lp_str_slice(ptr %t580, i32 %t581, i32 %t583) %t585 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t584, i32 0, i32 %t585) %t586 = load i32, ptr %t8 %t587 = add i32 %t586, 2 store i32 %t587, ptr %t8 br label %wcond0 ifend130: %t588 = load ptr, ptr %t0 %t589 = load i32, ptr %t8 %t590 = call i32 @fn_two_at(ptr %t588, i32 %t589, i32 47, i32 61) %t591 = icmp ne i32 %t590, 0 br i1 %t591, label %then131, label %ifend133 then131: %t592 = load ptr, ptr %t0 %t593 = load i32, ptr %t8 %t594 = load i32, ptr %t8 %t595 = add i32 %t594, 2 %t596 = call ptr @lp_str_slice(ptr %t592, i32 %t593, i32 %t595) %t597 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t596, i32 0, i32 %t597) %t598 = load i32, ptr %t8 %t599 = add i32 %t598, 2 store i32 %t599, ptr %t8 br label %wcond0 ifend133: %t600 = load ptr, ptr %t0 %t601 = load i32, ptr %t8 %t602 = call i32 @fn_two_at(ptr %t600, i32 %t601, i32 46, i32 46) %t603 = icmp ne i32 %t602, 0 br i1 %t603, label %then134, label %ifend136 then134: %t604 = load ptr, ptr %t0 %t605 = load i32, ptr %t8 %t606 = load i32, ptr %t8 %t607 = add i32 %t606, 2 %t608 = call ptr @lp_str_slice(ptr %t604, i32 %t605, i32 %t607) %t609 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t608, i32 0, i32 %t609) %t610 = load i32, ptr %t8 %t611 = add i32 %t610, 2 store i32 %t611, ptr %t8 br label %wcond0 ifend136: %t612 = load ptr, ptr %t0 %t613 = load i32, ptr %t8 %t614 = call i32 @fn_two_at(ptr %t612, i32 %t613, i32 60, i32 60) %t615 = icmp ne i32 %t614, 0 br i1 %t615, label %then137, label %ifend139 then137: %t616 = load ptr, ptr %t0 %t617 = load i32, ptr %t8 %t618 = load i32, ptr %t8 %t619 = add i32 %t618, 2 %t620 = call ptr @lp_str_slice(ptr %t616, i32 %t617, i32 %t619) %t621 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t620, i32 0, i32 %t621) %t622 = load i32, ptr %t8 %t623 = add i32 %t622, 2 store i32 %t623, ptr %t8 br label %wcond0 ifend139: %t624 = load ptr, ptr %t0 %t625 = load i32, ptr %t8 %t626 = call i32 @fn_two_at(ptr %t624, i32 %t625, i32 62, i32 62) %t627 = icmp ne i32 %t626, 0 br i1 %t627, label %then140, label %ifend142 then140: %t628 = load ptr, ptr %t0 %t629 = load i32, ptr %t8 %t630 = load i32, ptr %t8 %t631 = add i32 %t630, 2 %t632 = call ptr @lp_str_slice(ptr %t628, i32 %t629, i32 %t631) %t633 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t632, i32 0, i32 %t633) %t634 = load i32, ptr %t8 %t635 = add i32 %t634, 2 store i32 %t635, ptr %t8 br label %wcond0 ifend142: %t636 = load i32, ptr %t25 %t637 = call i32 @fn_is_op1(i32 %t636) %t638 = icmp ne i32 %t637, 0 br i1 %t638, label %then143, label %ifend145 then143: %t639 = load ptr, ptr %t0 %t640 = load i32, ptr %t8 %t641 = load i32, ptr %t8 %t642 = add i32 %t641, 1 %t643 = call ptr @lp_str_slice(ptr %t639, i32 %t640, i32 %t642) %t644 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t643, i32 0, i32 %t644) %t645 = load i32, ptr %t8 %t646 = add i32 %t645, 1 store i32 %t646, ptr %t8 br label %wcond0 ifend145: %t647 = load i32, ptr %t10 %t648 = load i32, ptr %t25 call void @fn_lex_error(i32 %t647, i32 %t648) br label %wcond0 wend2: %t649 = load i32, ptr %t10 call void @fn_tok_push(i32 5, ptr null, i32 0, i32 %t649) 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 %t98 = alloca ptr %t119 = alloca ptr %t131 = alloca ptr %t153 = alloca ptr %t177 = alloca ptr %t197 = alloca ptr %t211 = 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 i32, ptr @g_pi %t89 = add i32 %t88, 1 store i32 %t89, ptr @g_pi %t90 = load ptr, ptr %t82 store ptr %t90, ptr %retval br label %ret ifend18: %t91 = load ptr, ptr %t6 %t92 = getelementptr inbounds %Cmp_Tok, ptr %t91, i32 0, i32 0 %t93 = load i32, ptr %t92 %t94 = icmp eq i32 %t93, 2 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then19, label %ifend21 then19: %t97 = call ptr @fn_node(i32 31) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 %t101 = load ptr, ptr %t6 %t102 = getelementptr inbounds %Cmp_Tok, ptr %t101, i32 0, i32 1 %t103 = load ptr, ptr %t102 store ptr %t103, ptr %t100 %t104 = load i32, ptr @g_pi %t105 = add i32 %t104, 1 store i32 %t105, ptr @g_pi %t106 = load ptr, ptr %t98 store ptr %t106, ptr %retval br label %ret ifend21: %t107 = load ptr, ptr %t6 %t108 = getelementptr inbounds %Cmp_Tok, ptr %t107, i32 0, i32 0 %t109 = load i32, ptr %t108 %t110 = icmp eq i32 %t109, 0 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then22, label %ifend24 then22: %t113 = load ptr, ptr %t6 %t114 = getelementptr inbounds %Cmp_Tok, ptr %t113, i32 0, i32 1 %t115 = load ptr, ptr %t114 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str43) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then25, label %ifend27 then25: %t118 = call ptr @fn_node(i32 32) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 2 store i32 1, ptr %t121 %t122 = load i32, ptr @g_pi %t123 = add i32 %t122, 1 store i32 %t123, ptr @g_pi %t124 = load ptr, ptr %t119 store ptr %t124, ptr %retval br label %ret ifend27: %t125 = load ptr, ptr %t6 %t126 = getelementptr inbounds %Cmp_Tok, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str44) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then28, label %ifend30 then28: %t130 = call ptr @fn_node(i32 32) store ptr %t130, ptr %t131 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 2 store i32 0, ptr %t133 %t134 = load i32, ptr @g_pi %t135 = add i32 %t134, 1 store i32 %t135, ptr @g_pi %t136 = load ptr, ptr %t131 store ptr %t136, ptr %retval br label %ret ifend30: %t137 = load ptr, ptr %t6 %t138 = getelementptr inbounds %Cmp_Tok, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str45) %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then31, label %ifend33 then31: %t142 = load i32, ptr @g_pi %t143 = add i32 %t142, 1 store i32 %t143, ptr @g_pi %t144 = call ptr @fn_node(i32 43) store ptr %t144, ptr %retval br label %ret ifend33: %t145 = load ptr, ptr %t6 %t146 = getelementptr inbounds %Cmp_Tok, ptr %t145, i32 0, i32 1 %t147 = load ptr, ptr %t146 %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str46) %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then34, label %ifend36 then34: %t150 = load i32, ptr @g_pi %t151 = add i32 %t150, 1 store i32 %t151, ptr @g_pi %t152 = call ptr @fn_node(i32 39) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 1 %t156 = call ptr @fn_ptype() store ptr %t156, ptr %t155 %t157 = call i32 @fn_is_op(ptr @.str47) %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then37, label %ifend39 then37: %t159 = load ptr, ptr %t153 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 4 %t161 = call ptr @fn_record() store ptr %t161, ptr %t160 br label %ifend39 ifend39: %t162 = load ptr, ptr %t153 store ptr %t162, ptr %retval br label %ret ifend36: %t163 = load ptr, ptr %t6 %t164 = getelementptr inbounds %Cmp_Tok, ptr %t163, i32 0, i32 1 %t165 = load ptr, ptr %t164 %t166 = call i32 @lp_str_eq(ptr %t165, ptr @.str48) %t167 = icmp ne i32 %t166, 0 br i1 %t167, label %then40, label %ifend42 then40: %t168 = call ptr @fn_parse_spawn() store ptr %t168, ptr %retval br label %ret ifend42: %t169 = load ptr, ptr %t6 %t170 = getelementptr inbounds %Cmp_Tok, ptr %t169, i32 0, i32 1 %t171 = load ptr, ptr %t170 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str49) %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then43, label %ifend45 then43: %t174 = load i32, ptr @g_pi %t175 = add i32 %t174, 1 store i32 %t175, ptr @g_pi %t176 = call ptr @fn_node(i32 52) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 8 %t180 = load ptr, ptr %t6 %t181 = getelementptr inbounds %Cmp_Tok, ptr %t180, i32 0, i32 3 %t182 = load i32, ptr %t181 store i32 %t182, ptr %t179 %t183 = load ptr, ptr %t177 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 4 %t185 = call ptr @fn_expr() store ptr %t185, ptr %t184 call void @fn_skipnl() %t186 = call i32 @fn_is_id(ptr @.str50) %t187 = icmp eq i32 %t186, 0 %t188 = zext i1 %t187 to i32 %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then46, label %ifend48 then46: call void @fn_perr(ptr @.str51) br label %ifend48 ifend48: %t190 = load i32, ptr @g_pi %t191 = add i32 %t190, 1 store i32 %t191, ptr @g_pi call void @fn_skipnl() %t192 = load ptr, ptr %t177 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 5 %t194 = call ptr @fn_block() store ptr %t194, ptr %t193 %t195 = load ptr, ptr %t177 store ptr %t195, ptr %retval br label %ret ifend45: %t196 = call ptr @fn_node(i32 33) store ptr %t196, ptr %t197 %t198 = load ptr, ptr %t197 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 %t200 = load ptr, ptr %t6 %t201 = getelementptr inbounds %Cmp_Tok, ptr %t200, i32 0, i32 1 %t202 = load ptr, ptr %t201 store ptr %t202, ptr %t199 %t203 = load i32, ptr @g_pi %t204 = add i32 %t203, 1 store i32 %t204, ptr @g_pi %t205 = load ptr, ptr %t197 store ptr %t205, ptr %retval br label %ret ifend24: %t206 = call i32 @fn_is_op(ptr @.str52) %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then49, label %ifend51 then49: %t208 = load i32, ptr @g_pi %t209 = add i32 %t208, 1 store i32 %t209, ptr @g_pi call void @fn_skipnl() %t210 = call ptr @fn_expr() store ptr %t210, ptr %t211 call void @fn_skipnl() call void @fn_eat_op(ptr @.str53) %t212 = load ptr, ptr %t211 store ptr %t212, ptr %retval br label %ret ifend51: call void @fn_perr(ptr @.str54) %t213 = call ptr @fn_node(i32 30) store ptr %t213, ptr %retval br label %ret ret: %t214 = load ptr, ptr %retval ret ptr %t214 } 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 %t930 = alloca i32 %t931 = alloca i32 %t952 = alloca i32 %t953 = alloca i32 %t954 = alloca i32 %t990 = alloca i32 %t991 = alloca i32 %t1020 = alloca i32 %t1040 = alloca i32 %t1060 = alloca i32 %t1080 = alloca i32 %t1081 = alloca i32 %t1102 = alloca i32 %t1103 = alloca i32 %t1104 = alloca i32 %t1105 = alloca i32 %t1106 = alloca i32 %t1160 = alloca i32 %t1185 = alloca ptr %t1191 = alloca ptr %t1203 = alloca ptr %t1214 = alloca ptr %t1230 = alloca i32 %t1240 = 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 @.str55) %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 @.str56) %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 @.str57) %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 @.str58) %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 @.str59) %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 @.str60) %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 @.str61) %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 @.str62) %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 @.str63) %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 @.str64) %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 @.str65) %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 @.str66) %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 @.str67) %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 @.str68) %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 @.str69) %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 @.str70) %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 @.str71) %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 @.str72) %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 @.str73) %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 @.str74) %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 @.str75) %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 @.str76) %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 @.str77) %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 @.str78) %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 @.str79) %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 @.str80) %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 @.str81) %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 @.str82) %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 @.str83) %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 @.str84) %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 @.str85) %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 @.str86) %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 @.str87) %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 @.str88) %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 @.str89) %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 @.str90) %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 @.str91) %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 @.str92) %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 @.str93) %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 @.str94) %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 @.str95) %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 @.str96) %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 @.str97) %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 @.str98) %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 @.str99) %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 @.str100) %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 @.str101) %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 @.str102) %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: %t697 = load ptr, ptr %t1 %t698 = getelementptr inbounds %Cmp_Node, ptr %t697, i32 0, i32 1 %t699 = load ptr, ptr %t698 %t700 = call i32 @lp_str_eq(ptr %t699, ptr @.str103) %t701 = icmp ne i32 %t700, 0 %t702 = zext i1 %t701 to i32 store i32 %t702, ptr %t696 br i1 %t701, label %scend151, label %sc150 sc150: %t703 = load ptr, ptr %t1 %t704 = getelementptr inbounds %Cmp_Node, ptr %t703, i32 0, i32 1 %t705 = load ptr, ptr %t704 %t706 = call i32 @lp_str_eq(ptr %t705, ptr @.str104) %t707 = icmp ne i32 %t706, 0 %t708 = zext i1 %t707 to i32 store i32 %t708, ptr %t696 br label %scend151 scend151: %t709 = load i32, ptr %t696 %t710 = icmp ne i32 %t709, 0 %t711 = zext i1 %t710 to i32 store i32 %t711, ptr %t695 br i1 %t710, label %scend153, label %sc152 sc152: %t712 = load ptr, ptr %t1 %t713 = getelementptr inbounds %Cmp_Node, ptr %t712, i32 0, i32 1 %t714 = load ptr, ptr %t713 %t715 = call i32 @lp_str_eq(ptr %t714, ptr @.str105) %t716 = icmp ne i32 %t715, 0 %t717 = zext i1 %t716 to i32 store i32 %t717, ptr %t695 br label %scend153 scend153: %t718 = load i32, ptr %t695 %t719 = icmp ne i32 %t718, 0 %t720 = zext i1 %t719 to i32 store i32 %t720, ptr %t694 br i1 %t719, label %scend155, label %sc154 sc154: %t721 = load ptr, ptr %t1 %t722 = getelementptr inbounds %Cmp_Node, ptr %t721, i32 0, i32 1 %t723 = load ptr, ptr %t722 %t724 = call i32 @lp_str_eq(ptr %t723, ptr @.str106) %t725 = icmp ne i32 %t724, 0 %t726 = zext i1 %t725 to i32 store i32 %t726, ptr %t694 br label %scend155 scend155: %t727 = load i32, ptr %t694 %t728 = icmp ne i32 %t727, 0 %t729 = zext i1 %t728 to i32 store i32 %t729, ptr %t693 br i1 %t728, label %scend157, label %sc156 sc156: %t730 = load ptr, ptr %t1 %t731 = getelementptr inbounds %Cmp_Node, ptr %t730, i32 0, i32 1 %t732 = load ptr, ptr %t731 %t733 = call i32 @lp_str_eq(ptr %t732, ptr @.str107) %t734 = icmp ne i32 %t733, 0 %t735 = zext i1 %t734 to i32 store i32 %t735, ptr %t693 br label %scend157 scend157: %t736 = load i32, ptr %t693 %t737 = icmp ne i32 %t736, 0 %t738 = zext i1 %t737 to i32 store i32 %t738, ptr %t692 br i1 %t737, label %scend159, label %sc158 sc158: %t739 = load ptr, ptr %t1 %t740 = getelementptr inbounds %Cmp_Node, ptr %t739, i32 0, i32 1 %t741 = load ptr, ptr %t740 %t742 = call i32 @lp_str_eq(ptr %t741, ptr @.str108) %t743 = icmp ne i32 %t742, 0 %t744 = zext i1 %t743 to i32 store i32 %t744, ptr %t692 br label %scend159 scend159: %t745 = load i32, ptr %t692 %t746 = icmp ne i32 %t745, 0 %t747 = zext i1 %t746 to i32 store i32 %t747, ptr %t691 br i1 %t746, label %scend161, label %sc160 sc160: %t748 = load ptr, ptr %t1 %t749 = getelementptr inbounds %Cmp_Node, ptr %t748, i32 0, i32 1 %t750 = load ptr, ptr %t749 %t751 = call i32 @lp_str_eq(ptr %t750, ptr @.str109) %t752 = icmp ne i32 %t751, 0 %t753 = zext i1 %t752 to i32 store i32 %t753, ptr %t691 br label %scend161 scend161: %t754 = load i32, ptr %t691 %t755 = icmp ne i32 %t754, 0 %t756 = zext i1 %t755 to i32 store i32 %t756, ptr %t690 br i1 %t755, label %scend163, label %sc162 sc162: %t757 = load ptr, ptr %t1 %t758 = getelementptr inbounds %Cmp_Node, ptr %t757, i32 0, i32 1 %t759 = load ptr, ptr %t758 %t760 = call i32 @lp_str_eq(ptr %t759, ptr @.str110) %t761 = icmp ne i32 %t760, 0 %t762 = zext i1 %t761 to i32 store i32 %t762, ptr %t690 br label %scend163 scend163: %t763 = load i32, ptr %t690 %t764 = icmp ne i32 %t763, 0 %t765 = zext i1 %t764 to i32 store i32 %t765, ptr %t689 br i1 %t764, label %scend165, label %sc164 sc164: %t766 = load ptr, ptr %t1 %t767 = getelementptr inbounds %Cmp_Node, ptr %t766, i32 0, i32 1 %t768 = load ptr, ptr %t767 %t769 = call i32 @lp_str_eq(ptr %t768, ptr @.str111) %t770 = icmp ne i32 %t769, 0 %t771 = zext i1 %t770 to i32 store i32 %t771, ptr %t689 br label %scend165 scend165: %t772 = load i32, ptr %t689 %t773 = icmp ne i32 %t772, 0 %t774 = zext i1 %t773 to i32 store i32 %t774, ptr %t688 br i1 %t773, label %scend167, label %sc166 sc166: %t775 = load ptr, ptr %t1 %t776 = getelementptr inbounds %Cmp_Node, ptr %t775, i32 0, i32 1 %t777 = load ptr, ptr %t776 %t778 = call i32 @lp_str_eq(ptr %t777, ptr @.str112) %t779 = icmp ne i32 %t778, 0 %t780 = zext i1 %t779 to i32 store i32 %t780, ptr %t688 br label %scend167 scend167: %t781 = load i32, ptr %t688 %t782 = icmp ne i32 %t781, 0 %t783 = zext i1 %t782 to i32 store i32 %t783, ptr %t687 br i1 %t782, label %scend169, label %sc168 sc168: %t784 = load ptr, ptr %t1 %t785 = getelementptr inbounds %Cmp_Node, ptr %t784, i32 0, i32 1 %t786 = load ptr, ptr %t785 %t787 = call i32 @lp_str_eq(ptr %t786, ptr @.str113) %t788 = icmp ne i32 %t787, 0 %t789 = zext i1 %t788 to i32 store i32 %t789, ptr %t687 br label %scend169 scend169: %t790 = load i32, ptr %t687 %t791 = icmp ne i32 %t790, 0 %t792 = zext i1 %t791 to i32 store i32 %t792, ptr %t686 br i1 %t791, label %scend171, label %sc170 sc170: %t793 = load ptr, ptr %t1 %t794 = getelementptr inbounds %Cmp_Node, ptr %t793, i32 0, i32 1 %t795 = load ptr, ptr %t794 %t796 = call i32 @lp_str_eq(ptr %t795, ptr @.str114) %t797 = icmp ne i32 %t796, 0 %t798 = zext i1 %t797 to i32 store i32 %t798, ptr %t686 br label %scend171 scend171: %t799 = load i32, ptr %t686 %t800 = icmp ne i32 %t799, 0 %t801 = zext i1 %t800 to i32 store i32 %t801, ptr %t685 br i1 %t800, label %scend173, label %sc172 sc172: %t802 = load ptr, ptr %t1 %t803 = getelementptr inbounds %Cmp_Node, ptr %t802, i32 0, i32 1 %t804 = load ptr, ptr %t803 %t805 = call i32 @lp_str_eq(ptr %t804, ptr @.str115) %t806 = icmp ne i32 %t805, 0 %t807 = zext i1 %t806 to i32 store i32 %t807, ptr %t685 br label %scend173 scend173: %t808 = load i32, ptr %t685 %t809 = icmp ne i32 %t808, 0 %t810 = zext i1 %t809 to i32 store i32 %t810, ptr %t684 br i1 %t809, label %scend175, label %sc174 sc174: %t811 = load ptr, ptr %t1 %t812 = getelementptr inbounds %Cmp_Node, ptr %t811, i32 0, i32 1 %t813 = load ptr, ptr %t812 %t814 = call i32 @lp_str_eq(ptr %t813, ptr @.str116) %t815 = icmp ne i32 %t814, 0 %t816 = zext i1 %t815 to i32 store i32 %t816, ptr %t684 br label %scend175 scend175: %t817 = load i32, ptr %t684 %t818 = icmp ne i32 %t817, 0 %t819 = zext i1 %t818 to i32 store i32 %t819, ptr %t683 br i1 %t818, label %scend177, label %sc176 sc176: %t820 = load ptr, ptr %t1 %t821 = getelementptr inbounds %Cmp_Node, ptr %t820, i32 0, i32 1 %t822 = load ptr, ptr %t821 %t823 = call i32 @lp_str_eq(ptr %t822, ptr @.str117) %t824 = icmp ne i32 %t823, 0 %t825 = zext i1 %t824 to i32 store i32 %t825, ptr %t683 br label %scend177 scend177: %t826 = load i32, ptr %t683 %t827 = icmp ne i32 %t826, 0 %t828 = zext i1 %t827 to i32 store i32 %t828, ptr %t682 br i1 %t827, label %scend179, label %sc178 sc178: %t829 = load ptr, ptr %t1 %t830 = getelementptr inbounds %Cmp_Node, ptr %t829, i32 0, i32 1 %t831 = load ptr, ptr %t830 %t832 = call i32 @lp_str_eq(ptr %t831, ptr @.str118) %t833 = icmp ne i32 %t832, 0 %t834 = zext i1 %t833 to i32 store i32 %t834, ptr %t682 br label %scend179 scend179: %t835 = load i32, ptr %t682 %t836 = icmp ne i32 %t835, 0 %t837 = zext i1 %t836 to i32 store i32 %t837, ptr %t681 br i1 %t836, label %scend181, label %sc180 sc180: %t838 = load ptr, ptr %t1 %t839 = getelementptr inbounds %Cmp_Node, ptr %t838, i32 0, i32 1 %t840 = load ptr, ptr %t839 %t841 = call i32 @lp_str_eq(ptr %t840, ptr @.str119) %t842 = icmp ne i32 %t841, 0 %t843 = zext i1 %t842 to i32 store i32 %t843, ptr %t681 br label %scend181 scend181: %t844 = load i32, ptr %t681 %t845 = icmp ne i32 %t844, 0 %t846 = zext i1 %t845 to i32 store i32 %t846, ptr %t680 br i1 %t845, label %scend183, label %sc182 sc182: %t847 = load ptr, ptr %t1 %t848 = getelementptr inbounds %Cmp_Node, ptr %t847, i32 0, i32 1 %t849 = load ptr, ptr %t848 %t850 = call i32 @lp_str_eq(ptr %t849, ptr @.str120) %t851 = icmp ne i32 %t850, 0 %t852 = zext i1 %t851 to i32 store i32 %t852, ptr %t680 br label %scend183 scend183: %t853 = load i32, ptr %t680 %t854 = icmp ne i32 %t853, 0 %t855 = zext i1 %t854 to i32 store i32 %t855, ptr %t679 br i1 %t854, label %scend185, label %sc184 sc184: %t856 = load ptr, ptr %t1 %t857 = getelementptr inbounds %Cmp_Node, ptr %t856, i32 0, i32 1 %t858 = load ptr, ptr %t857 %t859 = call i32 @lp_str_eq(ptr %t858, ptr @.str121) %t860 = icmp ne i32 %t859, 0 %t861 = zext i1 %t860 to i32 store i32 %t861, ptr %t679 br label %scend185 scend185: %t862 = load i32, ptr %t679 %t863 = icmp ne i32 %t862, 0 %t864 = zext i1 %t863 to i32 store i32 %t864, ptr %t678 br i1 %t863, label %scend187, label %sc186 sc186: %t865 = load ptr, ptr %t1 %t866 = getelementptr inbounds %Cmp_Node, ptr %t865, i32 0, i32 1 %t867 = load ptr, ptr %t866 %t868 = call i32 @lp_str_eq(ptr %t867, ptr @.str122) %t869 = icmp ne i32 %t868, 0 %t870 = zext i1 %t869 to i32 store i32 %t870, ptr %t678 br label %scend187 scend187: %t871 = load i32, ptr %t678 %t872 = icmp ne i32 %t871, 0 %t873 = zext i1 %t872 to i32 store i32 %t873, ptr %t677 br i1 %t872, label %scend189, label %sc188 sc188: %t874 = load ptr, ptr %t1 %t875 = getelementptr inbounds %Cmp_Node, ptr %t874, i32 0, i32 1 %t876 = load ptr, ptr %t875 %t877 = call i32 @lp_str_eq(ptr %t876, ptr @.str123) %t878 = icmp ne i32 %t877, 0 %t879 = zext i1 %t878 to i32 store i32 %t879, ptr %t677 br label %scend189 scend189: %t880 = load i32, ptr %t677 %t881 = icmp ne i32 %t880, 0 %t882 = zext i1 %t881 to i32 store i32 %t882, ptr %t676 br i1 %t881, label %scend191, label %sc190 sc190: %t883 = load ptr, ptr %t1 %t884 = getelementptr inbounds %Cmp_Node, ptr %t883, i32 0, i32 1 %t885 = load ptr, ptr %t884 %t886 = call i32 @lp_str_eq(ptr %t885, ptr @.str124) %t887 = icmp ne i32 %t886, 0 %t888 = zext i1 %t887 to i32 store i32 %t888, ptr %t676 br label %scend191 scend191: %t889 = load i32, ptr %t676 %t890 = icmp ne i32 %t889, 0 %t891 = zext i1 %t890 to i32 store i32 %t891, ptr %t675 br i1 %t890, label %scend193, label %sc192 sc192: %t892 = load ptr, ptr %t1 %t893 = getelementptr inbounds %Cmp_Node, ptr %t892, i32 0, i32 1 %t894 = load ptr, ptr %t893 %t895 = call i32 @lp_str_eq(ptr %t894, ptr @.str125) %t896 = icmp ne i32 %t895, 0 %t897 = zext i1 %t896 to i32 store i32 %t897, ptr %t675 br label %scend193 scend193: %t898 = load i32, ptr %t675 %t899 = icmp ne i32 %t898, 0 %t900 = zext i1 %t899 to i32 store i32 %t900, ptr %t674 br i1 %t899, label %scend195, label %sc194 sc194: %t901 = load ptr, ptr %t1 %t902 = getelementptr inbounds %Cmp_Node, ptr %t901, i32 0, i32 1 %t903 = load ptr, ptr %t902 %t904 = call i32 @lp_str_eq(ptr %t903, ptr @.str126) %t905 = icmp ne i32 %t904, 0 %t906 = zext i1 %t905 to i32 store i32 %t906, ptr %t674 br label %scend195 scend195: %t907 = load i32, ptr %t674 %t908 = icmp ne i32 %t907, 0 %t909 = zext i1 %t908 to i32 store i32 %t909, ptr %t673 br i1 %t908, label %scend197, label %sc196 sc196: %t910 = load ptr, ptr %t1 %t911 = getelementptr inbounds %Cmp_Node, ptr %t910, i32 0, i32 1 %t912 = load ptr, ptr %t911 %t913 = call i32 @lp_str_eq(ptr %t912, ptr @.str127) %t914 = icmp ne i32 %t913, 0 %t915 = zext i1 %t914 to i32 store i32 %t915, ptr %t673 br label %scend197 scend197: %t916 = load i32, ptr %t673 %t917 = icmp ne i32 %t916, 0 %t918 = zext i1 %t917 to i32 store i32 %t918, ptr %t672 br i1 %t917, label %scend199, label %sc198 sc198: %t919 = load ptr, ptr %t1 %t920 = getelementptr inbounds %Cmp_Node, ptr %t919, i32 0, i32 1 %t921 = load ptr, ptr %t920 %t922 = call i32 @lp_str_eq(ptr %t921, ptr @.str128) %t923 = icmp ne i32 %t922, 0 %t924 = zext i1 %t923 to i32 store i32 %t924, ptr %t672 br label %scend199 scend199: %t925 = load i32, ptr %t672 %t926 = icmp ne i32 %t925, 0 %t927 = zext i1 %t926 to i32 store i32 %t927, ptr %t650 br label %scend149 scend149: %t928 = load i32, ptr %t650 %t929 = icmp ne i32 %t928, 0 br i1 %t929, label %then200, label %ifend202 then200: store i32 1, ptr @g_g_uses_input br label %ifend202 ifend202: %t932 = load ptr, ptr %t1 %t933 = getelementptr inbounds %Cmp_Node, ptr %t932, i32 0, i32 4 %t934 = load ptr, ptr %t933 %t935 = getelementptr inbounds %Cmp_Node, ptr %t934, i32 0, i32 0 %t936 = load i32, ptr %t935 %t937 = icmp eq i32 %t936, 33 %t938 = zext i1 %t937 to i32 %t939 = icmp ne i32 %t938, 0 %t940 = zext i1 %t939 to i32 store i32 %t940, ptr %t931 br i1 %t939, label %sc203, label %scend204 sc203: %t941 = load ptr, ptr %t1 %t942 = getelementptr inbounds %Cmp_Node, ptr %t941, i32 0, i32 4 %t943 = load ptr, ptr %t942 %t944 = getelementptr inbounds %Cmp_Node, ptr %t943, i32 0, i32 1 %t945 = load ptr, ptr %t944 %t946 = call i32 @lp_str_eq(ptr %t945, ptr @.str129) %t947 = icmp ne i32 %t946, 0 %t948 = zext i1 %t947 to i32 store i32 %t948, ptr %t931 br label %scend204 scend204: %t949 = load i32, ptr %t931 %t950 = icmp ne i32 %t949, 0 %t951 = zext i1 %t950 to i32 store i32 %t951, ptr %t930 br i1 %t950, label %sc205, label %scend206 sc205: %t955 = load ptr, ptr %t1 %t956 = getelementptr inbounds %Cmp_Node, ptr %t955, i32 0, i32 1 %t957 = load ptr, ptr %t956 %t958 = call i32 @lp_str_eq(ptr %t957, ptr @.str130) %t959 = icmp ne i32 %t958, 0 %t960 = zext i1 %t959 to i32 store i32 %t960, ptr %t954 br i1 %t959, label %scend208, label %sc207 sc207: %t961 = load ptr, ptr %t1 %t962 = getelementptr inbounds %Cmp_Node, ptr %t961, i32 0, i32 1 %t963 = load ptr, ptr %t962 %t964 = call i32 @lp_str_eq(ptr %t963, ptr @.str131) %t965 = icmp ne i32 %t964, 0 %t966 = zext i1 %t965 to i32 store i32 %t966, ptr %t954 br label %scend208 scend208: %t967 = load i32, ptr %t954 %t968 = icmp ne i32 %t967, 0 %t969 = zext i1 %t968 to i32 store i32 %t969, ptr %t953 br i1 %t968, label %scend210, label %sc209 sc209: %t970 = load ptr, ptr %t1 %t971 = getelementptr inbounds %Cmp_Node, ptr %t970, i32 0, i32 1 %t972 = load ptr, ptr %t971 %t973 = call i32 @lp_str_eq(ptr %t972, ptr @.str132) %t974 = icmp ne i32 %t973, 0 %t975 = zext i1 %t974 to i32 store i32 %t975, ptr %t953 br label %scend210 scend210: %t976 = load i32, ptr %t953 %t977 = icmp ne i32 %t976, 0 %t978 = zext i1 %t977 to i32 store i32 %t978, ptr %t952 br i1 %t977, label %scend212, label %sc211 sc211: %t979 = load ptr, ptr %t1 %t980 = getelementptr inbounds %Cmp_Node, ptr %t979, i32 0, i32 1 %t981 = load ptr, ptr %t980 %t982 = call i32 @lp_str_eq(ptr %t981, ptr @.str133) %t983 = icmp ne i32 %t982, 0 %t984 = zext i1 %t983 to i32 store i32 %t984, ptr %t952 br label %scend212 scend212: %t985 = load i32, ptr %t952 %t986 = icmp ne i32 %t985, 0 %t987 = zext i1 %t986 to i32 store i32 %t987, ptr %t930 br label %scend206 scend206: %t988 = load i32, ptr %t930 %t989 = icmp ne i32 %t988, 0 br i1 %t989, label %then213, label %ifend215 then213: store i32 1, ptr @g_g_uses_anim_rt br label %ifend215 ifend215: %t992 = load ptr, ptr %t1 %t993 = getelementptr inbounds %Cmp_Node, ptr %t992, i32 0, i32 4 %t994 = load ptr, ptr %t993 %t995 = getelementptr inbounds %Cmp_Node, ptr %t994, i32 0, i32 0 %t996 = load i32, ptr %t995 %t997 = icmp eq i32 %t996, 33 %t998 = zext i1 %t997 to i32 %t999 = icmp ne i32 %t998, 0 %t1000 = zext i1 %t999 to i32 store i32 %t1000, ptr %t991 br i1 %t999, label %sc216, label %scend217 sc216: %t1001 = load ptr, ptr %t1 %t1002 = getelementptr inbounds %Cmp_Node, ptr %t1001, i32 0, i32 4 %t1003 = load ptr, ptr %t1002 %t1004 = getelementptr inbounds %Cmp_Node, ptr %t1003, i32 0, i32 1 %t1005 = load ptr, ptr %t1004 %t1006 = call i32 @lp_str_eq(ptr %t1005, ptr @.str134) %t1007 = icmp ne i32 %t1006, 0 %t1008 = zext i1 %t1007 to i32 store i32 %t1008, ptr %t991 br label %scend217 scend217: %t1009 = load i32, ptr %t991 %t1010 = icmp ne i32 %t1009, 0 %t1011 = zext i1 %t1010 to i32 store i32 %t1011, ptr %t990 br i1 %t1010, label %sc218, label %scend219 sc218: %t1012 = load ptr, ptr %t1 %t1013 = getelementptr inbounds %Cmp_Node, ptr %t1012, i32 0, i32 1 %t1014 = load ptr, ptr %t1013 %t1015 = call i32 @lp_str_eq(ptr %t1014, ptr @.str135) %t1016 = icmp ne i32 %t1015, 0 %t1017 = zext i1 %t1016 to i32 store i32 %t1017, ptr %t990 br label %scend219 scend219: %t1018 = load i32, ptr %t990 %t1019 = icmp ne i32 %t1018, 0 br i1 %t1019, label %then220, label %ifend222 then220: store i32 1, ptr @g_g_uses_anim_rt br label %ifend222 ifend222: %t1021 = load ptr, ptr %t1 %t1022 = getelementptr inbounds %Cmp_Node, ptr %t1021, i32 0, i32 4 %t1023 = load ptr, ptr %t1022 %t1024 = getelementptr inbounds %Cmp_Node, ptr %t1023, i32 0, i32 0 %t1025 = load i32, ptr %t1024 %t1026 = icmp eq i32 %t1025, 33 %t1027 = zext i1 %t1026 to i32 %t1028 = icmp ne i32 %t1027, 0 %t1029 = zext i1 %t1028 to i32 store i32 %t1029, ptr %t1020 br i1 %t1028, label %sc223, label %scend224 sc223: %t1030 = load ptr, ptr %t1 %t1031 = getelementptr inbounds %Cmp_Node, ptr %t1030, i32 0, i32 4 %t1032 = load ptr, ptr %t1031 %t1033 = getelementptr inbounds %Cmp_Node, ptr %t1032, i32 0, i32 1 %t1034 = load ptr, ptr %t1033 %t1035 = call i32 @lp_str_eq(ptr %t1034, ptr @.str136) %t1036 = icmp ne i32 %t1035, 0 %t1037 = zext i1 %t1036 to i32 store i32 %t1037, ptr %t1020 br label %scend224 scend224: %t1038 = load i32, ptr %t1020 %t1039 = icmp ne i32 %t1038, 0 br i1 %t1039, label %then225, label %ifend227 then225: store i32 1, ptr @g_g_uses_audio br label %ifend227 ifend227: %t1041 = load ptr, ptr %t1 %t1042 = getelementptr inbounds %Cmp_Node, ptr %t1041, i32 0, i32 4 %t1043 = load ptr, ptr %t1042 %t1044 = getelementptr inbounds %Cmp_Node, ptr %t1043, i32 0, i32 0 %t1045 = load i32, ptr %t1044 %t1046 = icmp eq i32 %t1045, 33 %t1047 = zext i1 %t1046 to i32 %t1048 = icmp ne i32 %t1047, 0 %t1049 = zext i1 %t1048 to i32 store i32 %t1049, ptr %t1040 br i1 %t1048, label %sc228, label %scend229 sc228: %t1050 = load ptr, ptr %t1 %t1051 = getelementptr inbounds %Cmp_Node, ptr %t1050, i32 0, i32 4 %t1052 = load ptr, ptr %t1051 %t1053 = getelementptr inbounds %Cmp_Node, ptr %t1052, i32 0, i32 1 %t1054 = load ptr, ptr %t1053 %t1055 = call i32 @lp_str_eq(ptr %t1054, ptr @.str137) %t1056 = icmp ne i32 %t1055, 0 %t1057 = zext i1 %t1056 to i32 store i32 %t1057, ptr %t1040 br label %scend229 scend229: %t1058 = load i32, ptr %t1040 %t1059 = icmp ne i32 %t1058, 0 br i1 %t1059, label %then230, label %ifend232 then230: store i32 1, ptr @g_g_uses_http br label %ifend232 ifend232: %t1061 = load ptr, ptr %t1 %t1062 = getelementptr inbounds %Cmp_Node, ptr %t1061, i32 0, i32 4 %t1063 = load ptr, ptr %t1062 %t1064 = getelementptr inbounds %Cmp_Node, ptr %t1063, i32 0, i32 0 %t1065 = load i32, ptr %t1064 %t1066 = icmp eq i32 %t1065, 33 %t1067 = zext i1 %t1066 to i32 %t1068 = icmp ne i32 %t1067, 0 %t1069 = zext i1 %t1068 to i32 store i32 %t1069, ptr %t1060 br i1 %t1068, label %sc233, label %scend234 sc233: %t1070 = load ptr, ptr %t1 %t1071 = getelementptr inbounds %Cmp_Node, ptr %t1070, i32 0, i32 4 %t1072 = load ptr, ptr %t1071 %t1073 = getelementptr inbounds %Cmp_Node, ptr %t1072, i32 0, i32 1 %t1074 = load ptr, ptr %t1073 %t1075 = call i32 @lp_str_eq(ptr %t1074, ptr @.str138) %t1076 = icmp ne i32 %t1075, 0 %t1077 = zext i1 %t1076 to i32 store i32 %t1077, ptr %t1060 br label %scend234 scend234: %t1078 = load i32, ptr %t1060 %t1079 = icmp ne i32 %t1078, 0 br i1 %t1079, label %then235, label %ifend237 then235: store i32 1, ptr @g_g_uses_gl br label %ifend237 ifend237: %t1082 = load ptr, ptr %t1 %t1083 = getelementptr inbounds %Cmp_Node, ptr %t1082, i32 0, i32 4 %t1084 = load ptr, ptr %t1083 %t1085 = getelementptr inbounds %Cmp_Node, ptr %t1084, i32 0, i32 0 %t1086 = load i32, ptr %t1085 %t1087 = icmp eq i32 %t1086, 33 %t1088 = zext i1 %t1087 to i32 %t1089 = icmp ne i32 %t1088, 0 %t1090 = zext i1 %t1089 to i32 store i32 %t1090, ptr %t1081 br i1 %t1089, label %sc238, label %scend239 sc238: %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 1 %t1095 = load ptr, ptr %t1094 %t1096 = call i32 @lp_str_eq(ptr %t1095, ptr @.str139) %t1097 = icmp ne i32 %t1096, 0 %t1098 = zext i1 %t1097 to i32 store i32 %t1098, ptr %t1081 br label %scend239 scend239: %t1099 = load i32, ptr %t1081 %t1100 = icmp ne i32 %t1099, 0 %t1101 = zext i1 %t1100 to i32 store i32 %t1101, ptr %t1080 br i1 %t1100, label %sc240, label %scend241 sc240: %t1107 = load ptr, ptr %t1 %t1108 = getelementptr inbounds %Cmp_Node, ptr %t1107, i32 0, i32 1 %t1109 = load ptr, ptr %t1108 %t1110 = call i32 @lp_str_eq(ptr %t1109, ptr @.str140) %t1111 = icmp ne i32 %t1110, 0 %t1112 = zext i1 %t1111 to i32 store i32 %t1112, ptr %t1106 br i1 %t1111, label %scend243, label %sc242 sc242: %t1113 = load ptr, ptr %t1 %t1114 = getelementptr inbounds %Cmp_Node, ptr %t1113, i32 0, i32 1 %t1115 = load ptr, ptr %t1114 %t1116 = call i32 @lp_str_eq(ptr %t1115, ptr @.str141) %t1117 = icmp ne i32 %t1116, 0 %t1118 = zext i1 %t1117 to i32 store i32 %t1118, ptr %t1106 br label %scend243 scend243: %t1119 = load i32, ptr %t1106 %t1120 = icmp ne i32 %t1119, 0 %t1121 = zext i1 %t1120 to i32 store i32 %t1121, ptr %t1105 br i1 %t1120, label %scend245, label %sc244 sc244: %t1122 = load ptr, ptr %t1 %t1123 = getelementptr inbounds %Cmp_Node, ptr %t1122, i32 0, i32 1 %t1124 = load ptr, ptr %t1123 %t1125 = call i32 @lp_str_eq(ptr %t1124, ptr @.str142) %t1126 = icmp ne i32 %t1125, 0 %t1127 = zext i1 %t1126 to i32 store i32 %t1127, ptr %t1105 br label %scend245 scend245: %t1128 = load i32, ptr %t1105 %t1129 = icmp ne i32 %t1128, 0 %t1130 = zext i1 %t1129 to i32 store i32 %t1130, ptr %t1104 br i1 %t1129, label %scend247, label %sc246 sc246: %t1131 = load ptr, ptr %t1 %t1132 = getelementptr inbounds %Cmp_Node, ptr %t1131, i32 0, i32 1 %t1133 = load ptr, ptr %t1132 %t1134 = call i32 @lp_str_eq(ptr %t1133, ptr @.str143) %t1135 = icmp ne i32 %t1134, 0 %t1136 = zext i1 %t1135 to i32 store i32 %t1136, ptr %t1104 br label %scend247 scend247: %t1137 = load i32, ptr %t1104 %t1138 = icmp ne i32 %t1137, 0 %t1139 = zext i1 %t1138 to i32 store i32 %t1139, ptr %t1103 br i1 %t1138, label %scend249, label %sc248 sc248: %t1140 = load ptr, ptr %t1 %t1141 = getelementptr inbounds %Cmp_Node, ptr %t1140, i32 0, i32 1 %t1142 = load ptr, ptr %t1141 %t1143 = call i32 @lp_str_eq(ptr %t1142, ptr @.str144) %t1144 = icmp ne i32 %t1143, 0 %t1145 = zext i1 %t1144 to i32 store i32 %t1145, ptr %t1103 br label %scend249 scend249: %t1146 = load i32, ptr %t1103 %t1147 = icmp ne i32 %t1146, 0 %t1148 = zext i1 %t1147 to i32 store i32 %t1148, ptr %t1102 br i1 %t1147, label %scend251, label %sc250 sc250: %t1149 = load ptr, ptr %t1 %t1150 = getelementptr inbounds %Cmp_Node, ptr %t1149, i32 0, i32 1 %t1151 = load ptr, ptr %t1150 %t1152 = call i32 @lp_str_eq(ptr %t1151, ptr @.str145) %t1153 = icmp ne i32 %t1152, 0 %t1154 = zext i1 %t1153 to i32 store i32 %t1154, ptr %t1102 br label %scend251 scend251: %t1155 = load i32, ptr %t1102 %t1156 = icmp ne i32 %t1155, 0 %t1157 = zext i1 %t1156 to i32 store i32 %t1157, ptr %t1080 br label %scend241 scend241: %t1158 = load i32, ptr %t1080 %t1159 = icmp ne i32 %t1158, 0 br i1 %t1159, label %then252, label %ifend254 then252: store i32 1, ptr @g_g_uses_tween_rt br label %ifend254 ifend254: %t1161 = load ptr, ptr %t1 %t1162 = getelementptr inbounds %Cmp_Node, ptr %t1161, i32 0, i32 4 %t1163 = load ptr, ptr %t1162 %t1164 = getelementptr inbounds %Cmp_Node, ptr %t1163, i32 0, i32 0 %t1165 = load i32, ptr %t1164 %t1166 = icmp eq i32 %t1165, 33 %t1167 = zext i1 %t1166 to i32 %t1168 = icmp ne i32 %t1167, 0 %t1169 = zext i1 %t1168 to i32 store i32 %t1169, ptr %t1160 br i1 %t1168, label %sc255, label %scend256 sc255: %t1170 = load ptr, ptr %t1 %t1171 = getelementptr inbounds %Cmp_Node, ptr %t1170, i32 0, i32 4 %t1172 = load ptr, ptr %t1171 %t1173 = getelementptr inbounds %Cmp_Node, ptr %t1172, i32 0, i32 1 %t1174 = load ptr, ptr %t1173 %t1175 = call i32 @lp_str_eq(ptr %t1174, ptr @.str146) %t1176 = icmp ne i32 %t1175, 0 %t1177 = zext i1 %t1176 to i32 store i32 %t1177, ptr %t1160 br label %scend256 scend256: %t1178 = load i32, ptr %t1160 %t1179 = icmp ne i32 %t1178, 0 br i1 %t1179, label %then257, label %ifend259 then257: store i32 1, ptr @g_g_uses_fx br label %ifend259 ifend259: br label %ifend5 else4: %t1180 = call i32 @fn_is_op(ptr @.str147) %t1181 = icmp ne i32 %t1180, 0 br i1 %t1181, label %then260, label %else261 then260: %t1182 = load i32, ptr @g_pi %t1183 = add i32 %t1182, 1 store i32 %t1183, ptr @g_pi %t1184 = call ptr @fn_expr() store ptr %t1184, ptr %t1185 %t1186 = call i32 @fn_is_op(ptr @.str148) %t1187 = icmp ne i32 %t1186, 0 br i1 %t1187, label %then263, label %else264 then263: %t1188 = load i32, ptr @g_pi %t1189 = add i32 %t1188, 1 store i32 %t1189, ptr @g_pi %t1190 = call ptr @fn_node(i32 44) store ptr %t1190, ptr %t1191 %t1192 = load ptr, ptr %t1191 %t1193 = getelementptr inbounds %Cmp_Node, ptr %t1192, i32 0, i32 4 %t1194 = load ptr, ptr %t1 store ptr %t1194, ptr %t1193 %t1195 = load ptr, ptr %t1191 %t1196 = getelementptr inbounds %Cmp_Node, ptr %t1195, i32 0, i32 5 %t1197 = load ptr, ptr %t1185 store ptr %t1197, ptr %t1196 %t1198 = load ptr, ptr %t1191 %t1199 = getelementptr inbounds %Cmp_Node, ptr %t1198, i32 0, i32 6 %t1200 = call ptr @fn_expr() store ptr %t1200, ptr %t1199 call void @fn_eat_op(ptr @.str149) %t1201 = load ptr, ptr %t1191 store ptr %t1201, ptr %t1 br label %ifend265 else264: %t1202 = call ptr @fn_node(i32 36) store ptr %t1202, ptr %t1203 %t1204 = load ptr, ptr %t1203 %t1205 = getelementptr inbounds %Cmp_Node, ptr %t1204, i32 0, i32 4 %t1206 = load ptr, ptr %t1 store ptr %t1206, ptr %t1205 %t1207 = load ptr, ptr %t1203 %t1208 = getelementptr inbounds %Cmp_Node, ptr %t1207, i32 0, i32 5 %t1209 = load ptr, ptr %t1185 store ptr %t1209, ptr %t1208 call void @fn_eat_op(ptr @.str150) %t1210 = load ptr, ptr %t1203 store ptr %t1210, ptr %t1 br label %ifend265 ifend265: br label %ifend262 else261: %t1211 = call i32 @fn_is_op(ptr @.str151) %t1212 = icmp ne i32 %t1211, 0 br i1 %t1212, label %then266, label %else267 then266: %t1213 = call ptr @fn_node(i32 34) store ptr %t1213, ptr %t1214 %t1215 = load ptr, ptr %t1214 %t1216 = getelementptr inbounds %Cmp_Node, ptr %t1215, i32 0, i32 4 %t1217 = load ptr, ptr %t1 store ptr %t1217, ptr %t1216 %t1218 = load ptr, ptr %t1214 %t1219 = getelementptr inbounds %Cmp_Node, ptr %t1218, i32 0, i32 8 %t1220 = load ptr, ptr @g_toks %t1221 = getelementptr inbounds %LSlice, ptr %t1220, i32 0, i32 0 %t1222 = load ptr, ptr %t1221 %t1223 = load i32, ptr @g_pi %t1224 = getelementptr inbounds ptr, ptr %t1222, i32 %t1223 %t1225 = load ptr, ptr %t1224 %t1226 = getelementptr inbounds %Cmp_Tok, ptr %t1225, i32 0, i32 3 %t1227 = load i32, ptr %t1226 store i32 %t1227, ptr %t1219 %t1228 = load ptr, ptr %t1214 call void @fn_args_call(ptr %t1228) %t1229 = load ptr, ptr %t1214 store ptr %t1229, ptr %t1 %t1231 = load ptr, ptr %t1214 %t1232 = getelementptr inbounds %Cmp_Node, ptr %t1231, i32 0, i32 4 %t1233 = load ptr, ptr %t1232 %t1234 = getelementptr inbounds %Cmp_Node, ptr %t1233, i32 0, i32 0 %t1235 = load i32, ptr %t1234 %t1236 = icmp eq i32 %t1235, 33 %t1237 = zext i1 %t1236 to i32 %t1238 = icmp ne i32 %t1237, 0 %t1239 = zext i1 %t1238 to i32 store i32 %t1239, ptr %t1230 br i1 %t1238, label %sc269, label %scend270 sc269: %t1241 = load ptr, ptr %t1214 %t1242 = getelementptr inbounds %Cmp_Node, ptr %t1241, i32 0, i32 4 %t1243 = load ptr, ptr %t1242 %t1244 = getelementptr inbounds %Cmp_Node, ptr %t1243, i32 0, i32 1 %t1245 = load ptr, ptr %t1244 %t1246 = call i32 @lp_str_eq(ptr %t1245, ptr @.str152) %t1247 = icmp ne i32 %t1246, 0 %t1248 = zext i1 %t1247 to i32 store i32 %t1248, ptr %t1240 br i1 %t1247, label %scend272, label %sc271 sc271: %t1249 = load ptr, ptr %t1214 %t1250 = getelementptr inbounds %Cmp_Node, ptr %t1249, i32 0, i32 4 %t1251 = load ptr, ptr %t1250 %t1252 = getelementptr inbounds %Cmp_Node, ptr %t1251, i32 0, i32 1 %t1253 = load ptr, ptr %t1252 %t1254 = call i32 @lp_str_eq(ptr %t1253, ptr @.str153) %t1255 = icmp ne i32 %t1254, 0 %t1256 = zext i1 %t1255 to i32 store i32 %t1256, ptr %t1240 br label %scend272 scend272: %t1257 = load i32, ptr %t1240 %t1258 = icmp ne i32 %t1257, 0 %t1259 = zext i1 %t1258 to i32 store i32 %t1259, ptr %t1230 br label %scend270 scend270: %t1260 = load i32, ptr %t1230 %t1261 = icmp ne i32 %t1260, 0 br i1 %t1261, label %then273, label %ifend275 then273: %t1262 = load ptr, ptr %t1214 %t1263 = getelementptr inbounds %Cmp_Node, ptr %t1262, i32 0, i32 4 %t1264 = load ptr, ptr %t1263 %t1265 = getelementptr inbounds %Cmp_Node, ptr %t1264, i32 0, i32 1 %t1266 = load ptr, ptr %t1265 call void @fn_warn_draw_sprite(ptr %t1266) br label %ifend275 ifend275: br label %ifend268 else267: br label %wend2 ifend268: br label %ifend262 ifend262: br label %ifend5 ifend5: br label %wcond0 wend2: %t1267 = load ptr, ptr %t1 store ptr %t1267, ptr %retval br label %ret ret: %t1268 = load ptr, ptr %retval ret ptr %t1268 } 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 @.str154) %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 @.str155, 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 @.str156) %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 @.str157, 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 @.str158) %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 @.str159, 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 @.str160) %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 @.str161) %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 @.str162) %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 @.str163) %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 @.str164) %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 @.str165) %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 @.str166) %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 @.str167) %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 @.str168) %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 @.str169) %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 @.str170) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t6 br i1 %t8, label %scend4, label %sc3 sc3: %t10 = call i32 @fn_is_op(ptr @.str171) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 br label %scend4 scend4: %t13 = load i32, ptr %t6 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t5 br i1 %t14, label %scend6, label %sc5 sc5: %t16 = call i32 @fn_is_op(ptr @.str172) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 br label %scend6 scend6: %t19 = load i32, ptr %t5 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t4 br i1 %t20, label %scend8, label %sc7 sc7: %t22 = call i32 @fn_is_op(ptr @.str173) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 br label %scend8 scend8: %t25 = load i32, ptr %t4 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t3 br i1 %t26, label %scend10, label %sc9 sc9: %t28 = call i32 @fn_is_op(ptr @.str174) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t3 br label %scend10 scend10: %t31 = load i32, ptr %t3 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t2 br i1 %t32, label %scend12, label %sc11 sc11: %t34 = call i32 @fn_is_op(ptr @.str175) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t2 br label %scend12 scend12: %t37 = load i32, ptr %t2 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %wbody1, label %wend2 wbody1: %t39 = load ptr, ptr @g_toks %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = load i32, ptr @g_pi %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %t47 %t48 = load i32, ptr @g_pi %t49 = add i32 %t48, 1 store i32 %t49, ptr @g_pi %t50 = load ptr, ptr %t47 %t51 = load ptr, ptr %t1 %t52 = call ptr @fn_p_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 @.str176) %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 @.str177, 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 @.str178) %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 @.str179, 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 @.str180) %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 @.str181) %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 @.str182) %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 @.str183) %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 @.str184) %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 @.str185) %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 @.str186) %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 @.str187) %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 @.str188) br label %ifend13 ifend13: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str189) %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 @.str190) %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 @.str191) %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 @.str192) %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 @.str193) %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 @.str194) %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 @.str195) %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 @.str196) %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 @.str197) %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 @.str198) %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 @.str199) %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 @.str200) %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 @.str201) %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 @.str202) %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 @.str203) %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 @.str204) %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 @.str205) %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 @.str206) 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 @.str207) %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 @.str208) %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 @.str209) %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 @.str210) %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 @.str211) %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 @.str212) %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 @.str213) %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 @.str214) %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 @.str215) %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 @.str216) %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 @.str217, 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 @.str218) %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 @.str219, 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 @.str220) %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 @.str221) %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 @.str222) %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 @.str223) 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 @.str224) %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 @.str225) %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 @.str226) %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 @.str227) 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 @.str228) %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 @.str229) %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 @.str230) %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 @.str231) %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 @.str232) 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 @.str233) %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 @.str234) %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 @.str235) call void @fn_skipnl() %t497 = call i32 @fn_is_op(ptr @.str236) %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 @.str237) %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 @.str238) %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 @.str239) %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 @.str240) %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 @.str241) %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 @.str242) %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 @.str243) %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 @.str244) %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 @.str245) %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 @.str246) %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 @.str247) %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 @.str248) %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 @.str249) %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 @.str250) %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 @.str251) %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 @.str252) %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 @.str253) %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 @.str254) %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 @.str255) %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 @.str256) %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 @.str257) %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 @.str258) %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 @.str259) %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 @.str260) %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 @.str261) %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 @.str262) %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 @.str263) %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 @.str264) %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 @.str265) %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 @.str266) %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 @.str267) %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 @.str268) %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 @.str269) %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 @.str270) %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 @.str271) %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 @.str272) %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 @.str273) %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 @.str274) %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 @.str275) %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 @.str276) %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 @.str277) %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 @.str278) %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 @.str279) %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 @.str280) %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 @.str281) %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 @.str282) %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 @.str283) %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 @.str284) %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 @.str285) %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 @.str286, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str287) call void @fn_perr(ptr %t16) br label %ifend2 ifend2: br label %wcond3 wcond3: %t17 = call i32 @fn_is_op(ptr @.str288) %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 @.str289) %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 @.str290) %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 @.str291) %t55 = load ptr, ptr %t3 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 store ptr @.str292, ptr %t56 %t57 = call i32 @fn_is_op(ptr @.str293) %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 @.str294) 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 @.str295) %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 @.str296) %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 @.str297) %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 @.str298) %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 @.str299) 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 @.str300) %t106 = load ptr, ptr %t3 %t107 = call ptr @fn_ns_lower(ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str301) 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 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 = icmp eq i32 %t16, 47 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load i32, ptr %t3 store i32 %t20, ptr %t2 br label %ifend5 ifend5: %t21 = load i32, ptr %t3 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t3 br label %wcond0 wend2: %t23 = load i32, ptr %t2 %t24 = icmp slt i32 %t23, 0 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %ifend8 then6: store ptr @.str302, ptr %retval br label %ret ifend8: %t27 = load ptr, ptr %t0 %t28 = load i32, ptr %t2 %t29 = add i32 %t28, 1 %t30 = call ptr @lp_str_slice(ptr %t27, i32 0, i32 %t29) store ptr %t30, ptr %retval br label %ret ret: %t31 = load ptr, ptr %retval ret ptr %t31 } 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 = icmp eq i32 %t5, 47 %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 %t0 %t11 = load ptr, ptr %t1 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_ludic_home() { entry: %retval = alloca ptr %t1 = alloca ptr %t12 = alloca ptr %t30 = alloca i32 %t0 = call ptr @getenv(ptr @.str303) 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_ensure_slash(ptr %t6) store ptr %t7, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr @L_argv %t9 = getelementptr ptr, ptr %t8, i32 0 %t10 = load ptr, ptr %t9 %t11 = call ptr @fn_dir_of(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = call i64 @strlen(ptr %t13) %t15 = trunc i64 %t14 to i32 %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: %t19 = load ptr, ptr @L_argv %t20 = getelementptr ptr, ptr %t19, i32 0 %t21 = load ptr, ptr %t20 %t22 = call ptr @fn_base_name(ptr %t21) %t23 = call ptr @fn_path_lookup_dir(ptr %t22) store ptr %t23, ptr %t12 br label %ifend5 ifend5: %t24 = load ptr, ptr %t12 %t25 = call i64 @strlen(ptr %t24) %t26 = trunc i64 %t25 to i32 %t27 = icmp eq i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: store ptr @.str304, ptr %retval br label %ret ifend8: %t31 = load ptr, ptr %t12 %t32 = call i64 @strlen(ptr %t31) %t33 = trunc i64 %t32 to i32 %t34 = icmp sge i32 %t33, 4 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t30 br i1 %t36, label %sc9, label %scend10 sc9: %t38 = load ptr, ptr %t12 %t39 = load ptr, ptr %t12 %t40 = call i64 @strlen(ptr %t39) %t41 = trunc i64 %t40 to i32 %t42 = sub i32 %t41, 4 %t43 = load ptr, ptr %t12 %t44 = call i64 @strlen(ptr %t43) %t45 = trunc i64 %t44 to i32 %t46 = call ptr @lp_str_slice(ptr %t38, i32 %t42, i32 %t45) %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str305) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t30 br label %scend10 scend10: %t50 = load i32, ptr %t30 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then11, label %ifend13 then11: %t52 = load ptr, ptr %t12 %t53 = load ptr, ptr %t12 %t54 = call i64 @strlen(ptr %t53) %t55 = trunc i64 %t54 to i32 %t56 = sub i32 %t55, 4 %t57 = call ptr @lp_str_slice(ptr %t52, i32 0, i32 %t56) store ptr %t57, ptr %retval br label %ret ifend13: %t58 = load ptr, ptr %t12 store ptr %t58, ptr %retval br label %ret ret: %t59 = load ptr, ptr %retval ret ptr %t59 } define ptr @fn_path_lookup_dir(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t10 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 %t18 = alloca i32 %t46 = alloca ptr %t51 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = call ptr @getenv(ptr @.str306) 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 @.str307, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t2 %t8 = call i64 @strlen(ptr %t7) %t9 = trunc i64 %t8 to i32 store i32 %t9, ptr %t10 store i32 0, ptr %t11 store i32 0, ptr %t12 br label %wcond3 wcond3: %t13 = load i32, ptr %t12 %t14 = load i32, ptr %t10 %t15 = icmp sle i32 %t13, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody4, label %wend5 wbody4: %t19 = load i32, ptr %t12 %t20 = load i32, ptr %t10 %t21 = icmp eq i32 %t19, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t18 br i1 %t23, label %scend7, label %sc6 sc6: %t25 = load ptr, ptr %t2 %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 eq i32 %t29, 58 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t18 br label %scend7 scend7: %t34 = load i32, ptr %t18 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then8, label %ifend10 then8: %t36 = load i32, ptr %t12 %t37 = load i32, ptr %t11 %t38 = icmp sgt i32 %t36, %t37 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then11, label %ifend13 then11: %t41 = load ptr, ptr %t2 %t42 = load i32, ptr %t11 %t43 = load i32, ptr %t12 %t44 = call ptr @lp_str_slice(ptr %t41, i32 %t42, i32 %t43) %t45 = call ptr @fn_ensure_slash(ptr %t44) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 %t48 = load ptr, ptr %t0 %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) %t50 = call ptr @fopen(ptr %t49, ptr @.str308) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t51 %t53 = icmp ne ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then14, label %ifend16 then14: %t56 = load ptr, ptr %t51 call i32 @fclose(ptr %t56) %t57 = load ptr, ptr %t46 store ptr %t57, ptr %retval br label %ret ifend16: br label %ifend13 ifend13: %t58 = load i32, ptr %t12 %t59 = add i32 %t58, 1 store i32 %t59, ptr %t11 br label %ifend10 ifend10: %t60 = load i32, ptr %t12 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t12 br label %wcond3 wend5: store ptr @.str309, ptr %retval br label %ret ret: %t62 = load ptr, ptr %retval ret ptr %t62 } 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 @.str310, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str311) 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 %t25 = alloca ptr %t117 = alloca i32 %t143 = alloca ptr %t153 = alloca ptr %t182 = alloca ptr %t194 = alloca ptr %t197 = alloca i32 %t241 = alloca ptr %t293 = alloca ptr %t414 = alloca ptr %t531 = 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 br label %wcond0 wcond0: %t20 = call i32 @fn_is_op(ptr @.str312) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load i32, ptr @g_pi %t23 = add i32 %t22, 1 store i32 %t23, ptr @g_pi %t24 = call ptr @fn_eat_id() store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str313) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %else4 then3: store i32 1, ptr %t0 br label %ifend5 else4: %t29 = load ptr, ptr %t25 %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str314) %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then6, label %else7 then6: store i32 1, ptr %t10 br label %ifend8 else7: %t32 = load ptr, ptr %t25 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str315) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then9, label %else10 then9: call void @fn_eat_op(ptr @.str316) %t35 = call ptr @fn_eat_id() store ptr %t35, ptr %t9 call void @fn_eat_op(ptr @.str317) br label %ifend11 else10: %t36 = load ptr, ptr %t25 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str318) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then12, label %else13 then12: %t39 = call ptr @fn_parse_queries_anno() store ptr %t39, ptr %t1 br label %ifend14 else13: %t40 = load ptr, ptr %t25 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str319) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then15, label %else16 then15: call void @fn_eat_op(ptr @.str320) %t43 = call ptr @fn_eat_id() store ptr %t43, ptr %t2 call void @fn_eat_op(ptr @.str321) br label %ifend17 else16: %t44 = load ptr, ptr %t25 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str322) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then18, label %else19 then18: call void @fn_eat_op(ptr @.str323) %t47 = call ptr @fn_eat_id() store ptr %t47, ptr %t3 %t48 = call i32 @fn_is_op(ptr @.str324) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then21, label %ifend23 then21: %t50 = load i32, ptr @g_pi %t51 = add i32 %t50, 1 store i32 %t51, ptr @g_pi %t52 = call ptr @fn_eat_id() call void @fn_eat_op(ptr @.str325) %t53 = call ptr @fn_eat_id() store ptr %t53, ptr %t4 br label %ifend23 ifend23: call void @fn_eat_op(ptr @.str326) br label %ifend20 else19: %t54 = load ptr, ptr %t25 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str327) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then24, label %else25 then24: call void @fn_eat_op(ptr @.str328) %t57 = call ptr @fn_eat_id() store ptr %t57, ptr %t5 call void @fn_eat_op(ptr @.str329) br label %ifend26 else25: %t58 = load ptr, ptr %t25 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str330) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then27, label %else28 then27: call void @fn_eat_op(ptr @.str331) %t61 = call ptr @fn_eat_id() store ptr %t61, ptr %t6 call void @fn_eat_op(ptr @.str332) br label %ifend29 else28: %t62 = load ptr, ptr %t25 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str333) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then30, label %else31 then30: call void @fn_eat_op(ptr @.str334) %t65 = call ptr @fn_eat_id() store ptr %t65, ptr %t7 call void @fn_eat_op(ptr @.str335) br label %ifend32 else31: %t66 = load ptr, ptr %t25 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str336) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then33, label %else34 then33: call void @fn_eat_op(ptr @.str337) %t69 = call ptr @fn_eat_id() store ptr %t69, ptr %t8 call void @fn_eat_op(ptr @.str338) br label %ifend35 else34: %t70 = load ptr, ptr %t25 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str339) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then36, label %else37 then36: store ptr @.str340, ptr %t11 br label %ifend38 else37: %t73 = load ptr, ptr %t25 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str341) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then39, label %else40 then39: store ptr @.str342, ptr %t11 br label %ifend41 else40: %t76 = load ptr, ptr %t25 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str343) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then42, label %else43 then42: store i32 1, ptr %t12 br label %ifend44 else43: %t79 = load ptr, ptr %t25 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str344) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then45, label %else46 then45: store i32 1, ptr %t13 br label %ifend47 else46: %t82 = load ptr, ptr %t25 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str345) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then48, label %else49 then48: store ptr @.str346, ptr %t14 br label %ifend50 else49: %t85 = load ptr, ptr %t25 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str347) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then51, label %else52 then51: store ptr @.str348, ptr %t14 br label %ifend53 else52: %t88 = load ptr, ptr %t25 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str349) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then54, label %else55 then54: store ptr @.str350, ptr %t15 br label %ifend56 else55: %t91 = load ptr, ptr %t25 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str351) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then57, label %else58 then57: store ptr @.str352, ptr %t15 br label %ifend59 else58: %t94 = load ptr, ptr %t25 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str353) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then60, label %else61 then60: store ptr @.str354, ptr %t16 %t97 = call i32 @fn_is_op(ptr @.str355) %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then63, label %ifend65 then63: %t99 = load i32, ptr @g_pi %t100 = add i32 %t99, 1 store i32 %t100, ptr @g_pi %t101 = call ptr @fn_eat_id() store ptr %t101, ptr %t16 call void @fn_eat_op(ptr @.str356) br label %ifend65 ifend65: br label %ifend62 else61: %t102 = load ptr, ptr %t25 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str357) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then66, label %else67 then66: call void @fn_eat_op(ptr @.str358) %t105 = call ptr @fn_eat_id() store ptr %t105, ptr %t17 call void @fn_eat_op(ptr @.str359) %t106 = call ptr @fn_eat_id() store ptr %t106, ptr %t18 call void @fn_eat_op(ptr @.str360) br label %ifend68 else67: %t107 = load ptr, ptr %t25 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str361) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then69, label %else70 then69: call void @fn_eat_op(ptr @.str362) %t110 = call ptr @fn_eat_id() store ptr %t110, ptr %t19 call void @fn_eat_op(ptr @.str363) br label %ifend71 else70: %t111 = load ptr, ptr %t25 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str364) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then72, label %else73 then72: call void @fn_eat_op(ptr @.str365) %t114 = call ptr @fn_expr() store ptr %t114, ptr @g_g_clear_color store i32 1, ptr @g_g_has_clear_color call void @fn_eat_op(ptr @.str366) br label %ifend74 else73: %t115 = call i32 @fn_is_op(ptr @.str367) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then75, label %ifend77 then75: store i32 0, ptr %t117 br label %wcond78 wcond78: %t118 = icmp ne i32 1, 0 br i1 %t118, label %wbody79, label %wend80 wbody79: %t119 = call i32 @fn_is_op(ptr @.str368) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then81, label %ifend83 then81: %t121 = load i32, ptr %t117 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t117 br label %ifend83 ifend83: %t123 = call i32 @fn_is_op(ptr @.str369) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then84, label %ifend86 then84: %t125 = load i32, ptr %t117 %t126 = sub i32 %t125, 1 store i32 %t126, ptr %t117 br label %ifend86 ifend86: %t127 = load i32, ptr @g_pi %t128 = add i32 %t127, 1 store i32 %t128, ptr @g_pi %t129 = load i32, ptr %t117 %t130 = icmp eq i32 %t129, 0 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then87, label %ifend89 then87: br label %wend80 ifend89: br label %wcond78 wend80: 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: %t133 = call i32 @fn_is_id(ptr @.str370) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then90, label %ifend92 then90: %t135 = load i32, ptr @g_pi %t136 = add i32 %t135, 1 store i32 %t136, ptr @g_pi %t137 = load ptr, ptr @g_toks %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = load i32, ptr @g_pi %t141 = getelementptr inbounds ptr, ptr %t139, i32 %t140 %t142 = load ptr, ptr %t141 store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %Cmp_Tok, ptr %t144, i32 0, i32 0 %t146 = load i32, ptr %t145 %t147 = icmp ne i32 %t146, 2 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then93, label %ifend95 then93: call void @fn_perr(ptr @.str371) br label %ifend95 ifend95: %t150 = load ptr, ptr %t143 %t151 = getelementptr inbounds %Cmp_Tok, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 store ptr %t152, ptr %t153 %t154 = load i32, ptr @g_pi %t155 = add i32 %t154, 1 store i32 %t155, ptr @g_pi %t156 = load ptr, ptr %t153 call void @fn_do_import(ptr %t156) br label %ret ifend92: %t157 = call i32 @fn_is_id(ptr @.str372) %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then96, label %ifend98 then96: %t159 = load ptr, ptr @g_prog %t160 = call ptr @fn_parse_enum() %t161 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t162 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 2 %t163 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t164 = load i32, ptr %t161 %t165 = load i32, ptr %t162 %t166 = icmp sge i32 %t164, %t165 br i1 %t166, label %grow99, label %put100 grow99: %t167 = mul i32 %t165, 2 %t168 = icmp eq i32 %t165, 0 %t169 = select i1 %t168, i32 8, i32 %t167 %t170 = getelementptr ptr, ptr null, i32 1 %t171 = ptrtoint ptr %t170 to i64 %t172 = zext i32 %t169 to i64 %t173 = mul i64 %t172, %t171 %t174 = load ptr, ptr %t163 %t175 = call ptr @realloc(ptr %t174, i64 %t173) store ptr %t175, ptr %t163 store i32 %t169, ptr %t162 br label %put100 put100: %t176 = load ptr, ptr %t163 %t177 = getelementptr inbounds ptr, ptr %t176, i32 %t164 store ptr %t160, ptr %t177 %t178 = add i32 %t164, 1 store i32 %t178, ptr %t161 br label %ret ifend98: %t179 = call i32 @fn_is_id(ptr @.str373) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then101, label %ifend103 then101: %t181 = call ptr @fn_parse_event() store ptr %t181, ptr %t182 %t183 = load ptr, ptr %t15 %t184 = icmp ne ptr %t183, null %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %then104, label %ifend106 then104: %t187 = load ptr, ptr %t182 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 3 %t189 = load ptr, ptr %t15 store ptr %t189, ptr %t188 br label %ifend106 ifend106: %t190 = load ptr, ptr %t182 call void @fn_register_event(ptr %t190) br label %ret ifend103: %t191 = call i32 @fn_is_id(ptr @.str374) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then107, label %ifend109 then107: %t193 = call ptr @fn_parse_component() store ptr %t193, ptr %t194 %t195 = load i32, ptr %t12 %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then110, label %ifend112 then110: store i32 0, ptr %t197 br label %wcond113 wcond113: %t198 = load i32, ptr %t197 %t199 = load ptr, ptr %t194 %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 1 %t203 = load i32, ptr %t202 %t204 = icmp slt i32 %t198, %t203 %t205 = zext i1 %t204 to i32 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %wbody114, label %wend115 wbody114: %t207 = load ptr, ptr %t194 %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 = load i32, ptr %t197 %t213 = getelementptr inbounds ptr, ptr %t211, i32 %t212 %t214 = load ptr, ptr %t213 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 2 store i32 1, ptr %t215 %t216 = load i32, ptr %t197 %t217 = add i32 %t216, 1 store i32 %t217, ptr %t197 br label %wcond113 wend115: br label %ifend112 ifend112: %t218 = load ptr, ptr @g_prog %t219 = load ptr, ptr %t194 %t220 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 %t221 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 2 %t222 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 %t223 = load i32, ptr %t220 %t224 = load i32, ptr %t221 %t225 = icmp sge i32 %t223, %t224 br i1 %t225, label %grow116, label %put117 grow116: %t226 = mul i32 %t224, 2 %t227 = icmp eq i32 %t224, 0 %t228 = select i1 %t227, i32 8, i32 %t226 %t229 = getelementptr ptr, ptr null, i32 1 %t230 = ptrtoint ptr %t229 to i64 %t231 = zext i32 %t228 to i64 %t232 = mul i64 %t231, %t230 %t233 = load ptr, ptr %t222 %t234 = call ptr @realloc(ptr %t233, i64 %t232) store ptr %t234, ptr %t222 store i32 %t228, ptr %t221 br label %put117 put117: %t235 = load ptr, ptr %t222 %t236 = getelementptr inbounds ptr, ptr %t235, i32 %t223 store ptr %t219, ptr %t236 %t237 = add i32 %t223, 1 store i32 %t237, ptr %t220 br label %ret ifend109: %t238 = call i32 @fn_is_id(ptr @.str375) %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then118, label %ifend120 then118: %t240 = call ptr @fn_parse_archetype() store ptr %t240, ptr %t241 %t242 = load i32, ptr %t13 %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then121, label %ifend123 then121: %t244 = load ptr, ptr %t241 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 2 store i32 1, ptr %t245 br label %ifend123 ifend123: %t246 = load ptr, ptr @g_prog %t247 = load ptr, ptr %t241 %t248 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 %t249 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 2 %t250 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 %t251 = load i32, ptr %t248 %t252 = load i32, ptr %t249 %t253 = icmp sge i32 %t251, %t252 br i1 %t253, label %grow124, label %put125 grow124: %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 %put125 put125: %t263 = load ptr, ptr %t250 %t264 = getelementptr inbounds ptr, ptr %t263, i32 %t251 store ptr %t247, ptr %t264 %t265 = add i32 %t251, 1 store i32 %t265, ptr %t248 br label %ret ifend120: %t266 = call i32 @fn_is_id(ptr @.str376) %t267 = icmp ne i32 %t266, 0 br i1 %t267, label %then126, label %ifend128 then126: call void @fn_parse_scene() br label %ret ifend128: %t268 = call i32 @fn_is_id(ptr @.str377) %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then129, label %ifend131 then129: %t270 = load ptr, ptr @g_prog %t271 = call ptr @fn_parse_prefab() %t272 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 1 %t273 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 2 %t274 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 0 %t275 = load i32, ptr %t272 %t276 = load i32, ptr %t273 %t277 = icmp sge i32 %t275, %t276 br i1 %t277, label %grow132, label %put133 grow132: %t278 = mul i32 %t276, 2 %t279 = icmp eq i32 %t276, 0 %t280 = select i1 %t279, i32 8, i32 %t278 %t281 = getelementptr ptr, ptr null, i32 1 %t282 = ptrtoint ptr %t281 to i64 %t283 = zext i32 %t280 to i64 %t284 = mul i64 %t283, %t282 %t285 = load ptr, ptr %t274 %t286 = call ptr @realloc(ptr %t285, i64 %t284) store ptr %t286, ptr %t274 store i32 %t280, ptr %t273 br label %put133 put133: %t287 = load ptr, ptr %t274 %t288 = getelementptr inbounds ptr, ptr %t287, i32 %t275 store ptr %t271, ptr %t288 %t289 = add i32 %t275, 1 store i32 %t289, ptr %t272 br label %ret ifend131: %t290 = call i32 @fn_is_id(ptr @.str378) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then134, label %ifend136 then134: %t292 = call ptr @fn_parse_system() store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t14 %t295 = icmp ne ptr %t294, null %t296 = zext i1 %t295 to i32 %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then137, label %ifend139 then137: %t298 = load ptr, ptr %t14 %t299 = call i32 @lp_str_eq(ptr %t298, ptr @.str379) %t300 = icmp ne i32 %t299, 0 br i1 %t300, label %then140, label %else141 then140: %t301 = load ptr, ptr %t293 %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 2 store i32 1, ptr %t302 br label %ifend142 else141: %t303 = load ptr, ptr %t293 %t304 = getelementptr inbounds %Cmp_Node, ptr %t303, i32 0, i32 2 store i32 2, ptr %t304 br label %ifend142 ifend142: br label %ifend139 ifend139: %t305 = load ptr, ptr %t9 %t306 = icmp ne ptr %t305, null %t307 = zext i1 %t306 to i32 %t308 = icmp ne i32 %t307, 0 br i1 %t308, label %then143, label %ifend145 then143: %t309 = load ptr, ptr %t9 %t310 = load ptr, ptr %t293 %t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 4 %t312 = load ptr, ptr %t311 call void @fn_register_onlisten(ptr %t309, ptr %t312) br label %ret ifend145: %t313 = load ptr, ptr %t2 %t314 = icmp ne ptr %t313, null %t315 = zext i1 %t314 to i32 %t316 = icmp ne i32 %t315, 0 br i1 %t316, label %then146, label %ifend148 then146: %t317 = load ptr, ptr %t2 %t318 = load ptr, ptr %t293 %t319 = getelementptr inbounds %Cmp_Node, ptr %t318, i32 0, i32 4 %t320 = load ptr, ptr %t319 call void @fn_register_onspawn(ptr %t317, ptr %t320) %t321 = load i32, ptr %t10 %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then149, label %ifend151 then149: %t323 = load ptr, ptr %t2 %t324 = call ptr @lp_str_concat(ptr @.str380, ptr %t323) %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str381) call void @fn_ensure_event(ptr %t325, i32 0) br label %ifend151 ifend151: br label %ret ifend148: %t326 = load ptr, ptr %t3 %t327 = icmp ne ptr %t326, null %t328 = zext i1 %t327 to i32 %t329 = icmp ne i32 %t328, 0 br i1 %t329, label %then152, label %ifend154 then152: %t330 = load ptr, ptr %t3 %t331 = load ptr, ptr %t293 %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 4 %t333 = load ptr, ptr %t332 %t334 = load ptr, ptr %t4 call void @fn_register_ondespawn(ptr %t330, ptr %t333, ptr %t334) %t335 = load i32, ptr %t10 %t336 = icmp ne i32 %t335, 0 br i1 %t336, label %then155, label %ifend157 then155: %t337 = load ptr, ptr %t3 %t338 = call ptr @lp_str_concat(ptr @.str382, ptr %t337) %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str383) call void @fn_ensure_event(ptr %t339, i32 1) br label %ifend157 ifend157: br label %ret ifend154: %t340 = load ptr, ptr %t5 %t341 = icmp ne ptr %t340, null %t342 = zext i1 %t341 to i32 %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then158, label %ifend160 then158: %t344 = load ptr, ptr %t5 %t345 = load ptr, ptr %t293 %t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 4 %t347 = load ptr, ptr %t346 call void @fn_register_onattach(ptr %t344, ptr %t347) %t348 = load i32, ptr %t10 %t349 = icmp ne i32 %t348, 0 br i1 %t349, label %then161, label %ifend163 then161: %t350 = load ptr, ptr %t5 %t351 = call ptr @lp_str_concat(ptr @.str384, ptr %t350) %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str385) call void @fn_ensure_event(ptr %t352, i32 0) br label %ifend163 ifend163: br label %ret ifend160: %t353 = load ptr, ptr %t6 %t354 = icmp ne ptr %t353, null %t355 = zext i1 %t354 to i32 %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then164, label %ifend166 then164: %t357 = load ptr, ptr %t6 %t358 = load ptr, ptr %t293 %t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 4 %t360 = load ptr, ptr %t359 call void @fn_register_ondetach(ptr %t357, ptr %t360) %t361 = load i32, ptr %t10 %t362 = icmp ne i32 %t361, 0 br i1 %t362, label %then167, label %ifend169 then167: %t363 = load ptr, ptr %t6 %t364 = call ptr @lp_str_concat(ptr @.str386, ptr %t363) %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str387) call void @fn_ensure_event(ptr %t365, i32 0) br label %ifend169 ifend169: br label %ret ifend166: %t366 = load ptr, ptr %t7 %t367 = icmp ne ptr %t366, null %t368 = zext i1 %t367 to i32 %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then170, label %ifend172 then170: %t370 = load ptr, ptr %t7 %t371 = load ptr, ptr %t293 %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 4 %t373 = load ptr, ptr %t372 call void @fn_register_onenable(ptr %t370, ptr %t373) %t374 = load i32, ptr %t10 %t375 = icmp ne i32 %t374, 0 br i1 %t375, label %then173, label %ifend175 then173: %t376 = load ptr, ptr %t7 %t377 = call ptr @lp_str_concat(ptr @.str388, ptr %t376) %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str389) call void @fn_ensure_event(ptr %t378, i32 0) br label %ifend175 ifend175: br label %ret ifend172: %t379 = load ptr, ptr %t8 %t380 = icmp ne ptr %t379, null %t381 = zext i1 %t380 to i32 %t382 = icmp ne i32 %t381, 0 br i1 %t382, label %then176, label %ifend178 then176: %t383 = load ptr, ptr %t8 %t384 = load ptr, ptr %t293 %t385 = getelementptr inbounds %Cmp_Node, ptr %t384, i32 0, i32 4 %t386 = load ptr, ptr %t385 call void @fn_register_ondisable(ptr %t383, ptr %t386) %t387 = load i32, ptr %t10 %t388 = icmp ne i32 %t387, 0 br i1 %t388, label %then179, label %ifend181 then179: %t389 = load ptr, ptr %t8 %t390 = call ptr @lp_str_concat(ptr @.str390, ptr %t389) %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str391) call void @fn_ensure_event(ptr %t391, i32 0) br label %ifend181 ifend181: br label %ret ifend178: %t392 = load ptr, ptr %t11 %t393 = icmp ne ptr %t392, null %t394 = zext i1 %t393 to i32 %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %then182, label %ifend184 then182: %t396 = load ptr, ptr %t293 %t397 = getelementptr inbounds %Cmp_Node, ptr %t396, i32 0, i32 3 %t398 = load ptr, ptr %t11 store ptr %t398, ptr %t397 %t399 = load i32, ptr %t10 %t400 = icmp ne i32 %t399, 0 br i1 %t400, label %then185, label %ifend187 then185: %t401 = load ptr, ptr %t11 %t402 = call i32 @lp_str_eq(ptr %t401, ptr @.str392) %t403 = icmp ne i32 %t402, 0 br i1 %t403, label %then188, label %else189 then188: call void @fn_ensure_event_empty(ptr @.str393) br label %ifend190 else189: call void @fn_ensure_event_empty(ptr @.str394) br label %ifend190 ifend190: br label %ifend187 ifend187: br label %ifend184 ifend184: %t404 = load ptr, ptr %t1 %t405 = icmp ne ptr %t404, null %t406 = zext i1 %t405 to i32 %t407 = icmp ne i32 %t406, 0 br i1 %t407, label %then191, label %ifend193 then191: %t408 = load ptr, ptr %t1 %t409 = getelementptr inbounds %Cmp_Node, ptr %t408, i32 0, i32 4 %t410 = load ptr, ptr %t293 %t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 4 %t412 = load ptr, ptr %t411 store ptr %t412, ptr %t409 %t413 = call ptr @fn_node(i32 7) store ptr %t413, ptr %t414 %t415 = load ptr, ptr %t414 %t416 = getelementptr inbounds %Cmp_Node, ptr %t415, i32 0, i32 7 %t417 = load ptr, ptr %t416 %t418 = load ptr, ptr %t1 %t419 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 1 %t420 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 2 %t421 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 0 %t422 = load i32, ptr %t419 %t423 = load i32, ptr %t420 %t424 = icmp sge i32 %t422, %t423 br i1 %t424, label %grow194, label %put195 grow194: %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 %put195 put195: %t434 = load ptr, ptr %t421 %t435 = getelementptr inbounds ptr, ptr %t434, i32 %t422 store ptr %t418, ptr %t435 %t436 = add i32 %t422, 1 store i32 %t436, ptr %t419 %t437 = load ptr, ptr %t293 %t438 = getelementptr inbounds %Cmp_Node, ptr %t437, i32 0, i32 4 %t439 = load ptr, ptr %t414 store ptr %t439, ptr %t438 br label %ifend193 ifend193: %t440 = load ptr, ptr @g_prog %t441 = load ptr, ptr %t293 %t442 = getelementptr inbounds %LSlice, ptr %t440, i32 0, i32 1 %t443 = getelementptr inbounds %LSlice, ptr %t440, i32 0, i32 2 %t444 = getelementptr inbounds %LSlice, ptr %t440, i32 0, i32 0 %t445 = load i32, ptr %t442 %t446 = load i32, ptr %t443 %t447 = icmp sge i32 %t445, %t446 br i1 %t447, label %grow196, label %put197 grow196: %t448 = mul i32 %t446, 2 %t449 = icmp eq i32 %t446, 0 %t450 = select i1 %t449, i32 8, i32 %t448 %t451 = getelementptr ptr, ptr null, i32 1 %t452 = ptrtoint ptr %t451 to i64 %t453 = zext i32 %t450 to i64 %t454 = mul i64 %t453, %t452 %t455 = load ptr, ptr %t444 %t456 = call ptr @realloc(ptr %t455, i64 %t454) store ptr %t456, ptr %t444 store i32 %t450, ptr %t443 br label %put197 put197: %t457 = load ptr, ptr %t444 %t458 = getelementptr inbounds ptr, ptr %t457, i32 %t445 store ptr %t441, ptr %t458 %t459 = add i32 %t445, 1 store i32 %t459, ptr %t442 br label %ret ifend136: %t460 = call i32 @fn_is_id(ptr @.str395) %t461 = icmp ne i32 %t460, 0 br i1 %t461, label %then198, label %ifend200 then198: %t462 = load ptr, ptr @g_prog %t463 = call ptr @fn_parse_ui() %t464 = getelementptr inbounds %LSlice, ptr %t462, i32 0, i32 1 %t465 = getelementptr inbounds %LSlice, ptr %t462, i32 0, i32 2 %t466 = getelementptr inbounds %LSlice, ptr %t462, i32 0, i32 0 %t467 = load i32, ptr %t464 %t468 = load i32, ptr %t465 %t469 = icmp sge i32 %t467, %t468 br i1 %t469, label %grow201, label %put202 grow201: %t470 = mul i32 %t468, 2 %t471 = icmp eq i32 %t468, 0 %t472 = select i1 %t471, i32 8, i32 %t470 %t473 = getelementptr ptr, ptr null, i32 1 %t474 = ptrtoint ptr %t473 to i64 %t475 = zext i32 %t472 to i64 %t476 = mul i64 %t475, %t474 %t477 = load ptr, ptr %t466 %t478 = call ptr @realloc(ptr %t477, i64 %t476) store ptr %t478, ptr %t466 store i32 %t472, ptr %t465 br label %put202 put202: %t479 = load ptr, ptr %t466 %t480 = getelementptr inbounds ptr, ptr %t479, i32 %t467 store ptr %t463, ptr %t480 %t481 = add i32 %t467, 1 store i32 %t481, ptr %t464 br label %ret ifend200: %t482 = call i32 @fn_is_id(ptr @.str396) %t483 = icmp ne i32 %t482, 0 br i1 %t483, label %then203, label %ifend205 then203: call void @fn_parse_namespace() br label %ret ifend205: %t484 = call i32 @fn_is_id(ptr @.str397) %t485 = icmp ne i32 %t484, 0 br i1 %t485, label %then206, label %ifend208 then206: %t486 = load ptr, ptr @g_prog %t487 = call ptr @fn_parse_var() %t488 = getelementptr inbounds %LSlice, ptr %t486, i32 0, i32 1 %t489 = getelementptr inbounds %LSlice, ptr %t486, i32 0, i32 2 %t490 = getelementptr inbounds %LSlice, ptr %t486, i32 0, i32 0 %t491 = load i32, ptr %t488 %t492 = load i32, ptr %t489 %t493 = icmp sge i32 %t491, %t492 br i1 %t493, label %grow209, label %put210 grow209: %t494 = mul i32 %t492, 2 %t495 = icmp eq i32 %t492, 0 %t496 = select i1 %t495, i32 8, i32 %t494 %t497 = getelementptr ptr, ptr null, i32 1 %t498 = ptrtoint ptr %t497 to i64 %t499 = zext i32 %t496 to i64 %t500 = mul i64 %t499, %t498 %t501 = load ptr, ptr %t490 %t502 = call ptr @realloc(ptr %t501, i64 %t500) store ptr %t502, ptr %t490 store i32 %t496, ptr %t489 br label %put210 put210: %t503 = load ptr, ptr %t490 %t504 = getelementptr inbounds ptr, ptr %t503, i32 %t491 store ptr %t487, ptr %t504 %t505 = add i32 %t491, 1 store i32 %t505, ptr %t488 br label %ret ifend208: %t506 = call i32 @fn_is_id(ptr @.str398) %t507 = icmp ne i32 %t506, 0 br i1 %t507, label %then211, label %ifend213 then211: %t508 = load ptr, ptr @g_prog %t509 = call ptr @fn_parse_const() %t510 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 1 %t511 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 2 %t512 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 %t513 = load i32, ptr %t510 %t514 = load i32, ptr %t511 %t515 = icmp sge i32 %t513, %t514 br i1 %t515, label %grow214, label %put215 grow214: %t516 = mul i32 %t514, 2 %t517 = icmp eq i32 %t514, 0 %t518 = select i1 %t517, i32 8, i32 %t516 %t519 = getelementptr ptr, ptr null, i32 1 %t520 = ptrtoint ptr %t519 to i64 %t521 = zext i32 %t518 to i64 %t522 = mul i64 %t521, %t520 %t523 = load ptr, ptr %t512 %t524 = call ptr @realloc(ptr %t523, i64 %t522) store ptr %t524, ptr %t512 store i32 %t518, ptr %t511 br label %put215 put215: %t525 = load ptr, ptr %t512 %t526 = getelementptr inbounds ptr, ptr %t525, i32 %t513 store ptr %t509, ptr %t526 %t527 = add i32 %t513, 1 store i32 %t527, ptr %t510 br label %ret ifend213: %t528 = call i32 @fn_is_id(ptr @.str399) %t529 = icmp ne i32 %t528, 0 br i1 %t529, label %then216, label %ifend218 then216: %t530 = call ptr @fn_parse_fn() store ptr %t530, ptr %t531 %t532 = load i32, ptr %t0 %t533 = icmp ne i32 %t532, 0 br i1 %t533, label %then219, label %ifend221 then219: %t534 = load ptr, ptr %t531 %t535 = getelementptr inbounds %Cmp_Node, ptr %t534, i32 0, i32 2 store i32 1, ptr %t535 br label %ifend221 ifend221: %t536 = load ptr, ptr %t16 %t537 = icmp ne ptr %t536, null %t538 = zext i1 %t537 to i32 %t539 = icmp ne i32 %t538, 0 br i1 %t539, label %then222, label %ifend224 then222: %t540 = load ptr, ptr @g_g_mod_sys_fn %t541 = load ptr, ptr %t531 %t542 = getelementptr inbounds %Cmp_Node, ptr %t541, i32 0, i32 1 %t543 = load ptr, ptr %t542 %t544 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 1 %t545 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 2 %t546 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 0 %t547 = load i32, ptr %t544 %t548 = load i32, ptr %t545 %t549 = icmp sge i32 %t547, %t548 br i1 %t549, label %grow225, label %put226 grow225: %t550 = mul i32 %t548, 2 %t551 = icmp eq i32 %t548, 0 %t552 = select i1 %t551, i32 8, i32 %t550 %t553 = getelementptr ptr, ptr null, i32 1 %t554 = ptrtoint ptr %t553 to i64 %t555 = zext i32 %t552 to i64 %t556 = mul i64 %t555, %t554 %t557 = load ptr, ptr %t546 %t558 = call ptr @realloc(ptr %t557, i64 %t556) store ptr %t558, ptr %t546 store i32 %t552, ptr %t545 br label %put226 put226: %t559 = load ptr, ptr %t546 %t560 = getelementptr inbounds ptr, ptr %t559, i32 %t547 store ptr %t543, ptr %t560 %t561 = add i32 %t547, 1 store i32 %t561, ptr %t544 %t562 = load ptr, ptr @g_g_mod_sys_phase %t563 = load ptr, ptr %t16 %t564 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 1 %t565 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 2 %t566 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 0 %t567 = load i32, ptr %t564 %t568 = load i32, ptr %t565 %t569 = icmp sge i32 %t567, %t568 br i1 %t569, label %grow227, label %put228 grow227: %t570 = mul i32 %t568, 2 %t571 = icmp eq i32 %t568, 0 %t572 = select i1 %t571, i32 8, i32 %t570 %t573 = getelementptr ptr, ptr null, i32 1 %t574 = ptrtoint ptr %t573 to i64 %t575 = zext i32 %t572 to i64 %t576 = mul i64 %t575, %t574 %t577 = load ptr, ptr %t566 %t578 = call ptr @realloc(ptr %t577, i64 %t576) store ptr %t578, ptr %t566 store i32 %t572, ptr %t565 br label %put228 put228: %t579 = load ptr, ptr %t566 %t580 = getelementptr inbounds ptr, ptr %t579, i32 %t567 store ptr %t563, ptr %t580 %t581 = add i32 %t567, 1 store i32 %t581, ptr %t564 br label %ifend224 ifend224: %t582 = load ptr, ptr %t17 %t583 = icmp ne ptr %t582, null %t584 = zext i1 %t583 to i32 %t585 = icmp ne i32 %t584, 0 br i1 %t585, label %then229, label %ifend231 then229: %t586 = load ptr, ptr @g_g_esys_comp %t587 = load ptr, ptr %t17 %t588 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 1 %t589 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 2 %t590 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 0 %t591 = load i32, ptr %t588 %t592 = load i32, ptr %t589 %t593 = icmp sge i32 %t591, %t592 br i1 %t593, label %grow232, label %put233 grow232: %t594 = mul i32 %t592, 2 %t595 = icmp eq i32 %t592, 0 %t596 = select i1 %t595, i32 8, i32 %t594 %t597 = getelementptr ptr, ptr null, i32 1 %t598 = ptrtoint ptr %t597 to i64 %t599 = zext i32 %t596 to i64 %t600 = mul i64 %t599, %t598 %t601 = load ptr, ptr %t590 %t602 = call ptr @realloc(ptr %t601, i64 %t600) store ptr %t602, ptr %t590 store i32 %t596, ptr %t589 br label %put233 put233: %t603 = load ptr, ptr %t590 %t604 = getelementptr inbounds ptr, ptr %t603, i32 %t591 store ptr %t587, ptr %t604 %t605 = add i32 %t591, 1 store i32 %t605, ptr %t588 %t606 = load ptr, ptr @g_g_esys_fn %t607 = load ptr, ptr %t531 %t608 = getelementptr inbounds %Cmp_Node, ptr %t607, i32 0, i32 1 %t609 = load ptr, ptr %t608 %t610 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 1 %t611 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 2 %t612 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 0 %t613 = load i32, ptr %t610 %t614 = load i32, ptr %t611 %t615 = icmp sge i32 %t613, %t614 br i1 %t615, label %grow234, label %put235 grow234: %t616 = mul i32 %t614, 2 %t617 = icmp eq i32 %t614, 0 %t618 = select i1 %t617, i32 8, i32 %t616 %t619 = getelementptr ptr, ptr null, i32 1 %t620 = ptrtoint ptr %t619 to i64 %t621 = zext i32 %t618 to i64 %t622 = mul i64 %t621, %t620 %t623 = load ptr, ptr %t612 %t624 = call ptr @realloc(ptr %t623, i64 %t622) store ptr %t624, ptr %t612 store i32 %t618, ptr %t611 br label %put235 put235: %t625 = load ptr, ptr %t612 %t626 = getelementptr inbounds ptr, ptr %t625, i32 %t613 store ptr %t609, ptr %t626 %t627 = add i32 %t613, 1 store i32 %t627, ptr %t610 %t628 = load ptr, ptr @g_g_esys_phase %t629 = load ptr, ptr %t18 %t630 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 1 %t631 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 2 %t632 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 0 %t633 = load i32, ptr %t630 %t634 = load i32, ptr %t631 %t635 = icmp sge i32 %t633, %t634 br i1 %t635, label %grow236, label %put237 grow236: %t636 = mul i32 %t634, 2 %t637 = icmp eq i32 %t634, 0 %t638 = select i1 %t637, i32 8, i32 %t636 %t639 = getelementptr ptr, ptr null, i32 1 %t640 = ptrtoint ptr %t639 to i64 %t641 = zext i32 %t638 to i64 %t642 = mul i64 %t641, %t640 %t643 = load ptr, ptr %t632 %t644 = call ptr @realloc(ptr %t643, i64 %t642) store ptr %t644, ptr %t632 store i32 %t638, ptr %t631 br label %put237 put237: %t645 = load ptr, ptr %t632 %t646 = getelementptr inbounds ptr, ptr %t645, i32 %t633 store ptr %t629, ptr %t646 %t647 = add i32 %t633, 1 store i32 %t647, ptr %t630 br label %ifend231 ifend231: %t648 = load ptr, ptr %t19 %t649 = icmp ne ptr %t648, null %t650 = zext i1 %t649 to i32 %t651 = icmp ne i32 %t650, 0 br i1 %t651, label %then238, label %ifend240 then238: %t652 = load ptr, ptr %t19 call void @fn_register_namespace(ptr %t652) br label %ifend240 ifend240: %t653 = load ptr, ptr @g_prog %t654 = load ptr, ptr %t531 %t655 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 1 %t656 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 2 %t657 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 0 %t658 = load i32, ptr %t655 %t659 = load i32, ptr %t656 %t660 = icmp sge i32 %t658, %t659 br i1 %t660, label %grow241, label %put242 grow241: %t661 = mul i32 %t659, 2 %t662 = icmp eq i32 %t659, 0 %t663 = select i1 %t662, i32 8, i32 %t661 %t664 = getelementptr ptr, ptr null, i32 1 %t665 = ptrtoint ptr %t664 to i64 %t666 = zext i32 %t663 to i64 %t667 = mul i64 %t666, %t665 %t668 = load ptr, ptr %t657 %t669 = call ptr @realloc(ptr %t668, i64 %t667) store ptr %t669, ptr %t657 store i32 %t663, ptr %t656 br label %put242 put242: %t670 = load ptr, ptr %t657 %t671 = getelementptr inbounds ptr, ptr %t670, i32 %t658 store ptr %t654, ptr %t671 %t672 = add i32 %t658, 1 store i32 %t672, ptr %t655 br label %ret ifend218: %t673 = call i32 @fn_is_id(ptr @.str400) %t674 = icmp ne i32 %t673, 0 br i1 %t674, label %then243, label %ifend245 then243: %t675 = load ptr, ptr @g_prog %t676 = call ptr @fn_parse_extern() %t677 = getelementptr inbounds %LSlice, ptr %t675, i32 0, i32 1 %t678 = getelementptr inbounds %LSlice, ptr %t675, i32 0, i32 2 %t679 = getelementptr inbounds %LSlice, ptr %t675, i32 0, i32 0 %t680 = load i32, ptr %t677 %t681 = load i32, ptr %t678 %t682 = icmp sge i32 %t680, %t681 br i1 %t682, label %grow246, label %put247 grow246: %t683 = mul i32 %t681, 2 %t684 = icmp eq i32 %t681, 0 %t685 = select i1 %t684, i32 8, i32 %t683 %t686 = getelementptr ptr, ptr null, i32 1 %t687 = ptrtoint ptr %t686 to i64 %t688 = zext i32 %t685 to i64 %t689 = mul i64 %t688, %t687 %t690 = load ptr, ptr %t679 %t691 = call ptr @realloc(ptr %t690, i64 %t689) store ptr %t691, ptr %t679 store i32 %t685, ptr %t678 br label %put247 put247: %t692 = load ptr, ptr %t679 %t693 = getelementptr inbounds ptr, ptr %t692, i32 %t680 store ptr %t676, ptr %t693 %t694 = add i32 %t680, 1 store i32 %t694, ptr %t677 br label %ret ifend245: %t695 = call i32 @fn_is_id(ptr @.str401) %t696 = icmp ne i32 %t695, 0 br i1 %t696, label %then248, label %ifend250 then248: %t697 = load ptr, ptr @g_prog %t698 = call ptr @fn_parse_main() %t699 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 1 %t700 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 2 %t701 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 0 %t702 = load i32, ptr %t699 %t703 = load i32, ptr %t700 %t704 = icmp sge i32 %t702, %t703 br i1 %t704, label %grow251, label %put252 grow251: %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 %put252 put252: %t714 = load ptr, ptr %t701 %t715 = getelementptr inbounds ptr, ptr %t714, i32 %t702 store ptr %t698, ptr %t715 %t716 = add i32 %t702, 1 store i32 %t716, ptr %t699 br label %ret ifend250: %t717 = call i32 @fn_is_id(ptr @.str402) %t718 = icmp ne i32 %t717, 0 br i1 %t718, label %then253, label %ifend255 then253: %t719 = load ptr, ptr @g_g_tests %t720 = call ptr @fn_parse_test() %t721 = getelementptr inbounds %LSlice, ptr %t719, i32 0, i32 1 %t722 = getelementptr inbounds %LSlice, ptr %t719, i32 0, i32 2 %t723 = getelementptr inbounds %LSlice, ptr %t719, i32 0, i32 0 %t724 = load i32, ptr %t721 %t725 = load i32, ptr %t722 %t726 = icmp sge i32 %t724, %t725 br i1 %t726, label %grow256, label %put257 grow256: %t727 = mul i32 %t725, 2 %t728 = icmp eq i32 %t725, 0 %t729 = select i1 %t728, i32 8, i32 %t727 %t730 = getelementptr ptr, ptr null, i32 1 %t731 = ptrtoint ptr %t730 to i64 %t732 = zext i32 %t729 to i64 %t733 = mul i64 %t732, %t731 %t734 = load ptr, ptr %t723 %t735 = call ptr @realloc(ptr %t734, i64 %t733) store ptr %t735, ptr %t723 store i32 %t729, ptr %t722 br label %put257 put257: %t736 = load ptr, ptr %t723 %t737 = getelementptr inbounds ptr, ptr %t736, i32 %t724 store ptr %t720, ptr %t737 %t738 = add i32 %t724, 1 store i32 %t738, ptr %t721 br label %ret ifend255: %t739 = call ptr @fn_tok_desc() %t740 = call ptr @lp_str_concat(ptr @.str403, ptr %t739) call void @fn_perr(ptr %t740) 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 @.str404) 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 @.str405) 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 @.str406, 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 @.str407) %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 @.str408) %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 void @fn_do_import(ptr %arg_rel) { entry: %t0 = alloca ptr %t1 = alloca i32 %t27 = alloca ptr %t30 = alloca ptr %t31 = alloca i32 %t32 = alloca i32 %t58 = alloca ptr %t61 = alloca ptr %t68 = alloca i32 %t88 = alloca ptr %t91 = alloca ptr %t98 = alloca i32 %t118 = alloca ptr %t121 = alloca ptr %t157 = alloca ptr %t161 = alloca i32 %t162 = alloca i32 %t186 = alloca ptr %t188 = alloca i32 %t190 = alloca ptr %t192 = alloca ptr %t194 = 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 @.str409) %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 @g_cur_dir %t25 = load ptr, ptr %t0 %t26 = call ptr @fn_join_path(ptr %t24, ptr %t25) store ptr %t26, ptr %t27 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_read_file(ptr %t28) store ptr %t29, ptr %t30 %t33 = load ptr, ptr %t30 %t34 = icmp eq ptr %t33, null %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t32 br i1 %t36, label %sc5, label %scend6 sc5: %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds i8, ptr %t38, i32 0 %t40 = load i8, ptr %t39 %t41 = zext i8 %t40 to i32 %t42 = icmp ne i32 %t41, 47 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t32 br label %scend6 scend6: %t46 = load i32, ptr %t32 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t31 br i1 %t47, label %sc7, label %scend8 sc7: %t49 = load ptr, ptr %t0 %t50 = call i32 @fn_is_runtime_path(ptr %t49) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t31 br label %scend8 scend8: %t53 = load i32, ptr %t31 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then9, label %ifend11 then9: %t55 = call ptr @fn_ludic_home() %t56 = load ptr, ptr %t0 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = call ptr @fn_read_file(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 %t63 = icmp ne ptr %t62, null %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then12, label %ifend14 then12: %t66 = load ptr, ptr %t58 store ptr %t66, ptr %t27 %t67 = load ptr, ptr %t61 store ptr %t67, ptr %t30 br label %ifend14 ifend14: br label %ifend11 ifend11: %t69 = load ptr, ptr %t30 %t70 = icmp eq ptr %t69, null %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t68 br i1 %t72, label %sc15, label %scend16 sc15: %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds i8, ptr %t74, i32 0 %t76 = load i8, ptr %t75 %t77 = zext i8 %t76 to i32 %t78 = icmp ne i32 %t77, 47 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t68 br label %scend16 scend16: %t82 = load i32, ptr %t68 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then17, label %ifend19 then17: %t84 = call ptr @fn_getenv_or(ptr @.str410, ptr @.str411) %t85 = call ptr @fn_ensure_slash(ptr %t84) %t86 = load ptr, ptr %t0 %t87 = call ptr @lp_str_concat(ptr %t85, ptr %t86) store ptr %t87, ptr %t88 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_read_file(ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t91 %t93 = icmp ne ptr %t92, null %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then20, label %ifend22 then20: %t96 = load ptr, ptr %t88 store ptr %t96, ptr %t27 %t97 = load ptr, ptr %t91 store ptr %t97, ptr %t30 br label %ifend22 ifend22: br label %ifend19 ifend19: %t99 = load ptr, ptr %t30 %t100 = icmp eq ptr %t99, null %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t98 br i1 %t102, label %sc23, label %scend24 sc23: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds i8, ptr %t104, i32 0 %t106 = load i8, ptr %t105 %t107 = zext i8 %t106 to i32 %t108 = icmp ne i32 %t107, 47 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t98 br label %scend24 scend24: %t112 = load i32, ptr %t98 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then25, label %ifend27 then25: %t114 = call ptr @fn_ludic_home() %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str412) %t116 = load ptr, ptr %t0 %t117 = call ptr @lp_str_concat(ptr %t115, ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t118 %t120 = call ptr @fn_read_file(ptr %t119) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t121 %t123 = icmp ne ptr %t122, null %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then28, label %ifend30 then28: %t126 = load ptr, ptr %t118 store ptr %t126, ptr %t27 %t127 = load ptr, ptr %t121 store ptr %t127, ptr %t30 br label %ifend30 ifend30: br label %ifend27 ifend27: %t128 = load ptr, ptr %t27 %t129 = call i32 @fn_already_loaded(ptr %t128) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then31, label %ifend33 then31: br label %ret ifend33: %t131 = load ptr, ptr @g_loaded_paths %t132 = load ptr, ptr %t27 %t133 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t134 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 2 %t135 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 %t136 = load i32, ptr %t133 %t137 = load i32, ptr %t134 %t138 = icmp sge i32 %t136, %t137 br i1 %t138, label %grow34, label %put35 grow34: %t139 = mul i32 %t137, 2 %t140 = icmp eq i32 %t137, 0 %t141 = select i1 %t140, i32 8, i32 %t139 %t142 = getelementptr ptr, ptr null, i32 1 %t143 = ptrtoint ptr %t142 to i64 %t144 = zext i32 %t141 to i64 %t145 = mul i64 %t144, %t143 %t146 = load ptr, ptr %t135 %t147 = call ptr @realloc(ptr %t146, i64 %t145) store ptr %t147, ptr %t135 store i32 %t141, ptr %t134 br label %put35 put35: %t148 = load ptr, ptr %t135 %t149 = getelementptr inbounds ptr, ptr %t148, i32 %t136 store ptr %t132, ptr %t149 %t150 = add i32 %t136, 1 store i32 %t150, ptr %t133 %t151 = load ptr, ptr %t30 %t152 = icmp eq ptr %t151, null %t153 = zext i1 %t152 to i32 %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then36, label %ifend38 then36: %t155 = load ptr, ptr %t27 %t156 = call ptr @lp_str_concat(ptr @.str413, ptr %t155) call void @fn_perr(ptr %t156) br label %ifend38 ifend38: store ptr @.str414, ptr %t157 %t158 = load ptr, ptr %t27 %t159 = call i64 @strlen(ptr %t158) %t160 = trunc i64 %t159 to i32 store i32 %t160, ptr %t161 %t163 = load i32, ptr %t161 %t164 = load ptr, ptr %t157 %t165 = call i64 @strlen(ptr %t164) %t166 = trunc i64 %t165 to i32 %t167 = icmp sge i32 %t163, %t166 %t168 = zext i1 %t167 to i32 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t162 br i1 %t169, label %sc39, label %scend40 sc39: %t171 = load ptr, ptr %t27 %t172 = load i32, ptr %t161 %t173 = load ptr, ptr %t157 %t174 = call i64 @strlen(ptr %t173) %t175 = trunc i64 %t174 to i32 %t176 = sub i32 %t172, %t175 %t177 = load i32, ptr %t161 %t178 = call ptr @lp_str_slice(ptr %t171, i32 %t176, i32 %t177) %t179 = load ptr, ptr %t157 %t180 = call i32 @lp_str_eq(ptr %t178, ptr %t179) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t162 br label %scend40 scend40: %t183 = load i32, ptr %t162 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then41, label %ifend43 then41: store i32 1, ptr @g_g_uses_audio br label %ifend43 ifend43: %t185 = load ptr, ptr @g_toks store ptr %t185, ptr %t186 %t187 = load i32, ptr @g_pi store i32 %t187, ptr %t188 %t189 = load ptr, ptr @g_cur_dir store ptr %t189, ptr %t190 %t191 = load ptr, ptr @g_g_parse_file store ptr %t191, ptr %t192 %t193 = load i32, ptr @g_g_parsing store i32 %t193, ptr %t194 %t195 = load ptr, ptr %t27 %t196 = call ptr @fn_dir_of(ptr %t195) store ptr %t196, ptr @g_cur_dir %t197 = load ptr, ptr %t27 store ptr %t197, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing %t198 = load ptr, ptr %t30 call void @fn_lex(ptr %t198) store i32 0, ptr @g_pi call void @fn_skipnl() br label %wcond44 wcond44: %t199 = load ptr, ptr @g_toks %t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0 %t201 = load ptr, ptr %t200 %t202 = load i32, ptr @g_pi %t203 = getelementptr inbounds ptr, ptr %t201, i32 %t202 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Tok, ptr %t204, i32 0, i32 0 %t206 = load i32, ptr %t205 %t207 = icmp ne i32 %t206, 5 %t208 = zext i1 %t207 to i32 %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %wbody45, label %wend46 wbody45: call void @fn_parse_one_decl() call void @fn_skipnl() br label %wcond44 wend46: %t210 = load ptr, ptr %t186 store ptr %t210, ptr @g_toks %t211 = load i32, ptr %t188 store i32 %t211, ptr @g_pi %t212 = load ptr, ptr %t190 store ptr %t212, ptr @g_cur_dir %t213 = load ptr, ptr %t192 store ptr %t213, ptr @g_g_parse_file %t214 = load i32, ptr %t194 store i32 %t214, ptr @g_g_parsing br label %ret ret: ret void } define void @fn_maybe_splice_runtime() { entry: %t1 = alloca ptr %t69 = alloca i32 %t98 = 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 @.str415, ptr @g_cur_dir call void @fn_do_import(ptr @.str416) %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 @.str417, ptr @g_cur_dir call void @fn_do_import(ptr @.str418) call void @fn_do_import(ptr @.str419) %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 @.str420, ptr @g_cur_dir call void @fn_do_import(ptr @.str421) %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 @.str422, ptr @g_cur_dir call void @fn_do_import(ptr @.str423) %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 @.str424, ptr @g_cur_dir call void @fn_do_import(ptr @.str425) %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 @.str426, ptr @g_cur_dir call void @fn_do_import(ptr @.str427) %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 @.str428, ptr @g_cur_dir call void @fn_do_import(ptr @.str429) %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 @.str430, ptr @g_cur_dir call void @fn_do_import(ptr @.str431) %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 @.str432, ptr @g_cur_dir call void @fn_do_import(ptr @.str433) %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 @.str434, ptr @g_cur_dir call void @fn_do_import(ptr @.str435) %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 @.str436, ptr @g_cur_dir call void @fn_do_import(ptr @.str437) call void @fn_do_import(ptr @.str438) call void @fn_do_import(ptr @.str439) %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 @.str440, ptr @g_cur_dir call void @fn_do_import(ptr @.str441) call void @fn_do_import(ptr @.str442) %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 @.str443, ptr @g_cur_dir call void @fn_do_import(ptr @.str444) call void @fn_do_import(ptr @.str445) call void @fn_do_import(ptr @.str446) %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 @.str447, ptr @g_cur_dir call void @fn_do_import(ptr @.str448) call void @fn_do_import(ptr @.str449) call void @fn_do_import(ptr @.str450) call void @fn_do_import(ptr @.str451) call void @fn_do_import(ptr @.str452) call void @fn_do_import(ptr @.str453) call void @fn_do_import(ptr @.str454) %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 @.str455) 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 @.str456, ptr @g_cur_dir call void @fn_do_import(ptr @.str457) %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 @.str458, ptr @g_cur_dir call void @fn_do_import(ptr @.str459) call void @fn_do_import(ptr @.str460) %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 @.str461, ptr @g_cur_dir call void @fn_do_import(ptr @.str462) call void @fn_do_import(ptr @.str463) %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 @.str464, ptr @g_cur_dir call void @fn_do_import(ptr @.str465) %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 @.str466, ptr @g_cur_dir call void @fn_do_import(ptr @.str467) %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 @.str468, ptr @g_cur_dir call void @fn_do_import(ptr @.str469) %t63 = load ptr, ptr %t1 store ptr %t63, ptr @g_cur_dir br label %ifend62 ifend62: %t64 = load i32, ptr @g_g_uses_anim_rt %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then63, label %ifend65 then63: store i32 1, ptr @g_g_uses_esys store ptr @.str470, ptr @g_cur_dir call void @fn_do_import(ptr @.str471) call void @fn_do_import(ptr @.str472) %t66 = load ptr, ptr %t1 store ptr %t66, ptr @g_cur_dir br label %ifend65 ifend65: %t67 = call i32 @fn_uses_engine_systems() %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then66, label %ifend68 then66: store i32 1, ptr @g_g_uses_esys store ptr @.str473, ptr @g_cur_dir %t70 = call ptr @fn_find_comp(ptr @.str474) %t71 = icmp ne ptr %t70, null %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t69 br i1 %t73, label %scend70, label %sc69 sc69: %t75 = call ptr @fn_find_comp(ptr @.str475) %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 %t69 br label %scend70 scend70: %t80 = load i32, ptr %t69 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then71, label %ifend73 then71: call void @fn_do_import(ptr @.str476) br label %ifend73 ifend73: %t82 = call ptr @fn_find_comp(ptr @.str477) %t83 = icmp ne ptr %t82, null %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then74, label %ifend76 then74: call void @fn_do_import(ptr @.str478) call void @fn_do_import(ptr @.str479) br label %ifend76 ifend76: %t86 = call ptr @fn_find_comp(ptr @.str480) %t87 = icmp ne ptr %t86, null %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then77, label %ifend79 then77: call void @fn_do_import(ptr @.str481) call void @fn_do_import(ptr @.str482) br label %ifend79 ifend79: %t90 = call ptr @fn_find_comp(ptr @.str483) %t91 = icmp ne ptr %t90, null %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then80, label %ifend82 then80: call void @fn_do_import(ptr @.str484) call void @fn_do_import(ptr @.str485) br label %ifend82 ifend82: %t94 = call ptr @fn_find_comp(ptr @.str486) %t95 = icmp ne ptr %t94, null %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then83, label %ifend85 then83: call void @fn_do_import(ptr @.str487) br label %ifend85 ifend85: %t99 = call ptr @fn_find_comp(ptr @.str488) %t100 = icmp ne ptr %t99, null %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t98 br i1 %t102, label %scend87, label %sc86 sc86: %t104 = call ptr @fn_find_comp(ptr @.str489) %t105 = icmp ne ptr %t104, null %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t98 br label %scend87 scend87: %t109 = load i32, ptr %t98 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then88, label %ifend90 then88: call void @fn_do_import(ptr @.str490) call void @fn_do_import(ptr @.str491) store i32 1, ptr @g_g_uses_light br label %ifend90 ifend90: %t111 = load ptr, ptr %t1 store ptr %t111, ptr @g_cur_dir br label %ifend68 ifend68: 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_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 @.str492, 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 @.str493, 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 @.str494, 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 @.str495, 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 @.str496, 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 @.str497, 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 @.str498, 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 @.str499, 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 @.str500, 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 @.str501, 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 @.str502, 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 @.str503, 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 @.str504, 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 @.str505, 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 @.str506, 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 @.str507, 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 @.str508, 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 @.str509, 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 @.str510, 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 @.str511, 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 @.str512, 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 @.str513, ptr @g_g_game_name br label %wcond42 wcond42: %t537 = call i32 @fn_is_id(ptr @.str514) %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 @.str515) %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 @.str516) %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 @.str517) %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 @.str518) %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 @.str519) %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 @.str520) 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 @.str521) %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 @.str522) 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 @.str523) %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 @.str524) %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 @.str525) %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 @.str526) %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 @.str527) %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 @.str528) %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 @.str529) %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 @.str530) %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 @.str531) %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 @.str532) 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 @.str533) %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 @.str534) %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 @.str535) %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 @.str536) %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 @.str537) %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 @.str538, 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 @.str539) %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 @.str540) %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 @.str541) %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 @.str542) %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 @.str543) %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 @.str544, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str545) 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 @.str546) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str547) %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 @.str548) %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 @.str549) 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 @.str550) %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 @.str551) %t72 = call i32 @fn_is_id(ptr @.str552) %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 @.str553) br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str554) %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 @.str555) %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 @.str556) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 %t39 = call i32 @fn_is_id(ptr @.str557) %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 @.str558) 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 @.str559, 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 @.str560) %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 @.str561) %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 @.str562) %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 @.str563) %t13 = load ptr, ptr %t12 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str564) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: call void @fn_eat_op(ptr @.str565) call void @fn_skipnl() br label %wcond9 wcond9: %t16 = call i32 @fn_is_op(ptr @.str566) %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 @.str567) %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 @.str568) %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 @.str569) %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 @.str570) br label %ifend8 else7: %t98 = load ptr, ptr %t12 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str571) %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 @.str572) %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 @.str573) %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 @.str574) %t7 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t7) call void @fn_eat_op(ptr @.str575) %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 @.str576) %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 @.str577) %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 @.str578) %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 @.str579) %t10 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t10) call void @fn_eat_op(ptr @.str580) %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 @.str581) %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 @.str582) %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 @.str583) %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 @.str584) %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 @.str585) %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 @.str586) %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 @.str587) %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 @.str588) %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 @.str589) %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 @.str590) 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 @.str591) %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 @.str592) %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 @.str593) 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 @.str594, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str595) 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 @.str596, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str597) call void @fn_ensure_event_empty(ptr %t94) br label %ifend31 ifend31: call void @fn_skipnl() call void @fn_eat_op(ptr @.str598) 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 @.str599) %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 @.str600) %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 @.str601) %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 @.str602) %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 @.str603) br label %ifend46 ifend46: br label %ifend43 ifend43: br label %wcond32 ifend40: %t116 = call i32 @fn_is_id(ptr @.str604) %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 @.str605) %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 @.str606, ptr %t126) %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str607) call void @fn_ensure_event_empty(ptr %t128) %t129 = load ptr, ptr %t121 %t130 = call ptr @lp_str_concat(ptr @.str608, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str609) call void @fn_ensure_event_empty(ptr %t131) br label %ifend52 ifend52: call void @fn_skipnl() call void @fn_eat_op(ptr @.str610) %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 @.str611) %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 @.str612) %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 @.str613) %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 @.str614, ptr %t151) %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str615) 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 @.str616) %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 @.str617) 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 @.str618) %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 @.str619) br label %wcond32 ifend49: call void @fn_perr(ptr @.str620) br label %wcond32 wend34: call void @fn_eat_op(ptr @.str621) %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 @.str622) store ptr %t9, ptr %t5 %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 store ptr @.str623, 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 @.str624, 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 @.str625, 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 @.str626, 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 @.str627, 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 @.str628) store ptr %t191, ptr %t187 %t192 = load ptr, ptr %t185 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 store ptr @.str629, 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 @.str630, 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 @.str631, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str632) 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 @.str633, 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 @.str634, 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 @.str635) store ptr %t142, ptr %t138 %t143 = load ptr, ptr %t136 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 3 store ptr @.str636, 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 @.str637, 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 @.str638, 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 @.str639) %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 @.str640) %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 @.str641, 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 @.str642, 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 @.str643, 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 @.str644, 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 @.str645) 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 @.str646) %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 @.str647) %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 @.str648) %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 @.str649) %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 @.str650) 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 @.str651) %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 @.str652) %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 @.str653) 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 @.str654) %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 @.str655) %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 @.str656) %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 @.str657) %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 @.str658) %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 @.str659) br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str660) %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 @.str661) %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 @.str662) %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 @.str663) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 store ptr @.str664, ptr %t48 %t49 = call i32 @fn_is_op(ptr @.str665) %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 @.str666) %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 @.str667) %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 @.str668) %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 @.str669) %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 @.str670) %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 @.str671) 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 @.str672) 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 @.str673) %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 %t7 = 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 store ptr %t4, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t0 store ptr %t10, ptr %t9 %t11 = load ptr, ptr %t7 %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 1 %t13 = load ptr, ptr %t1 store ptr %t13, ptr %t12 %t14 = load ptr, ptr %t7 store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } 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 @.str674) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str675) %t19 = load i32, ptr %t15 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str676) %t21 = load ptr, ptr %t17 %t22 = call ptr @lp_str_concat(ptr @.str677, 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 @.str678, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str679) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str680) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str681) %t31 = load ptr, ptr %t17 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str682) 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 @.str683, 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 @.str684) %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 @.str685) %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 @.str686) %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 @.str687, 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 %t49 = alloca i32 %t50 = alloca i32 store ptr %arg_t, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str688) %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 @.str689) %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 @.str690) %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 @.str691) %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 @.str692, 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 @.str693, ptr %retval br label %ret ifend11: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str694) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: store ptr @.str695, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str696) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: store ptr @.str697, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str698) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then18, label %ifend20 then18: store ptr @.str699, ptr %retval br label %ret ifend20: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str700) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then21, label %ifend23 then21: store ptr @.str701, ptr %retval br label %ret ifend23: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str702) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then24, label %ifend26 then24: store ptr @.str703, ptr %retval br label %ret ifend26: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str704) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then27, label %ifend29 then27: store ptr @.str705, ptr %retval br label %ret ifend29: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str706) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t50 br i1 %t53, label %scend31, label %sc30 sc30: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str707) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t50 br label %scend31 scend31: %t59 = load i32, ptr %t50 %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t49 br i1 %t60, label %scend33, label %sc32 sc32: %t62 = load ptr, ptr %t0 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str708) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t49 br label %scend33 scend33: %t66 = load i32, ptr %t49 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then34, label %ifend36 then34: store ptr @.str709, ptr %retval br label %ret ifend36: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str710) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then37, label %ifend39 then37: store ptr @.str711, ptr %retval br label %ret ifend39: store ptr @.str712, ptr %retval br label %ret ret: %t71 = load ptr, ptr %retval ret ptr %t71 } 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 @.str713, 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 @.str714, 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 @.str715) %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 @.str716) %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 @.str717) %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 @.str718) %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 @.str719) %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 @.str720) %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 @.str721) %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 @.str722) %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 @.str723) %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 @.str724) %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 @.str725) %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 @.str726) %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 @.str727) %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 @.str728) %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 @.str729) %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 @.str730) %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 @.str731, 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 @.str732) %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 @.str733) %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 @.str734) %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 @.str735) %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 @.str736, 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 @.str737) %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 @.str738) %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 @.str739, 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 @.str740) %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 @.str741) %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 @.str742, 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 @.str743) %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 @.str744, 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 @.str745, 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 @.str746, 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 @.str747, 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 @.str748, 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 @.str749, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 store ptr @.str750, 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 @.str751, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 store ptr @.str752, 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 @.str753, 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 @.str754) %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 @.str755) 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 @.str756) %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 %t16 = alloca ptr %t17 = alloca i32 %t18 = alloca i32 %t49 = alloca i32 %t50 = alloca i32 %t85 = alloca i32 %t113 = 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: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 %t9 = load ptr, ptr %t8 %t10 = call ptr @fn_llty(ptr %t9) %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str757) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: store ptr @.str758, ptr %retval br label %ret ifend5: store ptr @.str759, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 4 %t15 = load ptr, ptr %t14 store ptr %t15, ptr %t16 %t19 = load ptr, ptr %t16 %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 %t16 %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 %t16 %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 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t16 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 2 %t47 = load i32, ptr %t46 %t48 = call ptr @fn_itoa(i32 %t47) store ptr %t48, ptr %retval br label %ret ifend12: %t51 = load ptr, ptr %t16 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 0 %t53 = load i32, ptr %t52 %t54 = icmp eq i32 %t53, 38 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t50 br i1 %t56, label %sc13, label %scend14 sc13: %t58 = load ptr, ptr %t16 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str760) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t50 br label %scend14 scend14: %t64 = load i32, ptr %t50 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t49 br i1 %t65, label %sc15, label %scend16 sc15: %t67 = load ptr, ptr %t16 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 0 %t71 = load i32, ptr %t70 %t72 = icmp eq i32 %t71, 30 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t49 br label %scend16 scend16: %t76 = load i32, ptr %t49 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then17, label %ifend19 then17: %t78 = load ptr, ptr %t16 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 4 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 2 %t82 = load i32, ptr %t81 %t83 = call ptr @fn_itoa(i32 %t82) %t84 = call ptr @lp_str_concat(ptr @.str761, ptr %t83) store ptr %t84, ptr %retval br label %ret ifend19: %t86 = load ptr, ptr %t16 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 0 %t88 = load i32, ptr %t87 %t89 = icmp eq i32 %t88, 35 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t85 br i1 %t91, label %sc20, label %scend21 sc20: %t93 = load ptr, ptr %t16 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 4 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 %t97 = load i32, ptr %t96 %t98 = icmp eq i32 %t97, 33 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t85 br label %scend21 scend21: %t102 = load i32, ptr %t85 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then22, label %ifend24 then22: %t104 = load ptr, ptr %t16 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t107 %t109 = load ptr, ptr %t16 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1 %t111 = load ptr, ptr %t110 %t112 = call i32 @fn_enum_ordinal(ptr %t108, ptr %t111) store i32 %t112, ptr %t113 %t114 = load i32, ptr %t113 %t115 = icmp sge i32 %t114, 0 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then25, label %ifend27 then25: %t118 = load i32, ptr %t113 %t119 = call ptr @fn_itoa(i32 %t118) store ptr %t119, ptr %retval br label %ret ifend27: br label %ifend24 ifend24: %t120 = load ptr, ptr %t0 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 3 %t122 = load ptr, ptr %t121 %t123 = call ptr @fn_llty(ptr %t122) %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str762) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then28, label %ifend30 then28: store ptr @.str763, ptr %retval br label %ret ifend30: store ptr @.str764, ptr %retval br label %ret ret: %t126 = load ptr, ptr %retval ret ptr %t126 } define i32 @fn_global_needs_init_code(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t10 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 %t50 = alloca i32 %t51 = alloca i32 %t79 = 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 4 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 %t16 = load i32, ptr %t15 %t17 = icmp eq i32 %t16, 30 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t13 br i1 %t19, label %scend4, label %sc3 sc3: %t21 = load ptr, ptr %t10 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 40 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t13 br label %scend4 scend4: %t28 = load i32, ptr %t13 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t12 br i1 %t29, label %scend6, label %sc5 sc5: %t31 = load ptr, ptr %t10 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 32 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t12 br label %scend6 scend6: %t38 = load i32, ptr %t12 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t11 br i1 %t39, label %scend8, label %sc7 sc7: %t41 = load ptr, ptr %t10 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 0 %t43 = load i32, ptr %t42 %t44 = icmp eq i32 %t43, 43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t11 br label %scend8 scend8: %t48 = load i32, ptr %t11 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: store i32 0, ptr %retval br label %ret ifend11: %t52 = load ptr, ptr %t10 %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 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t51 br i1 %t57, label %sc12, label %scend13 sc12: %t59 = load ptr, ptr %t10 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str765) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t51 br label %scend13 scend13: %t65 = load i32, ptr %t51 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t50 br i1 %t66, label %sc14, label %scend15 sc14: %t68 = load ptr, ptr %t10 %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 0 %t72 = load i32, ptr %t71 %t73 = icmp eq i32 %t72, 30 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t50 br label %scend15 scend15: %t77 = load i32, ptr %t50 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then16, label %ifend18 then16: store i32 0, ptr %retval br label %ret ifend18: %t80 = load ptr, ptr %t10 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 %t82 = load i32, ptr %t81 %t83 = icmp eq i32 %t82, 35 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t79 br i1 %t85, label %sc19, label %scend20 sc19: %t87 = load ptr, ptr %t10 %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 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 %t79 br label %scend20 scend20: %t96 = load i32, ptr %t79 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then21, label %ifend23 then21: %t98 = load ptr, ptr %t10 %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 = load ptr, ptr %t10 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 %t105 = load ptr, ptr %t104 %t106 = call i32 @fn_enum_ordinal(ptr %t102, ptr %t105) %t107 = icmp sge i32 %t106, 0 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then24, label %ifend26 then24: store i32 0, ptr %retval br label %ret ifend26: br label %ifend23 ifend23: store i32 1, ptr %retval br label %ret ret: %t110 = load i32, ptr %retval ret i32 %t110 } 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 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 @.str766, 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 call void @fn_emit(ptr @.str767) %t40 = load ptr, ptr %t20 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_llty(ptr %t42) call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str768) %t44 = load ptr, ptr %t39 %t45 = load ptr, ptr %t20 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_coerce_code(ptr %t44, ptr %t47) call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str769) %t49 = load ptr, ptr %t20 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str770) br label %ifend7 ifend7: %t52 = load i32, ptr %t6 %t53 = add i32 %t52, 1 store i32 %t53, ptr %t6 br label %wcond0 wend2: call void @fn_emit(ptr @.str771) %t54 = load ptr, ptr %t4 store ptr %t54, ptr @g_code call void @fn_emit(ptr @.str772) %t55 = load ptr, ptr @g_falloc %t56 = call ptr @fn_buf_str(ptr %t55) call void @fn_emit(ptr %t56) %t57 = load ptr, ptr %t1 %t58 = call ptr @fn_buf_str(ptr %t57) call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str773) br label %ret ret: ret void } define void @fn_emit_header() { entry: %t6 = alloca i32 %t20 = alloca ptr %t27 = alloca i32 %t33 = alloca i32 %t62 = alloca i32 %t101 = alloca i32 %t143 = alloca ptr %t150 = alloca i32 %t156 = alloca i32 %t185 = alloca i32 call void @fn_emith(ptr @.str774) call void @fn_emith(ptr @.str775) call void @fn_emith(ptr @.str776) call void @fn_emith(ptr @.str777) call void @fn_emith(ptr @.str778) call void @fn_emith(ptr @.str779) call void @fn_emith(ptr @.str780) call void @fn_emith(ptr @.str781) call void @fn_emith(ptr @.str782) call void @fn_emith(ptr @.str783) call void @fn_emith(ptr @.str784) call void @fn_emith(ptr @.str785) call void @fn_emith(ptr @.str786) call void @fn_emith(ptr @.str787) call void @fn_emith(ptr @.str788) call void @fn_emith(ptr @.str789) call void @fn_emith(ptr @.str790) call void @fn_emith(ptr @.str791) call void @fn_emith(ptr @.str792) call void @fn_emith(ptr @.str793) call void @fn_emith(ptr @.str794) call void @fn_emith(ptr @.str795) call void @fn_emith(ptr @.str796) call void @fn_emith(ptr @.str797) call void @fn_emith(ptr @.str798) call void @fn_emith(ptr @.str799) 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) call void @fn_emith(ptr @.str808) call void @fn_emith(ptr @.str809) call void @fn_emith(ptr @.str810) call void @fn_emith(ptr @.str811) call void @fn_emith(ptr @.str812) call void @fn_emith(ptr @.str813) 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) %t0 = load ptr, ptr @g_g_game_name %t1 = call i64 @strlen(ptr %t0) %t2 = trunc i64 %t1 to i32 %t3 = add i32 %t2, 1 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emith(ptr %t4) call void @fn_emith(ptr @.str833) %t5 = load ptr, ptr @g_g_game_name call void @fn_emith(ptr %t5) call void @fn_emith(ptr @.str834) call void @fn_emith(ptr @.str835) 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 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 8 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: store i32 0, ptr %t27 br label %wcond6 wcond6: %t28 = load i32, ptr %t27 %t29 = load i32, ptr %t6 %t30 = icmp slt i32 %t28, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %wbody7, label %wend8 wbody7: %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 %t27 %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 %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 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t33 br i1 %t44, label %sc9, label %scend10 sc9: %t46 = load ptr, ptr @g_prog %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = load i32, ptr %t27 %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 %t20 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = call i32 @lp_str_eq(ptr %t53, ptr %t56) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t33 br label %scend10 scend10: %t60 = load i32, ptr %t33 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then11, label %ifend13 then11: %t63 = load i32, ptr %t27 %t64 = load i32, ptr @g_g_prog_user_end %t65 = icmp slt i32 %t63, %t64 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t62 br i1 %t67, label %sc14, label %scend15 sc14: %t69 = load i32, ptr %t6 %t70 = load i32, ptr @g_g_prog_user_end %t71 = icmp sge 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 %t62 br label %scend15 scend15: %t75 = load i32, ptr %t62 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then16, label %ifend18 then16: %t77 = load ptr, ptr %t20 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 %t80 = call ptr @lp_str_concat(ptr @.str836, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str837) call void @fn_perr(ptr %t81) br label %ifend18 ifend18: %t82 = load ptr, ptr %t20 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 %t84 = load ptr, ptr %t83 %t85 = call ptr @lp_str_concat(ptr @.str838, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str839) call void @fn_perr(ptr %t86) br label %ifend13 ifend13: %t87 = load i32, ptr %t27 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t27 br label %wcond6 wend8: %t89 = load ptr, ptr %t20 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1 %t91 = load ptr, ptr %t90 %t92 = call ptr @fn_layout_ty(ptr %t91) call void @fn_emith(ptr %t92) call void @fn_emith(ptr @.str840) %t93 = load ptr, ptr %t20 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 7 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp eq i32 %t97, 0 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then19, label %ifend21 then19: call void @fn_emith(ptr @.str841) br label %ifend21 ifend21: store i32 0, ptr %t101 br label %wcond22 wcond22: %t102 = load i32, ptr %t101 %t103 = load ptr, ptr %t20 %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 1 %t107 = load i32, ptr %t106 %t108 = icmp slt i32 %t102, %t107 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %wbody23, label %wend24 wbody23: %t111 = load i32, ptr %t101 %t112 = icmp sgt i32 %t111, 0 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then25, label %ifend27 then25: call void @fn_emith(ptr @.str842) br label %ifend27 ifend27: %t115 = load ptr, ptr %t20 %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 %t101 %t121 = getelementptr inbounds ptr, ptr %t119, i32 %t120 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 3 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_llty(ptr %t124) call void @fn_emith(ptr %t125) %t126 = load i32, ptr %t101 %t127 = add i32 %t126, 1 store i32 %t127, ptr %t101 br label %wcond22 wend24: call void @fn_emith(ptr @.str843) br label %ifend5 ifend5: %t128 = load i32, ptr %t6 %t129 = add i32 %t128, 1 store i32 %t129, ptr %t6 br label %wcond0 wend2: store i32 0, ptr %t6 br label %wcond28 wcond28: %t130 = load i32, ptr %t6 %t131 = load ptr, ptr @g_prog %t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 %t133 = load i32, ptr %t132 %t134 = icmp slt i32 %t130, %t133 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %wbody29, label %wend30 wbody29: %t137 = load ptr, ptr @g_prog %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = load i32, ptr %t6 %t141 = getelementptr inbounds ptr, ptr %t139, i32 %t140 %t142 = load ptr, ptr %t141 store ptr %t142, ptr %t143 %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, 2 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then31, label %ifend33 then31: store i32 0, ptr %t150 br label %wcond34 wcond34: %t151 = load i32, ptr %t150 %t152 = load i32, ptr %t6 %t153 = icmp slt i32 %t151, %t152 %t154 = zext i1 %t153 to i32 %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %wbody35, label %wend36 wbody35: %t157 = load ptr, ptr @g_prog %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 %t159 = load ptr, ptr %t158 %t160 = load i32, ptr %t150 %t161 = getelementptr inbounds ptr, ptr %t159, i32 %t160 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 0 %t164 = load i32, ptr %t163 %t165 = icmp eq i32 %t164, 2 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t156 br i1 %t167, label %sc37, label %scend38 sc37: %t169 = load ptr, ptr @g_prog %t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 %t171 = load ptr, ptr %t170 %t172 = load i32, ptr %t150 %t173 = getelementptr inbounds ptr, ptr %t171, i32 %t172 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 1 %t176 = load ptr, ptr %t175 %t177 = load ptr, ptr %t143 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 %t179 = load ptr, ptr %t178 %t180 = call i32 @lp_str_eq(ptr %t176, ptr %t179) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t156 br label %scend38 scend38: %t183 = load i32, ptr %t156 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then39, label %ifend41 then39: %t186 = load i32, ptr %t150 %t187 = load i32, ptr @g_g_prog_user_end %t188 = icmp slt i32 %t186, %t187 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t185 br i1 %t190, label %sc42, label %scend43 sc42: %t192 = load i32, ptr %t6 %t193 = load i32, ptr @g_g_prog_user_end %t194 = icmp sge 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 %t185 br label %scend43 scend43: %t198 = load i32, ptr %t185 %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %then44, label %ifend46 then44: %t200 = load ptr, ptr %t143 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 %t202 = load ptr, ptr %t201 %t203 = call ptr @lp_str_concat(ptr @.str844, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str845) call void @fn_perr(ptr %t204) br label %ifend46 ifend46: %t205 = load ptr, ptr %t143 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 1 %t207 = load ptr, ptr %t206 %t208 = call ptr @lp_str_concat(ptr @.str846, ptr %t207) %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str847) call void @fn_perr(ptr %t209) br label %ifend41 ifend41: %t210 = load i32, ptr %t150 %t211 = add i32 %t210, 1 store i32 %t211, ptr %t150 br label %wcond34 wend36: call void @fn_emith(ptr @.str848) %t212 = load ptr, ptr %t143 %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1 %t214 = load ptr, ptr %t213 call void @fn_emith(ptr %t214) call void @fn_emith(ptr @.str849) %t215 = load ptr, ptr %t143 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 3 %t217 = load ptr, ptr %t216 %t218 = call ptr @fn_llty(ptr %t217) call void @fn_emith(ptr %t218) call void @fn_emith(ptr @.str850) %t219 = load ptr, ptr %t143 %t220 = call ptr @fn_global_init(ptr %t219) call void @fn_emith(ptr %t220) call void @fn_emith(ptr @.str851) br label %ifend33 ifend33: %t221 = load i32, ptr %t6 %t222 = add i32 %t221, 1 store i32 %t222, ptr %t6 br label %wcond28 wend30: 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 @.str852) %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 @.str853) %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 @.str854) 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 @.str855) 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 @.str856) 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 @.str857) call void @fn_emith(ptr @.str858) call void @fn_emith(ptr @.str859) call void @fn_emith(ptr @.str860) call void @fn_emith(ptr @.str861) call void @fn_emith(ptr @.str862) call void @fn_emith(ptr @.str863) call void @fn_emith(ptr @.str864) call void @fn_emith(ptr @.str865) call void @fn_emith(ptr @.str866) call void @fn_emith(ptr @.str867) call void @fn_emith(ptr @.str868) call void @fn_emith(ptr @.str869) call void @fn_emith(ptr @.str870) call void @fn_emith(ptr @.str871) call void @fn_emith(ptr @.str872) call void @fn_emith(ptr @.str873) call void @fn_emith(ptr @.str874) call void @fn_emith(ptr @.str875) call void @fn_emith(ptr @.str876) call void @fn_emith(ptr @.str877) call void @fn_emith(ptr @.str878) call void @fn_emith(ptr @.str879) call void @fn_emith(ptr @.str880) call void @fn_emith(ptr @.str881) call void @fn_emith(ptr @.str882) call void @fn_emith(ptr @.str883) call void @fn_emith(ptr @.str884) 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) br label %ret ret: ret void } define void @fn_emit_int_str() { entry: 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) br label %ret ret: ret void } define void @fn_emit_long_str() { entry: call void @fn_emith(ptr @.str909) call void @fn_emith(ptr @.str910) call void @fn_emith(ptr @.str911) call void @fn_emith(ptr @.str912) call void @fn_emith(ptr @.str913) call void @fn_emith(ptr @.str914) call void @fn_emith(ptr @.str915) call void @fn_emith(ptr @.str916) call void @fn_emith(ptr @.str917) call void @fn_emith(ptr @.str918) call void @fn_emith(ptr @.str919) call void @fn_emith(ptr @.str920) call void @fn_emith(ptr @.str921) call void @fn_emith(ptr @.str922) call void @fn_emith(ptr @.str923) call void @fn_emith(ptr @.str924) call void @fn_emith(ptr @.str925) br label %ret ret: ret void } define void @fn_emit_str_slice() { entry: call void @fn_emith(ptr @.str926) call void @fn_emith(ptr @.str927) call void @fn_emith(ptr @.str928) call void @fn_emith(ptr @.str929) call void @fn_emith(ptr @.str930) call void @fn_emith(ptr @.str931) call void @fn_emith(ptr @.str932) call void @fn_emith(ptr @.str933) 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 @.str934, 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 @.str935, 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 @.str936) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str937) %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 @.str938) %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 @.str939) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str940) %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 %t67 = alloca ptr %t79 = alloca ptr %t85 = alloca ptr %t87 = alloca ptr %t93 = alloca ptr %t100 = alloca ptr %t102 = 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 @.str941) %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 @.str942, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str943) %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 @.str944, 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 @.str945) %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 @.str946, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str947) %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 @.str948, ptr @g_g_addr_ty %t51 = load ptr, ptr %t50 store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t5 %t53 = getelementptr inbounds %Cmp_Val, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str949) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then9, label %ifend11 then9: %t57 = load ptr, ptr %t5 %t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr @.str950, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str951) %t62 = load ptr, ptr %t17 %t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = call ptr @lp_str_concat(ptr %t61, ptr %t64) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 store ptr @.str952, ptr @g_g_addr_ty %t68 = load ptr, ptr %t67 store ptr %t68, ptr %retval br label %ret ifend11: %t69 = load ptr, ptr %t5 %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = call ptr @lp_str_concat(ptr @.str953, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str954) %t74 = load ptr, ptr %t17 %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 @fn_emit_bind(ptr %t77) store ptr %t78, ptr %t79 store ptr @.str955, ptr @g_g_addr_ty %t80 = load ptr, ptr %t79 store ptr %t80, ptr %retval br label %ret ifend2: %t81 = load ptr, ptr %t5 %t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 %t84 = call ptr @fn_slice_elem(ptr %t83) store ptr %t84, ptr %t85 %t86 = call ptr @fn_nreg() store ptr %t86, ptr %t87 call void @fn_emit(ptr @.str956) %t88 = load ptr, ptr %t87 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str957) %t89 = load ptr, ptr %t5 %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 @.str958) %t92 = call ptr @fn_nreg() store ptr %t92, ptr %t93 call void @fn_emit(ptr @.str959) %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str960) %t95 = load ptr, ptr %t87 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str961) %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 5 %t98 = load ptr, ptr %t97 %t99 = call ptr @fn_emit_expr(ptr %t98) store ptr %t99, ptr %t100 %t101 = call ptr @fn_nreg() store ptr %t101, ptr %t102 call void @fn_emit(ptr @.str962) %t103 = load ptr, ptr %t102 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str963) %t104 = load ptr, ptr %t85 %t105 = call ptr @fn_llty(ptr %t104) call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str964) %t106 = load ptr, ptr %t93 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str965) %t107 = load ptr, ptr %t100 %t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0 %t109 = load ptr, ptr %t108 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str966) %t110 = load ptr, ptr %t85 store ptr %t110, ptr @g_g_addr_ty %t111 = load ptr, ptr %t102 store ptr %t111, ptr %retval br label %ret ret: %t112 = load ptr, ptr %retval ret ptr %t112 } 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 @.str967) %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 @.str968) %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 @.str969) %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 @.str970) %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 @.str971) %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 @.str972) %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 @.str973) %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 @.str974) %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 @.str975) %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 @.str976) %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 @.str977) %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 @.str978) %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 @.str979) %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 @.str980) %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 @.str981) %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 @.str982) %t3 = load ptr, ptr %t2 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str983) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str984) %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 %t196 = alloca ptr %t207 = 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 @.str985) %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 @.str986, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str987) %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 @.str988, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str989) %t19 = load ptr, ptr %t15 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str990) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str991) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str992) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: %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 @.str993, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str994) %t36 = load ptr, ptr %t32 %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str995) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str996) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str997) %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 @.str998) %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 @.str999, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1000) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 store ptr @.str1001, ptr %t66 %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str1002) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then11, label %ifend13 then11: store ptr @.str1003, ptr %t66 br label %ifend13 ifend13: %t70 = load ptr, ptr %t66 %t71 = call ptr @lp_str_concat(ptr @.str1004, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str1005) %t73 = load ptr, ptr %t57 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1006) %t76 = load ptr, ptr %t65 %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1007) %t79 = load ptr, ptr %t54 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1008) %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 @.str1009, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1010) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1011) store ptr %t88, ptr %retval br label %ret ifend10: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1012) %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 @.str1013, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1014) %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 @.str1015, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1016) %t109 = load ptr, ptr %t105 %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1017) %t112 = load ptr, ptr %t100 %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str1018) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str1019) store ptr %t116, ptr %retval br label %ret ifend16: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str1020) %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 @.str1021, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1022) %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 @.str1023, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1024) %t131 = call ptr @fn_emit_bind(ptr %t130) %t132 = call ptr @fn_val(ptr %t131, ptr @.str1025) store ptr %t132, ptr %retval br label %ret ifend19: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1026) %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 @.str1027) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1028) %t140 = call ptr @fn_val(ptr @.str1029, ptr @.str1030) store ptr %t140, ptr %retval br label %ret ifend22: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1031) %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 @.str1032) %t147 = load ptr, ptr %t146 call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str1033) %t148 = call ptr @fn_val(ptr @.str1034, ptr @.str1035) store ptr %t148, ptr %retval br label %ret ifend25: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1036) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then26, label %ifend28 then26: %t152 = call ptr @fn_emit_bind(ptr @.str1037) %t153 = call ptr @fn_val(ptr %t152, ptr @.str1038) store ptr %t153, ptr %retval br label %ret ifend28: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str1039) %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 @.str1040) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = call ptr @lp_str_concat(ptr @.str1041, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str1042) %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 @.str1043, ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) %t172 = call ptr @fn_val(ptr %t171, ptr @.str1044) store ptr %t172, ptr %retval br label %ret ifend31: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str1045) %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 @.str1046) %t179 = load ptr, ptr %t178 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str1047) call void @fn_emit(ptr @.str1048) store i32 1, ptr @g_g_term %t180 = call ptr @fn_val(ptr @.str1049, ptr @.str1050) store ptr %t180, ptr %retval br label %ret ifend34: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1051) %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then35, label %ifend37 then35: %t184 = call ptr @fn_emit_bind(ptr @.str1052) %t185 = call ptr @fn_val(ptr %t184, ptr @.str1053) store ptr %t185, ptr %retval br label %ret ifend37: %t186 = load ptr, ptr %t0 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str1054) %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then38, label %ifend40 then38: %t189 = call ptr @fn_emit_bind(ptr @.str1055) %t190 = call ptr @fn_val(ptr %t189, ptr @.str1056) store ptr %t190, ptr %retval br label %ret ifend40: %t191 = load ptr, ptr %t0 %t192 = call i32 @lp_str_eq(ptr %t191, ptr @.str1057) %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %then41, label %ifend43 then41: %t194 = load ptr, ptr %t1 %t195 = call ptr @fn_arg_code(ptr %t194, i32 0) store ptr %t195, ptr %t196 %t197 = load ptr, ptr %t196 %t198 = call ptr @lp_str_concat(ptr @.str1058, ptr %t197) %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str1059) %t200 = call ptr @fn_emit_bind(ptr %t199) %t201 = call ptr @fn_val(ptr %t200, ptr @.str1060) store ptr %t201, ptr %retval br label %ret ifend43: %t202 = load ptr, ptr %t0 %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str1061) %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then44, label %ifend46 then44: %t205 = load ptr, ptr %t1 %t206 = call ptr @fn_arg_code(ptr %t205, i32 0) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t207 %t209 = call ptr @lp_str_concat(ptr @.str1062, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str1063) %t211 = call ptr @fn_emit_bind(ptr %t210) %t212 = call ptr @fn_val(ptr %t211, ptr @.str1064) store ptr %t212, ptr %retval br label %ret ifend46: store i32 0, ptr @g_g_intrin_ok %t213 = call ptr @fn_val(ptr @.str1065, ptr @.str1066) store ptr %t213, ptr %retval br label %ret ret: %t214 = load ptr, ptr %retval ret ptr %t214 } 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 %t86 = alloca i32 %t100 = alloca i32 %t101 = alloca i32 %t119 = alloca i32 %t120 = alloca i32 %t138 = alloca i32 %t139 = alloca i32 %t157 = alloca i32 %t158 = alloca i32 %t159 = alloca i32 %t184 = alloca i32 %t185 = alloca i32 store ptr %arg_name, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1067) %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 @.str1068) %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 @.str1069) %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 @.str1070) %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 @.str1071) %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 @.str1072) %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 @.str1073) %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 @.str1074) %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 @.str1075) %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 @.str1076) %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 @.str1077) %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 @.str1078) %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 @.str1079) %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 @.str1080) %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 @.str1081) %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: %t87 = load ptr, ptr %t0 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str1082) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t86 br i1 %t89, label %scend38, label %sc37 sc37: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1083) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t86 br label %scend38 scend38: %t95 = load i32, ptr %t86 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then39, label %ifend41 then39: store i32 1, ptr %retval br label %ret ifend41: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str1084) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then42, label %ifend44 then42: store i32 1, ptr %retval br label %ret ifend44: %t102 = load ptr, ptr %t0 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str1085) %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t101 br i1 %t104, label %scend46, label %sc45 sc45: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str1086) %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t101 br label %scend46 scend46: %t110 = load i32, ptr %t101 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t100 br i1 %t111, label %scend48, label %sc47 sc47: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1087) %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t100 br label %scend48 scend48: %t117 = load i32, ptr %t100 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then49, label %ifend51 then49: store i32 1, ptr %retval br label %ret ifend51: %t121 = load ptr, ptr %t0 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str1088) %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t120 br i1 %t123, label %scend53, label %sc52 sc52: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1089) %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t120 br label %scend53 scend53: %t129 = load i32, ptr %t120 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t119 br i1 %t130, label %scend55, label %sc54 sc54: %t132 = load ptr, ptr %t0 %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str1090) %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t119 br label %scend55 scend55: %t136 = load i32, ptr %t119 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then56, label %ifend58 then56: store i32 1, ptr %retval br label %ret ifend58: %t140 = load ptr, ptr %t0 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str1091) %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t139 br i1 %t142, label %scend60, label %sc59 sc59: %t144 = load ptr, ptr %t0 %t145 = call i32 @lp_str_eq(ptr %t144, ptr @.str1092) %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t139 br label %scend60 scend60: %t148 = load i32, ptr %t139 %t149 = icmp ne i32 %t148, 0 %t150 = zext i1 %t149 to i32 store i32 %t150, ptr %t138 br i1 %t149, label %scend62, label %sc61 sc61: %t151 = load ptr, ptr %t0 %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str1093) %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t138 br label %scend62 scend62: %t155 = load i32, ptr %t138 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then63, label %ifend65 then63: store i32 1, ptr %retval br label %ret ifend65: %t160 = load ptr, ptr %t0 %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str1094) %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t159 br i1 %t162, label %scend67, label %sc66 sc66: %t164 = load ptr, ptr %t0 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str1095) %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t159 br label %scend67 scend67: %t168 = load i32, ptr %t159 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t158 br i1 %t169, label %scend69, label %sc68 sc68: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str1096) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t158 br label %scend69 scend69: %t175 = load i32, ptr %t158 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t157 br i1 %t176, label %scend71, label %sc70 sc70: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1097) %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t157 br label %scend71 scend71: %t182 = load i32, ptr %t157 %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then72, label %ifend74 then72: store i32 1, ptr %retval br label %ret ifend74: %t186 = load ptr, ptr %t0 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str1098) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t185 br i1 %t188, label %scend76, label %sc75 sc75: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str1099) %t192 = icmp ne i32 %t191, 0 %t193 = zext i1 %t192 to i32 store i32 %t193, ptr %t185 br label %scend76 scend76: %t194 = load i32, ptr %t185 %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t184 br i1 %t195, label %scend78, label %sc77 sc77: %t197 = load ptr, ptr %t0 %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str1100) %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t184 br label %scend78 scend78: %t201 = load i32, ptr %t184 %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then79, label %ifend81 then79: store i32 1, ptr %retval br label %ret ifend81: store i32 0, ptr %retval br label %ret ret: %t203 = load i32, ptr %retval ret i32 %t203 } 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 %t174 = alloca ptr %t182 = alloca ptr %t190 = alloca ptr %t201 = alloca ptr %t204 = alloca ptr %t207 = alloca ptr %t210 = alloca ptr %t221 = alloca ptr %t229 = alloca ptr %t240 = alloca ptr %t243 = alloca ptr %t252 = alloca ptr %t255 = alloca ptr %t264 = alloca ptr %t267 = alloca ptr %t281 = alloca ptr %t284 = alloca ptr %t287 = alloca ptr %t297 = alloca ptr %t300 = alloca ptr %t303 = alloca ptr %t313 = alloca ptr %t316 = alloca ptr %t325 = alloca ptr %t336 = alloca ptr %t347 = alloca ptr %t358 = alloca ptr %t369 = alloca ptr %t372 = alloca ptr %t386 = 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 @.str1101) %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 @.str1102) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str1103) %t9 = call ptr @fn_val(ptr @.str1104, ptr @.str1105) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1106) %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 @.str1107, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1108) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 call void @fn_emit(ptr @.str1109) %t27 = load ptr, ptr %t15 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str1110) %t28 = load ptr, ptr %t18 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str1111) %t29 = load ptr, ptr %t26 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str1112) %t30 = call ptr @fn_val(ptr @.str1113, ptr @.str1114) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1115) %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 @.str1116) %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str1117) %t43 = load ptr, ptr %t36 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str1118) %t44 = load ptr, ptr %t39 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str1119) %t45 = load ptr, ptr %t41 %t46 = call ptr @fn_val(ptr %t45, ptr @.str1120) store ptr %t46, ptr %retval br label %ret ifend8: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1121) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: %t50 = call ptr @fn_emit_bind(ptr @.str1122) %t51 = call ptr @fn_val(ptr %t50, ptr @.str1123) store ptr %t51, ptr %retval br label %ret ifend11: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1124) %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 @.str1125) store ptr %t67, ptr %retval br label %ret ifend14: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1126) %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 @.str1127) store ptr %t83, ptr %retval br label %ret ifend17: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1128) %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 @.str1129, ptr @.str1130) store ptr %t89, ptr %retval br label %ret ifend23: %t90 = call ptr @fn_val(ptr @.str1131, ptr @.str1132) store ptr %t90, ptr %retval br label %ret ifend20: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1133) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then24, label %ifend26 then24: %t94 = call ptr @fn_val(ptr @.str1134, ptr @.str1135) store ptr %t94, ptr %retval br label %ret ifend26: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str1136) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then27, label %ifend29 then27: %t98 = call ptr @fn_emit_bind(ptr @.str1137) %t99 = call ptr @fn_val(ptr %t98, ptr @.str1138) store ptr %t99, ptr %retval br label %ret ifend29: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str1139) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then30, label %ifend32 then30: %t103 = call ptr @fn_emit_bind(ptr @.str1140) %t104 = call ptr @fn_val(ptr %t103, ptr @.str1141) store ptr %t104, ptr %retval br label %ret ifend32: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str1142) %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 @.str1143) %t120 = load ptr, ptr %t110 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str1144) %t121 = load ptr, ptr %t113 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str1145) %t122 = load ptr, ptr %t116 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str1146) %t123 = load ptr, ptr %t119 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str1147) %t124 = call ptr @fn_val(ptr @.str1148, ptr @.str1149) store ptr %t124, ptr %retval br label %ret ifend35: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1150) %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 @.str1151) %t137 = load ptr, ptr %t130 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str1152) %t138 = load ptr, ptr %t133 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str1153) %t139 = load ptr, ptr %t136 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1154) %t140 = call ptr @fn_val(ptr @.str1155, ptr @.str1156) store ptr %t140, ptr %retval br label %ret ifend38: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1157) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then39, label %ifend41 then39: call void @fn_emit(ptr @.str1158) %t144 = call ptr @fn_val(ptr @.str1159, ptr @.str1160) store ptr %t144, ptr %retval br label %ret ifend41: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str1161) %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 @.str1162) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str1163) %t152 = call ptr @fn_val(ptr @.str1164, ptr @.str1165) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1166) %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 @.str1167) %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str1168) %t160 = call ptr @fn_val(ptr @.str1169, ptr @.str1170) store ptr %t160, ptr %retval br label %ret ifend47: %t161 = load ptr, ptr %t0 %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str1171) %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 call void @fn_emit(ptr @.str1172) %t167 = load ptr, ptr %t166 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str1173) %t168 = call ptr @fn_val(ptr @.str1174, ptr @.str1175) store ptr %t168, ptr %retval br label %ret ifend50: %t169 = load ptr, ptr %t0 %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str1176) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then51, label %ifend53 then51: %t172 = load ptr, ptr %t1 %t173 = call ptr @fn_arg_code(ptr %t172, i32 0) store ptr %t173, ptr %t174 call void @fn_emit(ptr @.str1177) %t175 = load ptr, ptr %t174 call void @fn_emit(ptr %t175) call void @fn_emit(ptr @.str1178) %t176 = call ptr @fn_val(ptr @.str1179, ptr @.str1180) store ptr %t176, ptr %retval br label %ret ifend53: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str1181) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then54, label %ifend56 then54: %t180 = load ptr, ptr %t1 %t181 = call ptr @fn_arg_code(ptr %t180, i32 0) store ptr %t181, ptr %t182 call void @fn_emit(ptr @.str1182) %t183 = load ptr, ptr %t182 call void @fn_emit(ptr %t183) call void @fn_emit(ptr @.str1183) %t184 = call ptr @fn_val(ptr @.str1184, ptr @.str1185) store ptr %t184, ptr %retval br label %ret ifend56: %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str1186) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then57, label %ifend59 then57: %t188 = load ptr, ptr %t1 %t189 = call ptr @fn_arg_code(ptr %t188, i32 0) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t190 %t192 = call ptr @lp_str_concat(ptr @.str1187, ptr %t191) %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str1188) %t194 = call ptr @fn_emit_bind(ptr %t193) %t195 = call ptr @fn_val(ptr %t194, ptr @.str1189) store ptr %t195, ptr %retval br label %ret ifend59: %t196 = load ptr, ptr %t0 %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str1190) %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 %t1 %t203 = call ptr @fn_arg_code(ptr %t202, i32 1) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t1 %t206 = call ptr @fn_arg_code(ptr %t205, i32 2) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t1 %t209 = call ptr @fn_arg_code(ptr %t208, i32 3) store ptr %t209, ptr %t210 call void @fn_emit(ptr @.str1191) %t211 = load ptr, ptr %t201 call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str1192) %t212 = load ptr, ptr %t204 call void @fn_emit(ptr %t212) call void @fn_emit(ptr @.str1193) %t213 = load ptr, ptr %t207 call void @fn_emit(ptr %t213) call void @fn_emit(ptr @.str1194) %t214 = load ptr, ptr %t210 call void @fn_emit(ptr %t214) call void @fn_emit(ptr @.str1195) %t215 = call ptr @fn_val(ptr @.str1196, ptr @.str1197) store ptr %t215, ptr %retval br label %ret ifend62: %t216 = load ptr, ptr %t0 %t217 = call i32 @lp_str_eq(ptr %t216, ptr @.str1198) %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then63, label %ifend65 then63: %t219 = load ptr, ptr %t1 %t220 = call ptr @fn_arg_code(ptr %t219, i32 0) store ptr %t220, ptr %t221 call void @fn_emit(ptr @.str1199) %t222 = load ptr, ptr %t221 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str1200) %t223 = call ptr @fn_val(ptr @.str1201, ptr @.str1202) store ptr %t223, ptr %retval br label %ret ifend65: %t224 = load ptr, ptr %t0 %t225 = call i32 @lp_str_eq(ptr %t224, ptr @.str1203) %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then66, label %ifend68 then66: %t227 = load ptr, ptr %t1 %t228 = call ptr @fn_arg_code(ptr %t227, i32 0) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t229 %t231 = call ptr @lp_str_concat(ptr @.str1204, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str1205) %t233 = call ptr @fn_emit_bind(ptr %t232) %t234 = call ptr @fn_val(ptr %t233, ptr @.str1206) store ptr %t234, ptr %retval br label %ret ifend68: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str1207) %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 %t1 %t242 = call ptr @fn_arg_code(ptr %t241, i32 1) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str1208) %t244 = load ptr, ptr %t240 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str1209) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str1210) %t246 = call ptr @fn_val(ptr @.str1211, ptr @.str1212) store ptr %t246, ptr %retval br label %ret ifend71: %t247 = load ptr, ptr %t0 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str1213) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then72, label %ifend74 then72: %t250 = load ptr, ptr %t1 %t251 = call ptr @fn_arg_code(ptr %t250, i32 0) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t1 %t254 = call ptr @fn_arg_code(ptr %t253, i32 1) store ptr %t254, ptr %t255 call void @fn_emit(ptr @.str1214) %t256 = load ptr, ptr %t252 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str1215) %t257 = load ptr, ptr %t255 call void @fn_emit(ptr %t257) call void @fn_emit(ptr @.str1216) %t258 = call ptr @fn_val(ptr @.str1217, ptr @.str1218) store ptr %t258, ptr %retval br label %ret ifend74: %t259 = load ptr, ptr %t0 %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str1219) %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then75, label %ifend77 then75: %t262 = load ptr, ptr %t1 %t263 = call ptr @fn_arg_code(ptr %t262, i32 0) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t1 %t266 = call ptr @fn_arg_code(ptr %t265, i32 1) store ptr %t266, ptr %t267 %t268 = load ptr, ptr %t264 %t269 = call ptr @lp_str_concat(ptr @.str1220, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str1221) %t271 = load ptr, ptr %t267 %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str1222) %t274 = call ptr @fn_emit_bind(ptr %t273) %t275 = call ptr @fn_val(ptr %t274, ptr @.str1223) store ptr %t275, ptr %retval br label %ret ifend77: %t276 = load ptr, ptr %t0 %t277 = call i32 @lp_str_eq(ptr %t276, ptr @.str1224) %t278 = icmp ne i32 %t277, 0 br i1 %t278, label %then78, label %ifend80 then78: %t279 = load ptr, ptr %t1 %t280 = call ptr @fn_arg_code(ptr %t279, i32 0) store ptr %t280, ptr %t281 %t282 = load ptr, ptr %t1 %t283 = call ptr @fn_arg_code(ptr %t282, i32 1) store ptr %t283, ptr %t284 %t285 = load ptr, ptr %t1 %t286 = call ptr @fn_arg_code(ptr %t285, i32 2) store ptr %t286, ptr %t287 call void @fn_emit(ptr @.str1225) %t288 = load ptr, ptr %t281 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str1226) %t289 = load ptr, ptr %t284 call void @fn_emit(ptr %t289) call void @fn_emit(ptr @.str1227) %t290 = load ptr, ptr %t287 call void @fn_emit(ptr %t290) call void @fn_emit(ptr @.str1228) %t291 = call ptr @fn_val(ptr @.str1229, ptr @.str1230) store ptr %t291, ptr %retval br label %ret ifend80: %t292 = load ptr, ptr %t0 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str1231) %t294 = icmp ne i32 %t293, 0 br i1 %t294, label %then81, label %ifend83 then81: %t295 = load ptr, ptr %t1 %t296 = call ptr @fn_arg_code(ptr %t295, i32 0) store ptr %t296, ptr %t297 %t298 = load ptr, ptr %t1 %t299 = call ptr @fn_arg_code(ptr %t298, i32 1) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t1 %t302 = call ptr @fn_arg_code(ptr %t301, i32 2) store ptr %t302, ptr %t303 call void @fn_emit(ptr @.str1232) %t304 = load ptr, ptr %t297 call void @fn_emit(ptr %t304) call void @fn_emit(ptr @.str1233) %t305 = load ptr, ptr %t300 call void @fn_emit(ptr %t305) call void @fn_emit(ptr @.str1234) %t306 = load ptr, ptr %t303 call void @fn_emit(ptr %t306) call void @fn_emit(ptr @.str1235) %t307 = call ptr @fn_val(ptr @.str1236, ptr @.str1237) store ptr %t307, ptr %retval br label %ret ifend83: %t308 = load ptr, ptr %t0 %t309 = call i32 @lp_str_eq(ptr %t308, ptr @.str1238) %t310 = icmp ne i32 %t309, 0 br i1 %t310, label %then84, label %ifend86 then84: %t311 = load ptr, ptr %t1 %t312 = call ptr @fn_arg_code(ptr %t311, i32 0) store ptr %t312, ptr %t313 %t314 = load ptr, ptr %t1 %t315 = call ptr @fn_arg_code(ptr %t314, i32 1) store ptr %t315, ptr %t316 call void @fn_emit(ptr @.str1239) %t317 = load ptr, ptr %t313 call void @fn_emit(ptr %t317) call void @fn_emit(ptr @.str1240) %t318 = load ptr, ptr %t316 call void @fn_emit(ptr %t318) call void @fn_emit(ptr @.str1241) %t319 = call ptr @fn_val(ptr @.str1242, ptr @.str1243) store ptr %t319, ptr %retval br label %ret ifend86: %t320 = load ptr, ptr %t0 %t321 = call i32 @lp_str_eq(ptr %t320, ptr @.str1244) %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then87, label %ifend89 then87: %t323 = load ptr, ptr %t1 %t324 = call ptr @fn_arg_code(ptr %t323, i32 0) store ptr %t324, ptr %t325 %t326 = load ptr, ptr %t325 %t327 = call ptr @lp_str_concat(ptr @.str1245, ptr %t326) %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str1246) %t329 = call ptr @fn_emit_bind(ptr %t328) %t330 = call ptr @fn_val(ptr %t329, ptr @.str1247) store ptr %t330, ptr %retval br label %ret ifend89: %t331 = load ptr, ptr %t0 %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str1248) %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 %t336 %t338 = call ptr @lp_str_concat(ptr @.str1249, ptr %t337) %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str1250) %t340 = call ptr @fn_emit_bind(ptr %t339) %t341 = call ptr @fn_val(ptr %t340, ptr @.str1251) store ptr %t341, ptr %retval br label %ret ifend92: %t342 = load ptr, ptr %t0 %t343 = call i32 @lp_str_eq(ptr %t342, ptr @.str1252) %t344 = icmp ne i32 %t343, 0 br i1 %t344, label %then93, label %ifend95 then93: %t345 = load ptr, ptr %t1 %t346 = call ptr @fn_arg_code(ptr %t345, i32 0) store ptr %t346, ptr %t347 %t348 = load ptr, ptr %t347 %t349 = call ptr @lp_str_concat(ptr @.str1253, ptr %t348) %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str1254) %t351 = call ptr @fn_emit_bind(ptr %t350) %t352 = call ptr @fn_val(ptr %t351, ptr @.str1255) store ptr %t352, ptr %retval br label %ret ifend95: %t353 = load ptr, ptr %t0 %t354 = call i32 @lp_str_eq(ptr %t353, ptr @.str1256) %t355 = icmp ne i32 %t354, 0 br i1 %t355, label %then96, label %ifend98 then96: %t356 = load ptr, ptr %t1 %t357 = call ptr @fn_arg_code(ptr %t356, i32 0) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t358 %t360 = call ptr @lp_str_concat(ptr @.str1257, ptr %t359) %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str1258) %t362 = call ptr @fn_emit_bind(ptr %t361) %t363 = call ptr @fn_val(ptr %t362, ptr @.str1259) store ptr %t363, ptr %retval br label %ret ifend98: %t364 = load ptr, ptr %t0 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str1260) %t366 = icmp ne i32 %t365, 0 br i1 %t366, label %then99, label %ifend101 then99: %t367 = load ptr, ptr %t1 %t368 = call ptr @fn_arg_code(ptr %t367, i32 0) store ptr %t368, ptr %t369 %t370 = load ptr, ptr %t1 %t371 = call ptr @fn_arg_code(ptr %t370, i32 1) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t369 %t374 = call ptr @lp_str_concat(ptr @.str1261, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1262) %t376 = load ptr, ptr %t372 %t377 = call ptr @lp_str_concat(ptr %t375, ptr %t376) %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str1263) %t379 = call ptr @fn_emit_bind(ptr %t378) %t380 = call ptr @fn_val(ptr %t379, ptr @.str1264) store ptr %t380, ptr %retval br label %ret ifend101: %t381 = load ptr, ptr %t0 %t382 = call i32 @lp_str_eq(ptr %t381, ptr @.str1265) %t383 = icmp ne i32 %t382, 0 br i1 %t383, label %then102, label %ifend104 then102: %t384 = load ptr, ptr %t1 %t385 = call ptr @fn_arg_code(ptr %t384, i32 0) store ptr %t385, ptr %t386 call void @fn_emit(ptr @.str1266) %t387 = load ptr, ptr %t386 call void @fn_emit(ptr %t387) call void @fn_emit(ptr @.str1267) %t388 = call ptr @fn_val(ptr @.str1268, ptr @.str1269) store ptr %t388, ptr %retval br label %ret ifend104: %t389 = call ptr @fn_val(ptr @.str1270, ptr @.str1271) store ptr %t389, ptr %retval br label %ret ret: %t390 = load ptr, ptr %retval ret ptr %t390 } 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 @.str1272) %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 @.str1273) %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 @.str1274) %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 @.str1275) %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 %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 @.str1276) %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 @.str1277, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1278) %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 @.str1279, 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 @.str1280, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1281) %t30 = load ptr, ptr %t26 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1282) %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 @.str1283) %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 @.str1284) %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 @.str1285, ptr %t71 %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1286) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then8, label %ifend10 then8: store ptr @.str1287, ptr %t71 br label %ifend10 ifend10: %t75 = load ptr, ptr %t71 %t76 = call ptr @lp_str_concat(ptr @.str1288, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str1289) %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 @.str1290) %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 @.str1291, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str1292) %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 @.str1293) %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 @.str1294, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str1295) %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 @.str1296, ptr %t144) %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str1297) %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 @.str1298) %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 @.str1299, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1300) %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 @.str1301, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1302) %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 @.str1303) %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 @.str1304, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1305) %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 @.str1306, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1307) %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 @.str1308, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1309) %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 @.str1310, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1311) %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 @.str1312, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1313) %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 @.str1314, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1315) %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 @.str1316, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1317) %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 @.str1318, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1319) %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 @.str1320, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1321) %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 @.str1322, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1323) %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 @.str1324, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1325) %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 @.str1326, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1327) %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 @.str1328, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1329) %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 @.str1330, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1331) %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 @.str1332) %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 @.str1333) %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 @.str1334) %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 @.str1335) %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 @.str1336) %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 @.str1337) %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 @.str1338) %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 @.str1339) %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 @.str1340) %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 @.str1341) %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 @.str1342) %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 @.str1343) %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 @.str1344) %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 @.str1345) %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 @.str1346) %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 @.str1347) %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 @.str1348) %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 @.str1349) %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 @.str1350) %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 @.str1351) %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 @.str1352) %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 @.str1353) %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 @.str1354) %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 @.str1355) %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 @.str1356) %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 @.str1357) %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 @.str1358) %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 @.str1359) %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 @.str1360) %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 @.str1361) %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 @.str1362) %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 @.str1363) %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_emit_math_ns(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 @.str1364) %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 @.str1365) %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 @.str1366) %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 @.str1367) %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(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 @.str1368) %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 @.str1369, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1370) %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 @.str1371, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1372) %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 @.str1373, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1374) %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 @.str1375, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str1376) %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 @.str1377) store ptr %t69, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1378) %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 @.str1379, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1380) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1381) store ptr %t88, ptr %retval br label %ret ifend14: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1382) %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 @.str1383, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1384) %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 @.str1385, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1386) %t111 = call ptr @fn_emit_bind(ptr %t110) %t112 = call ptr @fn_val(ptr %t111, ptr @.str1387) store ptr %t112, ptr %retval br label %ret ifend17: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1388) %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 @.str1389, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str1390) %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 @.str1391, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1392) %t135 = call ptr @fn_emit_bind(ptr %t134) %t136 = call ptr @fn_val(ptr %t135, ptr @.str1393) store ptr %t136, ptr %retval br label %ret ifend20: %t137 = load ptr, ptr %t0 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str1394) %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 @.str1395) store ptr %t177, ptr %retval br label %ret ifend23: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1396) %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 @.str1397) store ptr %t218, ptr %retval br label %ret ifend26: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1398) %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 @.str1399, ptr %t233) %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str1400) %t236 = call ptr @fn_emit_bind(ptr %t235) %t237 = call ptr @fn_val(ptr %t236, ptr @.str1401) store ptr %t237, ptr %retval br label %ret ifend29: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str1402) %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 @.str1403, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str1404) %t255 = call ptr @fn_emit_bind(ptr %t254) %t256 = call ptr @fn_val(ptr %t255, ptr @.str1405) store ptr %t256, ptr %retval br label %ret ifend32: %t257 = load ptr, ptr %t0 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str1406) %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 @.str1407, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str1408) %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 @.str1409, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1410) %t279 = call ptr @fn_emit_bind(ptr %t278) %t280 = call ptr @fn_val(ptr %t279, ptr @.str1411) store ptr %t280, ptr %retval br label %ret ifend35: %t281 = load ptr, ptr %t0 %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str1412) %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 @.str1413, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str1414) %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 @.str1415, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str1416) %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 @.str1417, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str1418) %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 @.str1419) store ptr %t315, ptr %retval br label %ret ifend38: %t316 = load ptr, ptr %t0 %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str1420) %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 @.str1421, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str1422) %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 @.str1423) %t347 = call ptr @fn_emit_bind(ptr %t346) %t348 = call ptr @fn_val(ptr %t347, ptr @.str1424) store ptr %t348, ptr %retval br label %ret ifend41: %t349 = load ptr, ptr %t0 %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str1425) %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 @.str1426, 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 @.str1427, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1428) %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 @.str1429, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1430) %t383 = load ptr, ptr %t377 %t384 = call ptr @lp_str_concat(ptr %t382, ptr %t383) %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str1431) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str1432) store ptr %t387, ptr %retval br label %ret ifend44: %t388 = load ptr, ptr %t0 %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str1433) %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 @.str1434, 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 @.str1435, ptr %t412) %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str1436) %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 @.str1437, ptr %t417) %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str1438) %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 @.str1439) %t425 = call ptr @fn_emit_bind(ptr %t424) %t426 = call ptr @fn_val(ptr %t425, ptr @.str1440) store ptr %t426, ptr %retval br label %ret ifend47: %t427 = load ptr, ptr %t0 %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str1441) %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 @.str1442, ptr %t464) %t466 = call ptr @lp_str_concat(ptr %t465, ptr @.str1443) %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 @.str1444, ptr %t471) %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str1445) %t474 = call ptr @fn_emit_bind(ptr %t473) %t475 = call ptr @fn_val(ptr %t474, ptr @.str1446) store ptr %t475, ptr %retval br label %ret ifend50: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1447) %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 @.str1448, ptr %t517) %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str1449) %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 @.str1450, ptr %t528) %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str1451) %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 @.str1452, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str1453) %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 @.str1454) store ptr %t551, ptr %retval br label %ret ifend53: %t552 = load ptr, ptr %t0 %t553 = call i32 @lp_str_eq(ptr %t552, ptr @.str1455) %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 @.str1456, ptr %t593) %t595 = call ptr @lp_str_concat(ptr %t594, ptr @.str1457) %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 @.str1458, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1459) %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 @.str1460, ptr %t621) %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str1461) %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 @.str1462, ptr %t628) %t630 = call ptr @lp_str_concat(ptr %t629, ptr @.str1463) %t631 = call ptr @fn_emit_bind(ptr %t630) %t632 = call ptr @fn_val(ptr %t631, ptr @.str1464) store ptr %t632, ptr %retval br label %ret ifend56: %t633 = load ptr, ptr %t0 %t634 = call i32 @lp_str_eq(ptr %t633, ptr @.str1465) %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 @.str1466) store ptr %t648, ptr %t649 %t650 = load ptr, ptr %t649 %t651 = call ptr @lp_str_concat(ptr @.str1467, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1468) %t653 = call ptr @fn_emit_bind(ptr %t652) %t654 = call ptr @fn_val(ptr %t653, ptr @.str1469) store ptr %t654, ptr %retval br label %ret ifend59: %t655 = load ptr, ptr %t0 %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str1470) %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 @.str1471, ptr %t669) %t671 = call ptr @lp_str_concat(ptr %t670, ptr @.str1472) %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 @.str1473) %t676 = call ptr @fn_val(ptr %t675, ptr @.str1474) store ptr %t676, ptr %retval br label %ret ifend62: %t677 = load ptr, ptr %t0 %t678 = call i32 @lp_str_eq(ptr %t677, ptr @.str1475) %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 @.str1476, ptr %t700) %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str1477) %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 @.str1478, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1479) %t714 = call ptr @fn_emit_bind(ptr %t713) %t715 = call ptr @fn_val(ptr %t714, ptr @.str1480) store ptr %t715, ptr %retval br label %ret ifend65: %t716 = load ptr, ptr %t0 %t717 = call i32 @lp_str_eq(ptr %t716, ptr @.str1481) %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 @.str1482) %t732 = call ptr @fn_val(ptr %t731, ptr @.str1483) store ptr %t732, ptr %retval br label %ret ifend68: %t733 = load ptr, ptr %t0 %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str1484) %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 @.str1485) %t749 = call ptr @fn_val(ptr %t748, ptr @.str1486) store ptr %t749, ptr %retval br label %ret ifend71: %t750 = load ptr, ptr %t0 %t751 = call i32 @lp_str_eq(ptr %t750, ptr @.str1487) %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 @.str1488, ptr %t773) %t775 = call ptr @lp_str_concat(ptr %t774, ptr @.str1489) %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 @.str1490, ptr %t782) %t784 = call ptr @lp_str_concat(ptr %t783, ptr @.str1491) %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 @.str1492, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str1493) %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 @.str1494) store ptr %t799, ptr %retval br label %ret ifend74: %t800 = load ptr, ptr %t0 %t801 = call i32 @lp_str_eq(ptr %t800, ptr @.str1495) %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 @.str1496, ptr %t832) %t834 = call ptr @lp_str_concat(ptr %t833, ptr @.str1497) %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 @.str1498, ptr %t843) %t845 = call ptr @lp_str_concat(ptr %t844, ptr @.str1499) %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 @.str1500, ptr %t852) %t854 = call ptr @lp_str_concat(ptr %t853, ptr @.str1501) %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 @.str1502, ptr %t859) %t861 = call ptr @lp_str_concat(ptr %t860, ptr @.str1503) %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 @.str1504, ptr %t866) %t868 = call ptr @lp_str_concat(ptr %t867, ptr @.str1505) %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 @.str1506, ptr %t875) %t877 = call ptr @lp_str_concat(ptr %t876, ptr @.str1507) %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 @.str1508) store ptr %t881, ptr %retval br label %ret ifend77: %t882 = load ptr, ptr %t0 %t883 = call i32 @lp_str_eq(ptr %t882, ptr @.str1509) %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 @.str1510, ptr %t905) %t907 = call ptr @lp_str_concat(ptr %t906, ptr @.str1511) %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 @.str1512, ptr %t912) %t914 = call ptr @lp_str_concat(ptr %t913, ptr @.str1513) %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 @.str1514, ptr %t919) %t921 = call ptr @lp_str_concat(ptr %t920, ptr @.str1515) %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 @.str1516, ptr %t926) %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str1517) %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 @.str1518, ptr %t933) %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str1519) %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 @.str1520, 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 @.str1521, ptr %t946) %t948 = call ptr @lp_str_concat(ptr %t947, ptr @.str1522) %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 @.str1523, ptr %t951) %t953 = call ptr @lp_str_concat(ptr %t952, ptr @.str1524) %t954 = load ptr, ptr %t945 %t955 = call ptr @lp_str_concat(ptr %t953, ptr %t954) %t956 = call ptr @lp_str_concat(ptr %t955, ptr @.str1525) %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 @.str1526, ptr %t963) %t965 = call ptr @lp_str_concat(ptr %t964, ptr @.str1527) %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 @.str1528) store ptr %t969, ptr %retval br label %ret ifend80: %t970 = load ptr, ptr %t0 %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str1529) %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 @.str1530, ptr %t999) %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str1531) %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 @.str1532, ptr %t1004) %t1006 = call ptr @lp_str_concat(ptr %t1005, ptr @.str1533) %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 @.str1534, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str1535) %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 @.str1536) store ptr %t1017, ptr %retval br label %ret ifend83: %t1018 = load ptr, ptr %t0 %t1019 = call i32 @lp_str_eq(ptr %t1018, ptr @.str1537) %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 @.str1538, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str1539) %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 @.str1540, 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 @.str1541, ptr %t1063) %t1065 = call ptr @lp_str_concat(ptr %t1064, ptr @.str1542) %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 @.str1543, ptr %t1068) %t1070 = call ptr @lp_str_concat(ptr %t1069, ptr @.str1544) %t1071 = load ptr, ptr %t1062 %t1072 = call ptr @lp_str_concat(ptr %t1070, ptr %t1071) %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str1545) %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 @.str1546, ptr %t1078) %t1080 = call ptr @lp_str_concat(ptr %t1079, ptr @.str1547) %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 @.str1548, ptr %t1083) %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str1549) %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 @.str1550, ptr %t1088) %t1090 = call ptr @lp_str_concat(ptr %t1089, ptr @.str1551) %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 @.str1552, ptr %t1093) %t1095 = call ptr @lp_str_concat(ptr %t1094, ptr @.str1553) %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 @.str1554, ptr %t1100) %t1102 = call ptr @lp_str_concat(ptr %t1101, ptr @.str1555) %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 @.str1556, ptr %t1111) %t1113 = call ptr @lp_str_concat(ptr %t1112, ptr @.str1557) %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 @.str1558, ptr %t1118) %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str1559) %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 @.str1560, ptr %t1127) %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str1561) %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 @.str1562) %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 @.str1563) store ptr %t1138, ptr %retval br label %ret ifend86: %t1139 = load ptr, ptr %t0 %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str1564) %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 @.str1565, ptr %t1180) %t1182 = call ptr @lp_str_concat(ptr %t1181, ptr @.str1566) %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 @.str1567, ptr %t1185) %t1187 = call ptr @lp_str_concat(ptr %t1186, ptr @.str1568) %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 @.str1569, ptr %t1192) %t1194 = call ptr @lp_str_concat(ptr %t1193, ptr @.str1570) %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 @.str1571, ptr %t1197) %t1199 = call ptr @lp_str_concat(ptr %t1198, ptr @.str1572) %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 @.str1573, ptr %t1204) %t1206 = call ptr @lp_str_concat(ptr %t1205, ptr @.str1574) %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 @.str1575, 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 @.str1576) 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 @.str1577) 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 @.str1578) call void @fn_emith(ptr @.str1579) call void @fn_emith(ptr @.str1580) call void @fn_emith(ptr @.str1581) call void @fn_emith(ptr @.str1582) call void @fn_emith(ptr @.str1583) call void @fn_emith(ptr @.str1584) call void @fn_emith(ptr @.str1585) call void @fn_emith(ptr @.str1586) call void @fn_emith(ptr @.str1587) call void @fn_emith(ptr @.str1588) call void @fn_emith(ptr @.str1589) call void @fn_emith(ptr @.str1590) call void @fn_emith(ptr @.str1591) call void @fn_emith(ptr @.str1592) call void @fn_emith(ptr @.str1593) call void @fn_emith(ptr @.str1594) call void @fn_emith(ptr @.str1595) call void @fn_emith(ptr @.str1596) call void @fn_emith(ptr @.str1597) call void @fn_emith(ptr @.str1598) call void @fn_emith(ptr @.str1599) call void @fn_emith(ptr @.str1600) call void @fn_emith(ptr @.str1601) call void @fn_emith(ptr @.str1602) call void @fn_emith(ptr @.str1603) call void @fn_emith(ptr @.str1604) call void @fn_emith(ptr @.str1605) call void @fn_emith(ptr @.str1606) call void @fn_emith(ptr @.str1607) call void @fn_emith(ptr @.str1608) call void @fn_emith(ptr @.str1609) call void @fn_emith(ptr @.str1610) call void @fn_emith(ptr @.str1611) call void @fn_emith(ptr @.str1612) call void @fn_emith(ptr @.str1613) call void @fn_emith(ptr @.str1614) call void @fn_emith(ptr @.str1615) call void @fn_emith(ptr @.str1616) call void @fn_emith(ptr @.str1617) call void @fn_emith(ptr @.str1618) call void @fn_emith(ptr @.str1619) call void @fn_emith(ptr @.str1620) call void @fn_emith(ptr @.str1621) call void @fn_emith(ptr @.str1622) call void @fn_emith(ptr @.str1623) call void @fn_emith(ptr @.str1624) call void @fn_emith(ptr @.str1625) call void @fn_emith(ptr @.str1626) call void @fn_emith(ptr @.str1627) call void @fn_emith(ptr @.str1628) call void @fn_emith(ptr @.str1629) call void @fn_emith(ptr @.str1630) call void @fn_emith(ptr @.str1631) call void @fn_emith(ptr @.str1632) call void @fn_emith(ptr @.str1633) call void @fn_emith(ptr @.str1634) call void @fn_emith(ptr @.str1635) call void @fn_emith(ptr @.str1636) call void @fn_emith(ptr @.str1637) call void @fn_emith(ptr @.str1638) call void @fn_emith(ptr @.str1639) call void @fn_emith(ptr @.str1640) call void @fn_emith(ptr @.str1641) call void @fn_emith(ptr @.str1642) call void @fn_emith(ptr @.str1643) call void @fn_emith(ptr @.str1644) call void @fn_emith(ptr @.str1645) call void @fn_emith(ptr @.str1646) call void @fn_emith(ptr @.str1647) call void @fn_emith(ptr @.str1648) call void @fn_emith(ptr @.str1649) call void @fn_emith(ptr @.str1650) call void @fn_emith(ptr @.str1651) call void @fn_emith(ptr @.str1652) call void @fn_emith(ptr @.str1653) call void @fn_emith(ptr @.str1654) call void @fn_emith(ptr @.str1655) call void @fn_emith(ptr @.str1656) call void @fn_emith(ptr @.str1657) call void @fn_emith(ptr @.str1658) call void @fn_emith(ptr @.str1659) call void @fn_emith(ptr @.str1660) call void @fn_emith(ptr @.str1661) call void @fn_emith(ptr @.str1662) call void @fn_emith(ptr @.str1663) call void @fn_emith(ptr @.str1664) call void @fn_emith(ptr @.str1665) call void @fn_emith(ptr @.str1666) call void @fn_emith(ptr @.str1667) call void @fn_emith(ptr @.str1668) call void @fn_emith(ptr @.str1669) call void @fn_emith(ptr @.str1670) call void @fn_emith(ptr @.str1671) call void @fn_emith(ptr @.str1672) call void @fn_emith(ptr @.str1673) call void @fn_emith(ptr @.str1674) call void @fn_emith(ptr @.str1675) call void @fn_emith(ptr @.str1676) call void @fn_emith(ptr @.str1677) call void @fn_emith(ptr @.str1678) call void @fn_emith(ptr @.str1679) call void @fn_emith(ptr @.str1680) call void @fn_emith(ptr @.str1681) call void @fn_emith(ptr @.str1682) call void @fn_emith(ptr @.str1683) call void @fn_emith(ptr @.str1684) call void @fn_emith(ptr @.str1685) call void @fn_emith(ptr @.str1686) 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 @.str1687, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1688) %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 @.str1689, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1690) %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 @.str1691, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1692) %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 @.str1693, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1694) %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 @.str1695, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str1696) %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 @.str1697, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1698) %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 @.str1699, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str1700) %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 @.str1701) %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 @.str1702) %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 @.str1703) %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 @.str1704) %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 @.str1705) %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 @.str1706) %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 @.str1707) %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 @.str1708) %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 @.str1709) %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 @.str1710) %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 @.str1711) %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 @.str1712) %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 @.str1713) %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 @.str1714) %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 @.str1715) %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 @.str1716) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str1717, ptr @.str1718) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1719) %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 @.str1720) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1721) %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 @.str1722) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1723) %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 @.str1724) store ptr %t68, ptr %retval br label %ret ifend11: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1725) %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 @.str1726, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str1727) %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 @.str1728, ptr %t117) %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str1729) %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 @.str1730) store ptr %t127, ptr %retval br label %ret ifend14: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str1731) %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 @.str1732, ptr %t169) %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str1733) %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 @.str1734, ptr %t176) %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str1735) %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 @.str1736) store ptr %t186, ptr %retval br label %ret ifend17: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1737) %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 @.str1738) store ptr %t233, ptr %retval br label %ret ifend20: %t234 = load ptr, ptr %t0 %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str1739) %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 @.str1740, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1741) %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 @.str1742) store ptr %t289, ptr %retval br label %ret ifend23: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str1743) %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 @.str1744, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str1745) %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 @.str1746, ptr %t327) %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str1747) %t330 = call ptr @fn_emit_bind(ptr %t329) %t331 = call ptr @fn_val(ptr %t330, ptr @.str1748) store ptr %t331, ptr %retval br label %ret ifend26: %t332 = load ptr, ptr %t0 %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str1749) %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 @.str1750, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1751) %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 @.str1752, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1753) %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 @.str1754, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str1755) %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 @.str1756, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str1757) %t405 = call ptr @fn_emit_bind(ptr %t404) %t406 = call ptr @fn_val(ptr %t405, ptr @.str1758) store ptr %t406, ptr %retval br label %ret ifend29: %t407 = load ptr, ptr %t0 %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str1759) %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 @.str1760, ptr %t437) %t439 = call ptr @lp_str_concat(ptr %t438, ptr @.str1761) %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 @.str1762, ptr %t444) %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str1763) %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 @.str1764, ptr %t449) %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str1765) %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 @.str1766, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str1767) %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 @.str1768, 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 @.str1769) store ptr %t475, ptr %retval br label %ret ifend32: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1770) %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 @.str1771, ptr %t499) %t501 = call ptr @lp_str_concat(ptr %t500, ptr @.str1772) %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 @.str1773, ptr %t506) %t508 = call ptr @lp_str_concat(ptr %t507, ptr @.str1774) %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 @.str1775, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str1776) %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 @.str1777, ptr %t542) %t544 = call ptr @lp_str_concat(ptr %t543, ptr @.str1778) %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 @.str1779, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str1780) %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 @.str1781) store ptr %t559, ptr %retval br label %ret ifend35: %t560 = load ptr, ptr %t0 %t561 = call i32 @lp_str_eq(ptr %t560, ptr @.str1782) %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 @.str1783, ptr %t582) %t584 = call ptr @lp_str_concat(ptr %t583, ptr @.str1784) %t585 = load ptr, ptr %t576 %t586 = call ptr @lp_str_concat(ptr %t584, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str1785) %t588 = call ptr @fn_emit_bind(ptr %t587) %t589 = call ptr @fn_val(ptr %t588, ptr @.str1786) store ptr %t589, ptr %retval br label %ret ifend38: %t590 = load ptr, ptr %t0 %t591 = call i32 @lp_str_eq(ptr %t590, ptr @.str1787) %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 @.str1788, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1789) %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 @.str1790, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str1791) %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 @.str1792, ptr %t616) %t618 = call ptr @lp_str_concat(ptr %t617, ptr @.str1793) %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 @.str1794) 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 @.str1795) 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 @.str1796, 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 @.str1797, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str1798) %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 @.str1799, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1800) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1801) %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 @.str1802) %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 @.str1803) %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 @.str1804) %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 @.str1805) %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 @.str1806) %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 @.str1807) %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 @.str1808) %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 @.str1809) %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 @.str1810) %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 @.str1811) %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 @.str1812) %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 @.str1813) %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 @.str1814) %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 @.str1815) %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 @.str1816) %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 @.str1817) %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 @.str1818) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str1819, ptr @.str1820) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1821) %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 @.str1822) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1823) %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 @.str1824) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1825) %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 @.str1826) store ptr %t68, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1827) %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 @.str1828) %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 @.str1829, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1830) %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 @.str1831, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str1832) %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 @.str1833, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str1834) %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 @.str1835, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str1836) %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 @.str1837, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str1838) %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 @.str1839) %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 @.str1840) 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 @.str1841, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str1842) %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 @.str1843, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str1844) %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 @.str1845, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str1846) %t180 = call ptr @fn_emit_bind(ptr %t179) %t181 = call ptr @fn_val(ptr %t180, ptr @.str1847) store ptr %t181, ptr %retval br label %ret ifend16: %t182 = load ptr, ptr %t0 %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str1848) %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then20, label %ifend22 then20: %t185 = call ptr @fn_find_fn(ptr @.str1849) %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 @.str1850) 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 @.str1851, ptr %t209) %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str1852) %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 @.str1853) %t217 = call ptr @fn_emit_bind(ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str1854) store ptr %t218, ptr %retval br label %ret ifend22: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1855) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then26, label %ifend28 then26: %t222 = call ptr @fn_find_fn(ptr @.str1856) %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 @.str1857) 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 @.str1858, ptr %t255) %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str1859) %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 @.str1860) %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 @.str1861) %t268 = call ptr @fn_emit_bind(ptr %t267) %t269 = call ptr @fn_val(ptr %t268, ptr @.str1862) store ptr %t269, ptr %retval br label %ret ifend28: %t270 = load ptr, ptr %t0 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str1863) %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then32, label %ifend34 then32: %t273 = call ptr @fn_find_fn(ptr @.str1864) %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 @.str1865) 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 @.str1866, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str1867) %t291 = call ptr @fn_emit_bind(ptr %t290) %t292 = call ptr @fn_val(ptr %t291, ptr @.str1868) store ptr %t292, ptr %retval br label %ret ifend34: %t293 = load ptr, ptr %t0 %t294 = call i32 @lp_str_eq(ptr %t293, ptr @.str1869) %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 @.str1870, ptr %t334) %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str1871) %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 @.str1872, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str1873) %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 @.str1874) store ptr %t351, ptr %retval br label %ret ifend40: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str1875) %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 @.str1876, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str1877) %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 @.str1878, ptr %t400) %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str1879) %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 @.str1880) store ptr %t410, ptr %retval br label %ret ifend43: %t411 = load ptr, ptr %t0 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str1881) %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 @.str1882, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str1883) %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 @.str1884, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str1885) %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 @.str1886) store ptr %t463, ptr %retval br label %ret ifend46: %t464 = load ptr, ptr %t0 %t465 = call i32 @lp_str_eq(ptr %t464, ptr @.str1887) %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 @.str1888, ptr %t505) %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str1889) %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 @.str1890, ptr %t512) %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str1891) %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 @.str1892, ptr %t519) %t521 = call ptr @lp_str_concat(ptr %t520, ptr @.str1893) %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 @.str1894) store ptr %t525, ptr %retval br label %ret ifend49: %t526 = load ptr, ptr %t0 %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str1895) %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 @.str1896, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str1897) %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 @.str1898, ptr %t558) %t560 = call ptr @lp_str_concat(ptr %t559, ptr @.str1899) %t561 = call ptr @fn_emit_bind(ptr %t560) %t562 = call ptr @fn_val(ptr %t561, ptr @.str1900) store ptr %t562, ptr %retval br label %ret ifend52: %t563 = load ptr, ptr %t0 %t564 = call i32 @lp_str_eq(ptr %t563, ptr @.str1901) %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 @.str1902, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1903) %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 @.str1904, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str1905) %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 @.str1906, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str1907) %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 @.str1908) 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 @.str1909, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1910) %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 @.str1911, ptr %t655) %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str1912) %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 @.str1913) 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 @.str1914, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1915) %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 @.str1916, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1917) %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 @.str1918, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1919) %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 @.str1920, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1921) %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 @.str1922, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1923) %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 @.str1924, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1925) %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 @.str1926, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str1927) %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 @.str1928, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1929) %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 @.str1930, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1931) %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 @.str1932, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1933) %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 @.str1934, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1935) %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 @.str1936, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1937) %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 @.str1938, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str1939) %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 @.str1940, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1941) %t6 = load ptr, ptr %t1 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1942) %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 @.str1943, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1944) %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 @.str1945) %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 @.str1946) %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 @.str1947) %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 @.str1948) %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 @.str1949) %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 @.str1950) %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 @.str1951) %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 @.str1952) %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 @.str1953) %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 @.str1954) %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 @.str1955) %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 @.str1956) store ptr %t54, ptr %retval br label %ret ifend2: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str1957) %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 @.str1958) store ptr %t71, ptr %retval br label %ret ifend5: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1959) %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 @.str1960) store ptr %t88, ptr %retval br label %ret ifend8: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1961) %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 @.str1962) store ptr %t105, ptr %retval br label %ret ifend11: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str1963) %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 @.str1964) store ptr %t122, ptr %retval br label %ret ifend14: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str1965) %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 @.str1966, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str1967) %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 @.str1968) store ptr %t151, ptr %retval br label %ret ifend17: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str1969) %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 @.str1970, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str1971) %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 @.str1972) store ptr %t180, ptr %retval br label %ret ifend20: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1973) %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 @.str1974, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str1975) %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 @.str1976, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str1977) %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 @.str1978, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str1979) %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 @.str1980, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str1981) %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 @.str1982) store ptr %t240, ptr %retval br label %ret ifend23: %t241 = load ptr, ptr %t0 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str1983) %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 @.str1984, ptr %t291) %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str1985) %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 @.str1986, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str1987) %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 @.str1988, 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 @.str1989, 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 @.str1990, 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 @.str1991, ptr %t325, ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t310 %t330 = call ptr @lp_str_concat(ptr @.str1992, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str1993) %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 @.str1994, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str1995) %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 @.str1996, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str1997) %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 @.str1998) 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 @.str1999, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str2000) %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 @.str2001, ptr %t415) %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str2002) %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 @.str2003, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str2004) %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 @.str2005, ptr %t429) %t431 = call ptr @lp_str_concat(ptr %t430, ptr @.str2006) %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 @.str2007, 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 @.str2008, 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 @.str2009, 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 @.str2010, ptr %t448, ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t439 %t453 = call ptr @lp_str_concat(ptr @.str2011, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str2012) %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 @.str2013, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str2014) %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 @.str2015, ptr %t466) %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str2016) %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 @.str2017) 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 @.str2018) %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 @.str2019) %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 @.str2020) %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 @.str2021) %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 @.str2022) %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 @.str2023) %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 @.str2024) %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 @.str2025) %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 @.str2026) %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 @.str2027) %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 @.str2028) %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 @.str2029) %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 @.str2030) %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 @.str2031) %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 @.str2032) %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 @.str2033) %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 @.str2034) %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 @.str2035) %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 @.str2036) %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 @.str2037) %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 @.str2038) %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 @.str2039, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2040) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str2041) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2042) %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 @.str2043, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2044) %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 @.str2045) %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 @.str2046) %t66 = call ptr @fn_emit_bind(ptr %t65) %t67 = call ptr @fn_val(ptr %t66, ptr @.str2047) store ptr %t67, ptr %retval br label %ret ifend5: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str2048) %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 @.str2049, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str2050) %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 @.str2051) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str2052) store ptr %t100, ptr %retval br label %ret ifend8: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2053) %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 @.str2054, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2055) %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 @.str2056) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str2057) 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 @.str2058) %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 @.str2059, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str2060) %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 @.str2061, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2062) %t156 = call ptr @fn_emit_bind(ptr %t155) %t157 = call ptr @fn_val(ptr %t156, ptr @.str2063) store ptr %t157, ptr %retval br label %ret ifend14: %t158 = load ptr, ptr %t0 %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str2064) %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 @.str2065, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str2066) %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 @.str2067, 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 @.str2068, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str2069) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str2070) store ptr %t189, ptr %retval br label %ret ifend17: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str2071) %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 @.str2072, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str2073) %t198 = call ptr @fn_emit_bind(ptr %t197) %t199 = call ptr @fn_val(ptr %t198, ptr @.str2074) store ptr %t199, ptr %retval br label %ret ifend20: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str2075) %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 @.str2076, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str2077) %t208 = call ptr @fn_emit_bind(ptr %t207) %t209 = call ptr @fn_val(ptr %t208, ptr @.str2078) store ptr %t209, ptr %retval br label %ret ifend23: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str2079) %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 @.str2080, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str2081) %t218 = call ptr @fn_emit_bind(ptr %t217) %t219 = call ptr @fn_val(ptr %t218, ptr @.str2082) store ptr %t219, ptr %retval br label %ret ifend26: %t220 = load ptr, ptr %t0 %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str2083) %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 @.str2084, ptr %t225) %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str2085) %t228 = call ptr @fn_emit_bind(ptr %t227) %t229 = call ptr @fn_val(ptr %t228, ptr @.str2086) store ptr %t229, ptr %retval br label %ret ifend29: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str2087) %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 @.str2088, ptr %t244) %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str2089) %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 @.str2090) %t252 = call ptr @fn_emit_bind(ptr %t251) %t253 = call ptr @fn_val(ptr %t252, ptr @.str2091) store ptr %t253, ptr %retval br label %ret ifend32: %t254 = load ptr, ptr %t0 %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str2092) %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 @.str2093, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str2094) %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 @.str2095) %t276 = call ptr @fn_emit_bind(ptr %t275) %t277 = call ptr @fn_val(ptr %t276, ptr @.str2096) store ptr %t277, ptr %retval br label %ret ifend35: %t278 = load ptr, ptr %t0 %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str2097) %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 @.str2098, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str2099) %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 @.str2100) %t300 = call ptr @fn_emit_bind(ptr %t299) %t301 = call ptr @fn_val(ptr %t300, ptr @.str2101) store ptr %t301, ptr %retval br label %ret ifend38: %t302 = load ptr, ptr %t0 %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str2102) %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 @.str2103, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str2104) %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 @.str2105) %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 @.str2106) %t338 = call ptr @fn_emit_bind(ptr %t337) %t339 = call ptr @fn_val(ptr %t338, ptr @.str2107) store ptr %t339, ptr %retval br label %ret ifend41: %t340 = load ptr, ptr %t0 %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str2108) %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 @.str2109, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str2110) %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 @.str2111) %t362 = call ptr @fn_emit_bind(ptr %t361) %t363 = call ptr @fn_val(ptr %t362, ptr @.str2112) store ptr %t363, ptr %retval br label %ret ifend44: %t364 = load ptr, ptr %t0 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str2113) %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 @.str2114, ptr %t378) %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2115) %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 @.str2116) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str2117) store ptr %t387, ptr %retval br label %ret ifend47: %t389 = load ptr, ptr %t0 %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str2118) %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 @.str2119) %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 @.str2120, ptr %t410) %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str2121) %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 @.str2122) %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 @.str2123) %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 @.str2124, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str2125) %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 @.str2126, ptr %t428) %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str2127) %t431 = call ptr @fn_emit_bind(ptr %t430) %t432 = call ptr @fn_val(ptr %t431, ptr @.str2128) store ptr %t432, ptr %retval br label %ret ifend55: %t433 = load ptr, ptr %t419 %t434 = call ptr @lp_str_concat(ptr @.str2129, ptr %t433) %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str2130) %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 @.str2131, ptr %t438) %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str2132) %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 @.str2133, ptr %t445) %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str2134) %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 @.str2135, ptr %t450) %t452 = call ptr @lp_str_concat(ptr %t451, ptr @.str2136) %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 @.str2137, ptr %t457) %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str2138) %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 @.str2139, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str2140) %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 @.str2141) 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 @.str2142, ptr %t480) %t482 = call ptr @lp_str_concat(ptr %t481, ptr @.str2143) %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 @.str2144) %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 @.str2145, ptr %t490) %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str2146) %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 @.str2147) %t498 = load ptr, ptr %t484 %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498) %t500 = call ptr @lp_str_concat(ptr %t499, ptr @.str2148) %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 @.str2149, ptr %t503) %t505 = call ptr @lp_str_concat(ptr %t504, ptr @.str2150) %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 @.str2151, ptr %t508) %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str2152) %t511 = call ptr @fn_emit_bind(ptr %t510) %t512 = call ptr @fn_val(ptr %t511, ptr @.str2153) 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 @.str2154, ptr %t515) %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str2155) %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 @.str2156, ptr %t520) %t522 = call ptr @lp_str_concat(ptr %t521, ptr @.str2157) %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 @.str2158) store ptr %t527, ptr %t528 %t529 = load ptr, ptr %t528 call void @fn_store_at(ptr @.str2159, ptr @.str2160, ptr %t529) %t530 = load ptr, ptr %t526 %t531 = call ptr @lp_str_concat(ptr @.str2161, ptr %t530) %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str2162) %t533 = call ptr @fn_emit_bind(ptr %t532) store ptr %t533, ptr %t534 %t535 = call ptr @fn_lbl(ptr @.str2163) store ptr %t535, ptr %t536 %t537 = call ptr @fn_lbl(ptr @.str2164) store ptr %t537, ptr %t538 call void @fn_emit(ptr @.str2165) %t539 = load ptr, ptr %t534 call void @fn_emit(ptr %t539) call void @fn_emit(ptr @.str2166) %t540 = load ptr, ptr %t538 call void @fn_emit(ptr %t540) call void @fn_emit(ptr @.str2167) %t541 = load ptr, ptr %t536 call void @fn_emit(ptr %t541) call void @fn_emit(ptr @.str2168) %t542 = load ptr, ptr %t536 call void @fn_emit(ptr %t542) call void @fn_emit(ptr @.str2169) %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 @.str2170, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str2171) %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 @.str2172, ptr %t552) %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str2173) %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 @.str2174) %t560 = load ptr, ptr %t484 %t561 = call ptr @lp_str_concat(ptr %t559, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str2175) %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 @.str2176, ptr %t565) %t567 = call ptr @lp_str_concat(ptr %t566, ptr @.str2177) %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 @.str2178, ptr %t570) %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str2179) %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 @.str2180, ptr %t575, ptr %t576) call void @fn_emit(ptr @.str2181) %t577 = load ptr, ptr %t538 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str2182) %t578 = load ptr, ptr %t538 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str2183) %t579 = load ptr, ptr %t528 %t580 = call ptr @lp_str_concat(ptr @.str2184, ptr %t579) %t581 = call ptr @fn_emit_bind(ptr %t580) %t582 = call ptr @fn_val(ptr %t581, ptr @.str2185) 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 @.str2186) call void @fn_emith(ptr @.str2187) call void @fn_emith(ptr @.str2188) call void @fn_emith(ptr @.str2189) call void @fn_emith(ptr @.str2190) call void @fn_emith(ptr @.str2191) call void @fn_emith(ptr @.str2192) call void @fn_emith(ptr @.str2193) call void @fn_emith(ptr @.str2194) call void @fn_emith(ptr @.str2195) call void @fn_emith(ptr @.str2196) call void @fn_emith(ptr @.str2197) call void @fn_emith(ptr @.str2198) call void @fn_emith(ptr @.str2199) call void @fn_emith(ptr @.str2200) call void @fn_emith(ptr @.str2201) call void @fn_emith(ptr @.str2202) call void @fn_emith(ptr @.str2203) call void @fn_emith(ptr @.str2204) call void @fn_emith(ptr @.str2205) call void @fn_emith(ptr @.str2206) call void @fn_emith(ptr @.str2207) call void @fn_emith(ptr @.str2208) call void @fn_emith(ptr @.str2209) call void @fn_emith(ptr @.str2210) call void @fn_emith(ptr @.str2211) call void @fn_emith(ptr @.str2212) call void @fn_emith(ptr @.str2213) call void @fn_emith(ptr @.str2214) call void @fn_emith(ptr @.str2215) call void @fn_emith(ptr @.str2216) call void @fn_emith(ptr @.str2217) call void @fn_emith(ptr @.str2218) call void @fn_emith(ptr @.str2219) call void @fn_emith(ptr @.str2220) call void @fn_emith(ptr @.str2221) call void @fn_emith(ptr @.str2222) call void @fn_emith(ptr @.str2223) call void @fn_emith(ptr @.str2224) call void @fn_emith(ptr @.str2225) call void @fn_emith(ptr @.str2226) call void @fn_emith(ptr @.str2227) call void @fn_emith(ptr @.str2228) call void @fn_emith(ptr @.str2229) call void @fn_emith(ptr @.str2230) call void @fn_emith(ptr @.str2231) call void @fn_emith(ptr @.str2232) call void @fn_emith(ptr @.str2233) call void @fn_emith(ptr @.str2234) call void @fn_emith(ptr @.str2235) call void @fn_emith(ptr @.str2236) call void @fn_emith(ptr @.str2237) call void @fn_emith(ptr @.str2238) call void @fn_emith(ptr @.str2239) call void @fn_emith(ptr @.str2240) call void @fn_emith(ptr @.str2241) call void @fn_emith(ptr @.str2242) call void @fn_emith(ptr @.str2243) call void @fn_emith(ptr @.str2244) call void @fn_emith(ptr @.str2245) call void @fn_emith(ptr @.str2246) call void @fn_emith(ptr @.str2247) call void @fn_emith(ptr @.str2248) call void @fn_emith(ptr @.str2249) call void @fn_emith(ptr @.str2250) call void @fn_emith(ptr @.str2251) call void @fn_emith(ptr @.str2252) call void @fn_emith(ptr @.str2253) call void @fn_emith(ptr @.str2254) call void @fn_emith(ptr @.str2255) call void @fn_emith(ptr @.str2256) call void @fn_emith(ptr @.str2257) call void @fn_emith(ptr @.str2258) call void @fn_emith(ptr @.str2259) call void @fn_emith(ptr @.str2260) call void @fn_emith(ptr @.str2261) call void @fn_emith(ptr @.str2262) call void @fn_emith(ptr @.str2263) call void @fn_emith(ptr @.str2264) call void @fn_emith(ptr @.str2265) call void @fn_emith(ptr @.str2266) call void @fn_emith(ptr @.str2267) call void @fn_emith(ptr @.str2268) call void @fn_emith(ptr @.str2269) call void @fn_emith(ptr @.str2270) call void @fn_emith(ptr @.str2271) call void @fn_emith(ptr @.str2272) call void @fn_emith(ptr @.str2273) call void @fn_emith(ptr @.str2274) call void @fn_emith(ptr @.str2275) call void @fn_emith(ptr @.str2276) call void @fn_emith(ptr @.str2277) call void @fn_emith(ptr @.str2278) call void @fn_emith(ptr @.str2279) call void @fn_emith(ptr @.str2280) call void @fn_emith(ptr @.str2281) call void @fn_emith(ptr @.str2282) call void @fn_emith(ptr @.str2283) call void @fn_emith(ptr @.str2284) call void @fn_emith(ptr @.str2285) call void @fn_emith(ptr @.str2286) call void @fn_emith(ptr @.str2287) call void @fn_emith(ptr @.str2288) call void @fn_emith(ptr @.str2289) call void @fn_emith(ptr @.str2290) call void @fn_emith(ptr @.str2291) call void @fn_emith(ptr @.str2292) call void @fn_emith(ptr @.str2293) call void @fn_emith(ptr @.str2294) call void @fn_emith(ptr @.str2295) call void @fn_emith(ptr @.str2296) call void @fn_emith(ptr @.str2297) call void @fn_emith(ptr @.str2298) call void @fn_emith(ptr @.str2299) call void @fn_emith(ptr @.str2300) call void @fn_emith(ptr @.str2301) call void @fn_emith(ptr @.str2302) call void @fn_emith(ptr @.str2303) call void @fn_emith(ptr @.str2304) call void @fn_emith(ptr @.str2305) call void @fn_emith(ptr @.str2306) call void @fn_emith(ptr @.str2307) call void @fn_emith(ptr @.str2308) call void @fn_emith(ptr @.str2309) call void @fn_emith(ptr @.str2310) call void @fn_emith(ptr @.str2311) call void @fn_emith(ptr @.str2312) call void @fn_emith(ptr @.str2313) call void @fn_emith(ptr @.str2314) call void @fn_emith(ptr @.str2315) call void @fn_emith(ptr @.str2316) call void @fn_emith(ptr @.str2317) call void @fn_emith(ptr @.str2318) call void @fn_emith(ptr @.str2319) call void @fn_emith(ptr @.str2320) call void @fn_emith(ptr @.str2321) call void @fn_emith(ptr @.str2322) call void @fn_emith(ptr @.str2323) call void @fn_emith(ptr @.str2324) call void @fn_emith(ptr @.str2325) call void @fn_emith(ptr @.str2326) call void @fn_emith(ptr @.str2327) call void @fn_emith(ptr @.str2328) call void @fn_emith(ptr @.str2329) call void @fn_emith(ptr @.str2330) call void @fn_emith(ptr @.str2331) call void @fn_emith(ptr @.str2332) call void @fn_emith(ptr @.str2333) call void @fn_emith(ptr @.str2334) call void @fn_emith(ptr @.str2335) call void @fn_emith(ptr @.str2336) call void @fn_emith(ptr @.str2337) call void @fn_emith(ptr @.str2338) call void @fn_emith(ptr @.str2339) call void @fn_emith(ptr @.str2340) call void @fn_emith(ptr @.str2341) call void @fn_emith(ptr @.str2342) call void @fn_emith(ptr @.str2343) call void @fn_emith(ptr @.str2344) call void @fn_emith(ptr @.str2345) call void @fn_emith(ptr @.str2346) call void @fn_emith(ptr @.str2347) call void @fn_emith(ptr @.str2348) call void @fn_emith(ptr @.str2349) call void @fn_emith(ptr @.str2350) call void @fn_emith(ptr @.str2351) call void @fn_emith(ptr @.str2352) call void @fn_emith(ptr @.str2353) call void @fn_emith(ptr @.str2354) call void @fn_emith(ptr @.str2355) call void @fn_emith(ptr @.str2356) call void @fn_emith(ptr @.str2357) call void @fn_emith(ptr @.str2358) call void @fn_emith(ptr @.str2359) call void @fn_emith(ptr @.str2360) call void @fn_emith(ptr @.str2361) call void @fn_emith(ptr @.str2362) call void @fn_emith(ptr @.str2363) call void @fn_emith(ptr @.str2364) call void @fn_emith(ptr @.str2365) call void @fn_emith(ptr @.str2366) call void @fn_emith(ptr @.str2367) call void @fn_emith(ptr @.str2368) call void @fn_emith(ptr @.str2369) call void @fn_emith(ptr @.str2370) call void @fn_emith(ptr @.str2371) call void @fn_emith(ptr @.str2372) call void @fn_emith(ptr @.str2373) call void @fn_emith(ptr @.str2374) call void @fn_emith(ptr @.str2375) call void @fn_emith(ptr @.str2376) call void @fn_emith(ptr @.str2377) call void @fn_emith(ptr @.str2378) call void @fn_emith(ptr @.str2379) call void @fn_emith(ptr @.str2380) call void @fn_emith(ptr @.str2381) call void @fn_emith(ptr @.str2382) call void @fn_emith(ptr @.str2383) br label %ret ret: ret void } define void @fn_emit_text2_prelude() { entry: call void @fn_emith(ptr @.str2384) call void @fn_emith(ptr @.str2385) call void @fn_emith(ptr @.str2386) call void @fn_emith(ptr @.str2387) call void @fn_emith(ptr @.str2388) call void @fn_emith(ptr @.str2389) call void @fn_emith(ptr @.str2390) call void @fn_emith(ptr @.str2391) call void @fn_emith(ptr @.str2392) call void @fn_emith(ptr @.str2393) call void @fn_emith(ptr @.str2394) call void @fn_emith(ptr @.str2395) call void @fn_emith(ptr @.str2396) call void @fn_emith(ptr @.str2397) call void @fn_emith(ptr @.str2398) call void @fn_emith(ptr @.str2399) call void @fn_emith(ptr @.str2400) call void @fn_emith(ptr @.str2401) call void @fn_emith(ptr @.str2402) call void @fn_emith(ptr @.str2403) call void @fn_emith(ptr @.str2404) call void @fn_emith(ptr @.str2405) call void @fn_emith(ptr @.str2406) call void @fn_emith(ptr @.str2407) call void @fn_emith(ptr @.str2408) call void @fn_emith(ptr @.str2409) call void @fn_emith(ptr @.str2410) call void @fn_emith(ptr @.str2411) call void @fn_emith(ptr @.str2412) call void @fn_emith(ptr @.str2413) call void @fn_emith(ptr @.str2414) call void @fn_emith(ptr @.str2415) call void @fn_emith(ptr @.str2416) call void @fn_emith(ptr @.str2417) call void @fn_emith(ptr @.str2418) call void @fn_emith(ptr @.str2419) call void @fn_emith(ptr @.str2420) call void @fn_emith(ptr @.str2421) call void @fn_emith(ptr @.str2422) call void @fn_emith(ptr @.str2423) call void @fn_emith(ptr @.str2424) call void @fn_emith(ptr @.str2425) call void @fn_emith(ptr @.str2426) call void @fn_emith(ptr @.str2427) call void @fn_emith(ptr @.str2428) call void @fn_emith(ptr @.str2429) call void @fn_emith(ptr @.str2430) call void @fn_emith(ptr @.str2431) call void @fn_emith(ptr @.str2432) call void @fn_emith(ptr @.str2433) call void @fn_emith(ptr @.str2434) call void @fn_emith(ptr @.str2435) call void @fn_emith(ptr @.str2436) call void @fn_emith(ptr @.str2437) call void @fn_emith(ptr @.str2438) call void @fn_emith(ptr @.str2439) call void @fn_emith(ptr @.str2440) call void @fn_emith(ptr @.str2441) call void @fn_emith(ptr @.str2442) call void @fn_emith(ptr @.str2443) call void @fn_emith(ptr @.str2444) call void @fn_emith(ptr @.str2445) call void @fn_emith(ptr @.str2446) call void @fn_emith(ptr @.str2447) call void @fn_emith(ptr @.str2448) call void @fn_emith(ptr @.str2449) call void @fn_emith(ptr @.str2450) call void @fn_emith(ptr @.str2451) call void @fn_emith(ptr @.str2452) call void @fn_emith(ptr @.str2453) call void @fn_emith(ptr @.str2454) call void @fn_emith(ptr @.str2455) call void @fn_emith(ptr @.str2456) call void @fn_emith(ptr @.str2457) call void @fn_emith(ptr @.str2458) call void @fn_emith(ptr @.str2459) call void @fn_emith(ptr @.str2460) call void @fn_emith(ptr @.str2461) call void @fn_emith(ptr @.str2462) call void @fn_emith(ptr @.str2463) call void @fn_emith(ptr @.str2464) call void @fn_emith(ptr @.str2465) call void @fn_emith(ptr @.str2466) call void @fn_emith(ptr @.str2467) call void @fn_emith(ptr @.str2468) call void @fn_emith(ptr @.str2469) call void @fn_emith(ptr @.str2470) call void @fn_emith(ptr @.str2471) call void @fn_emith(ptr @.str2472) call void @fn_emith(ptr @.str2473) call void @fn_emith(ptr @.str2474) call void @fn_emith(ptr @.str2475) call void @fn_emith(ptr @.str2476) call void @fn_emith(ptr @.str2477) call void @fn_emith(ptr @.str2478) call void @fn_emith(ptr @.str2479) call void @fn_emith(ptr @.str2480) call void @fn_emith(ptr @.str2481) call void @fn_emith(ptr @.str2482) call void @fn_emith(ptr @.str2483) call void @fn_emith(ptr @.str2484) call void @fn_emith(ptr @.str2485) call void @fn_emith(ptr @.str2486) call void @fn_emith(ptr @.str2487) call void @fn_emith(ptr @.str2488) call void @fn_emith(ptr @.str2489) call void @fn_emith(ptr @.str2490) call void @fn_emith(ptr @.str2491) call void @fn_emith(ptr @.str2492) call void @fn_emith(ptr @.str2493) call void @fn_emith(ptr @.str2494) call void @fn_emith(ptr @.str2495) call void @fn_emith(ptr @.str2496) call void @fn_emith(ptr @.str2497) call void @fn_emith(ptr @.str2498) call void @fn_emith(ptr @.str2499) call void @fn_emith(ptr @.str2500) call void @fn_emith(ptr @.str2501) call void @fn_emith(ptr @.str2502) call void @fn_emith(ptr @.str2503) call void @fn_emith(ptr @.str2504) call void @fn_emith(ptr @.str2505) call void @fn_emith(ptr @.str2506) call void @fn_emith(ptr @.str2507) call void @fn_emith(ptr @.str2508) call void @fn_emith(ptr @.str2509) call void @fn_emith(ptr @.str2510) call void @fn_emith(ptr @.str2511) call void @fn_emith(ptr @.str2512) call void @fn_emith(ptr @.str2513) call void @fn_emith(ptr @.str2514) call void @fn_emith(ptr @.str2515) call void @fn_emith(ptr @.str2516) call void @fn_emith(ptr @.str2517) call void @fn_emith(ptr @.str2518) call void @fn_emith(ptr @.str2519) call void @fn_emith(ptr @.str2520) call void @fn_emith(ptr @.str2521) call void @fn_emith(ptr @.str2522) call void @fn_emith(ptr @.str2523) call void @fn_emith(ptr @.str2524) call void @fn_emith(ptr @.str2525) call void @fn_emith(ptr @.str2526) call void @fn_emith(ptr @.str2527) call void @fn_emith(ptr @.str2528) call void @fn_emith(ptr @.str2529) call void @fn_emith(ptr @.str2530) call void @fn_emith(ptr @.str2531) call void @fn_emith(ptr @.str2532) call void @fn_emith(ptr @.str2533) call void @fn_emith(ptr @.str2534) call void @fn_emith(ptr @.str2535) call void @fn_emith(ptr @.str2536) call void @fn_emith(ptr @.str2537) call void @fn_emith(ptr @.str2538) call void @fn_emith(ptr @.str2539) call void @fn_emith(ptr @.str2540) call void @fn_emith(ptr @.str2541) call void @fn_emith(ptr @.str2542) call void @fn_emith(ptr @.str2543) call void @fn_emith(ptr @.str2544) call void @fn_emith(ptr @.str2545) call void @fn_emith(ptr @.str2546) call void @fn_emith(ptr @.str2547) call void @fn_emith(ptr @.str2548) call void @fn_emith(ptr @.str2549) call void @fn_emith(ptr @.str2550) call void @fn_emith(ptr @.str2551) call void @fn_emith(ptr @.str2552) call void @fn_emith(ptr @.str2553) call void @fn_emith(ptr @.str2554) call void @fn_emith(ptr @.str2555) call void @fn_emith(ptr @.str2556) call void @fn_emith(ptr @.str2557) call void @fn_emith(ptr @.str2558) call void @fn_emith(ptr @.str2559) call void @fn_emith(ptr @.str2560) call void @fn_emith(ptr @.str2561) call void @fn_emith(ptr @.str2562) call void @fn_emith(ptr @.str2563) call void @fn_emith(ptr @.str2564) call void @fn_emith(ptr @.str2565) call void @fn_emith(ptr @.str2566) call void @fn_emith(ptr @.str2567) call void @fn_emith(ptr @.str2568) call void @fn_emith(ptr @.str2569) call void @fn_emith(ptr @.str2570) call void @fn_emith(ptr @.str2571) call void @fn_emith(ptr @.str2572) call void @fn_emith(ptr @.str2573) call void @fn_emith(ptr @.str2574) call void @fn_emith(ptr @.str2575) call void @fn_emith(ptr @.str2576) call void @fn_emith(ptr @.str2577) call void @fn_emith(ptr @.str2578) call void @fn_emith(ptr @.str2579) call void @fn_emith(ptr @.str2580) call void @fn_emith(ptr @.str2581) call void @fn_emith(ptr @.str2582) call void @fn_emith(ptr @.str2583) call void @fn_emith(ptr @.str2584) call void @fn_emith(ptr @.str2585) call void @fn_emith(ptr @.str2586) call void @fn_emith(ptr @.str2587) call void @fn_emith(ptr @.str2588) call void @fn_emith(ptr @.str2589) call void @fn_emith(ptr @.str2590) call void @fn_emith(ptr @.str2591) call void @fn_emith(ptr @.str2592) call void @fn_emith(ptr @.str2593) call void @fn_emith(ptr @.str2594) 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 @.str2595) %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 @.str2596) %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 @.str2597) %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 @.str2598) %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 @.str2599) %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 @.str2600) %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 @.str2601) %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 @.str2602) %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 @.str2603, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2604) %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 @.str2605, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2606) %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 @.str2607, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2608) %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 @.str2609, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2610) %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 @.str2611, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str2612) %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 @.str2613, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str2614) %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 @.str2615, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str2616) %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 @.str2617, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2618) %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 @.str2619, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2620) %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 @.str2621, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2622) %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 @.str2623, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2624) %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 @.str2625, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2626) %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 @.str2627, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str2628) %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 @.str2629, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str2630) %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 @.str2631, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str2632) %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 @.str2633, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2634) %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 @.str2635) %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 @.str2636) %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 @.str2637, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2638) %t27 = call ptr @fn_emit_bind(ptr %t26) %t28 = call ptr @fn_val(ptr %t27, ptr @.str2639) store ptr %t28, ptr %retval br label %ret ifend4: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str2640) %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 @.str2641) %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 @.str2642, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str2643) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str2644) store ptr %t55, ptr %retval br label %ret ifend9: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str2645) %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 @.str2646) store ptr %t71, ptr %retval br label %ret ifend12: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2647) %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 @.str2648, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str2649) %t89 = call ptr @fn_emit_bind(ptr %t88) %t90 = call ptr @fn_val(ptr %t89, ptr @.str2650) store ptr %t90, ptr %retval br label %ret ifend15: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str2651) %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 @.str2652) store ptr %t107, ptr %retval br label %ret ifend18: store ptr @.str2653, 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 @.str2654, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str2655) %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 @.str2656, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str2657) %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 @.str2658, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str2659) %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 @.str2660, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str2661) %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 @.str2662, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2663) %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 @.str2664, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str2665) %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 @.str2666) 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 @.str2667) call void @fn_emith(ptr @.str2668) call void @fn_emith(ptr @.str2669) call void @fn_emith(ptr @.str2670) call void @fn_emith(ptr @.str2671) call void @fn_emith(ptr @.str2672) call void @fn_emith(ptr @.str2673) call void @fn_emith(ptr @.str2674) call void @fn_emith(ptr @.str2675) call void @fn_emith(ptr @.str2676) call void @fn_emith(ptr @.str2677) call void @fn_emith(ptr @.str2678) call void @fn_emith(ptr @.str2679) call void @fn_emith(ptr @.str2680) call void @fn_emith(ptr @.str2681) call void @fn_emith(ptr @.str2682) call void @fn_emith(ptr @.str2683) 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) 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 @.str2764) %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 @.str2765) %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 @.str2766) %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 @.str2767) %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 @.str2768) %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 @.str2769) %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 @.str2770) %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 @.str2771) %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 @.str2772) %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 @.str2773) %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 @.str2774, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2775) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str2776) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2777) %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 @.str2778, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str2779) %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 @.str2780) %t52 = call ptr @fn_emit_bind(ptr %t51) %t53 = call ptr @fn_val(ptr %t52, ptr @.str2781) store ptr %t53, ptr %retval br label %ret ifend5: %t54 = load ptr, ptr %t0 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str2782) %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 @.str2783, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str2784) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str2785) store ptr %t72, ptr %retval br label %ret ifend8: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str2786) %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 @.str2787, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str2788) %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 @.str2789) %t104 = call ptr @fn_emit_bind(ptr %t103) %t105 = call ptr @fn_val(ptr %t104, ptr @.str2790) store ptr %t105, ptr %retval br label %ret ifend11: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str2791) %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 @.str2792) %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 @.str2793, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str2794) %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 @.str2795, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str2796) %t136 = call ptr @fn_emit_bind(ptr %t135) %t137 = call ptr @fn_val(ptr %t136, ptr @.str2797) store ptr %t137, ptr %retval br label %ret ifend16: %t138 = load ptr, ptr %t0 %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str2798) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then17, label %ifend19 then17: %t141 = call ptr @fn_emit_bind(ptr @.str2799) %t142 = call ptr @fn_val(ptr %t141, ptr @.str2800) store ptr %t142, ptr %retval br label %ret ifend19: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str2801) %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 @.str2802, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str2803) %t160 = call ptr @fn_emit_bind(ptr %t159) %t161 = call ptr @fn_val(ptr %t160, ptr @.str2804) 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 @.str2805, ptr %t191) %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str2806) %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 @.str2807) %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 @.str2808, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str2809) %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 @.str2810) %t209 = call ptr @fn_emit_bind(ptr %t208) %t210 = call ptr @fn_val(ptr %t209, ptr @.str2811) 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 @.str2812) call void @fn_emith(ptr @.str2813) call void @fn_emith(ptr @.str2814) call void @fn_emith(ptr @.str2815) call void @fn_emith(ptr @.str2816) call void @fn_emith(ptr @.str2817) call void @fn_emith(ptr @.str2818) call void @fn_emith(ptr @.str2819) call void @fn_emith(ptr @.str2820) call void @fn_emith(ptr @.str2821) call void @fn_emith(ptr @.str2822) call void @fn_emith(ptr @.str2823) call void @fn_emith(ptr @.str2824) call void @fn_emith(ptr @.str2825) call void @fn_emith(ptr @.str2826) call void @fn_emith(ptr @.str2827) call void @fn_emith(ptr @.str2828) call void @fn_emith(ptr @.str2829) call void @fn_emith(ptr @.str2830) call void @fn_emith(ptr @.str2831) call void @fn_emith(ptr @.str2832) call void @fn_emith(ptr @.str2833) call void @fn_emith(ptr @.str2834) call void @fn_emith(ptr @.str2835) call void @fn_emith(ptr @.str2836) call void @fn_emith(ptr @.str2837) call void @fn_emith(ptr @.str2838) call void @fn_emith(ptr @.str2839) call void @fn_emith(ptr @.str2840) call void @fn_emith(ptr @.str2841) call void @fn_emith(ptr @.str2842) call void @fn_emith(ptr @.str2843) call void @fn_emith(ptr @.str2844) call void @fn_emith(ptr @.str2845) call void @fn_emith(ptr @.str2846) call void @fn_emith(ptr @.str2847) call void @fn_emith(ptr @.str2848) call void @fn_emith(ptr @.str2849) call void @fn_emith(ptr @.str2850) call void @fn_emith(ptr @.str2851) call void @fn_emith(ptr @.str2852) call void @fn_emith(ptr @.str2853) call void @fn_emith(ptr @.str2854) call void @fn_emith(ptr @.str2855) call void @fn_emith(ptr @.str2856) call void @fn_emith(ptr @.str2857) call void @fn_emith(ptr @.str2858) call void @fn_emith(ptr @.str2859) call void @fn_emith(ptr @.str2860) call void @fn_emith(ptr @.str2861) call void @fn_emith(ptr @.str2862) call void @fn_emith(ptr @.str2863) call void @fn_emith(ptr @.str2864) call void @fn_emith(ptr @.str2865) call void @fn_emith(ptr @.str2866) call void @fn_emith(ptr @.str2867) call void @fn_emith(ptr @.str2868) call void @fn_emith(ptr @.str2869) call void @fn_emith(ptr @.str2870) call void @fn_emith(ptr @.str2871) call void @fn_emith(ptr @.str2872) call void @fn_emith(ptr @.str2873) call void @fn_emith(ptr @.str2874) call void @fn_emith(ptr @.str2875) call void @fn_emith(ptr @.str2876) call void @fn_emith(ptr @.str2877) call void @fn_emith(ptr @.str2878) call void @fn_emith(ptr @.str2879) call void @fn_emith(ptr @.str2880) call void @fn_emith(ptr @.str2881) call void @fn_emith(ptr @.str2882) call void @fn_emith(ptr @.str2883) call void @fn_emith(ptr @.str2884) call void @fn_emith(ptr @.str2885) call void @fn_emith(ptr @.str2886) call void @fn_emith(ptr @.str2887) 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_emit_secure_rand_prelude() br label %ret ret: ret void } define void @fn_emit_secure_rand_prelude() { entry: 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) 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 @.str3012) %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 @.str3013) %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 @.str3014) %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 @.str3015) %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 @.str3016) %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 @.str3017) %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 @.str3018) %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 @.str3019) %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 @.str3020) %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 @.str3021) %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 @.str3022) %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 @.str3023) %t14 = call ptr @fn_val(ptr %t13, ptr @.str3024) store ptr %t14, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str3025) %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 @.str3026) %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 @.str3027) %t27 = call ptr @fn_val(ptr %t26, ptr @.str3028) store ptr %t27, ptr %retval br label %ret ifend9: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str3029) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then10, label %ifend12 then10: %t31 = call ptr @fn_emit_bind(ptr @.str3030) %t32 = call ptr @fn_val(ptr %t31, ptr @.str3031) store ptr %t32, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3032) %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 @.str3033, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3034) %t50 = call ptr @fn_emit_bind(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str3035) store ptr %t51, ptr %retval br label %ret ifend15: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3036) %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 @.str3037) store ptr %t67, ptr %retval br label %ret ifend18: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str3038) %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 @.str3039, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3040) %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 @.str3041) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3042) 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 @.str3043, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3044) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str3045) 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 @.str3046) call void @fn_emith(ptr @.str3047) call void @fn_emith(ptr @.str3048) call void @fn_emith(ptr @.str3049) call void @fn_emith(ptr @.str3050) call void @fn_emith(ptr @.str3051) call void @fn_emith(ptr @.str3052) call void @fn_emith(ptr @.str3053) call void @fn_emith(ptr @.str3054) call void @fn_emith(ptr @.str3055) call void @fn_emith(ptr @.str3056) call void @fn_emith(ptr @.str3057) call void @fn_emith(ptr @.str3058) call void @fn_emith(ptr @.str3059) call void @fn_emith(ptr @.str3060) call void @fn_emith(ptr @.str3061) call void @fn_emith(ptr @.str3062) call void @fn_emith(ptr @.str3063) call void @fn_emith(ptr @.str3064) call void @fn_emith(ptr @.str3065) call void @fn_emith(ptr @.str3066) call void @fn_emith(ptr @.str3067) call void @fn_emith(ptr @.str3068) call void @fn_emith(ptr @.str3069) call void @fn_emith(ptr @.str3070) call void @fn_emith(ptr @.str3071) call void @fn_emith(ptr @.str3072) call void @fn_emith(ptr @.str3073) call void @fn_emith(ptr @.str3074) call void @fn_emith(ptr @.str3075) call void @fn_emith(ptr @.str3076) call void @fn_emith(ptr @.str3077) call void @fn_emith(ptr @.str3078) call void @fn_emith(ptr @.str3079) call void @fn_emith(ptr @.str3080) call void @fn_emith(ptr @.str3081) call void @fn_emith(ptr @.str3082) call void @fn_emith(ptr @.str3083) call void @fn_emith(ptr @.str3084) call void @fn_emith(ptr @.str3085) call void @fn_emith(ptr @.str3086) call void @fn_emith(ptr @.str3087) call void @fn_emith(ptr @.str3088) call void @fn_emith(ptr @.str3089) call void @fn_emith(ptr @.str3090) call void @fn_emith(ptr @.str3091) call void @fn_emith(ptr @.str3092) call void @fn_emith(ptr @.str3093) call void @fn_emith(ptr @.str3094) call void @fn_emith(ptr @.str3095) call void @fn_emith(ptr @.str3096) call void @fn_emith(ptr @.str3097) call void @fn_emith(ptr @.str3098) call void @fn_emith(ptr @.str3099) call void @fn_emith(ptr @.str3100) call void @fn_emith(ptr @.str3101) call void @fn_emith(ptr @.str3102) call void @fn_emith(ptr @.str3103) call void @fn_emith(ptr @.str3104) call void @fn_emith(ptr @.str3105) call void @fn_emith(ptr @.str3106) call void @fn_emith(ptr @.str3107) call void @fn_emith(ptr @.str3108) call void @fn_emith(ptr @.str3109) call void @fn_emith(ptr @.str3110) call void @fn_emith(ptr @.str3111) call void @fn_emith(ptr @.str3112) call void @fn_emith(ptr @.str3113) call void @fn_emith(ptr @.str3114) call void @fn_emith(ptr @.str3115) call void @fn_emith(ptr @.str3116) call void @fn_emith(ptr @.str3117) call void @fn_emith(ptr @.str3118) call void @fn_emith(ptr @.str3119) 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 @.str3120) %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 @.str3121) %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 @.str3122) %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 @.str3123) %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 @.str3124) %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 @.str3125) %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 @.str3126) %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 @.str3127) %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 @.str3128, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3129) %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 @.str3130, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3131) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str3132) 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 @.str3133) %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 @.str3134, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str3135) %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 @.str3136) %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 @.str3137) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str3138) store ptr %t72, ptr %retval br label %ret ifend5: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3139) %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 @.str3140, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3141) %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 @.str3142) %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 @.str3143) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str3144) store ptr %t119, ptr %retval br label %ret ifend8: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str3145) %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 @.str3146, ptr %t152) %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str3147) %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 @.str3148) %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 @.str3149) %t165 = call ptr @fn_emit_bind(ptr %t164) %t166 = call ptr @fn_val(ptr %t165, ptr @.str3150) store ptr %t166, ptr %retval br label %ret ifend11: %t167 = load ptr, ptr %t0 %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str3151) %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 @.str3152, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str3153) %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 @.str3154) %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 @.str3155) %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 @.str3156) %t226 = call ptr @fn_emit_bind(ptr %t225) %t227 = call ptr @fn_val(ptr %t226, ptr @.str3157) store ptr %t227, ptr %retval br label %ret ifend14: %t228 = load ptr, ptr %t0 %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str3158) %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 @.str3159, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str3160) %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 @.str3161) %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 @.str3162) %t273 = call ptr @fn_emit_bind(ptr %t272) %t274 = call ptr @fn_val(ptr %t273, ptr @.str3163) 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 @.str3164, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str3165) %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 @.str3166) %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 @.str3167) %t317 = call ptr @fn_emit_bind(ptr %t316) %t318 = call ptr @fn_val(ptr %t317, ptr @.str3168) 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 @.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_emit_noise_cellular() br label %ret ret: ret void } define void @fn_emit_noise_cellular() { entry: call void @fn_emith(ptr @.str3253) call void @fn_emith(ptr @.str3254) call void @fn_emith(ptr @.str3255) call void @fn_emith(ptr @.str3256) call void @fn_emith(ptr @.str3257) call void @fn_emith(ptr @.str3258) call void @fn_emith(ptr @.str3259) call void @fn_emith(ptr @.str3260) call void @fn_emith(ptr @.str3261) call void @fn_emith(ptr @.str3262) call void @fn_emith(ptr @.str3263) call void @fn_emith(ptr @.str3264) call void @fn_emith(ptr @.str3265) call void @fn_emith(ptr @.str3266) call void @fn_emith(ptr @.str3267) call void @fn_emith(ptr @.str3268) call void @fn_emith(ptr @.str3269) call void @fn_emith(ptr @.str3270) call void @fn_emith(ptr @.str3271) call void @fn_emith(ptr @.str3272) call void @fn_emith(ptr @.str3273) call void @fn_emith(ptr @.str3274) call void @fn_emith(ptr @.str3275) call void @fn_emith(ptr @.str3276) 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 @.str3277) %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 @.str3278) %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 @.str3279) %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 @.str3280) %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 @.str3281) %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 @.str3282) %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 @.str3283) %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 @.str3284) %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 @.str3285) %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 @.str3286, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3287) %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 @.str3288, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3289) %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 @.str3290) %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 @.str3291, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3292) call void @fn_emit(ptr %t18) %t19 = call ptr @fn_val(ptr @.str3293, ptr @.str3294) store ptr %t19, ptr %retval br label %ret ifend2: %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3295) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = call ptr @fn_emit_bind(ptr @.str3296) %t24 = call ptr @fn_val(ptr %t23, ptr @.str3297) store ptr %t24, ptr %retval br label %ret ifend5: store ptr @.str3298, ptr %t25 store ptr @.str3299, ptr %t26 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str3300) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: store ptr @.str3301, ptr %t25 store ptr @.str3302, ptr %t26 br label %ifend8 ifend8: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3303) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: store ptr @.str3304, ptr %t25 store ptr @.str3305, ptr %t26 br label %ifend11 ifend11: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3306) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then12, label %ifend14 then12: store ptr @.str3307, ptr %t25 store ptr @.str3308, ptr %t26 br label %ifend14 ifend14: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str3309) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then15, label %ifend17 then15: store ptr @.str3310, ptr %t25 store ptr @.str3311, 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 @.str3312) 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 @.str3314) %t56 = call ptr @fn_emit_str_op(ptr @.str3313, 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 @.str3316) %t91 = call ptr @fn_val(ptr %t90, ptr @.str3317) %t92 = call ptr @fn_emit_str_op(ptr @.str3315, 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 @.str3319) %t97 = call ptr @fn_emit_str_op(ptr @.str3318, ptr %t93, ptr %t96) store ptr %t97, ptr %t42 %t98 = load ptr, ptr %t42 %t99 = call ptr @fn_emit_str_const(ptr @.str3321) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3322) %t101 = call ptr @fn_emit_str_op(ptr @.str3320, 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 @.str3324) %t106 = call ptr @fn_emit_str_op(ptr @.str3323, 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 @.str3325, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3326) %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 @.str3327) call void @fn_emit(ptr %t116) %t117 = call ptr @fn_val(ptr @.str3328, ptr @.str3329) 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 @.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) 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 @.str3337) %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 @.str3338) %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 @.str3339) %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 @.str3340) %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 @.str3341) %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 @.str3342) %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 @.str3343) %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 @.str3344) %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 @.str3345) %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 @.str3346) %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 @.str3347) %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 @.str3348) %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 @.str3349) %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 @.str3350) %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 @.str3351) %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 @.str3352) %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 @.str3353) %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 @.str3354) %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 ptr %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 @.str3355) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str3356) %t6 = call ptr @fn_val(ptr %t5, ptr @.str3357) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3358) %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 @.str3359) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = call ptr @lp_str_concat(ptr @.str3360, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3361) %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 @.str3362, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) %t33 = call ptr @fn_val(ptr %t32, ptr @.str3363) store ptr %t33, ptr %retval br label %ret ifend5: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3364) %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 @.str3365) %t38 = call ptr @fn_val(ptr %t37, ptr @.str3366) store ptr %t38, ptr %retval br label %ret ifend8: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str3367) %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 @.str3368, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str3369) call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str3370) store i32 1, ptr @g_g_term %t56 = call ptr @fn_val(ptr @.str3371, ptr @.str3372) store ptr %t56, ptr %retval br label %ret ifend11: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3373) %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 @.str3374, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3375) %t74 = call ptr @fn_emit_bind(ptr %t73) %t75 = call ptr @fn_val(ptr %t74, ptr @.str3376) store ptr %t75, ptr %retval br label %ret ifend14: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str3377) %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 @.str3378, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str3379) %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 @.str3380, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3381) %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 @.str3382, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3383) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str3384) store ptr %t104, ptr %retval br label %ret ifend17: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str3385) %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 @.str3386) %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 ptr @.str3387, ptr %t116 %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str3388) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then23, label %ifend25 then23: store ptr @.str3389, 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 ptr, ptr %t116 %t130 = call ptr @lp_str_concat(ptr @.str3390, ptr %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 @.str3391, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str3392) %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 @.str3393, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str3394) %t145 = load ptr, ptr %t139 %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str3395) %t148 = load ptr, ptr %t132 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str3396) call void @fn_emit(ptr %t150) %t151 = call ptr @fn_val(ptr @.str3397, ptr @.str3398) 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 @.str3399) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then26, label %ifend28 then26: %t155 = call ptr @fn_emit_bind(ptr @.str3400) %t156 = call ptr @fn_val(ptr %t155, ptr @.str3401) store ptr %t156, ptr %retval br label %ret ifend28: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str3402) %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 @.str3403, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str3404) %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 @.str3405) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str3406) store ptr %t189, ptr %retval br label %ret ifend31: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str3407) %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 @.str3408, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3409) %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 @.str3410) %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 @.str3411, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3412) %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 @.str3413, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str3414) %t231 = call ptr @fn_emit_bind(ptr %t230) %t232 = call ptr @fn_val(ptr %t231, ptr @.str3415) store ptr %t232, ptr %retval br label %ret ifend34: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str3416) %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 @.str3417, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str3418) %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 @.str3419, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str3420) %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 @.str3421, ptr %t257) %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str3422) %t260 = call ptr @fn_emit_bind(ptr %t259) %t261 = call ptr @fn_val(ptr %t260, ptr @.str3423) store ptr %t261, ptr %retval br label %ret ifend37: %t262 = load ptr, ptr %t0 %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str3424) %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then38, label %ifend40 then38: %t265 = call ptr @fn_emit_bind(ptr @.str3425) %t266 = call ptr @fn_val(ptr %t265, ptr @.str3426) store ptr %t266, ptr %retval br label %ret ifend40: %t267 = load ptr, ptr %t0 %t268 = call i32 @lp_str_eq(ptr %t267, ptr @.str3427) %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then41, label %ifend43 then41: %t270 = call ptr @fn_emit_bind(ptr @.str3428) %t271 = call ptr @fn_val(ptr %t270, ptr @.str3429) store ptr %t271, ptr %retval br label %ret ifend43: %t272 = load ptr, ptr %t0 %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str3430) %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 @.str3431, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str3432) %t289 = call ptr @fn_emit_bind(ptr %t288) %t290 = call ptr @fn_val(ptr %t289, ptr @.str3433) store ptr %t290, ptr %retval br label %ret ifend46: %t291 = load ptr, ptr %t0 %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str3434) %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 @.str3435, ptr %t305) %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str3436) %t308 = call ptr @fn_emit_bind(ptr %t307) %t309 = call ptr @fn_val(ptr %t308, ptr @.str3437) store ptr %t309, ptr %retval br label %ret ifend49: %t310 = load ptr, ptr %t0 %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str3438) %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 @.str3439, ptr %t324) %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str3440) %t327 = call ptr @fn_emit_bind(ptr %t326) %t328 = call ptr @fn_val(ptr %t327, ptr @.str3441) store ptr %t328, ptr %retval br label %ret ifend52: %t329 = call ptr @fn_emit_bind(ptr @.str3442) %t330 = call ptr @fn_val(ptr %t329, ptr @.str3443) store ptr %t330, ptr %retval br label %ret ret: %t331 = load ptr, ptr %retval ret ptr %t331 } define void @fn_emit_os_prelude() { entry: %t1 = alloca ptr %t3 = alloca ptr %t5 = alloca ptr %t7 = alloca ptr %t9 = alloca ptr %t11 = alloca ptr %t13 = alloca ptr %t15 = alloca ptr %t17 = alloca ptr %t19 = alloca ptr call void @fn_emith(ptr @.str3444) call void @fn_emith(ptr @.str3445) call void @fn_emith(ptr @.str3446) %t0 = call ptr @fn_emit_str_const(ptr @.str3447) store ptr %t0, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str3448) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_str_const(ptr @.str3449) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str3450) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str3451) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str3452) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str3453) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str3454) store ptr %t14, ptr %t15 %t16 = call ptr @fn_emit_str_const(ptr @.str3455) store ptr %t16, ptr %t17 %t18 = call ptr @fn_emit_str_const(ptr @.str3456) store ptr %t18, ptr %t19 call void @fn_emith(ptr @.str3457) call void @fn_emith(ptr @.str3458) call void @fn_emith(ptr @.str3459) call void @fn_emith(ptr @.str3460) call void @fn_emith(ptr @.str3461) call void @fn_emith(ptr @.str3462) call void @fn_emith(ptr @.str3463) call void @fn_emith(ptr @.str3464) call void @fn_emith(ptr @.str3465) call void @fn_emith(ptr @.str3466) call void @fn_emith(ptr @.str3467) call void @fn_emith(ptr @.str3468) %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr @.str3469, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str3470) %t23 = load ptr, ptr %t3 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3471) call void @fn_emith(ptr %t25) %t26 = load ptr, ptr %t5 %t27 = call ptr @lp_str_concat(ptr @.str3472, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3473) call void @fn_emith(ptr %t28) %t29 = load ptr, ptr %t5 %t30 = call ptr @lp_str_concat(ptr @.str3474, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str3475) call void @fn_emith(ptr %t31) %t32 = load ptr, ptr %t7 %t33 = call ptr @lp_str_concat(ptr @.str3476, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str3477) call void @fn_emith(ptr %t34) %t35 = load ptr, ptr %t9 %t36 = call ptr @lp_str_concat(ptr @.str3478, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3479) %t38 = load ptr, ptr %t11 %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str3480) call void @fn_emith(ptr %t40) 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) %t41 = load ptr, ptr %t13 %t42 = call ptr @lp_str_concat(ptr @.str3490, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str3491) call void @fn_emith(ptr %t43) %t44 = load ptr, ptr %t15 %t45 = call ptr @lp_str_concat(ptr @.str3492, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str3493) call void @fn_emith(ptr %t46) %t47 = load ptr, ptr %t17 %t48 = call ptr @lp_str_concat(ptr @.str3494, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3495) call void @fn_emith(ptr %t49) %t50 = load ptr, ptr %t19 %t51 = call ptr @lp_str_concat(ptr @.str3496, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str3497) call void @fn_emith(ptr %t52) call void @fn_emith(ptr @.str3498) call void @fn_emith(ptr @.str3499) call void @fn_emith(ptr @.str3500) call void @fn_emith(ptr @.str3501) 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 @.str3502) %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 @.str3503) %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 @.str3504) %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 @.str3505) %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 @.str3506) %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 @.str3507) %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 @.str3508) %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 @.str3509) %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 @.str3510) %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 @.str3511) %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 @.str3512, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3513) %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 @.str3514, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3515) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str3516) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3517) %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 @.str3518, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3519) %t43 = call ptr @fn_emit_bind(ptr %t42) %t44 = call ptr @fn_val(ptr %t43, ptr @.str3520) store ptr %t44, ptr %retval br label %ret ifend5: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str3521) %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 @.str3522, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str3523) %t62 = call ptr @fn_emit_bind(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str3524) store ptr %t63, ptr %retval br label %ret ifend8: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str3525) %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 @.str3526, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3527) %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 @.str3528) %t95 = call ptr @fn_emit_bind(ptr %t94) %t96 = call ptr @fn_val(ptr %t95, ptr @.str3529) store ptr %t96, ptr %retval br label %ret ifend11: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str3530) %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 @.str3531, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str3532) %t114 = call ptr @fn_emit_bind(ptr %t113) %t115 = call ptr @fn_val(ptr %t114, ptr @.str3533) store ptr %t115, ptr %retval br label %ret ifend14: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str3534) %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 @.str3535, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str3536) %t133 = call ptr @fn_emit_bind(ptr %t132) %t134 = call ptr @fn_val(ptr %t133, ptr @.str3537) store ptr %t134, ptr %retval br label %ret ifend17: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str3538) %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 @.str3539, ptr %t149) %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str3540) %t152 = call ptr @fn_emit_bind(ptr %t151) %t153 = call ptr @fn_val(ptr %t152, ptr @.str3541) store ptr %t153, ptr %retval br label %ret ifend20: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str3542) %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 @.str3543, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str3544) %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 @.str3545) %t185 = call ptr @fn_emit_bind(ptr %t184) %t186 = call ptr @fn_val(ptr %t185, ptr @.str3546) 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 @.str3547, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str3548) %t201 = call ptr @fn_emit_bind(ptr %t200) %t202 = call ptr @fn_val(ptr %t201, ptr @.str3549) 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 @.str3550) call void @fn_emith(ptr @.str3551) call void @fn_emith(ptr @.str3552) call void @fn_emith(ptr @.str3553) call void @fn_emith(ptr @.str3554) call void @fn_emith(ptr @.str3555) call void @fn_emith(ptr @.str3556) call void @fn_emith(ptr @.str3557) call void @fn_emith(ptr @.str3558) call void @fn_emith(ptr @.str3559) call void @fn_emith(ptr @.str3560) call void @fn_emith(ptr @.str3561) call void @fn_emith(ptr @.str3562) call void @fn_emith(ptr @.str3563) call void @fn_emith(ptr @.str3564) call void @fn_emith(ptr @.str3565) call void @fn_emith(ptr @.str3566) call void @fn_emith(ptr @.str3567) call void @fn_emith(ptr @.str3568) call void @fn_emith(ptr @.str3569) call void @fn_emith(ptr @.str3570) call void @fn_emith(ptr @.str3571) call void @fn_emith(ptr @.str3572) call void @fn_emith(ptr @.str3573) call void @fn_emith(ptr @.str3574) call void @fn_emith(ptr @.str3575) call void @fn_emith(ptr @.str3576) call void @fn_emith(ptr @.str3577) call void @fn_emith(ptr @.str3578) call void @fn_emith(ptr @.str3579) call void @fn_emith(ptr @.str3580) call void @fn_emith(ptr @.str3581) call void @fn_emith(ptr @.str3582) call void @fn_emith(ptr @.str3583) call void @fn_emith(ptr @.str3584) call void @fn_emith(ptr @.str3585) call void @fn_emith(ptr @.str3586) call void @fn_emith(ptr @.str3587) call void @fn_emith(ptr @.str3588) call void @fn_emith(ptr @.str3589) call void @fn_emith(ptr @.str3590) call void @fn_emith(ptr @.str3591) call void @fn_emith(ptr @.str3592) call void @fn_emith(ptr @.str3593) call void @fn_emith(ptr @.str3594) call void @fn_emith(ptr @.str3595) call void @fn_emith(ptr @.str3596) call void @fn_emith(ptr @.str3597) call void @fn_emith(ptr @.str3598) call void @fn_emith(ptr @.str3599) call void @fn_emith(ptr @.str3600) call void @fn_emith(ptr @.str3601) call void @fn_emith(ptr @.str3602) call void @fn_emith(ptr @.str3603) call void @fn_emith(ptr @.str3604) call void @fn_emith(ptr @.str3605) call void @fn_emith(ptr @.str3606) call void @fn_emith(ptr @.str3607) call void @fn_emith(ptr @.str3608) call void @fn_emith(ptr @.str3609) call void @fn_emith(ptr @.str3610) call void @fn_emith(ptr @.str3611) call void @fn_emith(ptr @.str3612) call void @fn_emith(ptr @.str3613) call void @fn_emith(ptr @.str3614) call void @fn_emith(ptr @.str3615) call void @fn_emith(ptr @.str3616) call void @fn_emith(ptr @.str3617) call void @fn_emith(ptr @.str3618) call void @fn_emith(ptr @.str3619) call void @fn_emith(ptr @.str3620) call void @fn_emith(ptr @.str3621) call void @fn_emith(ptr @.str3622) br label %ret ret: ret void } define void @fn_emit_uni_case_fns() { entry: call void @fn_emith(ptr @.str3623) call void @fn_emith(ptr @.str3624) call void @fn_emith(ptr @.str3625) call void @fn_emith(ptr @.str3626) call void @fn_emith(ptr @.str3627) call void @fn_emith(ptr @.str3628) call void @fn_emith(ptr @.str3629) call void @fn_emith(ptr @.str3630) call void @fn_emith(ptr @.str3631) call void @fn_emith(ptr @.str3632) call void @fn_emith(ptr @.str3633) call void @fn_emith(ptr @.str3634) call void @fn_emith(ptr @.str3635) call void @fn_emith(ptr @.str3636) call void @fn_emith(ptr @.str3637) call void @fn_emith(ptr @.str3638) call void @fn_emith(ptr @.str3639) call void @fn_emith(ptr @.str3640) call void @fn_emith(ptr @.str3641) call void @fn_emith(ptr @.str3642) call void @fn_emith(ptr @.str3643) call void @fn_emith(ptr @.str3644) call void @fn_emith(ptr @.str3645) call void @fn_emith(ptr @.str3646) call void @fn_emith(ptr @.str3647) call void @fn_emith(ptr @.str3648) call void @fn_emith(ptr @.str3649) call void @fn_emith(ptr @.str3650) call void @fn_emith(ptr @.str3651) call void @fn_emith(ptr @.str3652) call void @fn_emith(ptr @.str3653) call void @fn_emith(ptr @.str3654) call void @fn_emith(ptr @.str3655) call void @fn_emith(ptr @.str3656) call void @fn_emith(ptr @.str3657) call void @fn_emith(ptr @.str3658) call void @fn_emith(ptr @.str3659) call void @fn_emith(ptr @.str3660) call void @fn_emith(ptr @.str3661) call void @fn_emith(ptr @.str3662) br label %ret ret: ret void } define void @fn_emit_uni_str_fns() { entry: call void @fn_emith(ptr @.str3663) call void @fn_emith(ptr @.str3664) call void @fn_emith(ptr @.str3665) call void @fn_emith(ptr @.str3666) 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_emit_uni_grapheme() br label %ret ret: ret void } define void @fn_emit_uni_grapheme() { entry: 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) 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 @.str3719) %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 @.str3720) %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 @.str3721) %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 @.str3722) %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 @.str3723) %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 @.str3724) %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 @.str3725) %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 @.str3726) %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 @.str3727) %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 @.str3728) %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 @.str3729) %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 @.str3730) %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 @.str3731) %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 @.str3732) %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 @.str3733) %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 @.str3734) %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 @.str3735) %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 @.str3736) %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 store i32 1, ptr @g_g_uses_fsrt %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 @.str3737) %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 @.str3738, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3739) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str3740) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3741) %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 @.str3742, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3743) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str3744) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str3745) %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 @.str3746, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3747) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str3748) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3749) %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 @.str3750, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str3751) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str3752) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str3753) %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 @.str3754, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3755) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str3756) store ptr %t60, ptr %retval br label %ret ifend14: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str3757) %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 @.str3758, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str3759) %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str3760) store ptr %t70, ptr %retval br label %ret ifend17: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str3761) %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 @.str3762, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str3763) %t79 = call ptr @fn_emit_bind(ptr %t78) %t80 = call ptr @fn_val(ptr %t79, ptr @.str3764) 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 @.str3765) %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 @.str3766, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3767) %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 @.str3768) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str3769) store ptr %t104, ptr %retval br label %ret ifend23: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str3770) %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 @.str3771, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str3772) %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 @.str3773) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str3774) 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 @.str3775, ptr %t122) %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str3776) %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 @.str3777) %t130 = call ptr @fn_emit_bind(ptr %t129) %t131 = call ptr @fn_val(ptr %t130, ptr @.str3778) 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 store i32 1, ptr @g_g_uses_fsrt %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 @.str3779) %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 @.str3780, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3781) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str3782) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3783) %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 @.str3784, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3785) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str3786) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str3787) %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 @.str3788, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3789) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str3790) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3791) %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 @.str3792, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str3793) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str3794) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str3795) %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 @.str3796, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3797) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str3798) 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 @.str3799, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str3800) %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 @.str3801) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str3802) 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 store i32 1, ptr @g_g_uses_fsrt %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 @.str3803) %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 @.str3804, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3805) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str3806) 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 @.str3807, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3808) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str3809) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define void @fn_emit_fs_prelude() { entry: call void @fn_emith(ptr @.str3810) call void @fn_emith(ptr @.str3811) call void @fn_emith(ptr @.str3812) call void @fn_emith(ptr @.str3813) call void @fn_emith(ptr @.str3814) call void @fn_emith(ptr @.str3815) call void @fn_emith(ptr @.str3816) call void @fn_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 @.str3817) call void @fn_emith(ptr @.str3818) call void @fn_emith(ptr @.str3819) call void @fn_emith(ptr @.str3820) call void @fn_emith(ptr @.str3821) call void @fn_emith(ptr @.str3822) call void @fn_emith(ptr @.str3823) call void @fn_emith(ptr @.str3824) call void @fn_emith(ptr @.str3825) call void @fn_emith(ptr @.str3826) call void @fn_emith(ptr @.str3827) call void @fn_emith(ptr @.str3828) call void @fn_emith(ptr @.str3829) br label %ret ret: ret void } define void @fn_emit_fs_path() { entry: call void @fn_emith(ptr @.str3830) call void @fn_emith(ptr @.str3831) call void @fn_emith(ptr @.str3832) call void @fn_emith(ptr @.str3833) call void @fn_emith(ptr @.str3834) call void @fn_emith(ptr @.str3835) call void @fn_emith(ptr @.str3836) call void @fn_emith(ptr @.str3837) call void @fn_emith(ptr @.str3838) call void @fn_emith(ptr @.str3839) call void @fn_emith(ptr @.str3840) call void @fn_emith(ptr @.str3841) call void @fn_emith(ptr @.str3842) call void @fn_emith(ptr @.str3843) call void @fn_emith(ptr @.str3844) call void @fn_emith(ptr @.str3845) call void @fn_emith(ptr @.str3846) call void @fn_emith(ptr @.str3847) call void @fn_emith(ptr @.str3848) call void @fn_emith(ptr @.str3849) call void @fn_emith(ptr @.str3850) call void @fn_emith(ptr @.str3851) call void @fn_emith(ptr @.str3852) call void @fn_emith(ptr @.str3853) call void @fn_emith(ptr @.str3854) call void @fn_emith(ptr @.str3855) call void @fn_emith(ptr @.str3856) call void @fn_emith(ptr @.str3857) call void @fn_emith(ptr @.str3858) call void @fn_emith(ptr @.str3859) call void @fn_emith(ptr @.str3860) call void @fn_emith(ptr @.str3861) call void @fn_emith(ptr @.str3862) call void @fn_emith(ptr @.str3863) call void @fn_emith(ptr @.str3864) call void @fn_emith(ptr @.str3865) call void @fn_emith(ptr @.str3866) call void @fn_emith(ptr @.str3867) call void @fn_emith(ptr @.str3868) call void @fn_emith(ptr @.str3869) call void @fn_emith(ptr @.str3870) call void @fn_emith(ptr @.str3871) call void @fn_emit_fs_normalize() br label %ret ret: ret void } define void @fn_emit_fs_normalize() { entry: call void @fn_emith(ptr @.str3872) call void @fn_emith(ptr @.str3873) call void @fn_emith(ptr @.str3874) call void @fn_emith(ptr @.str3875) call void @fn_emith(ptr @.str3876) call void @fn_emith(ptr @.str3877) call void @fn_emith(ptr @.str3878) call void @fn_emith(ptr @.str3879) call void @fn_emith(ptr @.str3880) call void @fn_emith(ptr @.str3881) call void @fn_emith(ptr @.str3882) call void @fn_emith(ptr @.str3883) call void @fn_emith(ptr @.str3884) call void @fn_emith(ptr @.str3885) call void @fn_emith(ptr @.str3886) call void @fn_emith(ptr @.str3887) call void @fn_emith(ptr @.str3888) call void @fn_emith(ptr @.str3889) call void @fn_emith(ptr @.str3890) call void @fn_emith(ptr @.str3891) call void @fn_emith(ptr @.str3892) call void @fn_emith(ptr @.str3893) call void @fn_emith(ptr @.str3894) call void @fn_emith(ptr @.str3895) call void @fn_emith(ptr @.str3896) call void @fn_emith(ptr @.str3897) call void @fn_emith(ptr @.str3898) call void @fn_emith(ptr @.str3899) call void @fn_emith(ptr @.str3900) call void @fn_emith(ptr @.str3901) call void @fn_emith(ptr @.str3902) call void @fn_emith(ptr @.str3903) call void @fn_emith(ptr @.str3904) call void @fn_emith(ptr @.str3905) call void @fn_emith(ptr @.str3906) call void @fn_emith(ptr @.str3907) call void @fn_emith(ptr @.str3908) br label %ret ret: ret void } define void @fn_emit_fs_io() { entry: call void @fn_emith(ptr @.str3909) call void @fn_emith(ptr @.str3910) call void @fn_emith(ptr @.str3911) call void @fn_emith(ptr @.str3912) call void @fn_emith(ptr @.str3913) call void @fn_emith(ptr @.str3914) call void @fn_emith(ptr @.str3915) call void @fn_emith(ptr @.str3916) call void @fn_emith(ptr @.str3917) call void @fn_emith(ptr @.str3918) call void @fn_emith(ptr @.str3919) call void @fn_emith(ptr @.str3920) call void @fn_emith(ptr @.str3921) call void @fn_emith(ptr @.str3922) call void @fn_emith(ptr @.str3923) call void @fn_emith(ptr @.str3924) call void @fn_emith(ptr @.str3925) call void @fn_emith(ptr @.str3926) call void @fn_emith(ptr @.str3927) call void @fn_emith(ptr @.str3928) call void @fn_emith(ptr @.str3929) call void @fn_emith(ptr @.str3930) call void @fn_emith(ptr @.str3931) call void @fn_emith(ptr @.str3932) call void @fn_emith(ptr @.str3933) call void @fn_emith(ptr @.str3934) call void @fn_emith(ptr @.str3935) call void @fn_emith(ptr @.str3936) call void @fn_emith(ptr @.str3937) call void @fn_emith(ptr @.str3938) call void @fn_emith(ptr @.str3939) call void @fn_emith(ptr @.str3940) call void @fn_emith(ptr @.str3941) call void @fn_emith(ptr @.str3942) call void @fn_emith(ptr @.str3943) call void @fn_emith(ptr @.str3944) call void @fn_emith(ptr @.str3945) call void @fn_emith(ptr @.str3946) call void @fn_emith(ptr @.str3947) call void @fn_emith(ptr @.str3948) call void @fn_emith(ptr @.str3949) call void @fn_emith(ptr @.str3950) call void @fn_emith(ptr @.str3951) call void @fn_emith(ptr @.str3952) br label %ret ret: ret void } define void @fn_emit_fs_dir() { entry: call void @fn_emith(ptr @.str3953) call void @fn_emith(ptr @.str3954) call void @fn_emith(ptr @.str3955) call void @fn_emith(ptr @.str3956) call void @fn_emith(ptr @.str3957) call void @fn_emith(ptr @.str3958) call void @fn_emith(ptr @.str3959) call void @fn_emith(ptr @.str3960) call void @fn_emith(ptr @.str3961) call void @fn_emith(ptr @.str3962) call void @fn_emith(ptr @.str3963) call void @fn_emith(ptr @.str3964) call void @fn_emith(ptr @.str3965) call void @fn_emith(ptr @.str3966) call void @fn_emith(ptr @.str3967) call void @fn_emith(ptr @.str3968) call void @fn_emith(ptr @.str3969) call void @fn_emith(ptr @.str3970) call void @fn_emith(ptr @.str3971) call void @fn_emith(ptr @.str3972) call void @fn_emith(ptr @.str3973) call void @fn_emith(ptr @.str3974) call void @fn_emith(ptr @.str3975) call void @fn_emith(ptr @.str3976) 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 @.str3977, 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 @.str3978, 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 @.str3979, 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 @.str3980, 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 @.str3981, 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 @.str3982, 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 @.str3983, 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 @.str3984, 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 @.str3985, 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 @.str3986, 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 @.str3987, 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 @.str3988, 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 @.str3989, 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 @.str3990, 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 @.str3991, 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 @.str3992, 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 @.str3993, 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 @.str3994, 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 @.str3995, 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 @.str3996, 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 @.str3997, 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 @.str3998, 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 @.str3999, 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 @.str4000, 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 @.str4001, 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 @.str4002, 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 @.str4003, 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 @.str4004, 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 @.str4005, 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 @.str4006, 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 @.str4007, 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 @.str4008, 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 @.str4009, 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 @.str4010, 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 @.str4011, 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 @.str4012, 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 @.str4013, 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 @.str4014, 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 @.str4015, 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 @.str4016, 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 @.str4017, 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 @.str4018, 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 @.str4019, 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 @.str4020, 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 @.str4021, 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 @.str4022, 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 @.str4023, 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 @.str4024, 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 @.str4025) 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 @.str4026, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str4027) 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 @.str4028) 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 @.str4029, ptr %t1028) %t1030 = call ptr @lp_str_concat(ptr %t1029, ptr @.str4030) %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 @.str4031) 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 @.str4032) call void @fn_emith(ptr @.str4033) call void @fn_emith(ptr @.str4034) %t1041 = load i32, ptr %t1007 %t1042 = call ptr @fn_itoa(i32 %t1041) %t1043 = call ptr @lp_str_concat(ptr @.str4035, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str4036) 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 @.str4037, ptr %t1046) %t1048 = call ptr @lp_str_concat(ptr %t1047, ptr @.str4038) 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 @.str4039, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str4040) call void @fn_emith(ptr %t1052) call void @fn_emith(ptr @.str4041) %t1053 = load ptr, ptr %t1003 %t1054 = call ptr @lp_str_concat(ptr @.str4042, ptr %t1053) %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str4043) call void @fn_emith(ptr %t1055) call void @fn_emith(ptr @.str4044) call void @fn_emith(ptr @.str4045) call void @fn_emith(ptr @.str4046) call void @fn_emith(ptr @.str4047) call void @fn_emith(ptr @.str4048) call void @fn_emith(ptr @.str4049) call void @fn_emith(ptr @.str4050) call void @fn_emit_fs_sniff() br label %ret ret: ret void } define void @fn_emit_fs_sniff() { entry: call void @fn_emith(ptr @.str4051) call void @fn_emith(ptr @.str4052) call void @fn_emith(ptr @.str4053) call void @fn_emith(ptr @.str4054) call void @fn_emith(ptr @.str4055) call void @fn_emith(ptr @.str4056) call void @fn_emith(ptr @.str4057) call void @fn_emith(ptr @.str4058) call void @fn_emith(ptr @.str4059) call void @fn_emith(ptr @.str4060) call void @fn_emith(ptr @.str4061) call void @fn_emith(ptr @.str4062) call void @fn_emith(ptr @.str4063) call void @fn_emith(ptr @.str4064) call void @fn_emith(ptr @.str4065) call void @fn_emith(ptr @.str4066) call void @fn_emith(ptr @.str4067) call void @fn_emith(ptr @.str4068) call void @fn_emith(ptr @.str4069) call void @fn_emith(ptr @.str4070) call void @fn_emith(ptr @.str4071) call void @fn_emith(ptr @.str4072) call void @fn_emith(ptr @.str4073) call void @fn_emith(ptr @.str4074) 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 @.str4075, 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 @.str4076, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4077) %t13 = load ptr, ptr %t9 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4078) %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 @.str4079) %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 @.str4080) %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 @.str4081) %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 @.str4082) %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 @.str4083) %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 @.str4084) %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 @.str4085) %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 @.str4086) %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 @.str4087) %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 @.str4088) %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 @.str4089) %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 @.str4090) %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 @.str4091) %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 @.str4092) %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 @.str4093) %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 @.str4094) %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 @.str4095) %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 @.str4096) %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 @.str4097, 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 @.str4098, 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 @.str4099, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4100) %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 @.str4101) store ptr %t26, ptr %t27 %t28 = call ptr @fn_lbl(ptr @.str4102) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str4103) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str4104) %t31 = load ptr, ptr %t27 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str4105) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str4106) %t33 = load ptr, ptr %t27 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str4107) %t34 = load ptr, ptr %t18 %t35 = call ptr @lp_str_concat(ptr @.str4108, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4109) %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 @.str4110, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4111) %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 @.str4112, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4113) %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 @.str4114, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4115) %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 @.str4116, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4117) %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 @.str4118, 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 @.str4119, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4120) %t73 = load ptr, ptr %t65 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4121) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 call void @fn_emit(ptr @.str4122) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str4123) %t79 = load ptr, ptr %t10 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str4124) call void @fn_emit(ptr @.str4125) %t80 = load ptr, ptr %t50 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str4126) %t81 = load ptr, ptr %t7 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str4127) call void @fn_emit(ptr @.str4128) %t82 = load ptr, ptr %t29 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str4129) %t83 = load ptr, ptr %t29 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str4130) 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 @.str4131, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str4132) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4133) %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 @.str4134, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4135) %t13 = load ptr, ptr %t5 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4136) %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 @.str4137, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4138) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4139) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str4140) %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str4141) %t35 = load ptr, ptr %t5 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4142) %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 @.str4143, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4144) %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 @.str4145, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4146) %t47 = load ptr, ptr %t2 %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4147) %t50 = load ptr, ptr %t0 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4148) %t53 = load ptr, ptr %t4 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str4149) %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 @.str4150, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4151) %t61 = load ptr, ptr %t2 %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4152) %t64 = load ptr, ptr %t0 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str4153) %t67 = load ptr, ptr %t5 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str4154) %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 @.str4155, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4156) %t79 = load ptr, ptr %t57 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4157) %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 @.str4158, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4159) %t88 = load ptr, ptr %t57 %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4160) %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 @.str4161, 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 @.str4162, 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 @.str4163, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4164) %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 @.str4165, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4166) %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 @.str4167, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4168) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = call ptr @fn_emit_alloca(ptr @.str4169) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str4170, ptr @.str4171, ptr %t41) %t42 = call ptr @fn_lbl(ptr @.str4172) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str4173) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str4174) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str4175) %t48 = load ptr, ptr %t43 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str4176) %t49 = load ptr, ptr %t43 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str4177) %t50 = load ptr, ptr %t40 %t51 = call ptr @lp_str_concat(ptr @.str4178, 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 @.str4179, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4180) %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 @.str4181) %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str4182) %t62 = load ptr, ptr %t45 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str4183) %t63 = load ptr, ptr %t47 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str4184) %t64 = load ptr, ptr %t45 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str4185) %t65 = load ptr, ptr %t53 %t66 = call ptr @lp_str_concat(ptr @.str4186, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4187) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = call ptr @fn_emit_alloca(ptr @.str4188) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 call void @fn_store_at(ptr @.str4189, ptr @.str4190, ptr %t72) %t73 = call ptr @fn_lbl(ptr @.str4191) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str4192) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str4193) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str4194) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str4195) %t80 = load ptr, ptr %t74 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str4196) %t81 = load ptr, ptr %t71 %t82 = call ptr @lp_str_concat(ptr @.str4197, 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 @.str4198, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4199) %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 @.str4200) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str4201) %t93 = load ptr, ptr %t76 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str4202) %t94 = load ptr, ptr %t78 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str4203) %t95 = load ptr, ptr %t76 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str4204) %t96 = load ptr, ptr %t84 %t97 = call ptr @lp_str_concat(ptr @.str4205, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str4206) %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 @.str4207, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str4208) %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 @.str4209, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4210) %t113 = load ptr, ptr %t102 %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str4211) %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 @.str4212, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4213) %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 @.str4214, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str4215) %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 @.str4216, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str4217) %t137 = load ptr, ptr %t126 %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str4218) %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 @.str4219) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t84 %t147 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str4220, ptr %t146, ptr %t147) %t148 = call ptr @fn_emit_alloca(ptr @.str4221) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t119 %t151 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str4222, ptr %t150, ptr %t151) %t152 = call ptr @fn_emit_alloca(ptr @.str4223) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t84 %t155 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str4224, ptr %t154, ptr %t155) %t156 = call ptr @fn_lbl(ptr @.str4225) store ptr %t156, ptr %t157 %t158 = call ptr @fn_lbl(ptr @.str4226) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str4227) store ptr %t160, ptr %t161 call void @fn_emit(ptr @.str4228) %t162 = load ptr, ptr %t157 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str4229) %t163 = load ptr, ptr %t157 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str4230) %t164 = load ptr, ptr %t145 %t165 = call ptr @lp_str_concat(ptr @.str4231, 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 @.str4232, 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 @.str4233, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str4234) %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 @.str4235, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str4236) %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 @.str4237, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str4238) %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 @.str4239) %t193 = load ptr, ptr %t192 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str4240) %t194 = load ptr, ptr %t159 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str4241) %t195 = load ptr, ptr %t161 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str4242) %t196 = load ptr, ptr %t159 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str4243) %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 @.str4244, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str4245) %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 @.str4246, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str4247) %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 @.str4248, 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 @.str4249) store ptr %t238, ptr %t239 %t240 = call ptr @fn_lbl(ptr @.str4250) store ptr %t240, ptr %t241 %t242 = call ptr @fn_lbl(ptr @.str4251) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str4252) %t244 = load ptr, ptr %t228 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str4253) %t245 = load ptr, ptr %t239 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str4254) %t246 = load ptr, ptr %t241 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str4255) %t247 = load ptr, ptr %t239 call void @fn_emit(ptr %t247) call void @fn_emit(ptr @.str4256) call void @fn_emit(ptr @.str4257) %t248 = load ptr, ptr %t1 call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str4258) %t249 = load ptr, ptr %t220 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str4259) %t250 = load ptr, ptr %t237 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str4260) %t251 = load ptr, ptr %t171 %t252 = call ptr @lp_str_concat(ptr @.str4261, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str4262) %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 @.str4263, ptr %t256, ptr %t257) call void @fn_emit(ptr @.str4264) %t258 = load ptr, ptr %t243 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str4265) %t259 = load ptr, ptr %t241 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str4266) call void @fn_emit(ptr @.str4267) %t260 = load ptr, ptr %t1 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str4268) %t261 = load ptr, ptr %t208 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str4269) %t262 = load ptr, ptr %t237 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str4270) %t263 = load ptr, ptr %t167 %t264 = call ptr @lp_str_concat(ptr @.str4271, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str4272) %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 @.str4273, ptr %t268, ptr %t269) call void @fn_emit(ptr @.str4274) %t270 = load ptr, ptr %t243 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str4275) %t271 = load ptr, ptr %t243 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str4276) %t272 = load ptr, ptr %t232 %t273 = call ptr @lp_str_concat(ptr @.str4277, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str4278) %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 @.str4279, ptr %t277, ptr %t278) call void @fn_emit(ptr @.str4280) %t279 = load ptr, ptr %t157 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str4281) %t280 = load ptr, ptr %t161 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str4282) %t281 = call ptr @fn_lbl(ptr @.str4283) store ptr %t281, ptr %t282 %t283 = call ptr @fn_lbl(ptr @.str4284) store ptr %t283, ptr %t284 %t285 = call ptr @fn_lbl(ptr @.str4285) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str4286) %t287 = load ptr, ptr %t282 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str4287) %t288 = load ptr, ptr %t282 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str4288) %t289 = load ptr, ptr %t145 %t290 = call ptr @lp_str_concat(ptr @.str4289, 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 @.str4290, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str4291) %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 @.str4292) %t300 = load ptr, ptr %t299 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str4293) %t301 = load ptr, ptr %t284 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str4294) %t302 = load ptr, ptr %t286 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str4295) %t303 = load ptr, ptr %t284 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str4296) %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 @.str4297, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str4298) %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 @.str4299, 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 @.str4300) %t325 = load ptr, ptr %t1 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str4301) %t326 = load ptr, ptr %t315 call void @fn_emit(ptr %t326) call void @fn_emit(ptr @.str4302) %t327 = load ptr, ptr %t324 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str4303) %t328 = load ptr, ptr %t292 %t329 = call ptr @lp_str_concat(ptr @.str4304, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str4305) %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 @.str4306, ptr %t333, ptr %t334) %t335 = load ptr, ptr %t319 %t336 = call ptr @lp_str_concat(ptr @.str4307, ptr %t335) %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str4308) %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 @.str4309, ptr %t340, ptr %t341) call void @fn_emit(ptr @.str4310) %t342 = load ptr, ptr %t282 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str4311) %t343 = load ptr, ptr %t286 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str4312) %t344 = call ptr @fn_lbl(ptr @.str4313) store ptr %t344, ptr %t345 %t346 = call ptr @fn_lbl(ptr @.str4314) store ptr %t346, ptr %t347 %t348 = call ptr @fn_lbl(ptr @.str4315) store ptr %t348, ptr %t349 call void @fn_emit(ptr @.str4316) %t350 = load ptr, ptr %t345 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str4317) %t351 = load ptr, ptr %t345 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str4318) %t352 = load ptr, ptr %t149 %t353 = call ptr @lp_str_concat(ptr @.str4319, 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 @.str4320, ptr %t356) %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str4321) %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 @.str4322) %t363 = load ptr, ptr %t362 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str4323) %t364 = load ptr, ptr %t347 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str4324) %t365 = load ptr, ptr %t349 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str4325) %t366 = load ptr, ptr %t347 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str4326) %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 @.str4327, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str4328) %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 @.str4329, 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 @.str4330) %t388 = load ptr, ptr %t1 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str4331) %t389 = load ptr, ptr %t378 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str4332) %t390 = load ptr, ptr %t387 call void @fn_emit(ptr %t390) call void @fn_emit(ptr @.str4333) %t391 = load ptr, ptr %t355 %t392 = call ptr @lp_str_concat(ptr @.str4334, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str4335) %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 @.str4336, ptr %t396, ptr %t397) %t398 = load ptr, ptr %t382 %t399 = call ptr @lp_str_concat(ptr @.str4337, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str4338) %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 @.str4339, ptr %t403, ptr %t404) call void @fn_emit(ptr @.str4340) %t405 = load ptr, ptr %t345 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str4341) %t406 = load ptr, ptr %t349 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str4342) %t407 = call ptr @fn_emit_alloca(ptr @.str4343) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t84 %t410 = load ptr, ptr %t408 call void @fn_store_at(ptr @.str4344, ptr %t409, ptr %t410) %t411 = call ptr @fn_lbl(ptr @.str4345) store ptr %t411, ptr %t412 %t413 = call ptr @fn_lbl(ptr @.str4346) store ptr %t413, ptr %t414 %t415 = call ptr @fn_lbl(ptr @.str4347) store ptr %t415, ptr %t416 call void @fn_emit(ptr @.str4348) %t417 = load ptr, ptr %t412 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str4349) %t418 = load ptr, ptr %t412 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str4350) %t419 = load ptr, ptr %t408 %t420 = call ptr @lp_str_concat(ptr @.str4351, 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 @.str4352, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str4353) %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 @.str4354) %t430 = load ptr, ptr %t429 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str4355) %t431 = load ptr, ptr %t414 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str4356) %t432 = load ptr, ptr %t416 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str4357) %t433 = load ptr, ptr %t414 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str4358) %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 @.str4359, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str4360) %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 @.str4361) %t451 = load ptr, ptr %t1 call void @fn_emit(ptr %t451) call void @fn_emit(ptr @.str4362) %t452 = load ptr, ptr %t445 call void @fn_emit(ptr %t452) call void @fn_emit(ptr @.str4363) %t453 = load ptr, ptr %t450 call void @fn_emit(ptr %t453) call void @fn_emit(ptr @.str4364) %t454 = load ptr, ptr %t422 %t455 = call ptr @lp_str_concat(ptr @.str4365, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str4366) %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 @.str4367, ptr %t459, ptr %t460) call void @fn_emit(ptr @.str4368) %t461 = load ptr, ptr %t412 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str4369) %t462 = load ptr, ptr %t416 call void @fn_emit(ptr %t462) call void @fn_emit(ptr @.str4370) %t463 = load ptr, ptr %t84 %t464 = call ptr @lp_str_concat(ptr @.str4371, ptr %t463) %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str4372) %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 @.str4373, ptr %t470, ptr %t471) call void @fn_emit(ptr @.str4374) %t472 = load ptr, ptr %t74 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str4375) %t473 = load ptr, ptr %t78 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str4376) %t474 = load ptr, ptr %t69 %t475 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str4377, ptr %t474, ptr %t475) call void @fn_emit(ptr @.str4378) %t476 = load ptr, ptr %t43 call void @fn_emit(ptr %t476) call void @fn_emit(ptr @.str4379) %t477 = load ptr, ptr %t47 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str4380) call void @fn_emit(ptr @.str4381) %t478 = load ptr, ptr %t38 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str4382) 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 @.str4383, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4384) 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 @.str4385, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4386) 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 @.str4387, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4388) %t46 = load ptr, ptr %t37 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4389) 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 @.str4390) %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 @.str4391) %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 @.str4392) %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 @.str4393) %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 @.str4394) 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 @.str4395, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4396) %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 @.str4397) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str4398) 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 @.str4399, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4400) 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 @.str4401) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str4402) %t86 = load ptr, ptr %t82 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str4403) %t87 = call ptr @fn_val(ptr @.str4404, ptr @.str4405) store ptr %t87, ptr %retval br label %ret ifend17: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str4406) %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 @.str4407) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t75 %t96 = call ptr @lp_str_concat(ptr @.str4408, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4409) %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 @.str4410) %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 @.str4411, 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 @.str4412, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4413) %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 @.str4414, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4415) %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 @.str4416) %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 @.str4417, 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 @.str4418, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str4419) %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 @.str4420, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str4421) %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 @.str4422) %t152 = load ptr, ptr %t139 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str4423) %t153 = load ptr, ptr %t82 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str4424) %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 @.str4425) %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 @.str4426, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str4427) %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 @.str4428, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str4429) %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 @.str4430) %t206 = load ptr, ptr %t75 call void @fn_emit(ptr %t206) call void @fn_emit(ptr @.str4431) %t207 = load ptr, ptr %t205 call void @fn_emit(ptr %t207) call void @fn_emit(ptr @.str4432) %t208 = load ptr, ptr %t184 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str4433) call void @fn_emit(ptr @.str4434) %t209 = load ptr, ptr %t75 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str4435) %t210 = load ptr, ptr %t198 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str4436) %t211 = load ptr, ptr %t191 call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str4437) %t212 = call ptr @fn_val(ptr @.str4438, ptr @.str4439) store ptr %t212, ptr %retval br label %ret ifend29: %t214 = load ptr, ptr %t0 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str4440) %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 @.str4441) %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 @.str4442, ptr %t233) %t235 = call ptr @fn_emit_bind(ptr %t234) store ptr %t235, ptr %t236 %t237 = call ptr @fn_emit_alloca(ptr @.str4443) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str4444, ptr @.str4445, ptr %t239) %t240 = call ptr @fn_emit_alloca(ptr @.str4446) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t241 call void @fn_store_at(ptr @.str4447, ptr @.str4448, ptr %t242) %t243 = call ptr @fn_lbl(ptr @.str4449) store ptr %t243, ptr %t244 %t245 = call ptr @fn_lbl(ptr @.str4450) store ptr %t245, ptr %t246 %t247 = call ptr @fn_lbl(ptr @.str4451) store ptr %t247, ptr %t248 %t249 = call ptr @fn_lbl(ptr @.str4452) store ptr %t249, ptr %t250 %t251 = call ptr @fn_lbl(ptr @.str4453) store ptr %t251, ptr %t252 call void @fn_emit(ptr @.str4454) %t253 = load ptr, ptr %t244 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str4455) %t254 = load ptr, ptr %t244 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str4456) %t255 = load ptr, ptr %t241 %t256 = call ptr @lp_str_concat(ptr @.str4457, 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 @.str4458, ptr %t259) %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str4459) %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 @.str4460) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str4461) %t267 = load ptr, ptr %t246 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str4462) %t268 = load ptr, ptr %t252 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str4463) %t269 = load ptr, ptr %t246 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str4464) %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 @.str4465, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str4466) %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 @.str4467, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str4468) %t285 = load ptr, ptr %t281 %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str4469) %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 @.str4470) %t294 = load ptr, ptr %t293 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str4471) %t295 = load ptr, ptr %t248 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str4472) %t296 = load ptr, ptr %t250 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str4473) %t297 = load ptr, ptr %t248 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str4474) %t298 = load ptr, ptr %t258 %t299 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str4475, ptr %t298, ptr %t299) call void @fn_emit(ptr @.str4476) %t300 = load ptr, ptr %t252 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str4477) %t301 = load ptr, ptr %t250 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str4478) %t302 = load ptr, ptr %t258 %t303 = call ptr @lp_str_concat(ptr @.str4479, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str4480) %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 @.str4481, ptr %t307, ptr %t308) call void @fn_emit(ptr @.str4482) %t309 = load ptr, ptr %t244 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str4483) %t310 = load ptr, ptr %t252 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str4484) %t311 = load ptr, ptr %t238 %t312 = call ptr @lp_str_concat(ptr @.str4485, 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 @.str4486) %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 @.str4487) store ptr %t319, ptr %retval br label %ret ifend37: %t320 = load ptr, ptr %t314 %t321 = call ptr @lp_str_concat(ptr @.str4488, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str4489) %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 @.str4490, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str4491) %t328 = call ptr @fn_emit_bind(ptr %t327) %t329 = call ptr @fn_val(ptr %t328, ptr @.str4492) store ptr %t329, ptr %retval br label %ret ifend34: %t330 = load ptr, ptr %t0 %t331 = call i32 @lp_str_eq(ptr %t330, ptr @.str4493) %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 @.str4494, ptr %t353) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = call ptr @fn_emit_alloca(ptr @.str4495) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t356 %t360 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str4496, ptr %t359, ptr %t360) %t361 = call ptr @fn_lbl(ptr @.str4497) store ptr %t361, ptr %t362 %t363 = call ptr @fn_lbl(ptr @.str4498) store ptr %t363, ptr %t364 %t365 = call ptr @fn_lbl(ptr @.str4499) store ptr %t365, ptr %t366 call void @fn_emit(ptr @.str4500) %t367 = load ptr, ptr %t362 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str4501) %t368 = load ptr, ptr %t362 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str4502) %t369 = load ptr, ptr %t358 %t370 = call ptr @lp_str_concat(ptr @.str4503, 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 @.str4504, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str4505) %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 @.str4506) %t382 = load ptr, ptr %t381 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str4507) %t383 = load ptr, ptr %t364 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str4508) %t384 = load ptr, ptr %t366 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str4509) %t385 = load ptr, ptr %t364 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str4510) %t386 = load ptr, ptr %t372 %t387 = call ptr @lp_str_concat(ptr @.str4511, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str4512) %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 @.str4513, ptr %t396) %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str4514) %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 @.str4515) %t408 = load ptr, ptr %t75 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str4516) %t409 = load ptr, ptr %t402 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str4517) %t410 = load ptr, ptr %t407 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str4518) %t411 = load ptr, ptr %t390 %t412 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str4519, ptr %t411, ptr %t412) call void @fn_emit(ptr @.str4520) %t413 = load ptr, ptr %t362 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str4521) %t414 = load ptr, ptr %t366 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str4522) %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 @.str4523) %t422 = load ptr, ptr %t75 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str4524) %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 @.str4525) %t426 = load ptr, ptr %t421 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str4526) %t427 = load ptr, ptr %t356 %t428 = call ptr @lp_str_concat(ptr @.str4527, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str4528) %t430 = call ptr @fn_emit_bind(ptr %t429) store ptr %t430, ptr %t431 call void @fn_emit(ptr @.str4529) %t432 = load ptr, ptr %t431 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str4530) %t433 = load ptr, ptr %t82 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str4531) %t434 = call ptr @fn_val(ptr @.str4532, ptr @.str4533) store ptr %t434, ptr %retval br label %ret ifend40: %t435 = load ptr, ptr %t0 %t436 = call i32 @lp_str_eq(ptr %t435, ptr @.str4534) %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 @.str4535, 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 @.str4536, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str4537) %t454 = call ptr @fn_emit_bind(ptr %t453) store ptr %t454, ptr %t455 %t456 = call ptr @fn_emit_alloca(ptr @.str4538) 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 @.str4539, ptr %t460, ptr %t461) %t462 = call ptr @fn_lbl(ptr @.str4540) store ptr %t462, ptr %t463 %t464 = call ptr @fn_lbl(ptr @.str4541) store ptr %t464, ptr %t465 %t466 = call ptr @fn_lbl(ptr @.str4542) store ptr %t466, ptr %t467 call void @fn_emit(ptr @.str4543) %t468 = load ptr, ptr %t463 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str4544) %t469 = load ptr, ptr %t463 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str4545) %t470 = load ptr, ptr %t457 %t471 = call ptr @lp_str_concat(ptr @.str4546, 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 @.str4547, ptr %t474) %t476 = call ptr @lp_str_concat(ptr %t475, ptr @.str4548) %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 @.str4549) %t481 = load ptr, ptr %t480 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str4550) %t482 = load ptr, ptr %t465 call void @fn_emit(ptr %t482) call void @fn_emit(ptr @.str4551) %t483 = load ptr, ptr %t467 call void @fn_emit(ptr %t483) call void @fn_emit(ptr @.str4552) %t484 = load ptr, ptr %t465 call void @fn_emit(ptr %t484) call void @fn_emit(ptr @.str4553) %t485 = load ptr, ptr %t473 %t486 = call ptr @lp_str_concat(ptr @.str4554, ptr %t485) %t487 = call ptr @lp_str_concat(ptr %t486, ptr @.str4555) %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 @.str4556, ptr %t495) %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str4557) %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 @.str4558) %t507 = load ptr, ptr %t75 call void @fn_emit(ptr %t507) call void @fn_emit(ptr @.str4559) %t508 = load ptr, ptr %t501 call void @fn_emit(ptr %t508) call void @fn_emit(ptr @.str4560) %t509 = load ptr, ptr %t506 call void @fn_emit(ptr %t509) call void @fn_emit(ptr @.str4561) %t510 = load ptr, ptr %t489 %t511 = load ptr, ptr %t457 call void @fn_store_at(ptr @.str4562, ptr %t510, ptr %t511) call void @fn_emit(ptr @.str4563) %t512 = load ptr, ptr %t463 call void @fn_emit(ptr %t512) call void @fn_emit(ptr @.str4564) %t513 = load ptr, ptr %t467 call void @fn_emit(ptr %t513) call void @fn_emit(ptr @.str4565) call void @fn_emit(ptr @.str4566) %t514 = load ptr, ptr %t455 call void @fn_emit(ptr %t514) call void @fn_emit(ptr @.str4567) %t515 = load ptr, ptr %t82 call void @fn_emit(ptr %t515) call void @fn_emit(ptr @.str4568) %t516 = call ptr @fn_val(ptr @.str4569, ptr @.str4570) store ptr %t516, ptr %retval br label %ret ifend43: %t517 = load ptr, ptr %t0 %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str4571) %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 @.str4572, ptr %t529) %t531 = call ptr @fn_emit_bind(ptr %t530) store ptr %t531, ptr %t532 %t533 = call ptr @fn_emit_alloca(ptr @.str4573) store ptr %t533, ptr %t534 %t535 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str4574, ptr @.str4575, ptr %t535) %t536 = call ptr @fn_emit_alloca(ptr @.str4576) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t537 call void @fn_store_at(ptr @.str4577, ptr @.str4578, ptr %t538) %t539 = call ptr @fn_lbl(ptr @.str4579) store ptr %t539, ptr %t540 %t541 = call ptr @fn_lbl(ptr @.str4580) store ptr %t541, ptr %t542 %t543 = call ptr @fn_lbl(ptr @.str4581) store ptr %t543, ptr %t544 %t545 = call ptr @fn_lbl(ptr @.str4582) store ptr %t545, ptr %t546 %t547 = call ptr @fn_lbl(ptr @.str4583) store ptr %t547, ptr %t548 call void @fn_emit(ptr @.str4584) %t549 = load ptr, ptr %t540 call void @fn_emit(ptr %t549) call void @fn_emit(ptr @.str4585) %t550 = load ptr, ptr %t540 call void @fn_emit(ptr %t550) call void @fn_emit(ptr @.str4586) %t551 = load ptr, ptr %t537 %t552 = call ptr @lp_str_concat(ptr @.str4587, 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 @.str4588, ptr %t555) %t557 = call ptr @lp_str_concat(ptr %t556, ptr @.str4589) %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 @.str4590, 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 @.str4591, ptr %t566) %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str4592) %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 @.str4593, ptr %t571) %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str4594) %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 @.str4595) %t578 = load ptr, ptr %t577 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str4596) %t579 = load ptr, ptr %t542 call void @fn_emit(ptr %t579) call void @fn_emit(ptr @.str4597) %t580 = load ptr, ptr %t548 call void @fn_emit(ptr %t580) call void @fn_emit(ptr @.str4598) %t581 = load ptr, ptr %t542 call void @fn_emit(ptr %t581) call void @fn_emit(ptr @.str4599) %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 @.str4600, ptr %t587) %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str4601) %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 @.str4602, ptr %t594) %t596 = call ptr @lp_str_concat(ptr %t595, ptr @.str4603) %t597 = load ptr, ptr %t593 %t598 = call ptr @lp_str_concat(ptr %t596, ptr %t597) %t599 = call ptr @lp_str_concat(ptr %t598, ptr @.str4604) %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 @.str4605) %t606 = load ptr, ptr %t605 call void @fn_emit(ptr %t606) call void @fn_emit(ptr @.str4606) %t607 = load ptr, ptr %t544 call void @fn_emit(ptr %t607) call void @fn_emit(ptr @.str4607) %t608 = load ptr, ptr %t546 call void @fn_emit(ptr %t608) call void @fn_emit(ptr @.str4608) %t609 = load ptr, ptr %t544 call void @fn_emit(ptr %t609) call void @fn_emit(ptr @.str4609) %t610 = load ptr, ptr %t554 %t611 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str4610, ptr %t610, ptr %t611) call void @fn_emit(ptr @.str4611) %t612 = load ptr, ptr %t540 call void @fn_emit(ptr %t612) call void @fn_emit(ptr @.str4612) %t613 = load ptr, ptr %t546 call void @fn_emit(ptr %t613) call void @fn_emit(ptr @.str4613) %t614 = load ptr, ptr %t554 %t615 = call ptr @lp_str_concat(ptr @.str4614, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str4615) %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 @.str4616, ptr %t619, ptr %t620) call void @fn_emit(ptr @.str4617) %t621 = load ptr, ptr %t540 call void @fn_emit(ptr %t621) call void @fn_emit(ptr @.str4618) %t622 = load ptr, ptr %t548 call void @fn_emit(ptr %t622) call void @fn_emit(ptr @.str4619) %t623 = load ptr, ptr %t534 %t624 = call ptr @lp_str_concat(ptr @.str4620, 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 @.str4621, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str4622) %t630 = call ptr @fn_emit_bind(ptr %t629) store ptr %t630, ptr %t631 %t632 = call ptr @fn_lbl(ptr @.str4623) store ptr %t632, ptr %t633 %t634 = call ptr @fn_lbl(ptr @.str4624) store ptr %t634, ptr %t635 call void @fn_emit(ptr @.str4625) %t636 = load ptr, ptr %t631 call void @fn_emit(ptr %t636) call void @fn_emit(ptr @.str4626) %t637 = load ptr, ptr %t633 call void @fn_emit(ptr %t637) call void @fn_emit(ptr @.str4627) %t638 = load ptr, ptr %t635 call void @fn_emit(ptr %t638) call void @fn_emit(ptr @.str4628) %t639 = load ptr, ptr %t633 call void @fn_emit(ptr %t639) call void @fn_emit(ptr @.str4629) %t640 = load ptr, ptr %t532 %t641 = call ptr @lp_str_concat(ptr @.str4630, ptr %t640) %t642 = call ptr @lp_str_concat(ptr %t641, ptr @.str4631) %t643 = call ptr @fn_emit_bind(ptr %t642) store ptr %t643, ptr %t644 %t645 = call ptr @fn_emit_alloca(ptr @.str4632) store ptr %t645, ptr %t646 %t647 = load ptr, ptr %t626 %t648 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str4633, ptr %t647, ptr %t648) %t649 = call ptr @fn_lbl(ptr @.str4634) store ptr %t649, ptr %t650 %t651 = call ptr @fn_lbl(ptr @.str4635) store ptr %t651, ptr %t652 %t653 = call ptr @fn_lbl(ptr @.str4636) store ptr %t653, ptr %t654 call void @fn_emit(ptr @.str4637) %t655 = load ptr, ptr %t650 call void @fn_emit(ptr %t655) call void @fn_emit(ptr @.str4638) %t656 = load ptr, ptr %t650 call void @fn_emit(ptr %t656) call void @fn_emit(ptr @.str4639) %t657 = load ptr, ptr %t646 %t658 = call ptr @lp_str_concat(ptr @.str4640, 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 @.str4641, ptr %t661) %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str4642) %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 @.str4643) %t668 = load ptr, ptr %t667 call void @fn_emit(ptr %t668) call void @fn_emit(ptr @.str4644) %t669 = load ptr, ptr %t652 call void @fn_emit(ptr %t669) call void @fn_emit(ptr @.str4645) %t670 = load ptr, ptr %t654 call void @fn_emit(ptr %t670) call void @fn_emit(ptr @.str4646) %t671 = load ptr, ptr %t652 call void @fn_emit(ptr %t671) call void @fn_emit(ptr @.str4647) %t672 = load ptr, ptr %t660 %t673 = call ptr @lp_str_concat(ptr @.str4648, ptr %t672) %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str4649) %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 @.str4650, ptr %t682) %t684 = call ptr @lp_str_concat(ptr %t683, ptr @.str4651) %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 @.str4652) %t694 = load ptr, ptr %t75 call void @fn_emit(ptr %t694) call void @fn_emit(ptr @.str4653) %t695 = load ptr, ptr %t688 call void @fn_emit(ptr %t695) call void @fn_emit(ptr @.str4654) %t696 = load ptr, ptr %t693 call void @fn_emit(ptr %t696) call void @fn_emit(ptr @.str4655) %t697 = load ptr, ptr %t676 %t698 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str4656, ptr %t697, ptr %t698) call void @fn_emit(ptr @.str4657) %t699 = load ptr, ptr %t650 call void @fn_emit(ptr %t699) call void @fn_emit(ptr @.str4658) %t700 = load ptr, ptr %t654 call void @fn_emit(ptr %t700) call void @fn_emit(ptr @.str4659) call void @fn_emit(ptr @.str4660) %t701 = load ptr, ptr %t644 call void @fn_emit(ptr %t701) call void @fn_emit(ptr @.str4661) %t702 = load ptr, ptr %t82 call void @fn_emit(ptr %t702) call void @fn_emit(ptr @.str4662) call void @fn_emit(ptr @.str4663) %t703 = load ptr, ptr %t635 call void @fn_emit(ptr %t703) call void @fn_emit(ptr @.str4664) %t704 = load ptr, ptr %t635 call void @fn_emit(ptr %t704) call void @fn_emit(ptr @.str4665) %t705 = call ptr @fn_val(ptr @.str4666, ptr @.str4667) store ptr %t705, ptr %retval br label %ret ifend46: %t706 = load ptr, ptr %t0 %t707 = call i32 @lp_str_eq(ptr %t706, ptr @.str4668) %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 @.str4669, 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 @.str4670, ptr %t713) %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str4671) %t716 = call ptr @fn_emit_bind(ptr %t715) store ptr %t716, ptr %t717 %t718 = call ptr @fn_lbl(ptr @.str4672) store ptr %t718, ptr %t719 %t720 = call ptr @fn_lbl(ptr @.str4673) store ptr %t720, ptr %t721 %t722 = call ptr @fn_lbl(ptr @.str4674) store ptr %t722, ptr %t723 call void @fn_emit(ptr @.str4675) %t724 = load ptr, ptr %t717 call void @fn_emit(ptr %t724) call void @fn_emit(ptr @.str4676) %t725 = load ptr, ptr %t719 call void @fn_emit(ptr %t725) call void @fn_emit(ptr @.str4677) %t726 = load ptr, ptr %t721 call void @fn_emit(ptr %t726) call void @fn_emit(ptr @.str4678) %t727 = load ptr, ptr %t719 call void @fn_emit(ptr %t727) call void @fn_emit(ptr @.str4679) %t728 = load ptr, ptr %t82 %t729 = call ptr @lp_str_concat(ptr @.str4680, ptr %t728) %t730 = call ptr @fn_emit_bind(ptr %t729) store ptr %t730, ptr %t731 %t732 = call ptr @fn_emit_alloca(ptr @.str4681) store ptr %t732, ptr %t733 %t734 = load ptr, ptr %t733 call void @fn_store_at(ptr @.str4682, ptr @.str4683, ptr %t734) %t735 = call ptr @fn_lbl(ptr @.str4684) store ptr %t735, ptr %t736 %t737 = call ptr @fn_lbl(ptr @.str4685) store ptr %t737, ptr %t738 %t739 = call ptr @fn_lbl(ptr @.str4686) store ptr %t739, ptr %t740 call void @fn_emit(ptr @.str4687) %t741 = load ptr, ptr %t736 call void @fn_emit(ptr %t741) call void @fn_emit(ptr @.str4688) %t742 = load ptr, ptr %t736 call void @fn_emit(ptr %t742) call void @fn_emit(ptr @.str4689) %t743 = load ptr, ptr %t733 %t744 = call ptr @lp_str_concat(ptr @.str4690, 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 @.str4691, ptr %t747) %t749 = call ptr @lp_str_concat(ptr %t748, ptr @.str4692) %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 @.str4693) %t754 = load ptr, ptr %t753 call void @fn_emit(ptr %t754) call void @fn_emit(ptr @.str4694) %t755 = load ptr, ptr %t738 call void @fn_emit(ptr %t755) call void @fn_emit(ptr @.str4695) %t756 = load ptr, ptr %t740 call void @fn_emit(ptr %t756) call void @fn_emit(ptr @.str4696) %t757 = load ptr, ptr %t738 call void @fn_emit(ptr %t757) call void @fn_emit(ptr @.str4697) %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 @.str4698, ptr %t763) %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str4699) %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 @.str4700) store ptr %t770, ptr %t771 %t772 = load ptr, ptr %t746 %t773 = call ptr @lp_str_concat(ptr @.str4701, ptr %t772) %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str4702) %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 @.str4703, ptr %t777, ptr %t778) %t779 = call ptr @fn_lbl(ptr @.str4704) store ptr %t779, ptr %t780 %t781 = call ptr @fn_lbl(ptr @.str4705) store ptr %t781, ptr %t782 %t783 = call ptr @fn_lbl(ptr @.str4706) store ptr %t783, ptr %t784 call void @fn_emit(ptr @.str4707) %t785 = load ptr, ptr %t780 call void @fn_emit(ptr %t785) call void @fn_emit(ptr @.str4708) %t786 = load ptr, ptr %t780 call void @fn_emit(ptr %t786) call void @fn_emit(ptr @.str4709) %t787 = load ptr, ptr %t771 %t788 = call ptr @lp_str_concat(ptr @.str4710, 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 @.str4711, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str4712) %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 @.str4713, ptr %t801) %t803 = call ptr @lp_str_concat(ptr %t802, ptr @.str4714) %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 @.str4715, ptr %t808) %t810 = call ptr @lp_str_concat(ptr %t809, ptr @.str4716) %t811 = load ptr, ptr %t807 %t812 = call ptr @lp_str_concat(ptr %t810, ptr %t811) %t813 = call ptr @lp_str_concat(ptr %t812, ptr @.str4717) %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 @.str4718, ptr %t818) %t820 = call ptr @lp_str_concat(ptr %t819, ptr @.str4719) %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 @.str4720) %t825 = load ptr, ptr %t824 call void @fn_emit(ptr %t825) call void @fn_emit(ptr @.str4721) %t826 = load ptr, ptr %t782 call void @fn_emit(ptr %t826) call void @fn_emit(ptr @.str4722) %t827 = load ptr, ptr %t784 call void @fn_emit(ptr %t827) call void @fn_emit(ptr @.str4723) %t828 = load ptr, ptr %t782 call void @fn_emit(ptr %t828) call void @fn_emit(ptr @.str4724) %t829 = load ptr, ptr %t790 %t830 = call ptr @lp_str_concat(ptr @.str4725, ptr %t829) %t831 = call ptr @lp_str_concat(ptr %t830, ptr @.str4726) %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 @.str4727) %t839 = load ptr, ptr %t75 call void @fn_emit(ptr %t839) call void @fn_emit(ptr @.str4728) %t840 = load ptr, ptr %t807 call void @fn_emit(ptr %t840) call void @fn_emit(ptr @.str4729) %t841 = load ptr, ptr %t838 call void @fn_emit(ptr %t841) call void @fn_emit(ptr @.str4730) %t842 = load ptr, ptr %t790 %t843 = call ptr @lp_str_concat(ptr @.str4731, ptr %t842) %t844 = call ptr @lp_str_concat(ptr %t843, ptr @.str4732) %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 @.str4733, ptr %t847, ptr %t848) call void @fn_emit(ptr @.str4734) %t849 = load ptr, ptr %t780 call void @fn_emit(ptr %t849) call void @fn_emit(ptr @.str4735) %t850 = load ptr, ptr %t784 call void @fn_emit(ptr %t850) call void @fn_emit(ptr @.str4736) %t851 = load ptr, ptr %t771 %t852 = call ptr @lp_str_concat(ptr @.str4737, 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 @.str4738, ptr %t855) %t857 = call ptr @lp_str_concat(ptr %t856, ptr @.str4739) %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 @.str4740) %t865 = load ptr, ptr %t75 call void @fn_emit(ptr %t865) call void @fn_emit(ptr @.str4741) %t866 = load ptr, ptr %t769 call void @fn_emit(ptr %t866) call void @fn_emit(ptr @.str4742) %t867 = load ptr, ptr %t864 call void @fn_emit(ptr %t867) call void @fn_emit(ptr @.str4743) %t868 = load ptr, ptr %t746 %t869 = call ptr @lp_str_concat(ptr @.str4744, ptr %t868) %t870 = call ptr @lp_str_concat(ptr %t869, ptr @.str4745) %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 @.str4746, ptr %t873, ptr %t874) call void @fn_emit(ptr @.str4747) %t875 = load ptr, ptr %t736 call void @fn_emit(ptr %t875) call void @fn_emit(ptr @.str4748) %t876 = load ptr, ptr %t740 call void @fn_emit(ptr %t876) call void @fn_emit(ptr @.str4749) call void @fn_emit(ptr @.str4750) %t877 = load ptr, ptr %t723 call void @fn_emit(ptr %t877) call void @fn_emit(ptr @.str4751) %t878 = load ptr, ptr %t721 call void @fn_emit(ptr %t878) call void @fn_emit(ptr @.str4752) %t879 = load ptr, ptr %t79 %t880 = load ptr, ptr %t75 call void @fn_emit_merge_sort(ptr %t879, ptr %t880, i32 3, ptr @.str4753, ptr @.str4754) call void @fn_emit(ptr @.str4755) %t881 = load ptr, ptr %t723 call void @fn_emit(ptr %t881) call void @fn_emit(ptr @.str4756) %t882 = load ptr, ptr %t723 call void @fn_emit(ptr %t882) call void @fn_emit(ptr @.str4757) %t883 = call ptr @fn_val(ptr @.str4758, ptr @.str4759) store ptr %t883, ptr %retval br label %ret ifend49: %t884 = load ptr, ptr %t0 %t885 = call i32 @lp_str_eq(ptr %t884, ptr @.str4760) %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 @.str4761, ptr %t899) %t901 = call ptr @lp_str_concat(ptr %t900, ptr @.str4762) 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 @.str4763) %t905 = call ptr @fn_val(ptr @.str4764, ptr @.str4765) store ptr %t905, ptr %retval br label %ret ifend52: %t907 = load ptr, ptr %t0 %t908 = call i32 @lp_str_eq(ptr %t907, ptr @.str4766) %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 @.str4767) %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 @.str4768, ptr %t931) %t933 = call ptr @lp_str_concat(ptr %t932, ptr @.str4769) %t934 = load ptr, ptr %t920 %t935 = call ptr @lp_str_concat(ptr %t933, ptr %t934) %t936 = call ptr @lp_str_concat(ptr %t935, ptr @.str4770) 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 @.str4771) %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 @.str4772) %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 @.str4773, ptr %t953) %t955 = call ptr @lp_str_concat(ptr %t954, ptr @.str4774) %t956 = load ptr, ptr %t920 %t957 = call ptr @lp_str_concat(ptr %t955, ptr %t956) %t958 = call ptr @lp_str_concat(ptr %t957, ptr @.str4775) 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 @.str4776) %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 @.str4777, ptr @.str4778) store ptr %t968, ptr %retval br label %ret ifend60: %t969 = load ptr, ptr %t82 %t970 = call ptr @lp_str_concat(ptr @.str4779, ptr %t969) %t971 = call ptr @fn_emit_bind(ptr %t970) store ptr %t971, ptr %t972 %t973 = call ptr @fn_emit_alloca(ptr @.str4780) store ptr %t973, ptr %t974 %t975 = load ptr, ptr %t974 call void @fn_store_at(ptr @.str4781, ptr @.str4782, ptr %t975) %t976 = call ptr @fn_emit_alloca(ptr @.str4783) store ptr %t976, ptr %t977 %t978 = load ptr, ptr %t972 %t979 = call ptr @lp_str_concat(ptr @.str4784, ptr %t978) %t980 = call ptr @lp_str_concat(ptr %t979, ptr @.str4785) %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 @.str4786, ptr %t983, ptr %t984) %t985 = call ptr @fn_lbl(ptr @.str4787) store ptr %t985, ptr %t986 %t987 = call ptr @fn_lbl(ptr @.str4788) store ptr %t987, ptr %t988 %t989 = call ptr @fn_lbl(ptr @.str4789) store ptr %t989, ptr %t990 call void @fn_emit(ptr @.str4790) %t991 = load ptr, ptr %t986 call void @fn_emit(ptr %t991) call void @fn_emit(ptr @.str4791) %t992 = load ptr, ptr %t986 call void @fn_emit(ptr %t992) call void @fn_emit(ptr @.str4792) %t993 = load ptr, ptr %t974 %t994 = call ptr @lp_str_concat(ptr @.str4793, 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 @.str4794, 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 @.str4795, ptr %t1001) %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str4796) %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 @.str4797) %t1008 = load ptr, ptr %t1007 call void @fn_emit(ptr %t1008) call void @fn_emit(ptr @.str4798) %t1009 = load ptr, ptr %t988 call void @fn_emit(ptr %t1009) call void @fn_emit(ptr @.str4799) %t1010 = load ptr, ptr %t990 call void @fn_emit(ptr %t1010) call void @fn_emit(ptr @.str4800) %t1011 = load ptr, ptr %t988 call void @fn_emit(ptr %t1011) call void @fn_emit(ptr @.str4801) %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 @.str4802, ptr %t1022) %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str4803) %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 @.str4804, ptr %t1029) %t1031 = call ptr @lp_str_concat(ptr %t1030, ptr @.str4805) %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 @.str4806) %t1036 = load ptr, ptr %t75 call void @fn_emit(ptr %t1036) call void @fn_emit(ptr @.str4807) %t1037 = load ptr, ptr %t1035 call void @fn_emit(ptr %t1037) call void @fn_emit(ptr @.str4808) %t1038 = load ptr, ptr %t1016 call void @fn_emit(ptr %t1038) call void @fn_emit(ptr @.str4809) call void @fn_emit(ptr @.str4810) %t1039 = load ptr, ptr %t75 call void @fn_emit(ptr %t1039) call void @fn_emit(ptr @.str4811) %t1040 = load ptr, ptr %t1028 call void @fn_emit(ptr %t1040) call void @fn_emit(ptr @.str4812) %t1041 = load ptr, ptr %t1021 call void @fn_emit(ptr %t1041) call void @fn_emit(ptr @.str4813) %t1042 = load ptr, ptr %t996 %t1043 = call ptr @lp_str_concat(ptr @.str4814, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str4815) %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 @.str4816, ptr %t1047, ptr %t1048) %t1049 = load ptr, ptr %t1000 %t1050 = call ptr @lp_str_concat(ptr @.str4817, ptr %t1049) %t1051 = call ptr @lp_str_concat(ptr %t1050, ptr @.str4818) %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 @.str4819, ptr %t1054, ptr %t1055) call void @fn_emit(ptr @.str4820) %t1056 = load ptr, ptr %t986 call void @fn_emit(ptr %t1056) call void @fn_emit(ptr @.str4821) %t1057 = load ptr, ptr %t990 call void @fn_emit(ptr %t1057) call void @fn_emit(ptr @.str4822) %t1058 = call ptr @fn_val(ptr @.str4823, ptr @.str4824) 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 @.str4825) %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 @.str4826) %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 @.str4827) %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 @.str4828) %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 @.str4829) %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 @.str4830) %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 @.str4831) 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 @.str4832, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str4833) %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 @.str4834, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str4835) %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 @.str4836, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str4837) %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 @.str4838, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4839) %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 @.str4840, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str4841) %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 @.str4842, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str4843) %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 @.str4844, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4845) %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 @.str4846, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str4847) %t51 = load ptr, ptr %t29 %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str4848) %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 @.str4849, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4850) %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 @.str4851, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str4852) %t66 = load ptr, ptr %t16 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4853) %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 @.str4854, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4855) %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 @.str4856, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str4857) %t81 = load ptr, ptr %t3 %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4858) %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 @.str4859, 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 @.str4860, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str4861) %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 @.str4862, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str4863) %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 @.str4864, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4865) %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 @.str4866) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t60 %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str4867) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t67 %t72 = call ptr @lp_str_concat(ptr @.str4868, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str4869) %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 @.str4870, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4871) %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 @.str4872, 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 @.str4873, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str4874) %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 @.str4875, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4876) %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 @.str4877) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str4878, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str4879) %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 @.str4880, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str4881) %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 @.str4882) %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 @.str4883) store ptr %t18, ptr %retval br label %ret ifend2: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str4884) %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 @.str4885) store ptr %t26, ptr %retval br label %ret ifend5: %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str4886) %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 @.str4887) store ptr %t34, ptr %retval br label %ret ifend8: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str4888) %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 @.str4889) store ptr %t42, ptr %retval br label %ret ifend11: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str4890) %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 @.str4891) 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 @.str4892) 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 @.str4893) %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 @.str4894) %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 @.str4895) %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 @.str4896) %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 @.str4897) %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 @.str4898) %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 @.str4899) %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 @.str4900, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str4901) %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 @.str4902, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str4903) %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 @.str4904, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str4905) %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 @.str4906, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4907) %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 @.str4908, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str4909) %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 @.str4910, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str4911) %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 @.str4912, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4913) %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 @.str4914) %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 @.str4915, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str4916) %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 @.str4917) store ptr %t51, ptr %retval br label %ret ifend2: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str4918) %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 @.str4919, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str4920) %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 @.str4921, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str4922) %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 @.str4923, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str4924) %t107 = load ptr, ptr %t89 %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str4925) %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 @.str4926) store ptr %t113, ptr %retval br label %ret ifend5: %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str4927) %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 @.str4928, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str4929) %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 @.str4930, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str4931) %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 @.str4932, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str4933) %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 @.str4934, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str4935) %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 @.str4936, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str4937) %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 @.str4938, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str4939) %t193 = load ptr, ptr %t173 %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str4940) %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 @.str4941) store ptr %t199, ptr %retval br label %ret ifend8: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str4942) %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 @.str4943, ptr %t238) %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str4944) %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 @.str4945, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str4946) %t250 = call ptr @fn_emit_bind(ptr %t249) %t251 = call ptr @fn_val(ptr %t250, ptr @.str4947) store ptr %t251, ptr %retval br label %ret ifend11: %t252 = load ptr, ptr %t0 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str4948) %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 @.str4949, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str4950) %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 @.str4951, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str4952) %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 @.str4953) store ptr %t291, ptr %retval br label %ret ifend14: %t292 = load ptr, ptr %t0 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str4954) %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 @.str4955, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str4956) %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 @.str4957, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str4958) %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 @.str4959) 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 @.str4960, ptr %t379) %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str4961) %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 @.str4962, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str4963) %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 @.str4964) 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 @.str4965) %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 @.str4966) %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 @.str4967) %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 @.str4968) %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 @.str4969) %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 @.str4970) %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 @.str4971) %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 @.str4972) %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 @.str4973) %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 @.str4974, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str4975) %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 @.str4976, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4977) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str4978) %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 @.str4979) %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 @.str4980, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4981) %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 @.str4982, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str4983) %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 @.str4984) %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 @.str4985, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4986) %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 @.str4987, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str4988) %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 @.str4989, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4990) %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 @.str4991, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str4992) %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 @.str4993, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4994) %t73 = load ptr, ptr %t69 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4995) %t76 = call ptr @fn_emit_bind(ptr %t75) %t77 = call ptr @fn_val(ptr %t76, ptr @.str4996) store ptr %t77, ptr %retval br label %ret ifend2: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str4997) %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 @.str4998, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4999) %t113 = call ptr @fn_emit_bind(ptr %t112) %t114 = call ptr @fn_val(ptr %t113, ptr @.str5000) store ptr %t114, ptr %retval br label %ret ifend5: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str5001) %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 @.str5002, ptr %t147) %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str5003) %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 @.str5004, 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 @.str5005, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str5006) %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 @.str5007, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5008) %t164 = load ptr, ptr %t151 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5009) %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 @.str5010) store ptr %t170, ptr %retval br label %ret ifend8: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str5011) %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 @.str5012, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5013) %t196 = call ptr @fn_emit_bind(ptr %t195) %t197 = call ptr @fn_val(ptr %t196, ptr @.str5014) 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 @.str5015, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str5016) %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 @.str5017, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str5018) %t230 = call ptr @fn_emit_bind(ptr %t229) %t231 = call ptr @fn_val(ptr %t230, ptr @.str5019) store ptr %t231, ptr %retval br label %ret ifend11: %t232 = load ptr, ptr %t0 %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str5020) %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 @.str5021) 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 @.str5022) store ptr %t265, ptr %retval br label %ret ifend17: %t266 = load ptr, ptr %t0 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str5023) %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 @.str5024) store ptr %t306, ptr %retval br label %ret ifend23: %t307 = load ptr, ptr %t0 %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str5025) %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 @.str5026, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str5027) %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 @.str5028, ptr %t348) %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str5029) %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 @.str5030, ptr %t355) %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str5031) %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 @.str5032, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5033) %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 @.str5034, ptr %t367) %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str5035) %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 @.str5036, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5037) %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 @.str5038, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str5039) %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 @.str5040, ptr %t384) %t386 = call ptr @lp_str_concat(ptr %t385, ptr @.str5041) %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 @.str5042) store ptr %t390, ptr %retval br label %ret ifend26: %t391 = load ptr, ptr %t0 %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str5043) %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 @.str5044) 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 @.str5045) %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 @.str5046) %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 @.str5047) %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 @.str5048) %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 @.str5049) %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 @.str5050) %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 @.str5051) 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 @.str5052) %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 @.str5053) %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 @.str5054) %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 @.str5055) %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 @.str5056, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5057) %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 @.str5058, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5059) %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 @.str5060, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5061) %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 @.str5062, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5063) %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 @.str5064, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5065) %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 @.str5066, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5067) %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 @.str5068, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5069) %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5070) %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 @.str5071, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5072) %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 @.str5073, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str5074) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5075) %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 @.str5076) %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 @.str5077, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str5078) %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 @.str5079, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5080) %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 @.str5081, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str5082) %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 @.str5083, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5084) %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 @.str5085, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str5086) %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 @.str5087, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5088) %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 @.str5089, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str5090) %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 @.str5091, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str5092) %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 @.str5093, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str5094) %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 @.str5095, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5096) %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 @.str5097, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str5098) %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 @.str5099, ptr %t178) %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str5100) %t181 = call ptr @fn_emit_bind(ptr %t180) %t182 = call ptr @fn_val(ptr %t181, ptr @.str5101) store ptr %t182, ptr %retval br label %ret ifend2: %t183 = load ptr, ptr %t0 %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str5102) %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 @.str5103, ptr %t242) %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str5104) %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 @.str5105, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5106) %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 @.str5107, ptr %t264) %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str5108) %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 @.str5109, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5110) %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 @.str5111, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str5112) %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 @.str5113, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str5114) %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 @.str5115, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5116) %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 @.str5117, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5118) %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 @.str5119, ptr %t316) %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str5120) %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 @.str5121, ptr %t323) %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str5122) %t326 = call ptr @fn_emit_bind(ptr %t325) %t327 = call ptr @fn_val(ptr %t326, ptr @.str5123) store ptr %t327, ptr %retval br label %ret ifend5: %t328 = load ptr, ptr %t0 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str5124) %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 @.str5125, ptr %t387) %t389 = call ptr @lp_str_concat(ptr %t388, ptr @.str5126) %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 @.str5127, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5128) %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 @.str5129, ptr %t413) %t415 = call ptr @lp_str_concat(ptr %t414, ptr @.str5130) %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 @.str5131, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str5132) %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 @.str5133, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5134) %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 @.str5135, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str5136) %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 @.str5137, ptr %t441) %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str5138) %t444 = call ptr @fn_emit_bind(ptr %t443) %t445 = call ptr @fn_val(ptr %t444, ptr @.str5139) 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 @.str5140, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str5141) %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 @.str5142, ptr %t522) %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str5143) %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 @.str5144, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str5145) %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 @.str5146, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str5147) %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 @.str5148, ptr %t573) %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str5149) %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 @.str5150, ptr %t578) %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str5151) %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 @.str5152, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str5153) %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 @.str5154, ptr %t592) %t594 = call ptr @lp_str_concat(ptr %t593, ptr @.str5155) %t595 = call ptr @fn_emit_bind(ptr %t594) %t596 = call ptr @fn_val(ptr %t595, ptr @.str5156) 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 @.str5157) %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 @.str5158) %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 @.str5159) %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 @.str5160) %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 @.str5161) %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 @.str5162) %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 @.str5163) %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 @.str5164, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5165) %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 @.str5166, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str5167) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str5168) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5169) %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 @.str5170, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5171) %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 @.str5172, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5173) %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 @.str5174, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5175) %t53 = call ptr @fn_emit_bind(ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str5176) store ptr %t54, ptr %retval br label %ret ifend5: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5177) %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 @.str5178, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str5179) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str5180) %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 @.str5181) %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 @.str5182) %t98 = load ptr, ptr %t91 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str5183) %t99 = call ptr @fn_val(ptr @.str5184, ptr @.str5185) store ptr %t99, ptr %retval br label %ret ifend8: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5186) %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 @.str5187, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5188) %t135 = call ptr @fn_emit_bind(ptr %t134) store ptr %t135, ptr %t136 call void @fn_emit(ptr @.str5189) %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 @.str5190) %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 @.str5191) %t143 = load ptr, ptr %t136 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str5192) %t144 = call ptr @fn_val(ptr @.str5193, ptr @.str5194) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str5195) %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 @.str5196, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str5197) %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 @.str5198, 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 @.str5199, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5200) %t184 = call ptr @fn_emit_bind(ptr %t183) %t185 = call ptr @fn_val(ptr %t184, ptr @.str5201) 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 @.str5202, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str5203) %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 @.str5204, ptr %t226) %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str5205) %t229 = call ptr @fn_emit_bind(ptr %t228) store ptr %t229, ptr %t230 call void @fn_emit(ptr @.str5206) %t231 = load ptr, ptr %t230 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str5207) %t232 = load ptr, ptr %t223 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str5208) %t233 = call ptr @fn_val(ptr @.str5209, ptr @.str5210) 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 @.str5211) %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 @.str5212) %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 @.str5213) %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 @.str5214) %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 @.str5215) %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 @.str5216) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str5217) %t6 = call ptr @fn_val(ptr %t5, ptr @.str5218) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5219) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_val(ptr @.str5220, ptr @.str5221) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5222) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = call ptr @fn_emit_bind(ptr @.str5223) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str5224, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5225) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str5226) store ptr %t20, ptr %retval br label %ret ifend8: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str5227) %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 @.str5228) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr @.str5229, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5230) %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 @.str5231, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5232) %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 @.str5233) store ptr %t48, ptr %retval br label %ret ifend11: %t49 = call ptr @fn_emit_bind(ptr @.str5234) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = call ptr @lp_str_concat(ptr @.str5235, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5236) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str5237) 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 @.str5238) %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 @.str5239) %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 @.str5240) %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 @.str5241) %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 @.str5242) %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 @.str5243) %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 @.str5244) %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 @.str5245) %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 @.str5246) %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 @.str5247) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str5248) %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 @.str5249, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str5250) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str5251) store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str5252) %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 @.str5253, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str5254) %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = call ptr @fn_val(ptr %t36, ptr @.str5255) store ptr %t37, ptr %retval br label %ret ifend8: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str5256) %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 @.str5257, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5258) %t46 = call ptr @fn_emit_bind(ptr %t45) %t47 = call ptr @fn_val(ptr %t46, ptr @.str5259) store ptr %t47, ptr %retval br label %ret ifend11: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str5260) %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 @.str5261) store ptr %t54, ptr %retval br label %ret ifend14: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5262) %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 @.str5263, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str5264) %t63 = call ptr @fn_emit_bind(ptr %t62) %t64 = call ptr @fn_val(ptr %t63, ptr @.str5265) store ptr %t64, ptr %retval br label %ret ifend17: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str5266) %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 @.str5267, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5268) %t73 = call ptr @fn_emit_bind(ptr %t72) %t74 = call ptr @fn_val(ptr %t73, ptr @.str5269) 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 @.str5270, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str5271) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str5272) 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 @.str5273) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_alloca(ptr @.str5274) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_alloca(ptr @.str5275) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str5276, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5277) %t11 = load ptr, ptr %t3 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5278) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str5279) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5280) 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 @.str5281, 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 @.str5282) %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 @.str5283) %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 @.str5284) %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 @.str5285) %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 @.str5286) %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 @.str5287) %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 @.str5288) %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 @.str5289) %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 @.str5290) %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 @.str5291) %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 @.str5292) %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 @.str5293, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str5294) %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 @.str5295) %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 @.str5296) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str5297) store ptr %t48, ptr %retval br label %ret ifend2: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5298) %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 @.str5299) store ptr %t65, ptr %retval br label %ret ifend5: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str5300) %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 @.str5301) store ptr %t82, ptr %retval br label %ret ifend8: %t83 = load ptr, ptr %t0 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str5302) %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 @.str5303) store ptr %t99, ptr %retval br label %ret ifend11: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5304) %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 @.str5305, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str5306) %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 @.str5307, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str5308) %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 @.str5309, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5310) %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 @.str5311, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str5312) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str5313) store ptr %t133, ptr %retval br label %ret ifend14: %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str5314) %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 @.str5315, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str5316) %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 @.str5317, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str5318) %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 @.str5319, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str5320) %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 @.str5321, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str5322) %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 @.str5323, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5324) %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 @.str5325, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str5326) %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 @.str5327, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str5328) %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 @.str5329, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str5330) %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 @.str5331, ptr %t196) %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str5332) %t199 = call ptr @fn_emit_bind(ptr %t198) %t200 = call ptr @fn_val(ptr %t199, ptr @.str5333) store ptr %t200, ptr %retval br label %ret ifend17: %t201 = load ptr, ptr %t0 %t202 = call i32 @lp_str_eq(ptr %t201, ptr @.str5334) %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 @.str5335, ptr %t224) %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str5336) %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 @.str5337) %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 @.str5338, ptr %t236) %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str5339) %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 @.str5340, ptr %t243) %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str5341) %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 @.str5342, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str5343) %t251 = load ptr, ptr %t247 %t252 = call ptr @lp_str_concat(ptr %t250, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str5344) %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 @.str5345, ptr %t262) %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str5346) %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 @.str5347, ptr %t267) %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str5348) %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 @.str5349, ptr %t274) %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str5350) %t277 = load ptr, ptr %t273 %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str5351) %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 @.str5352, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str5353) %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 @.str5354) store ptr %t288, ptr %retval br label %ret ifend20: %t289 = load ptr, ptr %t0 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str5355) %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 @.str5356, ptr %t303) %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str5357) %t306 = call ptr @fn_emit_bind(ptr %t305) %t307 = call ptr @fn_val(ptr %t306, ptr @.str5358) store ptr %t307, ptr %retval br label %ret ifend23: %t308 = load ptr, ptr %t0 %t309 = call i32 @lp_str_eq(ptr %t308, ptr @.str5359) %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 @.str5360, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str5361) %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 @.str5362) 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 @.str5363, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5364) %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 @.str5365) 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 @.str5366, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5367) %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 @.str5368, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5369) %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 @.str5370, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5371) %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 @.str5372, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5373) %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 @.str5374, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5375) %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 @.str5376) %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 @.str5377) %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 @.str5378) %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 @.str5379) %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 @.str5380) %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 @.str5381) %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 @.str5382) %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 @.str5383) %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 @.str5384) %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 @.str5385) %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 @.str5386) %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 @.str5387) %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 @.str5388, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5389) %t5 = load ptr, ptr %t1 %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str5390) %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 @.str5391) 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 @.str5392) store ptr %t41, ptr %t42 %t43 = call ptr @fn_emit_alloca(ptr @.str5393) store ptr %t43, ptr %t44 %t45 = call ptr @fn_emit_alloca(ptr @.str5394) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t40 %t48 = call ptr @lp_str_concat(ptr @.str5395, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5396) %t50 = load ptr, ptr %t42 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5397) %t53 = load ptr, ptr %t44 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str5398) %t56 = load ptr, ptr %t46 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str5399) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t42 %t60 = call ptr @lp_str_concat(ptr @.str5400, 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 @.str5401, 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 @.str5402, 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 @.str5403, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str5404) %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 @.str5405, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5406) %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 @.str5407, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str5408) %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 @.str5409, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str5410) %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 @.str5411, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5412) %t99 = call ptr @fn_emit_bind(ptr %t98) store ptr %t99, ptr %t100 %t101 = call ptr @fn_emit_str_const(ptr @.str5413) 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 @.str5414, 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 @.str5415, 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 @.str5416, 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 @.str5417, 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 @.str5418, 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 @.str5419, 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 @.str5420, 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 @.str5421, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5422) %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 @.str5423) %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 @.str5424) 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 @.str5425) 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 @.str5426) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 call void @fn_store_at(ptr @.str5427, ptr @.str5428, ptr %t38) %t39 = call ptr @fn_emit_alloca(ptr @.str5429) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str5430, ptr @.str5431, ptr %t41) %t42 = call ptr @fn_emit_alloca(ptr @.str5432) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 call void @fn_store_at(ptr @.str5433, ptr @.str5434, ptr %t44) %t45 = call ptr @fn_emit_alloca(ptr @.str5435) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 call void @fn_store_at(ptr @.str5436, ptr @.str5437, ptr %t47) %t48 = call ptr @fn_emit_alloca(ptr @.str5438) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 call void @fn_store_at(ptr @.str5439, ptr @.str5440, ptr %t50) %t51 = call ptr @fn_emit_alloca(ptr @.str5441) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 call void @fn_store_at(ptr @.str5442, ptr @.str5443, ptr %t53) %t54 = call ptr @fn_emit_alloca(ptr @.str5444) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 call void @fn_store_at(ptr @.str5445, ptr @.str5446, 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 @.str5447, 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 @.str5448, 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 @.str5449, 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 @.str5450, 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 @.str5451, 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 @.str5452, 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 @.str5453, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5454) %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 @.str5455) %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 @.str5456) %t124 = load ptr, ptr %t37 %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5457) %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 @.str5458, 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 @.str5459, 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 @.str5460, 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 @.str5461, 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 @.str5462, 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 @.str5463, 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 @.str5464, 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 @.str5465, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5466) %t164 = load ptr, ptr %t144 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5467) %t167 = load ptr, ptr %t148 %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str5468) %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 @.str5469, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5470) %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 @.str5471, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str5472) %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 @.str5473, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str5474) %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 @.str5475, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str5476) %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 @.str5477, ptr %t194) %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str5478) %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 @.str5479, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str5480) %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 @.str5481, 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 @.str5482, ptr %t212) %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str5483) %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 @.str5484, ptr %t217) %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str5485) %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 @.str5486) 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 @.str5487) %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 @.str5488) %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 @.str5489) %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 @.str5490, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5491) %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 @.str5492) %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 @.str5493) %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 @.str5494, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str5495) %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 @.str5496, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str5497) %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 @.str5498, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str5499) %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 @.str5500, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str5501) %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 @.str5502, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5503) %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 @.str5504, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str5505) %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 @.str5506) store ptr %t127, ptr %retval br label %ret ifend8: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str5507) %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 @.str5508) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str5509) %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 @.str5510, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str5511) %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 @.str5512) store ptr %t176, ptr %retval br label %ret ifend14: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str5513) %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 @.str5514) store ptr %t194, ptr %retval br label %ret ifend17: %t195 = load ptr, ptr %t0 %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str5515) %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 @.str5516) store ptr %t212, ptr %retval br label %ret ifend20: %t213 = load ptr, ptr %t0 %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str5517) %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 @.str5518) store ptr %t230, ptr %retval br label %ret ifend23: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str5519) %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 @.str5520, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str5521) %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 @.str5522, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5523) %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 @.str5524, ptr %t258) %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str5525) %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 @.str5526, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str5527) %t266 = call ptr @fn_emit_bind(ptr %t265) %t267 = call ptr @fn_val(ptr %t266, ptr @.str5528) store ptr %t267, ptr %retval br label %ret ifend26: %t268 = load ptr, ptr %t0 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str5529) %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 @.str5530, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5531) %t288 = call ptr @fn_emit_bind(ptr %t287) %t289 = call ptr @fn_val(ptr %t288, ptr @.str5532) store ptr %t289, ptr %retval br label %ret ifend29: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str5533) %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 @.str5534, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str5535) %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 @.str5536, ptr %t312) %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str5537) %t315 = call ptr @fn_emit_bind(ptr %t314) %t316 = call ptr @fn_val(ptr %t315, ptr @.str5538) 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 @.str5539, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str5540) %t334 = call ptr @fn_emit_bind(ptr %t333) %t335 = call ptr @fn_val(ptr %t334, ptr @.str5541) 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 @.str5542) call void @fn_emith(ptr @.str5543) call void @fn_emith(ptr @.str5544) call void @fn_emith(ptr @.str5545) call void @fn_emith(ptr @.str5546) call void @fn_emith(ptr @.str5547) call void @fn_emith(ptr @.str5548) call void @fn_emith(ptr @.str5549) call void @fn_emith(ptr @.str5550) call void @fn_emith(ptr @.str5551) call void @fn_emith(ptr @.str5552) call void @fn_emith(ptr @.str5553) call void @fn_emith(ptr @.str5554) call void @fn_emith(ptr @.str5555) call void @fn_emith(ptr @.str5556) call void @fn_emith(ptr @.str5557) call void @fn_emith(ptr @.str5558) call void @fn_emith(ptr @.str5559) call void @fn_emith(ptr @.str5560) call void @fn_emith(ptr @.str5561) call void @fn_emith(ptr @.str5562) call void @fn_emith(ptr @.str5563) call void @fn_emith(ptr @.str5564) call void @fn_emith(ptr @.str5565) call void @fn_emith(ptr @.str5566) call void @fn_emith(ptr @.str5567) call void @fn_emith(ptr @.str5568) call void @fn_emith(ptr @.str5569) call void @fn_emith(ptr @.str5570) call void @fn_emith(ptr @.str5571) call void @fn_emith(ptr @.str5572) call void @fn_emith(ptr @.str5573) call void @fn_emith(ptr @.str5574) call void @fn_emith(ptr @.str5575) call void @fn_emith(ptr @.str5576) call void @fn_emith(ptr @.str5577) call void @fn_emith(ptr @.str5578) call void @fn_emith(ptr @.str5579) call void @fn_emith(ptr @.str5580) call void @fn_emith(ptr @.str5581) call void @fn_emith(ptr @.str5582) call void @fn_emith(ptr @.str5583) call void @fn_emith(ptr @.str5584) call void @fn_emith(ptr @.str5585) call void @fn_emith(ptr @.str5586) call void @fn_emith(ptr @.str5587) call void @fn_emith(ptr @.str5588) call void @fn_emith(ptr @.str5589) call void @fn_emith(ptr @.str5590) call void @fn_emith(ptr @.str5591) call void @fn_emith(ptr @.str5592) call void @fn_emith(ptr @.str5593) call void @fn_emith(ptr @.str5594) call void @fn_emith(ptr @.str5595) call void @fn_emith(ptr @.str5596) call void @fn_emith(ptr @.str5597) call void @fn_emith(ptr @.str5598) call void @fn_emith(ptr @.str5599) call void @fn_emith(ptr @.str5600) call void @fn_emith(ptr @.str5601) call void @fn_emith(ptr @.str5602) call void @fn_emith(ptr @.str5603) call void @fn_emith(ptr @.str5604) call void @fn_emith(ptr @.str5605) call void @fn_emith(ptr @.str5606) call void @fn_emith(ptr @.str5607) call void @fn_emith(ptr @.str5608) call void @fn_emith(ptr @.str5609) call void @fn_emith(ptr @.str5610) call void @fn_emith(ptr @.str5611) call void @fn_emith(ptr @.str5612) call void @fn_emith(ptr @.str5613) call void @fn_emith(ptr @.str5614) call void @fn_emith(ptr @.str5615) call void @fn_emith(ptr @.str5616) call void @fn_emith(ptr @.str5617) call void @fn_emith(ptr @.str5618) call void @fn_emith(ptr @.str5619) call void @fn_emith(ptr @.str5620) call void @fn_emith(ptr @.str5621) call void @fn_emith(ptr @.str5622) call void @fn_emith(ptr @.str5623) call void @fn_emith(ptr @.str5624) call void @fn_emith(ptr @.str5625) call void @fn_emith(ptr @.str5626) call void @fn_emith(ptr @.str5627) call void @fn_emith(ptr @.str5628) call void @fn_emith(ptr @.str5629) call void @fn_emith(ptr @.str5630) call void @fn_emith(ptr @.str5631) call void @fn_emith(ptr @.str5632) call void @fn_emith(ptr @.str5633) call void @fn_emith(ptr @.str5634) call void @fn_emith(ptr @.str5635) call void @fn_emith(ptr @.str5636) call void @fn_emith(ptr @.str5637) call void @fn_emith(ptr @.str5638) call void @fn_emith(ptr @.str5639) 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 @.str5640) %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 @.str5641) %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 @.str5642) %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 @.str5643) %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 @.str5644) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str5645) %t6 = call ptr @fn_val(ptr %t5, ptr @.str5646) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5647) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str5648) %t10 = call ptr @fn_val(ptr @.str5649, ptr @.str5650) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5651) %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 @.str5652, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5653) call void @fn_emit(ptr %t27) %t28 = call ptr @fn_val(ptr @.str5654, ptr @.str5655) 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 @.str5656) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str5657, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5658) %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 @.str5659, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str5660) call void @fn_emit(ptr %t51) %t52 = call ptr @fn_val(ptr @.str5661, ptr @.str5662) 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 @.str5663) %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 @.str5664) %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 @.str5665) %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 @.str5666) %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 @.str5667) %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 @.str5668) %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 @.str5669, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5670) %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 @.str5671, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5672) %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 @.str5673, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5674) %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 @.str5675, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5676) %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 @.str5677, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5678) %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 @.str5679, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5680) %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 @.str5681, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5682) %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 @.str5683, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5684) %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 @.str5685, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5686) %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 @.str5687, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str5688) %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 @.str5689) %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 @.str5690) store ptr %t42, ptr %retval br label %ret ifend2: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str5691) %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 @.str5692, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5693) %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 @.str5694, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str5695) %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 @.str5696) store ptr %t106, ptr %retval br label %ret ifend5: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str5697) %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 @.str5698, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str5699) %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 @.str5700, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str5701) %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 @.str5702, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str5703) %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 @.str5704) store ptr %t148, ptr %retval br label %ret ifend8: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str5705) %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 @.str5706) %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 @.str5707) %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 @.str5708) %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 @.str5709) %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 @.str5710) %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 @.str5711) %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 @.str5712) store ptr %t222, ptr %retval br label %ret ifend11: %t223 = load ptr, ptr %t0 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str5713) %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 @.str5714, 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 @.str5715) 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 @.str5716) 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 @.str5717) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t254 %t266 = call ptr @lp_str_concat(ptr @.str5718, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str5719) %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 @.str5720, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str5721) %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 @.str5722, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str5723) %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 @.str5724, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str5725) %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 @.str5726, ptr %t289) %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str5727) %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 @.str5728, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str5729) %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 @.str5730) 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 @.str5731) 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 @.str5732) 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 @.str5733) store ptr %t337, ptr %t338 %t339 = load ptr, ptr %t328 %t340 = call ptr @lp_str_concat(ptr @.str5734, 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 @.str5735, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str5736) %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 @.str5737, ptr %t352) %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str5738) %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 @.str5739, ptr %t357) %t359 = call ptr @lp_str_concat(ptr %t358, ptr @.str5740) %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 @.str5741, 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 @.str5742, ptr %t368) %t370 = call ptr @lp_str_concat(ptr %t369, ptr @.str5743) %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 @.str5744, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str5745) %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 @.str5746, ptr %t382) %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str5747) %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 @.str5748, 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 @.str5749, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str5750) %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 @.str5751, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str5752) %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 @.str5753, ptr %t407) %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str5754) %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 @.str5755) 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 @.str5756) %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 @.str5757) %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 @.str5758) %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 @.str5759) %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 @.str5760) %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 @.str5761) %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 @.str5762) %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 @.str5763) %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 @.str5764) %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 @.str5765) %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 @.str5766) %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 @.str5767) %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 @.str5768) %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 @.str5769) %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 @.str5770) %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 @.str5771) %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 @.str5772) %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 @.str5773) %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 @.str5774) %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 @.str5775) %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 @.str5776) %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 @.str5777) %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 @.str5778) %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 @.str5779) %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 @.str5780) %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 @.str5781) %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 @.str5782) %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 @.str5783) %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 @.str5784) %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 @.str5785) %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 @.str5786) %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 @.str5787) %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 @.str5788) %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 @.str5789) %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 @.str5790) %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 @.str5791) %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 @.str5792) %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 @.str5793) %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 @.str5794) %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 @.str5795) %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 @.str5796) %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 @.str5797) %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 @.str5798) %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 @.str5799) %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 @.str5800) %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 @.str5801) %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 @.str5802) %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 @.str5803) %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 @.str5804) %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 @.str5805) %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 @.str5806) %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 @.str5807) %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 @.str5808) %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 @.str5809) %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 @.str5810) %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 @.str5811) %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 @.str5812) %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 @.str5813) %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 @.str5814) %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 @.str5815) %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 @.str5816) %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 @.str5817) %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 @.str5818) %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 @.str5819) %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 @.str5820) %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 @.str5821) %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 @.str5822) %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 @.str5823) %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 @.str5824) %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 @.str5825) %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 @.str5826) %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 @.str5827) %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 @.str5828) %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 @.str5829) %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 @.str5830) %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 @.str5831) %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 @.str5832) %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 @.str5833) %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 @.str5834) %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 @.str5835) %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 @.str5836) %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 @.str5837) %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 @.str5838) %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 @.str5839) %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 @.str5840) %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 @.str5841) %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 @.str5842) %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 @.str5843) %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 @.str5844) %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 @.str5845) %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 @.str5846) %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 @.str5847) %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 @.str5848) %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 @.str5849) %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 @.str5850) %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 @.str5851) %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 @.str5852) %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 @.str5853) %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 @.str5854) %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 @.str5855) %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 @.str5856) %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 @.str5857) %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 @.str5858) %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 @.str5859) %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 @.str5860) %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 @.str5861) %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 @.str5862) %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 @.str5863) %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 @.str5864) %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 @.str5865) %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 @.str5866) %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 @.str5867) %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 @.str5868) %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 @.str5869) %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 @.str5870) %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 @.str5871) %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 @.str5872) %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 @.str5873) %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 @.str5874) %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 @.str5875) %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 @.str5876) %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 @.str5877) %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 @.str5878) %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 @.str5879) %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 @.str5880) %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 @.str5881) %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 @.str5882) %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 @.str5883) %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 @.str5884) %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 @.str5885) %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 @.str5886) %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 @.str5887) %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 @.str5888) %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 @.str5889) %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 @.str5890) %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 @.str5891) %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 @.str5892) %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 @.str5893) %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 @.str5894) %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 @.str5895) %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 @.str5896) %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 @.str5897) %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 @.str5898) %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 @.str5899) %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 @.str5900) %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 @.str5901) %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 @.str5902) %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 @.str5903) %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 @.str5904) %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 @.str5905) %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 @.str5906) %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 @.str5907) %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 @.str5908) %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 @.str5909) %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 @.str5910) %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 @.str5911) %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 @.str5912) %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 @.str5913) %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 @.str5914) %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 @.str5915) %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 @.str5916) %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 @.str5917) %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 @.str5918) %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 @.str5919) %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 @.str5920) %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 @.str5921) %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 @.str5922) %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 @.str5923) %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 @.str5924) %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 @.str5925) %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 @.str5926) %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 @.str5927) %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 @.str5928) %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 @.str5929) %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 @.str5930) %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 @.str5931) %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 @.str5932) %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 @.str5933) %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 @.str5934) %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 @.str5935) %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 @.str5936) %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 @.str5937) %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 @.str5938) %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 @.str5939) %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 @.str5940) %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 @.str5941) %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 @.str5942) %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 @.str5943) %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 @.str5944) %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 @.str5945) %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 @.str5946) %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 @.str5947) %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 @.str5948) %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 @.str5949) %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 @.str5950) %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 @.str5951) %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 @.str5952) %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 @.str5953) %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 @.str5954) %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 @.str5955) %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 @.str5956) %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 @.str5957) %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 @.str5958) %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 @.str5959) %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 @.str5960) %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 @.str5961) %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 @.str5962) %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 @.str5963) %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 @.str5964) %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 @.str5965) %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 @.str5966) %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 @.str5967) %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 @.str5968) %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 @.str5969) %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 @.str5970) %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 @.str5971) %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 @.str5972) %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 @.str5973) %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 @.str5974) %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 @.str5975) %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 @.str5976) %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 @.str5977) %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 @.str5978) %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 @.str5979) %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 @.str5980) %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 @.str5981) %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 @.str5982) %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 @.str5983) %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 @.str5984) %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 @.str5985) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store i32 119, ptr %retval br label %ret ifend26: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str5986) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: store i32 115, ptr %retval br label %ret ifend29: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str5987) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: store i32 97, ptr %retval br label %ret ifend32: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str5988) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: store i32 100, ptr %retval br label %ret ifend35: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str5989) %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 @.str5990) %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 @.str5991) %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 @.str5992) %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 @.str5993) %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 @.str5994) %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 @.str5995) %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 @.str5996) %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 @.str5997) %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 @.str5998) %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 @.str5999, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6000) %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 @.str6001, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6002) %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 %t51 = alloca ptr %t65 = alloca ptr %t74 = alloca ptr %t81 = 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 @.str6003) 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 @.str6004, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6005) %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 @.str6006) %t41 = load ptr, ptr %t40 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str6007) %t42 = load ptr, ptr %t11 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str6008) %t43 = load ptr, ptr %t19 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str6009) %t44 = load i32, ptr %t20 %t45 = call ptr @fn_itoa(i32 %t44) call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str6010) %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 store ptr @.str6011, ptr %t51 %t52 = load ptr, ptr %t50 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6012) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then6, label %ifend8 then6: store ptr @.str6013, ptr %t51 br label %ifend8 ifend8: %t55 = load ptr, ptr %t38 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4 %t57 = load ptr, ptr %t56 %t58 = icmp ne ptr %t57, null %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then9, label %ifend11 then9: %t61 = load ptr, ptr %t38 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4 %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 store ptr %t68, ptr %t51 br label %ifend11 ifend11: %t69 = load ptr, ptr %t1 %t70 = load ptr, ptr %t38 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 %t73 = call ptr @fn_rec_field(ptr %t69, ptr %t72) store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t74 %t76 = icmp ne ptr %t75, null %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then12, label %ifend14 then12: %t79 = load ptr, ptr %t74 %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 store ptr %t84, ptr %t51 br label %ifend14 ifend14: call void @fn_emit(ptr @.str6014) %t85 = load ptr, ptr %t50 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str6015) %t86 = load ptr, ptr %t51 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str6016) %t87 = load ptr, ptr %t40 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str6017) %t88 = load i32, ptr %t20 %t89 = add i32 %t88, 1 store i32 %t89, ptr %t20 br label %wcond3 wend5: %t90 = load ptr, ptr %t19 %t91 = load ptr, ptr %t0 %t92 = call ptr @fn_val(ptr %t90, ptr %t91) store ptr %t92, ptr %retval br label %ret ret: %t93 = load ptr, ptr %retval ret ptr %t93 } 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 @.str6018) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str6019, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6020) %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 @.str6021) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str6022) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str6023) call void @fn_emit(ptr @.str6024) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str6025) %t13 = call ptr @fn_nreg() store ptr %t13, ptr %t14 call void @fn_emit(ptr @.str6026) %t15 = load ptr, ptr %t14 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str6027) %t16 = load ptr, ptr %t7 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str6028) call void @fn_emit(ptr @.str6029) %t17 = load ptr, ptr %t14 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str6030) %t18 = call ptr @fn_nreg() store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6031) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6032) %t21 = load ptr, ptr %t7 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6033) call void @fn_emit(ptr @.str6034) %t22 = load ptr, ptr %t19 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str6035) %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 @.str6036) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str6037) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str6038) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str6039) %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 @.str6040, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str6041) 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 @.str6042, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str6043) %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 @.str6044, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6045) %t34 = call ptr @fn_emit_bind(ptr %t33) %t35 = call ptr @fn_val(ptr %t34, ptr @.str6046) 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 @.str6047, ptr @.str6048) 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 @.str6049) 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 @.str6050, 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 @.str6051, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str6052) %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 @.str6053, 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 @.str6054, 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 @.str6055, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6056) %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 @.str6057) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str6058) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str6059) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6060) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6061) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6062) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6063) %t35 = load ptr, ptr %t19 %t36 = call ptr @lp_str_concat(ptr @.str6064, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6065) %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 @.str6066, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6067) %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 @.str6068, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6069) %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 @.str6070, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str6071) %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 @.str6072, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6073) %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 @.str6074, 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 @.str6075, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6076) %t74 = load ptr, ptr %t66 %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str6077) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str6078) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str6079) %t80 = load ptr, ptr %t11 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str6080) call void @fn_emit(ptr @.str6081) %t81 = load ptr, ptr %t51 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str6082) %t82 = load ptr, ptr %t8 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str6083) call void @fn_emit(ptr @.str6084) %t83 = load ptr, ptr %t30 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str6085) %t84 = load ptr, ptr %t30 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str6086) %t85 = load ptr, ptr %t11 %t86 = call ptr @lp_str_concat(ptr @.str6087, 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 @.str6088) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str6089) %t92 = load ptr, ptr %t1 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str6090) %t93 = load ptr, ptr %t88 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str6091) %t94 = load ptr, ptr %t15 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str6092) call void @fn_emit(ptr @.str6093) %t95 = load ptr, ptr %t1 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str6094) %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 @.str6095) %t99 = load ptr, ptr %t90 call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str6096) %t100 = load ptr, ptr %t15 %t101 = call ptr @lp_str_concat(ptr @.str6097, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6098) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 call void @fn_emit(ptr @.str6099) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str6100) %t106 = load ptr, ptr %t5 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str6101) 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 @.str6103) %t54 = call ptr @lp_str_concat(ptr @.str6102, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6104) %t56 = load ptr, ptr %t1 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6105) 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 @.str6106) %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 @.str6107, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6108) %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 @.str6109) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str6110, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6111) 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 @.str6112, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6113) %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 @.str6114, 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 @.str6115, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str6116) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str6117) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str6118) store ptr %t46, ptr %t47 %t48 = call ptr @fn_lbl(ptr @.str6119) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t43 %t51 = call ptr @lp_str_concat(ptr @.str6120, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6121) %t53 = load ptr, ptr %t45 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6122) %t56 = load ptr, ptr %t47 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6123) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t45 %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6124) 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 @.str6125, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str6126) %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 @.str6127, 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 @.str6128, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str6129) %t75 = load ptr, ptr %t24 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str6130) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t49 %t79 = call ptr @lp_str_concat(ptr @.str6131, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6132) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t47 %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str6133) 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 @.str6134, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str6135) %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 @.str6136, ptr %t90) %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %t93 %t94 = call ptr @fn_emit_alloca(ptr @.str6137) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t93 %t97 = call ptr @lp_str_concat(ptr @.str6138, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6139) %t99 = load ptr, ptr %t95 %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str6140) 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 @.str6141, ptr %t104, ptr @.str6142) %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 @.str6143, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6144) call void @fn_emit(ptr %t116) br label %ifend5 ifend5: %t117 = load ptr, ptr %t49 %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str6145) 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 @.str6146, ptr %t119) %t121 = call ptr @fn_emit_bind(ptr %t120) %t122 = call ptr @fn_val(ptr %t121, ptr @.str6147) 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 @.str6148, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6149) %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 @.str6150) 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 @.str6151, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6152) %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 @.str6153, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6154) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6155) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6156) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6157) %t22 = call ptr @fn_lbl(ptr @.str6158) store ptr %t22, ptr %t23 %t24 = call ptr @fn_lbl(ptr @.str6159) 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 @.str6160) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: call void @fn_emit(ptr @.str6161) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6162) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6163) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6164) br label %ifend2 else1: call void @fn_emit(ptr @.str6165) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6166) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str6167) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str6168) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str6169) %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 @.str6170, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6171) %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 @.str6172, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6173) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 call void @fn_emit(ptr @.str6174) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str6175) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str6176) call void @fn_emit(ptr @.str6177) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str6178) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str6179) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str6180, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) %t62 = call ptr @fn_val(ptr %t61, ptr @.str6181) 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 @.str6182) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str6183, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6184) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str6185, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6186) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str6187, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6188) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str6189, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6190) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str6191, ptr %retval br label %ret ifend14: store ptr @.str6192, 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 @.str6193) %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 @.str6194) %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 @.str6195) %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 @.str6196) %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 @.str6197) %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 @.str6198) %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 @.str6199) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str6200, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6201) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str6202, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6203) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str6204, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6205) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str6206, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6207) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str6208, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str6209) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str6210, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6211) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store ptr @.str6212, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6213) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store ptr @.str6214, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str6215) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store ptr @.str6216, ptr %retval br label %ret ifend26: store ptr @.str6217, 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 @.str6218) %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 @.str6219, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6220) %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 %t4 = alloca ptr %t9 = alloca ptr %t17 = alloca i32 %t34 = alloca i32 store ptr %arg_v, ptr %t0 store ptr %arg_target, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call ptr @fn_llty(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Val, ptr %t5, i32 0, i32 1 %t7 = load ptr, ptr %t6 %t8 = call ptr @fn_llty(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t4 %t11 = load ptr, ptr %t9 %t12 = call i32 @lp_str_eq(ptr %t10, ptr %t11) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 store ptr %t16, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t4 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str6221) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t17 br i1 %t20, label %sc3, label %scend4 sc3: %t22 = load ptr, ptr %t9 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6222) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t17 br label %scend4 scend4: %t26 = load i32, ptr %t17 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @lp_str_concat(ptr @.str6223, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6224) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t4 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str6225) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t34 br i1 %t37, label %sc8, label %scend9 sc8: %t39 = load ptr, ptr %t9 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str6226) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t34 br label %scend9 scend9: %t43 = load i32, ptr %t34 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = call ptr @lp_str_concat(ptr @.str6227, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str6228) %t50 = call ptr @fn_emit_bind(ptr %t49) store ptr %t50, ptr %retval br label %ret ifend12: %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 store ptr %t53, ptr %retval br label %ret ret: %t54 = load ptr, ptr %retval ret ptr %t54 } 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 @.str6229) %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 @.str6230, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str6231) %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 @.str6232) %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 @.str6233, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6234) %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 @.str6235) %t16 = call ptr @fn_emit_bind(ptr %t15) %t17 = call ptr @fn_val(ptr %t16, ptr @.str6236) 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 @.str6237, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6238) %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 @.str6239) %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 @.str6240) %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 @.str6241, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str6242) %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 @.str6243, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str6244) %t41 = call ptr @fn_emit_bind(ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str6245) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t29 %t44 = call ptr @fn_val(ptr %t43, ptr @.str6246) 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 store ptr %arg_ty, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6247) %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 @.str6248) %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: %t12 = load ptr, ptr %t0 store ptr %t12, ptr %retval br label %ret ifend4: store ptr @.str6249, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } 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 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 @.str6250) %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 @.str6251) %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 %retval br label %ret ret: %t56 = load ptr, ptr %retval ret ptr %t56 } 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 %t109 = alloca ptr %t113 = alloca ptr %t114 = alloca ptr %t127 = alloca i32 %t157 = alloca ptr %t167 = alloca ptr %t170 = alloca ptr %t185 = alloca ptr %t188 = alloca ptr %t196 = alloca ptr %t201 = alloca ptr %t208 = alloca ptr %t213 = alloca ptr %t226 = alloca ptr %t231 = alloca ptr %t236 = alloca ptr %t243 = alloca ptr %t258 = alloca ptr %t274 = 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 @.str6252) %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 @.str6253) %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 @.str6254) %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 @.str6255, 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 @.str6256) %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 @.str6257) %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 @.str6258) %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 @.str6259) %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 @.str6260) %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 @.str6261) %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 %t103 = load ptr, ptr %t0 %t104 = call i32 @fn_is_cmp(ptr %t103) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then23, label %ifend25 then23: %t106 = load ptr, ptr %t1 %t107 = getelementptr inbounds %Cmp_Val, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t2 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 store ptr %t112, ptr %t113 store ptr @.str6262, ptr %t114 %t115 = load i32, ptr %t67 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then26, label %else27 then26: %t117 = load ptr, ptr %t1 %t118 = call ptr @fn_to_fixed(ptr %t117) store ptr %t118, ptr %t109 %t119 = load ptr, ptr %t2 %t120 = call ptr @fn_to_fixed(ptr %t119) store ptr %t120, ptr %t113 br label %ifend28 else27: %t121 = load i32, ptr %t102 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then29, label %else30 then29: store ptr @.str6263, ptr %t114 %t123 = load ptr, ptr %t1 %t124 = call ptr @fn_to_long(ptr %t123) store ptr %t124, ptr %t109 %t125 = load ptr, ptr %t2 %t126 = call ptr @fn_to_long(ptr %t125) store ptr %t126, ptr %t113 br label %ifend31 else30: %t128 = load ptr, ptr %t1 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 1 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_llty(ptr %t130) %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str6264) %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t127 br i1 %t133, label %scend33, label %sc32 sc32: %t135 = load ptr, ptr %t2 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 1 %t137 = load ptr, ptr %t136 %t138 = call ptr @fn_llty(ptr %t137) %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str6265) %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t127 br label %scend33 scend33: %t142 = load i32, ptr %t127 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then34, label %ifend36 then34: store ptr @.str6266, ptr %t114 br label %ifend36 ifend36: br label %ifend31 ifend31: br label %ifend28 ifend28: %t144 = load ptr, ptr %t0 %t145 = call ptr @fn_cmp_code(ptr %t144) %t146 = call ptr @lp_str_concat(ptr @.str6267, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str6268) %t148 = load ptr, ptr %t114 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str6269) %t151 = load ptr, ptr %t109 %t152 = call ptr @lp_str_concat(ptr %t150, ptr %t151) %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str6270) %t154 = load ptr, ptr %t113 %t155 = call ptr @lp_str_concat(ptr %t153, ptr %t154) %t156 = call ptr @fn_emit_bind(ptr %t155) store ptr %t156, ptr %t157 %t158 = load ptr, ptr %t157 %t159 = call ptr @lp_str_concat(ptr @.str6271, ptr %t158) %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str6272) %t161 = call ptr @fn_emit_bind(ptr %t160) %t162 = call ptr @fn_val(ptr %t161, ptr @.str6273) store ptr %t162, ptr %retval br label %ret ifend25: %t163 = load i32, ptr %t102 %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then37, label %ifend39 then37: %t165 = load ptr, ptr %t1 %t166 = call ptr @fn_to_long(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t2 %t169 = call ptr @fn_to_long(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t0 %t172 = call ptr @fn_arith_code(ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str6274) %t174 = load ptr, ptr %t167 %t175 = call ptr @lp_str_concat(ptr %t173, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str6275) %t177 = load ptr, ptr %t170 %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 @.str6276) store ptr %t180, ptr %retval br label %ret ifend39: %t181 = load i32, ptr %t67 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then40, label %ifend42 then40: %t183 = load ptr, ptr %t1 %t184 = call ptr @fn_to_fixed(ptr %t183) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t2 %t187 = call ptr @fn_to_fixed(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t0 %t190 = call i32 @lp_str_eq(ptr %t189, ptr @.str6277) %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then43, label %ifend45 then43: %t192 = load ptr, ptr %t185 %t193 = call ptr @lp_str_concat(ptr @.str6278, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str6279) %t195 = call ptr @fn_emit_bind(ptr %t194) store ptr %t195, ptr %t196 %t197 = load ptr, ptr %t188 %t198 = call ptr @lp_str_concat(ptr @.str6280, ptr %t197) %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str6281) %t200 = call ptr @fn_emit_bind(ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t196 %t203 = call ptr @lp_str_concat(ptr @.str6282, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str6283) %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 %t208 %t210 = call ptr @lp_str_concat(ptr @.str6284, ptr %t209) %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str6285) %t212 = call ptr @fn_emit_bind(ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t213 %t215 = call ptr @lp_str_concat(ptr @.str6286, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str6287) %t217 = call ptr @fn_emit_bind(ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str6288) store ptr %t218, ptr %retval br label %ret ifend45: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str6289) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then46, label %ifend48 then46: %t222 = load ptr, ptr %t185 %t223 = call ptr @lp_str_concat(ptr @.str6290, ptr %t222) %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str6291) %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 @.str6292, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str6293) %t230 = call ptr @fn_emit_bind(ptr %t229) store ptr %t230, ptr %t231 %t232 = load ptr, ptr %t188 %t233 = call ptr @lp_str_concat(ptr @.str6294, ptr %t232) %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str6295) %t235 = call ptr @fn_emit_bind(ptr %t234) store ptr %t235, ptr %t236 %t237 = load ptr, ptr %t231 %t238 = call ptr @lp_str_concat(ptr @.str6296, ptr %t237) %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str6297) %t240 = load ptr, ptr %t236 %t241 = call ptr @lp_str_concat(ptr %t239, ptr %t240) %t242 = call ptr @fn_emit_bind(ptr %t241) store ptr %t242, ptr %t243 %t244 = load ptr, ptr %t243 %t245 = call ptr @lp_str_concat(ptr @.str6298, ptr %t244) %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str6299) %t247 = call ptr @fn_emit_bind(ptr %t246) %t248 = call ptr @fn_val(ptr %t247, ptr @.str6300) store ptr %t248, ptr %retval br label %ret ifend48: %t249 = load ptr, ptr %t0 %t250 = call ptr @fn_arith_code(ptr %t249) %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str6301) %t252 = load ptr, ptr %t185 %t253 = call ptr @lp_str_concat(ptr %t251, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str6302) %t255 = load ptr, ptr %t188 %t256 = call ptr @lp_str_concat(ptr %t254, ptr %t255) %t257 = call ptr @fn_emit_bind(ptr %t256) store ptr %t257, ptr %t258 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_val(ptr %t259, ptr @.str6303) store ptr %t260, ptr %retval br label %ret ifend42: %t261 = load ptr, ptr %t0 %t262 = call ptr @fn_arith_code(ptr %t261) %t263 = call ptr @lp_str_concat(ptr %t262, ptr @.str6304) %t264 = load ptr, ptr %t1 %t265 = getelementptr inbounds %Cmp_Val, ptr %t264, i32 0, i32 0 %t266 = load ptr, ptr %t265 %t267 = call ptr @lp_str_concat(ptr %t263, ptr %t266) %t268 = call ptr @lp_str_concat(ptr %t267, ptr @.str6305) %t269 = load ptr, ptr %t2 %t270 = getelementptr inbounds %Cmp_Val, ptr %t269, i32 0, i32 0 %t271 = load ptr, ptr %t270 %t272 = call ptr @lp_str_concat(ptr %t268, ptr %t271) %t273 = call ptr @fn_emit_bind(ptr %t272) store ptr %t273, ptr %t274 %t275 = load ptr, ptr %t274 %t276 = call ptr @fn_val(ptr %t275, ptr @.str6306) store ptr %t276, ptr %retval br label %ret ret: %t277 = load ptr, ptr %retval ret ptr %t277 } 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 @.str6307) 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 @.str6308) 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 @.str6309, 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 @.str6310) store ptr %t4, ptr %t5 %t6 = call ptr @fn_lbl(ptr @.str6311) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str6312, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6313) %t11 = load ptr, ptr %t5 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6314) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str6315) call void @fn_emit(ptr %t16) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str6316) call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str6317) %t19 = load ptr, ptr %t2 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6318) %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 @.str6319, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str6320) call void @fn_emit(ptr %t24) br label %ifend2 else1: %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr @.str6321, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6322) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str6323) %t31 = load ptr, ptr %t3 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6324) call void @fn_emit(ptr %t33) br label %ifend2 ifend2: %t34 = load ptr, ptr %t5 %t35 = call ptr @lp_str_concat(ptr @.str6325, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str6326) call void @fn_emit(ptr %t36) %t37 = load ptr, ptr %t5 %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str6327) 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 @.str6328) %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 @.str6329) 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 @.str6330, 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 @.str6331, 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 @.str6332, ptr @.str6333) store ptr %t128, ptr %retval br label %ret ifend2: %t129 = load ptr, ptr %t1 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str6334) %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 @.str6335) call void @fn_perr(ptr %t141) br label %ifend17 ifend17: %t142 = call ptr @fn_emit_alloca(ptr @.str6336) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str6337, ptr @.str6338, ptr %t144) %t145 = call ptr @fn_emit_alloca(ptr @.str6339) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str6340, ptr @.str6341, ptr %t147) %t148 = call ptr @fn_lbl(ptr @.str6342) store ptr %t148, ptr %t149 %t150 = call ptr @fn_lbl(ptr @.str6343) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str6344) store ptr %t152, ptr %t153 %t154 = call ptr @fn_lbl(ptr @.str6345) store ptr %t154, ptr %t155 call void @fn_emit(ptr @.str6346) %t156 = load ptr, ptr %t149 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str6347) %t157 = load ptr, ptr %t149 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str6348) %t158 = load ptr, ptr %t143 %t159 = call ptr @lp_str_concat(ptr @.str6349, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = call ptr @fn_emit_bind(ptr @.str6350) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t161 %t165 = call ptr @lp_str_concat(ptr @.str6351, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str6352) %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 @.str6353) %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str6354) %t172 = load ptr, ptr %t151 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str6355) %t173 = load ptr, ptr %t155 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str6356) %t174 = load ptr, ptr %t151 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str6357) %t175 = load ptr, ptr %t4 %t176 = call ptr @lp_str_concat(ptr @.str6358, ptr %t175) %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str6359) %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 @.str6360, 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 @.str6361, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str6362) %t189 = load ptr, ptr %t0 %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str6363) %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 @.str6364, 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 @.str6365, ptr %t200) %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str6366) %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 @.str6367, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str6368) %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 @.str6369, 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 @.str6370, ptr %t216) %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str6371) %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 @.str6372, ptr %t223, ptr %t224) call void @fn_emit(ptr @.str6373) %t225 = load ptr, ptr %t153 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str6374) %t226 = load ptr, ptr %t153 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str6375) %t227 = load ptr, ptr %t161 %t228 = call ptr @lp_str_concat(ptr @.str6376, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str6377) %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 @.str6378, ptr %t232, ptr %t233) call void @fn_emit(ptr @.str6379) %t234 = load ptr, ptr %t149 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str6380) %t235 = load ptr, ptr %t155 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str6381) %t236 = load ptr, ptr %t146 %t237 = call ptr @lp_str_concat(ptr @.str6382, ptr %t236) %t238 = call ptr @fn_emit_bind(ptr %t237) %t239 = call ptr @fn_val(ptr %t238, ptr @.str6383) 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 @.str6384) %t250 = load ptr, ptr %t1 %t251 = call ptr @lp_str_concat(ptr %t249, ptr %t250) %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str6385) 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 @.str6386) %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 @.str6387, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str6388) %t268 = load ptr, ptr %t0 %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str6389) %t271 = load ptr, ptr %t0 %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str6390) %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 @.str6391, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str6392) %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 @.str6393, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str6394) %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 @.str6395) %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 @.str6396, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str6397) %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 @.str6398, 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 @.str6399, ptr %t313) %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str6400) %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 @.str6401, ptr %t318) %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str6402) %t321 = load ptr, ptr %t0 %t322 = call ptr @lp_str_concat(ptr %t320, ptr %t321) %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str6403) %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 @.str6404, 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 @.str6405, ptr %t332) %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str6406) %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 @.str6407, ptr %t337) %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str6408) %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 @.str6409, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str6410) %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 @.str6411, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str6412) %t354 = call ptr @fn_emit_bind(ptr %t353) %t355 = call ptr @fn_val(ptr %t354, ptr @.str6413) 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 @.str6414) %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 @.str6415) 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 %t368 = alloca ptr %t370 = alloca ptr %t380 = alloca ptr %t387 = alloca ptr %t3388 = alloca ptr %t3399 = alloca ptr %t3448 = alloca ptr %t3457 = alloca ptr %t3464 = alloca ptr %t3466 = alloca ptr %t3473 = alloca ptr %t3482 = alloca ptr %t3491 = alloca ptr %t3496 = alloca ptr %t3501 = alloca ptr %t3521 = alloca ptr %t3559 = alloca ptr %t14995 = alloca i32 %t15011 = alloca ptr %t15024 = alloca ptr %t15025 = alloca i32 %t15060 = alloca i32 %t15077 = alloca i32 %t15099 = alloca ptr %t15106 = alloca ptr %t15107 = alloca i32 %t15154 = 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 @.str6416) %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 @.str6417) %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 @.str6418) %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 @.str6419) %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 @.str6420) %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 @.str6421) %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 @.str6422, 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 @.str6423) %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 @.str6424, 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 @.str6425) %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 @.str6426, 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 @.str6427) %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 @.str6428, 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 @.str6429) %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 @.str6430) %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 @.str6431) %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 @.str6432, 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 @.str6433) %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 @.str6434, 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 @.str6435) %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 @.str6436, 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 @.str6437) %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 @.str6438, 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 @.str6439) %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 @.str6440, 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 @.str6441) %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 @.str6442, 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 @.str6443) %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 @.str6444, 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 @.str6445) %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 @.str6446, 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 @.str6447) %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 @.str6448, 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 @.str6449) %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 @.str6450, 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 @.str6451) %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 @.str6452, 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 @.str6453) %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 @.str6454, 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 @.str6455) %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 @.str6456, 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 @.str6457) %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 @.str6458, 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 @.str6459) %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 @.str6460, 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 @.str6461) %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 @.str6462, 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 @.str6463) %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 @.str6464, 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 @.str6465) %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 @.str6466, 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 @.str6467) %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 @.str6468, 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 @.str6469) %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 @.str6470, 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 @.str6471) %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 @.str6472, 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 @.str6473) %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 @.str6474) %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then179, label %ifend181 then179: %t352 = call ptr @fn_itoa(i32 1024) %t353 = call ptr @fn_val(ptr %t352, ptr @.str6475) store ptr %t353, ptr %retval br label %ret ifend181: %t354 = load ptr, ptr %t1 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str6476) %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then182, label %ifend184 then182: %t357 = call ptr @fn_emit_bind(ptr @.str6477) %t358 = call ptr @fn_val(ptr %t357, ptr @.str6478) store ptr %t358, ptr %retval br label %ret ifend184: %t359 = load ptr, ptr %t1 %t360 = call i32 @lp_str_eq(ptr %t359, ptr @.str6479) %t361 = icmp ne i32 %t360, 0 br i1 %t361, label %then185, label %ifend187 then185: %t362 = call ptr @fn_emit_bind(ptr @.str6480) %t363 = call ptr @fn_val(ptr %t362, ptr @.str6481) store ptr %t363, ptr %retval br label %ret ifend187: %t364 = load ptr, ptr %t1 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str6482) %t366 = icmp ne i32 %t365, 0 br i1 %t366, label %then188, label %ifend190 then188: %t367 = call ptr @fn_emit_bind(ptr @.str6483) store ptr %t367, ptr %t368 %t369 = call ptr @fn_emit_bind(ptr @.str6484) store ptr %t369, ptr %t370 %t371 = load ptr, ptr %t368 %t372 = call ptr @lp_str_concat(ptr @.str6485, ptr %t371) %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str6486) %t374 = load ptr, ptr %t370 %t375 = call ptr @lp_str_concat(ptr %t373, ptr %t374) %t376 = call ptr @fn_emit_bind(ptr %t375) %t377 = call ptr @fn_val(ptr %t376, ptr @.str6487) store ptr %t377, ptr %retval br label %ret ifend190: %t378 = load ptr, ptr %t1 %t379 = call ptr @lp_str_concat(ptr @.str6488, ptr %t378) call void @fn_perr(ptr %t379) br label %ifend178 ifend178: store ptr null, ptr %t380 %t381 = getelementptr %LSlice, ptr null, i32 1 %t382 = ptrtoint ptr %t381 to i64 %t383 = call ptr @malloc(i64 %t382) %t384 = getelementptr inbounds %LSlice, ptr %t383, i32 0, i32 0 store ptr null, ptr %t384 %t385 = getelementptr inbounds %LSlice, ptr %t383, i32 0, i32 1 store i32 0, ptr %t385 %t386 = getelementptr inbounds %LSlice, ptr %t383, i32 0, i32 2 store i32 0, ptr %t386 store ptr %t383, ptr %t387 %t388 = load ptr, ptr %t0 %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str6489) %t390 = icmp ne i32 %t389, 0 br i1 %t390, label %then191, label %ifend193 then191: %t391 = load ptr, ptr %t1 %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str6490) %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then194, label %ifend196 then194: store ptr @.str6491, ptr %t380 %t394 = load ptr, ptr %t387 %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 %grow197, label %put198 grow197: %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 %put198 put198: %t410 = load ptr, ptr %t397 %t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398 store ptr @.str6492, ptr %t411 %t412 = add i32 %t398, 1 store i32 %t412, ptr %t395 br label %ifend196 ifend196: %t413 = load ptr, ptr %t1 %t414 = call i32 @lp_str_eq(ptr %t413, ptr @.str6493) %t415 = icmp ne i32 %t414, 0 br i1 %t415, label %then199, label %ifend201 then199: store ptr @.str6494, ptr %t380 %t416 = load ptr, ptr %t387 %t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 1 %t418 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 2 %t419 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0 %t420 = load i32, ptr %t417 %t421 = load i32, ptr %t418 %t422 = icmp sge i32 %t420, %t421 br i1 %t422, label %grow202, label %put203 grow202: %t423 = mul i32 %t421, 2 %t424 = icmp eq i32 %t421, 0 %t425 = select i1 %t424, i32 8, i32 %t423 %t426 = getelementptr ptr, ptr null, i32 1 %t427 = ptrtoint ptr %t426 to i64 %t428 = zext i32 %t425 to i64 %t429 = mul i64 %t428, %t427 %t430 = load ptr, ptr %t419 %t431 = call ptr @realloc(ptr %t430, i64 %t429) store ptr %t431, ptr %t419 store i32 %t425, ptr %t418 br label %put203 put203: %t432 = load ptr, ptr %t419 %t433 = getelementptr inbounds ptr, ptr %t432, i32 %t420 store ptr @.str6495, ptr %t433 %t434 = add i32 %t420, 1 store i32 %t434, ptr %t417 %t435 = load ptr, ptr %t387 %t436 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 1 %t437 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 2 %t438 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 0 %t439 = load i32, ptr %t436 %t440 = load i32, ptr %t437 %t441 = icmp sge i32 %t439, %t440 br i1 %t441, label %grow204, label %put205 grow204: %t442 = mul i32 %t440, 2 %t443 = icmp eq i32 %t440, 0 %t444 = select i1 %t443, i32 8, i32 %t442 %t445 = getelementptr ptr, ptr null, i32 1 %t446 = ptrtoint ptr %t445 to i64 %t447 = zext i32 %t444 to i64 %t448 = mul i64 %t447, %t446 %t449 = load ptr, ptr %t438 %t450 = call ptr @realloc(ptr %t449, i64 %t448) store ptr %t450, ptr %t438 store i32 %t444, ptr %t437 br label %put205 put205: %t451 = load ptr, ptr %t438 %t452 = getelementptr inbounds ptr, ptr %t451, i32 %t439 store ptr @.str6496, ptr %t452 %t453 = add i32 %t439, 1 store i32 %t453, ptr %t436 %t454 = load ptr, ptr %t387 %t455 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 1 %t456 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 2 %t457 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 0 %t458 = load i32, ptr %t455 %t459 = load i32, ptr %t456 %t460 = icmp sge i32 %t458, %t459 br i1 %t460, label %grow206, label %put207 grow206: %t461 = mul i32 %t459, 2 %t462 = icmp eq i32 %t459, 0 %t463 = select i1 %t462, i32 8, i32 %t461 %t464 = getelementptr ptr, ptr null, i32 1 %t465 = ptrtoint ptr %t464 to i64 %t466 = zext i32 %t463 to i64 %t467 = mul i64 %t466, %t465 %t468 = load ptr, ptr %t457 %t469 = call ptr @realloc(ptr %t468, i64 %t467) store ptr %t469, ptr %t457 store i32 %t463, ptr %t456 br label %put207 put207: %t470 = load ptr, ptr %t457 %t471 = getelementptr inbounds ptr, ptr %t470, i32 %t458 store ptr @.str6497, ptr %t471 %t472 = add i32 %t458, 1 store i32 %t472, ptr %t455 %t473 = load ptr, ptr %t387 %t474 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 1 %t475 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 2 %t476 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 0 %t477 = load i32, ptr %t474 %t478 = load i32, ptr %t475 %t479 = icmp sge i32 %t477, %t478 br i1 %t479, label %grow208, label %put209 grow208: %t480 = mul i32 %t478, 2 %t481 = icmp eq i32 %t478, 0 %t482 = select i1 %t481, i32 8, i32 %t480 %t483 = getelementptr ptr, ptr null, i32 1 %t484 = ptrtoint ptr %t483 to i64 %t485 = zext i32 %t482 to i64 %t486 = mul i64 %t485, %t484 %t487 = load ptr, ptr %t476 %t488 = call ptr @realloc(ptr %t487, i64 %t486) store ptr %t488, ptr %t476 store i32 %t482, ptr %t475 br label %put209 put209: %t489 = load ptr, ptr %t476 %t490 = getelementptr inbounds ptr, ptr %t489, i32 %t477 store ptr @.str6498, ptr %t490 %t491 = add i32 %t477, 1 store i32 %t491, ptr %t474 %t492 = load ptr, ptr %t387 %t493 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 1 %t494 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 2 %t495 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 0 %t496 = load i32, ptr %t493 %t497 = load i32, ptr %t494 %t498 = icmp sge i32 %t496, %t497 br i1 %t498, label %grow210, label %put211 grow210: %t499 = mul i32 %t497, 2 %t500 = icmp eq i32 %t497, 0 %t501 = select i1 %t500, i32 8, i32 %t499 %t502 = getelementptr ptr, ptr null, i32 1 %t503 = ptrtoint ptr %t502 to i64 %t504 = zext i32 %t501 to i64 %t505 = mul i64 %t504, %t503 %t506 = load ptr, ptr %t495 %t507 = call ptr @realloc(ptr %t506, i64 %t505) store ptr %t507, ptr %t495 store i32 %t501, ptr %t494 br label %put211 put211: %t508 = load ptr, ptr %t495 %t509 = getelementptr inbounds ptr, ptr %t508, i32 %t496 store ptr @.str6499, ptr %t509 %t510 = add i32 %t496, 1 store i32 %t510, ptr %t493 br label %ifend201 ifend201: %t511 = load ptr, ptr %t1 %t512 = call i32 @lp_str_eq(ptr %t511, ptr @.str6500) %t513 = icmp ne i32 %t512, 0 br i1 %t513, label %then212, label %ifend214 then212: store ptr @.str6501, ptr %t380 %t514 = load ptr, ptr %t387 %t515 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 1 %t516 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 2 %t517 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 0 %t518 = load i32, ptr %t515 %t519 = load i32, ptr %t516 %t520 = icmp sge i32 %t518, %t519 br i1 %t520, label %grow215, label %put216 grow215: %t521 = mul i32 %t519, 2 %t522 = icmp eq i32 %t519, 0 %t523 = select i1 %t522, i32 8, i32 %t521 %t524 = getelementptr ptr, ptr null, i32 1 %t525 = ptrtoint ptr %t524 to i64 %t526 = zext i32 %t523 to i64 %t527 = mul i64 %t526, %t525 %t528 = load ptr, ptr %t517 %t529 = call ptr @realloc(ptr %t528, i64 %t527) store ptr %t529, ptr %t517 store i32 %t523, ptr %t516 br label %put216 put216: %t530 = load ptr, ptr %t517 %t531 = getelementptr inbounds ptr, ptr %t530, i32 %t518 store ptr @.str6502, ptr %t531 %t532 = add i32 %t518, 1 store i32 %t532, ptr %t515 %t533 = load ptr, ptr %t387 %t534 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 1 %t535 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 2 %t536 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 0 %t537 = load i32, ptr %t534 %t538 = load i32, ptr %t535 %t539 = icmp sge i32 %t537, %t538 br i1 %t539, label %grow217, label %put218 grow217: %t540 = mul i32 %t538, 2 %t541 = icmp eq i32 %t538, 0 %t542 = select i1 %t541, i32 8, i32 %t540 %t543 = getelementptr ptr, ptr null, i32 1 %t544 = ptrtoint ptr %t543 to i64 %t545 = zext i32 %t542 to i64 %t546 = mul i64 %t545, %t544 %t547 = load ptr, ptr %t536 %t548 = call ptr @realloc(ptr %t547, i64 %t546) store ptr %t548, ptr %t536 store i32 %t542, ptr %t535 br label %put218 put218: %t549 = load ptr, ptr %t536 %t550 = getelementptr inbounds ptr, ptr %t549, i32 %t537 store ptr @.str6503, ptr %t550 %t551 = add i32 %t537, 1 store i32 %t551, ptr %t534 %t552 = load ptr, ptr %t387 %t553 = getelementptr inbounds %LSlice, ptr %t552, i32 0, i32 1 %t554 = getelementptr inbounds %LSlice, ptr %t552, i32 0, i32 2 %t555 = getelementptr inbounds %LSlice, ptr %t552, i32 0, i32 0 %t556 = load i32, ptr %t553 %t557 = load i32, ptr %t554 %t558 = icmp sge i32 %t556, %t557 br i1 %t558, label %grow219, label %put220 grow219: %t559 = mul i32 %t557, 2 %t560 = icmp eq i32 %t557, 0 %t561 = select i1 %t560, i32 8, i32 %t559 %t562 = getelementptr ptr, ptr null, i32 1 %t563 = ptrtoint ptr %t562 to i64 %t564 = zext i32 %t561 to i64 %t565 = mul i64 %t564, %t563 %t566 = load ptr, ptr %t555 %t567 = call ptr @realloc(ptr %t566, i64 %t565) store ptr %t567, ptr %t555 store i32 %t561, ptr %t554 br label %put220 put220: %t568 = load ptr, ptr %t555 %t569 = getelementptr inbounds ptr, ptr %t568, i32 %t556 store ptr @.str6504, ptr %t569 %t570 = add i32 %t556, 1 store i32 %t570, ptr %t553 %t571 = load ptr, ptr %t387 %t572 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 1 %t573 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 2 %t574 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 0 %t575 = load i32, ptr %t572 %t576 = load i32, ptr %t573 %t577 = icmp sge i32 %t575, %t576 br i1 %t577, label %grow221, label %put222 grow221: %t578 = mul i32 %t576, 2 %t579 = icmp eq i32 %t576, 0 %t580 = select i1 %t579, i32 8, i32 %t578 %t581 = getelementptr ptr, ptr null, i32 1 %t582 = ptrtoint ptr %t581 to i64 %t583 = zext i32 %t580 to i64 %t584 = mul i64 %t583, %t582 %t585 = load ptr, ptr %t574 %t586 = call ptr @realloc(ptr %t585, i64 %t584) store ptr %t586, ptr %t574 store i32 %t580, ptr %t573 br label %put222 put222: %t587 = load ptr, ptr %t574 %t588 = getelementptr inbounds ptr, ptr %t587, i32 %t575 store ptr @.str6505, ptr %t588 %t589 = add i32 %t575, 1 store i32 %t589, ptr %t572 %t590 = load ptr, ptr %t387 %t591 = getelementptr inbounds %LSlice, ptr %t590, i32 0, i32 1 %t592 = getelementptr inbounds %LSlice, ptr %t590, i32 0, i32 2 %t593 = getelementptr inbounds %LSlice, ptr %t590, i32 0, i32 0 %t594 = load i32, ptr %t591 %t595 = load i32, ptr %t592 %t596 = icmp sge i32 %t594, %t595 br i1 %t596, label %grow223, label %put224 grow223: %t597 = mul i32 %t595, 2 %t598 = icmp eq i32 %t595, 0 %t599 = select i1 %t598, i32 8, i32 %t597 %t600 = getelementptr ptr, ptr null, i32 1 %t601 = ptrtoint ptr %t600 to i64 %t602 = zext i32 %t599 to i64 %t603 = mul i64 %t602, %t601 %t604 = load ptr, ptr %t593 %t605 = call ptr @realloc(ptr %t604, i64 %t603) store ptr %t605, ptr %t593 store i32 %t599, ptr %t592 br label %put224 put224: %t606 = load ptr, ptr %t593 %t607 = getelementptr inbounds ptr, ptr %t606, i32 %t594 store ptr @.str6506, ptr %t607 %t608 = add i32 %t594, 1 store i32 %t608, ptr %t591 %t609 = load ptr, ptr %t387 %t610 = getelementptr inbounds %LSlice, ptr %t609, i32 0, i32 1 %t611 = getelementptr inbounds %LSlice, ptr %t609, i32 0, i32 2 %t612 = getelementptr inbounds %LSlice, ptr %t609, i32 0, i32 0 %t613 = load i32, ptr %t610 %t614 = load i32, ptr %t611 %t615 = icmp sge i32 %t613, %t614 br i1 %t615, label %grow225, label %put226 grow225: %t616 = mul i32 %t614, 2 %t617 = icmp eq i32 %t614, 0 %t618 = select i1 %t617, i32 8, i32 %t616 %t619 = getelementptr ptr, ptr null, i32 1 %t620 = ptrtoint ptr %t619 to i64 %t621 = zext i32 %t618 to i64 %t622 = mul i64 %t621, %t620 %t623 = load ptr, ptr %t612 %t624 = call ptr @realloc(ptr %t623, i64 %t622) store ptr %t624, ptr %t612 store i32 %t618, ptr %t611 br label %put226 put226: %t625 = load ptr, ptr %t612 %t626 = getelementptr inbounds ptr, ptr %t625, i32 %t613 store ptr @.str6507, ptr %t626 %t627 = add i32 %t613, 1 store i32 %t627, ptr %t610 %t628 = load ptr, ptr %t387 %t629 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 1 %t630 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 2 %t631 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 0 %t632 = load i32, ptr %t629 %t633 = load i32, ptr %t630 %t634 = icmp sge i32 %t632, %t633 br i1 %t634, label %grow227, label %put228 grow227: %t635 = mul i32 %t633, 2 %t636 = icmp eq i32 %t633, 0 %t637 = select i1 %t636, i32 8, i32 %t635 %t638 = getelementptr ptr, ptr null, i32 1 %t639 = ptrtoint ptr %t638 to i64 %t640 = zext i32 %t637 to i64 %t641 = mul i64 %t640, %t639 %t642 = load ptr, ptr %t631 %t643 = call ptr @realloc(ptr %t642, i64 %t641) store ptr %t643, ptr %t631 store i32 %t637, ptr %t630 br label %put228 put228: %t644 = load ptr, ptr %t631 %t645 = getelementptr inbounds ptr, ptr %t644, i32 %t632 store ptr @.str6508, ptr %t645 %t646 = add i32 %t632, 1 store i32 %t646, ptr %t629 %t647 = load ptr, ptr %t387 %t648 = getelementptr inbounds %LSlice, ptr %t647, i32 0, i32 1 %t649 = getelementptr inbounds %LSlice, ptr %t647, i32 0, i32 2 %t650 = getelementptr inbounds %LSlice, ptr %t647, i32 0, i32 0 %t651 = load i32, ptr %t648 %t652 = load i32, ptr %t649 %t653 = icmp sge i32 %t651, %t652 br i1 %t653, label %grow229, label %put230 grow229: %t654 = mul i32 %t652, 2 %t655 = icmp eq i32 %t652, 0 %t656 = select i1 %t655, i32 8, i32 %t654 %t657 = getelementptr ptr, ptr null, i32 1 %t658 = ptrtoint ptr %t657 to i64 %t659 = zext i32 %t656 to i64 %t660 = mul i64 %t659, %t658 %t661 = load ptr, ptr %t650 %t662 = call ptr @realloc(ptr %t661, i64 %t660) store ptr %t662, ptr %t650 store i32 %t656, ptr %t649 br label %put230 put230: %t663 = load ptr, ptr %t650 %t664 = getelementptr inbounds ptr, ptr %t663, i32 %t651 store ptr @.str6509, ptr %t664 %t665 = add i32 %t651, 1 store i32 %t665, ptr %t648 br label %ifend214 ifend214: %t666 = load ptr, ptr %t1 %t667 = call i32 @lp_str_eq(ptr %t666, ptr @.str6510) %t668 = icmp ne i32 %t667, 0 br i1 %t668, label %then231, label %ifend233 then231: store ptr @.str6511, ptr %t380 %t669 = load ptr, ptr %t387 %t670 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 1 %t671 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 2 %t672 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 0 %t673 = load i32, ptr %t670 %t674 = load i32, ptr %t671 %t675 = icmp sge i32 %t673, %t674 br i1 %t675, label %grow234, label %put235 grow234: %t676 = mul i32 %t674, 2 %t677 = icmp eq i32 %t674, 0 %t678 = select i1 %t677, i32 8, i32 %t676 %t679 = getelementptr ptr, ptr null, i32 1 %t680 = ptrtoint ptr %t679 to i64 %t681 = zext i32 %t678 to i64 %t682 = mul i64 %t681, %t680 %t683 = load ptr, ptr %t672 %t684 = call ptr @realloc(ptr %t683, i64 %t682) store ptr %t684, ptr %t672 store i32 %t678, ptr %t671 br label %put235 put235: %t685 = load ptr, ptr %t672 %t686 = getelementptr inbounds ptr, ptr %t685, i32 %t673 store ptr @.str6512, ptr %t686 %t687 = add i32 %t673, 1 store i32 %t687, ptr %t670 %t688 = load ptr, ptr %t387 %t689 = getelementptr inbounds %LSlice, ptr %t688, i32 0, i32 1 %t690 = getelementptr inbounds %LSlice, ptr %t688, i32 0, i32 2 %t691 = getelementptr inbounds %LSlice, ptr %t688, i32 0, i32 0 %t692 = load i32, ptr %t689 %t693 = load i32, ptr %t690 %t694 = icmp sge i32 %t692, %t693 br i1 %t694, label %grow236, label %put237 grow236: %t695 = mul i32 %t693, 2 %t696 = icmp eq i32 %t693, 0 %t697 = select i1 %t696, i32 8, i32 %t695 %t698 = getelementptr ptr, ptr null, i32 1 %t699 = ptrtoint ptr %t698 to i64 %t700 = zext i32 %t697 to i64 %t701 = mul i64 %t700, %t699 %t702 = load ptr, ptr %t691 %t703 = call ptr @realloc(ptr %t702, i64 %t701) store ptr %t703, ptr %t691 store i32 %t697, ptr %t690 br label %put237 put237: %t704 = load ptr, ptr %t691 %t705 = getelementptr inbounds ptr, ptr %t704, i32 %t692 store ptr @.str6513, ptr %t705 %t706 = add i32 %t692, 1 store i32 %t706, ptr %t689 %t707 = load ptr, ptr %t387 %t708 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 1 %t709 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 2 %t710 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 0 %t711 = load i32, ptr %t708 %t712 = load i32, ptr %t709 %t713 = icmp sge i32 %t711, %t712 br i1 %t713, label %grow238, label %put239 grow238: %t714 = mul i32 %t712, 2 %t715 = icmp eq i32 %t712, 0 %t716 = select i1 %t715, i32 8, i32 %t714 %t717 = getelementptr ptr, ptr null, i32 1 %t718 = ptrtoint ptr %t717 to i64 %t719 = zext i32 %t716 to i64 %t720 = mul i64 %t719, %t718 %t721 = load ptr, ptr %t710 %t722 = call ptr @realloc(ptr %t721, i64 %t720) store ptr %t722, ptr %t710 store i32 %t716, ptr %t709 br label %put239 put239: %t723 = load ptr, ptr %t710 %t724 = getelementptr inbounds ptr, ptr %t723, i32 %t711 store ptr @.str6514, ptr %t724 %t725 = add i32 %t711, 1 store i32 %t725, ptr %t708 %t726 = load ptr, ptr %t387 %t727 = getelementptr inbounds %LSlice, ptr %t726, i32 0, i32 1 %t728 = getelementptr inbounds %LSlice, ptr %t726, i32 0, i32 2 %t729 = getelementptr inbounds %LSlice, ptr %t726, i32 0, i32 0 %t730 = load i32, ptr %t727 %t731 = load i32, ptr %t728 %t732 = icmp sge i32 %t730, %t731 br i1 %t732, label %grow240, label %put241 grow240: %t733 = mul i32 %t731, 2 %t734 = icmp eq i32 %t731, 0 %t735 = select i1 %t734, i32 8, i32 %t733 %t736 = getelementptr ptr, ptr null, i32 1 %t737 = ptrtoint ptr %t736 to i64 %t738 = zext i32 %t735 to i64 %t739 = mul i64 %t738, %t737 %t740 = load ptr, ptr %t729 %t741 = call ptr @realloc(ptr %t740, i64 %t739) store ptr %t741, ptr %t729 store i32 %t735, ptr %t728 br label %put241 put241: %t742 = load ptr, ptr %t729 %t743 = getelementptr inbounds ptr, ptr %t742, i32 %t730 store ptr @.str6515, ptr %t743 %t744 = add i32 %t730, 1 store i32 %t744, ptr %t727 %t745 = load ptr, ptr %t387 %t746 = getelementptr inbounds %LSlice, ptr %t745, i32 0, i32 1 %t747 = getelementptr inbounds %LSlice, ptr %t745, i32 0, i32 2 %t748 = getelementptr inbounds %LSlice, ptr %t745, i32 0, i32 0 %t749 = load i32, ptr %t746 %t750 = load i32, ptr %t747 %t751 = icmp sge i32 %t749, %t750 br i1 %t751, label %grow242, label %put243 grow242: %t752 = mul i32 %t750, 2 %t753 = icmp eq i32 %t750, 0 %t754 = select i1 %t753, i32 8, i32 %t752 %t755 = getelementptr ptr, ptr null, i32 1 %t756 = ptrtoint ptr %t755 to i64 %t757 = zext i32 %t754 to i64 %t758 = mul i64 %t757, %t756 %t759 = load ptr, ptr %t748 %t760 = call ptr @realloc(ptr %t759, i64 %t758) store ptr %t760, ptr %t748 store i32 %t754, ptr %t747 br label %put243 put243: %t761 = load ptr, ptr %t748 %t762 = getelementptr inbounds ptr, ptr %t761, i32 %t749 store ptr @.str6516, ptr %t762 %t763 = add i32 %t749, 1 store i32 %t763, ptr %t746 br label %ifend233 ifend233: %t764 = load ptr, ptr %t1 %t765 = call i32 @lp_str_eq(ptr %t764, ptr @.str6517) %t766 = icmp ne i32 %t765, 0 br i1 %t766, label %then244, label %ifend246 then244: store ptr @.str6518, ptr %t380 %t767 = load ptr, ptr %t387 %t768 = getelementptr inbounds %LSlice, ptr %t767, i32 0, i32 1 %t769 = getelementptr inbounds %LSlice, ptr %t767, i32 0, i32 2 %t770 = getelementptr inbounds %LSlice, ptr %t767, i32 0, i32 0 %t771 = load i32, ptr %t768 %t772 = load i32, ptr %t769 %t773 = icmp sge i32 %t771, %t772 br i1 %t773, label %grow247, label %put248 grow247: %t774 = mul i32 %t772, 2 %t775 = icmp eq i32 %t772, 0 %t776 = select i1 %t775, i32 8, i32 %t774 %t777 = getelementptr ptr, ptr null, i32 1 %t778 = ptrtoint ptr %t777 to i64 %t779 = zext i32 %t776 to i64 %t780 = mul i64 %t779, %t778 %t781 = load ptr, ptr %t770 %t782 = call ptr @realloc(ptr %t781, i64 %t780) store ptr %t782, ptr %t770 store i32 %t776, ptr %t769 br label %put248 put248: %t783 = load ptr, ptr %t770 %t784 = getelementptr inbounds ptr, ptr %t783, i32 %t771 store ptr @.str6519, ptr %t784 %t785 = add i32 %t771, 1 store i32 %t785, ptr %t768 %t786 = load ptr, ptr %t387 %t787 = getelementptr inbounds %LSlice, ptr %t786, i32 0, i32 1 %t788 = getelementptr inbounds %LSlice, ptr %t786, i32 0, i32 2 %t789 = getelementptr inbounds %LSlice, ptr %t786, i32 0, i32 0 %t790 = load i32, ptr %t787 %t791 = load i32, ptr %t788 %t792 = icmp sge i32 %t790, %t791 br i1 %t792, label %grow249, label %put250 grow249: %t793 = mul i32 %t791, 2 %t794 = icmp eq i32 %t791, 0 %t795 = select i1 %t794, i32 8, i32 %t793 %t796 = getelementptr ptr, ptr null, i32 1 %t797 = ptrtoint ptr %t796 to i64 %t798 = zext i32 %t795 to i64 %t799 = mul i64 %t798, %t797 %t800 = load ptr, ptr %t789 %t801 = call ptr @realloc(ptr %t800, i64 %t799) store ptr %t801, ptr %t789 store i32 %t795, ptr %t788 br label %put250 put250: %t802 = load ptr, ptr %t789 %t803 = getelementptr inbounds ptr, ptr %t802, i32 %t790 store ptr @.str6520, ptr %t803 %t804 = add i32 %t790, 1 store i32 %t804, ptr %t787 %t805 = load ptr, ptr %t387 %t806 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 1 %t807 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 2 %t808 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 0 %t809 = load i32, ptr %t806 %t810 = load i32, ptr %t807 %t811 = icmp sge i32 %t809, %t810 br i1 %t811, label %grow251, label %put252 grow251: %t812 = mul i32 %t810, 2 %t813 = icmp eq i32 %t810, 0 %t814 = select i1 %t813, i32 8, i32 %t812 %t815 = getelementptr ptr, ptr null, i32 1 %t816 = ptrtoint ptr %t815 to i64 %t817 = zext i32 %t814 to i64 %t818 = mul i64 %t817, %t816 %t819 = load ptr, ptr %t808 %t820 = call ptr @realloc(ptr %t819, i64 %t818) store ptr %t820, ptr %t808 store i32 %t814, ptr %t807 br label %put252 put252: %t821 = load ptr, ptr %t808 %t822 = getelementptr inbounds ptr, ptr %t821, i32 %t809 store ptr @.str6521, ptr %t822 %t823 = add i32 %t809, 1 store i32 %t823, ptr %t806 br label %ifend246 ifend246: %t824 = load ptr, ptr %t1 %t825 = call i32 @lp_str_eq(ptr %t824, ptr @.str6522) %t826 = icmp ne i32 %t825, 0 br i1 %t826, label %then253, label %ifend255 then253: store ptr @.str6523, ptr %t380 %t827 = load ptr, ptr %t387 %t828 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 1 %t829 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 2 %t830 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 0 %t831 = load i32, ptr %t828 %t832 = load i32, ptr %t829 %t833 = icmp sge i32 %t831, %t832 br i1 %t833, label %grow256, label %put257 grow256: %t834 = mul i32 %t832, 2 %t835 = icmp eq i32 %t832, 0 %t836 = select i1 %t835, i32 8, i32 %t834 %t837 = getelementptr ptr, ptr null, i32 1 %t838 = ptrtoint ptr %t837 to i64 %t839 = zext i32 %t836 to i64 %t840 = mul i64 %t839, %t838 %t841 = load ptr, ptr %t830 %t842 = call ptr @realloc(ptr %t841, i64 %t840) store ptr %t842, ptr %t830 store i32 %t836, ptr %t829 br label %put257 put257: %t843 = load ptr, ptr %t830 %t844 = getelementptr inbounds ptr, ptr %t843, i32 %t831 store ptr @.str6524, ptr %t844 %t845 = add i32 %t831, 1 store i32 %t845, ptr %t828 %t846 = load ptr, ptr %t387 %t847 = getelementptr inbounds %LSlice, ptr %t846, i32 0, i32 1 %t848 = getelementptr inbounds %LSlice, ptr %t846, i32 0, i32 2 %t849 = getelementptr inbounds %LSlice, ptr %t846, i32 0, i32 0 %t850 = load i32, ptr %t847 %t851 = load i32, ptr %t848 %t852 = icmp sge i32 %t850, %t851 br i1 %t852, label %grow258, label %put259 grow258: %t853 = mul i32 %t851, 2 %t854 = icmp eq i32 %t851, 0 %t855 = select i1 %t854, i32 8, i32 %t853 %t856 = getelementptr ptr, ptr null, i32 1 %t857 = ptrtoint ptr %t856 to i64 %t858 = zext i32 %t855 to i64 %t859 = mul i64 %t858, %t857 %t860 = load ptr, ptr %t849 %t861 = call ptr @realloc(ptr %t860, i64 %t859) store ptr %t861, ptr %t849 store i32 %t855, ptr %t848 br label %put259 put259: %t862 = load ptr, ptr %t849 %t863 = getelementptr inbounds ptr, ptr %t862, i32 %t850 store ptr @.str6525, ptr %t863 %t864 = add i32 %t850, 1 store i32 %t864, ptr %t847 %t865 = load ptr, ptr %t387 %t866 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 1 %t867 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 2 %t868 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 0 %t869 = load i32, ptr %t866 %t870 = load i32, ptr %t867 %t871 = icmp sge i32 %t869, %t870 br i1 %t871, label %grow260, label %put261 grow260: %t872 = mul i32 %t870, 2 %t873 = icmp eq i32 %t870, 0 %t874 = select i1 %t873, i32 8, i32 %t872 %t875 = getelementptr ptr, ptr null, i32 1 %t876 = ptrtoint ptr %t875 to i64 %t877 = zext i32 %t874 to i64 %t878 = mul i64 %t877, %t876 %t879 = load ptr, ptr %t868 %t880 = call ptr @realloc(ptr %t879, i64 %t878) store ptr %t880, ptr %t868 store i32 %t874, ptr %t867 br label %put261 put261: %t881 = load ptr, ptr %t868 %t882 = getelementptr inbounds ptr, ptr %t881, i32 %t869 store ptr @.str6526, ptr %t882 %t883 = add i32 %t869, 1 store i32 %t883, ptr %t866 %t884 = load ptr, ptr %t387 %t885 = getelementptr inbounds %LSlice, ptr %t884, i32 0, i32 1 %t886 = getelementptr inbounds %LSlice, ptr %t884, i32 0, i32 2 %t887 = getelementptr inbounds %LSlice, ptr %t884, i32 0, i32 0 %t888 = load i32, ptr %t885 %t889 = load i32, ptr %t886 %t890 = icmp sge i32 %t888, %t889 br i1 %t890, label %grow262, label %put263 grow262: %t891 = mul i32 %t889, 2 %t892 = icmp eq i32 %t889, 0 %t893 = select i1 %t892, i32 8, i32 %t891 %t894 = getelementptr ptr, ptr null, i32 1 %t895 = ptrtoint ptr %t894 to i64 %t896 = zext i32 %t893 to i64 %t897 = mul i64 %t896, %t895 %t898 = load ptr, ptr %t887 %t899 = call ptr @realloc(ptr %t898, i64 %t897) store ptr %t899, ptr %t887 store i32 %t893, ptr %t886 br label %put263 put263: %t900 = load ptr, ptr %t887 %t901 = getelementptr inbounds ptr, ptr %t900, i32 %t888 store ptr @.str6527, ptr %t901 %t902 = add i32 %t888, 1 store i32 %t902, ptr %t885 %t903 = load ptr, ptr %t387 %t904 = getelementptr inbounds %LSlice, ptr %t903, i32 0, i32 1 %t905 = getelementptr inbounds %LSlice, ptr %t903, i32 0, i32 2 %t906 = getelementptr inbounds %LSlice, ptr %t903, i32 0, i32 0 %t907 = load i32, ptr %t904 %t908 = load i32, ptr %t905 %t909 = icmp sge i32 %t907, %t908 br i1 %t909, label %grow264, label %put265 grow264: %t910 = mul i32 %t908, 2 %t911 = icmp eq i32 %t908, 0 %t912 = select i1 %t911, i32 8, i32 %t910 %t913 = getelementptr ptr, ptr null, i32 1 %t914 = ptrtoint ptr %t913 to i64 %t915 = zext i32 %t912 to i64 %t916 = mul i64 %t915, %t914 %t917 = load ptr, ptr %t906 %t918 = call ptr @realloc(ptr %t917, i64 %t916) store ptr %t918, ptr %t906 store i32 %t912, ptr %t905 br label %put265 put265: %t919 = load ptr, ptr %t906 %t920 = getelementptr inbounds ptr, ptr %t919, i32 %t907 store ptr @.str6528, ptr %t920 %t921 = add i32 %t907, 1 store i32 %t921, ptr %t904 br label %ifend255 ifend255: %t922 = load ptr, ptr %t1 %t923 = call i32 @lp_str_eq(ptr %t922, ptr @.str6529) %t924 = icmp ne i32 %t923, 0 br i1 %t924, label %then266, label %ifend268 then266: store ptr @.str6530, ptr %t380 %t925 = load ptr, ptr %t387 %t926 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 1 %t927 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 2 %t928 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 0 %t929 = load i32, ptr %t926 %t930 = load i32, ptr %t927 %t931 = icmp sge i32 %t929, %t930 br i1 %t931, label %grow269, label %put270 grow269: %t932 = mul i32 %t930, 2 %t933 = icmp eq i32 %t930, 0 %t934 = select i1 %t933, i32 8, i32 %t932 %t935 = getelementptr ptr, ptr null, i32 1 %t936 = ptrtoint ptr %t935 to i64 %t937 = zext i32 %t934 to i64 %t938 = mul i64 %t937, %t936 %t939 = load ptr, ptr %t928 %t940 = call ptr @realloc(ptr %t939, i64 %t938) store ptr %t940, ptr %t928 store i32 %t934, ptr %t927 br label %put270 put270: %t941 = load ptr, ptr %t928 %t942 = getelementptr inbounds ptr, ptr %t941, i32 %t929 store ptr @.str6531, ptr %t942 %t943 = add i32 %t929, 1 store i32 %t943, ptr %t926 %t944 = load ptr, ptr %t387 %t945 = getelementptr inbounds %LSlice, ptr %t944, i32 0, i32 1 %t946 = getelementptr inbounds %LSlice, ptr %t944, i32 0, i32 2 %t947 = getelementptr inbounds %LSlice, ptr %t944, i32 0, i32 0 %t948 = load i32, ptr %t945 %t949 = load i32, ptr %t946 %t950 = icmp sge i32 %t948, %t949 br i1 %t950, label %grow271, label %put272 grow271: %t951 = mul i32 %t949, 2 %t952 = icmp eq i32 %t949, 0 %t953 = select i1 %t952, i32 8, i32 %t951 %t954 = getelementptr ptr, ptr null, i32 1 %t955 = ptrtoint ptr %t954 to i64 %t956 = zext i32 %t953 to i64 %t957 = mul i64 %t956, %t955 %t958 = load ptr, ptr %t947 %t959 = call ptr @realloc(ptr %t958, i64 %t957) store ptr %t959, ptr %t947 store i32 %t953, ptr %t946 br label %put272 put272: %t960 = load ptr, ptr %t947 %t961 = getelementptr inbounds ptr, ptr %t960, i32 %t948 store ptr @.str6532, ptr %t961 %t962 = add i32 %t948, 1 store i32 %t962, ptr %t945 %t963 = load ptr, ptr %t387 %t964 = getelementptr inbounds %LSlice, ptr %t963, i32 0, i32 1 %t965 = getelementptr inbounds %LSlice, ptr %t963, i32 0, i32 2 %t966 = getelementptr inbounds %LSlice, ptr %t963, i32 0, i32 0 %t967 = load i32, ptr %t964 %t968 = load i32, ptr %t965 %t969 = icmp sge i32 %t967, %t968 br i1 %t969, label %grow273, label %put274 grow273: %t970 = mul i32 %t968, 2 %t971 = icmp eq i32 %t968, 0 %t972 = select i1 %t971, i32 8, i32 %t970 %t973 = getelementptr ptr, ptr null, i32 1 %t974 = ptrtoint ptr %t973 to i64 %t975 = zext i32 %t972 to i64 %t976 = mul i64 %t975, %t974 %t977 = load ptr, ptr %t966 %t978 = call ptr @realloc(ptr %t977, i64 %t976) store ptr %t978, ptr %t966 store i32 %t972, ptr %t965 br label %put274 put274: %t979 = load ptr, ptr %t966 %t980 = getelementptr inbounds ptr, ptr %t979, i32 %t967 store ptr @.str6533, ptr %t980 %t981 = add i32 %t967, 1 store i32 %t981, ptr %t964 %t982 = load ptr, ptr %t387 %t983 = getelementptr inbounds %LSlice, ptr %t982, i32 0, i32 1 %t984 = getelementptr inbounds %LSlice, ptr %t982, i32 0, i32 2 %t985 = getelementptr inbounds %LSlice, ptr %t982, i32 0, i32 0 %t986 = load i32, ptr %t983 %t987 = load i32, ptr %t984 %t988 = icmp sge i32 %t986, %t987 br i1 %t988, label %grow275, label %put276 grow275: %t989 = mul i32 %t987, 2 %t990 = icmp eq i32 %t987, 0 %t991 = select i1 %t990, i32 8, i32 %t989 %t992 = getelementptr ptr, ptr null, i32 1 %t993 = ptrtoint ptr %t992 to i64 %t994 = zext i32 %t991 to i64 %t995 = mul i64 %t994, %t993 %t996 = load ptr, ptr %t985 %t997 = call ptr @realloc(ptr %t996, i64 %t995) store ptr %t997, ptr %t985 store i32 %t991, ptr %t984 br label %put276 put276: %t998 = load ptr, ptr %t985 %t999 = getelementptr inbounds ptr, ptr %t998, i32 %t986 store ptr @.str6534, ptr %t999 %t1000 = add i32 %t986, 1 store i32 %t1000, ptr %t983 %t1001 = load ptr, ptr %t387 %t1002 = getelementptr inbounds %LSlice, ptr %t1001, i32 0, i32 1 %t1003 = getelementptr inbounds %LSlice, ptr %t1001, i32 0, i32 2 %t1004 = getelementptr inbounds %LSlice, ptr %t1001, i32 0, i32 0 %t1005 = load i32, ptr %t1002 %t1006 = load i32, ptr %t1003 %t1007 = icmp sge i32 %t1005, %t1006 br i1 %t1007, label %grow277, label %put278 grow277: %t1008 = mul i32 %t1006, 2 %t1009 = icmp eq i32 %t1006, 0 %t1010 = select i1 %t1009, i32 8, i32 %t1008 %t1011 = getelementptr ptr, ptr null, i32 1 %t1012 = ptrtoint ptr %t1011 to i64 %t1013 = zext i32 %t1010 to i64 %t1014 = mul i64 %t1013, %t1012 %t1015 = load ptr, ptr %t1004 %t1016 = call ptr @realloc(ptr %t1015, i64 %t1014) store ptr %t1016, ptr %t1004 store i32 %t1010, ptr %t1003 br label %put278 put278: %t1017 = load ptr, ptr %t1004 %t1018 = getelementptr inbounds ptr, ptr %t1017, i32 %t1005 store ptr @.str6535, ptr %t1018 %t1019 = add i32 %t1005, 1 store i32 %t1019, ptr %t1002 br label %ifend268 ifend268: %t1020 = load ptr, ptr %t1 %t1021 = call i32 @lp_str_eq(ptr %t1020, ptr @.str6536) %t1022 = icmp ne i32 %t1021, 0 br i1 %t1022, label %then279, label %ifend281 then279: store ptr @.str6537, ptr %t380 br label %ifend281 ifend281: %t1023 = load ptr, ptr %t1 %t1024 = call i32 @lp_str_eq(ptr %t1023, ptr @.str6538) %t1025 = icmp ne i32 %t1024, 0 br i1 %t1025, label %then282, label %ifend284 then282: store ptr @.str6539, ptr %t380 br label %ifend284 ifend284: %t1026 = load ptr, ptr %t1 %t1027 = call i32 @lp_str_eq(ptr %t1026, ptr @.str6540) %t1028 = icmp ne i32 %t1027, 0 br i1 %t1028, label %then285, label %ifend287 then285: store ptr @.str6541, ptr %t380 br label %ifend287 ifend287: %t1029 = load ptr, ptr %t1 %t1030 = call i32 @lp_str_eq(ptr %t1029, ptr @.str6542) %t1031 = icmp ne i32 %t1030, 0 br i1 %t1031, label %then288, label %ifend290 then288: store ptr @.str6543, ptr %t380 %t1032 = load ptr, ptr %t387 %t1033 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 1 %t1034 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 2 %t1035 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 0 %t1036 = load i32, ptr %t1033 %t1037 = load i32, ptr %t1034 %t1038 = icmp sge i32 %t1036, %t1037 br i1 %t1038, label %grow291, label %put292 grow291: %t1039 = mul i32 %t1037, 2 %t1040 = icmp eq i32 %t1037, 0 %t1041 = select i1 %t1040, i32 8, i32 %t1039 %t1042 = getelementptr ptr, ptr null, i32 1 %t1043 = ptrtoint ptr %t1042 to i64 %t1044 = zext i32 %t1041 to i64 %t1045 = mul i64 %t1044, %t1043 %t1046 = load ptr, ptr %t1035 %t1047 = call ptr @realloc(ptr %t1046, i64 %t1045) store ptr %t1047, ptr %t1035 store i32 %t1041, ptr %t1034 br label %put292 put292: %t1048 = load ptr, ptr %t1035 %t1049 = getelementptr inbounds ptr, ptr %t1048, i32 %t1036 store ptr @.str6544, ptr %t1049 %t1050 = add i32 %t1036, 1 store i32 %t1050, ptr %t1033 br label %ifend290 ifend290: %t1051 = load ptr, ptr %t1 %t1052 = call i32 @lp_str_eq(ptr %t1051, ptr @.str6545) %t1053 = icmp ne i32 %t1052, 0 br i1 %t1053, label %then293, label %ifend295 then293: store ptr @.str6546, ptr %t380 %t1054 = load ptr, ptr %t387 %t1055 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 1 %t1056 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 2 %t1057 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 0 %t1058 = load i32, ptr %t1055 %t1059 = load i32, ptr %t1056 %t1060 = icmp sge i32 %t1058, %t1059 br i1 %t1060, label %grow296, label %put297 grow296: %t1061 = mul i32 %t1059, 2 %t1062 = icmp eq i32 %t1059, 0 %t1063 = select i1 %t1062, i32 8, i32 %t1061 %t1064 = getelementptr ptr, ptr null, i32 1 %t1065 = ptrtoint ptr %t1064 to i64 %t1066 = zext i32 %t1063 to i64 %t1067 = mul i64 %t1066, %t1065 %t1068 = load ptr, ptr %t1057 %t1069 = call ptr @realloc(ptr %t1068, i64 %t1067) store ptr %t1069, ptr %t1057 store i32 %t1063, ptr %t1056 br label %put297 put297: %t1070 = load ptr, ptr %t1057 %t1071 = getelementptr inbounds ptr, ptr %t1070, i32 %t1058 store ptr @.str6547, ptr %t1071 %t1072 = add i32 %t1058, 1 store i32 %t1072, ptr %t1055 %t1073 = load ptr, ptr %t387 %t1074 = getelementptr inbounds %LSlice, ptr %t1073, i32 0, i32 1 %t1075 = getelementptr inbounds %LSlice, ptr %t1073, i32 0, i32 2 %t1076 = getelementptr inbounds %LSlice, ptr %t1073, i32 0, i32 0 %t1077 = load i32, ptr %t1074 %t1078 = load i32, ptr %t1075 %t1079 = icmp sge i32 %t1077, %t1078 br i1 %t1079, label %grow298, label %put299 grow298: %t1080 = mul i32 %t1078, 2 %t1081 = icmp eq i32 %t1078, 0 %t1082 = select i1 %t1081, i32 8, i32 %t1080 %t1083 = getelementptr ptr, ptr null, i32 1 %t1084 = ptrtoint ptr %t1083 to i64 %t1085 = zext i32 %t1082 to i64 %t1086 = mul i64 %t1085, %t1084 %t1087 = load ptr, ptr %t1076 %t1088 = call ptr @realloc(ptr %t1087, i64 %t1086) store ptr %t1088, ptr %t1076 store i32 %t1082, ptr %t1075 br label %put299 put299: %t1089 = load ptr, ptr %t1076 %t1090 = getelementptr inbounds ptr, ptr %t1089, i32 %t1077 store ptr @.str6548, ptr %t1090 %t1091 = add i32 %t1077, 1 store i32 %t1091, ptr %t1074 %t1092 = load ptr, ptr %t387 %t1093 = getelementptr inbounds %LSlice, ptr %t1092, i32 0, i32 1 %t1094 = getelementptr inbounds %LSlice, ptr %t1092, i32 0, i32 2 %t1095 = getelementptr inbounds %LSlice, ptr %t1092, i32 0, i32 0 %t1096 = load i32, ptr %t1093 %t1097 = load i32, ptr %t1094 %t1098 = icmp sge i32 %t1096, %t1097 br i1 %t1098, label %grow300, label %put301 grow300: %t1099 = mul i32 %t1097, 2 %t1100 = icmp eq i32 %t1097, 0 %t1101 = select i1 %t1100, i32 8, i32 %t1099 %t1102 = getelementptr ptr, ptr null, i32 1 %t1103 = ptrtoint ptr %t1102 to i64 %t1104 = zext i32 %t1101 to i64 %t1105 = mul i64 %t1104, %t1103 %t1106 = load ptr, ptr %t1095 %t1107 = call ptr @realloc(ptr %t1106, i64 %t1105) store ptr %t1107, ptr %t1095 store i32 %t1101, ptr %t1094 br label %put301 put301: %t1108 = load ptr, ptr %t1095 %t1109 = getelementptr inbounds ptr, ptr %t1108, i32 %t1096 store ptr @.str6549, ptr %t1109 %t1110 = add i32 %t1096, 1 store i32 %t1110, ptr %t1093 %t1111 = load ptr, ptr %t387 %t1112 = getelementptr inbounds %LSlice, ptr %t1111, i32 0, i32 1 %t1113 = getelementptr inbounds %LSlice, ptr %t1111, i32 0, i32 2 %t1114 = getelementptr inbounds %LSlice, ptr %t1111, i32 0, i32 0 %t1115 = load i32, ptr %t1112 %t1116 = load i32, ptr %t1113 %t1117 = icmp sge i32 %t1115, %t1116 br i1 %t1117, label %grow302, label %put303 grow302: %t1118 = mul i32 %t1116, 2 %t1119 = icmp eq i32 %t1116, 0 %t1120 = select i1 %t1119, i32 8, i32 %t1118 %t1121 = getelementptr ptr, ptr null, i32 1 %t1122 = ptrtoint ptr %t1121 to i64 %t1123 = zext i32 %t1120 to i64 %t1124 = mul i64 %t1123, %t1122 %t1125 = load ptr, ptr %t1114 %t1126 = call ptr @realloc(ptr %t1125, i64 %t1124) store ptr %t1126, ptr %t1114 store i32 %t1120, ptr %t1113 br label %put303 put303: %t1127 = load ptr, ptr %t1114 %t1128 = getelementptr inbounds ptr, ptr %t1127, i32 %t1115 store ptr @.str6550, ptr %t1128 %t1129 = add i32 %t1115, 1 store i32 %t1129, ptr %t1112 %t1130 = load ptr, ptr %t387 %t1131 = getelementptr inbounds %LSlice, ptr %t1130, i32 0, i32 1 %t1132 = getelementptr inbounds %LSlice, ptr %t1130, i32 0, i32 2 %t1133 = getelementptr inbounds %LSlice, ptr %t1130, i32 0, i32 0 %t1134 = load i32, ptr %t1131 %t1135 = load i32, ptr %t1132 %t1136 = icmp sge i32 %t1134, %t1135 br i1 %t1136, label %grow304, label %put305 grow304: %t1137 = mul i32 %t1135, 2 %t1138 = icmp eq i32 %t1135, 0 %t1139 = select i1 %t1138, i32 8, i32 %t1137 %t1140 = getelementptr ptr, ptr null, i32 1 %t1141 = ptrtoint ptr %t1140 to i64 %t1142 = zext i32 %t1139 to i64 %t1143 = mul i64 %t1142, %t1141 %t1144 = load ptr, ptr %t1133 %t1145 = call ptr @realloc(ptr %t1144, i64 %t1143) store ptr %t1145, ptr %t1133 store i32 %t1139, ptr %t1132 br label %put305 put305: %t1146 = load ptr, ptr %t1133 %t1147 = getelementptr inbounds ptr, ptr %t1146, i32 %t1134 store ptr @.str6551, ptr %t1147 %t1148 = add i32 %t1134, 1 store i32 %t1148, ptr %t1131 br label %ifend295 ifend295: %t1149 = load ptr, ptr %t1 %t1150 = call i32 @lp_str_eq(ptr %t1149, ptr @.str6552) %t1151 = icmp ne i32 %t1150, 0 br i1 %t1151, label %then306, label %ifend308 then306: store ptr @.str6553, ptr %t380 %t1152 = load ptr, ptr %t387 %t1153 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 1 %t1154 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 2 %t1155 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 0 %t1156 = load i32, ptr %t1153 %t1157 = load i32, ptr %t1154 %t1158 = icmp sge i32 %t1156, %t1157 br i1 %t1158, label %grow309, label %put310 grow309: %t1159 = mul i32 %t1157, 2 %t1160 = icmp eq i32 %t1157, 0 %t1161 = select i1 %t1160, i32 8, i32 %t1159 %t1162 = getelementptr ptr, ptr null, i32 1 %t1163 = ptrtoint ptr %t1162 to i64 %t1164 = zext i32 %t1161 to i64 %t1165 = mul i64 %t1164, %t1163 %t1166 = load ptr, ptr %t1155 %t1167 = call ptr @realloc(ptr %t1166, i64 %t1165) store ptr %t1167, ptr %t1155 store i32 %t1161, ptr %t1154 br label %put310 put310: %t1168 = load ptr, ptr %t1155 %t1169 = getelementptr inbounds ptr, ptr %t1168, i32 %t1156 store ptr @.str6554, ptr %t1169 %t1170 = add i32 %t1156, 1 store i32 %t1170, ptr %t1153 %t1171 = load ptr, ptr %t387 %t1172 = getelementptr inbounds %LSlice, ptr %t1171, i32 0, i32 1 %t1173 = getelementptr inbounds %LSlice, ptr %t1171, i32 0, i32 2 %t1174 = getelementptr inbounds %LSlice, ptr %t1171, i32 0, i32 0 %t1175 = load i32, ptr %t1172 %t1176 = load i32, ptr %t1173 %t1177 = icmp sge i32 %t1175, %t1176 br i1 %t1177, label %grow311, label %put312 grow311: %t1178 = mul i32 %t1176, 2 %t1179 = icmp eq i32 %t1176, 0 %t1180 = select i1 %t1179, i32 8, i32 %t1178 %t1181 = getelementptr ptr, ptr null, i32 1 %t1182 = ptrtoint ptr %t1181 to i64 %t1183 = zext i32 %t1180 to i64 %t1184 = mul i64 %t1183, %t1182 %t1185 = load ptr, ptr %t1174 %t1186 = call ptr @realloc(ptr %t1185, i64 %t1184) store ptr %t1186, ptr %t1174 store i32 %t1180, ptr %t1173 br label %put312 put312: %t1187 = load ptr, ptr %t1174 %t1188 = getelementptr inbounds ptr, ptr %t1187, i32 %t1175 store ptr @.str6555, ptr %t1188 %t1189 = add i32 %t1175, 1 store i32 %t1189, ptr %t1172 %t1190 = load ptr, ptr %t387 %t1191 = getelementptr inbounds %LSlice, ptr %t1190, i32 0, i32 1 %t1192 = getelementptr inbounds %LSlice, ptr %t1190, i32 0, i32 2 %t1193 = getelementptr inbounds %LSlice, ptr %t1190, i32 0, i32 0 %t1194 = load i32, ptr %t1191 %t1195 = load i32, ptr %t1192 %t1196 = icmp sge i32 %t1194, %t1195 br i1 %t1196, label %grow313, label %put314 grow313: %t1197 = mul i32 %t1195, 2 %t1198 = icmp eq i32 %t1195, 0 %t1199 = select i1 %t1198, i32 8, i32 %t1197 %t1200 = getelementptr ptr, ptr null, i32 1 %t1201 = ptrtoint ptr %t1200 to i64 %t1202 = zext i32 %t1199 to i64 %t1203 = mul i64 %t1202, %t1201 %t1204 = load ptr, ptr %t1193 %t1205 = call ptr @realloc(ptr %t1204, i64 %t1203) store ptr %t1205, ptr %t1193 store i32 %t1199, ptr %t1192 br label %put314 put314: %t1206 = load ptr, ptr %t1193 %t1207 = getelementptr inbounds ptr, ptr %t1206, i32 %t1194 store ptr @.str6556, ptr %t1207 %t1208 = add i32 %t1194, 1 store i32 %t1208, ptr %t1191 %t1209 = load ptr, ptr %t387 %t1210 = getelementptr inbounds %LSlice, ptr %t1209, i32 0, i32 1 %t1211 = getelementptr inbounds %LSlice, ptr %t1209, i32 0, i32 2 %t1212 = getelementptr inbounds %LSlice, ptr %t1209, i32 0, i32 0 %t1213 = load i32, ptr %t1210 %t1214 = load i32, ptr %t1211 %t1215 = icmp sge i32 %t1213, %t1214 br i1 %t1215, label %grow315, label %put316 grow315: %t1216 = mul i32 %t1214, 2 %t1217 = icmp eq i32 %t1214, 0 %t1218 = select i1 %t1217, i32 8, i32 %t1216 %t1219 = getelementptr ptr, ptr null, i32 1 %t1220 = ptrtoint ptr %t1219 to i64 %t1221 = zext i32 %t1218 to i64 %t1222 = mul i64 %t1221, %t1220 %t1223 = load ptr, ptr %t1212 %t1224 = call ptr @realloc(ptr %t1223, i64 %t1222) store ptr %t1224, ptr %t1212 store i32 %t1218, ptr %t1211 br label %put316 put316: %t1225 = load ptr, ptr %t1212 %t1226 = getelementptr inbounds ptr, ptr %t1225, i32 %t1213 store ptr @.str6557, ptr %t1226 %t1227 = add i32 %t1213, 1 store i32 %t1227, ptr %t1210 br label %ifend308 ifend308: %t1228 = load ptr, ptr %t1 %t1229 = call i32 @lp_str_eq(ptr %t1228, ptr @.str6558) %t1230 = icmp ne i32 %t1229, 0 br i1 %t1230, label %then317, label %ifend319 then317: store ptr @.str6559, ptr %t380 %t1231 = load ptr, ptr %t387 %t1232 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 1 %t1233 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 2 %t1234 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 0 %t1235 = load i32, ptr %t1232 %t1236 = load i32, ptr %t1233 %t1237 = icmp sge i32 %t1235, %t1236 br i1 %t1237, label %grow320, label %put321 grow320: %t1238 = mul i32 %t1236, 2 %t1239 = icmp eq i32 %t1236, 0 %t1240 = select i1 %t1239, i32 8, i32 %t1238 %t1241 = getelementptr ptr, ptr null, i32 1 %t1242 = ptrtoint ptr %t1241 to i64 %t1243 = zext i32 %t1240 to i64 %t1244 = mul i64 %t1243, %t1242 %t1245 = load ptr, ptr %t1234 %t1246 = call ptr @realloc(ptr %t1245, i64 %t1244) store ptr %t1246, ptr %t1234 store i32 %t1240, ptr %t1233 br label %put321 put321: %t1247 = load ptr, ptr %t1234 %t1248 = getelementptr inbounds ptr, ptr %t1247, i32 %t1235 store ptr @.str6560, ptr %t1248 %t1249 = add i32 %t1235, 1 store i32 %t1249, ptr %t1232 %t1250 = load ptr, ptr %t387 %t1251 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 1 %t1252 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 2 %t1253 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 0 %t1254 = load i32, ptr %t1251 %t1255 = load i32, ptr %t1252 %t1256 = icmp sge i32 %t1254, %t1255 br i1 %t1256, label %grow322, label %put323 grow322: %t1257 = mul i32 %t1255, 2 %t1258 = icmp eq i32 %t1255, 0 %t1259 = select i1 %t1258, i32 8, i32 %t1257 %t1260 = getelementptr ptr, ptr null, i32 1 %t1261 = ptrtoint ptr %t1260 to i64 %t1262 = zext i32 %t1259 to i64 %t1263 = mul i64 %t1262, %t1261 %t1264 = load ptr, ptr %t1253 %t1265 = call ptr @realloc(ptr %t1264, i64 %t1263) store ptr %t1265, ptr %t1253 store i32 %t1259, ptr %t1252 br label %put323 put323: %t1266 = load ptr, ptr %t1253 %t1267 = getelementptr inbounds ptr, ptr %t1266, i32 %t1254 store ptr @.str6561, ptr %t1267 %t1268 = add i32 %t1254, 1 store i32 %t1268, ptr %t1251 %t1269 = load ptr, ptr %t387 %t1270 = getelementptr inbounds %LSlice, ptr %t1269, i32 0, i32 1 %t1271 = getelementptr inbounds %LSlice, ptr %t1269, i32 0, i32 2 %t1272 = getelementptr inbounds %LSlice, ptr %t1269, i32 0, i32 0 %t1273 = load i32, ptr %t1270 %t1274 = load i32, ptr %t1271 %t1275 = icmp sge i32 %t1273, %t1274 br i1 %t1275, label %grow324, label %put325 grow324: %t1276 = mul i32 %t1274, 2 %t1277 = icmp eq i32 %t1274, 0 %t1278 = select i1 %t1277, i32 8, i32 %t1276 %t1279 = getelementptr ptr, ptr null, i32 1 %t1280 = ptrtoint ptr %t1279 to i64 %t1281 = zext i32 %t1278 to i64 %t1282 = mul i64 %t1281, %t1280 %t1283 = load ptr, ptr %t1272 %t1284 = call ptr @realloc(ptr %t1283, i64 %t1282) store ptr %t1284, ptr %t1272 store i32 %t1278, ptr %t1271 br label %put325 put325: %t1285 = load ptr, ptr %t1272 %t1286 = getelementptr inbounds ptr, ptr %t1285, i32 %t1273 store ptr @.str6562, ptr %t1286 %t1287 = add i32 %t1273, 1 store i32 %t1287, ptr %t1270 %t1288 = load ptr, ptr %t387 %t1289 = getelementptr inbounds %LSlice, ptr %t1288, i32 0, i32 1 %t1290 = getelementptr inbounds %LSlice, ptr %t1288, i32 0, i32 2 %t1291 = getelementptr inbounds %LSlice, ptr %t1288, i32 0, i32 0 %t1292 = load i32, ptr %t1289 %t1293 = load i32, ptr %t1290 %t1294 = icmp sge i32 %t1292, %t1293 br i1 %t1294, label %grow326, label %put327 grow326: %t1295 = mul i32 %t1293, 2 %t1296 = icmp eq i32 %t1293, 0 %t1297 = select i1 %t1296, i32 8, i32 %t1295 %t1298 = getelementptr ptr, ptr null, i32 1 %t1299 = ptrtoint ptr %t1298 to i64 %t1300 = zext i32 %t1297 to i64 %t1301 = mul i64 %t1300, %t1299 %t1302 = load ptr, ptr %t1291 %t1303 = call ptr @realloc(ptr %t1302, i64 %t1301) store ptr %t1303, ptr %t1291 store i32 %t1297, ptr %t1290 br label %put327 put327: %t1304 = load ptr, ptr %t1291 %t1305 = getelementptr inbounds ptr, ptr %t1304, i32 %t1292 store ptr @.str6563, ptr %t1305 %t1306 = add i32 %t1292, 1 store i32 %t1306, ptr %t1289 br label %ifend319 ifend319: %t1307 = load ptr, ptr %t1 %t1308 = call i32 @lp_str_eq(ptr %t1307, ptr @.str6564) %t1309 = icmp ne i32 %t1308, 0 br i1 %t1309, label %then328, label %ifend330 then328: store ptr @.str6565, ptr %t380 %t1310 = load ptr, ptr %t387 %t1311 = getelementptr inbounds %LSlice, ptr %t1310, i32 0, i32 1 %t1312 = getelementptr inbounds %LSlice, ptr %t1310, i32 0, i32 2 %t1313 = getelementptr inbounds %LSlice, ptr %t1310, i32 0, i32 0 %t1314 = load i32, ptr %t1311 %t1315 = load i32, ptr %t1312 %t1316 = icmp sge i32 %t1314, %t1315 br i1 %t1316, label %grow331, label %put332 grow331: %t1317 = mul i32 %t1315, 2 %t1318 = icmp eq i32 %t1315, 0 %t1319 = select i1 %t1318, i32 8, i32 %t1317 %t1320 = getelementptr ptr, ptr null, i32 1 %t1321 = ptrtoint ptr %t1320 to i64 %t1322 = zext i32 %t1319 to i64 %t1323 = mul i64 %t1322, %t1321 %t1324 = load ptr, ptr %t1313 %t1325 = call ptr @realloc(ptr %t1324, i64 %t1323) store ptr %t1325, ptr %t1313 store i32 %t1319, ptr %t1312 br label %put332 put332: %t1326 = load ptr, ptr %t1313 %t1327 = getelementptr inbounds ptr, ptr %t1326, i32 %t1314 store ptr @.str6566, ptr %t1327 %t1328 = add i32 %t1314, 1 store i32 %t1328, ptr %t1311 %t1329 = load ptr, ptr %t387 %t1330 = getelementptr inbounds %LSlice, ptr %t1329, i32 0, i32 1 %t1331 = getelementptr inbounds %LSlice, ptr %t1329, i32 0, i32 2 %t1332 = getelementptr inbounds %LSlice, ptr %t1329, i32 0, i32 0 %t1333 = load i32, ptr %t1330 %t1334 = load i32, ptr %t1331 %t1335 = icmp sge i32 %t1333, %t1334 br i1 %t1335, label %grow333, label %put334 grow333: %t1336 = mul i32 %t1334, 2 %t1337 = icmp eq i32 %t1334, 0 %t1338 = select i1 %t1337, i32 8, i32 %t1336 %t1339 = getelementptr ptr, ptr null, i32 1 %t1340 = ptrtoint ptr %t1339 to i64 %t1341 = zext i32 %t1338 to i64 %t1342 = mul i64 %t1341, %t1340 %t1343 = load ptr, ptr %t1332 %t1344 = call ptr @realloc(ptr %t1343, i64 %t1342) store ptr %t1344, ptr %t1332 store i32 %t1338, ptr %t1331 br label %put334 put334: %t1345 = load ptr, ptr %t1332 %t1346 = getelementptr inbounds ptr, ptr %t1345, i32 %t1333 store ptr @.str6567, ptr %t1346 %t1347 = add i32 %t1333, 1 store i32 %t1347, ptr %t1330 %t1348 = load ptr, ptr %t387 %t1349 = getelementptr inbounds %LSlice, ptr %t1348, i32 0, i32 1 %t1350 = getelementptr inbounds %LSlice, ptr %t1348, i32 0, i32 2 %t1351 = getelementptr inbounds %LSlice, ptr %t1348, i32 0, i32 0 %t1352 = load i32, ptr %t1349 %t1353 = load i32, ptr %t1350 %t1354 = icmp sge i32 %t1352, %t1353 br i1 %t1354, label %grow335, label %put336 grow335: %t1355 = mul i32 %t1353, 2 %t1356 = icmp eq i32 %t1353, 0 %t1357 = select i1 %t1356, i32 8, i32 %t1355 %t1358 = getelementptr ptr, ptr null, i32 1 %t1359 = ptrtoint ptr %t1358 to i64 %t1360 = zext i32 %t1357 to i64 %t1361 = mul i64 %t1360, %t1359 %t1362 = load ptr, ptr %t1351 %t1363 = call ptr @realloc(ptr %t1362, i64 %t1361) store ptr %t1363, ptr %t1351 store i32 %t1357, ptr %t1350 br label %put336 put336: %t1364 = load ptr, ptr %t1351 %t1365 = getelementptr inbounds ptr, ptr %t1364, i32 %t1352 store ptr @.str6568, ptr %t1365 %t1366 = add i32 %t1352, 1 store i32 %t1366, ptr %t1349 %t1367 = load ptr, ptr %t387 %t1368 = getelementptr inbounds %LSlice, ptr %t1367, i32 0, i32 1 %t1369 = getelementptr inbounds %LSlice, ptr %t1367, i32 0, i32 2 %t1370 = getelementptr inbounds %LSlice, ptr %t1367, i32 0, i32 0 %t1371 = load i32, ptr %t1368 %t1372 = load i32, ptr %t1369 %t1373 = icmp sge i32 %t1371, %t1372 br i1 %t1373, label %grow337, label %put338 grow337: %t1374 = mul i32 %t1372, 2 %t1375 = icmp eq i32 %t1372, 0 %t1376 = select i1 %t1375, i32 8, i32 %t1374 %t1377 = getelementptr ptr, ptr null, i32 1 %t1378 = ptrtoint ptr %t1377 to i64 %t1379 = zext i32 %t1376 to i64 %t1380 = mul i64 %t1379, %t1378 %t1381 = load ptr, ptr %t1370 %t1382 = call ptr @realloc(ptr %t1381, i64 %t1380) store ptr %t1382, ptr %t1370 store i32 %t1376, ptr %t1369 br label %put338 put338: %t1383 = load ptr, ptr %t1370 %t1384 = getelementptr inbounds ptr, ptr %t1383, i32 %t1371 store ptr @.str6569, ptr %t1384 %t1385 = add i32 %t1371, 1 store i32 %t1385, ptr %t1368 %t1386 = load ptr, ptr %t387 %t1387 = getelementptr inbounds %LSlice, ptr %t1386, i32 0, i32 1 %t1388 = getelementptr inbounds %LSlice, ptr %t1386, i32 0, i32 2 %t1389 = getelementptr inbounds %LSlice, ptr %t1386, i32 0, i32 0 %t1390 = load i32, ptr %t1387 %t1391 = load i32, ptr %t1388 %t1392 = icmp sge i32 %t1390, %t1391 br i1 %t1392, label %grow339, label %put340 grow339: %t1393 = mul i32 %t1391, 2 %t1394 = icmp eq i32 %t1391, 0 %t1395 = select i1 %t1394, i32 8, i32 %t1393 %t1396 = getelementptr ptr, ptr null, i32 1 %t1397 = ptrtoint ptr %t1396 to i64 %t1398 = zext i32 %t1395 to i64 %t1399 = mul i64 %t1398, %t1397 %t1400 = load ptr, ptr %t1389 %t1401 = call ptr @realloc(ptr %t1400, i64 %t1399) store ptr %t1401, ptr %t1389 store i32 %t1395, ptr %t1388 br label %put340 put340: %t1402 = load ptr, ptr %t1389 %t1403 = getelementptr inbounds ptr, ptr %t1402, i32 %t1390 store ptr @.str6570, ptr %t1403 %t1404 = add i32 %t1390, 1 store i32 %t1404, ptr %t1387 %t1405 = load ptr, ptr %t387 %t1406 = getelementptr inbounds %LSlice, ptr %t1405, i32 0, i32 1 %t1407 = getelementptr inbounds %LSlice, ptr %t1405, i32 0, i32 2 %t1408 = getelementptr inbounds %LSlice, ptr %t1405, i32 0, i32 0 %t1409 = load i32, ptr %t1406 %t1410 = load i32, ptr %t1407 %t1411 = icmp sge i32 %t1409, %t1410 br i1 %t1411, label %grow341, label %put342 grow341: %t1412 = mul i32 %t1410, 2 %t1413 = icmp eq i32 %t1410, 0 %t1414 = select i1 %t1413, i32 8, i32 %t1412 %t1415 = getelementptr ptr, ptr null, i32 1 %t1416 = ptrtoint ptr %t1415 to i64 %t1417 = zext i32 %t1414 to i64 %t1418 = mul i64 %t1417, %t1416 %t1419 = load ptr, ptr %t1408 %t1420 = call ptr @realloc(ptr %t1419, i64 %t1418) store ptr %t1420, ptr %t1408 store i32 %t1414, ptr %t1407 br label %put342 put342: %t1421 = load ptr, ptr %t1408 %t1422 = getelementptr inbounds ptr, ptr %t1421, i32 %t1409 store ptr @.str6571, ptr %t1422 %t1423 = add i32 %t1409, 1 store i32 %t1423, ptr %t1406 %t1424 = load ptr, ptr %t387 %t1425 = getelementptr inbounds %LSlice, ptr %t1424, i32 0, i32 1 %t1426 = getelementptr inbounds %LSlice, ptr %t1424, i32 0, i32 2 %t1427 = getelementptr inbounds %LSlice, ptr %t1424, i32 0, i32 0 %t1428 = load i32, ptr %t1425 %t1429 = load i32, ptr %t1426 %t1430 = icmp sge i32 %t1428, %t1429 br i1 %t1430, label %grow343, label %put344 grow343: %t1431 = mul i32 %t1429, 2 %t1432 = icmp eq i32 %t1429, 0 %t1433 = select i1 %t1432, i32 8, i32 %t1431 %t1434 = getelementptr ptr, ptr null, i32 1 %t1435 = ptrtoint ptr %t1434 to i64 %t1436 = zext i32 %t1433 to i64 %t1437 = mul i64 %t1436, %t1435 %t1438 = load ptr, ptr %t1427 %t1439 = call ptr @realloc(ptr %t1438, i64 %t1437) store ptr %t1439, ptr %t1427 store i32 %t1433, ptr %t1426 br label %put344 put344: %t1440 = load ptr, ptr %t1427 %t1441 = getelementptr inbounds ptr, ptr %t1440, i32 %t1428 store ptr @.str6572, ptr %t1441 %t1442 = add i32 %t1428, 1 store i32 %t1442, ptr %t1425 br label %ifend330 ifend330: %t1443 = load ptr, ptr %t1 %t1444 = call i32 @lp_str_eq(ptr %t1443, ptr @.str6573) %t1445 = icmp ne i32 %t1444, 0 br i1 %t1445, label %then345, label %ifend347 then345: store ptr @.str6574, ptr %t380 %t1446 = load ptr, ptr %t387 %t1447 = getelementptr inbounds %LSlice, ptr %t1446, i32 0, i32 1 %t1448 = getelementptr inbounds %LSlice, ptr %t1446, i32 0, i32 2 %t1449 = getelementptr inbounds %LSlice, ptr %t1446, i32 0, i32 0 %t1450 = load i32, ptr %t1447 %t1451 = load i32, ptr %t1448 %t1452 = icmp sge i32 %t1450, %t1451 br i1 %t1452, label %grow348, label %put349 grow348: %t1453 = mul i32 %t1451, 2 %t1454 = icmp eq i32 %t1451, 0 %t1455 = select i1 %t1454, i32 8, i32 %t1453 %t1456 = getelementptr ptr, ptr null, i32 1 %t1457 = ptrtoint ptr %t1456 to i64 %t1458 = zext i32 %t1455 to i64 %t1459 = mul i64 %t1458, %t1457 %t1460 = load ptr, ptr %t1449 %t1461 = call ptr @realloc(ptr %t1460, i64 %t1459) store ptr %t1461, ptr %t1449 store i32 %t1455, ptr %t1448 br label %put349 put349: %t1462 = load ptr, ptr %t1449 %t1463 = getelementptr inbounds ptr, ptr %t1462, i32 %t1450 store ptr @.str6575, ptr %t1463 %t1464 = add i32 %t1450, 1 store i32 %t1464, ptr %t1447 %t1465 = load ptr, ptr %t387 %t1466 = getelementptr inbounds %LSlice, ptr %t1465, i32 0, i32 1 %t1467 = getelementptr inbounds %LSlice, ptr %t1465, i32 0, i32 2 %t1468 = getelementptr inbounds %LSlice, ptr %t1465, i32 0, i32 0 %t1469 = load i32, ptr %t1466 %t1470 = load i32, ptr %t1467 %t1471 = icmp sge i32 %t1469, %t1470 br i1 %t1471, label %grow350, label %put351 grow350: %t1472 = mul i32 %t1470, 2 %t1473 = icmp eq i32 %t1470, 0 %t1474 = select i1 %t1473, i32 8, i32 %t1472 %t1475 = getelementptr ptr, ptr null, i32 1 %t1476 = ptrtoint ptr %t1475 to i64 %t1477 = zext i32 %t1474 to i64 %t1478 = mul i64 %t1477, %t1476 %t1479 = load ptr, ptr %t1468 %t1480 = call ptr @realloc(ptr %t1479, i64 %t1478) store ptr %t1480, ptr %t1468 store i32 %t1474, ptr %t1467 br label %put351 put351: %t1481 = load ptr, ptr %t1468 %t1482 = getelementptr inbounds ptr, ptr %t1481, i32 %t1469 store ptr @.str6576, ptr %t1482 %t1483 = add i32 %t1469, 1 store i32 %t1483, ptr %t1466 %t1484 = load ptr, ptr %t387 %t1485 = getelementptr inbounds %LSlice, ptr %t1484, i32 0, i32 1 %t1486 = getelementptr inbounds %LSlice, ptr %t1484, i32 0, i32 2 %t1487 = getelementptr inbounds %LSlice, ptr %t1484, i32 0, i32 0 %t1488 = load i32, ptr %t1485 %t1489 = load i32, ptr %t1486 %t1490 = icmp sge i32 %t1488, %t1489 br i1 %t1490, label %grow352, label %put353 grow352: %t1491 = mul i32 %t1489, 2 %t1492 = icmp eq i32 %t1489, 0 %t1493 = select i1 %t1492, i32 8, i32 %t1491 %t1494 = getelementptr ptr, ptr null, i32 1 %t1495 = ptrtoint ptr %t1494 to i64 %t1496 = zext i32 %t1493 to i64 %t1497 = mul i64 %t1496, %t1495 %t1498 = load ptr, ptr %t1487 %t1499 = call ptr @realloc(ptr %t1498, i64 %t1497) store ptr %t1499, ptr %t1487 store i32 %t1493, ptr %t1486 br label %put353 put353: %t1500 = load ptr, ptr %t1487 %t1501 = getelementptr inbounds ptr, ptr %t1500, i32 %t1488 store ptr @.str6577, ptr %t1501 %t1502 = add i32 %t1488, 1 store i32 %t1502, ptr %t1485 %t1503 = load ptr, ptr %t387 %t1504 = getelementptr inbounds %LSlice, ptr %t1503, i32 0, i32 1 %t1505 = getelementptr inbounds %LSlice, ptr %t1503, i32 0, i32 2 %t1506 = getelementptr inbounds %LSlice, ptr %t1503, i32 0, i32 0 %t1507 = load i32, ptr %t1504 %t1508 = load i32, ptr %t1505 %t1509 = icmp sge i32 %t1507, %t1508 br i1 %t1509, label %grow354, label %put355 grow354: %t1510 = mul i32 %t1508, 2 %t1511 = icmp eq i32 %t1508, 0 %t1512 = select i1 %t1511, i32 8, i32 %t1510 %t1513 = getelementptr ptr, ptr null, i32 1 %t1514 = ptrtoint ptr %t1513 to i64 %t1515 = zext i32 %t1512 to i64 %t1516 = mul i64 %t1515, %t1514 %t1517 = load ptr, ptr %t1506 %t1518 = call ptr @realloc(ptr %t1517, i64 %t1516) store ptr %t1518, ptr %t1506 store i32 %t1512, ptr %t1505 br label %put355 put355: %t1519 = load ptr, ptr %t1506 %t1520 = getelementptr inbounds ptr, ptr %t1519, i32 %t1507 store ptr @.str6578, ptr %t1520 %t1521 = add i32 %t1507, 1 store i32 %t1521, ptr %t1504 %t1522 = load ptr, ptr %t387 %t1523 = getelementptr inbounds %LSlice, ptr %t1522, i32 0, i32 1 %t1524 = getelementptr inbounds %LSlice, ptr %t1522, i32 0, i32 2 %t1525 = getelementptr inbounds %LSlice, ptr %t1522, i32 0, i32 0 %t1526 = load i32, ptr %t1523 %t1527 = load i32, ptr %t1524 %t1528 = icmp sge i32 %t1526, %t1527 br i1 %t1528, label %grow356, label %put357 grow356: %t1529 = mul i32 %t1527, 2 %t1530 = icmp eq i32 %t1527, 0 %t1531 = select i1 %t1530, i32 8, i32 %t1529 %t1532 = getelementptr ptr, ptr null, i32 1 %t1533 = ptrtoint ptr %t1532 to i64 %t1534 = zext i32 %t1531 to i64 %t1535 = mul i64 %t1534, %t1533 %t1536 = load ptr, ptr %t1525 %t1537 = call ptr @realloc(ptr %t1536, i64 %t1535) store ptr %t1537, ptr %t1525 store i32 %t1531, ptr %t1524 br label %put357 put357: %t1538 = load ptr, ptr %t1525 %t1539 = getelementptr inbounds ptr, ptr %t1538, i32 %t1526 store ptr @.str6579, ptr %t1539 %t1540 = add i32 %t1526, 1 store i32 %t1540, ptr %t1523 %t1541 = load ptr, ptr %t387 %t1542 = getelementptr inbounds %LSlice, ptr %t1541, i32 0, i32 1 %t1543 = getelementptr inbounds %LSlice, ptr %t1541, i32 0, i32 2 %t1544 = getelementptr inbounds %LSlice, ptr %t1541, i32 0, i32 0 %t1545 = load i32, ptr %t1542 %t1546 = load i32, ptr %t1543 %t1547 = icmp sge i32 %t1545, %t1546 br i1 %t1547, label %grow358, label %put359 grow358: %t1548 = mul i32 %t1546, 2 %t1549 = icmp eq i32 %t1546, 0 %t1550 = select i1 %t1549, i32 8, i32 %t1548 %t1551 = getelementptr ptr, ptr null, i32 1 %t1552 = ptrtoint ptr %t1551 to i64 %t1553 = zext i32 %t1550 to i64 %t1554 = mul i64 %t1553, %t1552 %t1555 = load ptr, ptr %t1544 %t1556 = call ptr @realloc(ptr %t1555, i64 %t1554) store ptr %t1556, ptr %t1544 store i32 %t1550, ptr %t1543 br label %put359 put359: %t1557 = load ptr, ptr %t1544 %t1558 = getelementptr inbounds ptr, ptr %t1557, i32 %t1545 store ptr @.str6580, ptr %t1558 %t1559 = add i32 %t1545, 1 store i32 %t1559, ptr %t1542 %t1560 = load ptr, ptr %t387 %t1561 = getelementptr inbounds %LSlice, ptr %t1560, i32 0, i32 1 %t1562 = getelementptr inbounds %LSlice, ptr %t1560, i32 0, i32 2 %t1563 = getelementptr inbounds %LSlice, ptr %t1560, i32 0, i32 0 %t1564 = load i32, ptr %t1561 %t1565 = load i32, ptr %t1562 %t1566 = icmp sge i32 %t1564, %t1565 br i1 %t1566, label %grow360, label %put361 grow360: %t1567 = mul i32 %t1565, 2 %t1568 = icmp eq i32 %t1565, 0 %t1569 = select i1 %t1568, i32 8, i32 %t1567 %t1570 = getelementptr ptr, ptr null, i32 1 %t1571 = ptrtoint ptr %t1570 to i64 %t1572 = zext i32 %t1569 to i64 %t1573 = mul i64 %t1572, %t1571 %t1574 = load ptr, ptr %t1563 %t1575 = call ptr @realloc(ptr %t1574, i64 %t1573) store ptr %t1575, ptr %t1563 store i32 %t1569, ptr %t1562 br label %put361 put361: %t1576 = load ptr, ptr %t1563 %t1577 = getelementptr inbounds ptr, ptr %t1576, i32 %t1564 store ptr @.str6581, ptr %t1577 %t1578 = add i32 %t1564, 1 store i32 %t1578, ptr %t1561 br label %ifend347 ifend347: %t1579 = load ptr, ptr %t1 %t1580 = call i32 @lp_str_eq(ptr %t1579, ptr @.str6582) %t1581 = icmp ne i32 %t1580, 0 br i1 %t1581, label %then362, label %ifend364 then362: store ptr @.str6583, ptr %t380 %t1582 = load ptr, ptr %t387 %t1583 = getelementptr inbounds %LSlice, ptr %t1582, i32 0, i32 1 %t1584 = getelementptr inbounds %LSlice, ptr %t1582, i32 0, i32 2 %t1585 = getelementptr inbounds %LSlice, ptr %t1582, i32 0, i32 0 %t1586 = load i32, ptr %t1583 %t1587 = load i32, ptr %t1584 %t1588 = icmp sge i32 %t1586, %t1587 br i1 %t1588, label %grow365, label %put366 grow365: %t1589 = mul i32 %t1587, 2 %t1590 = icmp eq i32 %t1587, 0 %t1591 = select i1 %t1590, i32 8, i32 %t1589 %t1592 = getelementptr ptr, ptr null, i32 1 %t1593 = ptrtoint ptr %t1592 to i64 %t1594 = zext i32 %t1591 to i64 %t1595 = mul i64 %t1594, %t1593 %t1596 = load ptr, ptr %t1585 %t1597 = call ptr @realloc(ptr %t1596, i64 %t1595) store ptr %t1597, ptr %t1585 store i32 %t1591, ptr %t1584 br label %put366 put366: %t1598 = load ptr, ptr %t1585 %t1599 = getelementptr inbounds ptr, ptr %t1598, i32 %t1586 store ptr @.str6584, ptr %t1599 %t1600 = add i32 %t1586, 1 store i32 %t1600, ptr %t1583 %t1601 = load ptr, ptr %t387 %t1602 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 1 %t1603 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 2 %t1604 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 0 %t1605 = load i32, ptr %t1602 %t1606 = load i32, ptr %t1603 %t1607 = icmp sge i32 %t1605, %t1606 br i1 %t1607, label %grow367, label %put368 grow367: %t1608 = mul i32 %t1606, 2 %t1609 = icmp eq i32 %t1606, 0 %t1610 = select i1 %t1609, i32 8, i32 %t1608 %t1611 = getelementptr ptr, ptr null, i32 1 %t1612 = ptrtoint ptr %t1611 to i64 %t1613 = zext i32 %t1610 to i64 %t1614 = mul i64 %t1613, %t1612 %t1615 = load ptr, ptr %t1604 %t1616 = call ptr @realloc(ptr %t1615, i64 %t1614) store ptr %t1616, ptr %t1604 store i32 %t1610, ptr %t1603 br label %put368 put368: %t1617 = load ptr, ptr %t1604 %t1618 = getelementptr inbounds ptr, ptr %t1617, i32 %t1605 store ptr @.str6585, ptr %t1618 %t1619 = add i32 %t1605, 1 store i32 %t1619, ptr %t1602 %t1620 = load ptr, ptr %t387 %t1621 = getelementptr inbounds %LSlice, ptr %t1620, i32 0, i32 1 %t1622 = getelementptr inbounds %LSlice, ptr %t1620, i32 0, i32 2 %t1623 = getelementptr inbounds %LSlice, ptr %t1620, i32 0, i32 0 %t1624 = load i32, ptr %t1621 %t1625 = load i32, ptr %t1622 %t1626 = icmp sge i32 %t1624, %t1625 br i1 %t1626, label %grow369, label %put370 grow369: %t1627 = mul i32 %t1625, 2 %t1628 = icmp eq i32 %t1625, 0 %t1629 = select i1 %t1628, i32 8, i32 %t1627 %t1630 = getelementptr ptr, ptr null, i32 1 %t1631 = ptrtoint ptr %t1630 to i64 %t1632 = zext i32 %t1629 to i64 %t1633 = mul i64 %t1632, %t1631 %t1634 = load ptr, ptr %t1623 %t1635 = call ptr @realloc(ptr %t1634, i64 %t1633) store ptr %t1635, ptr %t1623 store i32 %t1629, ptr %t1622 br label %put370 put370: %t1636 = load ptr, ptr %t1623 %t1637 = getelementptr inbounds ptr, ptr %t1636, i32 %t1624 store ptr @.str6586, ptr %t1637 %t1638 = add i32 %t1624, 1 store i32 %t1638, ptr %t1621 br label %ifend364 ifend364: %t1639 = load ptr, ptr %t1 %t1640 = call i32 @lp_str_eq(ptr %t1639, ptr @.str6587) %t1641 = icmp ne i32 %t1640, 0 br i1 %t1641, label %then371, label %ifend373 then371: store ptr @.str6588, ptr %t380 %t1642 = load ptr, ptr %t387 %t1643 = getelementptr inbounds %LSlice, ptr %t1642, i32 0, i32 1 %t1644 = getelementptr inbounds %LSlice, ptr %t1642, i32 0, i32 2 %t1645 = getelementptr inbounds %LSlice, ptr %t1642, i32 0, i32 0 %t1646 = load i32, ptr %t1643 %t1647 = load i32, ptr %t1644 %t1648 = icmp sge i32 %t1646, %t1647 br i1 %t1648, label %grow374, label %put375 grow374: %t1649 = mul i32 %t1647, 2 %t1650 = icmp eq i32 %t1647, 0 %t1651 = select i1 %t1650, i32 8, i32 %t1649 %t1652 = getelementptr ptr, ptr null, i32 1 %t1653 = ptrtoint ptr %t1652 to i64 %t1654 = zext i32 %t1651 to i64 %t1655 = mul i64 %t1654, %t1653 %t1656 = load ptr, ptr %t1645 %t1657 = call ptr @realloc(ptr %t1656, i64 %t1655) store ptr %t1657, ptr %t1645 store i32 %t1651, ptr %t1644 br label %put375 put375: %t1658 = load ptr, ptr %t1645 %t1659 = getelementptr inbounds ptr, ptr %t1658, i32 %t1646 store ptr @.str6589, ptr %t1659 %t1660 = add i32 %t1646, 1 store i32 %t1660, ptr %t1643 %t1661 = load ptr, ptr %t387 %t1662 = getelementptr inbounds %LSlice, ptr %t1661, i32 0, i32 1 %t1663 = getelementptr inbounds %LSlice, ptr %t1661, i32 0, i32 2 %t1664 = getelementptr inbounds %LSlice, ptr %t1661, i32 0, i32 0 %t1665 = load i32, ptr %t1662 %t1666 = load i32, ptr %t1663 %t1667 = icmp sge i32 %t1665, %t1666 br i1 %t1667, label %grow376, label %put377 grow376: %t1668 = mul i32 %t1666, 2 %t1669 = icmp eq i32 %t1666, 0 %t1670 = select i1 %t1669, i32 8, i32 %t1668 %t1671 = getelementptr ptr, ptr null, i32 1 %t1672 = ptrtoint ptr %t1671 to i64 %t1673 = zext i32 %t1670 to i64 %t1674 = mul i64 %t1673, %t1672 %t1675 = load ptr, ptr %t1664 %t1676 = call ptr @realloc(ptr %t1675, i64 %t1674) store ptr %t1676, ptr %t1664 store i32 %t1670, ptr %t1663 br label %put377 put377: %t1677 = load ptr, ptr %t1664 %t1678 = getelementptr inbounds ptr, ptr %t1677, i32 %t1665 store ptr @.str6590, ptr %t1678 %t1679 = add i32 %t1665, 1 store i32 %t1679, ptr %t1662 %t1680 = load ptr, ptr %t387 %t1681 = getelementptr inbounds %LSlice, ptr %t1680, i32 0, i32 1 %t1682 = getelementptr inbounds %LSlice, ptr %t1680, i32 0, i32 2 %t1683 = getelementptr inbounds %LSlice, ptr %t1680, i32 0, i32 0 %t1684 = load i32, ptr %t1681 %t1685 = load i32, ptr %t1682 %t1686 = icmp sge i32 %t1684, %t1685 br i1 %t1686, label %grow378, label %put379 grow378: %t1687 = mul i32 %t1685, 2 %t1688 = icmp eq i32 %t1685, 0 %t1689 = select i1 %t1688, i32 8, i32 %t1687 %t1690 = getelementptr ptr, ptr null, i32 1 %t1691 = ptrtoint ptr %t1690 to i64 %t1692 = zext i32 %t1689 to i64 %t1693 = mul i64 %t1692, %t1691 %t1694 = load ptr, ptr %t1683 %t1695 = call ptr @realloc(ptr %t1694, i64 %t1693) store ptr %t1695, ptr %t1683 store i32 %t1689, ptr %t1682 br label %put379 put379: %t1696 = load ptr, ptr %t1683 %t1697 = getelementptr inbounds ptr, ptr %t1696, i32 %t1684 store ptr @.str6591, ptr %t1697 %t1698 = add i32 %t1684, 1 store i32 %t1698, ptr %t1681 %t1699 = load ptr, ptr %t387 %t1700 = getelementptr inbounds %LSlice, ptr %t1699, i32 0, i32 1 %t1701 = getelementptr inbounds %LSlice, ptr %t1699, i32 0, i32 2 %t1702 = getelementptr inbounds %LSlice, ptr %t1699, i32 0, i32 0 %t1703 = load i32, ptr %t1700 %t1704 = load i32, ptr %t1701 %t1705 = icmp sge i32 %t1703, %t1704 br i1 %t1705, label %grow380, label %put381 grow380: %t1706 = mul i32 %t1704, 2 %t1707 = icmp eq i32 %t1704, 0 %t1708 = select i1 %t1707, i32 8, i32 %t1706 %t1709 = getelementptr ptr, ptr null, i32 1 %t1710 = ptrtoint ptr %t1709 to i64 %t1711 = zext i32 %t1708 to i64 %t1712 = mul i64 %t1711, %t1710 %t1713 = load ptr, ptr %t1702 %t1714 = call ptr @realloc(ptr %t1713, i64 %t1712) store ptr %t1714, ptr %t1702 store i32 %t1708, ptr %t1701 br label %put381 put381: %t1715 = load ptr, ptr %t1702 %t1716 = getelementptr inbounds ptr, ptr %t1715, i32 %t1703 store ptr @.str6592, ptr %t1716 %t1717 = add i32 %t1703, 1 store i32 %t1717, ptr %t1700 br label %ifend373 ifend373: %t1718 = load ptr, ptr %t1 %t1719 = call i32 @lp_str_eq(ptr %t1718, ptr @.str6593) %t1720 = icmp ne i32 %t1719, 0 br i1 %t1720, label %then382, label %ifend384 then382: store ptr @.str6594, ptr %t380 %t1721 = load ptr, ptr %t387 %t1722 = getelementptr inbounds %LSlice, ptr %t1721, i32 0, i32 1 %t1723 = getelementptr inbounds %LSlice, ptr %t1721, i32 0, i32 2 %t1724 = getelementptr inbounds %LSlice, ptr %t1721, i32 0, i32 0 %t1725 = load i32, ptr %t1722 %t1726 = load i32, ptr %t1723 %t1727 = icmp sge i32 %t1725, %t1726 br i1 %t1727, label %grow385, label %put386 grow385: %t1728 = mul i32 %t1726, 2 %t1729 = icmp eq i32 %t1726, 0 %t1730 = select i1 %t1729, i32 8, i32 %t1728 %t1731 = getelementptr ptr, ptr null, i32 1 %t1732 = ptrtoint ptr %t1731 to i64 %t1733 = zext i32 %t1730 to i64 %t1734 = mul i64 %t1733, %t1732 %t1735 = load ptr, ptr %t1724 %t1736 = call ptr @realloc(ptr %t1735, i64 %t1734) store ptr %t1736, ptr %t1724 store i32 %t1730, ptr %t1723 br label %put386 put386: %t1737 = load ptr, ptr %t1724 %t1738 = getelementptr inbounds ptr, ptr %t1737, i32 %t1725 store ptr @.str6595, ptr %t1738 %t1739 = add i32 %t1725, 1 store i32 %t1739, ptr %t1722 %t1740 = load ptr, ptr %t387 %t1741 = getelementptr inbounds %LSlice, ptr %t1740, i32 0, i32 1 %t1742 = getelementptr inbounds %LSlice, ptr %t1740, i32 0, i32 2 %t1743 = getelementptr inbounds %LSlice, ptr %t1740, i32 0, i32 0 %t1744 = load i32, ptr %t1741 %t1745 = load i32, ptr %t1742 %t1746 = icmp sge i32 %t1744, %t1745 br i1 %t1746, label %grow387, label %put388 grow387: %t1747 = mul i32 %t1745, 2 %t1748 = icmp eq i32 %t1745, 0 %t1749 = select i1 %t1748, i32 8, i32 %t1747 %t1750 = getelementptr ptr, ptr null, i32 1 %t1751 = ptrtoint ptr %t1750 to i64 %t1752 = zext i32 %t1749 to i64 %t1753 = mul i64 %t1752, %t1751 %t1754 = load ptr, ptr %t1743 %t1755 = call ptr @realloc(ptr %t1754, i64 %t1753) store ptr %t1755, ptr %t1743 store i32 %t1749, ptr %t1742 br label %put388 put388: %t1756 = load ptr, ptr %t1743 %t1757 = getelementptr inbounds ptr, ptr %t1756, i32 %t1744 store ptr @.str6596, ptr %t1757 %t1758 = add i32 %t1744, 1 store i32 %t1758, ptr %t1741 %t1759 = load ptr, ptr %t387 %t1760 = getelementptr inbounds %LSlice, ptr %t1759, i32 0, i32 1 %t1761 = getelementptr inbounds %LSlice, ptr %t1759, i32 0, i32 2 %t1762 = getelementptr inbounds %LSlice, ptr %t1759, i32 0, i32 0 %t1763 = load i32, ptr %t1760 %t1764 = load i32, ptr %t1761 %t1765 = icmp sge i32 %t1763, %t1764 br i1 %t1765, label %grow389, label %put390 grow389: %t1766 = mul i32 %t1764, 2 %t1767 = icmp eq i32 %t1764, 0 %t1768 = select i1 %t1767, i32 8, i32 %t1766 %t1769 = getelementptr ptr, ptr null, i32 1 %t1770 = ptrtoint ptr %t1769 to i64 %t1771 = zext i32 %t1768 to i64 %t1772 = mul i64 %t1771, %t1770 %t1773 = load ptr, ptr %t1762 %t1774 = call ptr @realloc(ptr %t1773, i64 %t1772) store ptr %t1774, ptr %t1762 store i32 %t1768, ptr %t1761 br label %put390 put390: %t1775 = load ptr, ptr %t1762 %t1776 = getelementptr inbounds ptr, ptr %t1775, i32 %t1763 store ptr @.str6597, ptr %t1776 %t1777 = add i32 %t1763, 1 store i32 %t1777, ptr %t1760 %t1778 = load ptr, ptr %t387 %t1779 = getelementptr inbounds %LSlice, ptr %t1778, i32 0, i32 1 %t1780 = getelementptr inbounds %LSlice, ptr %t1778, i32 0, i32 2 %t1781 = getelementptr inbounds %LSlice, ptr %t1778, i32 0, i32 0 %t1782 = load i32, ptr %t1779 %t1783 = load i32, ptr %t1780 %t1784 = icmp sge i32 %t1782, %t1783 br i1 %t1784, label %grow391, label %put392 grow391: %t1785 = mul i32 %t1783, 2 %t1786 = icmp eq i32 %t1783, 0 %t1787 = select i1 %t1786, i32 8, i32 %t1785 %t1788 = getelementptr ptr, ptr null, i32 1 %t1789 = ptrtoint ptr %t1788 to i64 %t1790 = zext i32 %t1787 to i64 %t1791 = mul i64 %t1790, %t1789 %t1792 = load ptr, ptr %t1781 %t1793 = call ptr @realloc(ptr %t1792, i64 %t1791) store ptr %t1793, ptr %t1781 store i32 %t1787, ptr %t1780 br label %put392 put392: %t1794 = load ptr, ptr %t1781 %t1795 = getelementptr inbounds ptr, ptr %t1794, i32 %t1782 store ptr @.str6598, ptr %t1795 %t1796 = add i32 %t1782, 1 store i32 %t1796, ptr %t1779 %t1797 = load ptr, ptr %t387 %t1798 = getelementptr inbounds %LSlice, ptr %t1797, i32 0, i32 1 %t1799 = getelementptr inbounds %LSlice, ptr %t1797, i32 0, i32 2 %t1800 = getelementptr inbounds %LSlice, ptr %t1797, i32 0, i32 0 %t1801 = load i32, ptr %t1798 %t1802 = load i32, ptr %t1799 %t1803 = icmp sge i32 %t1801, %t1802 br i1 %t1803, label %grow393, label %put394 grow393: %t1804 = mul i32 %t1802, 2 %t1805 = icmp eq i32 %t1802, 0 %t1806 = select i1 %t1805, i32 8, i32 %t1804 %t1807 = getelementptr ptr, ptr null, i32 1 %t1808 = ptrtoint ptr %t1807 to i64 %t1809 = zext i32 %t1806 to i64 %t1810 = mul i64 %t1809, %t1808 %t1811 = load ptr, ptr %t1800 %t1812 = call ptr @realloc(ptr %t1811, i64 %t1810) store ptr %t1812, ptr %t1800 store i32 %t1806, ptr %t1799 br label %put394 put394: %t1813 = load ptr, ptr %t1800 %t1814 = getelementptr inbounds ptr, ptr %t1813, i32 %t1801 store ptr @.str6599, ptr %t1814 %t1815 = add i32 %t1801, 1 store i32 %t1815, ptr %t1798 br label %ifend384 ifend384: %t1816 = load ptr, ptr %t1 %t1817 = call i32 @lp_str_eq(ptr %t1816, ptr @.str6600) %t1818 = icmp ne i32 %t1817, 0 br i1 %t1818, label %then395, label %ifend397 then395: store ptr @.str6601, ptr %t380 %t1819 = load ptr, ptr %t387 %t1820 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 1 %t1821 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 2 %t1822 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 0 %t1823 = load i32, ptr %t1820 %t1824 = load i32, ptr %t1821 %t1825 = icmp sge i32 %t1823, %t1824 br i1 %t1825, label %grow398, label %put399 grow398: %t1826 = mul i32 %t1824, 2 %t1827 = icmp eq i32 %t1824, 0 %t1828 = select i1 %t1827, i32 8, i32 %t1826 %t1829 = getelementptr ptr, ptr null, i32 1 %t1830 = ptrtoint ptr %t1829 to i64 %t1831 = zext i32 %t1828 to i64 %t1832 = mul i64 %t1831, %t1830 %t1833 = load ptr, ptr %t1822 %t1834 = call ptr @realloc(ptr %t1833, i64 %t1832) store ptr %t1834, ptr %t1822 store i32 %t1828, ptr %t1821 br label %put399 put399: %t1835 = load ptr, ptr %t1822 %t1836 = getelementptr inbounds ptr, ptr %t1835, i32 %t1823 store ptr @.str6602, ptr %t1836 %t1837 = add i32 %t1823, 1 store i32 %t1837, ptr %t1820 %t1838 = load ptr, ptr %t387 %t1839 = getelementptr inbounds %LSlice, ptr %t1838, i32 0, i32 1 %t1840 = getelementptr inbounds %LSlice, ptr %t1838, i32 0, i32 2 %t1841 = getelementptr inbounds %LSlice, ptr %t1838, i32 0, i32 0 %t1842 = load i32, ptr %t1839 %t1843 = load i32, ptr %t1840 %t1844 = icmp sge i32 %t1842, %t1843 br i1 %t1844, label %grow400, label %put401 grow400: %t1845 = mul i32 %t1843, 2 %t1846 = icmp eq i32 %t1843, 0 %t1847 = select i1 %t1846, i32 8, i32 %t1845 %t1848 = getelementptr ptr, ptr null, i32 1 %t1849 = ptrtoint ptr %t1848 to i64 %t1850 = zext i32 %t1847 to i64 %t1851 = mul i64 %t1850, %t1849 %t1852 = load ptr, ptr %t1841 %t1853 = call ptr @realloc(ptr %t1852, i64 %t1851) store ptr %t1853, ptr %t1841 store i32 %t1847, ptr %t1840 br label %put401 put401: %t1854 = load ptr, ptr %t1841 %t1855 = getelementptr inbounds ptr, ptr %t1854, i32 %t1842 store ptr @.str6603, ptr %t1855 %t1856 = add i32 %t1842, 1 store i32 %t1856, ptr %t1839 br label %ifend397 ifend397: %t1857 = load ptr, ptr %t1 %t1858 = call i32 @lp_str_eq(ptr %t1857, ptr @.str6604) %t1859 = icmp ne i32 %t1858, 0 br i1 %t1859, label %then402, label %ifend404 then402: store ptr @.str6605, ptr %t380 %t1860 = load ptr, ptr %t387 %t1861 = getelementptr inbounds %LSlice, ptr %t1860, i32 0, i32 1 %t1862 = getelementptr inbounds %LSlice, ptr %t1860, i32 0, i32 2 %t1863 = getelementptr inbounds %LSlice, ptr %t1860, i32 0, i32 0 %t1864 = load i32, ptr %t1861 %t1865 = load i32, ptr %t1862 %t1866 = icmp sge i32 %t1864, %t1865 br i1 %t1866, label %grow405, label %put406 grow405: %t1867 = mul i32 %t1865, 2 %t1868 = icmp eq i32 %t1865, 0 %t1869 = select i1 %t1868, i32 8, i32 %t1867 %t1870 = getelementptr ptr, ptr null, i32 1 %t1871 = ptrtoint ptr %t1870 to i64 %t1872 = zext i32 %t1869 to i64 %t1873 = mul i64 %t1872, %t1871 %t1874 = load ptr, ptr %t1863 %t1875 = call ptr @realloc(ptr %t1874, i64 %t1873) store ptr %t1875, ptr %t1863 store i32 %t1869, ptr %t1862 br label %put406 put406: %t1876 = load ptr, ptr %t1863 %t1877 = getelementptr inbounds ptr, ptr %t1876, i32 %t1864 store ptr @.str6606, ptr %t1877 %t1878 = add i32 %t1864, 1 store i32 %t1878, ptr %t1861 %t1879 = load ptr, ptr %t387 %t1880 = getelementptr inbounds %LSlice, ptr %t1879, i32 0, i32 1 %t1881 = getelementptr inbounds %LSlice, ptr %t1879, i32 0, i32 2 %t1882 = getelementptr inbounds %LSlice, ptr %t1879, i32 0, i32 0 %t1883 = load i32, ptr %t1880 %t1884 = load i32, ptr %t1881 %t1885 = icmp sge i32 %t1883, %t1884 br i1 %t1885, label %grow407, label %put408 grow407: %t1886 = mul i32 %t1884, 2 %t1887 = icmp eq i32 %t1884, 0 %t1888 = select i1 %t1887, i32 8, i32 %t1886 %t1889 = getelementptr ptr, ptr null, i32 1 %t1890 = ptrtoint ptr %t1889 to i64 %t1891 = zext i32 %t1888 to i64 %t1892 = mul i64 %t1891, %t1890 %t1893 = load ptr, ptr %t1882 %t1894 = call ptr @realloc(ptr %t1893, i64 %t1892) store ptr %t1894, ptr %t1882 store i32 %t1888, ptr %t1881 br label %put408 put408: %t1895 = load ptr, ptr %t1882 %t1896 = getelementptr inbounds ptr, ptr %t1895, i32 %t1883 store ptr @.str6607, ptr %t1896 %t1897 = add i32 %t1883, 1 store i32 %t1897, ptr %t1880 %t1898 = load ptr, ptr %t387 %t1899 = getelementptr inbounds %LSlice, ptr %t1898, i32 0, i32 1 %t1900 = getelementptr inbounds %LSlice, ptr %t1898, i32 0, i32 2 %t1901 = getelementptr inbounds %LSlice, ptr %t1898, i32 0, i32 0 %t1902 = load i32, ptr %t1899 %t1903 = load i32, ptr %t1900 %t1904 = icmp sge i32 %t1902, %t1903 br i1 %t1904, label %grow409, label %put410 grow409: %t1905 = mul i32 %t1903, 2 %t1906 = icmp eq i32 %t1903, 0 %t1907 = select i1 %t1906, i32 8, i32 %t1905 %t1908 = getelementptr ptr, ptr null, i32 1 %t1909 = ptrtoint ptr %t1908 to i64 %t1910 = zext i32 %t1907 to i64 %t1911 = mul i64 %t1910, %t1909 %t1912 = load ptr, ptr %t1901 %t1913 = call ptr @realloc(ptr %t1912, i64 %t1911) store ptr %t1913, ptr %t1901 store i32 %t1907, ptr %t1900 br label %put410 put410: %t1914 = load ptr, ptr %t1901 %t1915 = getelementptr inbounds ptr, ptr %t1914, i32 %t1902 store ptr @.str6608, ptr %t1915 %t1916 = add i32 %t1902, 1 store i32 %t1916, ptr %t1899 %t1917 = load ptr, ptr %t387 %t1918 = getelementptr inbounds %LSlice, ptr %t1917, i32 0, i32 1 %t1919 = getelementptr inbounds %LSlice, ptr %t1917, i32 0, i32 2 %t1920 = getelementptr inbounds %LSlice, ptr %t1917, i32 0, i32 0 %t1921 = load i32, ptr %t1918 %t1922 = load i32, ptr %t1919 %t1923 = icmp sge i32 %t1921, %t1922 br i1 %t1923, label %grow411, label %put412 grow411: %t1924 = mul i32 %t1922, 2 %t1925 = icmp eq i32 %t1922, 0 %t1926 = select i1 %t1925, i32 8, i32 %t1924 %t1927 = getelementptr ptr, ptr null, i32 1 %t1928 = ptrtoint ptr %t1927 to i64 %t1929 = zext i32 %t1926 to i64 %t1930 = mul i64 %t1929, %t1928 %t1931 = load ptr, ptr %t1920 %t1932 = call ptr @realloc(ptr %t1931, i64 %t1930) store ptr %t1932, ptr %t1920 store i32 %t1926, ptr %t1919 br label %put412 put412: %t1933 = load ptr, ptr %t1920 %t1934 = getelementptr inbounds ptr, ptr %t1933, i32 %t1921 store ptr @.str6609, ptr %t1934 %t1935 = add i32 %t1921, 1 store i32 %t1935, ptr %t1918 br label %ifend404 ifend404: %t1936 = load ptr, ptr %t1 %t1937 = call i32 @lp_str_eq(ptr %t1936, ptr @.str6610) %t1938 = icmp ne i32 %t1937, 0 br i1 %t1938, label %then413, label %ifend415 then413: store ptr @.str6611, ptr %t380 br label %ifend415 ifend415: %t1939 = load ptr, ptr %t1 %t1940 = call i32 @lp_str_eq(ptr %t1939, ptr @.str6612) %t1941 = icmp ne i32 %t1940, 0 br i1 %t1941, label %then416, label %ifend418 then416: store ptr @.str6613, ptr %t380 %t1942 = load ptr, ptr %t387 %t1943 = getelementptr inbounds %LSlice, ptr %t1942, i32 0, i32 1 %t1944 = getelementptr inbounds %LSlice, ptr %t1942, i32 0, i32 2 %t1945 = getelementptr inbounds %LSlice, ptr %t1942, i32 0, i32 0 %t1946 = load i32, ptr %t1943 %t1947 = load i32, ptr %t1944 %t1948 = icmp sge i32 %t1946, %t1947 br i1 %t1948, label %grow419, label %put420 grow419: %t1949 = mul i32 %t1947, 2 %t1950 = icmp eq i32 %t1947, 0 %t1951 = select i1 %t1950, i32 8, i32 %t1949 %t1952 = getelementptr ptr, ptr null, i32 1 %t1953 = ptrtoint ptr %t1952 to i64 %t1954 = zext i32 %t1951 to i64 %t1955 = mul i64 %t1954, %t1953 %t1956 = load ptr, ptr %t1945 %t1957 = call ptr @realloc(ptr %t1956, i64 %t1955) store ptr %t1957, ptr %t1945 store i32 %t1951, ptr %t1944 br label %put420 put420: %t1958 = load ptr, ptr %t1945 %t1959 = getelementptr inbounds ptr, ptr %t1958, i32 %t1946 store ptr @.str6614, ptr %t1959 %t1960 = add i32 %t1946, 1 store i32 %t1960, ptr %t1943 br label %ifend418 ifend418: %t1961 = load ptr, ptr %t1 %t1962 = call i32 @lp_str_eq(ptr %t1961, ptr @.str6615) %t1963 = icmp ne i32 %t1962, 0 br i1 %t1963, label %then421, label %ifend423 then421: store ptr @.str6616, ptr %t380 %t1964 = load ptr, ptr %t387 %t1965 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 1 %t1966 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 2 %t1967 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 0 %t1968 = load i32, ptr %t1965 %t1969 = load i32, ptr %t1966 %t1970 = icmp sge i32 %t1968, %t1969 br i1 %t1970, label %grow424, label %put425 grow424: %t1971 = mul i32 %t1969, 2 %t1972 = icmp eq i32 %t1969, 0 %t1973 = select i1 %t1972, i32 8, i32 %t1971 %t1974 = getelementptr ptr, ptr null, i32 1 %t1975 = ptrtoint ptr %t1974 to i64 %t1976 = zext i32 %t1973 to i64 %t1977 = mul i64 %t1976, %t1975 %t1978 = load ptr, ptr %t1967 %t1979 = call ptr @realloc(ptr %t1978, i64 %t1977) store ptr %t1979, ptr %t1967 store i32 %t1973, ptr %t1966 br label %put425 put425: %t1980 = load ptr, ptr %t1967 %t1981 = getelementptr inbounds ptr, ptr %t1980, i32 %t1968 store ptr @.str6617, ptr %t1981 %t1982 = add i32 %t1968, 1 store i32 %t1982, ptr %t1965 br label %ifend423 ifend423: %t1983 = load ptr, ptr %t1 %t1984 = call i32 @lp_str_eq(ptr %t1983, ptr @.str6618) %t1985 = icmp ne i32 %t1984, 0 br i1 %t1985, label %then426, label %ifend428 then426: store ptr @.str6619, ptr %t380 %t1986 = load ptr, ptr %t387 %t1987 = getelementptr inbounds %LSlice, ptr %t1986, i32 0, i32 1 %t1988 = getelementptr inbounds %LSlice, ptr %t1986, i32 0, i32 2 %t1989 = getelementptr inbounds %LSlice, ptr %t1986, i32 0, i32 0 %t1990 = load i32, ptr %t1987 %t1991 = load i32, ptr %t1988 %t1992 = icmp sge i32 %t1990, %t1991 br i1 %t1992, label %grow429, label %put430 grow429: %t1993 = mul i32 %t1991, 2 %t1994 = icmp eq i32 %t1991, 0 %t1995 = select i1 %t1994, i32 8, i32 %t1993 %t1996 = getelementptr ptr, ptr null, i32 1 %t1997 = ptrtoint ptr %t1996 to i64 %t1998 = zext i32 %t1995 to i64 %t1999 = mul i64 %t1998, %t1997 %t2000 = load ptr, ptr %t1989 %t2001 = call ptr @realloc(ptr %t2000, i64 %t1999) store ptr %t2001, ptr %t1989 store i32 %t1995, ptr %t1988 br label %put430 put430: %t2002 = load ptr, ptr %t1989 %t2003 = getelementptr inbounds ptr, ptr %t2002, i32 %t1990 store ptr @.str6620, ptr %t2003 %t2004 = add i32 %t1990, 1 store i32 %t2004, ptr %t1987 %t2005 = load ptr, ptr %t387 %t2006 = getelementptr inbounds %LSlice, ptr %t2005, i32 0, i32 1 %t2007 = getelementptr inbounds %LSlice, ptr %t2005, i32 0, i32 2 %t2008 = getelementptr inbounds %LSlice, ptr %t2005, i32 0, i32 0 %t2009 = load i32, ptr %t2006 %t2010 = load i32, ptr %t2007 %t2011 = icmp sge i32 %t2009, %t2010 br i1 %t2011, label %grow431, label %put432 grow431: %t2012 = mul i32 %t2010, 2 %t2013 = icmp eq i32 %t2010, 0 %t2014 = select i1 %t2013, i32 8, i32 %t2012 %t2015 = getelementptr ptr, ptr null, i32 1 %t2016 = ptrtoint ptr %t2015 to i64 %t2017 = zext i32 %t2014 to i64 %t2018 = mul i64 %t2017, %t2016 %t2019 = load ptr, ptr %t2008 %t2020 = call ptr @realloc(ptr %t2019, i64 %t2018) store ptr %t2020, ptr %t2008 store i32 %t2014, ptr %t2007 br label %put432 put432: %t2021 = load ptr, ptr %t2008 %t2022 = getelementptr inbounds ptr, ptr %t2021, i32 %t2009 store ptr @.str6621, ptr %t2022 %t2023 = add i32 %t2009, 1 store i32 %t2023, ptr %t2006 br label %ifend428 ifend428: br label %ifend193 ifend193: %t2024 = load ptr, ptr %t0 %t2025 = call i32 @lp_str_eq(ptr %t2024, ptr @.str6622) %t2026 = icmp ne i32 %t2025, 0 br i1 %t2026, label %then433, label %ifend435 then433: %t2027 = load ptr, ptr %t1 %t2028 = call i32 @lp_str_eq(ptr %t2027, ptr @.str6623) %t2029 = icmp ne i32 %t2028, 0 br i1 %t2029, label %then436, label %ifend438 then436: store ptr @.str6624, ptr %t380 %t2030 = load ptr, ptr %t387 %t2031 = getelementptr inbounds %LSlice, ptr %t2030, i32 0, i32 1 %t2032 = getelementptr inbounds %LSlice, ptr %t2030, i32 0, i32 2 %t2033 = getelementptr inbounds %LSlice, ptr %t2030, i32 0, i32 0 %t2034 = load i32, ptr %t2031 %t2035 = load i32, ptr %t2032 %t2036 = icmp sge i32 %t2034, %t2035 br i1 %t2036, label %grow439, label %put440 grow439: %t2037 = mul i32 %t2035, 2 %t2038 = icmp eq i32 %t2035, 0 %t2039 = select i1 %t2038, i32 8, i32 %t2037 %t2040 = getelementptr ptr, ptr null, i32 1 %t2041 = ptrtoint ptr %t2040 to i64 %t2042 = zext i32 %t2039 to i64 %t2043 = mul i64 %t2042, %t2041 %t2044 = load ptr, ptr %t2033 %t2045 = call ptr @realloc(ptr %t2044, i64 %t2043) store ptr %t2045, ptr %t2033 store i32 %t2039, ptr %t2032 br label %put440 put440: %t2046 = load ptr, ptr %t2033 %t2047 = getelementptr inbounds ptr, ptr %t2046, i32 %t2034 store ptr @.str6625, ptr %t2047 %t2048 = add i32 %t2034, 1 store i32 %t2048, ptr %t2031 %t2049 = load ptr, ptr %t387 %t2050 = getelementptr inbounds %LSlice, ptr %t2049, i32 0, i32 1 %t2051 = getelementptr inbounds %LSlice, ptr %t2049, i32 0, i32 2 %t2052 = getelementptr inbounds %LSlice, ptr %t2049, i32 0, i32 0 %t2053 = load i32, ptr %t2050 %t2054 = load i32, ptr %t2051 %t2055 = icmp sge i32 %t2053, %t2054 br i1 %t2055, label %grow441, label %put442 grow441: %t2056 = mul i32 %t2054, 2 %t2057 = icmp eq i32 %t2054, 0 %t2058 = select i1 %t2057, i32 8, i32 %t2056 %t2059 = getelementptr ptr, ptr null, i32 1 %t2060 = ptrtoint ptr %t2059 to i64 %t2061 = zext i32 %t2058 to i64 %t2062 = mul i64 %t2061, %t2060 %t2063 = load ptr, ptr %t2052 %t2064 = call ptr @realloc(ptr %t2063, i64 %t2062) store ptr %t2064, ptr %t2052 store i32 %t2058, ptr %t2051 br label %put442 put442: %t2065 = load ptr, ptr %t2052 %t2066 = getelementptr inbounds ptr, ptr %t2065, i32 %t2053 store ptr @.str6626, ptr %t2066 %t2067 = add i32 %t2053, 1 store i32 %t2067, ptr %t2050 %t2068 = load ptr, ptr %t387 %t2069 = getelementptr inbounds %LSlice, ptr %t2068, i32 0, i32 1 %t2070 = getelementptr inbounds %LSlice, ptr %t2068, i32 0, i32 2 %t2071 = getelementptr inbounds %LSlice, ptr %t2068, i32 0, i32 0 %t2072 = load i32, ptr %t2069 %t2073 = load i32, ptr %t2070 %t2074 = icmp sge i32 %t2072, %t2073 br i1 %t2074, label %grow443, label %put444 grow443: %t2075 = mul i32 %t2073, 2 %t2076 = icmp eq i32 %t2073, 0 %t2077 = select i1 %t2076, i32 8, i32 %t2075 %t2078 = getelementptr ptr, ptr null, i32 1 %t2079 = ptrtoint ptr %t2078 to i64 %t2080 = zext i32 %t2077 to i64 %t2081 = mul i64 %t2080, %t2079 %t2082 = load ptr, ptr %t2071 %t2083 = call ptr @realloc(ptr %t2082, i64 %t2081) store ptr %t2083, ptr %t2071 store i32 %t2077, ptr %t2070 br label %put444 put444: %t2084 = load ptr, ptr %t2071 %t2085 = getelementptr inbounds ptr, ptr %t2084, i32 %t2072 store ptr @.str6627, ptr %t2085 %t2086 = add i32 %t2072, 1 store i32 %t2086, ptr %t2069 br label %ifend438 ifend438: %t2087 = load ptr, ptr %t1 %t2088 = call i32 @lp_str_eq(ptr %t2087, ptr @.str6628) %t2089 = icmp ne i32 %t2088, 0 br i1 %t2089, label %then445, label %ifend447 then445: store ptr @.str6629, ptr %t380 %t2090 = load ptr, ptr %t387 %t2091 = getelementptr inbounds %LSlice, ptr %t2090, i32 0, i32 1 %t2092 = getelementptr inbounds %LSlice, ptr %t2090, i32 0, i32 2 %t2093 = getelementptr inbounds %LSlice, ptr %t2090, i32 0, i32 0 %t2094 = load i32, ptr %t2091 %t2095 = load i32, ptr %t2092 %t2096 = icmp sge i32 %t2094, %t2095 br i1 %t2096, label %grow448, label %put449 grow448: %t2097 = mul i32 %t2095, 2 %t2098 = icmp eq i32 %t2095, 0 %t2099 = select i1 %t2098, i32 8, i32 %t2097 %t2100 = getelementptr ptr, ptr null, i32 1 %t2101 = ptrtoint ptr %t2100 to i64 %t2102 = zext i32 %t2099 to i64 %t2103 = mul i64 %t2102, %t2101 %t2104 = load ptr, ptr %t2093 %t2105 = call ptr @realloc(ptr %t2104, i64 %t2103) store ptr %t2105, ptr %t2093 store i32 %t2099, ptr %t2092 br label %put449 put449: %t2106 = load ptr, ptr %t2093 %t2107 = getelementptr inbounds ptr, ptr %t2106, i32 %t2094 store ptr @.str6630, ptr %t2107 %t2108 = add i32 %t2094, 1 store i32 %t2108, ptr %t2091 %t2109 = load ptr, ptr %t387 %t2110 = getelementptr inbounds %LSlice, ptr %t2109, i32 0, i32 1 %t2111 = getelementptr inbounds %LSlice, ptr %t2109, i32 0, i32 2 %t2112 = getelementptr inbounds %LSlice, ptr %t2109, i32 0, i32 0 %t2113 = load i32, ptr %t2110 %t2114 = load i32, ptr %t2111 %t2115 = icmp sge i32 %t2113, %t2114 br i1 %t2115, label %grow450, label %put451 grow450: %t2116 = mul i32 %t2114, 2 %t2117 = icmp eq i32 %t2114, 0 %t2118 = select i1 %t2117, i32 8, i32 %t2116 %t2119 = getelementptr ptr, ptr null, i32 1 %t2120 = ptrtoint ptr %t2119 to i64 %t2121 = zext i32 %t2118 to i64 %t2122 = mul i64 %t2121, %t2120 %t2123 = load ptr, ptr %t2112 %t2124 = call ptr @realloc(ptr %t2123, i64 %t2122) store ptr %t2124, ptr %t2112 store i32 %t2118, ptr %t2111 br label %put451 put451: %t2125 = load ptr, ptr %t2112 %t2126 = getelementptr inbounds ptr, ptr %t2125, i32 %t2113 store ptr @.str6631, ptr %t2126 %t2127 = add i32 %t2113, 1 store i32 %t2127, ptr %t2110 %t2128 = load ptr, ptr %t387 %t2129 = getelementptr inbounds %LSlice, ptr %t2128, i32 0, i32 1 %t2130 = getelementptr inbounds %LSlice, ptr %t2128, i32 0, i32 2 %t2131 = getelementptr inbounds %LSlice, ptr %t2128, i32 0, i32 0 %t2132 = load i32, ptr %t2129 %t2133 = load i32, ptr %t2130 %t2134 = icmp sge i32 %t2132, %t2133 br i1 %t2134, label %grow452, label %put453 grow452: %t2135 = mul i32 %t2133, 2 %t2136 = icmp eq i32 %t2133, 0 %t2137 = select i1 %t2136, i32 8, i32 %t2135 %t2138 = getelementptr ptr, ptr null, i32 1 %t2139 = ptrtoint ptr %t2138 to i64 %t2140 = zext i32 %t2137 to i64 %t2141 = mul i64 %t2140, %t2139 %t2142 = load ptr, ptr %t2131 %t2143 = call ptr @realloc(ptr %t2142, i64 %t2141) store ptr %t2143, ptr %t2131 store i32 %t2137, ptr %t2130 br label %put453 put453: %t2144 = load ptr, ptr %t2131 %t2145 = getelementptr inbounds ptr, ptr %t2144, i32 %t2132 store ptr @.str6632, ptr %t2145 %t2146 = add i32 %t2132, 1 store i32 %t2146, ptr %t2129 br label %ifend447 ifend447: %t2147 = load ptr, ptr %t1 %t2148 = call i32 @lp_str_eq(ptr %t2147, ptr @.str6633) %t2149 = icmp ne i32 %t2148, 0 br i1 %t2149, label %then454, label %ifend456 then454: store ptr @.str6634, ptr %t380 %t2150 = load ptr, ptr %t387 %t2151 = getelementptr inbounds %LSlice, ptr %t2150, i32 0, i32 1 %t2152 = getelementptr inbounds %LSlice, ptr %t2150, i32 0, i32 2 %t2153 = getelementptr inbounds %LSlice, ptr %t2150, i32 0, i32 0 %t2154 = load i32, ptr %t2151 %t2155 = load i32, ptr %t2152 %t2156 = icmp sge i32 %t2154, %t2155 br i1 %t2156, label %grow457, label %put458 grow457: %t2157 = mul i32 %t2155, 2 %t2158 = icmp eq i32 %t2155, 0 %t2159 = select i1 %t2158, i32 8, i32 %t2157 %t2160 = getelementptr ptr, ptr null, i32 1 %t2161 = ptrtoint ptr %t2160 to i64 %t2162 = zext i32 %t2159 to i64 %t2163 = mul i64 %t2162, %t2161 %t2164 = load ptr, ptr %t2153 %t2165 = call ptr @realloc(ptr %t2164, i64 %t2163) store ptr %t2165, ptr %t2153 store i32 %t2159, ptr %t2152 br label %put458 put458: %t2166 = load ptr, ptr %t2153 %t2167 = getelementptr inbounds ptr, ptr %t2166, i32 %t2154 store ptr @.str6635, ptr %t2167 %t2168 = add i32 %t2154, 1 store i32 %t2168, ptr %t2151 %t2169 = load ptr, ptr %t387 %t2170 = getelementptr inbounds %LSlice, ptr %t2169, i32 0, i32 1 %t2171 = getelementptr inbounds %LSlice, ptr %t2169, i32 0, i32 2 %t2172 = getelementptr inbounds %LSlice, ptr %t2169, i32 0, i32 0 %t2173 = load i32, ptr %t2170 %t2174 = load i32, ptr %t2171 %t2175 = icmp sge i32 %t2173, %t2174 br i1 %t2175, label %grow459, label %put460 grow459: %t2176 = mul i32 %t2174, 2 %t2177 = icmp eq i32 %t2174, 0 %t2178 = select i1 %t2177, i32 8, i32 %t2176 %t2179 = getelementptr ptr, ptr null, i32 1 %t2180 = ptrtoint ptr %t2179 to i64 %t2181 = zext i32 %t2178 to i64 %t2182 = mul i64 %t2181, %t2180 %t2183 = load ptr, ptr %t2172 %t2184 = call ptr @realloc(ptr %t2183, i64 %t2182) store ptr %t2184, ptr %t2172 store i32 %t2178, ptr %t2171 br label %put460 put460: %t2185 = load ptr, ptr %t2172 %t2186 = getelementptr inbounds ptr, ptr %t2185, i32 %t2173 store ptr @.str6636, ptr %t2186 %t2187 = add i32 %t2173, 1 store i32 %t2187, ptr %t2170 %t2188 = load ptr, ptr %t387 %t2189 = getelementptr inbounds %LSlice, ptr %t2188, i32 0, i32 1 %t2190 = getelementptr inbounds %LSlice, ptr %t2188, i32 0, i32 2 %t2191 = getelementptr inbounds %LSlice, ptr %t2188, i32 0, i32 0 %t2192 = load i32, ptr %t2189 %t2193 = load i32, ptr %t2190 %t2194 = icmp sge i32 %t2192, %t2193 br i1 %t2194, label %grow461, label %put462 grow461: %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 %put462 put462: %t2204 = load ptr, ptr %t2191 %t2205 = getelementptr inbounds ptr, ptr %t2204, i32 %t2192 store ptr @.str6637, ptr %t2205 %t2206 = add i32 %t2192, 1 store i32 %t2206, ptr %t2189 %t2207 = load ptr, ptr %t387 %t2208 = getelementptr inbounds %LSlice, ptr %t2207, i32 0, i32 1 %t2209 = getelementptr inbounds %LSlice, ptr %t2207, i32 0, i32 2 %t2210 = getelementptr inbounds %LSlice, ptr %t2207, i32 0, i32 0 %t2211 = load i32, ptr %t2208 %t2212 = load i32, ptr %t2209 %t2213 = icmp sge i32 %t2211, %t2212 br i1 %t2213, label %grow463, label %put464 grow463: %t2214 = mul i32 %t2212, 2 %t2215 = icmp eq i32 %t2212, 0 %t2216 = select i1 %t2215, i32 8, i32 %t2214 %t2217 = getelementptr ptr, ptr null, i32 1 %t2218 = ptrtoint ptr %t2217 to i64 %t2219 = zext i32 %t2216 to i64 %t2220 = mul i64 %t2219, %t2218 %t2221 = load ptr, ptr %t2210 %t2222 = call ptr @realloc(ptr %t2221, i64 %t2220) store ptr %t2222, ptr %t2210 store i32 %t2216, ptr %t2209 br label %put464 put464: %t2223 = load ptr, ptr %t2210 %t2224 = getelementptr inbounds ptr, ptr %t2223, i32 %t2211 store ptr @.str6638, ptr %t2224 %t2225 = add i32 %t2211, 1 store i32 %t2225, ptr %t2208 %t2226 = load ptr, ptr %t387 %t2227 = getelementptr inbounds %LSlice, ptr %t2226, i32 0, i32 1 %t2228 = getelementptr inbounds %LSlice, ptr %t2226, i32 0, i32 2 %t2229 = getelementptr inbounds %LSlice, ptr %t2226, i32 0, i32 0 %t2230 = load i32, ptr %t2227 %t2231 = load i32, ptr %t2228 %t2232 = icmp sge i32 %t2230, %t2231 br i1 %t2232, label %grow465, label %put466 grow465: %t2233 = mul i32 %t2231, 2 %t2234 = icmp eq i32 %t2231, 0 %t2235 = select i1 %t2234, i32 8, i32 %t2233 %t2236 = getelementptr ptr, ptr null, i32 1 %t2237 = ptrtoint ptr %t2236 to i64 %t2238 = zext i32 %t2235 to i64 %t2239 = mul i64 %t2238, %t2237 %t2240 = load ptr, ptr %t2229 %t2241 = call ptr @realloc(ptr %t2240, i64 %t2239) store ptr %t2241, ptr %t2229 store i32 %t2235, ptr %t2228 br label %put466 put466: %t2242 = load ptr, ptr %t2229 %t2243 = getelementptr inbounds ptr, ptr %t2242, i32 %t2230 store ptr @.str6639, ptr %t2243 %t2244 = add i32 %t2230, 1 store i32 %t2244, ptr %t2227 br label %ifend456 ifend456: %t2245 = load ptr, ptr %t1 %t2246 = call i32 @lp_str_eq(ptr %t2245, ptr @.str6640) %t2247 = icmp ne i32 %t2246, 0 br i1 %t2247, label %then467, label %ifend469 then467: store ptr @.str6641, ptr %t380 %t2248 = load ptr, ptr %t387 %t2249 = getelementptr inbounds %LSlice, ptr %t2248, i32 0, i32 1 %t2250 = getelementptr inbounds %LSlice, ptr %t2248, i32 0, i32 2 %t2251 = getelementptr inbounds %LSlice, ptr %t2248, i32 0, i32 0 %t2252 = load i32, ptr %t2249 %t2253 = load i32, ptr %t2250 %t2254 = icmp sge i32 %t2252, %t2253 br i1 %t2254, label %grow470, label %put471 grow470: %t2255 = mul i32 %t2253, 2 %t2256 = icmp eq i32 %t2253, 0 %t2257 = select i1 %t2256, i32 8, i32 %t2255 %t2258 = getelementptr ptr, ptr null, i32 1 %t2259 = ptrtoint ptr %t2258 to i64 %t2260 = zext i32 %t2257 to i64 %t2261 = mul i64 %t2260, %t2259 %t2262 = load ptr, ptr %t2251 %t2263 = call ptr @realloc(ptr %t2262, i64 %t2261) store ptr %t2263, ptr %t2251 store i32 %t2257, ptr %t2250 br label %put471 put471: %t2264 = load ptr, ptr %t2251 %t2265 = getelementptr inbounds ptr, ptr %t2264, i32 %t2252 store ptr @.str6642, ptr %t2265 %t2266 = add i32 %t2252, 1 store i32 %t2266, ptr %t2249 %t2267 = load ptr, ptr %t387 %t2268 = getelementptr inbounds %LSlice, ptr %t2267, i32 0, i32 1 %t2269 = getelementptr inbounds %LSlice, ptr %t2267, i32 0, i32 2 %t2270 = getelementptr inbounds %LSlice, ptr %t2267, i32 0, i32 0 %t2271 = load i32, ptr %t2268 %t2272 = load i32, ptr %t2269 %t2273 = icmp sge i32 %t2271, %t2272 br i1 %t2273, label %grow472, label %put473 grow472: %t2274 = mul i32 %t2272, 2 %t2275 = icmp eq i32 %t2272, 0 %t2276 = select i1 %t2275, i32 8, i32 %t2274 %t2277 = getelementptr ptr, ptr null, i32 1 %t2278 = ptrtoint ptr %t2277 to i64 %t2279 = zext i32 %t2276 to i64 %t2280 = mul i64 %t2279, %t2278 %t2281 = load ptr, ptr %t2270 %t2282 = call ptr @realloc(ptr %t2281, i64 %t2280) store ptr %t2282, ptr %t2270 store i32 %t2276, ptr %t2269 br label %put473 put473: %t2283 = load ptr, ptr %t2270 %t2284 = getelementptr inbounds ptr, ptr %t2283, i32 %t2271 store ptr @.str6643, ptr %t2284 %t2285 = add i32 %t2271, 1 store i32 %t2285, ptr %t2268 %t2286 = load ptr, ptr %t387 %t2287 = getelementptr inbounds %LSlice, ptr %t2286, i32 0, i32 1 %t2288 = getelementptr inbounds %LSlice, ptr %t2286, i32 0, i32 2 %t2289 = getelementptr inbounds %LSlice, ptr %t2286, i32 0, i32 0 %t2290 = load i32, ptr %t2287 %t2291 = load i32, ptr %t2288 %t2292 = icmp sge i32 %t2290, %t2291 br i1 %t2292, label %grow474, label %put475 grow474: %t2293 = mul i32 %t2291, 2 %t2294 = icmp eq i32 %t2291, 0 %t2295 = select i1 %t2294, i32 8, i32 %t2293 %t2296 = getelementptr ptr, ptr null, i32 1 %t2297 = ptrtoint ptr %t2296 to i64 %t2298 = zext i32 %t2295 to i64 %t2299 = mul i64 %t2298, %t2297 %t2300 = load ptr, ptr %t2289 %t2301 = call ptr @realloc(ptr %t2300, i64 %t2299) store ptr %t2301, ptr %t2289 store i32 %t2295, ptr %t2288 br label %put475 put475: %t2302 = load ptr, ptr %t2289 %t2303 = getelementptr inbounds ptr, ptr %t2302, i32 %t2290 store ptr @.str6644, ptr %t2303 %t2304 = add i32 %t2290, 1 store i32 %t2304, ptr %t2287 %t2305 = load ptr, ptr %t387 %t2306 = getelementptr inbounds %LSlice, ptr %t2305, i32 0, i32 1 %t2307 = getelementptr inbounds %LSlice, ptr %t2305, i32 0, i32 2 %t2308 = getelementptr inbounds %LSlice, ptr %t2305, i32 0, i32 0 %t2309 = load i32, ptr %t2306 %t2310 = load i32, ptr %t2307 %t2311 = icmp sge i32 %t2309, %t2310 br i1 %t2311, label %grow476, label %put477 grow476: %t2312 = mul i32 %t2310, 2 %t2313 = icmp eq i32 %t2310, 0 %t2314 = select i1 %t2313, i32 8, i32 %t2312 %t2315 = getelementptr ptr, ptr null, i32 1 %t2316 = ptrtoint ptr %t2315 to i64 %t2317 = zext i32 %t2314 to i64 %t2318 = mul i64 %t2317, %t2316 %t2319 = load ptr, ptr %t2308 %t2320 = call ptr @realloc(ptr %t2319, i64 %t2318) store ptr %t2320, ptr %t2308 store i32 %t2314, ptr %t2307 br label %put477 put477: %t2321 = load ptr, ptr %t2308 %t2322 = getelementptr inbounds ptr, ptr %t2321, i32 %t2309 store ptr @.str6645, ptr %t2322 %t2323 = add i32 %t2309, 1 store i32 %t2323, ptr %t2306 %t2324 = load ptr, ptr %t387 %t2325 = getelementptr inbounds %LSlice, ptr %t2324, i32 0, i32 1 %t2326 = getelementptr inbounds %LSlice, ptr %t2324, i32 0, i32 2 %t2327 = getelementptr inbounds %LSlice, ptr %t2324, i32 0, i32 0 %t2328 = load i32, ptr %t2325 %t2329 = load i32, ptr %t2326 %t2330 = icmp sge i32 %t2328, %t2329 br i1 %t2330, label %grow478, label %put479 grow478: %t2331 = mul i32 %t2329, 2 %t2332 = icmp eq i32 %t2329, 0 %t2333 = select i1 %t2332, i32 8, i32 %t2331 %t2334 = getelementptr ptr, ptr null, i32 1 %t2335 = ptrtoint ptr %t2334 to i64 %t2336 = zext i32 %t2333 to i64 %t2337 = mul i64 %t2336, %t2335 %t2338 = load ptr, ptr %t2327 %t2339 = call ptr @realloc(ptr %t2338, i64 %t2337) store ptr %t2339, ptr %t2327 store i32 %t2333, ptr %t2326 br label %put479 put479: %t2340 = load ptr, ptr %t2327 %t2341 = getelementptr inbounds ptr, ptr %t2340, i32 %t2328 store ptr @.str6646, ptr %t2341 %t2342 = add i32 %t2328, 1 store i32 %t2342, ptr %t2325 br label %ifend469 ifend469: %t2343 = load ptr, ptr %t1 %t2344 = call i32 @lp_str_eq(ptr %t2343, ptr @.str6647) %t2345 = icmp ne i32 %t2344, 0 br i1 %t2345, label %then480, label %ifend482 then480: store ptr @.str6648, ptr %t380 %t2346 = load ptr, ptr %t387 %t2347 = getelementptr inbounds %LSlice, ptr %t2346, i32 0, i32 1 %t2348 = getelementptr inbounds %LSlice, ptr %t2346, i32 0, i32 2 %t2349 = getelementptr inbounds %LSlice, ptr %t2346, i32 0, i32 0 %t2350 = load i32, ptr %t2347 %t2351 = load i32, ptr %t2348 %t2352 = icmp sge i32 %t2350, %t2351 br i1 %t2352, label %grow483, label %put484 grow483: %t2353 = mul i32 %t2351, 2 %t2354 = icmp eq i32 %t2351, 0 %t2355 = select i1 %t2354, i32 8, i32 %t2353 %t2356 = getelementptr ptr, ptr null, i32 1 %t2357 = ptrtoint ptr %t2356 to i64 %t2358 = zext i32 %t2355 to i64 %t2359 = mul i64 %t2358, %t2357 %t2360 = load ptr, ptr %t2349 %t2361 = call ptr @realloc(ptr %t2360, i64 %t2359) store ptr %t2361, ptr %t2349 store i32 %t2355, ptr %t2348 br label %put484 put484: %t2362 = load ptr, ptr %t2349 %t2363 = getelementptr inbounds ptr, ptr %t2362, i32 %t2350 store ptr @.str6649, ptr %t2363 %t2364 = add i32 %t2350, 1 store i32 %t2364, ptr %t2347 %t2365 = load ptr, ptr %t387 %t2366 = getelementptr inbounds %LSlice, ptr %t2365, i32 0, i32 1 %t2367 = getelementptr inbounds %LSlice, ptr %t2365, i32 0, i32 2 %t2368 = getelementptr inbounds %LSlice, ptr %t2365, i32 0, i32 0 %t2369 = load i32, ptr %t2366 %t2370 = load i32, ptr %t2367 %t2371 = icmp sge i32 %t2369, %t2370 br i1 %t2371, label %grow485, label %put486 grow485: %t2372 = mul i32 %t2370, 2 %t2373 = icmp eq i32 %t2370, 0 %t2374 = select i1 %t2373, i32 8, i32 %t2372 %t2375 = getelementptr ptr, ptr null, i32 1 %t2376 = ptrtoint ptr %t2375 to i64 %t2377 = zext i32 %t2374 to i64 %t2378 = mul i64 %t2377, %t2376 %t2379 = load ptr, ptr %t2368 %t2380 = call ptr @realloc(ptr %t2379, i64 %t2378) store ptr %t2380, ptr %t2368 store i32 %t2374, ptr %t2367 br label %put486 put486: %t2381 = load ptr, ptr %t2368 %t2382 = getelementptr inbounds ptr, ptr %t2381, i32 %t2369 store ptr @.str6650, ptr %t2382 %t2383 = add i32 %t2369, 1 store i32 %t2383, ptr %t2366 %t2384 = load ptr, ptr %t387 %t2385 = getelementptr inbounds %LSlice, ptr %t2384, i32 0, i32 1 %t2386 = getelementptr inbounds %LSlice, ptr %t2384, i32 0, i32 2 %t2387 = getelementptr inbounds %LSlice, ptr %t2384, i32 0, i32 0 %t2388 = load i32, ptr %t2385 %t2389 = load i32, ptr %t2386 %t2390 = icmp sge i32 %t2388, %t2389 br i1 %t2390, label %grow487, label %put488 grow487: %t2391 = mul i32 %t2389, 2 %t2392 = icmp eq i32 %t2389, 0 %t2393 = select i1 %t2392, i32 8, i32 %t2391 %t2394 = getelementptr ptr, ptr null, i32 1 %t2395 = ptrtoint ptr %t2394 to i64 %t2396 = zext i32 %t2393 to i64 %t2397 = mul i64 %t2396, %t2395 %t2398 = load ptr, ptr %t2387 %t2399 = call ptr @realloc(ptr %t2398, i64 %t2397) store ptr %t2399, ptr %t2387 store i32 %t2393, ptr %t2386 br label %put488 put488: %t2400 = load ptr, ptr %t2387 %t2401 = getelementptr inbounds ptr, ptr %t2400, i32 %t2388 store ptr @.str6651, ptr %t2401 %t2402 = add i32 %t2388, 1 store i32 %t2402, ptr %t2385 %t2403 = load ptr, ptr %t387 %t2404 = getelementptr inbounds %LSlice, ptr %t2403, i32 0, i32 1 %t2405 = getelementptr inbounds %LSlice, ptr %t2403, i32 0, i32 2 %t2406 = getelementptr inbounds %LSlice, ptr %t2403, i32 0, i32 0 %t2407 = load i32, ptr %t2404 %t2408 = load i32, ptr %t2405 %t2409 = icmp sge i32 %t2407, %t2408 br i1 %t2409, label %grow489, label %put490 grow489: %t2410 = mul i32 %t2408, 2 %t2411 = icmp eq i32 %t2408, 0 %t2412 = select i1 %t2411, i32 8, i32 %t2410 %t2413 = getelementptr ptr, ptr null, i32 1 %t2414 = ptrtoint ptr %t2413 to i64 %t2415 = zext i32 %t2412 to i64 %t2416 = mul i64 %t2415, %t2414 %t2417 = load ptr, ptr %t2406 %t2418 = call ptr @realloc(ptr %t2417, i64 %t2416) store ptr %t2418, ptr %t2406 store i32 %t2412, ptr %t2405 br label %put490 put490: %t2419 = load ptr, ptr %t2406 %t2420 = getelementptr inbounds ptr, ptr %t2419, i32 %t2407 store ptr @.str6652, ptr %t2420 %t2421 = add i32 %t2407, 1 store i32 %t2421, ptr %t2404 br label %ifend482 ifend482: %t2422 = load ptr, ptr %t1 %t2423 = call i32 @lp_str_eq(ptr %t2422, ptr @.str6653) %t2424 = icmp ne i32 %t2423, 0 br i1 %t2424, label %then491, label %ifend493 then491: store ptr @.str6654, ptr %t380 %t2425 = load ptr, ptr %t387 %t2426 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 1 %t2427 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 2 %t2428 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 0 %t2429 = load i32, ptr %t2426 %t2430 = load i32, ptr %t2427 %t2431 = icmp sge i32 %t2429, %t2430 br i1 %t2431, label %grow494, label %put495 grow494: %t2432 = mul i32 %t2430, 2 %t2433 = icmp eq i32 %t2430, 0 %t2434 = select i1 %t2433, i32 8, i32 %t2432 %t2435 = getelementptr ptr, ptr null, i32 1 %t2436 = ptrtoint ptr %t2435 to i64 %t2437 = zext i32 %t2434 to i64 %t2438 = mul i64 %t2437, %t2436 %t2439 = load ptr, ptr %t2428 %t2440 = call ptr @realloc(ptr %t2439, i64 %t2438) store ptr %t2440, ptr %t2428 store i32 %t2434, ptr %t2427 br label %put495 put495: %t2441 = load ptr, ptr %t2428 %t2442 = getelementptr inbounds ptr, ptr %t2441, i32 %t2429 store ptr @.str6655, ptr %t2442 %t2443 = add i32 %t2429, 1 store i32 %t2443, ptr %t2426 br label %ifend493 ifend493: %t2444 = load ptr, ptr %t1 %t2445 = call i32 @lp_str_eq(ptr %t2444, ptr @.str6656) %t2446 = icmp ne i32 %t2445, 0 br i1 %t2446, label %then496, label %ifend498 then496: store ptr @.str6657, ptr %t380 %t2447 = load ptr, ptr %t387 %t2448 = getelementptr inbounds %LSlice, ptr %t2447, i32 0, i32 1 %t2449 = getelementptr inbounds %LSlice, ptr %t2447, i32 0, i32 2 %t2450 = getelementptr inbounds %LSlice, ptr %t2447, i32 0, i32 0 %t2451 = load i32, ptr %t2448 %t2452 = load i32, ptr %t2449 %t2453 = icmp sge i32 %t2451, %t2452 br i1 %t2453, label %grow499, label %put500 grow499: %t2454 = mul i32 %t2452, 2 %t2455 = icmp eq i32 %t2452, 0 %t2456 = select i1 %t2455, i32 8, i32 %t2454 %t2457 = getelementptr ptr, ptr null, i32 1 %t2458 = ptrtoint ptr %t2457 to i64 %t2459 = zext i32 %t2456 to i64 %t2460 = mul i64 %t2459, %t2458 %t2461 = load ptr, ptr %t2450 %t2462 = call ptr @realloc(ptr %t2461, i64 %t2460) store ptr %t2462, ptr %t2450 store i32 %t2456, ptr %t2449 br label %put500 put500: %t2463 = load ptr, ptr %t2450 %t2464 = getelementptr inbounds ptr, ptr %t2463, i32 %t2451 store ptr @.str6658, ptr %t2464 %t2465 = add i32 %t2451, 1 store i32 %t2465, ptr %t2448 %t2466 = load ptr, ptr %t387 %t2467 = getelementptr inbounds %LSlice, ptr %t2466, i32 0, i32 1 %t2468 = getelementptr inbounds %LSlice, ptr %t2466, i32 0, i32 2 %t2469 = getelementptr inbounds %LSlice, ptr %t2466, i32 0, i32 0 %t2470 = load i32, ptr %t2467 %t2471 = load i32, ptr %t2468 %t2472 = icmp sge i32 %t2470, %t2471 br i1 %t2472, label %grow501, label %put502 grow501: %t2473 = mul i32 %t2471, 2 %t2474 = icmp eq i32 %t2471, 0 %t2475 = select i1 %t2474, i32 8, i32 %t2473 %t2476 = getelementptr ptr, ptr null, i32 1 %t2477 = ptrtoint ptr %t2476 to i64 %t2478 = zext i32 %t2475 to i64 %t2479 = mul i64 %t2478, %t2477 %t2480 = load ptr, ptr %t2469 %t2481 = call ptr @realloc(ptr %t2480, i64 %t2479) store ptr %t2481, ptr %t2469 store i32 %t2475, ptr %t2468 br label %put502 put502: %t2482 = load ptr, ptr %t2469 %t2483 = getelementptr inbounds ptr, ptr %t2482, i32 %t2470 store ptr @.str6659, ptr %t2483 %t2484 = add i32 %t2470, 1 store i32 %t2484, ptr %t2467 %t2485 = load ptr, ptr %t387 %t2486 = getelementptr inbounds %LSlice, ptr %t2485, i32 0, i32 1 %t2487 = getelementptr inbounds %LSlice, ptr %t2485, i32 0, i32 2 %t2488 = getelementptr inbounds %LSlice, ptr %t2485, i32 0, i32 0 %t2489 = load i32, ptr %t2486 %t2490 = load i32, ptr %t2487 %t2491 = icmp sge i32 %t2489, %t2490 br i1 %t2491, label %grow503, label %put504 grow503: %t2492 = mul i32 %t2490, 2 %t2493 = icmp eq i32 %t2490, 0 %t2494 = select i1 %t2493, i32 8, i32 %t2492 %t2495 = getelementptr ptr, ptr null, i32 1 %t2496 = ptrtoint ptr %t2495 to i64 %t2497 = zext i32 %t2494 to i64 %t2498 = mul i64 %t2497, %t2496 %t2499 = load ptr, ptr %t2488 %t2500 = call ptr @realloc(ptr %t2499, i64 %t2498) store ptr %t2500, ptr %t2488 store i32 %t2494, ptr %t2487 br label %put504 put504: %t2501 = load ptr, ptr %t2488 %t2502 = getelementptr inbounds ptr, ptr %t2501, i32 %t2489 store ptr @.str6660, ptr %t2502 %t2503 = add i32 %t2489, 1 store i32 %t2503, ptr %t2486 br label %ifend498 ifend498: %t2504 = load ptr, ptr %t1 %t2505 = call i32 @lp_str_eq(ptr %t2504, ptr @.str6661) %t2506 = icmp ne i32 %t2505, 0 br i1 %t2506, label %then505, label %ifend507 then505: store ptr @.str6662, ptr %t380 %t2507 = load ptr, ptr %t387 %t2508 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 1 %t2509 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 2 %t2510 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 0 %t2511 = load i32, ptr %t2508 %t2512 = load i32, ptr %t2509 %t2513 = icmp sge i32 %t2511, %t2512 br i1 %t2513, label %grow508, label %put509 grow508: %t2514 = mul i32 %t2512, 2 %t2515 = icmp eq i32 %t2512, 0 %t2516 = select i1 %t2515, i32 8, i32 %t2514 %t2517 = getelementptr ptr, ptr null, i32 1 %t2518 = ptrtoint ptr %t2517 to i64 %t2519 = zext i32 %t2516 to i64 %t2520 = mul i64 %t2519, %t2518 %t2521 = load ptr, ptr %t2510 %t2522 = call ptr @realloc(ptr %t2521, i64 %t2520) store ptr %t2522, ptr %t2510 store i32 %t2516, ptr %t2509 br label %put509 put509: %t2523 = load ptr, ptr %t2510 %t2524 = getelementptr inbounds ptr, ptr %t2523, i32 %t2511 store ptr @.str6663, ptr %t2524 %t2525 = add i32 %t2511, 1 store i32 %t2525, ptr %t2508 %t2526 = load ptr, ptr %t387 %t2527 = getelementptr inbounds %LSlice, ptr %t2526, i32 0, i32 1 %t2528 = getelementptr inbounds %LSlice, ptr %t2526, i32 0, i32 2 %t2529 = getelementptr inbounds %LSlice, ptr %t2526, i32 0, i32 0 %t2530 = load i32, ptr %t2527 %t2531 = load i32, ptr %t2528 %t2532 = icmp sge i32 %t2530, %t2531 br i1 %t2532, label %grow510, label %put511 grow510: %t2533 = mul i32 %t2531, 2 %t2534 = icmp eq i32 %t2531, 0 %t2535 = select i1 %t2534, i32 8, i32 %t2533 %t2536 = getelementptr ptr, ptr null, i32 1 %t2537 = ptrtoint ptr %t2536 to i64 %t2538 = zext i32 %t2535 to i64 %t2539 = mul i64 %t2538, %t2537 %t2540 = load ptr, ptr %t2529 %t2541 = call ptr @realloc(ptr %t2540, i64 %t2539) store ptr %t2541, ptr %t2529 store i32 %t2535, ptr %t2528 br label %put511 put511: %t2542 = load ptr, ptr %t2529 %t2543 = getelementptr inbounds ptr, ptr %t2542, i32 %t2530 store ptr @.str6664, ptr %t2543 %t2544 = add i32 %t2530, 1 store i32 %t2544, ptr %t2527 %t2545 = load ptr, ptr %t387 %t2546 = getelementptr inbounds %LSlice, ptr %t2545, i32 0, i32 1 %t2547 = getelementptr inbounds %LSlice, ptr %t2545, i32 0, i32 2 %t2548 = getelementptr inbounds %LSlice, ptr %t2545, i32 0, i32 0 %t2549 = load i32, ptr %t2546 %t2550 = load i32, ptr %t2547 %t2551 = icmp sge i32 %t2549, %t2550 br i1 %t2551, label %grow512, label %put513 grow512: %t2552 = mul i32 %t2550, 2 %t2553 = icmp eq i32 %t2550, 0 %t2554 = select i1 %t2553, i32 8, i32 %t2552 %t2555 = getelementptr ptr, ptr null, i32 1 %t2556 = ptrtoint ptr %t2555 to i64 %t2557 = zext i32 %t2554 to i64 %t2558 = mul i64 %t2557, %t2556 %t2559 = load ptr, ptr %t2548 %t2560 = call ptr @realloc(ptr %t2559, i64 %t2558) store ptr %t2560, ptr %t2548 store i32 %t2554, ptr %t2547 br label %put513 put513: %t2561 = load ptr, ptr %t2548 %t2562 = getelementptr inbounds ptr, ptr %t2561, i32 %t2549 store ptr @.str6665, ptr %t2562 %t2563 = add i32 %t2549, 1 store i32 %t2563, ptr %t2546 %t2564 = load ptr, ptr %t387 %t2565 = getelementptr inbounds %LSlice, ptr %t2564, i32 0, i32 1 %t2566 = getelementptr inbounds %LSlice, ptr %t2564, i32 0, i32 2 %t2567 = getelementptr inbounds %LSlice, ptr %t2564, i32 0, i32 0 %t2568 = load i32, ptr %t2565 %t2569 = load i32, ptr %t2566 %t2570 = icmp sge i32 %t2568, %t2569 br i1 %t2570, label %grow514, label %put515 grow514: %t2571 = mul i32 %t2569, 2 %t2572 = icmp eq i32 %t2569, 0 %t2573 = select i1 %t2572, i32 8, i32 %t2571 %t2574 = getelementptr ptr, ptr null, i32 1 %t2575 = ptrtoint ptr %t2574 to i64 %t2576 = zext i32 %t2573 to i64 %t2577 = mul i64 %t2576, %t2575 %t2578 = load ptr, ptr %t2567 %t2579 = call ptr @realloc(ptr %t2578, i64 %t2577) store ptr %t2579, ptr %t2567 store i32 %t2573, ptr %t2566 br label %put515 put515: %t2580 = load ptr, ptr %t2567 %t2581 = getelementptr inbounds ptr, ptr %t2580, i32 %t2568 store ptr @.str6666, ptr %t2581 %t2582 = add i32 %t2568, 1 store i32 %t2582, ptr %t2565 br label %ifend507 ifend507: %t2583 = load ptr, ptr %t1 %t2584 = call i32 @lp_str_eq(ptr %t2583, ptr @.str6667) %t2585 = icmp ne i32 %t2584, 0 br i1 %t2585, label %then516, label %ifend518 then516: store ptr @.str6668, ptr %t380 %t2586 = load ptr, ptr %t387 %t2587 = getelementptr inbounds %LSlice, ptr %t2586, i32 0, i32 1 %t2588 = getelementptr inbounds %LSlice, ptr %t2586, i32 0, i32 2 %t2589 = getelementptr inbounds %LSlice, ptr %t2586, i32 0, i32 0 %t2590 = load i32, ptr %t2587 %t2591 = load i32, ptr %t2588 %t2592 = icmp sge i32 %t2590, %t2591 br i1 %t2592, label %grow519, label %put520 grow519: %t2593 = mul i32 %t2591, 2 %t2594 = icmp eq i32 %t2591, 0 %t2595 = select i1 %t2594, i32 8, i32 %t2593 %t2596 = getelementptr ptr, ptr null, i32 1 %t2597 = ptrtoint ptr %t2596 to i64 %t2598 = zext i32 %t2595 to i64 %t2599 = mul i64 %t2598, %t2597 %t2600 = load ptr, ptr %t2589 %t2601 = call ptr @realloc(ptr %t2600, i64 %t2599) store ptr %t2601, ptr %t2589 store i32 %t2595, ptr %t2588 br label %put520 put520: %t2602 = load ptr, ptr %t2589 %t2603 = getelementptr inbounds ptr, ptr %t2602, i32 %t2590 store ptr @.str6669, ptr %t2603 %t2604 = add i32 %t2590, 1 store i32 %t2604, ptr %t2587 %t2605 = load ptr, ptr %t387 %t2606 = getelementptr inbounds %LSlice, ptr %t2605, i32 0, i32 1 %t2607 = getelementptr inbounds %LSlice, ptr %t2605, i32 0, i32 2 %t2608 = getelementptr inbounds %LSlice, ptr %t2605, i32 0, i32 0 %t2609 = load i32, ptr %t2606 %t2610 = load i32, ptr %t2607 %t2611 = icmp sge i32 %t2609, %t2610 br i1 %t2611, label %grow521, label %put522 grow521: %t2612 = mul i32 %t2610, 2 %t2613 = icmp eq i32 %t2610, 0 %t2614 = select i1 %t2613, i32 8, i32 %t2612 %t2615 = getelementptr ptr, ptr null, i32 1 %t2616 = ptrtoint ptr %t2615 to i64 %t2617 = zext i32 %t2614 to i64 %t2618 = mul i64 %t2617, %t2616 %t2619 = load ptr, ptr %t2608 %t2620 = call ptr @realloc(ptr %t2619, i64 %t2618) store ptr %t2620, ptr %t2608 store i32 %t2614, ptr %t2607 br label %put522 put522: %t2621 = load ptr, ptr %t2608 %t2622 = getelementptr inbounds ptr, ptr %t2621, i32 %t2609 store ptr @.str6670, ptr %t2622 %t2623 = add i32 %t2609, 1 store i32 %t2623, ptr %t2606 %t2624 = load ptr, ptr %t387 %t2625 = getelementptr inbounds %LSlice, ptr %t2624, i32 0, i32 1 %t2626 = getelementptr inbounds %LSlice, ptr %t2624, i32 0, i32 2 %t2627 = getelementptr inbounds %LSlice, ptr %t2624, i32 0, i32 0 %t2628 = load i32, ptr %t2625 %t2629 = load i32, ptr %t2626 %t2630 = icmp sge i32 %t2628, %t2629 br i1 %t2630, label %grow523, label %put524 grow523: %t2631 = mul i32 %t2629, 2 %t2632 = icmp eq i32 %t2629, 0 %t2633 = select i1 %t2632, i32 8, i32 %t2631 %t2634 = getelementptr ptr, ptr null, i32 1 %t2635 = ptrtoint ptr %t2634 to i64 %t2636 = zext i32 %t2633 to i64 %t2637 = mul i64 %t2636, %t2635 %t2638 = load ptr, ptr %t2627 %t2639 = call ptr @realloc(ptr %t2638, i64 %t2637) store ptr %t2639, ptr %t2627 store i32 %t2633, ptr %t2626 br label %put524 put524: %t2640 = load ptr, ptr %t2627 %t2641 = getelementptr inbounds ptr, ptr %t2640, i32 %t2628 store ptr @.str6671, ptr %t2641 %t2642 = add i32 %t2628, 1 store i32 %t2642, ptr %t2625 %t2643 = load ptr, ptr %t387 %t2644 = getelementptr inbounds %LSlice, ptr %t2643, i32 0, i32 1 %t2645 = getelementptr inbounds %LSlice, ptr %t2643, i32 0, i32 2 %t2646 = getelementptr inbounds %LSlice, ptr %t2643, i32 0, i32 0 %t2647 = load i32, ptr %t2644 %t2648 = load i32, ptr %t2645 %t2649 = icmp sge i32 %t2647, %t2648 br i1 %t2649, label %grow525, label %put526 grow525: %t2650 = mul i32 %t2648, 2 %t2651 = icmp eq i32 %t2648, 0 %t2652 = select i1 %t2651, i32 8, i32 %t2650 %t2653 = getelementptr ptr, ptr null, i32 1 %t2654 = ptrtoint ptr %t2653 to i64 %t2655 = zext i32 %t2652 to i64 %t2656 = mul i64 %t2655, %t2654 %t2657 = load ptr, ptr %t2646 %t2658 = call ptr @realloc(ptr %t2657, i64 %t2656) store ptr %t2658, ptr %t2646 store i32 %t2652, ptr %t2645 br label %put526 put526: %t2659 = load ptr, ptr %t2646 %t2660 = getelementptr inbounds ptr, ptr %t2659, i32 %t2647 store ptr @.str6672, ptr %t2660 %t2661 = add i32 %t2647, 1 store i32 %t2661, ptr %t2644 %t2662 = load ptr, ptr %t387 %t2663 = getelementptr inbounds %LSlice, ptr %t2662, i32 0, i32 1 %t2664 = getelementptr inbounds %LSlice, ptr %t2662, i32 0, i32 2 %t2665 = getelementptr inbounds %LSlice, ptr %t2662, i32 0, i32 0 %t2666 = load i32, ptr %t2663 %t2667 = load i32, ptr %t2664 %t2668 = icmp sge i32 %t2666, %t2667 br i1 %t2668, label %grow527, label %put528 grow527: %t2669 = mul i32 %t2667, 2 %t2670 = icmp eq i32 %t2667, 0 %t2671 = select i1 %t2670, i32 8, i32 %t2669 %t2672 = getelementptr ptr, ptr null, i32 1 %t2673 = ptrtoint ptr %t2672 to i64 %t2674 = zext i32 %t2671 to i64 %t2675 = mul i64 %t2674, %t2673 %t2676 = load ptr, ptr %t2665 %t2677 = call ptr @realloc(ptr %t2676, i64 %t2675) store ptr %t2677, ptr %t2665 store i32 %t2671, ptr %t2664 br label %put528 put528: %t2678 = load ptr, ptr %t2665 %t2679 = getelementptr inbounds ptr, ptr %t2678, i32 %t2666 store ptr @.str6673, ptr %t2679 %t2680 = add i32 %t2666, 1 store i32 %t2680, ptr %t2663 %t2681 = load ptr, ptr %t387 %t2682 = getelementptr inbounds %LSlice, ptr %t2681, i32 0, i32 1 %t2683 = getelementptr inbounds %LSlice, ptr %t2681, i32 0, i32 2 %t2684 = getelementptr inbounds %LSlice, ptr %t2681, i32 0, i32 0 %t2685 = load i32, ptr %t2682 %t2686 = load i32, ptr %t2683 %t2687 = icmp sge i32 %t2685, %t2686 br i1 %t2687, label %grow529, label %put530 grow529: %t2688 = mul i32 %t2686, 2 %t2689 = icmp eq i32 %t2686, 0 %t2690 = select i1 %t2689, i32 8, i32 %t2688 %t2691 = getelementptr ptr, ptr null, i32 1 %t2692 = ptrtoint ptr %t2691 to i64 %t2693 = zext i32 %t2690 to i64 %t2694 = mul i64 %t2693, %t2692 %t2695 = load ptr, ptr %t2684 %t2696 = call ptr @realloc(ptr %t2695, i64 %t2694) store ptr %t2696, ptr %t2684 store i32 %t2690, ptr %t2683 br label %put530 put530: %t2697 = load ptr, ptr %t2684 %t2698 = getelementptr inbounds ptr, ptr %t2697, i32 %t2685 store ptr @.str6674, ptr %t2698 %t2699 = add i32 %t2685, 1 store i32 %t2699, ptr %t2682 %t2700 = load ptr, ptr %t387 %t2701 = getelementptr inbounds %LSlice, ptr %t2700, i32 0, i32 1 %t2702 = getelementptr inbounds %LSlice, ptr %t2700, i32 0, i32 2 %t2703 = getelementptr inbounds %LSlice, ptr %t2700, i32 0, i32 0 %t2704 = load i32, ptr %t2701 %t2705 = load i32, ptr %t2702 %t2706 = icmp sge i32 %t2704, %t2705 br i1 %t2706, label %grow531, label %put532 grow531: %t2707 = mul i32 %t2705, 2 %t2708 = icmp eq i32 %t2705, 0 %t2709 = select i1 %t2708, i32 8, i32 %t2707 %t2710 = getelementptr ptr, ptr null, i32 1 %t2711 = ptrtoint ptr %t2710 to i64 %t2712 = zext i32 %t2709 to i64 %t2713 = mul i64 %t2712, %t2711 %t2714 = load ptr, ptr %t2703 %t2715 = call ptr @realloc(ptr %t2714, i64 %t2713) store ptr %t2715, ptr %t2703 store i32 %t2709, ptr %t2702 br label %put532 put532: %t2716 = load ptr, ptr %t2703 %t2717 = getelementptr inbounds ptr, ptr %t2716, i32 %t2704 store ptr @.str6675, ptr %t2717 %t2718 = add i32 %t2704, 1 store i32 %t2718, ptr %t2701 %t2719 = load ptr, ptr %t387 %t2720 = getelementptr inbounds %LSlice, ptr %t2719, i32 0, i32 1 %t2721 = getelementptr inbounds %LSlice, ptr %t2719, i32 0, i32 2 %t2722 = getelementptr inbounds %LSlice, ptr %t2719, i32 0, i32 0 %t2723 = load i32, ptr %t2720 %t2724 = load i32, ptr %t2721 %t2725 = icmp sge i32 %t2723, %t2724 br i1 %t2725, label %grow533, label %put534 grow533: %t2726 = mul i32 %t2724, 2 %t2727 = icmp eq i32 %t2724, 0 %t2728 = select i1 %t2727, i32 8, i32 %t2726 %t2729 = getelementptr ptr, ptr null, i32 1 %t2730 = ptrtoint ptr %t2729 to i64 %t2731 = zext i32 %t2728 to i64 %t2732 = mul i64 %t2731, %t2730 %t2733 = load ptr, ptr %t2722 %t2734 = call ptr @realloc(ptr %t2733, i64 %t2732) store ptr %t2734, ptr %t2722 store i32 %t2728, ptr %t2721 br label %put534 put534: %t2735 = load ptr, ptr %t2722 %t2736 = getelementptr inbounds ptr, ptr %t2735, i32 %t2723 store ptr @.str6676, ptr %t2736 %t2737 = add i32 %t2723, 1 store i32 %t2737, ptr %t2720 %t2738 = load ptr, ptr %t387 %t2739 = getelementptr inbounds %LSlice, ptr %t2738, i32 0, i32 1 %t2740 = getelementptr inbounds %LSlice, ptr %t2738, i32 0, i32 2 %t2741 = getelementptr inbounds %LSlice, ptr %t2738, i32 0, i32 0 %t2742 = load i32, ptr %t2739 %t2743 = load i32, ptr %t2740 %t2744 = icmp sge i32 %t2742, %t2743 br i1 %t2744, label %grow535, label %put536 grow535: %t2745 = mul i32 %t2743, 2 %t2746 = icmp eq i32 %t2743, 0 %t2747 = select i1 %t2746, i32 8, i32 %t2745 %t2748 = getelementptr ptr, ptr null, i32 1 %t2749 = ptrtoint ptr %t2748 to i64 %t2750 = zext i32 %t2747 to i64 %t2751 = mul i64 %t2750, %t2749 %t2752 = load ptr, ptr %t2741 %t2753 = call ptr @realloc(ptr %t2752, i64 %t2751) store ptr %t2753, ptr %t2741 store i32 %t2747, ptr %t2740 br label %put536 put536: %t2754 = load ptr, ptr %t2741 %t2755 = getelementptr inbounds ptr, ptr %t2754, i32 %t2742 store ptr @.str6677, ptr %t2755 %t2756 = add i32 %t2742, 1 store i32 %t2756, ptr %t2739 br label %ifend518 ifend518: %t2757 = load ptr, ptr %t1 %t2758 = call i32 @lp_str_eq(ptr %t2757, ptr @.str6678) %t2759 = icmp ne i32 %t2758, 0 br i1 %t2759, label %then537, label %ifend539 then537: store ptr @.str6679, ptr %t380 %t2760 = load ptr, ptr %t387 %t2761 = getelementptr inbounds %LSlice, ptr %t2760, i32 0, i32 1 %t2762 = getelementptr inbounds %LSlice, ptr %t2760, i32 0, i32 2 %t2763 = getelementptr inbounds %LSlice, ptr %t2760, i32 0, i32 0 %t2764 = load i32, ptr %t2761 %t2765 = load i32, ptr %t2762 %t2766 = icmp sge i32 %t2764, %t2765 br i1 %t2766, label %grow540, label %put541 grow540: %t2767 = mul i32 %t2765, 2 %t2768 = icmp eq i32 %t2765, 0 %t2769 = select i1 %t2768, i32 8, i32 %t2767 %t2770 = getelementptr ptr, ptr null, i32 1 %t2771 = ptrtoint ptr %t2770 to i64 %t2772 = zext i32 %t2769 to i64 %t2773 = mul i64 %t2772, %t2771 %t2774 = load ptr, ptr %t2763 %t2775 = call ptr @realloc(ptr %t2774, i64 %t2773) store ptr %t2775, ptr %t2763 store i32 %t2769, ptr %t2762 br label %put541 put541: %t2776 = load ptr, ptr %t2763 %t2777 = getelementptr inbounds ptr, ptr %t2776, i32 %t2764 store ptr @.str6680, ptr %t2777 %t2778 = add i32 %t2764, 1 store i32 %t2778, ptr %t2761 br label %ifend539 ifend539: %t2779 = load ptr, ptr %t1 %t2780 = call i32 @lp_str_eq(ptr %t2779, ptr @.str6681) %t2781 = icmp ne i32 %t2780, 0 br i1 %t2781, label %then542, label %ifend544 then542: store ptr @.str6682, ptr %t380 %t2782 = load ptr, ptr %t387 %t2783 = getelementptr inbounds %LSlice, ptr %t2782, i32 0, i32 1 %t2784 = getelementptr inbounds %LSlice, ptr %t2782, i32 0, i32 2 %t2785 = getelementptr inbounds %LSlice, ptr %t2782, i32 0, i32 0 %t2786 = load i32, ptr %t2783 %t2787 = load i32, ptr %t2784 %t2788 = icmp sge i32 %t2786, %t2787 br i1 %t2788, label %grow545, label %put546 grow545: %t2789 = mul i32 %t2787, 2 %t2790 = icmp eq i32 %t2787, 0 %t2791 = select i1 %t2790, i32 8, i32 %t2789 %t2792 = getelementptr ptr, ptr null, i32 1 %t2793 = ptrtoint ptr %t2792 to i64 %t2794 = zext i32 %t2791 to i64 %t2795 = mul i64 %t2794, %t2793 %t2796 = load ptr, ptr %t2785 %t2797 = call ptr @realloc(ptr %t2796, i64 %t2795) store ptr %t2797, ptr %t2785 store i32 %t2791, ptr %t2784 br label %put546 put546: %t2798 = load ptr, ptr %t2785 %t2799 = getelementptr inbounds ptr, ptr %t2798, i32 %t2786 store ptr @.str6683, ptr %t2799 %t2800 = add i32 %t2786, 1 store i32 %t2800, ptr %t2783 br label %ifend544 ifend544: br label %ifend435 ifend435: %t2801 = load ptr, ptr %t0 %t2802 = call i32 @lp_str_eq(ptr %t2801, ptr @.str6684) %t2803 = icmp ne i32 %t2802, 0 br i1 %t2803, label %then547, label %ifend549 then547: %t2804 = load ptr, ptr %t1 %t2805 = call i32 @lp_str_eq(ptr %t2804, ptr @.str6685) %t2806 = icmp ne i32 %t2805, 0 br i1 %t2806, label %then550, label %ifend552 then550: store ptr @.str6686, ptr %t380 %t2807 = load ptr, ptr %t387 %t2808 = getelementptr inbounds %LSlice, ptr %t2807, i32 0, i32 1 %t2809 = getelementptr inbounds %LSlice, ptr %t2807, i32 0, i32 2 %t2810 = getelementptr inbounds %LSlice, ptr %t2807, i32 0, i32 0 %t2811 = load i32, ptr %t2808 %t2812 = load i32, ptr %t2809 %t2813 = icmp sge i32 %t2811, %t2812 br i1 %t2813, label %grow553, label %put554 grow553: %t2814 = mul i32 %t2812, 2 %t2815 = icmp eq i32 %t2812, 0 %t2816 = select i1 %t2815, i32 8, i32 %t2814 %t2817 = getelementptr ptr, ptr null, i32 1 %t2818 = ptrtoint ptr %t2817 to i64 %t2819 = zext i32 %t2816 to i64 %t2820 = mul i64 %t2819, %t2818 %t2821 = load ptr, ptr %t2810 %t2822 = call ptr @realloc(ptr %t2821, i64 %t2820) store ptr %t2822, ptr %t2810 store i32 %t2816, ptr %t2809 br label %put554 put554: %t2823 = load ptr, ptr %t2810 %t2824 = getelementptr inbounds ptr, ptr %t2823, i32 %t2811 store ptr @.str6687, ptr %t2824 %t2825 = add i32 %t2811, 1 store i32 %t2825, ptr %t2808 br label %ifend552 ifend552: br label %ifend549 ifend549: %t2826 = load ptr, ptr %t0 %t2827 = call i32 @lp_str_eq(ptr %t2826, ptr @.str6688) %t2828 = icmp ne i32 %t2827, 0 br i1 %t2828, label %then555, label %ifend557 then555: %t2829 = load ptr, ptr %t1 %t2830 = call i32 @lp_str_eq(ptr %t2829, ptr @.str6689) %t2831 = icmp ne i32 %t2830, 0 br i1 %t2831, label %then558, label %ifend560 then558: store ptr @.str6690, ptr %t380 br label %ifend560 ifend560: %t2832 = load ptr, ptr %t1 %t2833 = call i32 @lp_str_eq(ptr %t2832, ptr @.str6691) %t2834 = icmp ne i32 %t2833, 0 br i1 %t2834, label %then561, label %ifend563 then561: store ptr @.str6692, ptr %t380 %t2835 = load ptr, ptr %t387 %t2836 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 1 %t2837 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 2 %t2838 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 0 %t2839 = load i32, ptr %t2836 %t2840 = load i32, ptr %t2837 %t2841 = icmp sge i32 %t2839, %t2840 br i1 %t2841, label %grow564, label %put565 grow564: %t2842 = mul i32 %t2840, 2 %t2843 = icmp eq i32 %t2840, 0 %t2844 = select i1 %t2843, i32 8, i32 %t2842 %t2845 = getelementptr ptr, ptr null, i32 1 %t2846 = ptrtoint ptr %t2845 to i64 %t2847 = zext i32 %t2844 to i64 %t2848 = mul i64 %t2847, %t2846 %t2849 = load ptr, ptr %t2838 %t2850 = call ptr @realloc(ptr %t2849, i64 %t2848) store ptr %t2850, ptr %t2838 store i32 %t2844, ptr %t2837 br label %put565 put565: %t2851 = load ptr, ptr %t2838 %t2852 = getelementptr inbounds ptr, ptr %t2851, i32 %t2839 store ptr @.str6693, ptr %t2852 %t2853 = add i32 %t2839, 1 store i32 %t2853, ptr %t2836 br label %ifend563 ifend563: %t2854 = load ptr, ptr %t1 %t2855 = call i32 @lp_str_eq(ptr %t2854, ptr @.str6694) %t2856 = icmp ne i32 %t2855, 0 br i1 %t2856, label %then566, label %ifend568 then566: store ptr @.str6695, ptr %t380 br label %ifend568 ifend568: %t2857 = load ptr, ptr %t1 %t2858 = call i32 @lp_str_eq(ptr %t2857, ptr @.str6696) %t2859 = icmp ne i32 %t2858, 0 br i1 %t2859, label %then569, label %ifend571 then569: store ptr @.str6697, ptr %t380 %t2860 = load ptr, ptr %t387 %t2861 = getelementptr inbounds %LSlice, ptr %t2860, i32 0, i32 1 %t2862 = getelementptr inbounds %LSlice, ptr %t2860, i32 0, i32 2 %t2863 = getelementptr inbounds %LSlice, ptr %t2860, i32 0, i32 0 %t2864 = load i32, ptr %t2861 %t2865 = load i32, ptr %t2862 %t2866 = icmp sge i32 %t2864, %t2865 br i1 %t2866, label %grow572, label %put573 grow572: %t2867 = mul i32 %t2865, 2 %t2868 = icmp eq i32 %t2865, 0 %t2869 = select i1 %t2868, i32 8, i32 %t2867 %t2870 = getelementptr ptr, ptr null, i32 1 %t2871 = ptrtoint ptr %t2870 to i64 %t2872 = zext i32 %t2869 to i64 %t2873 = mul i64 %t2872, %t2871 %t2874 = load ptr, ptr %t2863 %t2875 = call ptr @realloc(ptr %t2874, i64 %t2873) store ptr %t2875, ptr %t2863 store i32 %t2869, ptr %t2862 br label %put573 put573: %t2876 = load ptr, ptr %t2863 %t2877 = getelementptr inbounds ptr, ptr %t2876, i32 %t2864 store ptr @.str6698, ptr %t2877 %t2878 = add i32 %t2864, 1 store i32 %t2878, ptr %t2861 br label %ifend571 ifend571: %t2879 = load ptr, ptr %t1 %t2880 = call i32 @lp_str_eq(ptr %t2879, ptr @.str6699) %t2881 = icmp ne i32 %t2880, 0 br i1 %t2881, label %then574, label %ifend576 then574: store ptr @.str6700, ptr %t380 %t2882 = load ptr, ptr %t387 %t2883 = getelementptr inbounds %LSlice, ptr %t2882, i32 0, i32 1 %t2884 = getelementptr inbounds %LSlice, ptr %t2882, i32 0, i32 2 %t2885 = getelementptr inbounds %LSlice, ptr %t2882, i32 0, i32 0 %t2886 = load i32, ptr %t2883 %t2887 = load i32, ptr %t2884 %t2888 = icmp sge i32 %t2886, %t2887 br i1 %t2888, label %grow577, label %put578 grow577: %t2889 = mul i32 %t2887, 2 %t2890 = icmp eq i32 %t2887, 0 %t2891 = select i1 %t2890, i32 8, i32 %t2889 %t2892 = getelementptr ptr, ptr null, i32 1 %t2893 = ptrtoint ptr %t2892 to i64 %t2894 = zext i32 %t2891 to i64 %t2895 = mul i64 %t2894, %t2893 %t2896 = load ptr, ptr %t2885 %t2897 = call ptr @realloc(ptr %t2896, i64 %t2895) store ptr %t2897, ptr %t2885 store i32 %t2891, ptr %t2884 br label %put578 put578: %t2898 = load ptr, ptr %t2885 %t2899 = getelementptr inbounds ptr, ptr %t2898, i32 %t2886 store ptr @.str6701, ptr %t2899 %t2900 = add i32 %t2886, 1 store i32 %t2900, ptr %t2883 br label %ifend576 ifend576: %t2901 = load ptr, ptr %t1 %t2902 = call i32 @lp_str_eq(ptr %t2901, ptr @.str6702) %t2903 = icmp ne i32 %t2902, 0 br i1 %t2903, label %then579, label %ifend581 then579: store ptr @.str6703, ptr %t380 %t2904 = load ptr, ptr %t387 %t2905 = getelementptr inbounds %LSlice, ptr %t2904, i32 0, i32 1 %t2906 = getelementptr inbounds %LSlice, ptr %t2904, i32 0, i32 2 %t2907 = getelementptr inbounds %LSlice, ptr %t2904, i32 0, i32 0 %t2908 = load i32, ptr %t2905 %t2909 = load i32, ptr %t2906 %t2910 = icmp sge i32 %t2908, %t2909 br i1 %t2910, label %grow582, label %put583 grow582: %t2911 = mul i32 %t2909, 2 %t2912 = icmp eq i32 %t2909, 0 %t2913 = select i1 %t2912, i32 8, i32 %t2911 %t2914 = getelementptr ptr, ptr null, i32 1 %t2915 = ptrtoint ptr %t2914 to i64 %t2916 = zext i32 %t2913 to i64 %t2917 = mul i64 %t2916, %t2915 %t2918 = load ptr, ptr %t2907 %t2919 = call ptr @realloc(ptr %t2918, i64 %t2917) store ptr %t2919, ptr %t2907 store i32 %t2913, ptr %t2906 br label %put583 put583: %t2920 = load ptr, ptr %t2907 %t2921 = getelementptr inbounds ptr, ptr %t2920, i32 %t2908 store ptr @.str6704, ptr %t2921 %t2922 = add i32 %t2908, 1 store i32 %t2922, ptr %t2905 %t2923 = load ptr, ptr %t387 %t2924 = getelementptr inbounds %LSlice, ptr %t2923, i32 0, i32 1 %t2925 = getelementptr inbounds %LSlice, ptr %t2923, i32 0, i32 2 %t2926 = getelementptr inbounds %LSlice, ptr %t2923, i32 0, i32 0 %t2927 = load i32, ptr %t2924 %t2928 = load i32, ptr %t2925 %t2929 = icmp sge i32 %t2927, %t2928 br i1 %t2929, label %grow584, label %put585 grow584: %t2930 = mul i32 %t2928, 2 %t2931 = icmp eq i32 %t2928, 0 %t2932 = select i1 %t2931, i32 8, i32 %t2930 %t2933 = getelementptr ptr, ptr null, i32 1 %t2934 = ptrtoint ptr %t2933 to i64 %t2935 = zext i32 %t2932 to i64 %t2936 = mul i64 %t2935, %t2934 %t2937 = load ptr, ptr %t2926 %t2938 = call ptr @realloc(ptr %t2937, i64 %t2936) store ptr %t2938, ptr %t2926 store i32 %t2932, ptr %t2925 br label %put585 put585: %t2939 = load ptr, ptr %t2926 %t2940 = getelementptr inbounds ptr, ptr %t2939, i32 %t2927 store ptr @.str6705, ptr %t2940 %t2941 = add i32 %t2927, 1 store i32 %t2941, ptr %t2924 br label %ifend581 ifend581: %t2942 = load ptr, ptr %t1 %t2943 = call i32 @lp_str_eq(ptr %t2942, ptr @.str6706) %t2944 = icmp ne i32 %t2943, 0 br i1 %t2944, label %then586, label %ifend588 then586: store ptr @.str6707, ptr %t380 br label %ifend588 ifend588: br label %ifend557 ifend557: %t2945 = load ptr, ptr %t0 %t2946 = call i32 @lp_str_eq(ptr %t2945, ptr @.str6708) %t2947 = icmp ne i32 %t2946, 0 br i1 %t2947, label %then589, label %ifend591 then589: %t2948 = load ptr, ptr %t1 %t2949 = call i32 @lp_str_eq(ptr %t2948, ptr @.str6709) %t2950 = icmp ne i32 %t2949, 0 br i1 %t2950, label %then592, label %ifend594 then592: store ptr @.str6710, ptr %t380 %t2951 = load ptr, ptr %t387 %t2952 = getelementptr inbounds %LSlice, ptr %t2951, i32 0, i32 1 %t2953 = getelementptr inbounds %LSlice, ptr %t2951, i32 0, i32 2 %t2954 = getelementptr inbounds %LSlice, ptr %t2951, i32 0, i32 0 %t2955 = load i32, ptr %t2952 %t2956 = load i32, ptr %t2953 %t2957 = icmp sge i32 %t2955, %t2956 br i1 %t2957, label %grow595, label %put596 grow595: %t2958 = mul i32 %t2956, 2 %t2959 = icmp eq i32 %t2956, 0 %t2960 = select i1 %t2959, i32 8, i32 %t2958 %t2961 = getelementptr ptr, ptr null, i32 1 %t2962 = ptrtoint ptr %t2961 to i64 %t2963 = zext i32 %t2960 to i64 %t2964 = mul i64 %t2963, %t2962 %t2965 = load ptr, ptr %t2954 %t2966 = call ptr @realloc(ptr %t2965, i64 %t2964) store ptr %t2966, ptr %t2954 store i32 %t2960, ptr %t2953 br label %put596 put596: %t2967 = load ptr, ptr %t2954 %t2968 = getelementptr inbounds ptr, ptr %t2967, i32 %t2955 store ptr @.str6711, ptr %t2968 %t2969 = add i32 %t2955, 1 store i32 %t2969, ptr %t2952 %t2970 = load ptr, ptr %t387 %t2971 = getelementptr inbounds %LSlice, ptr %t2970, i32 0, i32 1 %t2972 = getelementptr inbounds %LSlice, ptr %t2970, i32 0, i32 2 %t2973 = getelementptr inbounds %LSlice, ptr %t2970, i32 0, i32 0 %t2974 = load i32, ptr %t2971 %t2975 = load i32, ptr %t2972 %t2976 = icmp sge i32 %t2974, %t2975 br i1 %t2976, label %grow597, label %put598 grow597: %t2977 = mul i32 %t2975, 2 %t2978 = icmp eq i32 %t2975, 0 %t2979 = select i1 %t2978, i32 8, i32 %t2977 %t2980 = getelementptr ptr, ptr null, i32 1 %t2981 = ptrtoint ptr %t2980 to i64 %t2982 = zext i32 %t2979 to i64 %t2983 = mul i64 %t2982, %t2981 %t2984 = load ptr, ptr %t2973 %t2985 = call ptr @realloc(ptr %t2984, i64 %t2983) store ptr %t2985, ptr %t2973 store i32 %t2979, ptr %t2972 br label %put598 put598: %t2986 = load ptr, ptr %t2973 %t2987 = getelementptr inbounds ptr, ptr %t2986, i32 %t2974 store ptr @.str6712, ptr %t2987 %t2988 = add i32 %t2974, 1 store i32 %t2988, ptr %t2971 br label %ifend594 ifend594: %t2989 = load ptr, ptr %t1 %t2990 = call i32 @lp_str_eq(ptr %t2989, ptr @.str6713) %t2991 = icmp ne i32 %t2990, 0 br i1 %t2991, label %then599, label %ifend601 then599: store ptr @.str6714, ptr %t380 %t2992 = load ptr, ptr %t387 %t2993 = getelementptr inbounds %LSlice, ptr %t2992, i32 0, i32 1 %t2994 = getelementptr inbounds %LSlice, ptr %t2992, i32 0, i32 2 %t2995 = getelementptr inbounds %LSlice, ptr %t2992, i32 0, i32 0 %t2996 = load i32, ptr %t2993 %t2997 = load i32, ptr %t2994 %t2998 = icmp sge i32 %t2996, %t2997 br i1 %t2998, label %grow602, label %put603 grow602: %t2999 = mul i32 %t2997, 2 %t3000 = icmp eq i32 %t2997, 0 %t3001 = select i1 %t3000, i32 8, i32 %t2999 %t3002 = getelementptr ptr, ptr null, i32 1 %t3003 = ptrtoint ptr %t3002 to i64 %t3004 = zext i32 %t3001 to i64 %t3005 = mul i64 %t3004, %t3003 %t3006 = load ptr, ptr %t2995 %t3007 = call ptr @realloc(ptr %t3006, i64 %t3005) store ptr %t3007, ptr %t2995 store i32 %t3001, ptr %t2994 br label %put603 put603: %t3008 = load ptr, ptr %t2995 %t3009 = getelementptr inbounds ptr, ptr %t3008, i32 %t2996 store ptr @.str6715, ptr %t3009 %t3010 = add i32 %t2996, 1 store i32 %t3010, ptr %t2993 %t3011 = load ptr, ptr %t387 %t3012 = getelementptr inbounds %LSlice, ptr %t3011, i32 0, i32 1 %t3013 = getelementptr inbounds %LSlice, ptr %t3011, i32 0, i32 2 %t3014 = getelementptr inbounds %LSlice, ptr %t3011, i32 0, i32 0 %t3015 = load i32, ptr %t3012 %t3016 = load i32, ptr %t3013 %t3017 = icmp sge i32 %t3015, %t3016 br i1 %t3017, label %grow604, label %put605 grow604: %t3018 = mul i32 %t3016, 2 %t3019 = icmp eq i32 %t3016, 0 %t3020 = select i1 %t3019, i32 8, i32 %t3018 %t3021 = getelementptr ptr, ptr null, i32 1 %t3022 = ptrtoint ptr %t3021 to i64 %t3023 = zext i32 %t3020 to i64 %t3024 = mul i64 %t3023, %t3022 %t3025 = load ptr, ptr %t3014 %t3026 = call ptr @realloc(ptr %t3025, i64 %t3024) store ptr %t3026, ptr %t3014 store i32 %t3020, ptr %t3013 br label %put605 put605: %t3027 = load ptr, ptr %t3014 %t3028 = getelementptr inbounds ptr, ptr %t3027, i32 %t3015 store ptr @.str6716, ptr %t3028 %t3029 = add i32 %t3015, 1 store i32 %t3029, ptr %t3012 %t3030 = load ptr, ptr %t387 %t3031 = getelementptr inbounds %LSlice, ptr %t3030, i32 0, i32 1 %t3032 = getelementptr inbounds %LSlice, ptr %t3030, i32 0, i32 2 %t3033 = getelementptr inbounds %LSlice, ptr %t3030, i32 0, i32 0 %t3034 = load i32, ptr %t3031 %t3035 = load i32, ptr %t3032 %t3036 = icmp sge i32 %t3034, %t3035 br i1 %t3036, label %grow606, label %put607 grow606: %t3037 = mul i32 %t3035, 2 %t3038 = icmp eq i32 %t3035, 0 %t3039 = select i1 %t3038, i32 8, i32 %t3037 %t3040 = getelementptr ptr, ptr null, i32 1 %t3041 = ptrtoint ptr %t3040 to i64 %t3042 = zext i32 %t3039 to i64 %t3043 = mul i64 %t3042, %t3041 %t3044 = load ptr, ptr %t3033 %t3045 = call ptr @realloc(ptr %t3044, i64 %t3043) store ptr %t3045, ptr %t3033 store i32 %t3039, ptr %t3032 br label %put607 put607: %t3046 = load ptr, ptr %t3033 %t3047 = getelementptr inbounds ptr, ptr %t3046, i32 %t3034 store ptr @.str6717, ptr %t3047 %t3048 = add i32 %t3034, 1 store i32 %t3048, ptr %t3031 br label %ifend601 ifend601: %t3049 = load ptr, ptr %t1 %t3050 = call i32 @lp_str_eq(ptr %t3049, ptr @.str6718) %t3051 = icmp ne i32 %t3050, 0 br i1 %t3051, label %then608, label %ifend610 then608: store ptr @.str6719, ptr %t380 %t3052 = load ptr, ptr %t387 %t3053 = getelementptr inbounds %LSlice, ptr %t3052, i32 0, i32 1 %t3054 = getelementptr inbounds %LSlice, ptr %t3052, i32 0, i32 2 %t3055 = getelementptr inbounds %LSlice, ptr %t3052, i32 0, i32 0 %t3056 = load i32, ptr %t3053 %t3057 = load i32, ptr %t3054 %t3058 = icmp sge i32 %t3056, %t3057 br i1 %t3058, label %grow611, label %put612 grow611: %t3059 = mul i32 %t3057, 2 %t3060 = icmp eq i32 %t3057, 0 %t3061 = select i1 %t3060, i32 8, i32 %t3059 %t3062 = getelementptr ptr, ptr null, i32 1 %t3063 = ptrtoint ptr %t3062 to i64 %t3064 = zext i32 %t3061 to i64 %t3065 = mul i64 %t3064, %t3063 %t3066 = load ptr, ptr %t3055 %t3067 = call ptr @realloc(ptr %t3066, i64 %t3065) store ptr %t3067, ptr %t3055 store i32 %t3061, ptr %t3054 br label %put612 put612: %t3068 = load ptr, ptr %t3055 %t3069 = getelementptr inbounds ptr, ptr %t3068, i32 %t3056 store ptr @.str6720, ptr %t3069 %t3070 = add i32 %t3056, 1 store i32 %t3070, ptr %t3053 %t3071 = load ptr, ptr %t387 %t3072 = getelementptr inbounds %LSlice, ptr %t3071, i32 0, i32 1 %t3073 = getelementptr inbounds %LSlice, ptr %t3071, i32 0, i32 2 %t3074 = getelementptr inbounds %LSlice, ptr %t3071, i32 0, i32 0 %t3075 = load i32, ptr %t3072 %t3076 = load i32, ptr %t3073 %t3077 = icmp sge i32 %t3075, %t3076 br i1 %t3077, label %grow613, label %put614 grow613: %t3078 = mul i32 %t3076, 2 %t3079 = icmp eq i32 %t3076, 0 %t3080 = select i1 %t3079, i32 8, i32 %t3078 %t3081 = getelementptr ptr, ptr null, i32 1 %t3082 = ptrtoint ptr %t3081 to i64 %t3083 = zext i32 %t3080 to i64 %t3084 = mul i64 %t3083, %t3082 %t3085 = load ptr, ptr %t3074 %t3086 = call ptr @realloc(ptr %t3085, i64 %t3084) store ptr %t3086, ptr %t3074 store i32 %t3080, ptr %t3073 br label %put614 put614: %t3087 = load ptr, ptr %t3074 %t3088 = getelementptr inbounds ptr, ptr %t3087, i32 %t3075 store ptr @.str6721, ptr %t3088 %t3089 = add i32 %t3075, 1 store i32 %t3089, ptr %t3072 %t3090 = load ptr, ptr %t387 %t3091 = getelementptr inbounds %LSlice, ptr %t3090, i32 0, i32 1 %t3092 = getelementptr inbounds %LSlice, ptr %t3090, i32 0, i32 2 %t3093 = getelementptr inbounds %LSlice, ptr %t3090, i32 0, i32 0 %t3094 = load i32, ptr %t3091 %t3095 = load i32, ptr %t3092 %t3096 = icmp sge i32 %t3094, %t3095 br i1 %t3096, label %grow615, label %put616 grow615: %t3097 = mul i32 %t3095, 2 %t3098 = icmp eq i32 %t3095, 0 %t3099 = select i1 %t3098, i32 8, i32 %t3097 %t3100 = getelementptr ptr, ptr null, i32 1 %t3101 = ptrtoint ptr %t3100 to i64 %t3102 = zext i32 %t3099 to i64 %t3103 = mul i64 %t3102, %t3101 %t3104 = load ptr, ptr %t3093 %t3105 = call ptr @realloc(ptr %t3104, i64 %t3103) store ptr %t3105, ptr %t3093 store i32 %t3099, ptr %t3092 br label %put616 put616: %t3106 = load ptr, ptr %t3093 %t3107 = getelementptr inbounds ptr, ptr %t3106, i32 %t3094 store ptr @.str6722, ptr %t3107 %t3108 = add i32 %t3094, 1 store i32 %t3108, ptr %t3091 br label %ifend610 ifend610: %t3109 = load ptr, ptr %t1 %t3110 = call i32 @lp_str_eq(ptr %t3109, ptr @.str6723) %t3111 = icmp ne i32 %t3110, 0 br i1 %t3111, label %then617, label %ifend619 then617: store ptr @.str6724, ptr %t380 %t3112 = load ptr, ptr %t387 %t3113 = getelementptr inbounds %LSlice, ptr %t3112, i32 0, i32 1 %t3114 = getelementptr inbounds %LSlice, ptr %t3112, i32 0, i32 2 %t3115 = getelementptr inbounds %LSlice, ptr %t3112, i32 0, i32 0 %t3116 = load i32, ptr %t3113 %t3117 = load i32, ptr %t3114 %t3118 = icmp sge i32 %t3116, %t3117 br i1 %t3118, label %grow620, label %put621 grow620: %t3119 = mul i32 %t3117, 2 %t3120 = icmp eq i32 %t3117, 0 %t3121 = select i1 %t3120, i32 8, i32 %t3119 %t3122 = getelementptr ptr, ptr null, i32 1 %t3123 = ptrtoint ptr %t3122 to i64 %t3124 = zext i32 %t3121 to i64 %t3125 = mul i64 %t3124, %t3123 %t3126 = load ptr, ptr %t3115 %t3127 = call ptr @realloc(ptr %t3126, i64 %t3125) store ptr %t3127, ptr %t3115 store i32 %t3121, ptr %t3114 br label %put621 put621: %t3128 = load ptr, ptr %t3115 %t3129 = getelementptr inbounds ptr, ptr %t3128, i32 %t3116 store ptr @.str6725, ptr %t3129 %t3130 = add i32 %t3116, 1 store i32 %t3130, ptr %t3113 %t3131 = load ptr, ptr %t387 %t3132 = getelementptr inbounds %LSlice, ptr %t3131, i32 0, i32 1 %t3133 = getelementptr inbounds %LSlice, ptr %t3131, i32 0, i32 2 %t3134 = getelementptr inbounds %LSlice, ptr %t3131, i32 0, i32 0 %t3135 = load i32, ptr %t3132 %t3136 = load i32, ptr %t3133 %t3137 = icmp sge i32 %t3135, %t3136 br i1 %t3137, label %grow622, label %put623 grow622: %t3138 = mul i32 %t3136, 2 %t3139 = icmp eq i32 %t3136, 0 %t3140 = select i1 %t3139, i32 8, i32 %t3138 %t3141 = getelementptr ptr, ptr null, i32 1 %t3142 = ptrtoint ptr %t3141 to i64 %t3143 = zext i32 %t3140 to i64 %t3144 = mul i64 %t3143, %t3142 %t3145 = load ptr, ptr %t3134 %t3146 = call ptr @realloc(ptr %t3145, i64 %t3144) store ptr %t3146, ptr %t3134 store i32 %t3140, ptr %t3133 br label %put623 put623: %t3147 = load ptr, ptr %t3134 %t3148 = getelementptr inbounds ptr, ptr %t3147, i32 %t3135 store ptr @.str6726, ptr %t3148 %t3149 = add i32 %t3135, 1 store i32 %t3149, ptr %t3132 %t3150 = load ptr, ptr %t387 %t3151 = getelementptr inbounds %LSlice, ptr %t3150, i32 0, i32 1 %t3152 = getelementptr inbounds %LSlice, ptr %t3150, i32 0, i32 2 %t3153 = getelementptr inbounds %LSlice, ptr %t3150, i32 0, i32 0 %t3154 = load i32, ptr %t3151 %t3155 = load i32, ptr %t3152 %t3156 = icmp sge i32 %t3154, %t3155 br i1 %t3156, label %grow624, label %put625 grow624: %t3157 = mul i32 %t3155, 2 %t3158 = icmp eq i32 %t3155, 0 %t3159 = select i1 %t3158, i32 8, i32 %t3157 %t3160 = getelementptr ptr, ptr null, i32 1 %t3161 = ptrtoint ptr %t3160 to i64 %t3162 = zext i32 %t3159 to i64 %t3163 = mul i64 %t3162, %t3161 %t3164 = load ptr, ptr %t3153 %t3165 = call ptr @realloc(ptr %t3164, i64 %t3163) store ptr %t3165, ptr %t3153 store i32 %t3159, ptr %t3152 br label %put625 put625: %t3166 = load ptr, ptr %t3153 %t3167 = getelementptr inbounds ptr, ptr %t3166, i32 %t3154 store ptr @.str6727, ptr %t3167 %t3168 = add i32 %t3154, 1 store i32 %t3168, ptr %t3151 br label %ifend619 ifend619: %t3169 = load ptr, ptr %t1 %t3170 = call i32 @lp_str_eq(ptr %t3169, ptr @.str6728) %t3171 = icmp ne i32 %t3170, 0 br i1 %t3171, label %then626, label %ifend628 then626: store ptr @.str6729, ptr %t380 %t3172 = load ptr, ptr %t387 %t3173 = getelementptr inbounds %LSlice, ptr %t3172, i32 0, i32 1 %t3174 = getelementptr inbounds %LSlice, ptr %t3172, i32 0, i32 2 %t3175 = getelementptr inbounds %LSlice, ptr %t3172, i32 0, i32 0 %t3176 = load i32, ptr %t3173 %t3177 = load i32, ptr %t3174 %t3178 = icmp sge i32 %t3176, %t3177 br i1 %t3178, label %grow629, label %put630 grow629: %t3179 = mul i32 %t3177, 2 %t3180 = icmp eq i32 %t3177, 0 %t3181 = select i1 %t3180, i32 8, i32 %t3179 %t3182 = getelementptr ptr, ptr null, i32 1 %t3183 = ptrtoint ptr %t3182 to i64 %t3184 = zext i32 %t3181 to i64 %t3185 = mul i64 %t3184, %t3183 %t3186 = load ptr, ptr %t3175 %t3187 = call ptr @realloc(ptr %t3186, i64 %t3185) store ptr %t3187, ptr %t3175 store i32 %t3181, ptr %t3174 br label %put630 put630: %t3188 = load ptr, ptr %t3175 %t3189 = getelementptr inbounds ptr, ptr %t3188, i32 %t3176 store ptr @.str6730, ptr %t3189 %t3190 = add i32 %t3176, 1 store i32 %t3190, ptr %t3173 br label %ifend628 ifend628: %t3191 = load ptr, ptr %t1 %t3192 = call i32 @lp_str_eq(ptr %t3191, ptr @.str6731) %t3193 = icmp ne i32 %t3192, 0 br i1 %t3193, label %then631, label %ifend633 then631: store ptr @.str6732, ptr %t380 %t3194 = load ptr, ptr %t387 %t3195 = getelementptr inbounds %LSlice, ptr %t3194, i32 0, i32 1 %t3196 = getelementptr inbounds %LSlice, ptr %t3194, i32 0, i32 2 %t3197 = getelementptr inbounds %LSlice, ptr %t3194, i32 0, i32 0 %t3198 = load i32, ptr %t3195 %t3199 = load i32, ptr %t3196 %t3200 = icmp sge i32 %t3198, %t3199 br i1 %t3200, label %grow634, label %put635 grow634: %t3201 = mul i32 %t3199, 2 %t3202 = icmp eq i32 %t3199, 0 %t3203 = select i1 %t3202, i32 8, i32 %t3201 %t3204 = getelementptr ptr, ptr null, i32 1 %t3205 = ptrtoint ptr %t3204 to i64 %t3206 = zext i32 %t3203 to i64 %t3207 = mul i64 %t3206, %t3205 %t3208 = load ptr, ptr %t3197 %t3209 = call ptr @realloc(ptr %t3208, i64 %t3207) store ptr %t3209, ptr %t3197 store i32 %t3203, ptr %t3196 br label %put635 put635: %t3210 = load ptr, ptr %t3197 %t3211 = getelementptr inbounds ptr, ptr %t3210, i32 %t3198 store ptr @.str6733, ptr %t3211 %t3212 = add i32 %t3198, 1 store i32 %t3212, ptr %t3195 br label %ifend633 ifend633: br label %ifend591 ifend591: %t3213 = load ptr, ptr %t0 %t3214 = call i32 @lp_str_eq(ptr %t3213, ptr @.str6734) %t3215 = icmp ne i32 %t3214, 0 br i1 %t3215, label %then636, label %ifend638 then636: %t3216 = load ptr, ptr %t1 %t3217 = call i32 @lp_str_eq(ptr %t3216, ptr @.str6735) %t3218 = icmp ne i32 %t3217, 0 br i1 %t3218, label %then639, label %ifend641 then639: store ptr @.str6736, ptr %t380 %t3219 = load ptr, ptr %t387 %t3220 = getelementptr inbounds %LSlice, ptr %t3219, i32 0, i32 1 %t3221 = getelementptr inbounds %LSlice, ptr %t3219, i32 0, i32 2 %t3222 = getelementptr inbounds %LSlice, ptr %t3219, i32 0, i32 0 %t3223 = load i32, ptr %t3220 %t3224 = load i32, ptr %t3221 %t3225 = icmp sge i32 %t3223, %t3224 br i1 %t3225, label %grow642, label %put643 grow642: %t3226 = mul i32 %t3224, 2 %t3227 = icmp eq i32 %t3224, 0 %t3228 = select i1 %t3227, i32 8, i32 %t3226 %t3229 = getelementptr ptr, ptr null, i32 1 %t3230 = ptrtoint ptr %t3229 to i64 %t3231 = zext i32 %t3228 to i64 %t3232 = mul i64 %t3231, %t3230 %t3233 = load ptr, ptr %t3222 %t3234 = call ptr @realloc(ptr %t3233, i64 %t3232) store ptr %t3234, ptr %t3222 store i32 %t3228, ptr %t3221 br label %put643 put643: %t3235 = load ptr, ptr %t3222 %t3236 = getelementptr inbounds ptr, ptr %t3235, i32 %t3223 store ptr @.str6737, ptr %t3236 %t3237 = add i32 %t3223, 1 store i32 %t3237, ptr %t3220 %t3238 = load ptr, ptr %t387 %t3239 = getelementptr inbounds %LSlice, ptr %t3238, i32 0, i32 1 %t3240 = getelementptr inbounds %LSlice, ptr %t3238, i32 0, i32 2 %t3241 = getelementptr inbounds %LSlice, ptr %t3238, i32 0, i32 0 %t3242 = load i32, ptr %t3239 %t3243 = load i32, ptr %t3240 %t3244 = icmp sge i32 %t3242, %t3243 br i1 %t3244, label %grow644, label %put645 grow644: %t3245 = mul i32 %t3243, 2 %t3246 = icmp eq i32 %t3243, 0 %t3247 = select i1 %t3246, i32 8, i32 %t3245 %t3248 = getelementptr ptr, ptr null, i32 1 %t3249 = ptrtoint ptr %t3248 to i64 %t3250 = zext i32 %t3247 to i64 %t3251 = mul i64 %t3250, %t3249 %t3252 = load ptr, ptr %t3241 %t3253 = call ptr @realloc(ptr %t3252, i64 %t3251) store ptr %t3253, ptr %t3241 store i32 %t3247, ptr %t3240 br label %put645 put645: %t3254 = load ptr, ptr %t3241 %t3255 = getelementptr inbounds ptr, ptr %t3254, i32 %t3242 store ptr @.str6738, ptr %t3255 %t3256 = add i32 %t3242, 1 store i32 %t3256, ptr %t3239 %t3257 = load ptr, ptr %t387 %t3258 = getelementptr inbounds %LSlice, ptr %t3257, i32 0, i32 1 %t3259 = getelementptr inbounds %LSlice, ptr %t3257, i32 0, i32 2 %t3260 = getelementptr inbounds %LSlice, ptr %t3257, i32 0, i32 0 %t3261 = load i32, ptr %t3258 %t3262 = load i32, ptr %t3259 %t3263 = icmp sge i32 %t3261, %t3262 br i1 %t3263, label %grow646, label %put647 grow646: %t3264 = mul i32 %t3262, 2 %t3265 = icmp eq i32 %t3262, 0 %t3266 = select i1 %t3265, i32 8, i32 %t3264 %t3267 = getelementptr ptr, ptr null, i32 1 %t3268 = ptrtoint ptr %t3267 to i64 %t3269 = zext i32 %t3266 to i64 %t3270 = mul i64 %t3269, %t3268 %t3271 = load ptr, ptr %t3260 %t3272 = call ptr @realloc(ptr %t3271, i64 %t3270) store ptr %t3272, ptr %t3260 store i32 %t3266, ptr %t3259 br label %put647 put647: %t3273 = load ptr, ptr %t3260 %t3274 = getelementptr inbounds ptr, ptr %t3273, i32 %t3261 store ptr @.str6739, ptr %t3274 %t3275 = add i32 %t3261, 1 store i32 %t3275, ptr %t3258 %t3276 = load ptr, ptr %t387 %t3277 = getelementptr inbounds %LSlice, ptr %t3276, i32 0, i32 1 %t3278 = getelementptr inbounds %LSlice, ptr %t3276, i32 0, i32 2 %t3279 = getelementptr inbounds %LSlice, ptr %t3276, i32 0, i32 0 %t3280 = load i32, ptr %t3277 %t3281 = load i32, ptr %t3278 %t3282 = icmp sge i32 %t3280, %t3281 br i1 %t3282, label %grow648, label %put649 grow648: %t3283 = mul i32 %t3281, 2 %t3284 = icmp eq i32 %t3281, 0 %t3285 = select i1 %t3284, i32 8, i32 %t3283 %t3286 = getelementptr ptr, ptr null, i32 1 %t3287 = ptrtoint ptr %t3286 to i64 %t3288 = zext i32 %t3285 to i64 %t3289 = mul i64 %t3288, %t3287 %t3290 = load ptr, ptr %t3279 %t3291 = call ptr @realloc(ptr %t3290, i64 %t3289) store ptr %t3291, ptr %t3279 store i32 %t3285, ptr %t3278 br label %put649 put649: %t3292 = load ptr, ptr %t3279 %t3293 = getelementptr inbounds ptr, ptr %t3292, i32 %t3280 store ptr @.str6740, ptr %t3293 %t3294 = add i32 %t3280, 1 store i32 %t3294, ptr %t3277 br label %ifend641 ifend641: %t3295 = load ptr, ptr %t1 %t3296 = call i32 @lp_str_eq(ptr %t3295, ptr @.str6741) %t3297 = icmp ne i32 %t3296, 0 br i1 %t3297, label %then650, label %ifend652 then650: store ptr @.str6742, ptr %t380 %t3298 = load ptr, ptr %t387 %t3299 = getelementptr inbounds %LSlice, ptr %t3298, i32 0, i32 1 %t3300 = getelementptr inbounds %LSlice, ptr %t3298, i32 0, i32 2 %t3301 = getelementptr inbounds %LSlice, ptr %t3298, i32 0, i32 0 %t3302 = load i32, ptr %t3299 %t3303 = load i32, ptr %t3300 %t3304 = icmp sge i32 %t3302, %t3303 br i1 %t3304, label %grow653, label %put654 grow653: %t3305 = mul i32 %t3303, 2 %t3306 = icmp eq i32 %t3303, 0 %t3307 = select i1 %t3306, i32 8, i32 %t3305 %t3308 = getelementptr ptr, ptr null, i32 1 %t3309 = ptrtoint ptr %t3308 to i64 %t3310 = zext i32 %t3307 to i64 %t3311 = mul i64 %t3310, %t3309 %t3312 = load ptr, ptr %t3301 %t3313 = call ptr @realloc(ptr %t3312, i64 %t3311) store ptr %t3313, ptr %t3301 store i32 %t3307, ptr %t3300 br label %put654 put654: %t3314 = load ptr, ptr %t3301 %t3315 = getelementptr inbounds ptr, ptr %t3314, i32 %t3302 store ptr @.str6743, ptr %t3315 %t3316 = add i32 %t3302, 1 store i32 %t3316, ptr %t3299 %t3317 = load ptr, ptr %t387 %t3318 = getelementptr inbounds %LSlice, ptr %t3317, i32 0, i32 1 %t3319 = getelementptr inbounds %LSlice, ptr %t3317, i32 0, i32 2 %t3320 = getelementptr inbounds %LSlice, ptr %t3317, i32 0, i32 0 %t3321 = load i32, ptr %t3318 %t3322 = load i32, ptr %t3319 %t3323 = icmp sge i32 %t3321, %t3322 br i1 %t3323, label %grow655, label %put656 grow655: %t3324 = mul i32 %t3322, 2 %t3325 = icmp eq i32 %t3322, 0 %t3326 = select i1 %t3325, i32 8, i32 %t3324 %t3327 = getelementptr ptr, ptr null, i32 1 %t3328 = ptrtoint ptr %t3327 to i64 %t3329 = zext i32 %t3326 to i64 %t3330 = mul i64 %t3329, %t3328 %t3331 = load ptr, ptr %t3320 %t3332 = call ptr @realloc(ptr %t3331, i64 %t3330) store ptr %t3332, ptr %t3320 store i32 %t3326, ptr %t3319 br label %put656 put656: %t3333 = load ptr, ptr %t3320 %t3334 = getelementptr inbounds ptr, ptr %t3333, i32 %t3321 store ptr @.str6744, ptr %t3334 %t3335 = add i32 %t3321, 1 store i32 %t3335, ptr %t3318 %t3336 = load ptr, ptr %t387 %t3337 = getelementptr inbounds %LSlice, ptr %t3336, i32 0, i32 1 %t3338 = getelementptr inbounds %LSlice, ptr %t3336, i32 0, i32 2 %t3339 = getelementptr inbounds %LSlice, ptr %t3336, i32 0, i32 0 %t3340 = load i32, ptr %t3337 %t3341 = load i32, ptr %t3338 %t3342 = icmp sge i32 %t3340, %t3341 br i1 %t3342, label %grow657, label %put658 grow657: %t3343 = mul i32 %t3341, 2 %t3344 = icmp eq i32 %t3341, 0 %t3345 = select i1 %t3344, i32 8, i32 %t3343 %t3346 = getelementptr ptr, ptr null, i32 1 %t3347 = ptrtoint ptr %t3346 to i64 %t3348 = zext i32 %t3345 to i64 %t3349 = mul i64 %t3348, %t3347 %t3350 = load ptr, ptr %t3339 %t3351 = call ptr @realloc(ptr %t3350, i64 %t3349) store ptr %t3351, ptr %t3339 store i32 %t3345, ptr %t3338 br label %put658 put658: %t3352 = load ptr, ptr %t3339 %t3353 = getelementptr inbounds ptr, ptr %t3352, i32 %t3340 store ptr @.str6745, ptr %t3353 %t3354 = add i32 %t3340, 1 store i32 %t3354, ptr %t3337 %t3355 = load ptr, ptr %t387 %t3356 = getelementptr inbounds %LSlice, ptr %t3355, i32 0, i32 1 %t3357 = getelementptr inbounds %LSlice, ptr %t3355, i32 0, i32 2 %t3358 = getelementptr inbounds %LSlice, ptr %t3355, i32 0, i32 0 %t3359 = load i32, ptr %t3356 %t3360 = load i32, ptr %t3357 %t3361 = icmp sge i32 %t3359, %t3360 br i1 %t3361, label %grow659, label %put660 grow659: %t3362 = mul i32 %t3360, 2 %t3363 = icmp eq i32 %t3360, 0 %t3364 = select i1 %t3363, i32 8, i32 %t3362 %t3365 = getelementptr ptr, ptr null, i32 1 %t3366 = ptrtoint ptr %t3365 to i64 %t3367 = zext i32 %t3364 to i64 %t3368 = mul i64 %t3367, %t3366 %t3369 = load ptr, ptr %t3358 %t3370 = call ptr @realloc(ptr %t3369, i64 %t3368) store ptr %t3370, ptr %t3358 store i32 %t3364, ptr %t3357 br label %put660 put660: %t3371 = load ptr, ptr %t3358 %t3372 = getelementptr inbounds ptr, ptr %t3371, i32 %t3359 store ptr @.str6746, ptr %t3372 %t3373 = add i32 %t3359, 1 store i32 %t3373, ptr %t3356 br label %ifend652 ifend652: %t3374 = load ptr, ptr %t1 %t3375 = call i32 @lp_str_eq(ptr %t3374, ptr @.str6747) %t3376 = icmp ne i32 %t3375, 0 br i1 %t3376, label %then661, label %ifend663 then661: store ptr @.str6748, ptr %t380 br label %ifend663 ifend663: br label %ifend638 ifend638: %t3377 = load ptr, ptr %t0 %t3378 = call i32 @lp_str_eq(ptr %t3377, ptr @.str6749) %t3379 = icmp ne i32 %t3378, 0 br i1 %t3379, label %then664, label %ifend666 then664: %t3380 = load ptr, ptr %t1 %t3381 = call i32 @lp_str_eq(ptr %t3380, ptr @.str6750) %t3382 = icmp ne i32 %t3381, 0 br i1 %t3382, label %then667, label %ifend669 then667: %t3383 = call i32 @fn_has_prefabs() %t3384 = icmp eq i32 %t3383, 0 %t3385 = zext i1 %t3384 to i32 %t3386 = icmp ne i32 %t3385, 0 br i1 %t3386, label %then670, label %ifend672 then670: call void @fn_perr(ptr @.str6751) br label %ifend672 ifend672: %t3387 = call ptr @fn_find_comp(ptr @.str6752) store ptr %t3387, ptr %t3388 %t3389 = load ptr, ptr %t3388 %t3390 = icmp eq ptr %t3389, null %t3391 = zext i1 %t3390 to i32 %t3392 = icmp ne i32 %t3391, 0 br i1 %t3392, label %then673, label %ifend675 then673: call void @fn_perr(ptr @.str6753) br label %ifend675 ifend675: %t3393 = getelementptr %LSlice, ptr null, i32 1 %t3394 = ptrtoint ptr %t3393 to i64 %t3395 = call ptr @malloc(i64 %t3394) %t3396 = getelementptr inbounds %LSlice, ptr %t3395, i32 0, i32 0 store ptr null, ptr %t3396 %t3397 = getelementptr inbounds %LSlice, ptr %t3395, i32 0, i32 1 store i32 0, ptr %t3397 %t3398 = getelementptr inbounds %LSlice, ptr %t3395, i32 0, i32 2 store i32 0, ptr %t3398 store ptr %t3395, ptr %t3399 %t3400 = load ptr, ptr %t3399 %t3401 = getelementptr inbounds %LSlice, ptr %t3400, i32 0, i32 1 %t3402 = getelementptr inbounds %LSlice, ptr %t3400, i32 0, i32 2 %t3403 = getelementptr inbounds %LSlice, ptr %t3400, i32 0, i32 0 %t3404 = load i32, ptr %t3401 %t3405 = load i32, ptr %t3402 %t3406 = icmp sge i32 %t3404, %t3405 br i1 %t3406, label %grow676, label %put677 grow676: %t3407 = mul i32 %t3405, 2 %t3408 = icmp eq i32 %t3405, 0 %t3409 = select i1 %t3408, i32 8, i32 %t3407 %t3410 = getelementptr ptr, ptr null, i32 1 %t3411 = ptrtoint ptr %t3410 to i64 %t3412 = zext i32 %t3409 to i64 %t3413 = mul i64 %t3412, %t3411 %t3414 = load ptr, ptr %t3403 %t3415 = call ptr @realloc(ptr %t3414, i64 %t3413) store ptr %t3415, ptr %t3403 store i32 %t3409, ptr %t3402 br label %put677 put677: %t3416 = load ptr, ptr %t3403 %t3417 = getelementptr inbounds ptr, ptr %t3416, i32 %t3404 store ptr @.str6754, ptr %t3417 %t3418 = add i32 %t3404, 1 store i32 %t3418, ptr %t3401 %t3419 = load ptr, ptr %t3399 %t3420 = getelementptr inbounds %LSlice, ptr %t3419, i32 0, i32 1 %t3421 = getelementptr inbounds %LSlice, ptr %t3419, i32 0, i32 2 %t3422 = getelementptr inbounds %LSlice, ptr %t3419, i32 0, i32 0 %t3423 = load i32, ptr %t3420 %t3424 = load i32, ptr %t3421 %t3425 = icmp sge i32 %t3423, %t3424 br i1 %t3425, label %grow678, label %put679 grow678: %t3426 = mul i32 %t3424, 2 %t3427 = icmp eq i32 %t3424, 0 %t3428 = select i1 %t3427, i32 8, i32 %t3426 %t3429 = getelementptr ptr, ptr null, i32 1 %t3430 = ptrtoint ptr %t3429 to i64 %t3431 = zext i32 %t3428 to i64 %t3432 = mul i64 %t3431, %t3430 %t3433 = load ptr, ptr %t3422 %t3434 = call ptr @realloc(ptr %t3433, i64 %t3432) store ptr %t3434, ptr %t3422 store i32 %t3428, ptr %t3421 br label %put679 put679: %t3435 = load ptr, ptr %t3422 %t3436 = getelementptr inbounds ptr, ptr %t3435, i32 %t3423 store ptr @.str6755, ptr %t3436 %t3437 = add i32 %t3423, 1 store i32 %t3437, ptr %t3420 %t3438 = load ptr, ptr %t2 %t3439 = load ptr, ptr %t3399 call void @fn_reorder_named(ptr %t3438, ptr %t3439) %t3440 = load ptr, ptr %t2 %t3441 = getelementptr inbounds %Cmp_Node, ptr %t3440, i32 0, i32 7 %t3442 = load ptr, ptr %t3441 %t3443 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 0 %t3444 = load ptr, ptr %t3443 %t3445 = getelementptr inbounds ptr, ptr %t3444, i32 0 %t3446 = load ptr, ptr %t3445 %t3447 = call ptr @fn_emit_expr(ptr %t3446) store ptr %t3447, ptr %t3448 %t3449 = load ptr, ptr %t2 %t3450 = getelementptr inbounds %Cmp_Node, ptr %t3449, i32 0, i32 7 %t3451 = load ptr, ptr %t3450 %t3452 = getelementptr inbounds %LSlice, ptr %t3451, i32 0, i32 0 %t3453 = load ptr, ptr %t3452 %t3454 = getelementptr inbounds ptr, ptr %t3453, i32 1 %t3455 = load ptr, ptr %t3454 %t3456 = call ptr @fn_emit_expr(ptr %t3455) store ptr %t3456, ptr %t3457 %t3458 = load ptr, ptr %t3448 %t3459 = getelementptr inbounds %Cmp_Val, ptr %t3458, i32 0, i32 0 %t3460 = load ptr, ptr %t3459 %t3461 = call ptr @lp_str_concat(ptr @.str6756, ptr %t3460) %t3462 = call ptr @lp_str_concat(ptr %t3461, ptr @.str6757) %t3463 = call ptr @fn_emit_bind(ptr %t3462) store ptr %t3463, ptr %t3464 %t3465 = call ptr @fn_itoa(i32 1024) store ptr %t3465, ptr %t3466 %t3467 = load ptr, ptr %t3466 %t3468 = call ptr @lp_str_concat(ptr @.str6758, ptr %t3467) %t3469 = call ptr @lp_str_concat(ptr %t3468, ptr @.str6759) %t3470 = load ptr, ptr %t3464 %t3471 = call ptr @lp_str_concat(ptr %t3469, ptr %t3470) %t3472 = call ptr @fn_emit_bind(ptr %t3471) store ptr %t3472, ptr %t3473 %t3474 = load ptr, ptr %t3473 %t3475 = call ptr @lp_str_concat(ptr @.str6760, ptr %t3474) %t3476 = call ptr @lp_str_concat(ptr %t3475, ptr @.str6761) %t3477 = load ptr, ptr %t3388 %t3478 = call i32 @fn_field_index(ptr %t3477, ptr @.str6762) %t3479 = call ptr @fn_itoa(i32 %t3478) %t3480 = call ptr @lp_str_concat(ptr %t3476, ptr %t3479) %t3481 = call ptr @fn_emit_bind(ptr %t3480) store ptr %t3481, ptr %t3482 %t3483 = load ptr, ptr %t3473 %t3484 = call ptr @lp_str_concat(ptr @.str6763, ptr %t3483) %t3485 = call ptr @lp_str_concat(ptr %t3484, ptr @.str6764) %t3486 = load ptr, ptr %t3388 %t3487 = call i32 @fn_field_index(ptr %t3486, ptr @.str6765) %t3488 = call ptr @fn_itoa(i32 %t3487) %t3489 = call ptr @lp_str_concat(ptr %t3485, ptr %t3488) %t3490 = call ptr @fn_emit_bind(ptr %t3489) store ptr %t3490, ptr %t3491 %t3492 = load ptr, ptr %t3457 %t3493 = getelementptr inbounds %Cmp_Val, ptr %t3492, i32 0, i32 0 %t3494 = load ptr, ptr %t3493 %t3495 = call ptr @fn_vec_x(ptr %t3494) store ptr %t3495, ptr %t3496 %t3497 = load ptr, ptr %t3457 %t3498 = getelementptr inbounds %Cmp_Val, ptr %t3497, i32 0, i32 0 %t3499 = load ptr, ptr %t3498 %t3500 = call ptr @fn_vec_y(ptr %t3499) store ptr %t3500, ptr %t3501 call void @fn_emit(ptr @.str6766) %t3502 = load ptr, ptr %t3496 call void @fn_emit(ptr %t3502) call void @fn_emit(ptr @.str6767) %t3503 = load ptr, ptr %t3482 call void @fn_emit(ptr %t3503) call void @fn_emit(ptr @.str6768) call void @fn_emit(ptr @.str6769) %t3504 = load ptr, ptr %t3501 call void @fn_emit(ptr %t3504) call void @fn_emit(ptr @.str6770) %t3505 = load ptr, ptr %t3491 call void @fn_emit(ptr %t3505) call void @fn_emit(ptr @.str6771) %t3506 = load ptr, ptr %t3464 %t3507 = call ptr @fn_val(ptr %t3506, ptr @.str6772) store ptr %t3507, ptr %retval br label %ret ifend669: %t3508 = load ptr, ptr %t1 %t3509 = call i32 @lp_str_eq(ptr %t3508, ptr @.str6773) %t3510 = icmp ne i32 %t3509, 0 br i1 %t3510, label %then680, label %ifend682 then680: %t3511 = call i32 @fn_has_prefabs() %t3512 = icmp eq i32 %t3511, 0 %t3513 = zext i1 %t3512 to i32 %t3514 = icmp ne i32 %t3513, 0 br i1 %t3514, label %then683, label %ifend685 then683: call void @fn_perr(ptr @.str6774) br label %ifend685 ifend685: %t3515 = getelementptr %LSlice, ptr null, i32 1 %t3516 = ptrtoint ptr %t3515 to i64 %t3517 = call ptr @malloc(i64 %t3516) %t3518 = getelementptr inbounds %LSlice, ptr %t3517, i32 0, i32 0 store ptr null, ptr %t3518 %t3519 = getelementptr inbounds %LSlice, ptr %t3517, i32 0, i32 1 store i32 0, ptr %t3519 %t3520 = getelementptr inbounds %LSlice, ptr %t3517, i32 0, i32 2 store i32 0, ptr %t3520 store ptr %t3517, ptr %t3521 %t3522 = load ptr, ptr %t3521 %t3523 = getelementptr inbounds %LSlice, ptr %t3522, i32 0, i32 1 %t3524 = getelementptr inbounds %LSlice, ptr %t3522, i32 0, i32 2 %t3525 = getelementptr inbounds %LSlice, ptr %t3522, i32 0, i32 0 %t3526 = load i32, ptr %t3523 %t3527 = load i32, ptr %t3524 %t3528 = icmp sge i32 %t3526, %t3527 br i1 %t3528, label %grow686, label %put687 grow686: %t3529 = mul i32 %t3527, 2 %t3530 = icmp eq i32 %t3527, 0 %t3531 = select i1 %t3530, i32 8, i32 %t3529 %t3532 = getelementptr ptr, ptr null, i32 1 %t3533 = ptrtoint ptr %t3532 to i64 %t3534 = zext i32 %t3531 to i64 %t3535 = mul i64 %t3534, %t3533 %t3536 = load ptr, ptr %t3525 %t3537 = call ptr @realloc(ptr %t3536, i64 %t3535) store ptr %t3537, ptr %t3525 store i32 %t3531, ptr %t3524 br label %put687 put687: %t3538 = load ptr, ptr %t3525 %t3539 = getelementptr inbounds ptr, ptr %t3538, i32 %t3526 store ptr @.str6775, ptr %t3539 %t3540 = add i32 %t3526, 1 store i32 %t3540, ptr %t3523 %t3541 = load ptr, ptr %t2 %t3542 = load ptr, ptr %t3521 call void @fn_reorder_named(ptr %t3541, ptr %t3542) %t3543 = load ptr, ptr %t2 %t3544 = getelementptr inbounds %Cmp_Node, ptr %t3543, i32 0, i32 7 %t3545 = load ptr, ptr %t3544 %t3546 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 1 %t3547 = load i32, ptr %t3546 %t3548 = icmp ne i32 %t3547, 1 %t3549 = zext i1 %t3548 to i32 %t3550 = icmp ne i32 %t3549, 0 br i1 %t3550, label %then688, label %ifend690 then688: call void @fn_perr(ptr @.str6776) br label %ifend690 ifend690: %t3551 = load ptr, ptr %t2 %t3552 = getelementptr inbounds %Cmp_Node, ptr %t3551, i32 0, i32 7 %t3553 = load ptr, ptr %t3552 %t3554 = getelementptr inbounds %LSlice, ptr %t3553, i32 0, i32 0 %t3555 = load ptr, ptr %t3554 %t3556 = getelementptr inbounds ptr, ptr %t3555, i32 0 %t3557 = load ptr, ptr %t3556 %t3558 = call ptr @fn_emit_expr(ptr %t3557) store ptr %t3558, ptr %t3559 %t3560 = load ptr, ptr %t3559 %t3561 = getelementptr inbounds %Cmp_Val, ptr %t3560, i32 0, i32 0 %t3562 = load ptr, ptr %t3561 %t3563 = call ptr @lp_str_concat(ptr @.str6777, ptr %t3562) %t3564 = call ptr @lp_str_concat(ptr %t3563, ptr @.str6778) %t3565 = call ptr @fn_emit_bind(ptr %t3564) %t3566 = call ptr @fn_val(ptr %t3565, ptr @.str6779) store ptr %t3566, ptr %retval br label %ret ifend682: %t3567 = load ptr, ptr %t1 %t3568 = call ptr @lp_str_concat(ptr @.str6780, ptr %t3567) call void @fn_perr(ptr %t3568) br label %ifend666 ifend666: %t3569 = load ptr, ptr %t0 %t3570 = call i32 @lp_str_eq(ptr %t3569, ptr @.str6781) %t3571 = icmp ne i32 %t3570, 0 br i1 %t3571, label %then691, label %ifend693 then691: %t3572 = load ptr, ptr %t1 %t3573 = call i32 @lp_str_eq(ptr %t3572, ptr @.str6782) %t3574 = icmp ne i32 %t3573, 0 br i1 %t3574, label %then694, label %ifend696 then694: store ptr @.str6783, ptr %t380 %t3575 = load ptr, ptr %t387 %t3576 = getelementptr inbounds %LSlice, ptr %t3575, i32 0, i32 1 %t3577 = getelementptr inbounds %LSlice, ptr %t3575, i32 0, i32 2 %t3578 = getelementptr inbounds %LSlice, ptr %t3575, i32 0, i32 0 %t3579 = load i32, ptr %t3576 %t3580 = load i32, ptr %t3577 %t3581 = icmp sge i32 %t3579, %t3580 br i1 %t3581, label %grow697, label %put698 grow697: %t3582 = mul i32 %t3580, 2 %t3583 = icmp eq i32 %t3580, 0 %t3584 = select i1 %t3583, i32 8, i32 %t3582 %t3585 = getelementptr ptr, ptr null, i32 1 %t3586 = ptrtoint ptr %t3585 to i64 %t3587 = zext i32 %t3584 to i64 %t3588 = mul i64 %t3587, %t3586 %t3589 = load ptr, ptr %t3578 %t3590 = call ptr @realloc(ptr %t3589, i64 %t3588) store ptr %t3590, ptr %t3578 store i32 %t3584, ptr %t3577 br label %put698 put698: %t3591 = load ptr, ptr %t3578 %t3592 = getelementptr inbounds ptr, ptr %t3591, i32 %t3579 store ptr @.str6784, ptr %t3592 %t3593 = add i32 %t3579, 1 store i32 %t3593, ptr %t3576 br label %ifend696 ifend696: %t3594 = load ptr, ptr %t1 %t3595 = call i32 @lp_str_eq(ptr %t3594, ptr @.str6785) %t3596 = icmp ne i32 %t3595, 0 br i1 %t3596, label %then699, label %ifend701 then699: store ptr @.str6786, ptr %t380 %t3597 = load ptr, ptr %t387 %t3598 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 1 %t3599 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 2 %t3600 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 0 %t3601 = load i32, ptr %t3598 %t3602 = load i32, ptr %t3599 %t3603 = icmp sge i32 %t3601, %t3602 br i1 %t3603, label %grow702, label %put703 grow702: %t3604 = mul i32 %t3602, 2 %t3605 = icmp eq i32 %t3602, 0 %t3606 = select i1 %t3605, i32 8, i32 %t3604 %t3607 = getelementptr ptr, ptr null, i32 1 %t3608 = ptrtoint ptr %t3607 to i64 %t3609 = zext i32 %t3606 to i64 %t3610 = mul i64 %t3609, %t3608 %t3611 = load ptr, ptr %t3600 %t3612 = call ptr @realloc(ptr %t3611, i64 %t3610) store ptr %t3612, ptr %t3600 store i32 %t3606, ptr %t3599 br label %put703 put703: %t3613 = load ptr, ptr %t3600 %t3614 = getelementptr inbounds ptr, ptr %t3613, i32 %t3601 store ptr @.str6787, ptr %t3614 %t3615 = add i32 %t3601, 1 store i32 %t3615, ptr %t3598 br label %ifend701 ifend701: %t3616 = load ptr, ptr %t1 %t3617 = call i32 @lp_str_eq(ptr %t3616, ptr @.str6788) %t3618 = icmp ne i32 %t3617, 0 br i1 %t3618, label %then704, label %ifend706 then704: store ptr @.str6789, ptr %t380 %t3619 = load ptr, ptr %t387 %t3620 = getelementptr inbounds %LSlice, ptr %t3619, i32 0, i32 1 %t3621 = getelementptr inbounds %LSlice, ptr %t3619, i32 0, i32 2 %t3622 = getelementptr inbounds %LSlice, ptr %t3619, i32 0, i32 0 %t3623 = load i32, ptr %t3620 %t3624 = load i32, ptr %t3621 %t3625 = icmp sge i32 %t3623, %t3624 br i1 %t3625, label %grow707, label %put708 grow707: %t3626 = mul i32 %t3624, 2 %t3627 = icmp eq i32 %t3624, 0 %t3628 = select i1 %t3627, i32 8, i32 %t3626 %t3629 = getelementptr ptr, ptr null, i32 1 %t3630 = ptrtoint ptr %t3629 to i64 %t3631 = zext i32 %t3628 to i64 %t3632 = mul i64 %t3631, %t3630 %t3633 = load ptr, ptr %t3622 %t3634 = call ptr @realloc(ptr %t3633, i64 %t3632) store ptr %t3634, ptr %t3622 store i32 %t3628, ptr %t3621 br label %put708 put708: %t3635 = load ptr, ptr %t3622 %t3636 = getelementptr inbounds ptr, ptr %t3635, i32 %t3623 store ptr @.str6790, ptr %t3636 %t3637 = add i32 %t3623, 1 store i32 %t3637, ptr %t3620 br label %ifend706 ifend706: %t3638 = load ptr, ptr %t1 %t3639 = call i32 @lp_str_eq(ptr %t3638, ptr @.str6791) %t3640 = icmp ne i32 %t3639, 0 br i1 %t3640, label %then709, label %ifend711 then709: store ptr @.str6792, ptr %t380 %t3641 = load ptr, ptr %t387 %t3642 = getelementptr inbounds %LSlice, ptr %t3641, i32 0, i32 1 %t3643 = getelementptr inbounds %LSlice, ptr %t3641, i32 0, i32 2 %t3644 = getelementptr inbounds %LSlice, ptr %t3641, i32 0, i32 0 %t3645 = load i32, ptr %t3642 %t3646 = load i32, ptr %t3643 %t3647 = icmp sge i32 %t3645, %t3646 br i1 %t3647, label %grow712, label %put713 grow712: %t3648 = mul i32 %t3646, 2 %t3649 = icmp eq i32 %t3646, 0 %t3650 = select i1 %t3649, i32 8, i32 %t3648 %t3651 = getelementptr ptr, ptr null, i32 1 %t3652 = ptrtoint ptr %t3651 to i64 %t3653 = zext i32 %t3650 to i64 %t3654 = mul i64 %t3653, %t3652 %t3655 = load ptr, ptr %t3644 %t3656 = call ptr @realloc(ptr %t3655, i64 %t3654) store ptr %t3656, ptr %t3644 store i32 %t3650, ptr %t3643 br label %put713 put713: %t3657 = load ptr, ptr %t3644 %t3658 = getelementptr inbounds ptr, ptr %t3657, i32 %t3645 store ptr @.str6793, ptr %t3658 %t3659 = add i32 %t3645, 1 store i32 %t3659, ptr %t3642 br label %ifend711 ifend711: %t3660 = load ptr, ptr %t1 %t3661 = call i32 @lp_str_eq(ptr %t3660, ptr @.str6794) %t3662 = icmp ne i32 %t3661, 0 br i1 %t3662, label %then714, label %ifend716 then714: store ptr @.str6795, ptr %t380 %t3663 = load ptr, ptr %t387 %t3664 = getelementptr inbounds %LSlice, ptr %t3663, i32 0, i32 1 %t3665 = getelementptr inbounds %LSlice, ptr %t3663, i32 0, i32 2 %t3666 = getelementptr inbounds %LSlice, ptr %t3663, i32 0, i32 0 %t3667 = load i32, ptr %t3664 %t3668 = load i32, ptr %t3665 %t3669 = icmp sge i32 %t3667, %t3668 br i1 %t3669, label %grow717, label %put718 grow717: %t3670 = mul i32 %t3668, 2 %t3671 = icmp eq i32 %t3668, 0 %t3672 = select i1 %t3671, i32 8, i32 %t3670 %t3673 = getelementptr ptr, ptr null, i32 1 %t3674 = ptrtoint ptr %t3673 to i64 %t3675 = zext i32 %t3672 to i64 %t3676 = mul i64 %t3675, %t3674 %t3677 = load ptr, ptr %t3666 %t3678 = call ptr @realloc(ptr %t3677, i64 %t3676) store ptr %t3678, ptr %t3666 store i32 %t3672, ptr %t3665 br label %put718 put718: %t3679 = load ptr, ptr %t3666 %t3680 = getelementptr inbounds ptr, ptr %t3679, i32 %t3667 store ptr @.str6796, ptr %t3680 %t3681 = add i32 %t3667, 1 store i32 %t3681, ptr %t3664 br label %ifend716 ifend716: %t3682 = load ptr, ptr %t1 %t3683 = call i32 @lp_str_eq(ptr %t3682, ptr @.str6797) %t3684 = icmp ne i32 %t3683, 0 br i1 %t3684, label %then719, label %ifend721 then719: store ptr @.str6798, ptr %t380 %t3685 = load ptr, ptr %t387 %t3686 = getelementptr inbounds %LSlice, ptr %t3685, i32 0, i32 1 %t3687 = getelementptr inbounds %LSlice, ptr %t3685, i32 0, i32 2 %t3688 = getelementptr inbounds %LSlice, ptr %t3685, i32 0, i32 0 %t3689 = load i32, ptr %t3686 %t3690 = load i32, ptr %t3687 %t3691 = icmp sge i32 %t3689, %t3690 br i1 %t3691, label %grow722, label %put723 grow722: %t3692 = mul i32 %t3690, 2 %t3693 = icmp eq i32 %t3690, 0 %t3694 = select i1 %t3693, i32 8, i32 %t3692 %t3695 = getelementptr ptr, ptr null, i32 1 %t3696 = ptrtoint ptr %t3695 to i64 %t3697 = zext i32 %t3694 to i64 %t3698 = mul i64 %t3697, %t3696 %t3699 = load ptr, ptr %t3688 %t3700 = call ptr @realloc(ptr %t3699, i64 %t3698) store ptr %t3700, ptr %t3688 store i32 %t3694, ptr %t3687 br label %put723 put723: %t3701 = load ptr, ptr %t3688 %t3702 = getelementptr inbounds ptr, ptr %t3701, i32 %t3689 store ptr @.str6799, ptr %t3702 %t3703 = add i32 %t3689, 1 store i32 %t3703, ptr %t3686 %t3704 = load ptr, ptr %t387 %t3705 = getelementptr inbounds %LSlice, ptr %t3704, i32 0, i32 1 %t3706 = getelementptr inbounds %LSlice, ptr %t3704, i32 0, i32 2 %t3707 = getelementptr inbounds %LSlice, ptr %t3704, i32 0, i32 0 %t3708 = load i32, ptr %t3705 %t3709 = load i32, ptr %t3706 %t3710 = icmp sge i32 %t3708, %t3709 br i1 %t3710, label %grow724, label %put725 grow724: %t3711 = mul i32 %t3709, 2 %t3712 = icmp eq i32 %t3709, 0 %t3713 = select i1 %t3712, i32 8, i32 %t3711 %t3714 = getelementptr ptr, ptr null, i32 1 %t3715 = ptrtoint ptr %t3714 to i64 %t3716 = zext i32 %t3713 to i64 %t3717 = mul i64 %t3716, %t3715 %t3718 = load ptr, ptr %t3707 %t3719 = call ptr @realloc(ptr %t3718, i64 %t3717) store ptr %t3719, ptr %t3707 store i32 %t3713, ptr %t3706 br label %put725 put725: %t3720 = load ptr, ptr %t3707 %t3721 = getelementptr inbounds ptr, ptr %t3720, i32 %t3708 store ptr @.str6800, ptr %t3721 %t3722 = add i32 %t3708, 1 store i32 %t3722, ptr %t3705 br label %ifend721 ifend721: %t3723 = load ptr, ptr %t1 %t3724 = call i32 @lp_str_eq(ptr %t3723, ptr @.str6801) %t3725 = icmp ne i32 %t3724, 0 br i1 %t3725, label %then726, label %ifend728 then726: store ptr @.str6802, ptr %t380 %t3726 = load ptr, ptr %t387 %t3727 = getelementptr inbounds %LSlice, ptr %t3726, i32 0, i32 1 %t3728 = getelementptr inbounds %LSlice, ptr %t3726, i32 0, i32 2 %t3729 = getelementptr inbounds %LSlice, ptr %t3726, i32 0, i32 0 %t3730 = load i32, ptr %t3727 %t3731 = load i32, ptr %t3728 %t3732 = icmp sge i32 %t3730, %t3731 br i1 %t3732, label %grow729, label %put730 grow729: %t3733 = mul i32 %t3731, 2 %t3734 = icmp eq i32 %t3731, 0 %t3735 = select i1 %t3734, i32 8, i32 %t3733 %t3736 = getelementptr ptr, ptr null, i32 1 %t3737 = ptrtoint ptr %t3736 to i64 %t3738 = zext i32 %t3735 to i64 %t3739 = mul i64 %t3738, %t3737 %t3740 = load ptr, ptr %t3729 %t3741 = call ptr @realloc(ptr %t3740, i64 %t3739) store ptr %t3741, ptr %t3729 store i32 %t3735, ptr %t3728 br label %put730 put730: %t3742 = load ptr, ptr %t3729 %t3743 = getelementptr inbounds ptr, ptr %t3742, i32 %t3730 store ptr @.str6803, ptr %t3743 %t3744 = add i32 %t3730, 1 store i32 %t3744, ptr %t3727 br label %ifend728 ifend728: %t3745 = load ptr, ptr %t1 %t3746 = call i32 @lp_str_eq(ptr %t3745, ptr @.str6804) %t3747 = icmp ne i32 %t3746, 0 br i1 %t3747, label %then731, label %ifend733 then731: store ptr @.str6805, ptr %t380 br label %ifend733 ifend733: %t3748 = load ptr, ptr %t1 %t3749 = call i32 @lp_str_eq(ptr %t3748, ptr @.str6806) %t3750 = icmp ne i32 %t3749, 0 br i1 %t3750, label %then734, label %ifend736 then734: store ptr @.str6807, ptr %t380 br label %ifend736 ifend736: %t3751 = load ptr, ptr %t1 %t3752 = call i32 @lp_str_eq(ptr %t3751, ptr @.str6808) %t3753 = icmp ne i32 %t3752, 0 br i1 %t3753, label %then737, label %ifend739 then737: store ptr @.str6809, ptr %t380 br label %ifend739 ifend739: %t3754 = load ptr, ptr %t1 %t3755 = call i32 @lp_str_eq(ptr %t3754, ptr @.str6810) %t3756 = icmp ne i32 %t3755, 0 br i1 %t3756, label %then740, label %ifend742 then740: store ptr @.str6811, ptr %t380 br label %ifend742 ifend742: br label %ifend693 ifend693: %t3757 = load ptr, ptr %t0 %t3758 = call i32 @lp_str_eq(ptr %t3757, ptr @.str6812) %t3759 = icmp ne i32 %t3758, 0 br i1 %t3759, label %then743, label %ifend745 then743: %t3760 = load ptr, ptr %t1 %t3761 = call i32 @lp_str_eq(ptr %t3760, ptr @.str6813) %t3762 = icmp ne i32 %t3761, 0 br i1 %t3762, label %then746, label %ifend748 then746: store ptr @.str6814, ptr %t380 %t3763 = load ptr, ptr %t387 %t3764 = getelementptr inbounds %LSlice, ptr %t3763, i32 0, i32 1 %t3765 = getelementptr inbounds %LSlice, ptr %t3763, i32 0, i32 2 %t3766 = getelementptr inbounds %LSlice, ptr %t3763, i32 0, i32 0 %t3767 = load i32, ptr %t3764 %t3768 = load i32, ptr %t3765 %t3769 = icmp sge i32 %t3767, %t3768 br i1 %t3769, label %grow749, label %put750 grow749: %t3770 = mul i32 %t3768, 2 %t3771 = icmp eq i32 %t3768, 0 %t3772 = select i1 %t3771, i32 8, i32 %t3770 %t3773 = getelementptr ptr, ptr null, i32 1 %t3774 = ptrtoint ptr %t3773 to i64 %t3775 = zext i32 %t3772 to i64 %t3776 = mul i64 %t3775, %t3774 %t3777 = load ptr, ptr %t3766 %t3778 = call ptr @realloc(ptr %t3777, i64 %t3776) store ptr %t3778, ptr %t3766 store i32 %t3772, ptr %t3765 br label %put750 put750: %t3779 = load ptr, ptr %t3766 %t3780 = getelementptr inbounds ptr, ptr %t3779, i32 %t3767 store ptr @.str6815, ptr %t3780 %t3781 = add i32 %t3767, 1 store i32 %t3781, ptr %t3764 %t3782 = load ptr, ptr %t387 %t3783 = getelementptr inbounds %LSlice, ptr %t3782, i32 0, i32 1 %t3784 = getelementptr inbounds %LSlice, ptr %t3782, i32 0, i32 2 %t3785 = getelementptr inbounds %LSlice, ptr %t3782, i32 0, i32 0 %t3786 = load i32, ptr %t3783 %t3787 = load i32, ptr %t3784 %t3788 = icmp sge i32 %t3786, %t3787 br i1 %t3788, label %grow751, label %put752 grow751: %t3789 = mul i32 %t3787, 2 %t3790 = icmp eq i32 %t3787, 0 %t3791 = select i1 %t3790, i32 8, i32 %t3789 %t3792 = getelementptr ptr, ptr null, i32 1 %t3793 = ptrtoint ptr %t3792 to i64 %t3794 = zext i32 %t3791 to i64 %t3795 = mul i64 %t3794, %t3793 %t3796 = load ptr, ptr %t3785 %t3797 = call ptr @realloc(ptr %t3796, i64 %t3795) store ptr %t3797, ptr %t3785 store i32 %t3791, ptr %t3784 br label %put752 put752: %t3798 = load ptr, ptr %t3785 %t3799 = getelementptr inbounds ptr, ptr %t3798, i32 %t3786 store ptr @.str6816, ptr %t3799 %t3800 = add i32 %t3786, 1 store i32 %t3800, ptr %t3783 br label %ifend748 ifend748: %t3801 = load ptr, ptr %t1 %t3802 = call i32 @lp_str_eq(ptr %t3801, ptr @.str6817) %t3803 = icmp ne i32 %t3802, 0 br i1 %t3803, label %then753, label %ifend755 then753: store ptr @.str6818, ptr %t380 %t3804 = load ptr, ptr %t387 %t3805 = getelementptr inbounds %LSlice, ptr %t3804, i32 0, i32 1 %t3806 = getelementptr inbounds %LSlice, ptr %t3804, i32 0, i32 2 %t3807 = getelementptr inbounds %LSlice, ptr %t3804, i32 0, i32 0 %t3808 = load i32, ptr %t3805 %t3809 = load i32, ptr %t3806 %t3810 = icmp sge i32 %t3808, %t3809 br i1 %t3810, label %grow756, label %put757 grow756: %t3811 = mul i32 %t3809, 2 %t3812 = icmp eq i32 %t3809, 0 %t3813 = select i1 %t3812, i32 8, i32 %t3811 %t3814 = getelementptr ptr, ptr null, i32 1 %t3815 = ptrtoint ptr %t3814 to i64 %t3816 = zext i32 %t3813 to i64 %t3817 = mul i64 %t3816, %t3815 %t3818 = load ptr, ptr %t3807 %t3819 = call ptr @realloc(ptr %t3818, i64 %t3817) store ptr %t3819, ptr %t3807 store i32 %t3813, ptr %t3806 br label %put757 put757: %t3820 = load ptr, ptr %t3807 %t3821 = getelementptr inbounds ptr, ptr %t3820, i32 %t3808 store ptr @.str6819, ptr %t3821 %t3822 = add i32 %t3808, 1 store i32 %t3822, ptr %t3805 %t3823 = load ptr, ptr %t387 %t3824 = getelementptr inbounds %LSlice, ptr %t3823, i32 0, i32 1 %t3825 = getelementptr inbounds %LSlice, ptr %t3823, i32 0, i32 2 %t3826 = getelementptr inbounds %LSlice, ptr %t3823, i32 0, i32 0 %t3827 = load i32, ptr %t3824 %t3828 = load i32, ptr %t3825 %t3829 = icmp sge i32 %t3827, %t3828 br i1 %t3829, label %grow758, label %put759 grow758: %t3830 = mul i32 %t3828, 2 %t3831 = icmp eq i32 %t3828, 0 %t3832 = select i1 %t3831, i32 8, i32 %t3830 %t3833 = getelementptr ptr, ptr null, i32 1 %t3834 = ptrtoint ptr %t3833 to i64 %t3835 = zext i32 %t3832 to i64 %t3836 = mul i64 %t3835, %t3834 %t3837 = load ptr, ptr %t3826 %t3838 = call ptr @realloc(ptr %t3837, i64 %t3836) store ptr %t3838, ptr %t3826 store i32 %t3832, ptr %t3825 br label %put759 put759: %t3839 = load ptr, ptr %t3826 %t3840 = getelementptr inbounds ptr, ptr %t3839, i32 %t3827 store ptr @.str6820, ptr %t3840 %t3841 = add i32 %t3827, 1 store i32 %t3841, ptr %t3824 %t3842 = load ptr, ptr %t387 %t3843 = getelementptr inbounds %LSlice, ptr %t3842, i32 0, i32 1 %t3844 = getelementptr inbounds %LSlice, ptr %t3842, i32 0, i32 2 %t3845 = getelementptr inbounds %LSlice, ptr %t3842, i32 0, i32 0 %t3846 = load i32, ptr %t3843 %t3847 = load i32, ptr %t3844 %t3848 = icmp sge i32 %t3846, %t3847 br i1 %t3848, label %grow760, label %put761 grow760: %t3849 = mul i32 %t3847, 2 %t3850 = icmp eq i32 %t3847, 0 %t3851 = select i1 %t3850, i32 8, i32 %t3849 %t3852 = getelementptr ptr, ptr null, i32 1 %t3853 = ptrtoint ptr %t3852 to i64 %t3854 = zext i32 %t3851 to i64 %t3855 = mul i64 %t3854, %t3853 %t3856 = load ptr, ptr %t3845 %t3857 = call ptr @realloc(ptr %t3856, i64 %t3855) store ptr %t3857, ptr %t3845 store i32 %t3851, ptr %t3844 br label %put761 put761: %t3858 = load ptr, ptr %t3845 %t3859 = getelementptr inbounds ptr, ptr %t3858, i32 %t3846 store ptr @.str6821, ptr %t3859 %t3860 = add i32 %t3846, 1 store i32 %t3860, ptr %t3843 br label %ifend755 ifend755: %t3861 = load ptr, ptr %t1 %t3862 = call i32 @lp_str_eq(ptr %t3861, ptr @.str6822) %t3863 = icmp ne i32 %t3862, 0 br i1 %t3863, label %then762, label %ifend764 then762: store ptr @.str6823, ptr %t380 %t3864 = load ptr, ptr %t387 %t3865 = getelementptr inbounds %LSlice, ptr %t3864, i32 0, i32 1 %t3866 = getelementptr inbounds %LSlice, ptr %t3864, i32 0, i32 2 %t3867 = getelementptr inbounds %LSlice, ptr %t3864, i32 0, i32 0 %t3868 = load i32, ptr %t3865 %t3869 = load i32, ptr %t3866 %t3870 = icmp sge i32 %t3868, %t3869 br i1 %t3870, label %grow765, label %put766 grow765: %t3871 = mul i32 %t3869, 2 %t3872 = icmp eq i32 %t3869, 0 %t3873 = select i1 %t3872, i32 8, i32 %t3871 %t3874 = getelementptr ptr, ptr null, i32 1 %t3875 = ptrtoint ptr %t3874 to i64 %t3876 = zext i32 %t3873 to i64 %t3877 = mul i64 %t3876, %t3875 %t3878 = load ptr, ptr %t3867 %t3879 = call ptr @realloc(ptr %t3878, i64 %t3877) store ptr %t3879, ptr %t3867 store i32 %t3873, ptr %t3866 br label %put766 put766: %t3880 = load ptr, ptr %t3867 %t3881 = getelementptr inbounds ptr, ptr %t3880, i32 %t3868 store ptr @.str6824, ptr %t3881 %t3882 = add i32 %t3868, 1 store i32 %t3882, ptr %t3865 br label %ifend764 ifend764: %t3883 = load ptr, ptr %t1 %t3884 = call i32 @lp_str_eq(ptr %t3883, ptr @.str6825) %t3885 = icmp ne i32 %t3884, 0 br i1 %t3885, label %then767, label %ifend769 then767: store ptr @.str6826, ptr %t380 %t3886 = load ptr, ptr %t387 %t3887 = getelementptr inbounds %LSlice, ptr %t3886, i32 0, i32 1 %t3888 = getelementptr inbounds %LSlice, ptr %t3886, i32 0, i32 2 %t3889 = getelementptr inbounds %LSlice, ptr %t3886, i32 0, i32 0 %t3890 = load i32, ptr %t3887 %t3891 = load i32, ptr %t3888 %t3892 = icmp sge i32 %t3890, %t3891 br i1 %t3892, label %grow770, label %put771 grow770: %t3893 = mul i32 %t3891, 2 %t3894 = icmp eq i32 %t3891, 0 %t3895 = select i1 %t3894, i32 8, i32 %t3893 %t3896 = getelementptr ptr, ptr null, i32 1 %t3897 = ptrtoint ptr %t3896 to i64 %t3898 = zext i32 %t3895 to i64 %t3899 = mul i64 %t3898, %t3897 %t3900 = load ptr, ptr %t3889 %t3901 = call ptr @realloc(ptr %t3900, i64 %t3899) store ptr %t3901, ptr %t3889 store i32 %t3895, ptr %t3888 br label %put771 put771: %t3902 = load ptr, ptr %t3889 %t3903 = getelementptr inbounds ptr, ptr %t3902, i32 %t3890 store ptr @.str6827, ptr %t3903 %t3904 = add i32 %t3890, 1 store i32 %t3904, ptr %t3887 %t3905 = load ptr, ptr %t387 %t3906 = getelementptr inbounds %LSlice, ptr %t3905, i32 0, i32 1 %t3907 = getelementptr inbounds %LSlice, ptr %t3905, i32 0, i32 2 %t3908 = getelementptr inbounds %LSlice, ptr %t3905, i32 0, i32 0 %t3909 = load i32, ptr %t3906 %t3910 = load i32, ptr %t3907 %t3911 = icmp sge i32 %t3909, %t3910 br i1 %t3911, label %grow772, label %put773 grow772: %t3912 = mul i32 %t3910, 2 %t3913 = icmp eq i32 %t3910, 0 %t3914 = select i1 %t3913, i32 8, i32 %t3912 %t3915 = getelementptr ptr, ptr null, i32 1 %t3916 = ptrtoint ptr %t3915 to i64 %t3917 = zext i32 %t3914 to i64 %t3918 = mul i64 %t3917, %t3916 %t3919 = load ptr, ptr %t3908 %t3920 = call ptr @realloc(ptr %t3919, i64 %t3918) store ptr %t3920, ptr %t3908 store i32 %t3914, ptr %t3907 br label %put773 put773: %t3921 = load ptr, ptr %t3908 %t3922 = getelementptr inbounds ptr, ptr %t3921, i32 %t3909 store ptr @.str6828, ptr %t3922 %t3923 = add i32 %t3909, 1 store i32 %t3923, ptr %t3906 br label %ifend769 ifend769: %t3924 = load ptr, ptr %t1 %t3925 = call i32 @lp_str_eq(ptr %t3924, ptr @.str6829) %t3926 = icmp ne i32 %t3925, 0 br i1 %t3926, label %then774, label %ifend776 then774: store ptr @.str6830, ptr %t380 %t3927 = load ptr, ptr %t387 %t3928 = getelementptr inbounds %LSlice, ptr %t3927, i32 0, i32 1 %t3929 = getelementptr inbounds %LSlice, ptr %t3927, i32 0, i32 2 %t3930 = getelementptr inbounds %LSlice, ptr %t3927, i32 0, i32 0 %t3931 = load i32, ptr %t3928 %t3932 = load i32, ptr %t3929 %t3933 = icmp sge i32 %t3931, %t3932 br i1 %t3933, label %grow777, label %put778 grow777: %t3934 = mul i32 %t3932, 2 %t3935 = icmp eq i32 %t3932, 0 %t3936 = select i1 %t3935, i32 8, i32 %t3934 %t3937 = getelementptr ptr, ptr null, i32 1 %t3938 = ptrtoint ptr %t3937 to i64 %t3939 = zext i32 %t3936 to i64 %t3940 = mul i64 %t3939, %t3938 %t3941 = load ptr, ptr %t3930 %t3942 = call ptr @realloc(ptr %t3941, i64 %t3940) store ptr %t3942, ptr %t3930 store i32 %t3936, ptr %t3929 br label %put778 put778: %t3943 = load ptr, ptr %t3930 %t3944 = getelementptr inbounds ptr, ptr %t3943, i32 %t3931 store ptr @.str6831, ptr %t3944 %t3945 = add i32 %t3931, 1 store i32 %t3945, ptr %t3928 br label %ifend776 ifend776: br label %ifend745 ifend745: %t3946 = load ptr, ptr %t0 %t3947 = call i32 @lp_str_eq(ptr %t3946, ptr @.str6832) %t3948 = icmp ne i32 %t3947, 0 br i1 %t3948, label %then779, label %ifend781 then779: %t3949 = load ptr, ptr %t1 %t3950 = call i32 @lp_str_eq(ptr %t3949, ptr @.str6833) %t3951 = icmp ne i32 %t3950, 0 br i1 %t3951, label %then782, label %ifend784 then782: store ptr @.str6834, ptr %t380 %t3952 = load ptr, ptr %t387 %t3953 = getelementptr inbounds %LSlice, ptr %t3952, i32 0, i32 1 %t3954 = getelementptr inbounds %LSlice, ptr %t3952, i32 0, i32 2 %t3955 = getelementptr inbounds %LSlice, ptr %t3952, i32 0, i32 0 %t3956 = load i32, ptr %t3953 %t3957 = load i32, ptr %t3954 %t3958 = icmp sge i32 %t3956, %t3957 br i1 %t3958, label %grow785, label %put786 grow785: %t3959 = mul i32 %t3957, 2 %t3960 = icmp eq i32 %t3957, 0 %t3961 = select i1 %t3960, i32 8, i32 %t3959 %t3962 = getelementptr ptr, ptr null, i32 1 %t3963 = ptrtoint ptr %t3962 to i64 %t3964 = zext i32 %t3961 to i64 %t3965 = mul i64 %t3964, %t3963 %t3966 = load ptr, ptr %t3955 %t3967 = call ptr @realloc(ptr %t3966, i64 %t3965) store ptr %t3967, ptr %t3955 store i32 %t3961, ptr %t3954 br label %put786 put786: %t3968 = load ptr, ptr %t3955 %t3969 = getelementptr inbounds ptr, ptr %t3968, i32 %t3956 store ptr @.str6835, ptr %t3969 %t3970 = add i32 %t3956, 1 store i32 %t3970, ptr %t3953 %t3971 = load ptr, ptr %t387 %t3972 = getelementptr inbounds %LSlice, ptr %t3971, i32 0, i32 1 %t3973 = getelementptr inbounds %LSlice, ptr %t3971, i32 0, i32 2 %t3974 = getelementptr inbounds %LSlice, ptr %t3971, i32 0, i32 0 %t3975 = load i32, ptr %t3972 %t3976 = load i32, ptr %t3973 %t3977 = icmp sge i32 %t3975, %t3976 br i1 %t3977, label %grow787, label %put788 grow787: %t3978 = mul i32 %t3976, 2 %t3979 = icmp eq i32 %t3976, 0 %t3980 = select i1 %t3979, i32 8, i32 %t3978 %t3981 = getelementptr ptr, ptr null, i32 1 %t3982 = ptrtoint ptr %t3981 to i64 %t3983 = zext i32 %t3980 to i64 %t3984 = mul i64 %t3983, %t3982 %t3985 = load ptr, ptr %t3974 %t3986 = call ptr @realloc(ptr %t3985, i64 %t3984) store ptr %t3986, ptr %t3974 store i32 %t3980, ptr %t3973 br label %put788 put788: %t3987 = load ptr, ptr %t3974 %t3988 = getelementptr inbounds ptr, ptr %t3987, i32 %t3975 store ptr @.str6836, ptr %t3988 %t3989 = add i32 %t3975, 1 store i32 %t3989, ptr %t3972 br label %ifend784 ifend784: %t3990 = load ptr, ptr %t1 %t3991 = call i32 @lp_str_eq(ptr %t3990, ptr @.str6837) %t3992 = icmp ne i32 %t3991, 0 br i1 %t3992, label %then789, label %ifend791 then789: store ptr @.str6838, ptr %t380 %t3993 = load ptr, ptr %t387 %t3994 = getelementptr inbounds %LSlice, ptr %t3993, i32 0, i32 1 %t3995 = getelementptr inbounds %LSlice, ptr %t3993, i32 0, i32 2 %t3996 = getelementptr inbounds %LSlice, ptr %t3993, i32 0, i32 0 %t3997 = load i32, ptr %t3994 %t3998 = load i32, ptr %t3995 %t3999 = icmp sge i32 %t3997, %t3998 br i1 %t3999, label %grow792, label %put793 grow792: %t4000 = mul i32 %t3998, 2 %t4001 = icmp eq i32 %t3998, 0 %t4002 = select i1 %t4001, i32 8, i32 %t4000 %t4003 = getelementptr ptr, ptr null, i32 1 %t4004 = ptrtoint ptr %t4003 to i64 %t4005 = zext i32 %t4002 to i64 %t4006 = mul i64 %t4005, %t4004 %t4007 = load ptr, ptr %t3996 %t4008 = call ptr @realloc(ptr %t4007, i64 %t4006) store ptr %t4008, ptr %t3996 store i32 %t4002, ptr %t3995 br label %put793 put793: %t4009 = load ptr, ptr %t3996 %t4010 = getelementptr inbounds ptr, ptr %t4009, i32 %t3997 store ptr @.str6839, ptr %t4010 %t4011 = add i32 %t3997, 1 store i32 %t4011, ptr %t3994 %t4012 = load ptr, ptr %t387 %t4013 = getelementptr inbounds %LSlice, ptr %t4012, i32 0, i32 1 %t4014 = getelementptr inbounds %LSlice, ptr %t4012, i32 0, i32 2 %t4015 = getelementptr inbounds %LSlice, ptr %t4012, i32 0, i32 0 %t4016 = load i32, ptr %t4013 %t4017 = load i32, ptr %t4014 %t4018 = icmp sge i32 %t4016, %t4017 br i1 %t4018, label %grow794, label %put795 grow794: %t4019 = mul i32 %t4017, 2 %t4020 = icmp eq i32 %t4017, 0 %t4021 = select i1 %t4020, i32 8, i32 %t4019 %t4022 = getelementptr ptr, ptr null, i32 1 %t4023 = ptrtoint ptr %t4022 to i64 %t4024 = zext i32 %t4021 to i64 %t4025 = mul i64 %t4024, %t4023 %t4026 = load ptr, ptr %t4015 %t4027 = call ptr @realloc(ptr %t4026, i64 %t4025) store ptr %t4027, ptr %t4015 store i32 %t4021, ptr %t4014 br label %put795 put795: %t4028 = load ptr, ptr %t4015 %t4029 = getelementptr inbounds ptr, ptr %t4028, i32 %t4016 store ptr @.str6840, ptr %t4029 %t4030 = add i32 %t4016, 1 store i32 %t4030, ptr %t4013 br label %ifend791 ifend791: %t4031 = load ptr, ptr %t1 %t4032 = call i32 @lp_str_eq(ptr %t4031, ptr @.str6841) %t4033 = icmp ne i32 %t4032, 0 br i1 %t4033, label %then796, label %ifend798 then796: store ptr @.str6842, ptr %t380 %t4034 = load ptr, ptr %t387 %t4035 = getelementptr inbounds %LSlice, ptr %t4034, i32 0, i32 1 %t4036 = getelementptr inbounds %LSlice, ptr %t4034, i32 0, i32 2 %t4037 = getelementptr inbounds %LSlice, ptr %t4034, i32 0, i32 0 %t4038 = load i32, ptr %t4035 %t4039 = load i32, ptr %t4036 %t4040 = icmp sge i32 %t4038, %t4039 br i1 %t4040, label %grow799, label %put800 grow799: %t4041 = mul i32 %t4039, 2 %t4042 = icmp eq i32 %t4039, 0 %t4043 = select i1 %t4042, i32 8, i32 %t4041 %t4044 = getelementptr ptr, ptr null, i32 1 %t4045 = ptrtoint ptr %t4044 to i64 %t4046 = zext i32 %t4043 to i64 %t4047 = mul i64 %t4046, %t4045 %t4048 = load ptr, ptr %t4037 %t4049 = call ptr @realloc(ptr %t4048, i64 %t4047) store ptr %t4049, ptr %t4037 store i32 %t4043, ptr %t4036 br label %put800 put800: %t4050 = load ptr, ptr %t4037 %t4051 = getelementptr inbounds ptr, ptr %t4050, i32 %t4038 store ptr @.str6843, ptr %t4051 %t4052 = add i32 %t4038, 1 store i32 %t4052, ptr %t4035 %t4053 = load ptr, ptr %t387 %t4054 = getelementptr inbounds %LSlice, ptr %t4053, i32 0, i32 1 %t4055 = getelementptr inbounds %LSlice, ptr %t4053, i32 0, i32 2 %t4056 = getelementptr inbounds %LSlice, ptr %t4053, i32 0, i32 0 %t4057 = load i32, ptr %t4054 %t4058 = load i32, ptr %t4055 %t4059 = icmp sge i32 %t4057, %t4058 br i1 %t4059, label %grow801, label %put802 grow801: %t4060 = mul i32 %t4058, 2 %t4061 = icmp eq i32 %t4058, 0 %t4062 = select i1 %t4061, i32 8, i32 %t4060 %t4063 = getelementptr ptr, ptr null, i32 1 %t4064 = ptrtoint ptr %t4063 to i64 %t4065 = zext i32 %t4062 to i64 %t4066 = mul i64 %t4065, %t4064 %t4067 = load ptr, ptr %t4056 %t4068 = call ptr @realloc(ptr %t4067, i64 %t4066) store ptr %t4068, ptr %t4056 store i32 %t4062, ptr %t4055 br label %put802 put802: %t4069 = load ptr, ptr %t4056 %t4070 = getelementptr inbounds ptr, ptr %t4069, i32 %t4057 store ptr @.str6844, ptr %t4070 %t4071 = add i32 %t4057, 1 store i32 %t4071, ptr %t4054 br label %ifend798 ifend798: %t4072 = load ptr, ptr %t1 %t4073 = call i32 @lp_str_eq(ptr %t4072, ptr @.str6845) %t4074 = icmp ne i32 %t4073, 0 br i1 %t4074, label %then803, label %ifend805 then803: store ptr @.str6846, ptr %t380 %t4075 = load ptr, ptr %t387 %t4076 = getelementptr inbounds %LSlice, ptr %t4075, i32 0, i32 1 %t4077 = getelementptr inbounds %LSlice, ptr %t4075, i32 0, i32 2 %t4078 = getelementptr inbounds %LSlice, ptr %t4075, i32 0, i32 0 %t4079 = load i32, ptr %t4076 %t4080 = load i32, ptr %t4077 %t4081 = icmp sge i32 %t4079, %t4080 br i1 %t4081, label %grow806, label %put807 grow806: %t4082 = mul i32 %t4080, 2 %t4083 = icmp eq i32 %t4080, 0 %t4084 = select i1 %t4083, i32 8, i32 %t4082 %t4085 = getelementptr ptr, ptr null, i32 1 %t4086 = ptrtoint ptr %t4085 to i64 %t4087 = zext i32 %t4084 to i64 %t4088 = mul i64 %t4087, %t4086 %t4089 = load ptr, ptr %t4078 %t4090 = call ptr @realloc(ptr %t4089, i64 %t4088) store ptr %t4090, ptr %t4078 store i32 %t4084, ptr %t4077 br label %put807 put807: %t4091 = load ptr, ptr %t4078 %t4092 = getelementptr inbounds ptr, ptr %t4091, i32 %t4079 store ptr @.str6847, ptr %t4092 %t4093 = add i32 %t4079, 1 store i32 %t4093, ptr %t4076 %t4094 = load ptr, ptr %t387 %t4095 = getelementptr inbounds %LSlice, ptr %t4094, i32 0, i32 1 %t4096 = getelementptr inbounds %LSlice, ptr %t4094, i32 0, i32 2 %t4097 = getelementptr inbounds %LSlice, ptr %t4094, i32 0, i32 0 %t4098 = load i32, ptr %t4095 %t4099 = load i32, ptr %t4096 %t4100 = icmp sge i32 %t4098, %t4099 br i1 %t4100, label %grow808, label %put809 grow808: %t4101 = mul i32 %t4099, 2 %t4102 = icmp eq i32 %t4099, 0 %t4103 = select i1 %t4102, i32 8, i32 %t4101 %t4104 = getelementptr ptr, ptr null, i32 1 %t4105 = ptrtoint ptr %t4104 to i64 %t4106 = zext i32 %t4103 to i64 %t4107 = mul i64 %t4106, %t4105 %t4108 = load ptr, ptr %t4097 %t4109 = call ptr @realloc(ptr %t4108, i64 %t4107) store ptr %t4109, ptr %t4097 store i32 %t4103, ptr %t4096 br label %put809 put809: %t4110 = load ptr, ptr %t4097 %t4111 = getelementptr inbounds ptr, ptr %t4110, i32 %t4098 store ptr @.str6848, ptr %t4111 %t4112 = add i32 %t4098, 1 store i32 %t4112, ptr %t4095 br label %ifend805 ifend805: %t4113 = load ptr, ptr %t1 %t4114 = call i32 @lp_str_eq(ptr %t4113, ptr @.str6849) %t4115 = icmp ne i32 %t4114, 0 br i1 %t4115, label %then810, label %ifend812 then810: store ptr @.str6850, ptr %t380 %t4116 = load ptr, ptr %t387 %t4117 = getelementptr inbounds %LSlice, ptr %t4116, i32 0, i32 1 %t4118 = getelementptr inbounds %LSlice, ptr %t4116, i32 0, i32 2 %t4119 = getelementptr inbounds %LSlice, ptr %t4116, i32 0, i32 0 %t4120 = load i32, ptr %t4117 %t4121 = load i32, ptr %t4118 %t4122 = icmp sge i32 %t4120, %t4121 br i1 %t4122, label %grow813, label %put814 grow813: %t4123 = mul i32 %t4121, 2 %t4124 = icmp eq i32 %t4121, 0 %t4125 = select i1 %t4124, i32 8, i32 %t4123 %t4126 = getelementptr ptr, ptr null, i32 1 %t4127 = ptrtoint ptr %t4126 to i64 %t4128 = zext i32 %t4125 to i64 %t4129 = mul i64 %t4128, %t4127 %t4130 = load ptr, ptr %t4119 %t4131 = call ptr @realloc(ptr %t4130, i64 %t4129) store ptr %t4131, ptr %t4119 store i32 %t4125, ptr %t4118 br label %put814 put814: %t4132 = load ptr, ptr %t4119 %t4133 = getelementptr inbounds ptr, ptr %t4132, i32 %t4120 store ptr @.str6851, ptr %t4133 %t4134 = add i32 %t4120, 1 store i32 %t4134, ptr %t4117 %t4135 = load ptr, ptr %t387 %t4136 = getelementptr inbounds %LSlice, ptr %t4135, i32 0, i32 1 %t4137 = getelementptr inbounds %LSlice, ptr %t4135, i32 0, i32 2 %t4138 = getelementptr inbounds %LSlice, ptr %t4135, i32 0, i32 0 %t4139 = load i32, ptr %t4136 %t4140 = load i32, ptr %t4137 %t4141 = icmp sge i32 %t4139, %t4140 br i1 %t4141, label %grow815, label %put816 grow815: %t4142 = mul i32 %t4140, 2 %t4143 = icmp eq i32 %t4140, 0 %t4144 = select i1 %t4143, i32 8, i32 %t4142 %t4145 = getelementptr ptr, ptr null, i32 1 %t4146 = ptrtoint ptr %t4145 to i64 %t4147 = zext i32 %t4144 to i64 %t4148 = mul i64 %t4147, %t4146 %t4149 = load ptr, ptr %t4138 %t4150 = call ptr @realloc(ptr %t4149, i64 %t4148) store ptr %t4150, ptr %t4138 store i32 %t4144, ptr %t4137 br label %put816 put816: %t4151 = load ptr, ptr %t4138 %t4152 = getelementptr inbounds ptr, ptr %t4151, i32 %t4139 store ptr @.str6852, ptr %t4152 %t4153 = add i32 %t4139, 1 store i32 %t4153, ptr %t4136 %t4154 = load ptr, ptr %t387 %t4155 = getelementptr inbounds %LSlice, ptr %t4154, i32 0, i32 1 %t4156 = getelementptr inbounds %LSlice, ptr %t4154, i32 0, i32 2 %t4157 = getelementptr inbounds %LSlice, ptr %t4154, i32 0, i32 0 %t4158 = load i32, ptr %t4155 %t4159 = load i32, ptr %t4156 %t4160 = icmp sge i32 %t4158, %t4159 br i1 %t4160, label %grow817, label %put818 grow817: %t4161 = mul i32 %t4159, 2 %t4162 = icmp eq i32 %t4159, 0 %t4163 = select i1 %t4162, i32 8, i32 %t4161 %t4164 = getelementptr ptr, ptr null, i32 1 %t4165 = ptrtoint ptr %t4164 to i64 %t4166 = zext i32 %t4163 to i64 %t4167 = mul i64 %t4166, %t4165 %t4168 = load ptr, ptr %t4157 %t4169 = call ptr @realloc(ptr %t4168, i64 %t4167) store ptr %t4169, ptr %t4157 store i32 %t4163, ptr %t4156 br label %put818 put818: %t4170 = load ptr, ptr %t4157 %t4171 = getelementptr inbounds ptr, ptr %t4170, i32 %t4158 store ptr @.str6853, ptr %t4171 %t4172 = add i32 %t4158, 1 store i32 %t4172, ptr %t4155 br label %ifend812 ifend812: %t4173 = load ptr, ptr %t1 %t4174 = call i32 @lp_str_eq(ptr %t4173, ptr @.str6854) %t4175 = icmp ne i32 %t4174, 0 br i1 %t4175, label %then819, label %ifend821 then819: store ptr @.str6855, ptr %t380 %t4176 = load ptr, ptr %t387 %t4177 = getelementptr inbounds %LSlice, ptr %t4176, i32 0, i32 1 %t4178 = getelementptr inbounds %LSlice, ptr %t4176, i32 0, i32 2 %t4179 = getelementptr inbounds %LSlice, ptr %t4176, i32 0, i32 0 %t4180 = load i32, ptr %t4177 %t4181 = load i32, ptr %t4178 %t4182 = icmp sge i32 %t4180, %t4181 br i1 %t4182, label %grow822, label %put823 grow822: %t4183 = mul i32 %t4181, 2 %t4184 = icmp eq i32 %t4181, 0 %t4185 = select i1 %t4184, i32 8, i32 %t4183 %t4186 = getelementptr ptr, ptr null, i32 1 %t4187 = ptrtoint ptr %t4186 to i64 %t4188 = zext i32 %t4185 to i64 %t4189 = mul i64 %t4188, %t4187 %t4190 = load ptr, ptr %t4179 %t4191 = call ptr @realloc(ptr %t4190, i64 %t4189) store ptr %t4191, ptr %t4179 store i32 %t4185, ptr %t4178 br label %put823 put823: %t4192 = load ptr, ptr %t4179 %t4193 = getelementptr inbounds ptr, ptr %t4192, i32 %t4180 store ptr @.str6856, ptr %t4193 %t4194 = add i32 %t4180, 1 store i32 %t4194, ptr %t4177 br label %ifend821 ifend821: %t4195 = load ptr, ptr %t1 %t4196 = call i32 @lp_str_eq(ptr %t4195, ptr @.str6857) %t4197 = icmp ne i32 %t4196, 0 br i1 %t4197, label %then824, label %ifend826 then824: store ptr @.str6858, ptr %t380 %t4198 = load ptr, ptr %t387 %t4199 = getelementptr inbounds %LSlice, ptr %t4198, i32 0, i32 1 %t4200 = getelementptr inbounds %LSlice, ptr %t4198, i32 0, i32 2 %t4201 = getelementptr inbounds %LSlice, ptr %t4198, i32 0, i32 0 %t4202 = load i32, ptr %t4199 %t4203 = load i32, ptr %t4200 %t4204 = icmp sge i32 %t4202, %t4203 br i1 %t4204, label %grow827, label %put828 grow827: %t4205 = mul i32 %t4203, 2 %t4206 = icmp eq i32 %t4203, 0 %t4207 = select i1 %t4206, i32 8, i32 %t4205 %t4208 = getelementptr ptr, ptr null, i32 1 %t4209 = ptrtoint ptr %t4208 to i64 %t4210 = zext i32 %t4207 to i64 %t4211 = mul i64 %t4210, %t4209 %t4212 = load ptr, ptr %t4201 %t4213 = call ptr @realloc(ptr %t4212, i64 %t4211) store ptr %t4213, ptr %t4201 store i32 %t4207, ptr %t4200 br label %put828 put828: %t4214 = load ptr, ptr %t4201 %t4215 = getelementptr inbounds ptr, ptr %t4214, i32 %t4202 store ptr @.str6859, ptr %t4215 %t4216 = add i32 %t4202, 1 store i32 %t4216, ptr %t4199 %t4217 = load ptr, ptr %t387 %t4218 = getelementptr inbounds %LSlice, ptr %t4217, i32 0, i32 1 %t4219 = getelementptr inbounds %LSlice, ptr %t4217, i32 0, i32 2 %t4220 = getelementptr inbounds %LSlice, ptr %t4217, i32 0, i32 0 %t4221 = load i32, ptr %t4218 %t4222 = load i32, ptr %t4219 %t4223 = icmp sge i32 %t4221, %t4222 br i1 %t4223, label %grow829, label %put830 grow829: %t4224 = mul i32 %t4222, 2 %t4225 = icmp eq i32 %t4222, 0 %t4226 = select i1 %t4225, i32 8, i32 %t4224 %t4227 = getelementptr ptr, ptr null, i32 1 %t4228 = ptrtoint ptr %t4227 to i64 %t4229 = zext i32 %t4226 to i64 %t4230 = mul i64 %t4229, %t4228 %t4231 = load ptr, ptr %t4220 %t4232 = call ptr @realloc(ptr %t4231, i64 %t4230) store ptr %t4232, ptr %t4220 store i32 %t4226, ptr %t4219 br label %put830 put830: %t4233 = load ptr, ptr %t4220 %t4234 = getelementptr inbounds ptr, ptr %t4233, i32 %t4221 store ptr @.str6860, ptr %t4234 %t4235 = add i32 %t4221, 1 store i32 %t4235, ptr %t4218 %t4236 = load ptr, ptr %t387 %t4237 = getelementptr inbounds %LSlice, ptr %t4236, i32 0, i32 1 %t4238 = getelementptr inbounds %LSlice, ptr %t4236, i32 0, i32 2 %t4239 = getelementptr inbounds %LSlice, ptr %t4236, i32 0, i32 0 %t4240 = load i32, ptr %t4237 %t4241 = load i32, ptr %t4238 %t4242 = icmp sge i32 %t4240, %t4241 br i1 %t4242, label %grow831, label %put832 grow831: %t4243 = mul i32 %t4241, 2 %t4244 = icmp eq i32 %t4241, 0 %t4245 = select i1 %t4244, i32 8, i32 %t4243 %t4246 = getelementptr ptr, ptr null, i32 1 %t4247 = ptrtoint ptr %t4246 to i64 %t4248 = zext i32 %t4245 to i64 %t4249 = mul i64 %t4248, %t4247 %t4250 = load ptr, ptr %t4239 %t4251 = call ptr @realloc(ptr %t4250, i64 %t4249) store ptr %t4251, ptr %t4239 store i32 %t4245, ptr %t4238 br label %put832 put832: %t4252 = load ptr, ptr %t4239 %t4253 = getelementptr inbounds ptr, ptr %t4252, i32 %t4240 store ptr @.str6861, ptr %t4253 %t4254 = add i32 %t4240, 1 store i32 %t4254, ptr %t4237 %t4255 = load ptr, ptr %t387 %t4256 = getelementptr inbounds %LSlice, ptr %t4255, i32 0, i32 1 %t4257 = getelementptr inbounds %LSlice, ptr %t4255, i32 0, i32 2 %t4258 = getelementptr inbounds %LSlice, ptr %t4255, i32 0, i32 0 %t4259 = load i32, ptr %t4256 %t4260 = load i32, ptr %t4257 %t4261 = icmp sge i32 %t4259, %t4260 br i1 %t4261, label %grow833, label %put834 grow833: %t4262 = mul i32 %t4260, 2 %t4263 = icmp eq i32 %t4260, 0 %t4264 = select i1 %t4263, i32 8, i32 %t4262 %t4265 = getelementptr ptr, ptr null, i32 1 %t4266 = ptrtoint ptr %t4265 to i64 %t4267 = zext i32 %t4264 to i64 %t4268 = mul i64 %t4267, %t4266 %t4269 = load ptr, ptr %t4258 %t4270 = call ptr @realloc(ptr %t4269, i64 %t4268) store ptr %t4270, ptr %t4258 store i32 %t4264, ptr %t4257 br label %put834 put834: %t4271 = load ptr, ptr %t4258 %t4272 = getelementptr inbounds ptr, ptr %t4271, i32 %t4259 store ptr @.str6862, ptr %t4272 %t4273 = add i32 %t4259, 1 store i32 %t4273, ptr %t4256 %t4274 = load ptr, ptr %t387 %t4275 = getelementptr inbounds %LSlice, ptr %t4274, i32 0, i32 1 %t4276 = getelementptr inbounds %LSlice, ptr %t4274, i32 0, i32 2 %t4277 = getelementptr inbounds %LSlice, ptr %t4274, i32 0, i32 0 %t4278 = load i32, ptr %t4275 %t4279 = load i32, ptr %t4276 %t4280 = icmp sge i32 %t4278, %t4279 br i1 %t4280, label %grow835, label %put836 grow835: %t4281 = mul i32 %t4279, 2 %t4282 = icmp eq i32 %t4279, 0 %t4283 = select i1 %t4282, i32 8, i32 %t4281 %t4284 = getelementptr ptr, ptr null, i32 1 %t4285 = ptrtoint ptr %t4284 to i64 %t4286 = zext i32 %t4283 to i64 %t4287 = mul i64 %t4286, %t4285 %t4288 = load ptr, ptr %t4277 %t4289 = call ptr @realloc(ptr %t4288, i64 %t4287) store ptr %t4289, ptr %t4277 store i32 %t4283, ptr %t4276 br label %put836 put836: %t4290 = load ptr, ptr %t4277 %t4291 = getelementptr inbounds ptr, ptr %t4290, i32 %t4278 store ptr @.str6863, ptr %t4291 %t4292 = add i32 %t4278, 1 store i32 %t4292, ptr %t4275 br label %ifend826 ifend826: %t4293 = load ptr, ptr %t1 %t4294 = call i32 @lp_str_eq(ptr %t4293, ptr @.str6864) %t4295 = icmp ne i32 %t4294, 0 br i1 %t4295, label %then837, label %ifend839 then837: store ptr @.str6865, ptr %t380 %t4296 = load ptr, ptr %t387 %t4297 = getelementptr inbounds %LSlice, ptr %t4296, i32 0, i32 1 %t4298 = getelementptr inbounds %LSlice, ptr %t4296, i32 0, i32 2 %t4299 = getelementptr inbounds %LSlice, ptr %t4296, i32 0, i32 0 %t4300 = load i32, ptr %t4297 %t4301 = load i32, ptr %t4298 %t4302 = icmp sge i32 %t4300, %t4301 br i1 %t4302, label %grow840, label %put841 grow840: %t4303 = mul i32 %t4301, 2 %t4304 = icmp eq i32 %t4301, 0 %t4305 = select i1 %t4304, i32 8, i32 %t4303 %t4306 = getelementptr ptr, ptr null, i32 1 %t4307 = ptrtoint ptr %t4306 to i64 %t4308 = zext i32 %t4305 to i64 %t4309 = mul i64 %t4308, %t4307 %t4310 = load ptr, ptr %t4299 %t4311 = call ptr @realloc(ptr %t4310, i64 %t4309) store ptr %t4311, ptr %t4299 store i32 %t4305, ptr %t4298 br label %put841 put841: %t4312 = load ptr, ptr %t4299 %t4313 = getelementptr inbounds ptr, ptr %t4312, i32 %t4300 store ptr @.str6866, ptr %t4313 %t4314 = add i32 %t4300, 1 store i32 %t4314, ptr %t4297 br label %ifend839 ifend839: %t4315 = load ptr, ptr %t1 %t4316 = call i32 @lp_str_eq(ptr %t4315, ptr @.str6867) %t4317 = icmp ne i32 %t4316, 0 br i1 %t4317, label %then842, label %ifend844 then842: store ptr @.str6868, ptr %t380 %t4318 = load ptr, ptr %t387 %t4319 = getelementptr inbounds %LSlice, ptr %t4318, i32 0, i32 1 %t4320 = getelementptr inbounds %LSlice, ptr %t4318, i32 0, i32 2 %t4321 = getelementptr inbounds %LSlice, ptr %t4318, i32 0, i32 0 %t4322 = load i32, ptr %t4319 %t4323 = load i32, ptr %t4320 %t4324 = icmp sge i32 %t4322, %t4323 br i1 %t4324, label %grow845, label %put846 grow845: %t4325 = mul i32 %t4323, 2 %t4326 = icmp eq i32 %t4323, 0 %t4327 = select i1 %t4326, i32 8, i32 %t4325 %t4328 = getelementptr ptr, ptr null, i32 1 %t4329 = ptrtoint ptr %t4328 to i64 %t4330 = zext i32 %t4327 to i64 %t4331 = mul i64 %t4330, %t4329 %t4332 = load ptr, ptr %t4321 %t4333 = call ptr @realloc(ptr %t4332, i64 %t4331) store ptr %t4333, ptr %t4321 store i32 %t4327, ptr %t4320 br label %put846 put846: %t4334 = load ptr, ptr %t4321 %t4335 = getelementptr inbounds ptr, ptr %t4334, i32 %t4322 store ptr @.str6869, ptr %t4335 %t4336 = add i32 %t4322, 1 store i32 %t4336, ptr %t4319 br label %ifend844 ifend844: %t4337 = load ptr, ptr %t1 %t4338 = call i32 @lp_str_eq(ptr %t4337, ptr @.str6870) %t4339 = icmp ne i32 %t4338, 0 br i1 %t4339, label %then847, label %ifend849 then847: store ptr @.str6871, ptr %t380 %t4340 = load ptr, ptr %t387 %t4341 = getelementptr inbounds %LSlice, ptr %t4340, i32 0, i32 1 %t4342 = getelementptr inbounds %LSlice, ptr %t4340, i32 0, i32 2 %t4343 = getelementptr inbounds %LSlice, ptr %t4340, i32 0, i32 0 %t4344 = load i32, ptr %t4341 %t4345 = load i32, ptr %t4342 %t4346 = icmp sge i32 %t4344, %t4345 br i1 %t4346, label %grow850, label %put851 grow850: %t4347 = mul i32 %t4345, 2 %t4348 = icmp eq i32 %t4345, 0 %t4349 = select i1 %t4348, i32 8, i32 %t4347 %t4350 = getelementptr ptr, ptr null, i32 1 %t4351 = ptrtoint ptr %t4350 to i64 %t4352 = zext i32 %t4349 to i64 %t4353 = mul i64 %t4352, %t4351 %t4354 = load ptr, ptr %t4343 %t4355 = call ptr @realloc(ptr %t4354, i64 %t4353) store ptr %t4355, ptr %t4343 store i32 %t4349, ptr %t4342 br label %put851 put851: %t4356 = load ptr, ptr %t4343 %t4357 = getelementptr inbounds ptr, ptr %t4356, i32 %t4344 store ptr @.str6872, ptr %t4357 %t4358 = add i32 %t4344, 1 store i32 %t4358, ptr %t4341 %t4359 = load ptr, ptr %t387 %t4360 = getelementptr inbounds %LSlice, ptr %t4359, i32 0, i32 1 %t4361 = getelementptr inbounds %LSlice, ptr %t4359, i32 0, i32 2 %t4362 = getelementptr inbounds %LSlice, ptr %t4359, i32 0, i32 0 %t4363 = load i32, ptr %t4360 %t4364 = load i32, ptr %t4361 %t4365 = icmp sge i32 %t4363, %t4364 br i1 %t4365, label %grow852, label %put853 grow852: %t4366 = mul i32 %t4364, 2 %t4367 = icmp eq i32 %t4364, 0 %t4368 = select i1 %t4367, i32 8, i32 %t4366 %t4369 = getelementptr ptr, ptr null, i32 1 %t4370 = ptrtoint ptr %t4369 to i64 %t4371 = zext i32 %t4368 to i64 %t4372 = mul i64 %t4371, %t4370 %t4373 = load ptr, ptr %t4362 %t4374 = call ptr @realloc(ptr %t4373, i64 %t4372) store ptr %t4374, ptr %t4362 store i32 %t4368, ptr %t4361 br label %put853 put853: %t4375 = load ptr, ptr %t4362 %t4376 = getelementptr inbounds ptr, ptr %t4375, i32 %t4363 store ptr @.str6873, ptr %t4376 %t4377 = add i32 %t4363, 1 store i32 %t4377, ptr %t4360 %t4378 = load ptr, ptr %t387 %t4379 = getelementptr inbounds %LSlice, ptr %t4378, i32 0, i32 1 %t4380 = getelementptr inbounds %LSlice, ptr %t4378, i32 0, i32 2 %t4381 = getelementptr inbounds %LSlice, ptr %t4378, i32 0, i32 0 %t4382 = load i32, ptr %t4379 %t4383 = load i32, ptr %t4380 %t4384 = icmp sge i32 %t4382, %t4383 br i1 %t4384, label %grow854, label %put855 grow854: %t4385 = mul i32 %t4383, 2 %t4386 = icmp eq i32 %t4383, 0 %t4387 = select i1 %t4386, i32 8, i32 %t4385 %t4388 = getelementptr ptr, ptr null, i32 1 %t4389 = ptrtoint ptr %t4388 to i64 %t4390 = zext i32 %t4387 to i64 %t4391 = mul i64 %t4390, %t4389 %t4392 = load ptr, ptr %t4381 %t4393 = call ptr @realloc(ptr %t4392, i64 %t4391) store ptr %t4393, ptr %t4381 store i32 %t4387, ptr %t4380 br label %put855 put855: %t4394 = load ptr, ptr %t4381 %t4395 = getelementptr inbounds ptr, ptr %t4394, i32 %t4382 store ptr @.str6874, ptr %t4395 %t4396 = add i32 %t4382, 1 store i32 %t4396, ptr %t4379 br label %ifend849 ifend849: %t4397 = load ptr, ptr %t1 %t4398 = call i32 @lp_str_eq(ptr %t4397, ptr @.str6875) %t4399 = icmp ne i32 %t4398, 0 br i1 %t4399, label %then856, label %ifend858 then856: store ptr @.str6876, ptr %t380 %t4400 = load ptr, ptr %t387 %t4401 = getelementptr inbounds %LSlice, ptr %t4400, i32 0, i32 1 %t4402 = getelementptr inbounds %LSlice, ptr %t4400, i32 0, i32 2 %t4403 = getelementptr inbounds %LSlice, ptr %t4400, i32 0, i32 0 %t4404 = load i32, ptr %t4401 %t4405 = load i32, ptr %t4402 %t4406 = icmp sge i32 %t4404, %t4405 br i1 %t4406, label %grow859, label %put860 grow859: %t4407 = mul i32 %t4405, 2 %t4408 = icmp eq i32 %t4405, 0 %t4409 = select i1 %t4408, i32 8, i32 %t4407 %t4410 = getelementptr ptr, ptr null, i32 1 %t4411 = ptrtoint ptr %t4410 to i64 %t4412 = zext i32 %t4409 to i64 %t4413 = mul i64 %t4412, %t4411 %t4414 = load ptr, ptr %t4403 %t4415 = call ptr @realloc(ptr %t4414, i64 %t4413) store ptr %t4415, ptr %t4403 store i32 %t4409, ptr %t4402 br label %put860 put860: %t4416 = load ptr, ptr %t4403 %t4417 = getelementptr inbounds ptr, ptr %t4416, i32 %t4404 store ptr @.str6877, ptr %t4417 %t4418 = add i32 %t4404, 1 store i32 %t4418, ptr %t4401 %t4419 = load ptr, ptr %t387 %t4420 = getelementptr inbounds %LSlice, ptr %t4419, i32 0, i32 1 %t4421 = getelementptr inbounds %LSlice, ptr %t4419, i32 0, i32 2 %t4422 = getelementptr inbounds %LSlice, ptr %t4419, i32 0, i32 0 %t4423 = load i32, ptr %t4420 %t4424 = load i32, ptr %t4421 %t4425 = icmp sge i32 %t4423, %t4424 br i1 %t4425, label %grow861, label %put862 grow861: %t4426 = mul i32 %t4424, 2 %t4427 = icmp eq i32 %t4424, 0 %t4428 = select i1 %t4427, i32 8, i32 %t4426 %t4429 = getelementptr ptr, ptr null, i32 1 %t4430 = ptrtoint ptr %t4429 to i64 %t4431 = zext i32 %t4428 to i64 %t4432 = mul i64 %t4431, %t4430 %t4433 = load ptr, ptr %t4422 %t4434 = call ptr @realloc(ptr %t4433, i64 %t4432) store ptr %t4434, ptr %t4422 store i32 %t4428, ptr %t4421 br label %put862 put862: %t4435 = load ptr, ptr %t4422 %t4436 = getelementptr inbounds ptr, ptr %t4435, i32 %t4423 store ptr @.str6878, ptr %t4436 %t4437 = add i32 %t4423, 1 store i32 %t4437, ptr %t4420 br label %ifend858 ifend858: %t4438 = load ptr, ptr %t1 %t4439 = call i32 @lp_str_eq(ptr %t4438, ptr @.str6879) %t4440 = icmp ne i32 %t4439, 0 br i1 %t4440, label %then863, label %ifend865 then863: store ptr @.str6880, ptr %t380 %t4441 = load ptr, ptr %t387 %t4442 = getelementptr inbounds %LSlice, ptr %t4441, i32 0, i32 1 %t4443 = getelementptr inbounds %LSlice, ptr %t4441, i32 0, i32 2 %t4444 = getelementptr inbounds %LSlice, ptr %t4441, i32 0, i32 0 %t4445 = load i32, ptr %t4442 %t4446 = load i32, ptr %t4443 %t4447 = icmp sge i32 %t4445, %t4446 br i1 %t4447, label %grow866, label %put867 grow866: %t4448 = mul i32 %t4446, 2 %t4449 = icmp eq i32 %t4446, 0 %t4450 = select i1 %t4449, i32 8, i32 %t4448 %t4451 = getelementptr ptr, ptr null, i32 1 %t4452 = ptrtoint ptr %t4451 to i64 %t4453 = zext i32 %t4450 to i64 %t4454 = mul i64 %t4453, %t4452 %t4455 = load ptr, ptr %t4444 %t4456 = call ptr @realloc(ptr %t4455, i64 %t4454) store ptr %t4456, ptr %t4444 store i32 %t4450, ptr %t4443 br label %put867 put867: %t4457 = load ptr, ptr %t4444 %t4458 = getelementptr inbounds ptr, ptr %t4457, i32 %t4445 store ptr @.str6881, ptr %t4458 %t4459 = add i32 %t4445, 1 store i32 %t4459, ptr %t4442 %t4460 = load ptr, ptr %t387 %t4461 = getelementptr inbounds %LSlice, ptr %t4460, i32 0, i32 1 %t4462 = getelementptr inbounds %LSlice, ptr %t4460, i32 0, i32 2 %t4463 = getelementptr inbounds %LSlice, ptr %t4460, i32 0, i32 0 %t4464 = load i32, ptr %t4461 %t4465 = load i32, ptr %t4462 %t4466 = icmp sge i32 %t4464, %t4465 br i1 %t4466, label %grow868, label %put869 grow868: %t4467 = mul i32 %t4465, 2 %t4468 = icmp eq i32 %t4465, 0 %t4469 = select i1 %t4468, i32 8, i32 %t4467 %t4470 = getelementptr ptr, ptr null, i32 1 %t4471 = ptrtoint ptr %t4470 to i64 %t4472 = zext i32 %t4469 to i64 %t4473 = mul i64 %t4472, %t4471 %t4474 = load ptr, ptr %t4463 %t4475 = call ptr @realloc(ptr %t4474, i64 %t4473) store ptr %t4475, ptr %t4463 store i32 %t4469, ptr %t4462 br label %put869 put869: %t4476 = load ptr, ptr %t4463 %t4477 = getelementptr inbounds ptr, ptr %t4476, i32 %t4464 store ptr @.str6882, ptr %t4477 %t4478 = add i32 %t4464, 1 store i32 %t4478, ptr %t4461 br label %ifend865 ifend865: %t4479 = load ptr, ptr %t1 %t4480 = call i32 @lp_str_eq(ptr %t4479, ptr @.str6883) %t4481 = icmp ne i32 %t4480, 0 br i1 %t4481, label %then870, label %ifend872 then870: store ptr @.str6884, ptr %t380 %t4482 = load ptr, ptr %t387 %t4483 = getelementptr inbounds %LSlice, ptr %t4482, i32 0, i32 1 %t4484 = getelementptr inbounds %LSlice, ptr %t4482, i32 0, i32 2 %t4485 = getelementptr inbounds %LSlice, ptr %t4482, i32 0, i32 0 %t4486 = load i32, ptr %t4483 %t4487 = load i32, ptr %t4484 %t4488 = icmp sge i32 %t4486, %t4487 br i1 %t4488, label %grow873, label %put874 grow873: %t4489 = mul i32 %t4487, 2 %t4490 = icmp eq i32 %t4487, 0 %t4491 = select i1 %t4490, i32 8, i32 %t4489 %t4492 = getelementptr ptr, ptr null, i32 1 %t4493 = ptrtoint ptr %t4492 to i64 %t4494 = zext i32 %t4491 to i64 %t4495 = mul i64 %t4494, %t4493 %t4496 = load ptr, ptr %t4485 %t4497 = call ptr @realloc(ptr %t4496, i64 %t4495) store ptr %t4497, ptr %t4485 store i32 %t4491, ptr %t4484 br label %put874 put874: %t4498 = load ptr, ptr %t4485 %t4499 = getelementptr inbounds ptr, ptr %t4498, i32 %t4486 store ptr @.str6885, ptr %t4499 %t4500 = add i32 %t4486, 1 store i32 %t4500, ptr %t4483 br label %ifend872 ifend872: %t4501 = load ptr, ptr %t1 %t4502 = call i32 @lp_str_eq(ptr %t4501, ptr @.str6886) %t4503 = icmp ne i32 %t4502, 0 br i1 %t4503, label %then875, label %ifend877 then875: store ptr @.str6887, ptr %t380 br label %ifend877 ifend877: %t4504 = load ptr, ptr %t1 %t4505 = call i32 @lp_str_eq(ptr %t4504, ptr @.str6888) %t4506 = icmp ne i32 %t4505, 0 br i1 %t4506, label %then878, label %ifend880 then878: store ptr @.str6889, ptr %t380 br label %ifend880 ifend880: br label %ifend781 ifend781: %t4507 = load ptr, ptr %t0 %t4508 = call i32 @lp_str_eq(ptr %t4507, ptr @.str6890) %t4509 = icmp ne i32 %t4508, 0 br i1 %t4509, label %then881, label %ifend883 then881: %t4510 = load ptr, ptr %t1 %t4511 = call i32 @lp_str_eq(ptr %t4510, ptr @.str6891) %t4512 = icmp ne i32 %t4511, 0 br i1 %t4512, label %then884, label %ifend886 then884: store ptr @.str6892, ptr %t380 %t4513 = load ptr, ptr %t387 %t4514 = getelementptr inbounds %LSlice, ptr %t4513, i32 0, i32 1 %t4515 = getelementptr inbounds %LSlice, ptr %t4513, i32 0, i32 2 %t4516 = getelementptr inbounds %LSlice, ptr %t4513, i32 0, i32 0 %t4517 = load i32, ptr %t4514 %t4518 = load i32, ptr %t4515 %t4519 = icmp sge i32 %t4517, %t4518 br i1 %t4519, label %grow887, label %put888 grow887: %t4520 = mul i32 %t4518, 2 %t4521 = icmp eq i32 %t4518, 0 %t4522 = select i1 %t4521, i32 8, i32 %t4520 %t4523 = getelementptr ptr, ptr null, i32 1 %t4524 = ptrtoint ptr %t4523 to i64 %t4525 = zext i32 %t4522 to i64 %t4526 = mul i64 %t4525, %t4524 %t4527 = load ptr, ptr %t4516 %t4528 = call ptr @realloc(ptr %t4527, i64 %t4526) store ptr %t4528, ptr %t4516 store i32 %t4522, ptr %t4515 br label %put888 put888: %t4529 = load ptr, ptr %t4516 %t4530 = getelementptr inbounds ptr, ptr %t4529, i32 %t4517 store ptr @.str6893, ptr %t4530 %t4531 = add i32 %t4517, 1 store i32 %t4531, ptr %t4514 %t4532 = load ptr, ptr %t387 %t4533 = getelementptr inbounds %LSlice, ptr %t4532, i32 0, i32 1 %t4534 = getelementptr inbounds %LSlice, ptr %t4532, i32 0, i32 2 %t4535 = getelementptr inbounds %LSlice, ptr %t4532, i32 0, i32 0 %t4536 = load i32, ptr %t4533 %t4537 = load i32, ptr %t4534 %t4538 = icmp sge i32 %t4536, %t4537 br i1 %t4538, label %grow889, label %put890 grow889: %t4539 = mul i32 %t4537, 2 %t4540 = icmp eq i32 %t4537, 0 %t4541 = select i1 %t4540, i32 8, i32 %t4539 %t4542 = getelementptr ptr, ptr null, i32 1 %t4543 = ptrtoint ptr %t4542 to i64 %t4544 = zext i32 %t4541 to i64 %t4545 = mul i64 %t4544, %t4543 %t4546 = load ptr, ptr %t4535 %t4547 = call ptr @realloc(ptr %t4546, i64 %t4545) store ptr %t4547, ptr %t4535 store i32 %t4541, ptr %t4534 br label %put890 put890: %t4548 = load ptr, ptr %t4535 %t4549 = getelementptr inbounds ptr, ptr %t4548, i32 %t4536 store ptr @.str6894, ptr %t4549 %t4550 = add i32 %t4536, 1 store i32 %t4550, ptr %t4533 br label %ifend886 ifend886: %t4551 = load ptr, ptr %t1 %t4552 = call i32 @lp_str_eq(ptr %t4551, ptr @.str6895) %t4553 = icmp ne i32 %t4552, 0 br i1 %t4553, label %then891, label %ifend893 then891: store ptr @.str6896, ptr %t380 %t4554 = load ptr, ptr %t387 %t4555 = getelementptr inbounds %LSlice, ptr %t4554, i32 0, i32 1 %t4556 = getelementptr inbounds %LSlice, ptr %t4554, i32 0, i32 2 %t4557 = getelementptr inbounds %LSlice, ptr %t4554, i32 0, i32 0 %t4558 = load i32, ptr %t4555 %t4559 = load i32, ptr %t4556 %t4560 = icmp sge i32 %t4558, %t4559 br i1 %t4560, label %grow894, label %put895 grow894: %t4561 = mul i32 %t4559, 2 %t4562 = icmp eq i32 %t4559, 0 %t4563 = select i1 %t4562, i32 8, i32 %t4561 %t4564 = getelementptr ptr, ptr null, i32 1 %t4565 = ptrtoint ptr %t4564 to i64 %t4566 = zext i32 %t4563 to i64 %t4567 = mul i64 %t4566, %t4565 %t4568 = load ptr, ptr %t4557 %t4569 = call ptr @realloc(ptr %t4568, i64 %t4567) store ptr %t4569, ptr %t4557 store i32 %t4563, ptr %t4556 br label %put895 put895: %t4570 = load ptr, ptr %t4557 %t4571 = getelementptr inbounds ptr, ptr %t4570, i32 %t4558 store ptr @.str6897, ptr %t4571 %t4572 = add i32 %t4558, 1 store i32 %t4572, ptr %t4555 br label %ifend893 ifend893: %t4573 = load ptr, ptr %t1 %t4574 = call i32 @lp_str_eq(ptr %t4573, ptr @.str6898) %t4575 = icmp ne i32 %t4574, 0 br i1 %t4575, label %then896, label %ifend898 then896: store ptr @.str6899, ptr %t380 %t4576 = load ptr, ptr %t387 %t4577 = getelementptr inbounds %LSlice, ptr %t4576, i32 0, i32 1 %t4578 = getelementptr inbounds %LSlice, ptr %t4576, i32 0, i32 2 %t4579 = getelementptr inbounds %LSlice, ptr %t4576, i32 0, i32 0 %t4580 = load i32, ptr %t4577 %t4581 = load i32, ptr %t4578 %t4582 = icmp sge i32 %t4580, %t4581 br i1 %t4582, label %grow899, label %put900 grow899: %t4583 = mul i32 %t4581, 2 %t4584 = icmp eq i32 %t4581, 0 %t4585 = select i1 %t4584, i32 8, i32 %t4583 %t4586 = getelementptr ptr, ptr null, i32 1 %t4587 = ptrtoint ptr %t4586 to i64 %t4588 = zext i32 %t4585 to i64 %t4589 = mul i64 %t4588, %t4587 %t4590 = load ptr, ptr %t4579 %t4591 = call ptr @realloc(ptr %t4590, i64 %t4589) store ptr %t4591, ptr %t4579 store i32 %t4585, ptr %t4578 br label %put900 put900: %t4592 = load ptr, ptr %t4579 %t4593 = getelementptr inbounds ptr, ptr %t4592, i32 %t4580 store ptr @.str6900, ptr %t4593 %t4594 = add i32 %t4580, 1 store i32 %t4594, ptr %t4577 br label %ifend898 ifend898: %t4595 = load ptr, ptr %t1 %t4596 = call i32 @lp_str_eq(ptr %t4595, ptr @.str6901) %t4597 = icmp ne i32 %t4596, 0 br i1 %t4597, label %then901, label %ifend903 then901: store ptr @.str6902, ptr %t380 %t4598 = load ptr, ptr %t387 %t4599 = getelementptr inbounds %LSlice, ptr %t4598, i32 0, i32 1 %t4600 = getelementptr inbounds %LSlice, ptr %t4598, i32 0, i32 2 %t4601 = getelementptr inbounds %LSlice, ptr %t4598, i32 0, i32 0 %t4602 = load i32, ptr %t4599 %t4603 = load i32, ptr %t4600 %t4604 = icmp sge i32 %t4602, %t4603 br i1 %t4604, label %grow904, label %put905 grow904: %t4605 = mul i32 %t4603, 2 %t4606 = icmp eq i32 %t4603, 0 %t4607 = select i1 %t4606, i32 8, i32 %t4605 %t4608 = getelementptr ptr, ptr null, i32 1 %t4609 = ptrtoint ptr %t4608 to i64 %t4610 = zext i32 %t4607 to i64 %t4611 = mul i64 %t4610, %t4609 %t4612 = load ptr, ptr %t4601 %t4613 = call ptr @realloc(ptr %t4612, i64 %t4611) store ptr %t4613, ptr %t4601 store i32 %t4607, ptr %t4600 br label %put905 put905: %t4614 = load ptr, ptr %t4601 %t4615 = getelementptr inbounds ptr, ptr %t4614, i32 %t4602 store ptr @.str6903, ptr %t4615 %t4616 = add i32 %t4602, 1 store i32 %t4616, ptr %t4599 br label %ifend903 ifend903: %t4617 = load ptr, ptr %t1 %t4618 = call i32 @lp_str_eq(ptr %t4617, ptr @.str6904) %t4619 = icmp ne i32 %t4618, 0 br i1 %t4619, label %then906, label %ifend908 then906: store ptr @.str6905, ptr %t380 br label %ifend908 ifend908: %t4620 = load ptr, ptr %t1 %t4621 = call i32 @lp_str_eq(ptr %t4620, ptr @.str6906) %t4622 = icmp ne i32 %t4621, 0 br i1 %t4622, label %then909, label %ifend911 then909: store ptr @.str6907, ptr %t380 %t4623 = load ptr, ptr %t387 %t4624 = getelementptr inbounds %LSlice, ptr %t4623, i32 0, i32 1 %t4625 = getelementptr inbounds %LSlice, ptr %t4623, i32 0, i32 2 %t4626 = getelementptr inbounds %LSlice, ptr %t4623, i32 0, i32 0 %t4627 = load i32, ptr %t4624 %t4628 = load i32, ptr %t4625 %t4629 = icmp sge i32 %t4627, %t4628 br i1 %t4629, label %grow912, label %put913 grow912: %t4630 = mul i32 %t4628, 2 %t4631 = icmp eq i32 %t4628, 0 %t4632 = select i1 %t4631, i32 8, i32 %t4630 %t4633 = getelementptr ptr, ptr null, i32 1 %t4634 = ptrtoint ptr %t4633 to i64 %t4635 = zext i32 %t4632 to i64 %t4636 = mul i64 %t4635, %t4634 %t4637 = load ptr, ptr %t4626 %t4638 = call ptr @realloc(ptr %t4637, i64 %t4636) store ptr %t4638, ptr %t4626 store i32 %t4632, ptr %t4625 br label %put913 put913: %t4639 = load ptr, ptr %t4626 %t4640 = getelementptr inbounds ptr, ptr %t4639, i32 %t4627 store ptr @.str6908, ptr %t4640 %t4641 = add i32 %t4627, 1 store i32 %t4641, ptr %t4624 br label %ifend911 ifend911: %t4642 = load ptr, ptr %t1 %t4643 = call i32 @lp_str_eq(ptr %t4642, ptr @.str6909) %t4644 = icmp ne i32 %t4643, 0 br i1 %t4644, label %then914, label %ifend916 then914: store ptr @.str6910, ptr %t380 br label %ifend916 ifend916: br label %ifend883 ifend883: %t4645 = load ptr, ptr %t0 %t4646 = call i32 @lp_str_eq(ptr %t4645, ptr @.str6911) %t4647 = icmp ne i32 %t4646, 0 br i1 %t4647, label %then917, label %ifend919 then917: %t4648 = load ptr, ptr %t1 %t4649 = call i32 @lp_str_eq(ptr %t4648, ptr @.str6912) %t4650 = icmp ne i32 %t4649, 0 br i1 %t4650, label %then920, label %ifend922 then920: store ptr @.str6913, ptr %t380 br label %ifend922 ifend922: %t4651 = load ptr, ptr %t1 %t4652 = call i32 @lp_str_eq(ptr %t4651, ptr @.str6914) %t4653 = icmp ne i32 %t4652, 0 br i1 %t4653, label %then923, label %ifend925 then923: store ptr @.str6915, ptr %t380 %t4654 = load ptr, ptr %t387 %t4655 = getelementptr inbounds %LSlice, ptr %t4654, i32 0, i32 1 %t4656 = getelementptr inbounds %LSlice, ptr %t4654, i32 0, i32 2 %t4657 = getelementptr inbounds %LSlice, ptr %t4654, i32 0, i32 0 %t4658 = load i32, ptr %t4655 %t4659 = load i32, ptr %t4656 %t4660 = icmp sge i32 %t4658, %t4659 br i1 %t4660, label %grow926, label %put927 grow926: %t4661 = mul i32 %t4659, 2 %t4662 = icmp eq i32 %t4659, 0 %t4663 = select i1 %t4662, i32 8, i32 %t4661 %t4664 = getelementptr ptr, ptr null, i32 1 %t4665 = ptrtoint ptr %t4664 to i64 %t4666 = zext i32 %t4663 to i64 %t4667 = mul i64 %t4666, %t4665 %t4668 = load ptr, ptr %t4657 %t4669 = call ptr @realloc(ptr %t4668, i64 %t4667) store ptr %t4669, ptr %t4657 store i32 %t4663, ptr %t4656 br label %put927 put927: %t4670 = load ptr, ptr %t4657 %t4671 = getelementptr inbounds ptr, ptr %t4670, i32 %t4658 store ptr @.str6916, ptr %t4671 %t4672 = add i32 %t4658, 1 store i32 %t4672, ptr %t4655 %t4673 = load ptr, ptr %t387 %t4674 = getelementptr inbounds %LSlice, ptr %t4673, i32 0, i32 1 %t4675 = getelementptr inbounds %LSlice, ptr %t4673, i32 0, i32 2 %t4676 = getelementptr inbounds %LSlice, ptr %t4673, i32 0, i32 0 %t4677 = load i32, ptr %t4674 %t4678 = load i32, ptr %t4675 %t4679 = icmp sge i32 %t4677, %t4678 br i1 %t4679, label %grow928, label %put929 grow928: %t4680 = mul i32 %t4678, 2 %t4681 = icmp eq i32 %t4678, 0 %t4682 = select i1 %t4681, i32 8, i32 %t4680 %t4683 = getelementptr ptr, ptr null, i32 1 %t4684 = ptrtoint ptr %t4683 to i64 %t4685 = zext i32 %t4682 to i64 %t4686 = mul i64 %t4685, %t4684 %t4687 = load ptr, ptr %t4676 %t4688 = call ptr @realloc(ptr %t4687, i64 %t4686) store ptr %t4688, ptr %t4676 store i32 %t4682, ptr %t4675 br label %put929 put929: %t4689 = load ptr, ptr %t4676 %t4690 = getelementptr inbounds ptr, ptr %t4689, i32 %t4677 store ptr @.str6917, ptr %t4690 %t4691 = add i32 %t4677, 1 store i32 %t4691, ptr %t4674 br label %ifend925 ifend925: %t4692 = load ptr, ptr %t1 %t4693 = call i32 @lp_str_eq(ptr %t4692, ptr @.str6918) %t4694 = icmp ne i32 %t4693, 0 br i1 %t4694, label %then930, label %ifend932 then930: store ptr @.str6919, ptr %t380 %t4695 = load ptr, ptr %t387 %t4696 = getelementptr inbounds %LSlice, ptr %t4695, i32 0, i32 1 %t4697 = getelementptr inbounds %LSlice, ptr %t4695, i32 0, i32 2 %t4698 = getelementptr inbounds %LSlice, ptr %t4695, i32 0, i32 0 %t4699 = load i32, ptr %t4696 %t4700 = load i32, ptr %t4697 %t4701 = icmp sge i32 %t4699, %t4700 br i1 %t4701, label %grow933, label %put934 grow933: %t4702 = mul i32 %t4700, 2 %t4703 = icmp eq i32 %t4700, 0 %t4704 = select i1 %t4703, i32 8, i32 %t4702 %t4705 = getelementptr ptr, ptr null, i32 1 %t4706 = ptrtoint ptr %t4705 to i64 %t4707 = zext i32 %t4704 to i64 %t4708 = mul i64 %t4707, %t4706 %t4709 = load ptr, ptr %t4698 %t4710 = call ptr @realloc(ptr %t4709, i64 %t4708) store ptr %t4710, ptr %t4698 store i32 %t4704, ptr %t4697 br label %put934 put934: %t4711 = load ptr, ptr %t4698 %t4712 = getelementptr inbounds ptr, ptr %t4711, i32 %t4699 store ptr @.str6920, ptr %t4712 %t4713 = add i32 %t4699, 1 store i32 %t4713, ptr %t4696 %t4714 = load ptr, ptr %t387 %t4715 = getelementptr inbounds %LSlice, ptr %t4714, i32 0, i32 1 %t4716 = getelementptr inbounds %LSlice, ptr %t4714, i32 0, i32 2 %t4717 = getelementptr inbounds %LSlice, ptr %t4714, i32 0, i32 0 %t4718 = load i32, ptr %t4715 %t4719 = load i32, ptr %t4716 %t4720 = icmp sge i32 %t4718, %t4719 br i1 %t4720, label %grow935, label %put936 grow935: %t4721 = mul i32 %t4719, 2 %t4722 = icmp eq i32 %t4719, 0 %t4723 = select i1 %t4722, i32 8, i32 %t4721 %t4724 = getelementptr ptr, ptr null, i32 1 %t4725 = ptrtoint ptr %t4724 to i64 %t4726 = zext i32 %t4723 to i64 %t4727 = mul i64 %t4726, %t4725 %t4728 = load ptr, ptr %t4717 %t4729 = call ptr @realloc(ptr %t4728, i64 %t4727) store ptr %t4729, ptr %t4717 store i32 %t4723, ptr %t4716 br label %put936 put936: %t4730 = load ptr, ptr %t4717 %t4731 = getelementptr inbounds ptr, ptr %t4730, i32 %t4718 store ptr @.str6921, ptr %t4731 %t4732 = add i32 %t4718, 1 store i32 %t4732, ptr %t4715 %t4733 = load ptr, ptr %t387 %t4734 = getelementptr inbounds %LSlice, ptr %t4733, i32 0, i32 1 %t4735 = getelementptr inbounds %LSlice, ptr %t4733, i32 0, i32 2 %t4736 = getelementptr inbounds %LSlice, ptr %t4733, i32 0, i32 0 %t4737 = load i32, ptr %t4734 %t4738 = load i32, ptr %t4735 %t4739 = icmp sge i32 %t4737, %t4738 br i1 %t4739, label %grow937, label %put938 grow937: %t4740 = mul i32 %t4738, 2 %t4741 = icmp eq i32 %t4738, 0 %t4742 = select i1 %t4741, i32 8, i32 %t4740 %t4743 = getelementptr ptr, ptr null, i32 1 %t4744 = ptrtoint ptr %t4743 to i64 %t4745 = zext i32 %t4742 to i64 %t4746 = mul i64 %t4745, %t4744 %t4747 = load ptr, ptr %t4736 %t4748 = call ptr @realloc(ptr %t4747, i64 %t4746) store ptr %t4748, ptr %t4736 store i32 %t4742, ptr %t4735 br label %put938 put938: %t4749 = load ptr, ptr %t4736 %t4750 = getelementptr inbounds ptr, ptr %t4749, i32 %t4737 store ptr @.str6922, ptr %t4750 %t4751 = add i32 %t4737, 1 store i32 %t4751, ptr %t4734 br label %ifend932 ifend932: %t4752 = load ptr, ptr %t1 %t4753 = call i32 @lp_str_eq(ptr %t4752, ptr @.str6923) %t4754 = icmp ne i32 %t4753, 0 br i1 %t4754, label %then939, label %ifend941 then939: store ptr @.str6924, ptr %t380 br label %ifend941 ifend941: %t4755 = load ptr, ptr %t1 %t4756 = call i32 @lp_str_eq(ptr %t4755, ptr @.str6925) %t4757 = icmp ne i32 %t4756, 0 br i1 %t4757, label %then942, label %ifend944 then942: store ptr @.str6926, ptr %t380 br label %ifend944 ifend944: %t4758 = load ptr, ptr %t1 %t4759 = call i32 @lp_str_eq(ptr %t4758, ptr @.str6927) %t4760 = icmp ne i32 %t4759, 0 br i1 %t4760, label %then945, label %ifend947 then945: store ptr @.str6928, ptr %t380 br label %ifend947 ifend947: %t4761 = load ptr, ptr %t1 %t4762 = call i32 @lp_str_eq(ptr %t4761, ptr @.str6929) %t4763 = icmp ne i32 %t4762, 0 br i1 %t4763, label %then948, label %ifend950 then948: store ptr @.str6930, ptr %t380 br label %ifend950 ifend950: %t4764 = load ptr, ptr %t1 %t4765 = call i32 @lp_str_eq(ptr %t4764, ptr @.str6931) %t4766 = icmp ne i32 %t4765, 0 br i1 %t4766, label %then951, label %ifend953 then951: store ptr @.str6932, ptr %t380 br label %ifend953 ifend953: %t4767 = load ptr, ptr %t1 %t4768 = call i32 @lp_str_eq(ptr %t4767, ptr @.str6933) %t4769 = icmp ne i32 %t4768, 0 br i1 %t4769, label %then954, label %ifend956 then954: store ptr @.str6934, ptr %t380 %t4770 = load ptr, ptr %t387 %t4771 = getelementptr inbounds %LSlice, ptr %t4770, i32 0, i32 1 %t4772 = getelementptr inbounds %LSlice, ptr %t4770, i32 0, i32 2 %t4773 = getelementptr inbounds %LSlice, ptr %t4770, i32 0, i32 0 %t4774 = load i32, ptr %t4771 %t4775 = load i32, ptr %t4772 %t4776 = icmp sge i32 %t4774, %t4775 br i1 %t4776, label %grow957, label %put958 grow957: %t4777 = mul i32 %t4775, 2 %t4778 = icmp eq i32 %t4775, 0 %t4779 = select i1 %t4778, i32 8, i32 %t4777 %t4780 = getelementptr ptr, ptr null, i32 1 %t4781 = ptrtoint ptr %t4780 to i64 %t4782 = zext i32 %t4779 to i64 %t4783 = mul i64 %t4782, %t4781 %t4784 = load ptr, ptr %t4773 %t4785 = call ptr @realloc(ptr %t4784, i64 %t4783) store ptr %t4785, ptr %t4773 store i32 %t4779, ptr %t4772 br label %put958 put958: %t4786 = load ptr, ptr %t4773 %t4787 = getelementptr inbounds ptr, ptr %t4786, i32 %t4774 store ptr @.str6935, ptr %t4787 %t4788 = add i32 %t4774, 1 store i32 %t4788, ptr %t4771 %t4789 = load ptr, ptr %t387 %t4790 = getelementptr inbounds %LSlice, ptr %t4789, i32 0, i32 1 %t4791 = getelementptr inbounds %LSlice, ptr %t4789, i32 0, i32 2 %t4792 = getelementptr inbounds %LSlice, ptr %t4789, i32 0, i32 0 %t4793 = load i32, ptr %t4790 %t4794 = load i32, ptr %t4791 %t4795 = icmp sge i32 %t4793, %t4794 br i1 %t4795, label %grow959, label %put960 grow959: %t4796 = mul i32 %t4794, 2 %t4797 = icmp eq i32 %t4794, 0 %t4798 = select i1 %t4797, i32 8, i32 %t4796 %t4799 = getelementptr ptr, ptr null, i32 1 %t4800 = ptrtoint ptr %t4799 to i64 %t4801 = zext i32 %t4798 to i64 %t4802 = mul i64 %t4801, %t4800 %t4803 = load ptr, ptr %t4792 %t4804 = call ptr @realloc(ptr %t4803, i64 %t4802) store ptr %t4804, ptr %t4792 store i32 %t4798, ptr %t4791 br label %put960 put960: %t4805 = load ptr, ptr %t4792 %t4806 = getelementptr inbounds ptr, ptr %t4805, i32 %t4793 store ptr @.str6936, ptr %t4806 %t4807 = add i32 %t4793, 1 store i32 %t4807, ptr %t4790 br label %ifend956 ifend956: %t4808 = load ptr, ptr %t1 %t4809 = call i32 @lp_str_eq(ptr %t4808, ptr @.str6937) %t4810 = icmp ne i32 %t4809, 0 br i1 %t4810, label %then961, label %ifend963 then961: store ptr @.str6938, ptr %t380 %t4811 = load ptr, ptr %t387 %t4812 = getelementptr inbounds %LSlice, ptr %t4811, i32 0, i32 1 %t4813 = getelementptr inbounds %LSlice, ptr %t4811, i32 0, i32 2 %t4814 = getelementptr inbounds %LSlice, ptr %t4811, i32 0, i32 0 %t4815 = load i32, ptr %t4812 %t4816 = load i32, ptr %t4813 %t4817 = icmp sge i32 %t4815, %t4816 br i1 %t4817, label %grow964, label %put965 grow964: %t4818 = mul i32 %t4816, 2 %t4819 = icmp eq i32 %t4816, 0 %t4820 = select i1 %t4819, i32 8, i32 %t4818 %t4821 = getelementptr ptr, ptr null, i32 1 %t4822 = ptrtoint ptr %t4821 to i64 %t4823 = zext i32 %t4820 to i64 %t4824 = mul i64 %t4823, %t4822 %t4825 = load ptr, ptr %t4814 %t4826 = call ptr @realloc(ptr %t4825, i64 %t4824) store ptr %t4826, ptr %t4814 store i32 %t4820, ptr %t4813 br label %put965 put965: %t4827 = load ptr, ptr %t4814 %t4828 = getelementptr inbounds ptr, ptr %t4827, i32 %t4815 store ptr @.str6939, ptr %t4828 %t4829 = add i32 %t4815, 1 store i32 %t4829, ptr %t4812 %t4830 = load ptr, ptr %t387 %t4831 = getelementptr inbounds %LSlice, ptr %t4830, i32 0, i32 1 %t4832 = getelementptr inbounds %LSlice, ptr %t4830, i32 0, i32 2 %t4833 = getelementptr inbounds %LSlice, ptr %t4830, i32 0, i32 0 %t4834 = load i32, ptr %t4831 %t4835 = load i32, ptr %t4832 %t4836 = icmp sge i32 %t4834, %t4835 br i1 %t4836, label %grow966, label %put967 grow966: %t4837 = mul i32 %t4835, 2 %t4838 = icmp eq i32 %t4835, 0 %t4839 = select i1 %t4838, i32 8, i32 %t4837 %t4840 = getelementptr ptr, ptr null, i32 1 %t4841 = ptrtoint ptr %t4840 to i64 %t4842 = zext i32 %t4839 to i64 %t4843 = mul i64 %t4842, %t4841 %t4844 = load ptr, ptr %t4833 %t4845 = call ptr @realloc(ptr %t4844, i64 %t4843) store ptr %t4845, ptr %t4833 store i32 %t4839, ptr %t4832 br label %put967 put967: %t4846 = load ptr, ptr %t4833 %t4847 = getelementptr inbounds ptr, ptr %t4846, i32 %t4834 store ptr @.str6940, ptr %t4847 %t4848 = add i32 %t4834, 1 store i32 %t4848, ptr %t4831 br label %ifend963 ifend963: %t4849 = load ptr, ptr %t1 %t4850 = call i32 @lp_str_eq(ptr %t4849, ptr @.str6941) %t4851 = icmp ne i32 %t4850, 0 br i1 %t4851, label %then968, label %ifend970 then968: store ptr @.str6942, ptr %t380 %t4852 = load ptr, ptr %t387 %t4853 = getelementptr inbounds %LSlice, ptr %t4852, i32 0, i32 1 %t4854 = getelementptr inbounds %LSlice, ptr %t4852, i32 0, i32 2 %t4855 = getelementptr inbounds %LSlice, ptr %t4852, i32 0, i32 0 %t4856 = load i32, ptr %t4853 %t4857 = load i32, ptr %t4854 %t4858 = icmp sge i32 %t4856, %t4857 br i1 %t4858, label %grow971, label %put972 grow971: %t4859 = mul i32 %t4857, 2 %t4860 = icmp eq i32 %t4857, 0 %t4861 = select i1 %t4860, i32 8, i32 %t4859 %t4862 = getelementptr ptr, ptr null, i32 1 %t4863 = ptrtoint ptr %t4862 to i64 %t4864 = zext i32 %t4861 to i64 %t4865 = mul i64 %t4864, %t4863 %t4866 = load ptr, ptr %t4855 %t4867 = call ptr @realloc(ptr %t4866, i64 %t4865) store ptr %t4867, ptr %t4855 store i32 %t4861, ptr %t4854 br label %put972 put972: %t4868 = load ptr, ptr %t4855 %t4869 = getelementptr inbounds ptr, ptr %t4868, i32 %t4856 store ptr @.str6943, ptr %t4869 %t4870 = add i32 %t4856, 1 store i32 %t4870, ptr %t4853 br label %ifend970 ifend970: %t4871 = load ptr, ptr %t1 %t4872 = call i32 @lp_str_eq(ptr %t4871, ptr @.str6944) %t4873 = icmp ne i32 %t4872, 0 br i1 %t4873, label %then973, label %ifend975 then973: store ptr @.str6945, ptr %t380 %t4874 = load ptr, ptr %t387 %t4875 = getelementptr inbounds %LSlice, ptr %t4874, i32 0, i32 1 %t4876 = getelementptr inbounds %LSlice, ptr %t4874, i32 0, i32 2 %t4877 = getelementptr inbounds %LSlice, ptr %t4874, i32 0, i32 0 %t4878 = load i32, ptr %t4875 %t4879 = load i32, ptr %t4876 %t4880 = icmp sge i32 %t4878, %t4879 br i1 %t4880, label %grow976, label %put977 grow976: %t4881 = mul i32 %t4879, 2 %t4882 = icmp eq i32 %t4879, 0 %t4883 = select i1 %t4882, i32 8, i32 %t4881 %t4884 = getelementptr ptr, ptr null, i32 1 %t4885 = ptrtoint ptr %t4884 to i64 %t4886 = zext i32 %t4883 to i64 %t4887 = mul i64 %t4886, %t4885 %t4888 = load ptr, ptr %t4877 %t4889 = call ptr @realloc(ptr %t4888, i64 %t4887) store ptr %t4889, ptr %t4877 store i32 %t4883, ptr %t4876 br label %put977 put977: %t4890 = load ptr, ptr %t4877 %t4891 = getelementptr inbounds ptr, ptr %t4890, i32 %t4878 store ptr @.str6946, ptr %t4891 %t4892 = add i32 %t4878, 1 store i32 %t4892, ptr %t4875 br label %ifend975 ifend975: %t4893 = load ptr, ptr %t1 %t4894 = call i32 @lp_str_eq(ptr %t4893, ptr @.str6947) %t4895 = icmp ne i32 %t4894, 0 br i1 %t4895, label %then978, label %ifend980 then978: store ptr @.str6948, ptr %t380 %t4896 = load ptr, ptr %t387 %t4897 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 1 %t4898 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 2 %t4899 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 0 %t4900 = load i32, ptr %t4897 %t4901 = load i32, ptr %t4898 %t4902 = icmp sge i32 %t4900, %t4901 br i1 %t4902, label %grow981, label %put982 grow981: %t4903 = mul i32 %t4901, 2 %t4904 = icmp eq i32 %t4901, 0 %t4905 = select i1 %t4904, i32 8, i32 %t4903 %t4906 = getelementptr ptr, ptr null, i32 1 %t4907 = ptrtoint ptr %t4906 to i64 %t4908 = zext i32 %t4905 to i64 %t4909 = mul i64 %t4908, %t4907 %t4910 = load ptr, ptr %t4899 %t4911 = call ptr @realloc(ptr %t4910, i64 %t4909) store ptr %t4911, ptr %t4899 store i32 %t4905, ptr %t4898 br label %put982 put982: %t4912 = load ptr, ptr %t4899 %t4913 = getelementptr inbounds ptr, ptr %t4912, i32 %t4900 store ptr @.str6949, ptr %t4913 %t4914 = add i32 %t4900, 1 store i32 %t4914, ptr %t4897 br label %ifend980 ifend980: %t4915 = load ptr, ptr %t1 %t4916 = call i32 @lp_str_eq(ptr %t4915, ptr @.str6950) %t4917 = icmp ne i32 %t4916, 0 br i1 %t4917, label %then983, label %ifend985 then983: store ptr @.str6951, ptr %t380 %t4918 = load ptr, ptr %t387 %t4919 = getelementptr inbounds %LSlice, ptr %t4918, i32 0, i32 1 %t4920 = getelementptr inbounds %LSlice, ptr %t4918, i32 0, i32 2 %t4921 = getelementptr inbounds %LSlice, ptr %t4918, i32 0, i32 0 %t4922 = load i32, ptr %t4919 %t4923 = load i32, ptr %t4920 %t4924 = icmp sge i32 %t4922, %t4923 br i1 %t4924, label %grow986, label %put987 grow986: %t4925 = mul i32 %t4923, 2 %t4926 = icmp eq i32 %t4923, 0 %t4927 = select i1 %t4926, i32 8, i32 %t4925 %t4928 = getelementptr ptr, ptr null, i32 1 %t4929 = ptrtoint ptr %t4928 to i64 %t4930 = zext i32 %t4927 to i64 %t4931 = mul i64 %t4930, %t4929 %t4932 = load ptr, ptr %t4921 %t4933 = call ptr @realloc(ptr %t4932, i64 %t4931) store ptr %t4933, ptr %t4921 store i32 %t4927, ptr %t4920 br label %put987 put987: %t4934 = load ptr, ptr %t4921 %t4935 = getelementptr inbounds ptr, ptr %t4934, i32 %t4922 store ptr @.str6952, ptr %t4935 %t4936 = add i32 %t4922, 1 store i32 %t4936, ptr %t4919 br label %ifend985 ifend985: %t4937 = load ptr, ptr %t1 %t4938 = call i32 @lp_str_eq(ptr %t4937, ptr @.str6953) %t4939 = icmp ne i32 %t4938, 0 br i1 %t4939, label %then988, label %ifend990 then988: store ptr @.str6954, ptr %t380 %t4940 = load ptr, ptr %t387 %t4941 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 1 %t4942 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 2 %t4943 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 0 %t4944 = load i32, ptr %t4941 %t4945 = load i32, ptr %t4942 %t4946 = icmp sge i32 %t4944, %t4945 br i1 %t4946, label %grow991, label %put992 grow991: %t4947 = mul i32 %t4945, 2 %t4948 = icmp eq i32 %t4945, 0 %t4949 = select i1 %t4948, i32 8, i32 %t4947 %t4950 = getelementptr ptr, ptr null, i32 1 %t4951 = ptrtoint ptr %t4950 to i64 %t4952 = zext i32 %t4949 to i64 %t4953 = mul i64 %t4952, %t4951 %t4954 = load ptr, ptr %t4943 %t4955 = call ptr @realloc(ptr %t4954, i64 %t4953) store ptr %t4955, ptr %t4943 store i32 %t4949, ptr %t4942 br label %put992 put992: %t4956 = load ptr, ptr %t4943 %t4957 = getelementptr inbounds ptr, ptr %t4956, i32 %t4944 store ptr @.str6955, ptr %t4957 %t4958 = add i32 %t4944, 1 store i32 %t4958, ptr %t4941 br label %ifend990 ifend990: %t4959 = load ptr, ptr %t1 %t4960 = call i32 @lp_str_eq(ptr %t4959, ptr @.str6956) %t4961 = icmp ne i32 %t4960, 0 br i1 %t4961, label %then993, label %ifend995 then993: store ptr @.str6957, ptr %t380 %t4962 = load ptr, ptr %t387 %t4963 = getelementptr inbounds %LSlice, ptr %t4962, i32 0, i32 1 %t4964 = getelementptr inbounds %LSlice, ptr %t4962, i32 0, i32 2 %t4965 = getelementptr inbounds %LSlice, ptr %t4962, i32 0, i32 0 %t4966 = load i32, ptr %t4963 %t4967 = load i32, ptr %t4964 %t4968 = icmp sge i32 %t4966, %t4967 br i1 %t4968, label %grow996, label %put997 grow996: %t4969 = mul i32 %t4967, 2 %t4970 = icmp eq i32 %t4967, 0 %t4971 = select i1 %t4970, i32 8, i32 %t4969 %t4972 = getelementptr ptr, ptr null, i32 1 %t4973 = ptrtoint ptr %t4972 to i64 %t4974 = zext i32 %t4971 to i64 %t4975 = mul i64 %t4974, %t4973 %t4976 = load ptr, ptr %t4965 %t4977 = call ptr @realloc(ptr %t4976, i64 %t4975) store ptr %t4977, ptr %t4965 store i32 %t4971, ptr %t4964 br label %put997 put997: %t4978 = load ptr, ptr %t4965 %t4979 = getelementptr inbounds ptr, ptr %t4978, i32 %t4966 store ptr @.str6958, ptr %t4979 %t4980 = add i32 %t4966, 1 store i32 %t4980, ptr %t4963 br label %ifend995 ifend995: %t4981 = load ptr, ptr %t1 %t4982 = call i32 @lp_str_eq(ptr %t4981, ptr @.str6959) %t4983 = icmp ne i32 %t4982, 0 br i1 %t4983, label %then998, label %ifend1000 then998: store ptr @.str6960, ptr %t380 %t4984 = load ptr, ptr %t387 %t4985 = getelementptr inbounds %LSlice, ptr %t4984, i32 0, i32 1 %t4986 = getelementptr inbounds %LSlice, ptr %t4984, i32 0, i32 2 %t4987 = getelementptr inbounds %LSlice, ptr %t4984, i32 0, i32 0 %t4988 = load i32, ptr %t4985 %t4989 = load i32, ptr %t4986 %t4990 = icmp sge i32 %t4988, %t4989 br i1 %t4990, label %grow1001, label %put1002 grow1001: %t4991 = mul i32 %t4989, 2 %t4992 = icmp eq i32 %t4989, 0 %t4993 = select i1 %t4992, i32 8, i32 %t4991 %t4994 = getelementptr ptr, ptr null, i32 1 %t4995 = ptrtoint ptr %t4994 to i64 %t4996 = zext i32 %t4993 to i64 %t4997 = mul i64 %t4996, %t4995 %t4998 = load ptr, ptr %t4987 %t4999 = call ptr @realloc(ptr %t4998, i64 %t4997) store ptr %t4999, ptr %t4987 store i32 %t4993, ptr %t4986 br label %put1002 put1002: %t5000 = load ptr, ptr %t4987 %t5001 = getelementptr inbounds ptr, ptr %t5000, i32 %t4988 store ptr @.str6961, ptr %t5001 %t5002 = add i32 %t4988, 1 store i32 %t5002, ptr %t4985 br label %ifend1000 ifend1000: %t5003 = load ptr, ptr %t1 %t5004 = call i32 @lp_str_eq(ptr %t5003, ptr @.str6962) %t5005 = icmp ne i32 %t5004, 0 br i1 %t5005, label %then1003, label %ifend1005 then1003: store ptr @.str6963, ptr %t380 %t5006 = load ptr, ptr %t387 %t5007 = getelementptr inbounds %LSlice, ptr %t5006, i32 0, i32 1 %t5008 = getelementptr inbounds %LSlice, ptr %t5006, i32 0, i32 2 %t5009 = getelementptr inbounds %LSlice, ptr %t5006, i32 0, i32 0 %t5010 = load i32, ptr %t5007 %t5011 = load i32, ptr %t5008 %t5012 = icmp sge i32 %t5010, %t5011 br i1 %t5012, label %grow1006, label %put1007 grow1006: %t5013 = mul i32 %t5011, 2 %t5014 = icmp eq i32 %t5011, 0 %t5015 = select i1 %t5014, i32 8, i32 %t5013 %t5016 = getelementptr ptr, ptr null, i32 1 %t5017 = ptrtoint ptr %t5016 to i64 %t5018 = zext i32 %t5015 to i64 %t5019 = mul i64 %t5018, %t5017 %t5020 = load ptr, ptr %t5009 %t5021 = call ptr @realloc(ptr %t5020, i64 %t5019) store ptr %t5021, ptr %t5009 store i32 %t5015, ptr %t5008 br label %put1007 put1007: %t5022 = load ptr, ptr %t5009 %t5023 = getelementptr inbounds ptr, ptr %t5022, i32 %t5010 store ptr @.str6964, ptr %t5023 %t5024 = add i32 %t5010, 1 store i32 %t5024, ptr %t5007 br label %ifend1005 ifend1005: %t5025 = load ptr, ptr %t1 %t5026 = call i32 @lp_str_eq(ptr %t5025, ptr @.str6965) %t5027 = icmp ne i32 %t5026, 0 br i1 %t5027, label %then1008, label %ifend1010 then1008: store ptr @.str6966, ptr %t380 %t5028 = load ptr, ptr %t387 %t5029 = getelementptr inbounds %LSlice, ptr %t5028, i32 0, i32 1 %t5030 = getelementptr inbounds %LSlice, ptr %t5028, i32 0, i32 2 %t5031 = getelementptr inbounds %LSlice, ptr %t5028, i32 0, i32 0 %t5032 = load i32, ptr %t5029 %t5033 = load i32, ptr %t5030 %t5034 = icmp sge i32 %t5032, %t5033 br i1 %t5034, label %grow1011, label %put1012 grow1011: %t5035 = mul i32 %t5033, 2 %t5036 = icmp eq i32 %t5033, 0 %t5037 = select i1 %t5036, i32 8, i32 %t5035 %t5038 = getelementptr ptr, ptr null, i32 1 %t5039 = ptrtoint ptr %t5038 to i64 %t5040 = zext i32 %t5037 to i64 %t5041 = mul i64 %t5040, %t5039 %t5042 = load ptr, ptr %t5031 %t5043 = call ptr @realloc(ptr %t5042, i64 %t5041) store ptr %t5043, ptr %t5031 store i32 %t5037, ptr %t5030 br label %put1012 put1012: %t5044 = load ptr, ptr %t5031 %t5045 = getelementptr inbounds ptr, ptr %t5044, i32 %t5032 store ptr @.str6967, ptr %t5045 %t5046 = add i32 %t5032, 1 store i32 %t5046, ptr %t5029 %t5047 = load ptr, ptr %t387 %t5048 = getelementptr inbounds %LSlice, ptr %t5047, i32 0, i32 1 %t5049 = getelementptr inbounds %LSlice, ptr %t5047, i32 0, i32 2 %t5050 = getelementptr inbounds %LSlice, ptr %t5047, i32 0, i32 0 %t5051 = load i32, ptr %t5048 %t5052 = load i32, ptr %t5049 %t5053 = icmp sge i32 %t5051, %t5052 br i1 %t5053, label %grow1013, label %put1014 grow1013: %t5054 = mul i32 %t5052, 2 %t5055 = icmp eq i32 %t5052, 0 %t5056 = select i1 %t5055, i32 8, i32 %t5054 %t5057 = getelementptr ptr, ptr null, i32 1 %t5058 = ptrtoint ptr %t5057 to i64 %t5059 = zext i32 %t5056 to i64 %t5060 = mul i64 %t5059, %t5058 %t5061 = load ptr, ptr %t5050 %t5062 = call ptr @realloc(ptr %t5061, i64 %t5060) store ptr %t5062, ptr %t5050 store i32 %t5056, ptr %t5049 br label %put1014 put1014: %t5063 = load ptr, ptr %t5050 %t5064 = getelementptr inbounds ptr, ptr %t5063, i32 %t5051 store ptr @.str6968, ptr %t5064 %t5065 = add i32 %t5051, 1 store i32 %t5065, ptr %t5048 br label %ifend1010 ifend1010: %t5066 = load ptr, ptr %t1 %t5067 = call i32 @lp_str_eq(ptr %t5066, ptr @.str6969) %t5068 = icmp ne i32 %t5067, 0 br i1 %t5068, label %then1015, label %ifend1017 then1015: store ptr @.str6970, ptr %t380 %t5069 = load ptr, ptr %t387 %t5070 = getelementptr inbounds %LSlice, ptr %t5069, i32 0, i32 1 %t5071 = getelementptr inbounds %LSlice, ptr %t5069, i32 0, i32 2 %t5072 = getelementptr inbounds %LSlice, ptr %t5069, i32 0, i32 0 %t5073 = load i32, ptr %t5070 %t5074 = load i32, ptr %t5071 %t5075 = icmp sge i32 %t5073, %t5074 br i1 %t5075, label %grow1018, label %put1019 grow1018: %t5076 = mul i32 %t5074, 2 %t5077 = icmp eq i32 %t5074, 0 %t5078 = select i1 %t5077, i32 8, i32 %t5076 %t5079 = getelementptr ptr, ptr null, i32 1 %t5080 = ptrtoint ptr %t5079 to i64 %t5081 = zext i32 %t5078 to i64 %t5082 = mul i64 %t5081, %t5080 %t5083 = load ptr, ptr %t5072 %t5084 = call ptr @realloc(ptr %t5083, i64 %t5082) store ptr %t5084, ptr %t5072 store i32 %t5078, ptr %t5071 br label %put1019 put1019: %t5085 = load ptr, ptr %t5072 %t5086 = getelementptr inbounds ptr, ptr %t5085, i32 %t5073 store ptr @.str6971, ptr %t5086 %t5087 = add i32 %t5073, 1 store i32 %t5087, ptr %t5070 %t5088 = load ptr, ptr %t387 %t5089 = getelementptr inbounds %LSlice, ptr %t5088, i32 0, i32 1 %t5090 = getelementptr inbounds %LSlice, ptr %t5088, i32 0, i32 2 %t5091 = getelementptr inbounds %LSlice, ptr %t5088, i32 0, i32 0 %t5092 = load i32, ptr %t5089 %t5093 = load i32, ptr %t5090 %t5094 = icmp sge i32 %t5092, %t5093 br i1 %t5094, label %grow1020, label %put1021 grow1020: %t5095 = mul i32 %t5093, 2 %t5096 = icmp eq i32 %t5093, 0 %t5097 = select i1 %t5096, i32 8, i32 %t5095 %t5098 = getelementptr ptr, ptr null, i32 1 %t5099 = ptrtoint ptr %t5098 to i64 %t5100 = zext i32 %t5097 to i64 %t5101 = mul i64 %t5100, %t5099 %t5102 = load ptr, ptr %t5091 %t5103 = call ptr @realloc(ptr %t5102, i64 %t5101) store ptr %t5103, ptr %t5091 store i32 %t5097, ptr %t5090 br label %put1021 put1021: %t5104 = load ptr, ptr %t5091 %t5105 = getelementptr inbounds ptr, ptr %t5104, i32 %t5092 store ptr @.str6972, ptr %t5105 %t5106 = add i32 %t5092, 1 store i32 %t5106, ptr %t5089 br label %ifend1017 ifend1017: %t5107 = load ptr, ptr %t1 %t5108 = call i32 @lp_str_eq(ptr %t5107, ptr @.str6973) %t5109 = icmp ne i32 %t5108, 0 br i1 %t5109, label %then1022, label %ifend1024 then1022: store ptr @.str6974, ptr %t380 br label %ifend1024 ifend1024: %t5110 = load ptr, ptr %t1 %t5111 = call i32 @lp_str_eq(ptr %t5110, ptr @.str6975) %t5112 = icmp ne i32 %t5111, 0 br i1 %t5112, label %then1025, label %ifend1027 then1025: store ptr @.str6976, ptr %t380 %t5113 = load ptr, ptr %t387 %t5114 = getelementptr inbounds %LSlice, ptr %t5113, i32 0, i32 1 %t5115 = getelementptr inbounds %LSlice, ptr %t5113, i32 0, i32 2 %t5116 = getelementptr inbounds %LSlice, ptr %t5113, i32 0, i32 0 %t5117 = load i32, ptr %t5114 %t5118 = load i32, ptr %t5115 %t5119 = icmp sge i32 %t5117, %t5118 br i1 %t5119, label %grow1028, label %put1029 grow1028: %t5120 = mul i32 %t5118, 2 %t5121 = icmp eq i32 %t5118, 0 %t5122 = select i1 %t5121, i32 8, i32 %t5120 %t5123 = getelementptr ptr, ptr null, i32 1 %t5124 = ptrtoint ptr %t5123 to i64 %t5125 = zext i32 %t5122 to i64 %t5126 = mul i64 %t5125, %t5124 %t5127 = load ptr, ptr %t5116 %t5128 = call ptr @realloc(ptr %t5127, i64 %t5126) store ptr %t5128, ptr %t5116 store i32 %t5122, ptr %t5115 br label %put1029 put1029: %t5129 = load ptr, ptr %t5116 %t5130 = getelementptr inbounds ptr, ptr %t5129, i32 %t5117 store ptr @.str6977, ptr %t5130 %t5131 = add i32 %t5117, 1 store i32 %t5131, ptr %t5114 %t5132 = load ptr, ptr %t387 %t5133 = getelementptr inbounds %LSlice, ptr %t5132, i32 0, i32 1 %t5134 = getelementptr inbounds %LSlice, ptr %t5132, i32 0, i32 2 %t5135 = getelementptr inbounds %LSlice, ptr %t5132, i32 0, i32 0 %t5136 = load i32, ptr %t5133 %t5137 = load i32, ptr %t5134 %t5138 = icmp sge i32 %t5136, %t5137 br i1 %t5138, label %grow1030, label %put1031 grow1030: %t5139 = mul i32 %t5137, 2 %t5140 = icmp eq i32 %t5137, 0 %t5141 = select i1 %t5140, i32 8, i32 %t5139 %t5142 = getelementptr ptr, ptr null, i32 1 %t5143 = ptrtoint ptr %t5142 to i64 %t5144 = zext i32 %t5141 to i64 %t5145 = mul i64 %t5144, %t5143 %t5146 = load ptr, ptr %t5135 %t5147 = call ptr @realloc(ptr %t5146, i64 %t5145) store ptr %t5147, ptr %t5135 store i32 %t5141, ptr %t5134 br label %put1031 put1031: %t5148 = load ptr, ptr %t5135 %t5149 = getelementptr inbounds ptr, ptr %t5148, i32 %t5136 store ptr @.str6978, ptr %t5149 %t5150 = add i32 %t5136, 1 store i32 %t5150, ptr %t5133 %t5151 = load ptr, ptr %t387 %t5152 = getelementptr inbounds %LSlice, ptr %t5151, i32 0, i32 1 %t5153 = getelementptr inbounds %LSlice, ptr %t5151, i32 0, i32 2 %t5154 = getelementptr inbounds %LSlice, ptr %t5151, i32 0, i32 0 %t5155 = load i32, ptr %t5152 %t5156 = load i32, ptr %t5153 %t5157 = icmp sge i32 %t5155, %t5156 br i1 %t5157, label %grow1032, label %put1033 grow1032: %t5158 = mul i32 %t5156, 2 %t5159 = icmp eq i32 %t5156, 0 %t5160 = select i1 %t5159, i32 8, i32 %t5158 %t5161 = getelementptr ptr, ptr null, i32 1 %t5162 = ptrtoint ptr %t5161 to i64 %t5163 = zext i32 %t5160 to i64 %t5164 = mul i64 %t5163, %t5162 %t5165 = load ptr, ptr %t5154 %t5166 = call ptr @realloc(ptr %t5165, i64 %t5164) store ptr %t5166, ptr %t5154 store i32 %t5160, ptr %t5153 br label %put1033 put1033: %t5167 = load ptr, ptr %t5154 %t5168 = getelementptr inbounds ptr, ptr %t5167, i32 %t5155 store ptr @.str6979, ptr %t5168 %t5169 = add i32 %t5155, 1 store i32 %t5169, ptr %t5152 %t5170 = load ptr, ptr %t387 %t5171 = getelementptr inbounds %LSlice, ptr %t5170, i32 0, i32 1 %t5172 = getelementptr inbounds %LSlice, ptr %t5170, i32 0, i32 2 %t5173 = getelementptr inbounds %LSlice, ptr %t5170, i32 0, i32 0 %t5174 = load i32, ptr %t5171 %t5175 = load i32, ptr %t5172 %t5176 = icmp sge i32 %t5174, %t5175 br i1 %t5176, label %grow1034, label %put1035 grow1034: %t5177 = mul i32 %t5175, 2 %t5178 = icmp eq i32 %t5175, 0 %t5179 = select i1 %t5178, i32 8, i32 %t5177 %t5180 = getelementptr ptr, ptr null, i32 1 %t5181 = ptrtoint ptr %t5180 to i64 %t5182 = zext i32 %t5179 to i64 %t5183 = mul i64 %t5182, %t5181 %t5184 = load ptr, ptr %t5173 %t5185 = call ptr @realloc(ptr %t5184, i64 %t5183) store ptr %t5185, ptr %t5173 store i32 %t5179, ptr %t5172 br label %put1035 put1035: %t5186 = load ptr, ptr %t5173 %t5187 = getelementptr inbounds ptr, ptr %t5186, i32 %t5174 store ptr @.str6980, ptr %t5187 %t5188 = add i32 %t5174, 1 store i32 %t5188, ptr %t5171 br label %ifend1027 ifend1027: %t5189 = load ptr, ptr %t1 %t5190 = call i32 @lp_str_eq(ptr %t5189, ptr @.str6981) %t5191 = icmp ne i32 %t5190, 0 br i1 %t5191, label %then1036, label %ifend1038 then1036: store ptr @.str6982, ptr %t380 %t5192 = load ptr, ptr %t387 %t5193 = getelementptr inbounds %LSlice, ptr %t5192, i32 0, i32 1 %t5194 = getelementptr inbounds %LSlice, ptr %t5192, i32 0, i32 2 %t5195 = getelementptr inbounds %LSlice, ptr %t5192, i32 0, i32 0 %t5196 = load i32, ptr %t5193 %t5197 = load i32, ptr %t5194 %t5198 = icmp sge i32 %t5196, %t5197 br i1 %t5198, label %grow1039, label %put1040 grow1039: %t5199 = mul i32 %t5197, 2 %t5200 = icmp eq i32 %t5197, 0 %t5201 = select i1 %t5200, i32 8, i32 %t5199 %t5202 = getelementptr ptr, ptr null, i32 1 %t5203 = ptrtoint ptr %t5202 to i64 %t5204 = zext i32 %t5201 to i64 %t5205 = mul i64 %t5204, %t5203 %t5206 = load ptr, ptr %t5195 %t5207 = call ptr @realloc(ptr %t5206, i64 %t5205) store ptr %t5207, ptr %t5195 store i32 %t5201, ptr %t5194 br label %put1040 put1040: %t5208 = load ptr, ptr %t5195 %t5209 = getelementptr inbounds ptr, ptr %t5208, i32 %t5196 store ptr @.str6983, ptr %t5209 %t5210 = add i32 %t5196, 1 store i32 %t5210, ptr %t5193 br label %ifend1038 ifend1038: %t5211 = load ptr, ptr %t1 %t5212 = call i32 @lp_str_eq(ptr %t5211, ptr @.str6984) %t5213 = icmp ne i32 %t5212, 0 br i1 %t5213, label %then1041, label %ifend1043 then1041: store ptr @.str6985, ptr %t380 br label %ifend1043 ifend1043: %t5214 = load ptr, ptr %t1 %t5215 = call i32 @lp_str_eq(ptr %t5214, ptr @.str6986) %t5216 = icmp ne i32 %t5215, 0 br i1 %t5216, label %then1044, label %ifend1046 then1044: store ptr @.str6987, ptr %t380 br label %ifend1046 ifend1046: %t5217 = load ptr, ptr %t1 %t5218 = call i32 @lp_str_eq(ptr %t5217, ptr @.str6988) %t5219 = icmp ne i32 %t5218, 0 br i1 %t5219, label %then1047, label %ifend1049 then1047: store ptr @.str6989, ptr %t380 br label %ifend1049 ifend1049: %t5220 = load ptr, ptr %t1 %t5221 = call i32 @lp_str_eq(ptr %t5220, ptr @.str6990) %t5222 = icmp ne i32 %t5221, 0 br i1 %t5222, label %then1050, label %ifend1052 then1050: store ptr @.str6991, ptr %t380 br label %ifend1052 ifend1052: %t5223 = load ptr, ptr %t1 %t5224 = call i32 @lp_str_eq(ptr %t5223, ptr @.str6992) %t5225 = icmp ne i32 %t5224, 0 br i1 %t5225, label %then1053, label %ifend1055 then1053: store ptr @.str6993, ptr %t380 %t5226 = load ptr, ptr %t387 %t5227 = getelementptr inbounds %LSlice, ptr %t5226, i32 0, i32 1 %t5228 = getelementptr inbounds %LSlice, ptr %t5226, i32 0, i32 2 %t5229 = getelementptr inbounds %LSlice, ptr %t5226, i32 0, i32 0 %t5230 = load i32, ptr %t5227 %t5231 = load i32, ptr %t5228 %t5232 = icmp sge i32 %t5230, %t5231 br i1 %t5232, label %grow1056, label %put1057 grow1056: %t5233 = mul i32 %t5231, 2 %t5234 = icmp eq i32 %t5231, 0 %t5235 = select i1 %t5234, i32 8, i32 %t5233 %t5236 = getelementptr ptr, ptr null, i32 1 %t5237 = ptrtoint ptr %t5236 to i64 %t5238 = zext i32 %t5235 to i64 %t5239 = mul i64 %t5238, %t5237 %t5240 = load ptr, ptr %t5229 %t5241 = call ptr @realloc(ptr %t5240, i64 %t5239) store ptr %t5241, ptr %t5229 store i32 %t5235, ptr %t5228 br label %put1057 put1057: %t5242 = load ptr, ptr %t5229 %t5243 = getelementptr inbounds ptr, ptr %t5242, i32 %t5230 store ptr @.str6994, ptr %t5243 %t5244 = add i32 %t5230, 1 store i32 %t5244, ptr %t5227 br label %ifend1055 ifend1055: %t5245 = load ptr, ptr %t1 %t5246 = call i32 @lp_str_eq(ptr %t5245, ptr @.str6995) %t5247 = icmp ne i32 %t5246, 0 br i1 %t5247, label %then1058, label %ifend1060 then1058: store ptr @.str6996, ptr %t380 br label %ifend1060 ifend1060: %t5248 = load ptr, ptr %t1 %t5249 = call i32 @lp_str_eq(ptr %t5248, ptr @.str6997) %t5250 = icmp ne i32 %t5249, 0 br i1 %t5250, label %then1061, label %ifend1063 then1061: store ptr @.str6998, ptr %t380 %t5251 = load ptr, ptr %t387 %t5252 = getelementptr inbounds %LSlice, ptr %t5251, i32 0, i32 1 %t5253 = getelementptr inbounds %LSlice, ptr %t5251, i32 0, i32 2 %t5254 = getelementptr inbounds %LSlice, ptr %t5251, i32 0, i32 0 %t5255 = load i32, ptr %t5252 %t5256 = load i32, ptr %t5253 %t5257 = icmp sge i32 %t5255, %t5256 br i1 %t5257, label %grow1064, label %put1065 grow1064: %t5258 = mul i32 %t5256, 2 %t5259 = icmp eq i32 %t5256, 0 %t5260 = select i1 %t5259, i32 8, i32 %t5258 %t5261 = getelementptr ptr, ptr null, i32 1 %t5262 = ptrtoint ptr %t5261 to i64 %t5263 = zext i32 %t5260 to i64 %t5264 = mul i64 %t5263, %t5262 %t5265 = load ptr, ptr %t5254 %t5266 = call ptr @realloc(ptr %t5265, i64 %t5264) store ptr %t5266, ptr %t5254 store i32 %t5260, ptr %t5253 br label %put1065 put1065: %t5267 = load ptr, ptr %t5254 %t5268 = getelementptr inbounds ptr, ptr %t5267, i32 %t5255 store ptr @.str6999, ptr %t5268 %t5269 = add i32 %t5255, 1 store i32 %t5269, ptr %t5252 %t5270 = load ptr, ptr %t387 %t5271 = getelementptr inbounds %LSlice, ptr %t5270, i32 0, i32 1 %t5272 = getelementptr inbounds %LSlice, ptr %t5270, i32 0, i32 2 %t5273 = getelementptr inbounds %LSlice, ptr %t5270, i32 0, i32 0 %t5274 = load i32, ptr %t5271 %t5275 = load i32, ptr %t5272 %t5276 = icmp sge i32 %t5274, %t5275 br i1 %t5276, label %grow1066, label %put1067 grow1066: %t5277 = mul i32 %t5275, 2 %t5278 = icmp eq i32 %t5275, 0 %t5279 = select i1 %t5278, i32 8, i32 %t5277 %t5280 = getelementptr ptr, ptr null, i32 1 %t5281 = ptrtoint ptr %t5280 to i64 %t5282 = zext i32 %t5279 to i64 %t5283 = mul i64 %t5282, %t5281 %t5284 = load ptr, ptr %t5273 %t5285 = call ptr @realloc(ptr %t5284, i64 %t5283) store ptr %t5285, ptr %t5273 store i32 %t5279, ptr %t5272 br label %put1067 put1067: %t5286 = load ptr, ptr %t5273 %t5287 = getelementptr inbounds ptr, ptr %t5286, i32 %t5274 store ptr @.str7000, ptr %t5287 %t5288 = add i32 %t5274, 1 store i32 %t5288, ptr %t5271 %t5289 = load ptr, ptr %t387 %t5290 = getelementptr inbounds %LSlice, ptr %t5289, i32 0, i32 1 %t5291 = getelementptr inbounds %LSlice, ptr %t5289, i32 0, i32 2 %t5292 = getelementptr inbounds %LSlice, ptr %t5289, i32 0, i32 0 %t5293 = load i32, ptr %t5290 %t5294 = load i32, ptr %t5291 %t5295 = icmp sge i32 %t5293, %t5294 br i1 %t5295, label %grow1068, label %put1069 grow1068: %t5296 = mul i32 %t5294, 2 %t5297 = icmp eq i32 %t5294, 0 %t5298 = select i1 %t5297, i32 8, i32 %t5296 %t5299 = getelementptr ptr, ptr null, i32 1 %t5300 = ptrtoint ptr %t5299 to i64 %t5301 = zext i32 %t5298 to i64 %t5302 = mul i64 %t5301, %t5300 %t5303 = load ptr, ptr %t5292 %t5304 = call ptr @realloc(ptr %t5303, i64 %t5302) store ptr %t5304, ptr %t5292 store i32 %t5298, ptr %t5291 br label %put1069 put1069: %t5305 = load ptr, ptr %t5292 %t5306 = getelementptr inbounds ptr, ptr %t5305, i32 %t5293 store ptr @.str7001, ptr %t5306 %t5307 = add i32 %t5293, 1 store i32 %t5307, ptr %t5290 %t5308 = load ptr, ptr %t387 %t5309 = getelementptr inbounds %LSlice, ptr %t5308, i32 0, i32 1 %t5310 = getelementptr inbounds %LSlice, ptr %t5308, i32 0, i32 2 %t5311 = getelementptr inbounds %LSlice, ptr %t5308, i32 0, i32 0 %t5312 = load i32, ptr %t5309 %t5313 = load i32, ptr %t5310 %t5314 = icmp sge i32 %t5312, %t5313 br i1 %t5314, label %grow1070, label %put1071 grow1070: %t5315 = mul i32 %t5313, 2 %t5316 = icmp eq i32 %t5313, 0 %t5317 = select i1 %t5316, i32 8, i32 %t5315 %t5318 = getelementptr ptr, ptr null, i32 1 %t5319 = ptrtoint ptr %t5318 to i64 %t5320 = zext i32 %t5317 to i64 %t5321 = mul i64 %t5320, %t5319 %t5322 = load ptr, ptr %t5311 %t5323 = call ptr @realloc(ptr %t5322, i64 %t5321) store ptr %t5323, ptr %t5311 store i32 %t5317, ptr %t5310 br label %put1071 put1071: %t5324 = load ptr, ptr %t5311 %t5325 = getelementptr inbounds ptr, ptr %t5324, i32 %t5312 store ptr @.str7002, ptr %t5325 %t5326 = add i32 %t5312, 1 store i32 %t5326, ptr %t5309 br label %ifend1063 ifend1063: %t5327 = load ptr, ptr %t1 %t5328 = call i32 @lp_str_eq(ptr %t5327, ptr @.str7003) %t5329 = icmp ne i32 %t5328, 0 br i1 %t5329, label %then1072, label %ifend1074 then1072: store ptr @.str7004, ptr %t380 %t5330 = load ptr, ptr %t387 %t5331 = getelementptr inbounds %LSlice, ptr %t5330, i32 0, i32 1 %t5332 = getelementptr inbounds %LSlice, ptr %t5330, i32 0, i32 2 %t5333 = getelementptr inbounds %LSlice, ptr %t5330, i32 0, i32 0 %t5334 = load i32, ptr %t5331 %t5335 = load i32, ptr %t5332 %t5336 = icmp sge i32 %t5334, %t5335 br i1 %t5336, label %grow1075, label %put1076 grow1075: %t5337 = mul i32 %t5335, 2 %t5338 = icmp eq i32 %t5335, 0 %t5339 = select i1 %t5338, i32 8, i32 %t5337 %t5340 = getelementptr ptr, ptr null, i32 1 %t5341 = ptrtoint ptr %t5340 to i64 %t5342 = zext i32 %t5339 to i64 %t5343 = mul i64 %t5342, %t5341 %t5344 = load ptr, ptr %t5333 %t5345 = call ptr @realloc(ptr %t5344, i64 %t5343) store ptr %t5345, ptr %t5333 store i32 %t5339, ptr %t5332 br label %put1076 put1076: %t5346 = load ptr, ptr %t5333 %t5347 = getelementptr inbounds ptr, ptr %t5346, i32 %t5334 store ptr @.str7005, ptr %t5347 %t5348 = add i32 %t5334, 1 store i32 %t5348, ptr %t5331 br label %ifend1074 ifend1074: %t5349 = load ptr, ptr %t1 %t5350 = call i32 @lp_str_eq(ptr %t5349, ptr @.str7006) %t5351 = icmp ne i32 %t5350, 0 br i1 %t5351, label %then1077, label %ifend1079 then1077: store ptr @.str7007, ptr %t380 %t5352 = load ptr, ptr %t387 %t5353 = getelementptr inbounds %LSlice, ptr %t5352, i32 0, i32 1 %t5354 = getelementptr inbounds %LSlice, ptr %t5352, i32 0, i32 2 %t5355 = getelementptr inbounds %LSlice, ptr %t5352, i32 0, i32 0 %t5356 = load i32, ptr %t5353 %t5357 = load i32, ptr %t5354 %t5358 = icmp sge i32 %t5356, %t5357 br i1 %t5358, label %grow1080, label %put1081 grow1080: %t5359 = mul i32 %t5357, 2 %t5360 = icmp eq i32 %t5357, 0 %t5361 = select i1 %t5360, i32 8, i32 %t5359 %t5362 = getelementptr ptr, ptr null, i32 1 %t5363 = ptrtoint ptr %t5362 to i64 %t5364 = zext i32 %t5361 to i64 %t5365 = mul i64 %t5364, %t5363 %t5366 = load ptr, ptr %t5355 %t5367 = call ptr @realloc(ptr %t5366, i64 %t5365) store ptr %t5367, ptr %t5355 store i32 %t5361, ptr %t5354 br label %put1081 put1081: %t5368 = load ptr, ptr %t5355 %t5369 = getelementptr inbounds ptr, ptr %t5368, i32 %t5356 store ptr @.str7008, ptr %t5369 %t5370 = add i32 %t5356, 1 store i32 %t5370, ptr %t5353 %t5371 = load ptr, ptr %t387 %t5372 = getelementptr inbounds %LSlice, ptr %t5371, i32 0, i32 1 %t5373 = getelementptr inbounds %LSlice, ptr %t5371, i32 0, i32 2 %t5374 = getelementptr inbounds %LSlice, ptr %t5371, i32 0, i32 0 %t5375 = load i32, ptr %t5372 %t5376 = load i32, ptr %t5373 %t5377 = icmp sge i32 %t5375, %t5376 br i1 %t5377, label %grow1082, label %put1083 grow1082: %t5378 = mul i32 %t5376, 2 %t5379 = icmp eq i32 %t5376, 0 %t5380 = select i1 %t5379, i32 8, i32 %t5378 %t5381 = getelementptr ptr, ptr null, i32 1 %t5382 = ptrtoint ptr %t5381 to i64 %t5383 = zext i32 %t5380 to i64 %t5384 = mul i64 %t5383, %t5382 %t5385 = load ptr, ptr %t5374 %t5386 = call ptr @realloc(ptr %t5385, i64 %t5384) store ptr %t5386, ptr %t5374 store i32 %t5380, ptr %t5373 br label %put1083 put1083: %t5387 = load ptr, ptr %t5374 %t5388 = getelementptr inbounds ptr, ptr %t5387, i32 %t5375 store ptr @.str7009, ptr %t5388 %t5389 = add i32 %t5375, 1 store i32 %t5389, ptr %t5372 br label %ifend1079 ifend1079: %t5390 = load ptr, ptr %t1 %t5391 = call i32 @lp_str_eq(ptr %t5390, ptr @.str7010) %t5392 = icmp ne i32 %t5391, 0 br i1 %t5392, label %then1084, label %ifend1086 then1084: store ptr @.str7011, ptr %t380 %t5393 = load ptr, ptr %t387 %t5394 = getelementptr inbounds %LSlice, ptr %t5393, i32 0, i32 1 %t5395 = getelementptr inbounds %LSlice, ptr %t5393, i32 0, i32 2 %t5396 = getelementptr inbounds %LSlice, ptr %t5393, i32 0, i32 0 %t5397 = load i32, ptr %t5394 %t5398 = load i32, ptr %t5395 %t5399 = icmp sge i32 %t5397, %t5398 br i1 %t5399, label %grow1087, label %put1088 grow1087: %t5400 = mul i32 %t5398, 2 %t5401 = icmp eq i32 %t5398, 0 %t5402 = select i1 %t5401, i32 8, i32 %t5400 %t5403 = getelementptr ptr, ptr null, i32 1 %t5404 = ptrtoint ptr %t5403 to i64 %t5405 = zext i32 %t5402 to i64 %t5406 = mul i64 %t5405, %t5404 %t5407 = load ptr, ptr %t5396 %t5408 = call ptr @realloc(ptr %t5407, i64 %t5406) store ptr %t5408, ptr %t5396 store i32 %t5402, ptr %t5395 br label %put1088 put1088: %t5409 = load ptr, ptr %t5396 %t5410 = getelementptr inbounds ptr, ptr %t5409, i32 %t5397 store ptr @.str7012, ptr %t5410 %t5411 = add i32 %t5397, 1 store i32 %t5411, ptr %t5394 %t5412 = load ptr, ptr %t387 %t5413 = getelementptr inbounds %LSlice, ptr %t5412, i32 0, i32 1 %t5414 = getelementptr inbounds %LSlice, ptr %t5412, i32 0, i32 2 %t5415 = getelementptr inbounds %LSlice, ptr %t5412, i32 0, i32 0 %t5416 = load i32, ptr %t5413 %t5417 = load i32, ptr %t5414 %t5418 = icmp sge i32 %t5416, %t5417 br i1 %t5418, label %grow1089, label %put1090 grow1089: %t5419 = mul i32 %t5417, 2 %t5420 = icmp eq i32 %t5417, 0 %t5421 = select i1 %t5420, i32 8, i32 %t5419 %t5422 = getelementptr ptr, ptr null, i32 1 %t5423 = ptrtoint ptr %t5422 to i64 %t5424 = zext i32 %t5421 to i64 %t5425 = mul i64 %t5424, %t5423 %t5426 = load ptr, ptr %t5415 %t5427 = call ptr @realloc(ptr %t5426, i64 %t5425) store ptr %t5427, ptr %t5415 store i32 %t5421, ptr %t5414 br label %put1090 put1090: %t5428 = load ptr, ptr %t5415 %t5429 = getelementptr inbounds ptr, ptr %t5428, i32 %t5416 store ptr @.str7013, ptr %t5429 %t5430 = add i32 %t5416, 1 store i32 %t5430, ptr %t5413 br label %ifend1086 ifend1086: %t5431 = load ptr, ptr %t1 %t5432 = call i32 @lp_str_eq(ptr %t5431, ptr @.str7014) %t5433 = icmp ne i32 %t5432, 0 br i1 %t5433, label %then1091, label %ifend1093 then1091: store ptr @.str7015, ptr %t380 %t5434 = load ptr, ptr %t387 %t5435 = getelementptr inbounds %LSlice, ptr %t5434, i32 0, i32 1 %t5436 = getelementptr inbounds %LSlice, ptr %t5434, i32 0, i32 2 %t5437 = getelementptr inbounds %LSlice, ptr %t5434, i32 0, i32 0 %t5438 = load i32, ptr %t5435 %t5439 = load i32, ptr %t5436 %t5440 = icmp sge i32 %t5438, %t5439 br i1 %t5440, label %grow1094, label %put1095 grow1094: %t5441 = mul i32 %t5439, 2 %t5442 = icmp eq i32 %t5439, 0 %t5443 = select i1 %t5442, i32 8, i32 %t5441 %t5444 = getelementptr ptr, ptr null, i32 1 %t5445 = ptrtoint ptr %t5444 to i64 %t5446 = zext i32 %t5443 to i64 %t5447 = mul i64 %t5446, %t5445 %t5448 = load ptr, ptr %t5437 %t5449 = call ptr @realloc(ptr %t5448, i64 %t5447) store ptr %t5449, ptr %t5437 store i32 %t5443, ptr %t5436 br label %put1095 put1095: %t5450 = load ptr, ptr %t5437 %t5451 = getelementptr inbounds ptr, ptr %t5450, i32 %t5438 store ptr @.str7016, ptr %t5451 %t5452 = add i32 %t5438, 1 store i32 %t5452, ptr %t5435 %t5453 = load ptr, ptr %t387 %t5454 = getelementptr inbounds %LSlice, ptr %t5453, i32 0, i32 1 %t5455 = getelementptr inbounds %LSlice, ptr %t5453, i32 0, i32 2 %t5456 = getelementptr inbounds %LSlice, ptr %t5453, i32 0, i32 0 %t5457 = load i32, ptr %t5454 %t5458 = load i32, ptr %t5455 %t5459 = icmp sge i32 %t5457, %t5458 br i1 %t5459, label %grow1096, label %put1097 grow1096: %t5460 = mul i32 %t5458, 2 %t5461 = icmp eq i32 %t5458, 0 %t5462 = select i1 %t5461, i32 8, i32 %t5460 %t5463 = getelementptr ptr, ptr null, i32 1 %t5464 = ptrtoint ptr %t5463 to i64 %t5465 = zext i32 %t5462 to i64 %t5466 = mul i64 %t5465, %t5464 %t5467 = load ptr, ptr %t5456 %t5468 = call ptr @realloc(ptr %t5467, i64 %t5466) store ptr %t5468, ptr %t5456 store i32 %t5462, ptr %t5455 br label %put1097 put1097: %t5469 = load ptr, ptr %t5456 %t5470 = getelementptr inbounds ptr, ptr %t5469, i32 %t5457 store ptr @.str7017, ptr %t5470 %t5471 = add i32 %t5457, 1 store i32 %t5471, ptr %t5454 %t5472 = load ptr, ptr %t387 %t5473 = getelementptr inbounds %LSlice, ptr %t5472, i32 0, i32 1 %t5474 = getelementptr inbounds %LSlice, ptr %t5472, i32 0, i32 2 %t5475 = getelementptr inbounds %LSlice, ptr %t5472, i32 0, i32 0 %t5476 = load i32, ptr %t5473 %t5477 = load i32, ptr %t5474 %t5478 = icmp sge i32 %t5476, %t5477 br i1 %t5478, label %grow1098, label %put1099 grow1098: %t5479 = mul i32 %t5477, 2 %t5480 = icmp eq i32 %t5477, 0 %t5481 = select i1 %t5480, i32 8, i32 %t5479 %t5482 = getelementptr ptr, ptr null, i32 1 %t5483 = ptrtoint ptr %t5482 to i64 %t5484 = zext i32 %t5481 to i64 %t5485 = mul i64 %t5484, %t5483 %t5486 = load ptr, ptr %t5475 %t5487 = call ptr @realloc(ptr %t5486, i64 %t5485) store ptr %t5487, ptr %t5475 store i32 %t5481, ptr %t5474 br label %put1099 put1099: %t5488 = load ptr, ptr %t5475 %t5489 = getelementptr inbounds ptr, ptr %t5488, i32 %t5476 store ptr @.str7018, ptr %t5489 %t5490 = add i32 %t5476, 1 store i32 %t5490, ptr %t5473 %t5491 = load ptr, ptr %t387 %t5492 = getelementptr inbounds %LSlice, ptr %t5491, i32 0, i32 1 %t5493 = getelementptr inbounds %LSlice, ptr %t5491, i32 0, i32 2 %t5494 = getelementptr inbounds %LSlice, ptr %t5491, i32 0, i32 0 %t5495 = load i32, ptr %t5492 %t5496 = load i32, ptr %t5493 %t5497 = icmp sge i32 %t5495, %t5496 br i1 %t5497, label %grow1100, label %put1101 grow1100: %t5498 = mul i32 %t5496, 2 %t5499 = icmp eq i32 %t5496, 0 %t5500 = select i1 %t5499, i32 8, i32 %t5498 %t5501 = getelementptr ptr, ptr null, i32 1 %t5502 = ptrtoint ptr %t5501 to i64 %t5503 = zext i32 %t5500 to i64 %t5504 = mul i64 %t5503, %t5502 %t5505 = load ptr, ptr %t5494 %t5506 = call ptr @realloc(ptr %t5505, i64 %t5504) store ptr %t5506, ptr %t5494 store i32 %t5500, ptr %t5493 br label %put1101 put1101: %t5507 = load ptr, ptr %t5494 %t5508 = getelementptr inbounds ptr, ptr %t5507, i32 %t5495 store ptr @.str7019, ptr %t5508 %t5509 = add i32 %t5495, 1 store i32 %t5509, ptr %t5492 %t5510 = load ptr, ptr %t387 %t5511 = getelementptr inbounds %LSlice, ptr %t5510, i32 0, i32 1 %t5512 = getelementptr inbounds %LSlice, ptr %t5510, i32 0, i32 2 %t5513 = getelementptr inbounds %LSlice, ptr %t5510, i32 0, i32 0 %t5514 = load i32, ptr %t5511 %t5515 = load i32, ptr %t5512 %t5516 = icmp sge i32 %t5514, %t5515 br i1 %t5516, label %grow1102, label %put1103 grow1102: %t5517 = mul i32 %t5515, 2 %t5518 = icmp eq i32 %t5515, 0 %t5519 = select i1 %t5518, i32 8, i32 %t5517 %t5520 = getelementptr ptr, ptr null, i32 1 %t5521 = ptrtoint ptr %t5520 to i64 %t5522 = zext i32 %t5519 to i64 %t5523 = mul i64 %t5522, %t5521 %t5524 = load ptr, ptr %t5513 %t5525 = call ptr @realloc(ptr %t5524, i64 %t5523) store ptr %t5525, ptr %t5513 store i32 %t5519, ptr %t5512 br label %put1103 put1103: %t5526 = load ptr, ptr %t5513 %t5527 = getelementptr inbounds ptr, ptr %t5526, i32 %t5514 store ptr @.str7020, ptr %t5527 %t5528 = add i32 %t5514, 1 store i32 %t5528, ptr %t5511 %t5529 = load ptr, ptr %t387 %t5530 = getelementptr inbounds %LSlice, ptr %t5529, i32 0, i32 1 %t5531 = getelementptr inbounds %LSlice, ptr %t5529, i32 0, i32 2 %t5532 = getelementptr inbounds %LSlice, ptr %t5529, i32 0, i32 0 %t5533 = load i32, ptr %t5530 %t5534 = load i32, ptr %t5531 %t5535 = icmp sge i32 %t5533, %t5534 br i1 %t5535, label %grow1104, label %put1105 grow1104: %t5536 = mul i32 %t5534, 2 %t5537 = icmp eq i32 %t5534, 0 %t5538 = select i1 %t5537, i32 8, i32 %t5536 %t5539 = getelementptr ptr, ptr null, i32 1 %t5540 = ptrtoint ptr %t5539 to i64 %t5541 = zext i32 %t5538 to i64 %t5542 = mul i64 %t5541, %t5540 %t5543 = load ptr, ptr %t5532 %t5544 = call ptr @realloc(ptr %t5543, i64 %t5542) store ptr %t5544, ptr %t5532 store i32 %t5538, ptr %t5531 br label %put1105 put1105: %t5545 = load ptr, ptr %t5532 %t5546 = getelementptr inbounds ptr, ptr %t5545, i32 %t5533 store ptr @.str7021, ptr %t5546 %t5547 = add i32 %t5533, 1 store i32 %t5547, ptr %t5530 %t5548 = load ptr, ptr %t387 %t5549 = getelementptr inbounds %LSlice, ptr %t5548, i32 0, i32 1 %t5550 = getelementptr inbounds %LSlice, ptr %t5548, i32 0, i32 2 %t5551 = getelementptr inbounds %LSlice, ptr %t5548, i32 0, i32 0 %t5552 = load i32, ptr %t5549 %t5553 = load i32, ptr %t5550 %t5554 = icmp sge i32 %t5552, %t5553 br i1 %t5554, label %grow1106, label %put1107 grow1106: %t5555 = mul i32 %t5553, 2 %t5556 = icmp eq i32 %t5553, 0 %t5557 = select i1 %t5556, i32 8, i32 %t5555 %t5558 = getelementptr ptr, ptr null, i32 1 %t5559 = ptrtoint ptr %t5558 to i64 %t5560 = zext i32 %t5557 to i64 %t5561 = mul i64 %t5560, %t5559 %t5562 = load ptr, ptr %t5551 %t5563 = call ptr @realloc(ptr %t5562, i64 %t5561) store ptr %t5563, ptr %t5551 store i32 %t5557, ptr %t5550 br label %put1107 put1107: %t5564 = load ptr, ptr %t5551 %t5565 = getelementptr inbounds ptr, ptr %t5564, i32 %t5552 store ptr @.str7022, ptr %t5565 %t5566 = add i32 %t5552, 1 store i32 %t5566, ptr %t5549 br label %ifend1093 ifend1093: %t5567 = load ptr, ptr %t1 %t5568 = call i32 @lp_str_eq(ptr %t5567, ptr @.str7023) %t5569 = icmp ne i32 %t5568, 0 br i1 %t5569, label %then1108, label %ifend1110 then1108: store ptr @.str7024, ptr %t380 br label %ifend1110 ifend1110: %t5570 = load ptr, ptr %t1 %t5571 = call i32 @lp_str_eq(ptr %t5570, ptr @.str7025) %t5572 = icmp ne i32 %t5571, 0 br i1 %t5572, label %then1111, label %ifend1113 then1111: store ptr @.str7026, ptr %t380 %t5573 = load ptr, ptr %t387 %t5574 = getelementptr inbounds %LSlice, ptr %t5573, i32 0, i32 1 %t5575 = getelementptr inbounds %LSlice, ptr %t5573, i32 0, i32 2 %t5576 = getelementptr inbounds %LSlice, ptr %t5573, i32 0, i32 0 %t5577 = load i32, ptr %t5574 %t5578 = load i32, ptr %t5575 %t5579 = icmp sge i32 %t5577, %t5578 br i1 %t5579, label %grow1114, label %put1115 grow1114: %t5580 = mul i32 %t5578, 2 %t5581 = icmp eq i32 %t5578, 0 %t5582 = select i1 %t5581, i32 8, i32 %t5580 %t5583 = getelementptr ptr, ptr null, i32 1 %t5584 = ptrtoint ptr %t5583 to i64 %t5585 = zext i32 %t5582 to i64 %t5586 = mul i64 %t5585, %t5584 %t5587 = load ptr, ptr %t5576 %t5588 = call ptr @realloc(ptr %t5587, i64 %t5586) store ptr %t5588, ptr %t5576 store i32 %t5582, ptr %t5575 br label %put1115 put1115: %t5589 = load ptr, ptr %t5576 %t5590 = getelementptr inbounds ptr, ptr %t5589, i32 %t5577 store ptr @.str7027, ptr %t5590 %t5591 = add i32 %t5577, 1 store i32 %t5591, ptr %t5574 br label %ifend1113 ifend1113: %t5592 = load ptr, ptr %t1 %t5593 = call i32 @lp_str_eq(ptr %t5592, ptr @.str7028) %t5594 = icmp ne i32 %t5593, 0 br i1 %t5594, label %then1116, label %ifend1118 then1116: store ptr @.str7029, ptr %t380 %t5595 = load ptr, ptr %t387 %t5596 = getelementptr inbounds %LSlice, ptr %t5595, i32 0, i32 1 %t5597 = getelementptr inbounds %LSlice, ptr %t5595, i32 0, i32 2 %t5598 = getelementptr inbounds %LSlice, ptr %t5595, i32 0, i32 0 %t5599 = load i32, ptr %t5596 %t5600 = load i32, ptr %t5597 %t5601 = icmp sge i32 %t5599, %t5600 br i1 %t5601, label %grow1119, label %put1120 grow1119: %t5602 = mul i32 %t5600, 2 %t5603 = icmp eq i32 %t5600, 0 %t5604 = select i1 %t5603, i32 8, i32 %t5602 %t5605 = getelementptr ptr, ptr null, i32 1 %t5606 = ptrtoint ptr %t5605 to i64 %t5607 = zext i32 %t5604 to i64 %t5608 = mul i64 %t5607, %t5606 %t5609 = load ptr, ptr %t5598 %t5610 = call ptr @realloc(ptr %t5609, i64 %t5608) store ptr %t5610, ptr %t5598 store i32 %t5604, ptr %t5597 br label %put1120 put1120: %t5611 = load ptr, ptr %t5598 %t5612 = getelementptr inbounds ptr, ptr %t5611, i32 %t5599 store ptr @.str7030, ptr %t5612 %t5613 = add i32 %t5599, 1 store i32 %t5613, ptr %t5596 br label %ifend1118 ifend1118: %t5614 = load ptr, ptr %t1 %t5615 = call i32 @lp_str_eq(ptr %t5614, ptr @.str7031) %t5616 = icmp ne i32 %t5615, 0 br i1 %t5616, label %then1121, label %ifend1123 then1121: store ptr @.str7032, ptr %t380 %t5617 = load ptr, ptr %t387 %t5618 = getelementptr inbounds %LSlice, ptr %t5617, i32 0, i32 1 %t5619 = getelementptr inbounds %LSlice, ptr %t5617, i32 0, i32 2 %t5620 = getelementptr inbounds %LSlice, ptr %t5617, i32 0, i32 0 %t5621 = load i32, ptr %t5618 %t5622 = load i32, ptr %t5619 %t5623 = icmp sge i32 %t5621, %t5622 br i1 %t5623, label %grow1124, label %put1125 grow1124: %t5624 = mul i32 %t5622, 2 %t5625 = icmp eq i32 %t5622, 0 %t5626 = select i1 %t5625, i32 8, i32 %t5624 %t5627 = getelementptr ptr, ptr null, i32 1 %t5628 = ptrtoint ptr %t5627 to i64 %t5629 = zext i32 %t5626 to i64 %t5630 = mul i64 %t5629, %t5628 %t5631 = load ptr, ptr %t5620 %t5632 = call ptr @realloc(ptr %t5631, i64 %t5630) store ptr %t5632, ptr %t5620 store i32 %t5626, ptr %t5619 br label %put1125 put1125: %t5633 = load ptr, ptr %t5620 %t5634 = getelementptr inbounds ptr, ptr %t5633, i32 %t5621 store ptr @.str7033, ptr %t5634 %t5635 = add i32 %t5621, 1 store i32 %t5635, ptr %t5618 %t5636 = load ptr, ptr %t387 %t5637 = getelementptr inbounds %LSlice, ptr %t5636, i32 0, i32 1 %t5638 = getelementptr inbounds %LSlice, ptr %t5636, i32 0, i32 2 %t5639 = getelementptr inbounds %LSlice, ptr %t5636, i32 0, i32 0 %t5640 = load i32, ptr %t5637 %t5641 = load i32, ptr %t5638 %t5642 = icmp sge i32 %t5640, %t5641 br i1 %t5642, label %grow1126, label %put1127 grow1126: %t5643 = mul i32 %t5641, 2 %t5644 = icmp eq i32 %t5641, 0 %t5645 = select i1 %t5644, i32 8, i32 %t5643 %t5646 = getelementptr ptr, ptr null, i32 1 %t5647 = ptrtoint ptr %t5646 to i64 %t5648 = zext i32 %t5645 to i64 %t5649 = mul i64 %t5648, %t5647 %t5650 = load ptr, ptr %t5639 %t5651 = call ptr @realloc(ptr %t5650, i64 %t5649) store ptr %t5651, ptr %t5639 store i32 %t5645, ptr %t5638 br label %put1127 put1127: %t5652 = load ptr, ptr %t5639 %t5653 = getelementptr inbounds ptr, ptr %t5652, i32 %t5640 store ptr @.str7034, ptr %t5653 %t5654 = add i32 %t5640, 1 store i32 %t5654, ptr %t5637 %t5655 = load ptr, ptr %t387 %t5656 = getelementptr inbounds %LSlice, ptr %t5655, i32 0, i32 1 %t5657 = getelementptr inbounds %LSlice, ptr %t5655, i32 0, i32 2 %t5658 = getelementptr inbounds %LSlice, ptr %t5655, i32 0, i32 0 %t5659 = load i32, ptr %t5656 %t5660 = load i32, ptr %t5657 %t5661 = icmp sge i32 %t5659, %t5660 br i1 %t5661, label %grow1128, label %put1129 grow1128: %t5662 = mul i32 %t5660, 2 %t5663 = icmp eq i32 %t5660, 0 %t5664 = select i1 %t5663, i32 8, i32 %t5662 %t5665 = getelementptr ptr, ptr null, i32 1 %t5666 = ptrtoint ptr %t5665 to i64 %t5667 = zext i32 %t5664 to i64 %t5668 = mul i64 %t5667, %t5666 %t5669 = load ptr, ptr %t5658 %t5670 = call ptr @realloc(ptr %t5669, i64 %t5668) store ptr %t5670, ptr %t5658 store i32 %t5664, ptr %t5657 br label %put1129 put1129: %t5671 = load ptr, ptr %t5658 %t5672 = getelementptr inbounds ptr, ptr %t5671, i32 %t5659 store ptr @.str7035, ptr %t5672 %t5673 = add i32 %t5659, 1 store i32 %t5673, ptr %t5656 %t5674 = load ptr, ptr %t387 %t5675 = getelementptr inbounds %LSlice, ptr %t5674, i32 0, i32 1 %t5676 = getelementptr inbounds %LSlice, ptr %t5674, i32 0, i32 2 %t5677 = getelementptr inbounds %LSlice, ptr %t5674, i32 0, i32 0 %t5678 = load i32, ptr %t5675 %t5679 = load i32, ptr %t5676 %t5680 = icmp sge i32 %t5678, %t5679 br i1 %t5680, label %grow1130, label %put1131 grow1130: %t5681 = mul i32 %t5679, 2 %t5682 = icmp eq i32 %t5679, 0 %t5683 = select i1 %t5682, i32 8, i32 %t5681 %t5684 = getelementptr ptr, ptr null, i32 1 %t5685 = ptrtoint ptr %t5684 to i64 %t5686 = zext i32 %t5683 to i64 %t5687 = mul i64 %t5686, %t5685 %t5688 = load ptr, ptr %t5677 %t5689 = call ptr @realloc(ptr %t5688, i64 %t5687) store ptr %t5689, ptr %t5677 store i32 %t5683, ptr %t5676 br label %put1131 put1131: %t5690 = load ptr, ptr %t5677 %t5691 = getelementptr inbounds ptr, ptr %t5690, i32 %t5678 store ptr @.str7036, ptr %t5691 %t5692 = add i32 %t5678, 1 store i32 %t5692, ptr %t5675 br label %ifend1123 ifend1123: %t5693 = load ptr, ptr %t1 %t5694 = call i32 @lp_str_eq(ptr %t5693, ptr @.str7037) %t5695 = icmp ne i32 %t5694, 0 br i1 %t5695, label %then1132, label %ifend1134 then1132: store ptr @.str7038, ptr %t380 %t5696 = load ptr, ptr %t387 %t5697 = getelementptr inbounds %LSlice, ptr %t5696, i32 0, i32 1 %t5698 = getelementptr inbounds %LSlice, ptr %t5696, i32 0, i32 2 %t5699 = getelementptr inbounds %LSlice, ptr %t5696, i32 0, i32 0 %t5700 = load i32, ptr %t5697 %t5701 = load i32, ptr %t5698 %t5702 = icmp sge i32 %t5700, %t5701 br i1 %t5702, label %grow1135, label %put1136 grow1135: %t5703 = mul i32 %t5701, 2 %t5704 = icmp eq i32 %t5701, 0 %t5705 = select i1 %t5704, i32 8, i32 %t5703 %t5706 = getelementptr ptr, ptr null, i32 1 %t5707 = ptrtoint ptr %t5706 to i64 %t5708 = zext i32 %t5705 to i64 %t5709 = mul i64 %t5708, %t5707 %t5710 = load ptr, ptr %t5699 %t5711 = call ptr @realloc(ptr %t5710, i64 %t5709) store ptr %t5711, ptr %t5699 store i32 %t5705, ptr %t5698 br label %put1136 put1136: %t5712 = load ptr, ptr %t5699 %t5713 = getelementptr inbounds ptr, ptr %t5712, i32 %t5700 store ptr @.str7039, ptr %t5713 %t5714 = add i32 %t5700, 1 store i32 %t5714, ptr %t5697 br label %ifend1134 ifend1134: br label %ifend919 ifend919: %t5715 = load ptr, ptr %t0 %t5716 = call i32 @lp_str_eq(ptr %t5715, ptr @.str7040) %t5717 = icmp ne i32 %t5716, 0 br i1 %t5717, label %then1137, label %ifend1139 then1137: %t5718 = load ptr, ptr %t1 %t5719 = call i32 @lp_str_eq(ptr %t5718, ptr @.str7041) %t5720 = icmp ne i32 %t5719, 0 br i1 %t5720, label %then1140, label %ifend1142 then1140: store ptr @.str7042, ptr %t380 %t5721 = load ptr, ptr %t387 %t5722 = getelementptr inbounds %LSlice, ptr %t5721, i32 0, i32 1 %t5723 = getelementptr inbounds %LSlice, ptr %t5721, i32 0, i32 2 %t5724 = getelementptr inbounds %LSlice, ptr %t5721, i32 0, i32 0 %t5725 = load i32, ptr %t5722 %t5726 = load i32, ptr %t5723 %t5727 = icmp sge i32 %t5725, %t5726 br i1 %t5727, label %grow1143, label %put1144 grow1143: %t5728 = mul i32 %t5726, 2 %t5729 = icmp eq i32 %t5726, 0 %t5730 = select i1 %t5729, i32 8, i32 %t5728 %t5731 = getelementptr ptr, ptr null, i32 1 %t5732 = ptrtoint ptr %t5731 to i64 %t5733 = zext i32 %t5730 to i64 %t5734 = mul i64 %t5733, %t5732 %t5735 = load ptr, ptr %t5724 %t5736 = call ptr @realloc(ptr %t5735, i64 %t5734) store ptr %t5736, ptr %t5724 store i32 %t5730, ptr %t5723 br label %put1144 put1144: %t5737 = load ptr, ptr %t5724 %t5738 = getelementptr inbounds ptr, ptr %t5737, i32 %t5725 store ptr @.str7043, ptr %t5738 %t5739 = add i32 %t5725, 1 store i32 %t5739, ptr %t5722 br label %ifend1142 ifend1142: %t5740 = load ptr, ptr %t1 %t5741 = call i32 @lp_str_eq(ptr %t5740, ptr @.str7044) %t5742 = icmp ne i32 %t5741, 0 br i1 %t5742, label %then1145, label %ifend1147 then1145: store ptr @.str7045, ptr %t380 %t5743 = load ptr, ptr %t387 %t5744 = getelementptr inbounds %LSlice, ptr %t5743, i32 0, i32 1 %t5745 = getelementptr inbounds %LSlice, ptr %t5743, i32 0, i32 2 %t5746 = getelementptr inbounds %LSlice, ptr %t5743, i32 0, i32 0 %t5747 = load i32, ptr %t5744 %t5748 = load i32, ptr %t5745 %t5749 = icmp sge i32 %t5747, %t5748 br i1 %t5749, label %grow1148, label %put1149 grow1148: %t5750 = mul i32 %t5748, 2 %t5751 = icmp eq i32 %t5748, 0 %t5752 = select i1 %t5751, i32 8, i32 %t5750 %t5753 = getelementptr ptr, ptr null, i32 1 %t5754 = ptrtoint ptr %t5753 to i64 %t5755 = zext i32 %t5752 to i64 %t5756 = mul i64 %t5755, %t5754 %t5757 = load ptr, ptr %t5746 %t5758 = call ptr @realloc(ptr %t5757, i64 %t5756) store ptr %t5758, ptr %t5746 store i32 %t5752, ptr %t5745 br label %put1149 put1149: %t5759 = load ptr, ptr %t5746 %t5760 = getelementptr inbounds ptr, ptr %t5759, i32 %t5747 store ptr @.str7046, ptr %t5760 %t5761 = add i32 %t5747, 1 store i32 %t5761, ptr %t5744 %t5762 = load ptr, ptr %t387 %t5763 = getelementptr inbounds %LSlice, ptr %t5762, i32 0, i32 1 %t5764 = getelementptr inbounds %LSlice, ptr %t5762, i32 0, i32 2 %t5765 = getelementptr inbounds %LSlice, ptr %t5762, i32 0, i32 0 %t5766 = load i32, ptr %t5763 %t5767 = load i32, ptr %t5764 %t5768 = icmp sge i32 %t5766, %t5767 br i1 %t5768, label %grow1150, label %put1151 grow1150: %t5769 = mul i32 %t5767, 2 %t5770 = icmp eq i32 %t5767, 0 %t5771 = select i1 %t5770, i32 8, i32 %t5769 %t5772 = getelementptr ptr, ptr null, i32 1 %t5773 = ptrtoint ptr %t5772 to i64 %t5774 = zext i32 %t5771 to i64 %t5775 = mul i64 %t5774, %t5773 %t5776 = load ptr, ptr %t5765 %t5777 = call ptr @realloc(ptr %t5776, i64 %t5775) store ptr %t5777, ptr %t5765 store i32 %t5771, ptr %t5764 br label %put1151 put1151: %t5778 = load ptr, ptr %t5765 %t5779 = getelementptr inbounds ptr, ptr %t5778, i32 %t5766 store ptr @.str7047, ptr %t5779 %t5780 = add i32 %t5766, 1 store i32 %t5780, ptr %t5763 br label %ifend1147 ifend1147: %t5781 = load ptr, ptr %t1 %t5782 = call i32 @lp_str_eq(ptr %t5781, ptr @.str7048) %t5783 = icmp ne i32 %t5782, 0 br i1 %t5783, label %then1152, label %ifend1154 then1152: store ptr @.str7049, ptr %t380 %t5784 = load ptr, ptr %t387 %t5785 = getelementptr inbounds %LSlice, ptr %t5784, i32 0, i32 1 %t5786 = getelementptr inbounds %LSlice, ptr %t5784, i32 0, i32 2 %t5787 = getelementptr inbounds %LSlice, ptr %t5784, i32 0, i32 0 %t5788 = load i32, ptr %t5785 %t5789 = load i32, ptr %t5786 %t5790 = icmp sge i32 %t5788, %t5789 br i1 %t5790, label %grow1155, label %put1156 grow1155: %t5791 = mul i32 %t5789, 2 %t5792 = icmp eq i32 %t5789, 0 %t5793 = select i1 %t5792, i32 8, i32 %t5791 %t5794 = getelementptr ptr, ptr null, i32 1 %t5795 = ptrtoint ptr %t5794 to i64 %t5796 = zext i32 %t5793 to i64 %t5797 = mul i64 %t5796, %t5795 %t5798 = load ptr, ptr %t5787 %t5799 = call ptr @realloc(ptr %t5798, i64 %t5797) store ptr %t5799, ptr %t5787 store i32 %t5793, ptr %t5786 br label %put1156 put1156: %t5800 = load ptr, ptr %t5787 %t5801 = getelementptr inbounds ptr, ptr %t5800, i32 %t5788 store ptr @.str7050, ptr %t5801 %t5802 = add i32 %t5788, 1 store i32 %t5802, ptr %t5785 br label %ifend1154 ifend1154: %t5803 = load ptr, ptr %t1 %t5804 = call i32 @lp_str_eq(ptr %t5803, ptr @.str7051) %t5805 = icmp ne i32 %t5804, 0 br i1 %t5805, label %then1157, label %ifend1159 then1157: %t5806 = load ptr, ptr %t2 %t5807 = call i32 @fn_first_arg_is_text(ptr %t5806) %t5808 = icmp ne i32 %t5807, 0 br i1 %t5808, label %then1160, label %else1161 then1160: store ptr @.str7052, ptr %t380 %t5809 = load ptr, ptr %t387 %t5810 = getelementptr inbounds %LSlice, ptr %t5809, i32 0, i32 1 %t5811 = getelementptr inbounds %LSlice, ptr %t5809, i32 0, i32 2 %t5812 = getelementptr inbounds %LSlice, ptr %t5809, i32 0, i32 0 %t5813 = load i32, ptr %t5810 %t5814 = load i32, ptr %t5811 %t5815 = icmp sge i32 %t5813, %t5814 br i1 %t5815, label %grow1163, label %put1164 grow1163: %t5816 = mul i32 %t5814, 2 %t5817 = icmp eq i32 %t5814, 0 %t5818 = select i1 %t5817, i32 8, i32 %t5816 %t5819 = getelementptr ptr, ptr null, i32 1 %t5820 = ptrtoint ptr %t5819 to i64 %t5821 = zext i32 %t5818 to i64 %t5822 = mul i64 %t5821, %t5820 %t5823 = load ptr, ptr %t5812 %t5824 = call ptr @realloc(ptr %t5823, i64 %t5822) store ptr %t5824, ptr %t5812 store i32 %t5818, ptr %t5811 br label %put1164 put1164: %t5825 = load ptr, ptr %t5812 %t5826 = getelementptr inbounds ptr, ptr %t5825, i32 %t5813 store ptr @.str7053, ptr %t5826 %t5827 = add i32 %t5813, 1 store i32 %t5827, ptr %t5810 br label %ifend1162 else1161: store ptr @.str7054, ptr %t380 %t5828 = load ptr, ptr %t387 %t5829 = getelementptr inbounds %LSlice, ptr %t5828, i32 0, i32 1 %t5830 = getelementptr inbounds %LSlice, ptr %t5828, i32 0, i32 2 %t5831 = getelementptr inbounds %LSlice, ptr %t5828, i32 0, i32 0 %t5832 = load i32, ptr %t5829 %t5833 = load i32, ptr %t5830 %t5834 = icmp sge i32 %t5832, %t5833 br i1 %t5834, label %grow1165, label %put1166 grow1165: %t5835 = mul i32 %t5833, 2 %t5836 = icmp eq i32 %t5833, 0 %t5837 = select i1 %t5836, i32 8, i32 %t5835 %t5838 = getelementptr ptr, ptr null, i32 1 %t5839 = ptrtoint ptr %t5838 to i64 %t5840 = zext i32 %t5837 to i64 %t5841 = mul i64 %t5840, %t5839 %t5842 = load ptr, ptr %t5831 %t5843 = call ptr @realloc(ptr %t5842, i64 %t5841) store ptr %t5843, ptr %t5831 store i32 %t5837, ptr %t5830 br label %put1166 put1166: %t5844 = load ptr, ptr %t5831 %t5845 = getelementptr inbounds ptr, ptr %t5844, i32 %t5832 store ptr @.str7055, ptr %t5845 %t5846 = add i32 %t5832, 1 store i32 %t5846, ptr %t5829 br label %ifend1162 ifend1162: br label %ifend1159 ifend1159: %t5847 = load ptr, ptr %t1 %t5848 = call i32 @lp_str_eq(ptr %t5847, ptr @.str7056) %t5849 = icmp ne i32 %t5848, 0 br i1 %t5849, label %then1167, label %ifend1169 then1167: store ptr @.str7057, ptr %t380 %t5850 = load ptr, ptr %t387 %t5851 = getelementptr inbounds %LSlice, ptr %t5850, i32 0, i32 1 %t5852 = getelementptr inbounds %LSlice, ptr %t5850, i32 0, i32 2 %t5853 = getelementptr inbounds %LSlice, ptr %t5850, i32 0, i32 0 %t5854 = load i32, ptr %t5851 %t5855 = load i32, ptr %t5852 %t5856 = icmp sge i32 %t5854, %t5855 br i1 %t5856, label %grow1170, label %put1171 grow1170: %t5857 = mul i32 %t5855, 2 %t5858 = icmp eq i32 %t5855, 0 %t5859 = select i1 %t5858, i32 8, i32 %t5857 %t5860 = getelementptr ptr, ptr null, i32 1 %t5861 = ptrtoint ptr %t5860 to i64 %t5862 = zext i32 %t5859 to i64 %t5863 = mul i64 %t5862, %t5861 %t5864 = load ptr, ptr %t5853 %t5865 = call ptr @realloc(ptr %t5864, i64 %t5863) store ptr %t5865, ptr %t5853 store i32 %t5859, ptr %t5852 br label %put1171 put1171: %t5866 = load ptr, ptr %t5853 %t5867 = getelementptr inbounds ptr, ptr %t5866, i32 %t5854 store ptr @.str7058, ptr %t5867 %t5868 = add i32 %t5854, 1 store i32 %t5868, ptr %t5851 br label %ifend1169 ifend1169: %t5869 = load ptr, ptr %t1 %t5870 = call i32 @lp_str_eq(ptr %t5869, ptr @.str7059) %t5871 = icmp ne i32 %t5870, 0 br i1 %t5871, label %then1172, label %ifend1174 then1172: %t5872 = load ptr, ptr %t2 %t5873 = call i32 @fn_first_arg_is_text(ptr %t5872) %t5874 = icmp ne i32 %t5873, 0 br i1 %t5874, label %then1175, label %else1176 then1175: store ptr @.str7060, ptr %t380 %t5875 = load ptr, ptr %t387 %t5876 = getelementptr inbounds %LSlice, ptr %t5875, i32 0, i32 1 %t5877 = getelementptr inbounds %LSlice, ptr %t5875, i32 0, i32 2 %t5878 = getelementptr inbounds %LSlice, ptr %t5875, i32 0, i32 0 %t5879 = load i32, ptr %t5876 %t5880 = load i32, ptr %t5877 %t5881 = icmp sge i32 %t5879, %t5880 br i1 %t5881, label %grow1178, label %put1179 grow1178: %t5882 = mul i32 %t5880, 2 %t5883 = icmp eq i32 %t5880, 0 %t5884 = select i1 %t5883, i32 8, i32 %t5882 %t5885 = getelementptr ptr, ptr null, i32 1 %t5886 = ptrtoint ptr %t5885 to i64 %t5887 = zext i32 %t5884 to i64 %t5888 = mul i64 %t5887, %t5886 %t5889 = load ptr, ptr %t5878 %t5890 = call ptr @realloc(ptr %t5889, i64 %t5888) store ptr %t5890, ptr %t5878 store i32 %t5884, ptr %t5877 br label %put1179 put1179: %t5891 = load ptr, ptr %t5878 %t5892 = getelementptr inbounds ptr, ptr %t5891, i32 %t5879 store ptr @.str7061, ptr %t5892 %t5893 = add i32 %t5879, 1 store i32 %t5893, ptr %t5876 br label %ifend1177 else1176: store ptr @.str7062, ptr %t380 %t5894 = load ptr, ptr %t387 %t5895 = getelementptr inbounds %LSlice, ptr %t5894, i32 0, i32 1 %t5896 = getelementptr inbounds %LSlice, ptr %t5894, i32 0, i32 2 %t5897 = getelementptr inbounds %LSlice, ptr %t5894, i32 0, i32 0 %t5898 = load i32, ptr %t5895 %t5899 = load i32, ptr %t5896 %t5900 = icmp sge i32 %t5898, %t5899 br i1 %t5900, label %grow1180, label %put1181 grow1180: %t5901 = mul i32 %t5899, 2 %t5902 = icmp eq i32 %t5899, 0 %t5903 = select i1 %t5902, i32 8, i32 %t5901 %t5904 = getelementptr ptr, ptr null, i32 1 %t5905 = ptrtoint ptr %t5904 to i64 %t5906 = zext i32 %t5903 to i64 %t5907 = mul i64 %t5906, %t5905 %t5908 = load ptr, ptr %t5897 %t5909 = call ptr @realloc(ptr %t5908, i64 %t5907) store ptr %t5909, ptr %t5897 store i32 %t5903, ptr %t5896 br label %put1181 put1181: %t5910 = load ptr, ptr %t5897 %t5911 = getelementptr inbounds ptr, ptr %t5910, i32 %t5898 store ptr @.str7063, ptr %t5911 %t5912 = add i32 %t5898, 1 store i32 %t5912, ptr %t5895 br label %ifend1177 ifend1177: br label %ifend1174 ifend1174: %t5913 = load ptr, ptr %t1 %t5914 = call i32 @lp_str_eq(ptr %t5913, ptr @.str7064) %t5915 = icmp ne i32 %t5914, 0 br i1 %t5915, label %then1182, label %ifend1184 then1182: store ptr @.str7065, ptr %t380 %t5916 = load ptr, ptr %t387 %t5917 = getelementptr inbounds %LSlice, ptr %t5916, i32 0, i32 1 %t5918 = getelementptr inbounds %LSlice, ptr %t5916, i32 0, i32 2 %t5919 = getelementptr inbounds %LSlice, ptr %t5916, i32 0, i32 0 %t5920 = load i32, ptr %t5917 %t5921 = load i32, ptr %t5918 %t5922 = icmp sge i32 %t5920, %t5921 br i1 %t5922, label %grow1185, label %put1186 grow1185: %t5923 = mul i32 %t5921, 2 %t5924 = icmp eq i32 %t5921, 0 %t5925 = select i1 %t5924, i32 8, i32 %t5923 %t5926 = getelementptr ptr, ptr null, i32 1 %t5927 = ptrtoint ptr %t5926 to i64 %t5928 = zext i32 %t5925 to i64 %t5929 = mul i64 %t5928, %t5927 %t5930 = load ptr, ptr %t5919 %t5931 = call ptr @realloc(ptr %t5930, i64 %t5929) store ptr %t5931, ptr %t5919 store i32 %t5925, ptr %t5918 br label %put1186 put1186: %t5932 = load ptr, ptr %t5919 %t5933 = getelementptr inbounds ptr, ptr %t5932, i32 %t5920 store ptr @.str7066, ptr %t5933 %t5934 = add i32 %t5920, 1 store i32 %t5934, ptr %t5917 br label %ifend1184 ifend1184: %t5935 = load ptr, ptr %t1 %t5936 = call i32 @lp_str_eq(ptr %t5935, ptr @.str7067) %t5937 = icmp ne i32 %t5936, 0 br i1 %t5937, label %then1187, label %ifend1189 then1187: store ptr @.str7068, ptr %t380 br label %ifend1189 ifend1189: %t5938 = load ptr, ptr %t1 %t5939 = call i32 @lp_str_eq(ptr %t5938, ptr @.str7069) %t5940 = icmp ne i32 %t5939, 0 br i1 %t5940, label %then1190, label %ifend1192 then1190: store ptr @.str7070, ptr %t380 br label %ifend1192 ifend1192: %t5941 = load ptr, ptr %t1 %t5942 = call i32 @lp_str_eq(ptr %t5941, ptr @.str7071) %t5943 = icmp ne i32 %t5942, 0 br i1 %t5943, label %then1193, label %ifend1195 then1193: store ptr @.str7072, ptr %t380 %t5944 = load ptr, ptr %t387 %t5945 = getelementptr inbounds %LSlice, ptr %t5944, i32 0, i32 1 %t5946 = getelementptr inbounds %LSlice, ptr %t5944, i32 0, i32 2 %t5947 = getelementptr inbounds %LSlice, ptr %t5944, i32 0, i32 0 %t5948 = load i32, ptr %t5945 %t5949 = load i32, ptr %t5946 %t5950 = icmp sge i32 %t5948, %t5949 br i1 %t5950, label %grow1196, label %put1197 grow1196: %t5951 = mul i32 %t5949, 2 %t5952 = icmp eq i32 %t5949, 0 %t5953 = select i1 %t5952, i32 8, i32 %t5951 %t5954 = getelementptr ptr, ptr null, i32 1 %t5955 = ptrtoint ptr %t5954 to i64 %t5956 = zext i32 %t5953 to i64 %t5957 = mul i64 %t5956, %t5955 %t5958 = load ptr, ptr %t5947 %t5959 = call ptr @realloc(ptr %t5958, i64 %t5957) store ptr %t5959, ptr %t5947 store i32 %t5953, ptr %t5946 br label %put1197 put1197: %t5960 = load ptr, ptr %t5947 %t5961 = getelementptr inbounds ptr, ptr %t5960, i32 %t5948 store ptr @.str7073, ptr %t5961 %t5962 = add i32 %t5948, 1 store i32 %t5962, ptr %t5945 br label %ifend1195 ifend1195: %t5963 = load ptr, ptr %t1 %t5964 = call i32 @lp_str_eq(ptr %t5963, ptr @.str7074) %t5965 = icmp ne i32 %t5964, 0 br i1 %t5965, label %then1198, label %ifend1200 then1198: store ptr @.str7075, ptr %t380 %t5966 = load ptr, ptr %t387 %t5967 = getelementptr inbounds %LSlice, ptr %t5966, i32 0, i32 1 %t5968 = getelementptr inbounds %LSlice, ptr %t5966, i32 0, i32 2 %t5969 = getelementptr inbounds %LSlice, ptr %t5966, i32 0, i32 0 %t5970 = load i32, ptr %t5967 %t5971 = load i32, ptr %t5968 %t5972 = icmp sge i32 %t5970, %t5971 br i1 %t5972, label %grow1201, label %put1202 grow1201: %t5973 = mul i32 %t5971, 2 %t5974 = icmp eq i32 %t5971, 0 %t5975 = select i1 %t5974, i32 8, i32 %t5973 %t5976 = getelementptr ptr, ptr null, i32 1 %t5977 = ptrtoint ptr %t5976 to i64 %t5978 = zext i32 %t5975 to i64 %t5979 = mul i64 %t5978, %t5977 %t5980 = load ptr, ptr %t5969 %t5981 = call ptr @realloc(ptr %t5980, i64 %t5979) store ptr %t5981, ptr %t5969 store i32 %t5975, ptr %t5968 br label %put1202 put1202: %t5982 = load ptr, ptr %t5969 %t5983 = getelementptr inbounds ptr, ptr %t5982, i32 %t5970 store ptr @.str7076, ptr %t5983 %t5984 = add i32 %t5970, 1 store i32 %t5984, ptr %t5967 br label %ifend1200 ifend1200: %t5985 = load ptr, ptr %t1 %t5986 = call i32 @lp_str_eq(ptr %t5985, ptr @.str7077) %t5987 = icmp ne i32 %t5986, 0 br i1 %t5987, label %then1203, label %ifend1205 then1203: store ptr @.str7078, ptr %t380 %t5988 = load ptr, ptr %t387 %t5989 = getelementptr inbounds %LSlice, ptr %t5988, i32 0, i32 1 %t5990 = getelementptr inbounds %LSlice, ptr %t5988, i32 0, i32 2 %t5991 = getelementptr inbounds %LSlice, ptr %t5988, i32 0, i32 0 %t5992 = load i32, ptr %t5989 %t5993 = load i32, ptr %t5990 %t5994 = icmp sge i32 %t5992, %t5993 br i1 %t5994, label %grow1206, label %put1207 grow1206: %t5995 = mul i32 %t5993, 2 %t5996 = icmp eq i32 %t5993, 0 %t5997 = select i1 %t5996, i32 8, i32 %t5995 %t5998 = getelementptr ptr, ptr null, i32 1 %t5999 = ptrtoint ptr %t5998 to i64 %t6000 = zext i32 %t5997 to i64 %t6001 = mul i64 %t6000, %t5999 %t6002 = load ptr, ptr %t5991 %t6003 = call ptr @realloc(ptr %t6002, i64 %t6001) store ptr %t6003, ptr %t5991 store i32 %t5997, ptr %t5990 br label %put1207 put1207: %t6004 = load ptr, ptr %t5991 %t6005 = getelementptr inbounds ptr, ptr %t6004, i32 %t5992 store ptr @.str7079, ptr %t6005 %t6006 = add i32 %t5992, 1 store i32 %t6006, ptr %t5989 br label %ifend1205 ifend1205: br label %ifend1139 ifend1139: %t6007 = load ptr, ptr %t0 %t6008 = call i32 @lp_str_eq(ptr %t6007, ptr @.str7080) %t6009 = icmp ne i32 %t6008, 0 br i1 %t6009, label %then1208, label %ifend1210 then1208: %t6010 = load ptr, ptr %t1 %t6011 = call i32 @lp_str_eq(ptr %t6010, ptr @.str7081) %t6012 = icmp ne i32 %t6011, 0 br i1 %t6012, label %then1211, label %ifend1213 then1211: store ptr @.str7082, ptr %t380 %t6013 = load ptr, ptr %t387 %t6014 = getelementptr inbounds %LSlice, ptr %t6013, i32 0, i32 1 %t6015 = getelementptr inbounds %LSlice, ptr %t6013, i32 0, i32 2 %t6016 = getelementptr inbounds %LSlice, ptr %t6013, i32 0, i32 0 %t6017 = load i32, ptr %t6014 %t6018 = load i32, ptr %t6015 %t6019 = icmp sge i32 %t6017, %t6018 br i1 %t6019, label %grow1214, label %put1215 grow1214: %t6020 = mul i32 %t6018, 2 %t6021 = icmp eq i32 %t6018, 0 %t6022 = select i1 %t6021, i32 8, i32 %t6020 %t6023 = getelementptr ptr, ptr null, i32 1 %t6024 = ptrtoint ptr %t6023 to i64 %t6025 = zext i32 %t6022 to i64 %t6026 = mul i64 %t6025, %t6024 %t6027 = load ptr, ptr %t6016 %t6028 = call ptr @realloc(ptr %t6027, i64 %t6026) store ptr %t6028, ptr %t6016 store i32 %t6022, ptr %t6015 br label %put1215 put1215: %t6029 = load ptr, ptr %t6016 %t6030 = getelementptr inbounds ptr, ptr %t6029, i32 %t6017 store ptr @.str7083, ptr %t6030 %t6031 = add i32 %t6017, 1 store i32 %t6031, ptr %t6014 br label %ifend1213 ifend1213: %t6032 = load ptr, ptr %t1 %t6033 = call i32 @lp_str_eq(ptr %t6032, ptr @.str7084) %t6034 = icmp ne i32 %t6033, 0 br i1 %t6034, label %then1216, label %ifend1218 then1216: store ptr @.str7085, ptr %t380 %t6035 = load ptr, ptr %t387 %t6036 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 1 %t6037 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 2 %t6038 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 0 %t6039 = load i32, ptr %t6036 %t6040 = load i32, ptr %t6037 %t6041 = icmp sge i32 %t6039, %t6040 br i1 %t6041, label %grow1219, label %put1220 grow1219: %t6042 = mul i32 %t6040, 2 %t6043 = icmp eq i32 %t6040, 0 %t6044 = select i1 %t6043, i32 8, i32 %t6042 %t6045 = getelementptr ptr, ptr null, i32 1 %t6046 = ptrtoint ptr %t6045 to i64 %t6047 = zext i32 %t6044 to i64 %t6048 = mul i64 %t6047, %t6046 %t6049 = load ptr, ptr %t6038 %t6050 = call ptr @realloc(ptr %t6049, i64 %t6048) store ptr %t6050, ptr %t6038 store i32 %t6044, ptr %t6037 br label %put1220 put1220: %t6051 = load ptr, ptr %t6038 %t6052 = getelementptr inbounds ptr, ptr %t6051, i32 %t6039 store ptr @.str7086, ptr %t6052 %t6053 = add i32 %t6039, 1 store i32 %t6053, ptr %t6036 %t6054 = load ptr, ptr %t387 %t6055 = getelementptr inbounds %LSlice, ptr %t6054, i32 0, i32 1 %t6056 = getelementptr inbounds %LSlice, ptr %t6054, i32 0, i32 2 %t6057 = getelementptr inbounds %LSlice, ptr %t6054, i32 0, i32 0 %t6058 = load i32, ptr %t6055 %t6059 = load i32, ptr %t6056 %t6060 = icmp sge i32 %t6058, %t6059 br i1 %t6060, label %grow1221, label %put1222 grow1221: %t6061 = mul i32 %t6059, 2 %t6062 = icmp eq i32 %t6059, 0 %t6063 = select i1 %t6062, i32 8, i32 %t6061 %t6064 = getelementptr ptr, ptr null, i32 1 %t6065 = ptrtoint ptr %t6064 to i64 %t6066 = zext i32 %t6063 to i64 %t6067 = mul i64 %t6066, %t6065 %t6068 = load ptr, ptr %t6057 %t6069 = call ptr @realloc(ptr %t6068, i64 %t6067) store ptr %t6069, ptr %t6057 store i32 %t6063, ptr %t6056 br label %put1222 put1222: %t6070 = load ptr, ptr %t6057 %t6071 = getelementptr inbounds ptr, ptr %t6070, i32 %t6058 store ptr @.str7087, ptr %t6071 %t6072 = add i32 %t6058, 1 store i32 %t6072, ptr %t6055 br label %ifend1218 ifend1218: %t6073 = load ptr, ptr %t1 %t6074 = call i32 @lp_str_eq(ptr %t6073, ptr @.str7088) %t6075 = icmp ne i32 %t6074, 0 br i1 %t6075, label %then1223, label %ifend1225 then1223: store ptr @.str7089, ptr %t380 %t6076 = load ptr, ptr %t387 %t6077 = getelementptr inbounds %LSlice, ptr %t6076, i32 0, i32 1 %t6078 = getelementptr inbounds %LSlice, ptr %t6076, i32 0, i32 2 %t6079 = getelementptr inbounds %LSlice, ptr %t6076, i32 0, i32 0 %t6080 = load i32, ptr %t6077 %t6081 = load i32, ptr %t6078 %t6082 = icmp sge i32 %t6080, %t6081 br i1 %t6082, label %grow1226, label %put1227 grow1226: %t6083 = mul i32 %t6081, 2 %t6084 = icmp eq i32 %t6081, 0 %t6085 = select i1 %t6084, i32 8, i32 %t6083 %t6086 = getelementptr ptr, ptr null, i32 1 %t6087 = ptrtoint ptr %t6086 to i64 %t6088 = zext i32 %t6085 to i64 %t6089 = mul i64 %t6088, %t6087 %t6090 = load ptr, ptr %t6079 %t6091 = call ptr @realloc(ptr %t6090, i64 %t6089) store ptr %t6091, ptr %t6079 store i32 %t6085, ptr %t6078 br label %put1227 put1227: %t6092 = load ptr, ptr %t6079 %t6093 = getelementptr inbounds ptr, ptr %t6092, i32 %t6080 store ptr @.str7090, ptr %t6093 %t6094 = add i32 %t6080, 1 store i32 %t6094, ptr %t6077 %t6095 = load ptr, ptr %t387 %t6096 = getelementptr inbounds %LSlice, ptr %t6095, i32 0, i32 1 %t6097 = getelementptr inbounds %LSlice, ptr %t6095, i32 0, i32 2 %t6098 = getelementptr inbounds %LSlice, ptr %t6095, i32 0, i32 0 %t6099 = load i32, ptr %t6096 %t6100 = load i32, ptr %t6097 %t6101 = icmp sge i32 %t6099, %t6100 br i1 %t6101, label %grow1228, label %put1229 grow1228: %t6102 = mul i32 %t6100, 2 %t6103 = icmp eq i32 %t6100, 0 %t6104 = select i1 %t6103, i32 8, i32 %t6102 %t6105 = getelementptr ptr, ptr null, i32 1 %t6106 = ptrtoint ptr %t6105 to i64 %t6107 = zext i32 %t6104 to i64 %t6108 = mul i64 %t6107, %t6106 %t6109 = load ptr, ptr %t6098 %t6110 = call ptr @realloc(ptr %t6109, i64 %t6108) store ptr %t6110, ptr %t6098 store i32 %t6104, ptr %t6097 br label %put1229 put1229: %t6111 = load ptr, ptr %t6098 %t6112 = getelementptr inbounds ptr, ptr %t6111, i32 %t6099 store ptr @.str7091, ptr %t6112 %t6113 = add i32 %t6099, 1 store i32 %t6113, ptr %t6096 %t6114 = load ptr, ptr %t387 %t6115 = getelementptr inbounds %LSlice, ptr %t6114, i32 0, i32 1 %t6116 = getelementptr inbounds %LSlice, ptr %t6114, i32 0, i32 2 %t6117 = getelementptr inbounds %LSlice, ptr %t6114, i32 0, i32 0 %t6118 = load i32, ptr %t6115 %t6119 = load i32, ptr %t6116 %t6120 = icmp sge i32 %t6118, %t6119 br i1 %t6120, label %grow1230, label %put1231 grow1230: %t6121 = mul i32 %t6119, 2 %t6122 = icmp eq i32 %t6119, 0 %t6123 = select i1 %t6122, i32 8, i32 %t6121 %t6124 = getelementptr ptr, ptr null, i32 1 %t6125 = ptrtoint ptr %t6124 to i64 %t6126 = zext i32 %t6123 to i64 %t6127 = mul i64 %t6126, %t6125 %t6128 = load ptr, ptr %t6117 %t6129 = call ptr @realloc(ptr %t6128, i64 %t6127) store ptr %t6129, ptr %t6117 store i32 %t6123, ptr %t6116 br label %put1231 put1231: %t6130 = load ptr, ptr %t6117 %t6131 = getelementptr inbounds ptr, ptr %t6130, i32 %t6118 store ptr @.str7092, ptr %t6131 %t6132 = add i32 %t6118, 1 store i32 %t6132, ptr %t6115 br label %ifend1225 ifend1225: %t6133 = load ptr, ptr %t1 %t6134 = call i32 @lp_str_eq(ptr %t6133, ptr @.str7093) %t6135 = icmp ne i32 %t6134, 0 br i1 %t6135, label %then1232, label %ifend1234 then1232: store ptr @.str7094, ptr %t380 %t6136 = load ptr, ptr %t387 %t6137 = getelementptr inbounds %LSlice, ptr %t6136, i32 0, i32 1 %t6138 = getelementptr inbounds %LSlice, ptr %t6136, i32 0, i32 2 %t6139 = getelementptr inbounds %LSlice, ptr %t6136, i32 0, i32 0 %t6140 = load i32, ptr %t6137 %t6141 = load i32, ptr %t6138 %t6142 = icmp sge i32 %t6140, %t6141 br i1 %t6142, label %grow1235, label %put1236 grow1235: %t6143 = mul i32 %t6141, 2 %t6144 = icmp eq i32 %t6141, 0 %t6145 = select i1 %t6144, i32 8, i32 %t6143 %t6146 = getelementptr ptr, ptr null, i32 1 %t6147 = ptrtoint ptr %t6146 to i64 %t6148 = zext i32 %t6145 to i64 %t6149 = mul i64 %t6148, %t6147 %t6150 = load ptr, ptr %t6139 %t6151 = call ptr @realloc(ptr %t6150, i64 %t6149) store ptr %t6151, ptr %t6139 store i32 %t6145, ptr %t6138 br label %put1236 put1236: %t6152 = load ptr, ptr %t6139 %t6153 = getelementptr inbounds ptr, ptr %t6152, i32 %t6140 store ptr @.str7095, ptr %t6153 %t6154 = add i32 %t6140, 1 store i32 %t6154, ptr %t6137 %t6155 = load ptr, ptr %t387 %t6156 = getelementptr inbounds %LSlice, ptr %t6155, i32 0, i32 1 %t6157 = getelementptr inbounds %LSlice, ptr %t6155, i32 0, i32 2 %t6158 = getelementptr inbounds %LSlice, ptr %t6155, i32 0, i32 0 %t6159 = load i32, ptr %t6156 %t6160 = load i32, ptr %t6157 %t6161 = icmp sge i32 %t6159, %t6160 br i1 %t6161, label %grow1237, label %put1238 grow1237: %t6162 = mul i32 %t6160, 2 %t6163 = icmp eq i32 %t6160, 0 %t6164 = select i1 %t6163, i32 8, i32 %t6162 %t6165 = getelementptr ptr, ptr null, i32 1 %t6166 = ptrtoint ptr %t6165 to i64 %t6167 = zext i32 %t6164 to i64 %t6168 = mul i64 %t6167, %t6166 %t6169 = load ptr, ptr %t6158 %t6170 = call ptr @realloc(ptr %t6169, i64 %t6168) store ptr %t6170, ptr %t6158 store i32 %t6164, ptr %t6157 br label %put1238 put1238: %t6171 = load ptr, ptr %t6158 %t6172 = getelementptr inbounds ptr, ptr %t6171, i32 %t6159 store ptr @.str7096, ptr %t6172 %t6173 = add i32 %t6159, 1 store i32 %t6173, ptr %t6156 br label %ifend1234 ifend1234: %t6174 = load ptr, ptr %t1 %t6175 = call i32 @lp_str_eq(ptr %t6174, ptr @.str7097) %t6176 = icmp ne i32 %t6175, 0 br i1 %t6176, label %then1239, label %ifend1241 then1239: store ptr @.str7098, ptr %t380 %t6177 = load ptr, ptr %t387 %t6178 = getelementptr inbounds %LSlice, ptr %t6177, i32 0, i32 1 %t6179 = getelementptr inbounds %LSlice, ptr %t6177, i32 0, i32 2 %t6180 = getelementptr inbounds %LSlice, ptr %t6177, i32 0, i32 0 %t6181 = load i32, ptr %t6178 %t6182 = load i32, ptr %t6179 %t6183 = icmp sge i32 %t6181, %t6182 br i1 %t6183, label %grow1242, label %put1243 grow1242: %t6184 = mul i32 %t6182, 2 %t6185 = icmp eq i32 %t6182, 0 %t6186 = select i1 %t6185, i32 8, i32 %t6184 %t6187 = getelementptr ptr, ptr null, i32 1 %t6188 = ptrtoint ptr %t6187 to i64 %t6189 = zext i32 %t6186 to i64 %t6190 = mul i64 %t6189, %t6188 %t6191 = load ptr, ptr %t6180 %t6192 = call ptr @realloc(ptr %t6191, i64 %t6190) store ptr %t6192, ptr %t6180 store i32 %t6186, ptr %t6179 br label %put1243 put1243: %t6193 = load ptr, ptr %t6180 %t6194 = getelementptr inbounds ptr, ptr %t6193, i32 %t6181 store ptr @.str7099, ptr %t6194 %t6195 = add i32 %t6181, 1 store i32 %t6195, ptr %t6178 %t6196 = load ptr, ptr %t387 %t6197 = getelementptr inbounds %LSlice, ptr %t6196, i32 0, i32 1 %t6198 = getelementptr inbounds %LSlice, ptr %t6196, i32 0, i32 2 %t6199 = getelementptr inbounds %LSlice, ptr %t6196, i32 0, i32 0 %t6200 = load i32, ptr %t6197 %t6201 = load i32, ptr %t6198 %t6202 = icmp sge i32 %t6200, %t6201 br i1 %t6202, label %grow1244, label %put1245 grow1244: %t6203 = mul i32 %t6201, 2 %t6204 = icmp eq i32 %t6201, 0 %t6205 = select i1 %t6204, i32 8, i32 %t6203 %t6206 = getelementptr ptr, ptr null, i32 1 %t6207 = ptrtoint ptr %t6206 to i64 %t6208 = zext i32 %t6205 to i64 %t6209 = mul i64 %t6208, %t6207 %t6210 = load ptr, ptr %t6199 %t6211 = call ptr @realloc(ptr %t6210, i64 %t6209) store ptr %t6211, ptr %t6199 store i32 %t6205, ptr %t6198 br label %put1245 put1245: %t6212 = load ptr, ptr %t6199 %t6213 = getelementptr inbounds ptr, ptr %t6212, i32 %t6200 store ptr @.str7100, ptr %t6213 %t6214 = add i32 %t6200, 1 store i32 %t6214, ptr %t6197 %t6215 = load ptr, ptr %t387 %t6216 = getelementptr inbounds %LSlice, ptr %t6215, i32 0, i32 1 %t6217 = getelementptr inbounds %LSlice, ptr %t6215, i32 0, i32 2 %t6218 = getelementptr inbounds %LSlice, ptr %t6215, i32 0, i32 0 %t6219 = load i32, ptr %t6216 %t6220 = load i32, ptr %t6217 %t6221 = icmp sge i32 %t6219, %t6220 br i1 %t6221, label %grow1246, label %put1247 grow1246: %t6222 = mul i32 %t6220, 2 %t6223 = icmp eq i32 %t6220, 0 %t6224 = select i1 %t6223, i32 8, i32 %t6222 %t6225 = getelementptr ptr, ptr null, i32 1 %t6226 = ptrtoint ptr %t6225 to i64 %t6227 = zext i32 %t6224 to i64 %t6228 = mul i64 %t6227, %t6226 %t6229 = load ptr, ptr %t6218 %t6230 = call ptr @realloc(ptr %t6229, i64 %t6228) store ptr %t6230, ptr %t6218 store i32 %t6224, ptr %t6217 br label %put1247 put1247: %t6231 = load ptr, ptr %t6218 %t6232 = getelementptr inbounds ptr, ptr %t6231, i32 %t6219 store ptr @.str7101, ptr %t6232 %t6233 = add i32 %t6219, 1 store i32 %t6233, ptr %t6216 br label %ifend1241 ifend1241: %t6234 = load ptr, ptr %t1 %t6235 = call i32 @lp_str_eq(ptr %t6234, ptr @.str7102) %t6236 = icmp ne i32 %t6235, 0 br i1 %t6236, label %then1248, label %ifend1250 then1248: store ptr @.str7103, ptr %t380 %t6237 = load ptr, ptr %t387 %t6238 = getelementptr inbounds %LSlice, ptr %t6237, i32 0, i32 1 %t6239 = getelementptr inbounds %LSlice, ptr %t6237, i32 0, i32 2 %t6240 = getelementptr inbounds %LSlice, ptr %t6237, i32 0, i32 0 %t6241 = load i32, ptr %t6238 %t6242 = load i32, ptr %t6239 %t6243 = icmp sge i32 %t6241, %t6242 br i1 %t6243, label %grow1251, label %put1252 grow1251: %t6244 = mul i32 %t6242, 2 %t6245 = icmp eq i32 %t6242, 0 %t6246 = select i1 %t6245, i32 8, i32 %t6244 %t6247 = getelementptr ptr, ptr null, i32 1 %t6248 = ptrtoint ptr %t6247 to i64 %t6249 = zext i32 %t6246 to i64 %t6250 = mul i64 %t6249, %t6248 %t6251 = load ptr, ptr %t6240 %t6252 = call ptr @realloc(ptr %t6251, i64 %t6250) store ptr %t6252, ptr %t6240 store i32 %t6246, ptr %t6239 br label %put1252 put1252: %t6253 = load ptr, ptr %t6240 %t6254 = getelementptr inbounds ptr, ptr %t6253, i32 %t6241 store ptr @.str7104, ptr %t6254 %t6255 = add i32 %t6241, 1 store i32 %t6255, ptr %t6238 %t6256 = load ptr, ptr %t387 %t6257 = getelementptr inbounds %LSlice, ptr %t6256, i32 0, i32 1 %t6258 = getelementptr inbounds %LSlice, ptr %t6256, i32 0, i32 2 %t6259 = getelementptr inbounds %LSlice, ptr %t6256, i32 0, i32 0 %t6260 = load i32, ptr %t6257 %t6261 = load i32, ptr %t6258 %t6262 = icmp sge i32 %t6260, %t6261 br i1 %t6262, label %grow1253, label %put1254 grow1253: %t6263 = mul i32 %t6261, 2 %t6264 = icmp eq i32 %t6261, 0 %t6265 = select i1 %t6264, i32 8, i32 %t6263 %t6266 = getelementptr ptr, ptr null, i32 1 %t6267 = ptrtoint ptr %t6266 to i64 %t6268 = zext i32 %t6265 to i64 %t6269 = mul i64 %t6268, %t6267 %t6270 = load ptr, ptr %t6259 %t6271 = call ptr @realloc(ptr %t6270, i64 %t6269) store ptr %t6271, ptr %t6259 store i32 %t6265, ptr %t6258 br label %put1254 put1254: %t6272 = load ptr, ptr %t6259 %t6273 = getelementptr inbounds ptr, ptr %t6272, i32 %t6260 store ptr @.str7105, ptr %t6273 %t6274 = add i32 %t6260, 1 store i32 %t6274, ptr %t6257 br label %ifend1250 ifend1250: %t6275 = load ptr, ptr %t1 %t6276 = call i32 @lp_str_eq(ptr %t6275, ptr @.str7106) %t6277 = icmp ne i32 %t6276, 0 br i1 %t6277, label %then1255, label %ifend1257 then1255: store ptr @.str7107, ptr %t380 %t6278 = load ptr, ptr %t387 %t6279 = getelementptr inbounds %LSlice, ptr %t6278, i32 0, i32 1 %t6280 = getelementptr inbounds %LSlice, ptr %t6278, i32 0, i32 2 %t6281 = getelementptr inbounds %LSlice, ptr %t6278, i32 0, i32 0 %t6282 = load i32, ptr %t6279 %t6283 = load i32, ptr %t6280 %t6284 = icmp sge i32 %t6282, %t6283 br i1 %t6284, label %grow1258, label %put1259 grow1258: %t6285 = mul i32 %t6283, 2 %t6286 = icmp eq i32 %t6283, 0 %t6287 = select i1 %t6286, i32 8, i32 %t6285 %t6288 = getelementptr ptr, ptr null, i32 1 %t6289 = ptrtoint ptr %t6288 to i64 %t6290 = zext i32 %t6287 to i64 %t6291 = mul i64 %t6290, %t6289 %t6292 = load ptr, ptr %t6281 %t6293 = call ptr @realloc(ptr %t6292, i64 %t6291) store ptr %t6293, ptr %t6281 store i32 %t6287, ptr %t6280 br label %put1259 put1259: %t6294 = load ptr, ptr %t6281 %t6295 = getelementptr inbounds ptr, ptr %t6294, i32 %t6282 store ptr @.str7108, ptr %t6295 %t6296 = add i32 %t6282, 1 store i32 %t6296, ptr %t6279 %t6297 = load ptr, ptr %t387 %t6298 = getelementptr inbounds %LSlice, ptr %t6297, i32 0, i32 1 %t6299 = getelementptr inbounds %LSlice, ptr %t6297, i32 0, i32 2 %t6300 = getelementptr inbounds %LSlice, ptr %t6297, i32 0, i32 0 %t6301 = load i32, ptr %t6298 %t6302 = load i32, ptr %t6299 %t6303 = icmp sge i32 %t6301, %t6302 br i1 %t6303, label %grow1260, label %put1261 grow1260: %t6304 = mul i32 %t6302, 2 %t6305 = icmp eq i32 %t6302, 0 %t6306 = select i1 %t6305, i32 8, i32 %t6304 %t6307 = getelementptr ptr, ptr null, i32 1 %t6308 = ptrtoint ptr %t6307 to i64 %t6309 = zext i32 %t6306 to i64 %t6310 = mul i64 %t6309, %t6308 %t6311 = load ptr, ptr %t6300 %t6312 = call ptr @realloc(ptr %t6311, i64 %t6310) store ptr %t6312, ptr %t6300 store i32 %t6306, ptr %t6299 br label %put1261 put1261: %t6313 = load ptr, ptr %t6300 %t6314 = getelementptr inbounds ptr, ptr %t6313, i32 %t6301 store ptr @.str7109, ptr %t6314 %t6315 = add i32 %t6301, 1 store i32 %t6315, ptr %t6298 %t6316 = load ptr, ptr %t387 %t6317 = getelementptr inbounds %LSlice, ptr %t6316, i32 0, i32 1 %t6318 = getelementptr inbounds %LSlice, ptr %t6316, i32 0, i32 2 %t6319 = getelementptr inbounds %LSlice, ptr %t6316, i32 0, i32 0 %t6320 = load i32, ptr %t6317 %t6321 = load i32, ptr %t6318 %t6322 = icmp sge i32 %t6320, %t6321 br i1 %t6322, label %grow1262, label %put1263 grow1262: %t6323 = mul i32 %t6321, 2 %t6324 = icmp eq i32 %t6321, 0 %t6325 = select i1 %t6324, i32 8, i32 %t6323 %t6326 = getelementptr ptr, ptr null, i32 1 %t6327 = ptrtoint ptr %t6326 to i64 %t6328 = zext i32 %t6325 to i64 %t6329 = mul i64 %t6328, %t6327 %t6330 = load ptr, ptr %t6319 %t6331 = call ptr @realloc(ptr %t6330, i64 %t6329) store ptr %t6331, ptr %t6319 store i32 %t6325, ptr %t6318 br label %put1263 put1263: %t6332 = load ptr, ptr %t6319 %t6333 = getelementptr inbounds ptr, ptr %t6332, i32 %t6320 store ptr @.str7110, ptr %t6333 %t6334 = add i32 %t6320, 1 store i32 %t6334, ptr %t6317 br label %ifend1257 ifend1257: %t6335 = load ptr, ptr %t1 %t6336 = call i32 @lp_str_eq(ptr %t6335, ptr @.str7111) %t6337 = icmp ne i32 %t6336, 0 br i1 %t6337, label %then1264, label %ifend1266 then1264: store ptr @.str7112, ptr %t380 %t6338 = load ptr, ptr %t387 %t6339 = getelementptr inbounds %LSlice, ptr %t6338, i32 0, i32 1 %t6340 = getelementptr inbounds %LSlice, ptr %t6338, i32 0, i32 2 %t6341 = getelementptr inbounds %LSlice, ptr %t6338, i32 0, i32 0 %t6342 = load i32, ptr %t6339 %t6343 = load i32, ptr %t6340 %t6344 = icmp sge i32 %t6342, %t6343 br i1 %t6344, label %grow1267, label %put1268 grow1267: %t6345 = mul i32 %t6343, 2 %t6346 = icmp eq i32 %t6343, 0 %t6347 = select i1 %t6346, i32 8, i32 %t6345 %t6348 = getelementptr ptr, ptr null, i32 1 %t6349 = ptrtoint ptr %t6348 to i64 %t6350 = zext i32 %t6347 to i64 %t6351 = mul i64 %t6350, %t6349 %t6352 = load ptr, ptr %t6341 %t6353 = call ptr @realloc(ptr %t6352, i64 %t6351) store ptr %t6353, ptr %t6341 store i32 %t6347, ptr %t6340 br label %put1268 put1268: %t6354 = load ptr, ptr %t6341 %t6355 = getelementptr inbounds ptr, ptr %t6354, i32 %t6342 store ptr @.str7113, ptr %t6355 %t6356 = add i32 %t6342, 1 store i32 %t6356, ptr %t6339 br label %ifend1266 ifend1266: %t6357 = load ptr, ptr %t1 %t6358 = call i32 @lp_str_eq(ptr %t6357, ptr @.str7114) %t6359 = icmp ne i32 %t6358, 0 br i1 %t6359, label %then1269, label %ifend1271 then1269: store ptr @.str7115, ptr %t380 %t6360 = load ptr, ptr %t387 %t6361 = getelementptr inbounds %LSlice, ptr %t6360, i32 0, i32 1 %t6362 = getelementptr inbounds %LSlice, ptr %t6360, i32 0, i32 2 %t6363 = getelementptr inbounds %LSlice, ptr %t6360, i32 0, i32 0 %t6364 = load i32, ptr %t6361 %t6365 = load i32, ptr %t6362 %t6366 = icmp sge i32 %t6364, %t6365 br i1 %t6366, label %grow1272, label %put1273 grow1272: %t6367 = mul i32 %t6365, 2 %t6368 = icmp eq i32 %t6365, 0 %t6369 = select i1 %t6368, i32 8, i32 %t6367 %t6370 = getelementptr ptr, ptr null, i32 1 %t6371 = ptrtoint ptr %t6370 to i64 %t6372 = zext i32 %t6369 to i64 %t6373 = mul i64 %t6372, %t6371 %t6374 = load ptr, ptr %t6363 %t6375 = call ptr @realloc(ptr %t6374, i64 %t6373) store ptr %t6375, ptr %t6363 store i32 %t6369, ptr %t6362 br label %put1273 put1273: %t6376 = load ptr, ptr %t6363 %t6377 = getelementptr inbounds ptr, ptr %t6376, i32 %t6364 store ptr @.str7116, ptr %t6377 %t6378 = add i32 %t6364, 1 store i32 %t6378, ptr %t6361 br label %ifend1271 ifend1271: %t6379 = load ptr, ptr %t1 %t6380 = call i32 @lp_str_eq(ptr %t6379, ptr @.str7117) %t6381 = icmp ne i32 %t6380, 0 br i1 %t6381, label %then1274, label %ifend1276 then1274: store ptr @.str7118, ptr %t380 %t6382 = load ptr, ptr %t387 %t6383 = getelementptr inbounds %LSlice, ptr %t6382, i32 0, i32 1 %t6384 = getelementptr inbounds %LSlice, ptr %t6382, i32 0, i32 2 %t6385 = getelementptr inbounds %LSlice, ptr %t6382, i32 0, i32 0 %t6386 = load i32, ptr %t6383 %t6387 = load i32, ptr %t6384 %t6388 = icmp sge i32 %t6386, %t6387 br i1 %t6388, label %grow1277, label %put1278 grow1277: %t6389 = mul i32 %t6387, 2 %t6390 = icmp eq i32 %t6387, 0 %t6391 = select i1 %t6390, i32 8, i32 %t6389 %t6392 = getelementptr ptr, ptr null, i32 1 %t6393 = ptrtoint ptr %t6392 to i64 %t6394 = zext i32 %t6391 to i64 %t6395 = mul i64 %t6394, %t6393 %t6396 = load ptr, ptr %t6385 %t6397 = call ptr @realloc(ptr %t6396, i64 %t6395) store ptr %t6397, ptr %t6385 store i32 %t6391, ptr %t6384 br label %put1278 put1278: %t6398 = load ptr, ptr %t6385 %t6399 = getelementptr inbounds ptr, ptr %t6398, i32 %t6386 store ptr @.str7119, ptr %t6399 %t6400 = add i32 %t6386, 1 store i32 %t6400, ptr %t6383 br label %ifend1276 ifend1276: %t6401 = load ptr, ptr %t1 %t6402 = call i32 @lp_str_eq(ptr %t6401, ptr @.str7120) %t6403 = icmp ne i32 %t6402, 0 br i1 %t6403, label %then1279, label %ifend1281 then1279: store ptr @.str7121, ptr %t380 %t6404 = load ptr, ptr %t387 %t6405 = getelementptr inbounds %LSlice, ptr %t6404, i32 0, i32 1 %t6406 = getelementptr inbounds %LSlice, ptr %t6404, i32 0, i32 2 %t6407 = getelementptr inbounds %LSlice, ptr %t6404, i32 0, i32 0 %t6408 = load i32, ptr %t6405 %t6409 = load i32, ptr %t6406 %t6410 = icmp sge i32 %t6408, %t6409 br i1 %t6410, label %grow1282, label %put1283 grow1282: %t6411 = mul i32 %t6409, 2 %t6412 = icmp eq i32 %t6409, 0 %t6413 = select i1 %t6412, i32 8, i32 %t6411 %t6414 = getelementptr ptr, ptr null, i32 1 %t6415 = ptrtoint ptr %t6414 to i64 %t6416 = zext i32 %t6413 to i64 %t6417 = mul i64 %t6416, %t6415 %t6418 = load ptr, ptr %t6407 %t6419 = call ptr @realloc(ptr %t6418, i64 %t6417) store ptr %t6419, ptr %t6407 store i32 %t6413, ptr %t6406 br label %put1283 put1283: %t6420 = load ptr, ptr %t6407 %t6421 = getelementptr inbounds ptr, ptr %t6420, i32 %t6408 store ptr @.str7122, ptr %t6421 %t6422 = add i32 %t6408, 1 store i32 %t6422, ptr %t6405 br label %ifend1281 ifend1281: %t6423 = load ptr, ptr %t1 %t6424 = call i32 @lp_str_eq(ptr %t6423, ptr @.str7123) %t6425 = icmp ne i32 %t6424, 0 br i1 %t6425, label %then1284, label %ifend1286 then1284: store ptr @.str7124, ptr %t380 %t6426 = load ptr, ptr %t387 %t6427 = getelementptr inbounds %LSlice, ptr %t6426, i32 0, i32 1 %t6428 = getelementptr inbounds %LSlice, ptr %t6426, i32 0, i32 2 %t6429 = getelementptr inbounds %LSlice, ptr %t6426, i32 0, i32 0 %t6430 = load i32, ptr %t6427 %t6431 = load i32, ptr %t6428 %t6432 = icmp sge i32 %t6430, %t6431 br i1 %t6432, label %grow1287, label %put1288 grow1287: %t6433 = mul i32 %t6431, 2 %t6434 = icmp eq i32 %t6431, 0 %t6435 = select i1 %t6434, i32 8, i32 %t6433 %t6436 = getelementptr ptr, ptr null, i32 1 %t6437 = ptrtoint ptr %t6436 to i64 %t6438 = zext i32 %t6435 to i64 %t6439 = mul i64 %t6438, %t6437 %t6440 = load ptr, ptr %t6429 %t6441 = call ptr @realloc(ptr %t6440, i64 %t6439) store ptr %t6441, ptr %t6429 store i32 %t6435, ptr %t6428 br label %put1288 put1288: %t6442 = load ptr, ptr %t6429 %t6443 = getelementptr inbounds ptr, ptr %t6442, i32 %t6430 store ptr @.str7125, ptr %t6443 %t6444 = add i32 %t6430, 1 store i32 %t6444, ptr %t6427 br label %ifend1286 ifend1286: %t6445 = load ptr, ptr %t1 %t6446 = call i32 @lp_str_eq(ptr %t6445, ptr @.str7126) %t6447 = icmp ne i32 %t6446, 0 br i1 %t6447, label %then1289, label %ifend1291 then1289: store ptr @.str7127, ptr %t380 %t6448 = load ptr, ptr %t387 %t6449 = getelementptr inbounds %LSlice, ptr %t6448, i32 0, i32 1 %t6450 = getelementptr inbounds %LSlice, ptr %t6448, i32 0, i32 2 %t6451 = getelementptr inbounds %LSlice, ptr %t6448, i32 0, i32 0 %t6452 = load i32, ptr %t6449 %t6453 = load i32, ptr %t6450 %t6454 = icmp sge i32 %t6452, %t6453 br i1 %t6454, label %grow1292, label %put1293 grow1292: %t6455 = mul i32 %t6453, 2 %t6456 = icmp eq i32 %t6453, 0 %t6457 = select i1 %t6456, i32 8, i32 %t6455 %t6458 = getelementptr ptr, ptr null, i32 1 %t6459 = ptrtoint ptr %t6458 to i64 %t6460 = zext i32 %t6457 to i64 %t6461 = mul i64 %t6460, %t6459 %t6462 = load ptr, ptr %t6451 %t6463 = call ptr @realloc(ptr %t6462, i64 %t6461) store ptr %t6463, ptr %t6451 store i32 %t6457, ptr %t6450 br label %put1293 put1293: %t6464 = load ptr, ptr %t6451 %t6465 = getelementptr inbounds ptr, ptr %t6464, i32 %t6452 store ptr @.str7128, ptr %t6465 %t6466 = add i32 %t6452, 1 store i32 %t6466, ptr %t6449 br label %ifend1291 ifend1291: %t6467 = load ptr, ptr %t1 %t6468 = call i32 @lp_str_eq(ptr %t6467, ptr @.str7129) %t6469 = icmp ne i32 %t6468, 0 br i1 %t6469, label %then1294, label %ifend1296 then1294: store ptr @.str7130, ptr %t380 %t6470 = load ptr, ptr %t387 %t6471 = getelementptr inbounds %LSlice, ptr %t6470, i32 0, i32 1 %t6472 = getelementptr inbounds %LSlice, ptr %t6470, i32 0, i32 2 %t6473 = getelementptr inbounds %LSlice, ptr %t6470, i32 0, i32 0 %t6474 = load i32, ptr %t6471 %t6475 = load i32, ptr %t6472 %t6476 = icmp sge i32 %t6474, %t6475 br i1 %t6476, label %grow1297, label %put1298 grow1297: %t6477 = mul i32 %t6475, 2 %t6478 = icmp eq i32 %t6475, 0 %t6479 = select i1 %t6478, i32 8, i32 %t6477 %t6480 = getelementptr ptr, ptr null, i32 1 %t6481 = ptrtoint ptr %t6480 to i64 %t6482 = zext i32 %t6479 to i64 %t6483 = mul i64 %t6482, %t6481 %t6484 = load ptr, ptr %t6473 %t6485 = call ptr @realloc(ptr %t6484, i64 %t6483) store ptr %t6485, ptr %t6473 store i32 %t6479, ptr %t6472 br label %put1298 put1298: %t6486 = load ptr, ptr %t6473 %t6487 = getelementptr inbounds ptr, ptr %t6486, i32 %t6474 store ptr @.str7131, ptr %t6487 %t6488 = add i32 %t6474, 1 store i32 %t6488, ptr %t6471 %t6489 = load ptr, ptr %t387 %t6490 = getelementptr inbounds %LSlice, ptr %t6489, i32 0, i32 1 %t6491 = getelementptr inbounds %LSlice, ptr %t6489, i32 0, i32 2 %t6492 = getelementptr inbounds %LSlice, ptr %t6489, i32 0, i32 0 %t6493 = load i32, ptr %t6490 %t6494 = load i32, ptr %t6491 %t6495 = icmp sge i32 %t6493, %t6494 br i1 %t6495, label %grow1299, label %put1300 grow1299: %t6496 = mul i32 %t6494, 2 %t6497 = icmp eq i32 %t6494, 0 %t6498 = select i1 %t6497, i32 8, i32 %t6496 %t6499 = getelementptr ptr, ptr null, i32 1 %t6500 = ptrtoint ptr %t6499 to i64 %t6501 = zext i32 %t6498 to i64 %t6502 = mul i64 %t6501, %t6500 %t6503 = load ptr, ptr %t6492 %t6504 = call ptr @realloc(ptr %t6503, i64 %t6502) store ptr %t6504, ptr %t6492 store i32 %t6498, ptr %t6491 br label %put1300 put1300: %t6505 = load ptr, ptr %t6492 %t6506 = getelementptr inbounds ptr, ptr %t6505, i32 %t6493 store ptr @.str7132, ptr %t6506 %t6507 = add i32 %t6493, 1 store i32 %t6507, ptr %t6490 br label %ifend1296 ifend1296: %t6508 = load ptr, ptr %t1 %t6509 = call i32 @lp_str_eq(ptr %t6508, ptr @.str7133) %t6510 = icmp ne i32 %t6509, 0 br i1 %t6510, label %then1301, label %ifend1303 then1301: store ptr @.str7134, ptr %t380 %t6511 = load ptr, ptr %t387 %t6512 = getelementptr inbounds %LSlice, ptr %t6511, i32 0, i32 1 %t6513 = getelementptr inbounds %LSlice, ptr %t6511, i32 0, i32 2 %t6514 = getelementptr inbounds %LSlice, ptr %t6511, i32 0, i32 0 %t6515 = load i32, ptr %t6512 %t6516 = load i32, ptr %t6513 %t6517 = icmp sge i32 %t6515, %t6516 br i1 %t6517, label %grow1304, label %put1305 grow1304: %t6518 = mul i32 %t6516, 2 %t6519 = icmp eq i32 %t6516, 0 %t6520 = select i1 %t6519, i32 8, i32 %t6518 %t6521 = getelementptr ptr, ptr null, i32 1 %t6522 = ptrtoint ptr %t6521 to i64 %t6523 = zext i32 %t6520 to i64 %t6524 = mul i64 %t6523, %t6522 %t6525 = load ptr, ptr %t6514 %t6526 = call ptr @realloc(ptr %t6525, i64 %t6524) store ptr %t6526, ptr %t6514 store i32 %t6520, ptr %t6513 br label %put1305 put1305: %t6527 = load ptr, ptr %t6514 %t6528 = getelementptr inbounds ptr, ptr %t6527, i32 %t6515 store ptr @.str7135, ptr %t6528 %t6529 = add i32 %t6515, 1 store i32 %t6529, ptr %t6512 br label %ifend1303 ifend1303: %t6530 = load ptr, ptr %t1 %t6531 = call i32 @lp_str_eq(ptr %t6530, ptr @.str7136) %t6532 = icmp ne i32 %t6531, 0 br i1 %t6532, label %then1306, label %ifend1308 then1306: store ptr @.str7137, ptr %t380 %t6533 = load ptr, ptr %t387 %t6534 = getelementptr inbounds %LSlice, ptr %t6533, i32 0, i32 1 %t6535 = getelementptr inbounds %LSlice, ptr %t6533, i32 0, i32 2 %t6536 = getelementptr inbounds %LSlice, ptr %t6533, i32 0, i32 0 %t6537 = load i32, ptr %t6534 %t6538 = load i32, ptr %t6535 %t6539 = icmp sge i32 %t6537, %t6538 br i1 %t6539, label %grow1309, label %put1310 grow1309: %t6540 = mul i32 %t6538, 2 %t6541 = icmp eq i32 %t6538, 0 %t6542 = select i1 %t6541, i32 8, i32 %t6540 %t6543 = getelementptr ptr, ptr null, i32 1 %t6544 = ptrtoint ptr %t6543 to i64 %t6545 = zext i32 %t6542 to i64 %t6546 = mul i64 %t6545, %t6544 %t6547 = load ptr, ptr %t6536 %t6548 = call ptr @realloc(ptr %t6547, i64 %t6546) store ptr %t6548, ptr %t6536 store i32 %t6542, ptr %t6535 br label %put1310 put1310: %t6549 = load ptr, ptr %t6536 %t6550 = getelementptr inbounds ptr, ptr %t6549, i32 %t6537 store ptr @.str7138, ptr %t6550 %t6551 = add i32 %t6537, 1 store i32 %t6551, ptr %t6534 %t6552 = load ptr, ptr %t387 %t6553 = getelementptr inbounds %LSlice, ptr %t6552, i32 0, i32 1 %t6554 = getelementptr inbounds %LSlice, ptr %t6552, i32 0, i32 2 %t6555 = getelementptr inbounds %LSlice, ptr %t6552, i32 0, i32 0 %t6556 = load i32, ptr %t6553 %t6557 = load i32, ptr %t6554 %t6558 = icmp sge i32 %t6556, %t6557 br i1 %t6558, label %grow1311, label %put1312 grow1311: %t6559 = mul i32 %t6557, 2 %t6560 = icmp eq i32 %t6557, 0 %t6561 = select i1 %t6560, i32 8, i32 %t6559 %t6562 = getelementptr ptr, ptr null, i32 1 %t6563 = ptrtoint ptr %t6562 to i64 %t6564 = zext i32 %t6561 to i64 %t6565 = mul i64 %t6564, %t6563 %t6566 = load ptr, ptr %t6555 %t6567 = call ptr @realloc(ptr %t6566, i64 %t6565) store ptr %t6567, ptr %t6555 store i32 %t6561, ptr %t6554 br label %put1312 put1312: %t6568 = load ptr, ptr %t6555 %t6569 = getelementptr inbounds ptr, ptr %t6568, i32 %t6556 store ptr @.str7139, ptr %t6569 %t6570 = add i32 %t6556, 1 store i32 %t6570, ptr %t6553 br label %ifend1308 ifend1308: br label %ifend1210 ifend1210: %t6571 = load ptr, ptr %t0 %t6572 = call i32 @lp_str_eq(ptr %t6571, ptr @.str7140) %t6573 = icmp ne i32 %t6572, 0 br i1 %t6573, label %then1313, label %ifend1315 then1313: %t6574 = load ptr, ptr %t1 %t6575 = call i32 @lp_str_eq(ptr %t6574, ptr @.str7141) %t6576 = icmp ne i32 %t6575, 0 br i1 %t6576, label %then1316, label %ifend1318 then1316: store ptr @.str7142, ptr %t380 br label %ifend1318 ifend1318: %t6577 = load ptr, ptr %t1 %t6578 = call i32 @lp_str_eq(ptr %t6577, ptr @.str7143) %t6579 = icmp ne i32 %t6578, 0 br i1 %t6579, label %then1319, label %ifend1321 then1319: store ptr @.str7144, ptr %t380 br label %ifend1321 ifend1321: %t6580 = load ptr, ptr %t1 %t6581 = call i32 @lp_str_eq(ptr %t6580, ptr @.str7145) %t6582 = icmp ne i32 %t6581, 0 br i1 %t6582, label %then1322, label %ifend1324 then1322: store ptr @.str7146, ptr %t380 br label %ifend1324 ifend1324: %t6583 = load ptr, ptr %t1 %t6584 = call i32 @lp_str_eq(ptr %t6583, ptr @.str7147) %t6585 = icmp ne i32 %t6584, 0 br i1 %t6585, label %then1325, label %ifend1327 then1325: store ptr @.str7148, ptr %t380 br label %ifend1327 ifend1327: %t6586 = load ptr, ptr %t1 %t6587 = call i32 @lp_str_eq(ptr %t6586, ptr @.str7149) %t6588 = icmp ne i32 %t6587, 0 br i1 %t6588, label %then1328, label %ifend1330 then1328: store ptr @.str7150, ptr %t380 br label %ifend1330 ifend1330: %t6589 = load ptr, ptr %t1 %t6590 = call i32 @lp_str_eq(ptr %t6589, ptr @.str7151) %t6591 = icmp ne i32 %t6590, 0 br i1 %t6591, label %then1331, label %ifend1333 then1331: store ptr @.str7152, ptr %t380 br label %ifend1333 ifend1333: %t6592 = load ptr, ptr %t1 %t6593 = call i32 @lp_str_eq(ptr %t6592, ptr @.str7153) %t6594 = icmp ne i32 %t6593, 0 br i1 %t6594, label %then1334, label %ifend1336 then1334: store ptr @.str7154, ptr %t380 br label %ifend1336 ifend1336: %t6595 = load ptr, ptr %t1 %t6596 = call i32 @lp_str_eq(ptr %t6595, ptr @.str7155) %t6597 = icmp ne i32 %t6596, 0 br i1 %t6597, label %then1337, label %ifend1339 then1337: store ptr @.str7156, ptr %t380 br label %ifend1339 ifend1339: %t6598 = load ptr, ptr %t1 %t6599 = call i32 @lp_str_eq(ptr %t6598, ptr @.str7157) %t6600 = icmp ne i32 %t6599, 0 br i1 %t6600, label %then1340, label %ifend1342 then1340: store ptr @.str7158, ptr %t380 br label %ifend1342 ifend1342: %t6601 = load ptr, ptr %t1 %t6602 = call i32 @lp_str_eq(ptr %t6601, ptr @.str7159) %t6603 = icmp ne i32 %t6602, 0 br i1 %t6603, label %then1343, label %ifend1345 then1343: store ptr @.str7160, ptr %t380 br label %ifend1345 ifend1345: %t6604 = load ptr, ptr %t1 %t6605 = call i32 @lp_str_eq(ptr %t6604, ptr @.str7161) %t6606 = icmp ne i32 %t6605, 0 br i1 %t6606, label %then1346, label %ifend1348 then1346: store ptr @.str7162, ptr %t380 br label %ifend1348 ifend1348: %t6607 = load ptr, ptr %t1 %t6608 = call i32 @lp_str_eq(ptr %t6607, ptr @.str7163) %t6609 = icmp ne i32 %t6608, 0 br i1 %t6609, label %then1349, label %ifend1351 then1349: store ptr @.str7164, ptr %t380 br label %ifend1351 ifend1351: %t6610 = load ptr, ptr %t1 %t6611 = call i32 @lp_str_eq(ptr %t6610, ptr @.str7165) %t6612 = icmp ne i32 %t6611, 0 br i1 %t6612, label %then1352, label %ifend1354 then1352: store ptr @.str7166, ptr %t380 br label %ifend1354 ifend1354: %t6613 = load ptr, ptr %t1 %t6614 = call i32 @lp_str_eq(ptr %t6613, ptr @.str7167) %t6615 = icmp ne i32 %t6614, 0 br i1 %t6615, label %then1355, label %ifend1357 then1355: store ptr @.str7168, ptr %t380 br label %ifend1357 ifend1357: %t6616 = load ptr, ptr %t1 %t6617 = call i32 @lp_str_eq(ptr %t6616, ptr @.str7169) %t6618 = icmp ne i32 %t6617, 0 br i1 %t6618, label %then1358, label %ifend1360 then1358: store ptr @.str7170, ptr %t380 br label %ifend1360 ifend1360: %t6619 = load ptr, ptr %t1 %t6620 = call i32 @lp_str_eq(ptr %t6619, ptr @.str7171) %t6621 = icmp ne i32 %t6620, 0 br i1 %t6621, label %then1361, label %ifend1363 then1361: store ptr @.str7172, ptr %t380 br label %ifend1363 ifend1363: %t6622 = load ptr, ptr %t1 %t6623 = call i32 @lp_str_eq(ptr %t6622, ptr @.str7173) %t6624 = icmp ne i32 %t6623, 0 br i1 %t6624, label %then1364, label %ifend1366 then1364: store ptr @.str7174, ptr %t380 br label %ifend1366 ifend1366: br label %ifend1315 ifend1315: %t6625 = load ptr, ptr %t0 %t6626 = call i32 @lp_str_eq(ptr %t6625, ptr @.str7175) %t6627 = icmp ne i32 %t6626, 0 br i1 %t6627, label %then1367, label %ifend1369 then1367: %t6628 = load ptr, ptr %t1 %t6629 = call i32 @lp_str_eq(ptr %t6628, ptr @.str7176) %t6630 = icmp ne i32 %t6629, 0 br i1 %t6630, label %then1370, label %ifend1372 then1370: store ptr @.str7177, ptr %t380 br label %ifend1372 ifend1372: %t6631 = load ptr, ptr %t1 %t6632 = call i32 @lp_str_eq(ptr %t6631, ptr @.str7178) %t6633 = icmp ne i32 %t6632, 0 br i1 %t6633, label %then1373, label %ifend1375 then1373: store ptr @.str7179, ptr %t380 br label %ifend1375 ifend1375: %t6634 = load ptr, ptr %t1 %t6635 = call i32 @lp_str_eq(ptr %t6634, ptr @.str7180) %t6636 = icmp ne i32 %t6635, 0 br i1 %t6636, label %then1376, label %ifend1378 then1376: store ptr @.str7181, ptr %t380 br label %ifend1378 ifend1378: %t6637 = load ptr, ptr %t1 %t6638 = call i32 @lp_str_eq(ptr %t6637, ptr @.str7182) %t6639 = icmp ne i32 %t6638, 0 br i1 %t6639, label %then1379, label %ifend1381 then1379: store ptr @.str7183, ptr %t380 br label %ifend1381 ifend1381: %t6640 = load ptr, ptr %t1 %t6641 = call i32 @lp_str_eq(ptr %t6640, ptr @.str7184) %t6642 = icmp ne i32 %t6641, 0 br i1 %t6642, label %then1382, label %ifend1384 then1382: store ptr @.str7185, ptr %t380 br label %ifend1384 ifend1384: %t6643 = load ptr, ptr %t1 %t6644 = call i32 @lp_str_eq(ptr %t6643, ptr @.str7186) %t6645 = icmp ne i32 %t6644, 0 br i1 %t6645, label %then1385, label %ifend1387 then1385: store ptr @.str7187, ptr %t380 br label %ifend1387 ifend1387: %t6646 = load ptr, ptr %t1 %t6647 = call i32 @lp_str_eq(ptr %t6646, ptr @.str7188) %t6648 = icmp ne i32 %t6647, 0 br i1 %t6648, label %then1388, label %ifend1390 then1388: store ptr @.str7189, ptr %t380 br label %ifend1390 ifend1390: %t6649 = load ptr, ptr %t1 %t6650 = call i32 @lp_str_eq(ptr %t6649, ptr @.str7190) %t6651 = icmp ne i32 %t6650, 0 br i1 %t6651, label %then1391, label %ifend1393 then1391: store ptr @.str7191, ptr %t380 br label %ifend1393 ifend1393: %t6652 = load ptr, ptr %t1 %t6653 = call i32 @lp_str_eq(ptr %t6652, ptr @.str7192) %t6654 = icmp ne i32 %t6653, 0 br i1 %t6654, label %then1394, label %ifend1396 then1394: store ptr @.str7193, ptr %t380 br label %ifend1396 ifend1396: br label %ifend1369 ifend1369: %t6655 = load ptr, ptr %t0 %t6656 = call i32 @lp_str_eq(ptr %t6655, ptr @.str7194) %t6657 = icmp ne i32 %t6656, 0 br i1 %t6657, label %then1397, label %ifend1399 then1397: %t6658 = load ptr, ptr %t1 %t6659 = call i32 @lp_str_eq(ptr %t6658, ptr @.str7195) %t6660 = icmp ne i32 %t6659, 0 br i1 %t6660, label %then1400, label %ifend1402 then1400: store ptr @.str7196, ptr %t380 br label %ifend1402 ifend1402: %t6661 = load ptr, ptr %t1 %t6662 = call i32 @lp_str_eq(ptr %t6661, ptr @.str7197) %t6663 = icmp ne i32 %t6662, 0 br i1 %t6663, label %then1403, label %ifend1405 then1403: store ptr @.str7198, ptr %t380 br label %ifend1405 ifend1405: %t6664 = load ptr, ptr %t1 %t6665 = call i32 @lp_str_eq(ptr %t6664, ptr @.str7199) %t6666 = icmp ne i32 %t6665, 0 br i1 %t6666, label %then1406, label %ifend1408 then1406: store ptr @.str7200, ptr %t380 br label %ifend1408 ifend1408: %t6667 = load ptr, ptr %t1 %t6668 = call i32 @lp_str_eq(ptr %t6667, ptr @.str7201) %t6669 = icmp ne i32 %t6668, 0 br i1 %t6669, label %then1409, label %ifend1411 then1409: store ptr @.str7202, ptr %t380 br label %ifend1411 ifend1411: %t6670 = load ptr, ptr %t1 %t6671 = call i32 @lp_str_eq(ptr %t6670, ptr @.str7203) %t6672 = icmp ne i32 %t6671, 0 br i1 %t6672, label %then1412, label %ifend1414 then1412: store ptr @.str7204, ptr %t380 br label %ifend1414 ifend1414: %t6673 = load ptr, ptr %t1 %t6674 = call i32 @lp_str_eq(ptr %t6673, ptr @.str7205) %t6675 = icmp ne i32 %t6674, 0 br i1 %t6675, label %then1415, label %ifend1417 then1415: store ptr @.str7206, ptr %t380 br label %ifend1417 ifend1417: %t6676 = load ptr, ptr %t1 %t6677 = call i32 @lp_str_eq(ptr %t6676, ptr @.str7207) %t6678 = icmp ne i32 %t6677, 0 br i1 %t6678, label %then1418, label %ifend1420 then1418: store ptr @.str7208, ptr %t380 br label %ifend1420 ifend1420: %t6679 = load ptr, ptr %t1 %t6680 = call i32 @lp_str_eq(ptr %t6679, ptr @.str7209) %t6681 = icmp ne i32 %t6680, 0 br i1 %t6681, label %then1421, label %ifend1423 then1421: store ptr @.str7210, ptr %t380 br label %ifend1423 ifend1423: br label %ifend1399 ifend1399: %t6682 = load ptr, ptr %t0 %t6683 = call i32 @lp_str_eq(ptr %t6682, ptr @.str7211) %t6684 = icmp ne i32 %t6683, 0 br i1 %t6684, label %then1424, label %ifend1426 then1424: %t6685 = load ptr, ptr %t1 %t6686 = call i32 @lp_str_eq(ptr %t6685, ptr @.str7212) %t6687 = icmp ne i32 %t6686, 0 br i1 %t6687, label %then1427, label %ifend1429 then1427: store ptr @.str7213, ptr %t380 br label %ifend1429 ifend1429: %t6688 = load ptr, ptr %t1 %t6689 = call i32 @lp_str_eq(ptr %t6688, ptr @.str7214) %t6690 = icmp ne i32 %t6689, 0 br i1 %t6690, label %then1430, label %ifend1432 then1430: store ptr @.str7215, ptr %t380 br label %ifend1432 ifend1432: br label %ifend1426 ifend1426: %t6691 = load ptr, ptr %t0 %t6692 = call i32 @lp_str_eq(ptr %t6691, ptr @.str7216) %t6693 = icmp ne i32 %t6692, 0 br i1 %t6693, label %then1433, label %ifend1435 then1433: %t6694 = load ptr, ptr %t1 %t6695 = call i32 @lp_str_eq(ptr %t6694, ptr @.str7217) %t6696 = icmp ne i32 %t6695, 0 br i1 %t6696, label %then1436, label %ifend1438 then1436: store ptr @.str7218, ptr %t380 %t6697 = load ptr, ptr %t387 %t6698 = getelementptr inbounds %LSlice, ptr %t6697, i32 0, i32 1 %t6699 = getelementptr inbounds %LSlice, ptr %t6697, i32 0, i32 2 %t6700 = getelementptr inbounds %LSlice, ptr %t6697, i32 0, i32 0 %t6701 = load i32, ptr %t6698 %t6702 = load i32, ptr %t6699 %t6703 = icmp sge i32 %t6701, %t6702 br i1 %t6703, label %grow1439, label %put1440 grow1439: %t6704 = mul i32 %t6702, 2 %t6705 = icmp eq i32 %t6702, 0 %t6706 = select i1 %t6705, i32 8, i32 %t6704 %t6707 = getelementptr ptr, ptr null, i32 1 %t6708 = ptrtoint ptr %t6707 to i64 %t6709 = zext i32 %t6706 to i64 %t6710 = mul i64 %t6709, %t6708 %t6711 = load ptr, ptr %t6700 %t6712 = call ptr @realloc(ptr %t6711, i64 %t6710) store ptr %t6712, ptr %t6700 store i32 %t6706, ptr %t6699 br label %put1440 put1440: %t6713 = load ptr, ptr %t6700 %t6714 = getelementptr inbounds ptr, ptr %t6713, i32 %t6701 store ptr @.str7219, ptr %t6714 %t6715 = add i32 %t6701, 1 store i32 %t6715, ptr %t6698 br label %ifend1438 ifend1438: %t6716 = load ptr, ptr %t1 %t6717 = call i32 @lp_str_eq(ptr %t6716, ptr @.str7220) %t6718 = icmp ne i32 %t6717, 0 br i1 %t6718, label %then1441, label %ifend1443 then1441: store ptr @.str7221, ptr %t380 %t6719 = load ptr, ptr %t387 %t6720 = getelementptr inbounds %LSlice, ptr %t6719, i32 0, i32 1 %t6721 = getelementptr inbounds %LSlice, ptr %t6719, i32 0, i32 2 %t6722 = getelementptr inbounds %LSlice, ptr %t6719, i32 0, i32 0 %t6723 = load i32, ptr %t6720 %t6724 = load i32, ptr %t6721 %t6725 = icmp sge i32 %t6723, %t6724 br i1 %t6725, label %grow1444, label %put1445 grow1444: %t6726 = mul i32 %t6724, 2 %t6727 = icmp eq i32 %t6724, 0 %t6728 = select i1 %t6727, i32 8, i32 %t6726 %t6729 = getelementptr ptr, ptr null, i32 1 %t6730 = ptrtoint ptr %t6729 to i64 %t6731 = zext i32 %t6728 to i64 %t6732 = mul i64 %t6731, %t6730 %t6733 = load ptr, ptr %t6722 %t6734 = call ptr @realloc(ptr %t6733, i64 %t6732) store ptr %t6734, ptr %t6722 store i32 %t6728, ptr %t6721 br label %put1445 put1445: %t6735 = load ptr, ptr %t6722 %t6736 = getelementptr inbounds ptr, ptr %t6735, i32 %t6723 store ptr @.str7222, ptr %t6736 %t6737 = add i32 %t6723, 1 store i32 %t6737, ptr %t6720 br label %ifend1443 ifend1443: %t6738 = load ptr, ptr %t1 %t6739 = call i32 @lp_str_eq(ptr %t6738, ptr @.str7223) %t6740 = icmp ne i32 %t6739, 0 br i1 %t6740, label %then1446, label %ifend1448 then1446: store ptr @.str7224, ptr %t380 %t6741 = load ptr, ptr %t387 %t6742 = getelementptr inbounds %LSlice, ptr %t6741, i32 0, i32 1 %t6743 = getelementptr inbounds %LSlice, ptr %t6741, i32 0, i32 2 %t6744 = getelementptr inbounds %LSlice, ptr %t6741, i32 0, i32 0 %t6745 = load i32, ptr %t6742 %t6746 = load i32, ptr %t6743 %t6747 = icmp sge i32 %t6745, %t6746 br i1 %t6747, label %grow1449, label %put1450 grow1449: %t6748 = mul i32 %t6746, 2 %t6749 = icmp eq i32 %t6746, 0 %t6750 = select i1 %t6749, i32 8, i32 %t6748 %t6751 = getelementptr ptr, ptr null, i32 1 %t6752 = ptrtoint ptr %t6751 to i64 %t6753 = zext i32 %t6750 to i64 %t6754 = mul i64 %t6753, %t6752 %t6755 = load ptr, ptr %t6744 %t6756 = call ptr @realloc(ptr %t6755, i64 %t6754) store ptr %t6756, ptr %t6744 store i32 %t6750, ptr %t6743 br label %put1450 put1450: %t6757 = load ptr, ptr %t6744 %t6758 = getelementptr inbounds ptr, ptr %t6757, i32 %t6745 store ptr @.str7225, ptr %t6758 %t6759 = add i32 %t6745, 1 store i32 %t6759, ptr %t6742 %t6760 = load ptr, ptr %t387 %t6761 = getelementptr inbounds %LSlice, ptr %t6760, i32 0, i32 1 %t6762 = getelementptr inbounds %LSlice, ptr %t6760, i32 0, i32 2 %t6763 = getelementptr inbounds %LSlice, ptr %t6760, i32 0, i32 0 %t6764 = load i32, ptr %t6761 %t6765 = load i32, ptr %t6762 %t6766 = icmp sge i32 %t6764, %t6765 br i1 %t6766, label %grow1451, label %put1452 grow1451: %t6767 = mul i32 %t6765, 2 %t6768 = icmp eq i32 %t6765, 0 %t6769 = select i1 %t6768, i32 8, i32 %t6767 %t6770 = getelementptr ptr, ptr null, i32 1 %t6771 = ptrtoint ptr %t6770 to i64 %t6772 = zext i32 %t6769 to i64 %t6773 = mul i64 %t6772, %t6771 %t6774 = load ptr, ptr %t6763 %t6775 = call ptr @realloc(ptr %t6774, i64 %t6773) store ptr %t6775, ptr %t6763 store i32 %t6769, ptr %t6762 br label %put1452 put1452: %t6776 = load ptr, ptr %t6763 %t6777 = getelementptr inbounds ptr, ptr %t6776, i32 %t6764 store ptr @.str7226, ptr %t6777 %t6778 = add i32 %t6764, 1 store i32 %t6778, ptr %t6761 br label %ifend1448 ifend1448: %t6779 = load ptr, ptr %t1 %t6780 = call i32 @lp_str_eq(ptr %t6779, ptr @.str7227) %t6781 = icmp ne i32 %t6780, 0 br i1 %t6781, label %then1453, label %ifend1455 then1453: store ptr @.str7228, ptr %t380 %t6782 = load ptr, ptr %t387 %t6783 = getelementptr inbounds %LSlice, ptr %t6782, i32 0, i32 1 %t6784 = getelementptr inbounds %LSlice, ptr %t6782, i32 0, i32 2 %t6785 = getelementptr inbounds %LSlice, ptr %t6782, i32 0, i32 0 %t6786 = load i32, ptr %t6783 %t6787 = load i32, ptr %t6784 %t6788 = icmp sge i32 %t6786, %t6787 br i1 %t6788, label %grow1456, label %put1457 grow1456: %t6789 = mul i32 %t6787, 2 %t6790 = icmp eq i32 %t6787, 0 %t6791 = select i1 %t6790, i32 8, i32 %t6789 %t6792 = getelementptr ptr, ptr null, i32 1 %t6793 = ptrtoint ptr %t6792 to i64 %t6794 = zext i32 %t6791 to i64 %t6795 = mul i64 %t6794, %t6793 %t6796 = load ptr, ptr %t6785 %t6797 = call ptr @realloc(ptr %t6796, i64 %t6795) store ptr %t6797, ptr %t6785 store i32 %t6791, ptr %t6784 br label %put1457 put1457: %t6798 = load ptr, ptr %t6785 %t6799 = getelementptr inbounds ptr, ptr %t6798, i32 %t6786 store ptr @.str7229, ptr %t6799 %t6800 = add i32 %t6786, 1 store i32 %t6800, ptr %t6783 %t6801 = load ptr, ptr %t387 %t6802 = getelementptr inbounds %LSlice, ptr %t6801, i32 0, i32 1 %t6803 = getelementptr inbounds %LSlice, ptr %t6801, i32 0, i32 2 %t6804 = getelementptr inbounds %LSlice, ptr %t6801, i32 0, i32 0 %t6805 = load i32, ptr %t6802 %t6806 = load i32, ptr %t6803 %t6807 = icmp sge i32 %t6805, %t6806 br i1 %t6807, label %grow1458, label %put1459 grow1458: %t6808 = mul i32 %t6806, 2 %t6809 = icmp eq i32 %t6806, 0 %t6810 = select i1 %t6809, i32 8, i32 %t6808 %t6811 = getelementptr ptr, ptr null, i32 1 %t6812 = ptrtoint ptr %t6811 to i64 %t6813 = zext i32 %t6810 to i64 %t6814 = mul i64 %t6813, %t6812 %t6815 = load ptr, ptr %t6804 %t6816 = call ptr @realloc(ptr %t6815, i64 %t6814) store ptr %t6816, ptr %t6804 store i32 %t6810, ptr %t6803 br label %put1459 put1459: %t6817 = load ptr, ptr %t6804 %t6818 = getelementptr inbounds ptr, ptr %t6817, i32 %t6805 store ptr @.str7230, ptr %t6818 %t6819 = add i32 %t6805, 1 store i32 %t6819, ptr %t6802 br label %ifend1455 ifend1455: %t6820 = load ptr, ptr %t1 %t6821 = call i32 @lp_str_eq(ptr %t6820, ptr @.str7231) %t6822 = icmp ne i32 %t6821, 0 br i1 %t6822, label %then1460, label %ifend1462 then1460: store ptr @.str7232, ptr %t380 %t6823 = load ptr, ptr %t387 %t6824 = getelementptr inbounds %LSlice, ptr %t6823, i32 0, i32 1 %t6825 = getelementptr inbounds %LSlice, ptr %t6823, i32 0, i32 2 %t6826 = getelementptr inbounds %LSlice, ptr %t6823, i32 0, i32 0 %t6827 = load i32, ptr %t6824 %t6828 = load i32, ptr %t6825 %t6829 = icmp sge i32 %t6827, %t6828 br i1 %t6829, label %grow1463, label %put1464 grow1463: %t6830 = mul i32 %t6828, 2 %t6831 = icmp eq i32 %t6828, 0 %t6832 = select i1 %t6831, i32 8, i32 %t6830 %t6833 = getelementptr ptr, ptr null, i32 1 %t6834 = ptrtoint ptr %t6833 to i64 %t6835 = zext i32 %t6832 to i64 %t6836 = mul i64 %t6835, %t6834 %t6837 = load ptr, ptr %t6826 %t6838 = call ptr @realloc(ptr %t6837, i64 %t6836) store ptr %t6838, ptr %t6826 store i32 %t6832, ptr %t6825 br label %put1464 put1464: %t6839 = load ptr, ptr %t6826 %t6840 = getelementptr inbounds ptr, ptr %t6839, i32 %t6827 store ptr @.str7233, ptr %t6840 %t6841 = add i32 %t6827, 1 store i32 %t6841, ptr %t6824 %t6842 = load ptr, ptr %t387 %t6843 = getelementptr inbounds %LSlice, ptr %t6842, i32 0, i32 1 %t6844 = getelementptr inbounds %LSlice, ptr %t6842, i32 0, i32 2 %t6845 = getelementptr inbounds %LSlice, ptr %t6842, i32 0, i32 0 %t6846 = load i32, ptr %t6843 %t6847 = load i32, ptr %t6844 %t6848 = icmp sge i32 %t6846, %t6847 br i1 %t6848, label %grow1465, label %put1466 grow1465: %t6849 = mul i32 %t6847, 2 %t6850 = icmp eq i32 %t6847, 0 %t6851 = select i1 %t6850, i32 8, i32 %t6849 %t6852 = getelementptr ptr, ptr null, i32 1 %t6853 = ptrtoint ptr %t6852 to i64 %t6854 = zext i32 %t6851 to i64 %t6855 = mul i64 %t6854, %t6853 %t6856 = load ptr, ptr %t6845 %t6857 = call ptr @realloc(ptr %t6856, i64 %t6855) store ptr %t6857, ptr %t6845 store i32 %t6851, ptr %t6844 br label %put1466 put1466: %t6858 = load ptr, ptr %t6845 %t6859 = getelementptr inbounds ptr, ptr %t6858, i32 %t6846 store ptr @.str7234, ptr %t6859 %t6860 = add i32 %t6846, 1 store i32 %t6860, ptr %t6843 br label %ifend1462 ifend1462: %t6861 = load ptr, ptr %t1 %t6862 = call i32 @lp_str_eq(ptr %t6861, ptr @.str7235) %t6863 = icmp ne i32 %t6862, 0 br i1 %t6863, label %then1467, label %ifend1469 then1467: store ptr @.str7236, ptr %t380 %t6864 = load ptr, ptr %t387 %t6865 = getelementptr inbounds %LSlice, ptr %t6864, i32 0, i32 1 %t6866 = getelementptr inbounds %LSlice, ptr %t6864, i32 0, i32 2 %t6867 = getelementptr inbounds %LSlice, ptr %t6864, i32 0, i32 0 %t6868 = load i32, ptr %t6865 %t6869 = load i32, ptr %t6866 %t6870 = icmp sge i32 %t6868, %t6869 br i1 %t6870, label %grow1470, label %put1471 grow1470: %t6871 = mul i32 %t6869, 2 %t6872 = icmp eq i32 %t6869, 0 %t6873 = select i1 %t6872, i32 8, i32 %t6871 %t6874 = getelementptr ptr, ptr null, i32 1 %t6875 = ptrtoint ptr %t6874 to i64 %t6876 = zext i32 %t6873 to i64 %t6877 = mul i64 %t6876, %t6875 %t6878 = load ptr, ptr %t6867 %t6879 = call ptr @realloc(ptr %t6878, i64 %t6877) store ptr %t6879, ptr %t6867 store i32 %t6873, ptr %t6866 br label %put1471 put1471: %t6880 = load ptr, ptr %t6867 %t6881 = getelementptr inbounds ptr, ptr %t6880, i32 %t6868 store ptr @.str7237, ptr %t6881 %t6882 = add i32 %t6868, 1 store i32 %t6882, ptr %t6865 %t6883 = load ptr, ptr %t387 %t6884 = getelementptr inbounds %LSlice, ptr %t6883, i32 0, i32 1 %t6885 = getelementptr inbounds %LSlice, ptr %t6883, i32 0, i32 2 %t6886 = getelementptr inbounds %LSlice, ptr %t6883, i32 0, i32 0 %t6887 = load i32, ptr %t6884 %t6888 = load i32, ptr %t6885 %t6889 = icmp sge i32 %t6887, %t6888 br i1 %t6889, label %grow1472, label %put1473 grow1472: %t6890 = mul i32 %t6888, 2 %t6891 = icmp eq i32 %t6888, 0 %t6892 = select i1 %t6891, i32 8, i32 %t6890 %t6893 = getelementptr ptr, ptr null, i32 1 %t6894 = ptrtoint ptr %t6893 to i64 %t6895 = zext i32 %t6892 to i64 %t6896 = mul i64 %t6895, %t6894 %t6897 = load ptr, ptr %t6886 %t6898 = call ptr @realloc(ptr %t6897, i64 %t6896) store ptr %t6898, ptr %t6886 store i32 %t6892, ptr %t6885 br label %put1473 put1473: %t6899 = load ptr, ptr %t6886 %t6900 = getelementptr inbounds ptr, ptr %t6899, i32 %t6887 store ptr @.str7238, ptr %t6900 %t6901 = add i32 %t6887, 1 store i32 %t6901, ptr %t6884 br label %ifend1469 ifend1469: %t6902 = load ptr, ptr %t1 %t6903 = call i32 @lp_str_eq(ptr %t6902, ptr @.str7239) %t6904 = icmp ne i32 %t6903, 0 br i1 %t6904, label %then1474, label %ifend1476 then1474: store ptr @.str7240, ptr %t380 %t6905 = load ptr, ptr %t387 %t6906 = getelementptr inbounds %LSlice, ptr %t6905, i32 0, i32 1 %t6907 = getelementptr inbounds %LSlice, ptr %t6905, i32 0, i32 2 %t6908 = getelementptr inbounds %LSlice, ptr %t6905, i32 0, i32 0 %t6909 = load i32, ptr %t6906 %t6910 = load i32, ptr %t6907 %t6911 = icmp sge i32 %t6909, %t6910 br i1 %t6911, label %grow1477, label %put1478 grow1477: %t6912 = mul i32 %t6910, 2 %t6913 = icmp eq i32 %t6910, 0 %t6914 = select i1 %t6913, i32 8, i32 %t6912 %t6915 = getelementptr ptr, ptr null, i32 1 %t6916 = ptrtoint ptr %t6915 to i64 %t6917 = zext i32 %t6914 to i64 %t6918 = mul i64 %t6917, %t6916 %t6919 = load ptr, ptr %t6908 %t6920 = call ptr @realloc(ptr %t6919, i64 %t6918) store ptr %t6920, ptr %t6908 store i32 %t6914, ptr %t6907 br label %put1478 put1478: %t6921 = load ptr, ptr %t6908 %t6922 = getelementptr inbounds ptr, ptr %t6921, i32 %t6909 store ptr @.str7241, ptr %t6922 %t6923 = add i32 %t6909, 1 store i32 %t6923, ptr %t6906 %t6924 = load ptr, ptr %t387 %t6925 = getelementptr inbounds %LSlice, ptr %t6924, i32 0, i32 1 %t6926 = getelementptr inbounds %LSlice, ptr %t6924, i32 0, i32 2 %t6927 = getelementptr inbounds %LSlice, ptr %t6924, i32 0, i32 0 %t6928 = load i32, ptr %t6925 %t6929 = load i32, ptr %t6926 %t6930 = icmp sge i32 %t6928, %t6929 br i1 %t6930, label %grow1479, label %put1480 grow1479: %t6931 = mul i32 %t6929, 2 %t6932 = icmp eq i32 %t6929, 0 %t6933 = select i1 %t6932, i32 8, i32 %t6931 %t6934 = getelementptr ptr, ptr null, i32 1 %t6935 = ptrtoint ptr %t6934 to i64 %t6936 = zext i32 %t6933 to i64 %t6937 = mul i64 %t6936, %t6935 %t6938 = load ptr, ptr %t6927 %t6939 = call ptr @realloc(ptr %t6938, i64 %t6937) store ptr %t6939, ptr %t6927 store i32 %t6933, ptr %t6926 br label %put1480 put1480: %t6940 = load ptr, ptr %t6927 %t6941 = getelementptr inbounds ptr, ptr %t6940, i32 %t6928 store ptr @.str7242, ptr %t6941 %t6942 = add i32 %t6928, 1 store i32 %t6942, ptr %t6925 %t6943 = load ptr, ptr %t387 %t6944 = getelementptr inbounds %LSlice, ptr %t6943, i32 0, i32 1 %t6945 = getelementptr inbounds %LSlice, ptr %t6943, i32 0, i32 2 %t6946 = getelementptr inbounds %LSlice, ptr %t6943, i32 0, i32 0 %t6947 = load i32, ptr %t6944 %t6948 = load i32, ptr %t6945 %t6949 = icmp sge i32 %t6947, %t6948 br i1 %t6949, label %grow1481, label %put1482 grow1481: %t6950 = mul i32 %t6948, 2 %t6951 = icmp eq i32 %t6948, 0 %t6952 = select i1 %t6951, i32 8, i32 %t6950 %t6953 = getelementptr ptr, ptr null, i32 1 %t6954 = ptrtoint ptr %t6953 to i64 %t6955 = zext i32 %t6952 to i64 %t6956 = mul i64 %t6955, %t6954 %t6957 = load ptr, ptr %t6946 %t6958 = call ptr @realloc(ptr %t6957, i64 %t6956) store ptr %t6958, ptr %t6946 store i32 %t6952, ptr %t6945 br label %put1482 put1482: %t6959 = load ptr, ptr %t6946 %t6960 = getelementptr inbounds ptr, ptr %t6959, i32 %t6947 store ptr @.str7243, ptr %t6960 %t6961 = add i32 %t6947, 1 store i32 %t6961, ptr %t6944 br label %ifend1476 ifend1476: %t6962 = load ptr, ptr %t1 %t6963 = call i32 @lp_str_eq(ptr %t6962, ptr @.str7244) %t6964 = icmp ne i32 %t6963, 0 br i1 %t6964, label %then1483, label %ifend1485 then1483: store ptr @.str7245, ptr %t380 %t6965 = load ptr, ptr %t387 %t6966 = getelementptr inbounds %LSlice, ptr %t6965, i32 0, i32 1 %t6967 = getelementptr inbounds %LSlice, ptr %t6965, i32 0, i32 2 %t6968 = getelementptr inbounds %LSlice, ptr %t6965, i32 0, i32 0 %t6969 = load i32, ptr %t6966 %t6970 = load i32, ptr %t6967 %t6971 = icmp sge i32 %t6969, %t6970 br i1 %t6971, label %grow1486, label %put1487 grow1486: %t6972 = mul i32 %t6970, 2 %t6973 = icmp eq i32 %t6970, 0 %t6974 = select i1 %t6973, i32 8, i32 %t6972 %t6975 = getelementptr ptr, ptr null, i32 1 %t6976 = ptrtoint ptr %t6975 to i64 %t6977 = zext i32 %t6974 to i64 %t6978 = mul i64 %t6977, %t6976 %t6979 = load ptr, ptr %t6968 %t6980 = call ptr @realloc(ptr %t6979, i64 %t6978) store ptr %t6980, ptr %t6968 store i32 %t6974, ptr %t6967 br label %put1487 put1487: %t6981 = load ptr, ptr %t6968 %t6982 = getelementptr inbounds ptr, ptr %t6981, i32 %t6969 store ptr @.str7246, ptr %t6982 %t6983 = add i32 %t6969, 1 store i32 %t6983, ptr %t6966 %t6984 = load ptr, ptr %t387 %t6985 = getelementptr inbounds %LSlice, ptr %t6984, i32 0, i32 1 %t6986 = getelementptr inbounds %LSlice, ptr %t6984, i32 0, i32 2 %t6987 = getelementptr inbounds %LSlice, ptr %t6984, i32 0, i32 0 %t6988 = load i32, ptr %t6985 %t6989 = load i32, ptr %t6986 %t6990 = icmp sge i32 %t6988, %t6989 br i1 %t6990, label %grow1488, label %put1489 grow1488: %t6991 = mul i32 %t6989, 2 %t6992 = icmp eq i32 %t6989, 0 %t6993 = select i1 %t6992, i32 8, i32 %t6991 %t6994 = getelementptr ptr, ptr null, i32 1 %t6995 = ptrtoint ptr %t6994 to i64 %t6996 = zext i32 %t6993 to i64 %t6997 = mul i64 %t6996, %t6995 %t6998 = load ptr, ptr %t6987 %t6999 = call ptr @realloc(ptr %t6998, i64 %t6997) store ptr %t6999, ptr %t6987 store i32 %t6993, ptr %t6986 br label %put1489 put1489: %t7000 = load ptr, ptr %t6987 %t7001 = getelementptr inbounds ptr, ptr %t7000, i32 %t6988 store ptr @.str7247, ptr %t7001 %t7002 = add i32 %t6988, 1 store i32 %t7002, ptr %t6985 %t7003 = load ptr, ptr %t387 %t7004 = getelementptr inbounds %LSlice, ptr %t7003, i32 0, i32 1 %t7005 = getelementptr inbounds %LSlice, ptr %t7003, i32 0, i32 2 %t7006 = getelementptr inbounds %LSlice, ptr %t7003, i32 0, i32 0 %t7007 = load i32, ptr %t7004 %t7008 = load i32, ptr %t7005 %t7009 = icmp sge i32 %t7007, %t7008 br i1 %t7009, label %grow1490, label %put1491 grow1490: %t7010 = mul i32 %t7008, 2 %t7011 = icmp eq i32 %t7008, 0 %t7012 = select i1 %t7011, i32 8, i32 %t7010 %t7013 = getelementptr ptr, ptr null, i32 1 %t7014 = ptrtoint ptr %t7013 to i64 %t7015 = zext i32 %t7012 to i64 %t7016 = mul i64 %t7015, %t7014 %t7017 = load ptr, ptr %t7006 %t7018 = call ptr @realloc(ptr %t7017, i64 %t7016) store ptr %t7018, ptr %t7006 store i32 %t7012, ptr %t7005 br label %put1491 put1491: %t7019 = load ptr, ptr %t7006 %t7020 = getelementptr inbounds ptr, ptr %t7019, i32 %t7007 store ptr @.str7248, ptr %t7020 %t7021 = add i32 %t7007, 1 store i32 %t7021, ptr %t7004 br label %ifend1485 ifend1485: %t7022 = load ptr, ptr %t1 %t7023 = call i32 @lp_str_eq(ptr %t7022, ptr @.str7249) %t7024 = icmp ne i32 %t7023, 0 br i1 %t7024, label %then1492, label %ifend1494 then1492: store ptr @.str7250, ptr %t380 %t7025 = load ptr, ptr %t387 %t7026 = getelementptr inbounds %LSlice, ptr %t7025, i32 0, i32 1 %t7027 = getelementptr inbounds %LSlice, ptr %t7025, i32 0, i32 2 %t7028 = getelementptr inbounds %LSlice, ptr %t7025, i32 0, i32 0 %t7029 = load i32, ptr %t7026 %t7030 = load i32, ptr %t7027 %t7031 = icmp sge i32 %t7029, %t7030 br i1 %t7031, label %grow1495, label %put1496 grow1495: %t7032 = mul i32 %t7030, 2 %t7033 = icmp eq i32 %t7030, 0 %t7034 = select i1 %t7033, i32 8, i32 %t7032 %t7035 = getelementptr ptr, ptr null, i32 1 %t7036 = ptrtoint ptr %t7035 to i64 %t7037 = zext i32 %t7034 to i64 %t7038 = mul i64 %t7037, %t7036 %t7039 = load ptr, ptr %t7028 %t7040 = call ptr @realloc(ptr %t7039, i64 %t7038) store ptr %t7040, ptr %t7028 store i32 %t7034, ptr %t7027 br label %put1496 put1496: %t7041 = load ptr, ptr %t7028 %t7042 = getelementptr inbounds ptr, ptr %t7041, i32 %t7029 store ptr @.str7251, ptr %t7042 %t7043 = add i32 %t7029, 1 store i32 %t7043, ptr %t7026 %t7044 = load ptr, ptr %t387 %t7045 = getelementptr inbounds %LSlice, ptr %t7044, i32 0, i32 1 %t7046 = getelementptr inbounds %LSlice, ptr %t7044, i32 0, i32 2 %t7047 = getelementptr inbounds %LSlice, ptr %t7044, i32 0, i32 0 %t7048 = load i32, ptr %t7045 %t7049 = load i32, ptr %t7046 %t7050 = icmp sge i32 %t7048, %t7049 br i1 %t7050, label %grow1497, label %put1498 grow1497: %t7051 = mul i32 %t7049, 2 %t7052 = icmp eq i32 %t7049, 0 %t7053 = select i1 %t7052, i32 8, i32 %t7051 %t7054 = getelementptr ptr, ptr null, i32 1 %t7055 = ptrtoint ptr %t7054 to i64 %t7056 = zext i32 %t7053 to i64 %t7057 = mul i64 %t7056, %t7055 %t7058 = load ptr, ptr %t7047 %t7059 = call ptr @realloc(ptr %t7058, i64 %t7057) store ptr %t7059, ptr %t7047 store i32 %t7053, ptr %t7046 br label %put1498 put1498: %t7060 = load ptr, ptr %t7047 %t7061 = getelementptr inbounds ptr, ptr %t7060, i32 %t7048 store ptr @.str7252, ptr %t7061 %t7062 = add i32 %t7048, 1 store i32 %t7062, ptr %t7045 br label %ifend1494 ifend1494: %t7063 = load ptr, ptr %t1 %t7064 = call i32 @lp_str_eq(ptr %t7063, ptr @.str7253) %t7065 = icmp ne i32 %t7064, 0 br i1 %t7065, label %then1499, label %ifend1501 then1499: store ptr @.str7254, ptr %t380 %t7066 = load ptr, ptr %t387 %t7067 = getelementptr inbounds %LSlice, ptr %t7066, i32 0, i32 1 %t7068 = getelementptr inbounds %LSlice, ptr %t7066, i32 0, i32 2 %t7069 = getelementptr inbounds %LSlice, ptr %t7066, i32 0, i32 0 %t7070 = load i32, ptr %t7067 %t7071 = load i32, ptr %t7068 %t7072 = icmp sge i32 %t7070, %t7071 br i1 %t7072, label %grow1502, label %put1503 grow1502: %t7073 = mul i32 %t7071, 2 %t7074 = icmp eq i32 %t7071, 0 %t7075 = select i1 %t7074, i32 8, i32 %t7073 %t7076 = getelementptr ptr, ptr null, i32 1 %t7077 = ptrtoint ptr %t7076 to i64 %t7078 = zext i32 %t7075 to i64 %t7079 = mul i64 %t7078, %t7077 %t7080 = load ptr, ptr %t7069 %t7081 = call ptr @realloc(ptr %t7080, i64 %t7079) store ptr %t7081, ptr %t7069 store i32 %t7075, ptr %t7068 br label %put1503 put1503: %t7082 = load ptr, ptr %t7069 %t7083 = getelementptr inbounds ptr, ptr %t7082, i32 %t7070 store ptr @.str7255, ptr %t7083 %t7084 = add i32 %t7070, 1 store i32 %t7084, ptr %t7067 br label %ifend1501 ifend1501: %t7085 = load ptr, ptr %t1 %t7086 = call i32 @lp_str_eq(ptr %t7085, ptr @.str7256) %t7087 = icmp ne i32 %t7086, 0 br i1 %t7087, label %then1504, label %ifend1506 then1504: store ptr @.str7257, ptr %t380 %t7088 = load ptr, ptr %t387 %t7089 = getelementptr inbounds %LSlice, ptr %t7088, i32 0, i32 1 %t7090 = getelementptr inbounds %LSlice, ptr %t7088, i32 0, i32 2 %t7091 = getelementptr inbounds %LSlice, ptr %t7088, i32 0, i32 0 %t7092 = load i32, ptr %t7089 %t7093 = load i32, ptr %t7090 %t7094 = icmp sge i32 %t7092, %t7093 br i1 %t7094, label %grow1507, label %put1508 grow1507: %t7095 = mul i32 %t7093, 2 %t7096 = icmp eq i32 %t7093, 0 %t7097 = select i1 %t7096, i32 8, i32 %t7095 %t7098 = getelementptr ptr, ptr null, i32 1 %t7099 = ptrtoint ptr %t7098 to i64 %t7100 = zext i32 %t7097 to i64 %t7101 = mul i64 %t7100, %t7099 %t7102 = load ptr, ptr %t7091 %t7103 = call ptr @realloc(ptr %t7102, i64 %t7101) store ptr %t7103, ptr %t7091 store i32 %t7097, ptr %t7090 br label %put1508 put1508: %t7104 = load ptr, ptr %t7091 %t7105 = getelementptr inbounds ptr, ptr %t7104, i32 %t7092 store ptr @.str7258, ptr %t7105 %t7106 = add i32 %t7092, 1 store i32 %t7106, ptr %t7089 %t7107 = load ptr, ptr %t387 %t7108 = getelementptr inbounds %LSlice, ptr %t7107, i32 0, i32 1 %t7109 = getelementptr inbounds %LSlice, ptr %t7107, i32 0, i32 2 %t7110 = getelementptr inbounds %LSlice, ptr %t7107, i32 0, i32 0 %t7111 = load i32, ptr %t7108 %t7112 = load i32, ptr %t7109 %t7113 = icmp sge i32 %t7111, %t7112 br i1 %t7113, label %grow1509, label %put1510 grow1509: %t7114 = mul i32 %t7112, 2 %t7115 = icmp eq i32 %t7112, 0 %t7116 = select i1 %t7115, i32 8, i32 %t7114 %t7117 = getelementptr ptr, ptr null, i32 1 %t7118 = ptrtoint ptr %t7117 to i64 %t7119 = zext i32 %t7116 to i64 %t7120 = mul i64 %t7119, %t7118 %t7121 = load ptr, ptr %t7110 %t7122 = call ptr @realloc(ptr %t7121, i64 %t7120) store ptr %t7122, ptr %t7110 store i32 %t7116, ptr %t7109 br label %put1510 put1510: %t7123 = load ptr, ptr %t7110 %t7124 = getelementptr inbounds ptr, ptr %t7123, i32 %t7111 store ptr @.str7259, ptr %t7124 %t7125 = add i32 %t7111, 1 store i32 %t7125, ptr %t7108 br label %ifend1506 ifend1506: %t7126 = load ptr, ptr %t1 %t7127 = call i32 @lp_str_eq(ptr %t7126, ptr @.str7260) %t7128 = icmp ne i32 %t7127, 0 br i1 %t7128, label %then1511, label %ifend1513 then1511: store ptr @.str7261, ptr %t380 %t7129 = load ptr, ptr %t387 %t7130 = getelementptr inbounds %LSlice, ptr %t7129, i32 0, i32 1 %t7131 = getelementptr inbounds %LSlice, ptr %t7129, i32 0, i32 2 %t7132 = getelementptr inbounds %LSlice, ptr %t7129, i32 0, i32 0 %t7133 = load i32, ptr %t7130 %t7134 = load i32, ptr %t7131 %t7135 = icmp sge i32 %t7133, %t7134 br i1 %t7135, label %grow1514, label %put1515 grow1514: %t7136 = mul i32 %t7134, 2 %t7137 = icmp eq i32 %t7134, 0 %t7138 = select i1 %t7137, i32 8, i32 %t7136 %t7139 = getelementptr ptr, ptr null, i32 1 %t7140 = ptrtoint ptr %t7139 to i64 %t7141 = zext i32 %t7138 to i64 %t7142 = mul i64 %t7141, %t7140 %t7143 = load ptr, ptr %t7132 %t7144 = call ptr @realloc(ptr %t7143, i64 %t7142) store ptr %t7144, ptr %t7132 store i32 %t7138, ptr %t7131 br label %put1515 put1515: %t7145 = load ptr, ptr %t7132 %t7146 = getelementptr inbounds ptr, ptr %t7145, i32 %t7133 store ptr @.str7262, ptr %t7146 %t7147 = add i32 %t7133, 1 store i32 %t7147, ptr %t7130 %t7148 = load ptr, ptr %t387 %t7149 = getelementptr inbounds %LSlice, ptr %t7148, i32 0, i32 1 %t7150 = getelementptr inbounds %LSlice, ptr %t7148, i32 0, i32 2 %t7151 = getelementptr inbounds %LSlice, ptr %t7148, i32 0, i32 0 %t7152 = load i32, ptr %t7149 %t7153 = load i32, ptr %t7150 %t7154 = icmp sge i32 %t7152, %t7153 br i1 %t7154, label %grow1516, label %put1517 grow1516: %t7155 = mul i32 %t7153, 2 %t7156 = icmp eq i32 %t7153, 0 %t7157 = select i1 %t7156, i32 8, i32 %t7155 %t7158 = getelementptr ptr, ptr null, i32 1 %t7159 = ptrtoint ptr %t7158 to i64 %t7160 = zext i32 %t7157 to i64 %t7161 = mul i64 %t7160, %t7159 %t7162 = load ptr, ptr %t7151 %t7163 = call ptr @realloc(ptr %t7162, i64 %t7161) store ptr %t7163, ptr %t7151 store i32 %t7157, ptr %t7150 br label %put1517 put1517: %t7164 = load ptr, ptr %t7151 %t7165 = getelementptr inbounds ptr, ptr %t7164, i32 %t7152 store ptr @.str7263, ptr %t7165 %t7166 = add i32 %t7152, 1 store i32 %t7166, ptr %t7149 br label %ifend1513 ifend1513: %t7167 = load ptr, ptr %t1 %t7168 = call i32 @lp_str_eq(ptr %t7167, ptr @.str7264) %t7169 = icmp ne i32 %t7168, 0 br i1 %t7169, label %then1518, label %ifend1520 then1518: store ptr @.str7265, ptr %t380 %t7170 = load ptr, ptr %t387 %t7171 = getelementptr inbounds %LSlice, ptr %t7170, i32 0, i32 1 %t7172 = getelementptr inbounds %LSlice, ptr %t7170, i32 0, i32 2 %t7173 = getelementptr inbounds %LSlice, ptr %t7170, i32 0, i32 0 %t7174 = load i32, ptr %t7171 %t7175 = load i32, ptr %t7172 %t7176 = icmp sge i32 %t7174, %t7175 br i1 %t7176, label %grow1521, label %put1522 grow1521: %t7177 = mul i32 %t7175, 2 %t7178 = icmp eq i32 %t7175, 0 %t7179 = select i1 %t7178, i32 8, i32 %t7177 %t7180 = getelementptr ptr, ptr null, i32 1 %t7181 = ptrtoint ptr %t7180 to i64 %t7182 = zext i32 %t7179 to i64 %t7183 = mul i64 %t7182, %t7181 %t7184 = load ptr, ptr %t7173 %t7185 = call ptr @realloc(ptr %t7184, i64 %t7183) store ptr %t7185, ptr %t7173 store i32 %t7179, ptr %t7172 br label %put1522 put1522: %t7186 = load ptr, ptr %t7173 %t7187 = getelementptr inbounds ptr, ptr %t7186, i32 %t7174 store ptr @.str7266, ptr %t7187 %t7188 = add i32 %t7174, 1 store i32 %t7188, ptr %t7171 br label %ifend1520 ifend1520: br label %ifend1435 ifend1435: %t7189 = load ptr, ptr %t0 %t7190 = call i32 @lp_str_eq(ptr %t7189, ptr @.str7267) %t7191 = icmp ne i32 %t7190, 0 br i1 %t7191, label %then1523, label %ifend1525 then1523: %t7192 = load ptr, ptr %t1 %t7193 = call i32 @lp_str_eq(ptr %t7192, ptr @.str7268) %t7194 = icmp ne i32 %t7193, 0 br i1 %t7194, label %then1526, label %ifend1528 then1526: store ptr @.str7269, ptr %t380 %t7195 = load ptr, ptr %t387 %t7196 = getelementptr inbounds %LSlice, ptr %t7195, i32 0, i32 1 %t7197 = getelementptr inbounds %LSlice, ptr %t7195, i32 0, i32 2 %t7198 = getelementptr inbounds %LSlice, ptr %t7195, i32 0, i32 0 %t7199 = load i32, ptr %t7196 %t7200 = load i32, ptr %t7197 %t7201 = icmp sge i32 %t7199, %t7200 br i1 %t7201, label %grow1529, label %put1530 grow1529: %t7202 = mul i32 %t7200, 2 %t7203 = icmp eq i32 %t7200, 0 %t7204 = select i1 %t7203, i32 8, i32 %t7202 %t7205 = getelementptr ptr, ptr null, i32 1 %t7206 = ptrtoint ptr %t7205 to i64 %t7207 = zext i32 %t7204 to i64 %t7208 = mul i64 %t7207, %t7206 %t7209 = load ptr, ptr %t7198 %t7210 = call ptr @realloc(ptr %t7209, i64 %t7208) store ptr %t7210, ptr %t7198 store i32 %t7204, ptr %t7197 br label %put1530 put1530: %t7211 = load ptr, ptr %t7198 %t7212 = getelementptr inbounds ptr, ptr %t7211, i32 %t7199 store ptr @.str7270, ptr %t7212 %t7213 = add i32 %t7199, 1 store i32 %t7213, ptr %t7196 br label %ifend1528 ifend1528: %t7214 = load ptr, ptr %t1 %t7215 = call i32 @lp_str_eq(ptr %t7214, ptr @.str7271) %t7216 = icmp ne i32 %t7215, 0 br i1 %t7216, label %then1531, label %ifend1533 then1531: store ptr @.str7272, ptr %t380 %t7217 = load ptr, ptr %t387 %t7218 = getelementptr inbounds %LSlice, ptr %t7217, i32 0, i32 1 %t7219 = getelementptr inbounds %LSlice, ptr %t7217, i32 0, i32 2 %t7220 = getelementptr inbounds %LSlice, ptr %t7217, i32 0, i32 0 %t7221 = load i32, ptr %t7218 %t7222 = load i32, ptr %t7219 %t7223 = icmp sge i32 %t7221, %t7222 br i1 %t7223, label %grow1534, label %put1535 grow1534: %t7224 = mul i32 %t7222, 2 %t7225 = icmp eq i32 %t7222, 0 %t7226 = select i1 %t7225, i32 8, i32 %t7224 %t7227 = getelementptr ptr, ptr null, i32 1 %t7228 = ptrtoint ptr %t7227 to i64 %t7229 = zext i32 %t7226 to i64 %t7230 = mul i64 %t7229, %t7228 %t7231 = load ptr, ptr %t7220 %t7232 = call ptr @realloc(ptr %t7231, i64 %t7230) store ptr %t7232, ptr %t7220 store i32 %t7226, ptr %t7219 br label %put1535 put1535: %t7233 = load ptr, ptr %t7220 %t7234 = getelementptr inbounds ptr, ptr %t7233, i32 %t7221 store ptr @.str7273, ptr %t7234 %t7235 = add i32 %t7221, 1 store i32 %t7235, ptr %t7218 br label %ifend1533 ifend1533: %t7236 = load ptr, ptr %t1 %t7237 = call i32 @lp_str_eq(ptr %t7236, ptr @.str7274) %t7238 = icmp ne i32 %t7237, 0 br i1 %t7238, label %then1536, label %ifend1538 then1536: store ptr @.str7275, ptr %t380 %t7239 = load ptr, ptr %t387 %t7240 = getelementptr inbounds %LSlice, ptr %t7239, i32 0, i32 1 %t7241 = getelementptr inbounds %LSlice, ptr %t7239, i32 0, i32 2 %t7242 = getelementptr inbounds %LSlice, ptr %t7239, i32 0, i32 0 %t7243 = load i32, ptr %t7240 %t7244 = load i32, ptr %t7241 %t7245 = icmp sge i32 %t7243, %t7244 br i1 %t7245, label %grow1539, label %put1540 grow1539: %t7246 = mul i32 %t7244, 2 %t7247 = icmp eq i32 %t7244, 0 %t7248 = select i1 %t7247, i32 8, i32 %t7246 %t7249 = getelementptr ptr, ptr null, i32 1 %t7250 = ptrtoint ptr %t7249 to i64 %t7251 = zext i32 %t7248 to i64 %t7252 = mul i64 %t7251, %t7250 %t7253 = load ptr, ptr %t7242 %t7254 = call ptr @realloc(ptr %t7253, i64 %t7252) store ptr %t7254, ptr %t7242 store i32 %t7248, ptr %t7241 br label %put1540 put1540: %t7255 = load ptr, ptr %t7242 %t7256 = getelementptr inbounds ptr, ptr %t7255, i32 %t7243 store ptr @.str7276, ptr %t7256 %t7257 = add i32 %t7243, 1 store i32 %t7257, ptr %t7240 %t7258 = load ptr, ptr %t387 %t7259 = getelementptr inbounds %LSlice, ptr %t7258, i32 0, i32 1 %t7260 = getelementptr inbounds %LSlice, ptr %t7258, i32 0, i32 2 %t7261 = getelementptr inbounds %LSlice, ptr %t7258, i32 0, i32 0 %t7262 = load i32, ptr %t7259 %t7263 = load i32, ptr %t7260 %t7264 = icmp sge i32 %t7262, %t7263 br i1 %t7264, label %grow1541, label %put1542 grow1541: %t7265 = mul i32 %t7263, 2 %t7266 = icmp eq i32 %t7263, 0 %t7267 = select i1 %t7266, i32 8, i32 %t7265 %t7268 = getelementptr ptr, ptr null, i32 1 %t7269 = ptrtoint ptr %t7268 to i64 %t7270 = zext i32 %t7267 to i64 %t7271 = mul i64 %t7270, %t7269 %t7272 = load ptr, ptr %t7261 %t7273 = call ptr @realloc(ptr %t7272, i64 %t7271) store ptr %t7273, ptr %t7261 store i32 %t7267, ptr %t7260 br label %put1542 put1542: %t7274 = load ptr, ptr %t7261 %t7275 = getelementptr inbounds ptr, ptr %t7274, i32 %t7262 store ptr @.str7277, ptr %t7275 %t7276 = add i32 %t7262, 1 store i32 %t7276, ptr %t7259 br label %ifend1538 ifend1538: %t7277 = load ptr, ptr %t1 %t7278 = call i32 @lp_str_eq(ptr %t7277, ptr @.str7278) %t7279 = icmp ne i32 %t7278, 0 br i1 %t7279, label %then1543, label %ifend1545 then1543: store ptr @.str7279, ptr %t380 %t7280 = load ptr, ptr %t387 %t7281 = getelementptr inbounds %LSlice, ptr %t7280, i32 0, i32 1 %t7282 = getelementptr inbounds %LSlice, ptr %t7280, i32 0, i32 2 %t7283 = getelementptr inbounds %LSlice, ptr %t7280, i32 0, i32 0 %t7284 = load i32, ptr %t7281 %t7285 = load i32, ptr %t7282 %t7286 = icmp sge i32 %t7284, %t7285 br i1 %t7286, label %grow1546, label %put1547 grow1546: %t7287 = mul i32 %t7285, 2 %t7288 = icmp eq i32 %t7285, 0 %t7289 = select i1 %t7288, i32 8, i32 %t7287 %t7290 = getelementptr ptr, ptr null, i32 1 %t7291 = ptrtoint ptr %t7290 to i64 %t7292 = zext i32 %t7289 to i64 %t7293 = mul i64 %t7292, %t7291 %t7294 = load ptr, ptr %t7283 %t7295 = call ptr @realloc(ptr %t7294, i64 %t7293) store ptr %t7295, ptr %t7283 store i32 %t7289, ptr %t7282 br label %put1547 put1547: %t7296 = load ptr, ptr %t7283 %t7297 = getelementptr inbounds ptr, ptr %t7296, i32 %t7284 store ptr @.str7280, ptr %t7297 %t7298 = add i32 %t7284, 1 store i32 %t7298, ptr %t7281 %t7299 = load ptr, ptr %t387 %t7300 = getelementptr inbounds %LSlice, ptr %t7299, i32 0, i32 1 %t7301 = getelementptr inbounds %LSlice, ptr %t7299, i32 0, i32 2 %t7302 = getelementptr inbounds %LSlice, ptr %t7299, i32 0, i32 0 %t7303 = load i32, ptr %t7300 %t7304 = load i32, ptr %t7301 %t7305 = icmp sge i32 %t7303, %t7304 br i1 %t7305, label %grow1548, label %put1549 grow1548: %t7306 = mul i32 %t7304, 2 %t7307 = icmp eq i32 %t7304, 0 %t7308 = select i1 %t7307, i32 8, i32 %t7306 %t7309 = getelementptr ptr, ptr null, i32 1 %t7310 = ptrtoint ptr %t7309 to i64 %t7311 = zext i32 %t7308 to i64 %t7312 = mul i64 %t7311, %t7310 %t7313 = load ptr, ptr %t7302 %t7314 = call ptr @realloc(ptr %t7313, i64 %t7312) store ptr %t7314, ptr %t7302 store i32 %t7308, ptr %t7301 br label %put1549 put1549: %t7315 = load ptr, ptr %t7302 %t7316 = getelementptr inbounds ptr, ptr %t7315, i32 %t7303 store ptr @.str7281, ptr %t7316 %t7317 = add i32 %t7303, 1 store i32 %t7317, ptr %t7300 br label %ifend1545 ifend1545: %t7318 = load ptr, ptr %t1 %t7319 = call i32 @lp_str_eq(ptr %t7318, ptr @.str7282) %t7320 = icmp ne i32 %t7319, 0 br i1 %t7320, label %then1550, label %ifend1552 then1550: store ptr @.str7283, ptr %t380 %t7321 = load ptr, ptr %t387 %t7322 = getelementptr inbounds %LSlice, ptr %t7321, i32 0, i32 1 %t7323 = getelementptr inbounds %LSlice, ptr %t7321, i32 0, i32 2 %t7324 = getelementptr inbounds %LSlice, ptr %t7321, i32 0, i32 0 %t7325 = load i32, ptr %t7322 %t7326 = load i32, ptr %t7323 %t7327 = icmp sge i32 %t7325, %t7326 br i1 %t7327, label %grow1553, label %put1554 grow1553: %t7328 = mul i32 %t7326, 2 %t7329 = icmp eq i32 %t7326, 0 %t7330 = select i1 %t7329, i32 8, i32 %t7328 %t7331 = getelementptr ptr, ptr null, i32 1 %t7332 = ptrtoint ptr %t7331 to i64 %t7333 = zext i32 %t7330 to i64 %t7334 = mul i64 %t7333, %t7332 %t7335 = load ptr, ptr %t7324 %t7336 = call ptr @realloc(ptr %t7335, i64 %t7334) store ptr %t7336, ptr %t7324 store i32 %t7330, ptr %t7323 br label %put1554 put1554: %t7337 = load ptr, ptr %t7324 %t7338 = getelementptr inbounds ptr, ptr %t7337, i32 %t7325 store ptr @.str7284, ptr %t7338 %t7339 = add i32 %t7325, 1 store i32 %t7339, ptr %t7322 %t7340 = load ptr, ptr %t387 %t7341 = getelementptr inbounds %LSlice, ptr %t7340, i32 0, i32 1 %t7342 = getelementptr inbounds %LSlice, ptr %t7340, i32 0, i32 2 %t7343 = getelementptr inbounds %LSlice, ptr %t7340, i32 0, i32 0 %t7344 = load i32, ptr %t7341 %t7345 = load i32, ptr %t7342 %t7346 = icmp sge i32 %t7344, %t7345 br i1 %t7346, label %grow1555, label %put1556 grow1555: %t7347 = mul i32 %t7345, 2 %t7348 = icmp eq i32 %t7345, 0 %t7349 = select i1 %t7348, i32 8, i32 %t7347 %t7350 = getelementptr ptr, ptr null, i32 1 %t7351 = ptrtoint ptr %t7350 to i64 %t7352 = zext i32 %t7349 to i64 %t7353 = mul i64 %t7352, %t7351 %t7354 = load ptr, ptr %t7343 %t7355 = call ptr @realloc(ptr %t7354, i64 %t7353) store ptr %t7355, ptr %t7343 store i32 %t7349, ptr %t7342 br label %put1556 put1556: %t7356 = load ptr, ptr %t7343 %t7357 = getelementptr inbounds ptr, ptr %t7356, i32 %t7344 store ptr @.str7285, ptr %t7357 %t7358 = add i32 %t7344, 1 store i32 %t7358, ptr %t7341 br label %ifend1552 ifend1552: %t7359 = load ptr, ptr %t1 %t7360 = call i32 @lp_str_eq(ptr %t7359, ptr @.str7286) %t7361 = icmp ne i32 %t7360, 0 br i1 %t7361, label %then1557, label %ifend1559 then1557: store ptr @.str7287, ptr %t380 %t7362 = load ptr, ptr %t387 %t7363 = getelementptr inbounds %LSlice, ptr %t7362, i32 0, i32 1 %t7364 = getelementptr inbounds %LSlice, ptr %t7362, i32 0, i32 2 %t7365 = getelementptr inbounds %LSlice, ptr %t7362, i32 0, i32 0 %t7366 = load i32, ptr %t7363 %t7367 = load i32, ptr %t7364 %t7368 = icmp sge i32 %t7366, %t7367 br i1 %t7368, label %grow1560, label %put1561 grow1560: %t7369 = mul i32 %t7367, 2 %t7370 = icmp eq i32 %t7367, 0 %t7371 = select i1 %t7370, i32 8, i32 %t7369 %t7372 = getelementptr ptr, ptr null, i32 1 %t7373 = ptrtoint ptr %t7372 to i64 %t7374 = zext i32 %t7371 to i64 %t7375 = mul i64 %t7374, %t7373 %t7376 = load ptr, ptr %t7365 %t7377 = call ptr @realloc(ptr %t7376, i64 %t7375) store ptr %t7377, ptr %t7365 store i32 %t7371, ptr %t7364 br label %put1561 put1561: %t7378 = load ptr, ptr %t7365 %t7379 = getelementptr inbounds ptr, ptr %t7378, i32 %t7366 store ptr @.str7288, ptr %t7379 %t7380 = add i32 %t7366, 1 store i32 %t7380, ptr %t7363 br label %ifend1559 ifend1559: %t7381 = load ptr, ptr %t1 %t7382 = call i32 @lp_str_eq(ptr %t7381, ptr @.str7289) %t7383 = icmp ne i32 %t7382, 0 br i1 %t7383, label %then1562, label %ifend1564 then1562: store ptr @.str7290, ptr %t380 %t7384 = load ptr, ptr %t387 %t7385 = getelementptr inbounds %LSlice, ptr %t7384, i32 0, i32 1 %t7386 = getelementptr inbounds %LSlice, ptr %t7384, i32 0, i32 2 %t7387 = getelementptr inbounds %LSlice, ptr %t7384, i32 0, i32 0 %t7388 = load i32, ptr %t7385 %t7389 = load i32, ptr %t7386 %t7390 = icmp sge i32 %t7388, %t7389 br i1 %t7390, label %grow1565, label %put1566 grow1565: %t7391 = mul i32 %t7389, 2 %t7392 = icmp eq i32 %t7389, 0 %t7393 = select i1 %t7392, i32 8, i32 %t7391 %t7394 = getelementptr ptr, ptr null, i32 1 %t7395 = ptrtoint ptr %t7394 to i64 %t7396 = zext i32 %t7393 to i64 %t7397 = mul i64 %t7396, %t7395 %t7398 = load ptr, ptr %t7387 %t7399 = call ptr @realloc(ptr %t7398, i64 %t7397) store ptr %t7399, ptr %t7387 store i32 %t7393, ptr %t7386 br label %put1566 put1566: %t7400 = load ptr, ptr %t7387 %t7401 = getelementptr inbounds ptr, ptr %t7400, i32 %t7388 store ptr @.str7291, ptr %t7401 %t7402 = add i32 %t7388, 1 store i32 %t7402, ptr %t7385 %t7403 = load ptr, ptr %t387 %t7404 = getelementptr inbounds %LSlice, ptr %t7403, i32 0, i32 1 %t7405 = getelementptr inbounds %LSlice, ptr %t7403, i32 0, i32 2 %t7406 = getelementptr inbounds %LSlice, ptr %t7403, i32 0, i32 0 %t7407 = load i32, ptr %t7404 %t7408 = load i32, ptr %t7405 %t7409 = icmp sge i32 %t7407, %t7408 br i1 %t7409, label %grow1567, label %put1568 grow1567: %t7410 = mul i32 %t7408, 2 %t7411 = icmp eq i32 %t7408, 0 %t7412 = select i1 %t7411, i32 8, i32 %t7410 %t7413 = getelementptr ptr, ptr null, i32 1 %t7414 = ptrtoint ptr %t7413 to i64 %t7415 = zext i32 %t7412 to i64 %t7416 = mul i64 %t7415, %t7414 %t7417 = load ptr, ptr %t7406 %t7418 = call ptr @realloc(ptr %t7417, i64 %t7416) store ptr %t7418, ptr %t7406 store i32 %t7412, ptr %t7405 br label %put1568 put1568: %t7419 = load ptr, ptr %t7406 %t7420 = getelementptr inbounds ptr, ptr %t7419, i32 %t7407 store ptr @.str7292, ptr %t7420 %t7421 = add i32 %t7407, 1 store i32 %t7421, ptr %t7404 br label %ifend1564 ifend1564: %t7422 = load ptr, ptr %t1 %t7423 = call i32 @lp_str_eq(ptr %t7422, ptr @.str7293) %t7424 = icmp ne i32 %t7423, 0 br i1 %t7424, label %then1569, label %ifend1571 then1569: store ptr @.str7294, ptr %t380 %t7425 = load ptr, ptr %t387 %t7426 = getelementptr inbounds %LSlice, ptr %t7425, i32 0, i32 1 %t7427 = getelementptr inbounds %LSlice, ptr %t7425, i32 0, i32 2 %t7428 = getelementptr inbounds %LSlice, ptr %t7425, i32 0, i32 0 %t7429 = load i32, ptr %t7426 %t7430 = load i32, ptr %t7427 %t7431 = icmp sge i32 %t7429, %t7430 br i1 %t7431, label %grow1572, label %put1573 grow1572: %t7432 = mul i32 %t7430, 2 %t7433 = icmp eq i32 %t7430, 0 %t7434 = select i1 %t7433, i32 8, i32 %t7432 %t7435 = getelementptr ptr, ptr null, i32 1 %t7436 = ptrtoint ptr %t7435 to i64 %t7437 = zext i32 %t7434 to i64 %t7438 = mul i64 %t7437, %t7436 %t7439 = load ptr, ptr %t7428 %t7440 = call ptr @realloc(ptr %t7439, i64 %t7438) store ptr %t7440, ptr %t7428 store i32 %t7434, ptr %t7427 br label %put1573 put1573: %t7441 = load ptr, ptr %t7428 %t7442 = getelementptr inbounds ptr, ptr %t7441, i32 %t7429 store ptr @.str7295, ptr %t7442 %t7443 = add i32 %t7429, 1 store i32 %t7443, ptr %t7426 %t7444 = load ptr, ptr %t387 %t7445 = getelementptr inbounds %LSlice, ptr %t7444, i32 0, i32 1 %t7446 = getelementptr inbounds %LSlice, ptr %t7444, i32 0, i32 2 %t7447 = getelementptr inbounds %LSlice, ptr %t7444, i32 0, i32 0 %t7448 = load i32, ptr %t7445 %t7449 = load i32, ptr %t7446 %t7450 = icmp sge i32 %t7448, %t7449 br i1 %t7450, label %grow1574, label %put1575 grow1574: %t7451 = mul i32 %t7449, 2 %t7452 = icmp eq i32 %t7449, 0 %t7453 = select i1 %t7452, i32 8, i32 %t7451 %t7454 = getelementptr ptr, ptr null, i32 1 %t7455 = ptrtoint ptr %t7454 to i64 %t7456 = zext i32 %t7453 to i64 %t7457 = mul i64 %t7456, %t7455 %t7458 = load ptr, ptr %t7447 %t7459 = call ptr @realloc(ptr %t7458, i64 %t7457) store ptr %t7459, ptr %t7447 store i32 %t7453, ptr %t7446 br label %put1575 put1575: %t7460 = load ptr, ptr %t7447 %t7461 = getelementptr inbounds ptr, ptr %t7460, i32 %t7448 store ptr @.str7296, ptr %t7461 %t7462 = add i32 %t7448, 1 store i32 %t7462, ptr %t7445 br label %ifend1571 ifend1571: %t7463 = load ptr, ptr %t1 %t7464 = call i32 @lp_str_eq(ptr %t7463, ptr @.str7297) %t7465 = icmp ne i32 %t7464, 0 br i1 %t7465, label %then1576, label %ifend1578 then1576: store ptr @.str7298, ptr %t380 %t7466 = load ptr, ptr %t387 %t7467 = getelementptr inbounds %LSlice, ptr %t7466, i32 0, i32 1 %t7468 = getelementptr inbounds %LSlice, ptr %t7466, i32 0, i32 2 %t7469 = getelementptr inbounds %LSlice, ptr %t7466, i32 0, i32 0 %t7470 = load i32, ptr %t7467 %t7471 = load i32, ptr %t7468 %t7472 = icmp sge i32 %t7470, %t7471 br i1 %t7472, label %grow1579, label %put1580 grow1579: %t7473 = mul i32 %t7471, 2 %t7474 = icmp eq i32 %t7471, 0 %t7475 = select i1 %t7474, i32 8, i32 %t7473 %t7476 = getelementptr ptr, ptr null, i32 1 %t7477 = ptrtoint ptr %t7476 to i64 %t7478 = zext i32 %t7475 to i64 %t7479 = mul i64 %t7478, %t7477 %t7480 = load ptr, ptr %t7469 %t7481 = call ptr @realloc(ptr %t7480, i64 %t7479) store ptr %t7481, ptr %t7469 store i32 %t7475, ptr %t7468 br label %put1580 put1580: %t7482 = load ptr, ptr %t7469 %t7483 = getelementptr inbounds ptr, ptr %t7482, i32 %t7470 store ptr @.str7299, ptr %t7483 %t7484 = add i32 %t7470, 1 store i32 %t7484, ptr %t7467 %t7485 = load ptr, ptr %t387 %t7486 = getelementptr inbounds %LSlice, ptr %t7485, i32 0, i32 1 %t7487 = getelementptr inbounds %LSlice, ptr %t7485, i32 0, i32 2 %t7488 = getelementptr inbounds %LSlice, ptr %t7485, i32 0, i32 0 %t7489 = load i32, ptr %t7486 %t7490 = load i32, ptr %t7487 %t7491 = icmp sge i32 %t7489, %t7490 br i1 %t7491, label %grow1581, label %put1582 grow1581: %t7492 = mul i32 %t7490, 2 %t7493 = icmp eq i32 %t7490, 0 %t7494 = select i1 %t7493, i32 8, i32 %t7492 %t7495 = getelementptr ptr, ptr null, i32 1 %t7496 = ptrtoint ptr %t7495 to i64 %t7497 = zext i32 %t7494 to i64 %t7498 = mul i64 %t7497, %t7496 %t7499 = load ptr, ptr %t7488 %t7500 = call ptr @realloc(ptr %t7499, i64 %t7498) store ptr %t7500, ptr %t7488 store i32 %t7494, ptr %t7487 br label %put1582 put1582: %t7501 = load ptr, ptr %t7488 %t7502 = getelementptr inbounds ptr, ptr %t7501, i32 %t7489 store ptr @.str7300, ptr %t7502 %t7503 = add i32 %t7489, 1 store i32 %t7503, ptr %t7486 br label %ifend1578 ifend1578: %t7504 = load ptr, ptr %t1 %t7505 = call i32 @lp_str_eq(ptr %t7504, ptr @.str7301) %t7506 = icmp ne i32 %t7505, 0 br i1 %t7506, label %then1583, label %ifend1585 then1583: store ptr @.str7302, ptr %t380 %t7507 = load ptr, ptr %t387 %t7508 = getelementptr inbounds %LSlice, ptr %t7507, i32 0, i32 1 %t7509 = getelementptr inbounds %LSlice, ptr %t7507, i32 0, i32 2 %t7510 = getelementptr inbounds %LSlice, ptr %t7507, i32 0, i32 0 %t7511 = load i32, ptr %t7508 %t7512 = load i32, ptr %t7509 %t7513 = icmp sge i32 %t7511, %t7512 br i1 %t7513, label %grow1586, label %put1587 grow1586: %t7514 = mul i32 %t7512, 2 %t7515 = icmp eq i32 %t7512, 0 %t7516 = select i1 %t7515, i32 8, i32 %t7514 %t7517 = getelementptr ptr, ptr null, i32 1 %t7518 = ptrtoint ptr %t7517 to i64 %t7519 = zext i32 %t7516 to i64 %t7520 = mul i64 %t7519, %t7518 %t7521 = load ptr, ptr %t7510 %t7522 = call ptr @realloc(ptr %t7521, i64 %t7520) store ptr %t7522, ptr %t7510 store i32 %t7516, ptr %t7509 br label %put1587 put1587: %t7523 = load ptr, ptr %t7510 %t7524 = getelementptr inbounds ptr, ptr %t7523, i32 %t7511 store ptr @.str7303, ptr %t7524 %t7525 = add i32 %t7511, 1 store i32 %t7525, ptr %t7508 %t7526 = load ptr, ptr %t387 %t7527 = getelementptr inbounds %LSlice, ptr %t7526, i32 0, i32 1 %t7528 = getelementptr inbounds %LSlice, ptr %t7526, i32 0, i32 2 %t7529 = getelementptr inbounds %LSlice, ptr %t7526, i32 0, i32 0 %t7530 = load i32, ptr %t7527 %t7531 = load i32, ptr %t7528 %t7532 = icmp sge i32 %t7530, %t7531 br i1 %t7532, label %grow1588, label %put1589 grow1588: %t7533 = mul i32 %t7531, 2 %t7534 = icmp eq i32 %t7531, 0 %t7535 = select i1 %t7534, i32 8, i32 %t7533 %t7536 = getelementptr ptr, ptr null, i32 1 %t7537 = ptrtoint ptr %t7536 to i64 %t7538 = zext i32 %t7535 to i64 %t7539 = mul i64 %t7538, %t7537 %t7540 = load ptr, ptr %t7529 %t7541 = call ptr @realloc(ptr %t7540, i64 %t7539) store ptr %t7541, ptr %t7529 store i32 %t7535, ptr %t7528 br label %put1589 put1589: %t7542 = load ptr, ptr %t7529 %t7543 = getelementptr inbounds ptr, ptr %t7542, i32 %t7530 store ptr @.str7304, ptr %t7543 %t7544 = add i32 %t7530, 1 store i32 %t7544, ptr %t7527 br label %ifend1585 ifend1585: %t7545 = load ptr, ptr %t1 %t7546 = call i32 @lp_str_eq(ptr %t7545, ptr @.str7305) %t7547 = icmp ne i32 %t7546, 0 br i1 %t7547, label %then1590, label %ifend1592 then1590: store ptr @.str7306, ptr %t380 %t7548 = load ptr, ptr %t387 %t7549 = getelementptr inbounds %LSlice, ptr %t7548, i32 0, i32 1 %t7550 = getelementptr inbounds %LSlice, ptr %t7548, i32 0, i32 2 %t7551 = getelementptr inbounds %LSlice, ptr %t7548, i32 0, i32 0 %t7552 = load i32, ptr %t7549 %t7553 = load i32, ptr %t7550 %t7554 = icmp sge i32 %t7552, %t7553 br i1 %t7554, label %grow1593, label %put1594 grow1593: %t7555 = mul i32 %t7553, 2 %t7556 = icmp eq i32 %t7553, 0 %t7557 = select i1 %t7556, i32 8, i32 %t7555 %t7558 = getelementptr ptr, ptr null, i32 1 %t7559 = ptrtoint ptr %t7558 to i64 %t7560 = zext i32 %t7557 to i64 %t7561 = mul i64 %t7560, %t7559 %t7562 = load ptr, ptr %t7551 %t7563 = call ptr @realloc(ptr %t7562, i64 %t7561) store ptr %t7563, ptr %t7551 store i32 %t7557, ptr %t7550 br label %put1594 put1594: %t7564 = load ptr, ptr %t7551 %t7565 = getelementptr inbounds ptr, ptr %t7564, i32 %t7552 store ptr @.str7307, ptr %t7565 %t7566 = add i32 %t7552, 1 store i32 %t7566, ptr %t7549 %t7567 = load ptr, ptr %t387 %t7568 = getelementptr inbounds %LSlice, ptr %t7567, i32 0, i32 1 %t7569 = getelementptr inbounds %LSlice, ptr %t7567, i32 0, i32 2 %t7570 = getelementptr inbounds %LSlice, ptr %t7567, i32 0, i32 0 %t7571 = load i32, ptr %t7568 %t7572 = load i32, ptr %t7569 %t7573 = icmp sge i32 %t7571, %t7572 br i1 %t7573, label %grow1595, label %put1596 grow1595: %t7574 = mul i32 %t7572, 2 %t7575 = icmp eq i32 %t7572, 0 %t7576 = select i1 %t7575, i32 8, i32 %t7574 %t7577 = getelementptr ptr, ptr null, i32 1 %t7578 = ptrtoint ptr %t7577 to i64 %t7579 = zext i32 %t7576 to i64 %t7580 = mul i64 %t7579, %t7578 %t7581 = load ptr, ptr %t7570 %t7582 = call ptr @realloc(ptr %t7581, i64 %t7580) store ptr %t7582, ptr %t7570 store i32 %t7576, ptr %t7569 br label %put1596 put1596: %t7583 = load ptr, ptr %t7570 %t7584 = getelementptr inbounds ptr, ptr %t7583, i32 %t7571 store ptr @.str7308, ptr %t7584 %t7585 = add i32 %t7571, 1 store i32 %t7585, ptr %t7568 br label %ifend1592 ifend1592: %t7586 = load ptr, ptr %t1 %t7587 = call i32 @lp_str_eq(ptr %t7586, ptr @.str7309) %t7588 = icmp ne i32 %t7587, 0 br i1 %t7588, label %then1597, label %ifend1599 then1597: store ptr @.str7310, ptr %t380 %t7589 = load ptr, ptr %t387 %t7590 = getelementptr inbounds %LSlice, ptr %t7589, i32 0, i32 1 %t7591 = getelementptr inbounds %LSlice, ptr %t7589, i32 0, i32 2 %t7592 = getelementptr inbounds %LSlice, ptr %t7589, i32 0, i32 0 %t7593 = load i32, ptr %t7590 %t7594 = load i32, ptr %t7591 %t7595 = icmp sge i32 %t7593, %t7594 br i1 %t7595, label %grow1600, label %put1601 grow1600: %t7596 = mul i32 %t7594, 2 %t7597 = icmp eq i32 %t7594, 0 %t7598 = select i1 %t7597, i32 8, i32 %t7596 %t7599 = getelementptr ptr, ptr null, i32 1 %t7600 = ptrtoint ptr %t7599 to i64 %t7601 = zext i32 %t7598 to i64 %t7602 = mul i64 %t7601, %t7600 %t7603 = load ptr, ptr %t7592 %t7604 = call ptr @realloc(ptr %t7603, i64 %t7602) store ptr %t7604, ptr %t7592 store i32 %t7598, ptr %t7591 br label %put1601 put1601: %t7605 = load ptr, ptr %t7592 %t7606 = getelementptr inbounds ptr, ptr %t7605, i32 %t7593 store ptr @.str7311, ptr %t7606 %t7607 = add i32 %t7593, 1 store i32 %t7607, ptr %t7590 br label %ifend1599 ifend1599: %t7608 = load ptr, ptr %t1 %t7609 = call i32 @lp_str_eq(ptr %t7608, ptr @.str7312) %t7610 = icmp ne i32 %t7609, 0 br i1 %t7610, label %then1602, label %ifend1604 then1602: store ptr @.str7313, ptr %t380 %t7611 = load ptr, ptr %t387 %t7612 = getelementptr inbounds %LSlice, ptr %t7611, i32 0, i32 1 %t7613 = getelementptr inbounds %LSlice, ptr %t7611, i32 0, i32 2 %t7614 = getelementptr inbounds %LSlice, ptr %t7611, i32 0, i32 0 %t7615 = load i32, ptr %t7612 %t7616 = load i32, ptr %t7613 %t7617 = icmp sge i32 %t7615, %t7616 br i1 %t7617, label %grow1605, label %put1606 grow1605: %t7618 = mul i32 %t7616, 2 %t7619 = icmp eq i32 %t7616, 0 %t7620 = select i1 %t7619, i32 8, i32 %t7618 %t7621 = getelementptr ptr, ptr null, i32 1 %t7622 = ptrtoint ptr %t7621 to i64 %t7623 = zext i32 %t7620 to i64 %t7624 = mul i64 %t7623, %t7622 %t7625 = load ptr, ptr %t7614 %t7626 = call ptr @realloc(ptr %t7625, i64 %t7624) store ptr %t7626, ptr %t7614 store i32 %t7620, ptr %t7613 br label %put1606 put1606: %t7627 = load ptr, ptr %t7614 %t7628 = getelementptr inbounds ptr, ptr %t7627, i32 %t7615 store ptr @.str7314, ptr %t7628 %t7629 = add i32 %t7615, 1 store i32 %t7629, ptr %t7612 br label %ifend1604 ifend1604: %t7630 = load ptr, ptr %t1 %t7631 = call i32 @lp_str_eq(ptr %t7630, ptr @.str7315) %t7632 = icmp ne i32 %t7631, 0 br i1 %t7632, label %then1607, label %ifend1609 then1607: store ptr @.str7316, ptr %t380 %t7633 = load ptr, ptr %t387 %t7634 = getelementptr inbounds %LSlice, ptr %t7633, i32 0, i32 1 %t7635 = getelementptr inbounds %LSlice, ptr %t7633, i32 0, i32 2 %t7636 = getelementptr inbounds %LSlice, ptr %t7633, i32 0, i32 0 %t7637 = load i32, ptr %t7634 %t7638 = load i32, ptr %t7635 %t7639 = icmp sge i32 %t7637, %t7638 br i1 %t7639, label %grow1610, label %put1611 grow1610: %t7640 = mul i32 %t7638, 2 %t7641 = icmp eq i32 %t7638, 0 %t7642 = select i1 %t7641, i32 8, i32 %t7640 %t7643 = getelementptr ptr, ptr null, i32 1 %t7644 = ptrtoint ptr %t7643 to i64 %t7645 = zext i32 %t7642 to i64 %t7646 = mul i64 %t7645, %t7644 %t7647 = load ptr, ptr %t7636 %t7648 = call ptr @realloc(ptr %t7647, i64 %t7646) store ptr %t7648, ptr %t7636 store i32 %t7642, ptr %t7635 br label %put1611 put1611: %t7649 = load ptr, ptr %t7636 %t7650 = getelementptr inbounds ptr, ptr %t7649, i32 %t7637 store ptr @.str7317, ptr %t7650 %t7651 = add i32 %t7637, 1 store i32 %t7651, ptr %t7634 br label %ifend1609 ifend1609: br label %ifend1525 ifend1525: %t7652 = load ptr, ptr %t0 %t7653 = call i32 @lp_str_eq(ptr %t7652, ptr @.str7318) %t7654 = icmp ne i32 %t7653, 0 br i1 %t7654, label %then1612, label %ifend1614 then1612: %t7655 = load ptr, ptr %t1 %t7656 = call i32 @lp_str_eq(ptr %t7655, ptr @.str7319) %t7657 = icmp ne i32 %t7656, 0 br i1 %t7657, label %then1615, label %ifend1617 then1615: store ptr @.str7320, ptr %t380 %t7658 = load ptr, ptr %t387 %t7659 = getelementptr inbounds %LSlice, ptr %t7658, i32 0, i32 1 %t7660 = getelementptr inbounds %LSlice, ptr %t7658, i32 0, i32 2 %t7661 = getelementptr inbounds %LSlice, ptr %t7658, i32 0, i32 0 %t7662 = load i32, ptr %t7659 %t7663 = load i32, ptr %t7660 %t7664 = icmp sge i32 %t7662, %t7663 br i1 %t7664, label %grow1618, label %put1619 grow1618: %t7665 = mul i32 %t7663, 2 %t7666 = icmp eq i32 %t7663, 0 %t7667 = select i1 %t7666, i32 8, i32 %t7665 %t7668 = getelementptr ptr, ptr null, i32 1 %t7669 = ptrtoint ptr %t7668 to i64 %t7670 = zext i32 %t7667 to i64 %t7671 = mul i64 %t7670, %t7669 %t7672 = load ptr, ptr %t7661 %t7673 = call ptr @realloc(ptr %t7672, i64 %t7671) store ptr %t7673, ptr %t7661 store i32 %t7667, ptr %t7660 br label %put1619 put1619: %t7674 = load ptr, ptr %t7661 %t7675 = getelementptr inbounds ptr, ptr %t7674, i32 %t7662 store ptr @.str7321, ptr %t7675 %t7676 = add i32 %t7662, 1 store i32 %t7676, ptr %t7659 br label %ifend1617 ifend1617: %t7677 = load ptr, ptr %t1 %t7678 = call i32 @lp_str_eq(ptr %t7677, ptr @.str7322) %t7679 = icmp ne i32 %t7678, 0 br i1 %t7679, label %then1620, label %ifend1622 then1620: store ptr @.str7323, ptr %t380 %t7680 = load ptr, ptr %t387 %t7681 = getelementptr inbounds %LSlice, ptr %t7680, i32 0, i32 1 %t7682 = getelementptr inbounds %LSlice, ptr %t7680, i32 0, i32 2 %t7683 = getelementptr inbounds %LSlice, ptr %t7680, i32 0, i32 0 %t7684 = load i32, ptr %t7681 %t7685 = load i32, ptr %t7682 %t7686 = icmp sge i32 %t7684, %t7685 br i1 %t7686, label %grow1623, label %put1624 grow1623: %t7687 = mul i32 %t7685, 2 %t7688 = icmp eq i32 %t7685, 0 %t7689 = select i1 %t7688, i32 8, i32 %t7687 %t7690 = getelementptr ptr, ptr null, i32 1 %t7691 = ptrtoint ptr %t7690 to i64 %t7692 = zext i32 %t7689 to i64 %t7693 = mul i64 %t7692, %t7691 %t7694 = load ptr, ptr %t7683 %t7695 = call ptr @realloc(ptr %t7694, i64 %t7693) store ptr %t7695, ptr %t7683 store i32 %t7689, ptr %t7682 br label %put1624 put1624: %t7696 = load ptr, ptr %t7683 %t7697 = getelementptr inbounds ptr, ptr %t7696, i32 %t7684 store ptr @.str7324, ptr %t7697 %t7698 = add i32 %t7684, 1 store i32 %t7698, ptr %t7681 br label %ifend1622 ifend1622: %t7699 = load ptr, ptr %t1 %t7700 = call i32 @lp_str_eq(ptr %t7699, ptr @.str7325) %t7701 = icmp ne i32 %t7700, 0 br i1 %t7701, label %then1625, label %ifend1627 then1625: store ptr @.str7326, ptr %t380 %t7702 = load ptr, ptr %t387 %t7703 = getelementptr inbounds %LSlice, ptr %t7702, i32 0, i32 1 %t7704 = getelementptr inbounds %LSlice, ptr %t7702, i32 0, i32 2 %t7705 = getelementptr inbounds %LSlice, ptr %t7702, i32 0, i32 0 %t7706 = load i32, ptr %t7703 %t7707 = load i32, ptr %t7704 %t7708 = icmp sge i32 %t7706, %t7707 br i1 %t7708, label %grow1628, label %put1629 grow1628: %t7709 = mul i32 %t7707, 2 %t7710 = icmp eq i32 %t7707, 0 %t7711 = select i1 %t7710, i32 8, i32 %t7709 %t7712 = getelementptr ptr, ptr null, i32 1 %t7713 = ptrtoint ptr %t7712 to i64 %t7714 = zext i32 %t7711 to i64 %t7715 = mul i64 %t7714, %t7713 %t7716 = load ptr, ptr %t7705 %t7717 = call ptr @realloc(ptr %t7716, i64 %t7715) store ptr %t7717, ptr %t7705 store i32 %t7711, ptr %t7704 br label %put1629 put1629: %t7718 = load ptr, ptr %t7705 %t7719 = getelementptr inbounds ptr, ptr %t7718, i32 %t7706 store ptr @.str7327, ptr %t7719 %t7720 = add i32 %t7706, 1 store i32 %t7720, ptr %t7703 %t7721 = load ptr, ptr %t387 %t7722 = getelementptr inbounds %LSlice, ptr %t7721, i32 0, i32 1 %t7723 = getelementptr inbounds %LSlice, ptr %t7721, i32 0, i32 2 %t7724 = getelementptr inbounds %LSlice, ptr %t7721, i32 0, i32 0 %t7725 = load i32, ptr %t7722 %t7726 = load i32, ptr %t7723 %t7727 = icmp sge i32 %t7725, %t7726 br i1 %t7727, label %grow1630, label %put1631 grow1630: %t7728 = mul i32 %t7726, 2 %t7729 = icmp eq i32 %t7726, 0 %t7730 = select i1 %t7729, i32 8, i32 %t7728 %t7731 = getelementptr ptr, ptr null, i32 1 %t7732 = ptrtoint ptr %t7731 to i64 %t7733 = zext i32 %t7730 to i64 %t7734 = mul i64 %t7733, %t7732 %t7735 = load ptr, ptr %t7724 %t7736 = call ptr @realloc(ptr %t7735, i64 %t7734) store ptr %t7736, ptr %t7724 store i32 %t7730, ptr %t7723 br label %put1631 put1631: %t7737 = load ptr, ptr %t7724 %t7738 = getelementptr inbounds ptr, ptr %t7737, i32 %t7725 store ptr @.str7328, ptr %t7738 %t7739 = add i32 %t7725, 1 store i32 %t7739, ptr %t7722 br label %ifend1627 ifend1627: %t7740 = load ptr, ptr %t1 %t7741 = call i32 @lp_str_eq(ptr %t7740, ptr @.str7329) %t7742 = icmp ne i32 %t7741, 0 br i1 %t7742, label %then1632, label %ifend1634 then1632: store ptr @.str7330, ptr %t380 %t7743 = load ptr, ptr %t387 %t7744 = getelementptr inbounds %LSlice, ptr %t7743, i32 0, i32 1 %t7745 = getelementptr inbounds %LSlice, ptr %t7743, i32 0, i32 2 %t7746 = getelementptr inbounds %LSlice, ptr %t7743, i32 0, i32 0 %t7747 = load i32, ptr %t7744 %t7748 = load i32, ptr %t7745 %t7749 = icmp sge i32 %t7747, %t7748 br i1 %t7749, label %grow1635, label %put1636 grow1635: %t7750 = mul i32 %t7748, 2 %t7751 = icmp eq i32 %t7748, 0 %t7752 = select i1 %t7751, i32 8, i32 %t7750 %t7753 = getelementptr ptr, ptr null, i32 1 %t7754 = ptrtoint ptr %t7753 to i64 %t7755 = zext i32 %t7752 to i64 %t7756 = mul i64 %t7755, %t7754 %t7757 = load ptr, ptr %t7746 %t7758 = call ptr @realloc(ptr %t7757, i64 %t7756) store ptr %t7758, ptr %t7746 store i32 %t7752, ptr %t7745 br label %put1636 put1636: %t7759 = load ptr, ptr %t7746 %t7760 = getelementptr inbounds ptr, ptr %t7759, i32 %t7747 store ptr @.str7331, ptr %t7760 %t7761 = add i32 %t7747, 1 store i32 %t7761, ptr %t7744 %t7762 = load ptr, ptr %t387 %t7763 = getelementptr inbounds %LSlice, ptr %t7762, i32 0, i32 1 %t7764 = getelementptr inbounds %LSlice, ptr %t7762, i32 0, i32 2 %t7765 = getelementptr inbounds %LSlice, ptr %t7762, i32 0, i32 0 %t7766 = load i32, ptr %t7763 %t7767 = load i32, ptr %t7764 %t7768 = icmp sge i32 %t7766, %t7767 br i1 %t7768, label %grow1637, label %put1638 grow1637: %t7769 = mul i32 %t7767, 2 %t7770 = icmp eq i32 %t7767, 0 %t7771 = select i1 %t7770, i32 8, i32 %t7769 %t7772 = getelementptr ptr, ptr null, i32 1 %t7773 = ptrtoint ptr %t7772 to i64 %t7774 = zext i32 %t7771 to i64 %t7775 = mul i64 %t7774, %t7773 %t7776 = load ptr, ptr %t7765 %t7777 = call ptr @realloc(ptr %t7776, i64 %t7775) store ptr %t7777, ptr %t7765 store i32 %t7771, ptr %t7764 br label %put1638 put1638: %t7778 = load ptr, ptr %t7765 %t7779 = getelementptr inbounds ptr, ptr %t7778, i32 %t7766 store ptr @.str7332, ptr %t7779 %t7780 = add i32 %t7766, 1 store i32 %t7780, ptr %t7763 br label %ifend1634 ifend1634: %t7781 = load ptr, ptr %t1 %t7782 = call i32 @lp_str_eq(ptr %t7781, ptr @.str7333) %t7783 = icmp ne i32 %t7782, 0 br i1 %t7783, label %then1639, label %ifend1641 then1639: store ptr @.str7334, ptr %t380 %t7784 = load ptr, ptr %t387 %t7785 = getelementptr inbounds %LSlice, ptr %t7784, i32 0, i32 1 %t7786 = getelementptr inbounds %LSlice, ptr %t7784, i32 0, i32 2 %t7787 = getelementptr inbounds %LSlice, ptr %t7784, i32 0, i32 0 %t7788 = load i32, ptr %t7785 %t7789 = load i32, ptr %t7786 %t7790 = icmp sge i32 %t7788, %t7789 br i1 %t7790, label %grow1642, label %put1643 grow1642: %t7791 = mul i32 %t7789, 2 %t7792 = icmp eq i32 %t7789, 0 %t7793 = select i1 %t7792, i32 8, i32 %t7791 %t7794 = getelementptr ptr, ptr null, i32 1 %t7795 = ptrtoint ptr %t7794 to i64 %t7796 = zext i32 %t7793 to i64 %t7797 = mul i64 %t7796, %t7795 %t7798 = load ptr, ptr %t7787 %t7799 = call ptr @realloc(ptr %t7798, i64 %t7797) store ptr %t7799, ptr %t7787 store i32 %t7793, ptr %t7786 br label %put1643 put1643: %t7800 = load ptr, ptr %t7787 %t7801 = getelementptr inbounds ptr, ptr %t7800, i32 %t7788 store ptr @.str7335, ptr %t7801 %t7802 = add i32 %t7788, 1 store i32 %t7802, ptr %t7785 %t7803 = load ptr, ptr %t387 %t7804 = getelementptr inbounds %LSlice, ptr %t7803, i32 0, i32 1 %t7805 = getelementptr inbounds %LSlice, ptr %t7803, i32 0, i32 2 %t7806 = getelementptr inbounds %LSlice, ptr %t7803, i32 0, i32 0 %t7807 = load i32, ptr %t7804 %t7808 = load i32, ptr %t7805 %t7809 = icmp sge i32 %t7807, %t7808 br i1 %t7809, label %grow1644, label %put1645 grow1644: %t7810 = mul i32 %t7808, 2 %t7811 = icmp eq i32 %t7808, 0 %t7812 = select i1 %t7811, i32 8, i32 %t7810 %t7813 = getelementptr ptr, ptr null, i32 1 %t7814 = ptrtoint ptr %t7813 to i64 %t7815 = zext i32 %t7812 to i64 %t7816 = mul i64 %t7815, %t7814 %t7817 = load ptr, ptr %t7806 %t7818 = call ptr @realloc(ptr %t7817, i64 %t7816) store ptr %t7818, ptr %t7806 store i32 %t7812, ptr %t7805 br label %put1645 put1645: %t7819 = load ptr, ptr %t7806 %t7820 = getelementptr inbounds ptr, ptr %t7819, i32 %t7807 store ptr @.str7336, ptr %t7820 %t7821 = add i32 %t7807, 1 store i32 %t7821, ptr %t7804 br label %ifend1641 ifend1641: %t7822 = load ptr, ptr %t1 %t7823 = call i32 @lp_str_eq(ptr %t7822, ptr @.str7337) %t7824 = icmp ne i32 %t7823, 0 br i1 %t7824, label %then1646, label %ifend1648 then1646: store ptr @.str7338, ptr %t380 %t7825 = load ptr, ptr %t387 %t7826 = getelementptr inbounds %LSlice, ptr %t7825, i32 0, i32 1 %t7827 = getelementptr inbounds %LSlice, ptr %t7825, i32 0, i32 2 %t7828 = getelementptr inbounds %LSlice, ptr %t7825, i32 0, i32 0 %t7829 = load i32, ptr %t7826 %t7830 = load i32, ptr %t7827 %t7831 = icmp sge i32 %t7829, %t7830 br i1 %t7831, label %grow1649, label %put1650 grow1649: %t7832 = mul i32 %t7830, 2 %t7833 = icmp eq i32 %t7830, 0 %t7834 = select i1 %t7833, i32 8, i32 %t7832 %t7835 = getelementptr ptr, ptr null, i32 1 %t7836 = ptrtoint ptr %t7835 to i64 %t7837 = zext i32 %t7834 to i64 %t7838 = mul i64 %t7837, %t7836 %t7839 = load ptr, ptr %t7828 %t7840 = call ptr @realloc(ptr %t7839, i64 %t7838) store ptr %t7840, ptr %t7828 store i32 %t7834, ptr %t7827 br label %put1650 put1650: %t7841 = load ptr, ptr %t7828 %t7842 = getelementptr inbounds ptr, ptr %t7841, i32 %t7829 store ptr @.str7339, ptr %t7842 %t7843 = add i32 %t7829, 1 store i32 %t7843, ptr %t7826 br label %ifend1648 ifend1648: %t7844 = load ptr, ptr %t1 %t7845 = call i32 @lp_str_eq(ptr %t7844, ptr @.str7340) %t7846 = icmp ne i32 %t7845, 0 br i1 %t7846, label %then1651, label %ifend1653 then1651: store ptr @.str7341, ptr %t380 %t7847 = load ptr, ptr %t387 %t7848 = getelementptr inbounds %LSlice, ptr %t7847, i32 0, i32 1 %t7849 = getelementptr inbounds %LSlice, ptr %t7847, i32 0, i32 2 %t7850 = getelementptr inbounds %LSlice, ptr %t7847, i32 0, i32 0 %t7851 = load i32, ptr %t7848 %t7852 = load i32, ptr %t7849 %t7853 = icmp sge i32 %t7851, %t7852 br i1 %t7853, label %grow1654, label %put1655 grow1654: %t7854 = mul i32 %t7852, 2 %t7855 = icmp eq i32 %t7852, 0 %t7856 = select i1 %t7855, i32 8, i32 %t7854 %t7857 = getelementptr ptr, ptr null, i32 1 %t7858 = ptrtoint ptr %t7857 to i64 %t7859 = zext i32 %t7856 to i64 %t7860 = mul i64 %t7859, %t7858 %t7861 = load ptr, ptr %t7850 %t7862 = call ptr @realloc(ptr %t7861, i64 %t7860) store ptr %t7862, ptr %t7850 store i32 %t7856, ptr %t7849 br label %put1655 put1655: %t7863 = load ptr, ptr %t7850 %t7864 = getelementptr inbounds ptr, ptr %t7863, i32 %t7851 store ptr @.str7342, ptr %t7864 %t7865 = add i32 %t7851, 1 store i32 %t7865, ptr %t7848 %t7866 = load ptr, ptr %t387 %t7867 = getelementptr inbounds %LSlice, ptr %t7866, i32 0, i32 1 %t7868 = getelementptr inbounds %LSlice, ptr %t7866, i32 0, i32 2 %t7869 = getelementptr inbounds %LSlice, ptr %t7866, i32 0, i32 0 %t7870 = load i32, ptr %t7867 %t7871 = load i32, ptr %t7868 %t7872 = icmp sge i32 %t7870, %t7871 br i1 %t7872, label %grow1656, label %put1657 grow1656: %t7873 = mul i32 %t7871, 2 %t7874 = icmp eq i32 %t7871, 0 %t7875 = select i1 %t7874, i32 8, i32 %t7873 %t7876 = getelementptr ptr, ptr null, i32 1 %t7877 = ptrtoint ptr %t7876 to i64 %t7878 = zext i32 %t7875 to i64 %t7879 = mul i64 %t7878, %t7877 %t7880 = load ptr, ptr %t7869 %t7881 = call ptr @realloc(ptr %t7880, i64 %t7879) store ptr %t7881, ptr %t7869 store i32 %t7875, ptr %t7868 br label %put1657 put1657: %t7882 = load ptr, ptr %t7869 %t7883 = getelementptr inbounds ptr, ptr %t7882, i32 %t7870 store ptr @.str7343, ptr %t7883 %t7884 = add i32 %t7870, 1 store i32 %t7884, ptr %t7867 br label %ifend1653 ifend1653: %t7885 = load ptr, ptr %t1 %t7886 = call i32 @lp_str_eq(ptr %t7885, ptr @.str7344) %t7887 = icmp ne i32 %t7886, 0 br i1 %t7887, label %then1658, label %ifend1660 then1658: store ptr @.str7345, ptr %t380 %t7888 = load ptr, ptr %t387 %t7889 = getelementptr inbounds %LSlice, ptr %t7888, i32 0, i32 1 %t7890 = getelementptr inbounds %LSlice, ptr %t7888, i32 0, i32 2 %t7891 = getelementptr inbounds %LSlice, ptr %t7888, i32 0, i32 0 %t7892 = load i32, ptr %t7889 %t7893 = load i32, ptr %t7890 %t7894 = icmp sge i32 %t7892, %t7893 br i1 %t7894, label %grow1661, label %put1662 grow1661: %t7895 = mul i32 %t7893, 2 %t7896 = icmp eq i32 %t7893, 0 %t7897 = select i1 %t7896, i32 8, i32 %t7895 %t7898 = getelementptr ptr, ptr null, i32 1 %t7899 = ptrtoint ptr %t7898 to i64 %t7900 = zext i32 %t7897 to i64 %t7901 = mul i64 %t7900, %t7899 %t7902 = load ptr, ptr %t7891 %t7903 = call ptr @realloc(ptr %t7902, i64 %t7901) store ptr %t7903, ptr %t7891 store i32 %t7897, ptr %t7890 br label %put1662 put1662: %t7904 = load ptr, ptr %t7891 %t7905 = getelementptr inbounds ptr, ptr %t7904, i32 %t7892 store ptr @.str7346, ptr %t7905 %t7906 = add i32 %t7892, 1 store i32 %t7906, ptr %t7889 %t7907 = load ptr, ptr %t387 %t7908 = getelementptr inbounds %LSlice, ptr %t7907, i32 0, i32 1 %t7909 = getelementptr inbounds %LSlice, ptr %t7907, i32 0, i32 2 %t7910 = getelementptr inbounds %LSlice, ptr %t7907, i32 0, i32 0 %t7911 = load i32, ptr %t7908 %t7912 = load i32, ptr %t7909 %t7913 = icmp sge i32 %t7911, %t7912 br i1 %t7913, label %grow1663, label %put1664 grow1663: %t7914 = mul i32 %t7912, 2 %t7915 = icmp eq i32 %t7912, 0 %t7916 = select i1 %t7915, i32 8, i32 %t7914 %t7917 = getelementptr ptr, ptr null, i32 1 %t7918 = ptrtoint ptr %t7917 to i64 %t7919 = zext i32 %t7916 to i64 %t7920 = mul i64 %t7919, %t7918 %t7921 = load ptr, ptr %t7910 %t7922 = call ptr @realloc(ptr %t7921, i64 %t7920) store ptr %t7922, ptr %t7910 store i32 %t7916, ptr %t7909 br label %put1664 put1664: %t7923 = load ptr, ptr %t7910 %t7924 = getelementptr inbounds ptr, ptr %t7923, i32 %t7911 store ptr @.str7347, ptr %t7924 %t7925 = add i32 %t7911, 1 store i32 %t7925, ptr %t7908 br label %ifend1660 ifend1660: %t7926 = load ptr, ptr %t1 %t7927 = call i32 @lp_str_eq(ptr %t7926, ptr @.str7348) %t7928 = icmp ne i32 %t7927, 0 br i1 %t7928, label %then1665, label %ifend1667 then1665: store ptr @.str7349, ptr %t380 %t7929 = load ptr, ptr %t387 %t7930 = getelementptr inbounds %LSlice, ptr %t7929, i32 0, i32 1 %t7931 = getelementptr inbounds %LSlice, ptr %t7929, i32 0, i32 2 %t7932 = getelementptr inbounds %LSlice, ptr %t7929, i32 0, i32 0 %t7933 = load i32, ptr %t7930 %t7934 = load i32, ptr %t7931 %t7935 = icmp sge i32 %t7933, %t7934 br i1 %t7935, label %grow1668, label %put1669 grow1668: %t7936 = mul i32 %t7934, 2 %t7937 = icmp eq i32 %t7934, 0 %t7938 = select i1 %t7937, i32 8, i32 %t7936 %t7939 = getelementptr ptr, ptr null, i32 1 %t7940 = ptrtoint ptr %t7939 to i64 %t7941 = zext i32 %t7938 to i64 %t7942 = mul i64 %t7941, %t7940 %t7943 = load ptr, ptr %t7932 %t7944 = call ptr @realloc(ptr %t7943, i64 %t7942) store ptr %t7944, ptr %t7932 store i32 %t7938, ptr %t7931 br label %put1669 put1669: %t7945 = load ptr, ptr %t7932 %t7946 = getelementptr inbounds ptr, ptr %t7945, i32 %t7933 store ptr @.str7350, ptr %t7946 %t7947 = add i32 %t7933, 1 store i32 %t7947, ptr %t7930 br label %ifend1667 ifend1667: %t7948 = load ptr, ptr %t1 %t7949 = call i32 @lp_str_eq(ptr %t7948, ptr @.str7351) %t7950 = icmp ne i32 %t7949, 0 br i1 %t7950, label %then1670, label %ifend1672 then1670: store ptr @.str7352, ptr %t380 %t7951 = load ptr, ptr %t387 %t7952 = getelementptr inbounds %LSlice, ptr %t7951, i32 0, i32 1 %t7953 = getelementptr inbounds %LSlice, ptr %t7951, i32 0, i32 2 %t7954 = getelementptr inbounds %LSlice, ptr %t7951, i32 0, i32 0 %t7955 = load i32, ptr %t7952 %t7956 = load i32, ptr %t7953 %t7957 = icmp sge i32 %t7955, %t7956 br i1 %t7957, label %grow1673, label %put1674 grow1673: %t7958 = mul i32 %t7956, 2 %t7959 = icmp eq i32 %t7956, 0 %t7960 = select i1 %t7959, i32 8, i32 %t7958 %t7961 = getelementptr ptr, ptr null, i32 1 %t7962 = ptrtoint ptr %t7961 to i64 %t7963 = zext i32 %t7960 to i64 %t7964 = mul i64 %t7963, %t7962 %t7965 = load ptr, ptr %t7954 %t7966 = call ptr @realloc(ptr %t7965, i64 %t7964) store ptr %t7966, ptr %t7954 store i32 %t7960, ptr %t7953 br label %put1674 put1674: %t7967 = load ptr, ptr %t7954 %t7968 = getelementptr inbounds ptr, ptr %t7967, i32 %t7955 store ptr @.str7353, ptr %t7968 %t7969 = add i32 %t7955, 1 store i32 %t7969, ptr %t7952 %t7970 = load ptr, ptr %t387 %t7971 = getelementptr inbounds %LSlice, ptr %t7970, i32 0, i32 1 %t7972 = getelementptr inbounds %LSlice, ptr %t7970, i32 0, i32 2 %t7973 = getelementptr inbounds %LSlice, ptr %t7970, i32 0, i32 0 %t7974 = load i32, ptr %t7971 %t7975 = load i32, ptr %t7972 %t7976 = icmp sge i32 %t7974, %t7975 br i1 %t7976, label %grow1675, label %put1676 grow1675: %t7977 = mul i32 %t7975, 2 %t7978 = icmp eq i32 %t7975, 0 %t7979 = select i1 %t7978, i32 8, i32 %t7977 %t7980 = getelementptr ptr, ptr null, i32 1 %t7981 = ptrtoint ptr %t7980 to i64 %t7982 = zext i32 %t7979 to i64 %t7983 = mul i64 %t7982, %t7981 %t7984 = load ptr, ptr %t7973 %t7985 = call ptr @realloc(ptr %t7984, i64 %t7983) store ptr %t7985, ptr %t7973 store i32 %t7979, ptr %t7972 br label %put1676 put1676: %t7986 = load ptr, ptr %t7973 %t7987 = getelementptr inbounds ptr, ptr %t7986, i32 %t7974 store ptr @.str7354, ptr %t7987 %t7988 = add i32 %t7974, 1 store i32 %t7988, ptr %t7971 br label %ifend1672 ifend1672: %t7989 = load ptr, ptr %t1 %t7990 = call i32 @lp_str_eq(ptr %t7989, ptr @.str7355) %t7991 = icmp ne i32 %t7990, 0 br i1 %t7991, label %then1677, label %ifend1679 then1677: store ptr @.str7356, ptr %t380 %t7992 = load ptr, ptr %t387 %t7993 = getelementptr inbounds %LSlice, ptr %t7992, i32 0, i32 1 %t7994 = getelementptr inbounds %LSlice, ptr %t7992, i32 0, i32 2 %t7995 = getelementptr inbounds %LSlice, ptr %t7992, i32 0, i32 0 %t7996 = load i32, ptr %t7993 %t7997 = load i32, ptr %t7994 %t7998 = icmp sge i32 %t7996, %t7997 br i1 %t7998, label %grow1680, label %put1681 grow1680: %t7999 = mul i32 %t7997, 2 %t8000 = icmp eq i32 %t7997, 0 %t8001 = select i1 %t8000, i32 8, i32 %t7999 %t8002 = getelementptr ptr, ptr null, i32 1 %t8003 = ptrtoint ptr %t8002 to i64 %t8004 = zext i32 %t8001 to i64 %t8005 = mul i64 %t8004, %t8003 %t8006 = load ptr, ptr %t7995 %t8007 = call ptr @realloc(ptr %t8006, i64 %t8005) store ptr %t8007, ptr %t7995 store i32 %t8001, ptr %t7994 br label %put1681 put1681: %t8008 = load ptr, ptr %t7995 %t8009 = getelementptr inbounds ptr, ptr %t8008, i32 %t7996 store ptr @.str7357, ptr %t8009 %t8010 = add i32 %t7996, 1 store i32 %t8010, ptr %t7993 br label %ifend1679 ifend1679: br label %ifend1614 ifend1614: %t8011 = load ptr, ptr %t0 %t8012 = call i32 @lp_str_eq(ptr %t8011, ptr @.str7358) %t8013 = icmp ne i32 %t8012, 0 br i1 %t8013, label %then1682, label %ifend1684 then1682: %t8014 = load ptr, ptr %t1 %t8015 = call i32 @lp_str_eq(ptr %t8014, ptr @.str7359) %t8016 = icmp ne i32 %t8015, 0 br i1 %t8016, label %then1685, label %ifend1687 then1685: store ptr @.str7360, ptr %t380 br label %ifend1687 ifend1687: %t8017 = load ptr, ptr %t1 %t8018 = call i32 @lp_str_eq(ptr %t8017, ptr @.str7361) %t8019 = icmp ne i32 %t8018, 0 br i1 %t8019, label %then1688, label %ifend1690 then1688: store ptr @.str7362, ptr %t380 %t8020 = load ptr, ptr %t387 %t8021 = getelementptr inbounds %LSlice, ptr %t8020, i32 0, i32 1 %t8022 = getelementptr inbounds %LSlice, ptr %t8020, i32 0, i32 2 %t8023 = getelementptr inbounds %LSlice, ptr %t8020, i32 0, i32 0 %t8024 = load i32, ptr %t8021 %t8025 = load i32, ptr %t8022 %t8026 = icmp sge i32 %t8024, %t8025 br i1 %t8026, label %grow1691, label %put1692 grow1691: %t8027 = mul i32 %t8025, 2 %t8028 = icmp eq i32 %t8025, 0 %t8029 = select i1 %t8028, i32 8, i32 %t8027 %t8030 = getelementptr ptr, ptr null, i32 1 %t8031 = ptrtoint ptr %t8030 to i64 %t8032 = zext i32 %t8029 to i64 %t8033 = mul i64 %t8032, %t8031 %t8034 = load ptr, ptr %t8023 %t8035 = call ptr @realloc(ptr %t8034, i64 %t8033) store ptr %t8035, ptr %t8023 store i32 %t8029, ptr %t8022 br label %put1692 put1692: %t8036 = load ptr, ptr %t8023 %t8037 = getelementptr inbounds ptr, ptr %t8036, i32 %t8024 store ptr @.str7363, ptr %t8037 %t8038 = add i32 %t8024, 1 store i32 %t8038, ptr %t8021 %t8039 = load ptr, ptr %t387 %t8040 = getelementptr inbounds %LSlice, ptr %t8039, i32 0, i32 1 %t8041 = getelementptr inbounds %LSlice, ptr %t8039, i32 0, i32 2 %t8042 = getelementptr inbounds %LSlice, ptr %t8039, i32 0, i32 0 %t8043 = load i32, ptr %t8040 %t8044 = load i32, ptr %t8041 %t8045 = icmp sge i32 %t8043, %t8044 br i1 %t8045, label %grow1693, label %put1694 grow1693: %t8046 = mul i32 %t8044, 2 %t8047 = icmp eq i32 %t8044, 0 %t8048 = select i1 %t8047, i32 8, i32 %t8046 %t8049 = getelementptr ptr, ptr null, i32 1 %t8050 = ptrtoint ptr %t8049 to i64 %t8051 = zext i32 %t8048 to i64 %t8052 = mul i64 %t8051, %t8050 %t8053 = load ptr, ptr %t8042 %t8054 = call ptr @realloc(ptr %t8053, i64 %t8052) store ptr %t8054, ptr %t8042 store i32 %t8048, ptr %t8041 br label %put1694 put1694: %t8055 = load ptr, ptr %t8042 %t8056 = getelementptr inbounds ptr, ptr %t8055, i32 %t8043 store ptr @.str7364, ptr %t8056 %t8057 = add i32 %t8043, 1 store i32 %t8057, ptr %t8040 %t8058 = load ptr, ptr %t387 %t8059 = getelementptr inbounds %LSlice, ptr %t8058, i32 0, i32 1 %t8060 = getelementptr inbounds %LSlice, ptr %t8058, i32 0, i32 2 %t8061 = getelementptr inbounds %LSlice, ptr %t8058, i32 0, i32 0 %t8062 = load i32, ptr %t8059 %t8063 = load i32, ptr %t8060 %t8064 = icmp sge i32 %t8062, %t8063 br i1 %t8064, label %grow1695, label %put1696 grow1695: %t8065 = mul i32 %t8063, 2 %t8066 = icmp eq i32 %t8063, 0 %t8067 = select i1 %t8066, i32 8, i32 %t8065 %t8068 = getelementptr ptr, ptr null, i32 1 %t8069 = ptrtoint ptr %t8068 to i64 %t8070 = zext i32 %t8067 to i64 %t8071 = mul i64 %t8070, %t8069 %t8072 = load ptr, ptr %t8061 %t8073 = call ptr @realloc(ptr %t8072, i64 %t8071) store ptr %t8073, ptr %t8061 store i32 %t8067, ptr %t8060 br label %put1696 put1696: %t8074 = load ptr, ptr %t8061 %t8075 = getelementptr inbounds ptr, ptr %t8074, i32 %t8062 store ptr @.str7365, ptr %t8075 %t8076 = add i32 %t8062, 1 store i32 %t8076, ptr %t8059 br label %ifend1690 ifend1690: %t8077 = load ptr, ptr %t1 %t8078 = call i32 @lp_str_eq(ptr %t8077, ptr @.str7366) %t8079 = icmp ne i32 %t8078, 0 br i1 %t8079, label %then1697, label %ifend1699 then1697: store ptr @.str7367, ptr %t380 %t8080 = load ptr, ptr %t387 %t8081 = getelementptr inbounds %LSlice, ptr %t8080, i32 0, i32 1 %t8082 = getelementptr inbounds %LSlice, ptr %t8080, i32 0, i32 2 %t8083 = getelementptr inbounds %LSlice, ptr %t8080, i32 0, i32 0 %t8084 = load i32, ptr %t8081 %t8085 = load i32, ptr %t8082 %t8086 = icmp sge i32 %t8084, %t8085 br i1 %t8086, label %grow1700, label %put1701 grow1700: %t8087 = mul i32 %t8085, 2 %t8088 = icmp eq i32 %t8085, 0 %t8089 = select i1 %t8088, i32 8, i32 %t8087 %t8090 = getelementptr ptr, ptr null, i32 1 %t8091 = ptrtoint ptr %t8090 to i64 %t8092 = zext i32 %t8089 to i64 %t8093 = mul i64 %t8092, %t8091 %t8094 = load ptr, ptr %t8083 %t8095 = call ptr @realloc(ptr %t8094, i64 %t8093) store ptr %t8095, ptr %t8083 store i32 %t8089, ptr %t8082 br label %put1701 put1701: %t8096 = load ptr, ptr %t8083 %t8097 = getelementptr inbounds ptr, ptr %t8096, i32 %t8084 store ptr @.str7368, ptr %t8097 %t8098 = add i32 %t8084, 1 store i32 %t8098, ptr %t8081 %t8099 = load ptr, ptr %t387 %t8100 = getelementptr inbounds %LSlice, ptr %t8099, i32 0, i32 1 %t8101 = getelementptr inbounds %LSlice, ptr %t8099, i32 0, i32 2 %t8102 = getelementptr inbounds %LSlice, ptr %t8099, i32 0, i32 0 %t8103 = load i32, ptr %t8100 %t8104 = load i32, ptr %t8101 %t8105 = icmp sge i32 %t8103, %t8104 br i1 %t8105, label %grow1702, label %put1703 grow1702: %t8106 = mul i32 %t8104, 2 %t8107 = icmp eq i32 %t8104, 0 %t8108 = select i1 %t8107, i32 8, i32 %t8106 %t8109 = getelementptr ptr, ptr null, i32 1 %t8110 = ptrtoint ptr %t8109 to i64 %t8111 = zext i32 %t8108 to i64 %t8112 = mul i64 %t8111, %t8110 %t8113 = load ptr, ptr %t8102 %t8114 = call ptr @realloc(ptr %t8113, i64 %t8112) store ptr %t8114, ptr %t8102 store i32 %t8108, ptr %t8101 br label %put1703 put1703: %t8115 = load ptr, ptr %t8102 %t8116 = getelementptr inbounds ptr, ptr %t8115, i32 %t8103 store ptr @.str7369, ptr %t8116 %t8117 = add i32 %t8103, 1 store i32 %t8117, ptr %t8100 br label %ifend1699 ifend1699: %t8118 = load ptr, ptr %t1 %t8119 = call i32 @lp_str_eq(ptr %t8118, ptr @.str7370) %t8120 = icmp ne i32 %t8119, 0 br i1 %t8120, label %then1704, label %ifend1706 then1704: store ptr @.str7371, ptr %t380 %t8121 = load ptr, ptr %t387 %t8122 = getelementptr inbounds %LSlice, ptr %t8121, i32 0, i32 1 %t8123 = getelementptr inbounds %LSlice, ptr %t8121, i32 0, i32 2 %t8124 = getelementptr inbounds %LSlice, ptr %t8121, i32 0, i32 0 %t8125 = load i32, ptr %t8122 %t8126 = load i32, ptr %t8123 %t8127 = icmp sge i32 %t8125, %t8126 br i1 %t8127, label %grow1707, label %put1708 grow1707: %t8128 = mul i32 %t8126, 2 %t8129 = icmp eq i32 %t8126, 0 %t8130 = select i1 %t8129, i32 8, i32 %t8128 %t8131 = getelementptr ptr, ptr null, i32 1 %t8132 = ptrtoint ptr %t8131 to i64 %t8133 = zext i32 %t8130 to i64 %t8134 = mul i64 %t8133, %t8132 %t8135 = load ptr, ptr %t8124 %t8136 = call ptr @realloc(ptr %t8135, i64 %t8134) store ptr %t8136, ptr %t8124 store i32 %t8130, ptr %t8123 br label %put1708 put1708: %t8137 = load ptr, ptr %t8124 %t8138 = getelementptr inbounds ptr, ptr %t8137, i32 %t8125 store ptr @.str7372, ptr %t8138 %t8139 = add i32 %t8125, 1 store i32 %t8139, ptr %t8122 %t8140 = load ptr, ptr %t387 %t8141 = getelementptr inbounds %LSlice, ptr %t8140, i32 0, i32 1 %t8142 = getelementptr inbounds %LSlice, ptr %t8140, i32 0, i32 2 %t8143 = getelementptr inbounds %LSlice, ptr %t8140, i32 0, i32 0 %t8144 = load i32, ptr %t8141 %t8145 = load i32, ptr %t8142 %t8146 = icmp sge i32 %t8144, %t8145 br i1 %t8146, label %grow1709, label %put1710 grow1709: %t8147 = mul i32 %t8145, 2 %t8148 = icmp eq i32 %t8145, 0 %t8149 = select i1 %t8148, i32 8, i32 %t8147 %t8150 = getelementptr ptr, ptr null, i32 1 %t8151 = ptrtoint ptr %t8150 to i64 %t8152 = zext i32 %t8149 to i64 %t8153 = mul i64 %t8152, %t8151 %t8154 = load ptr, ptr %t8143 %t8155 = call ptr @realloc(ptr %t8154, i64 %t8153) store ptr %t8155, ptr %t8143 store i32 %t8149, ptr %t8142 br label %put1710 put1710: %t8156 = load ptr, ptr %t8143 %t8157 = getelementptr inbounds ptr, ptr %t8156, i32 %t8144 store ptr @.str7373, ptr %t8157 %t8158 = add i32 %t8144, 1 store i32 %t8158, ptr %t8141 %t8159 = load ptr, ptr %t387 %t8160 = getelementptr inbounds %LSlice, ptr %t8159, i32 0, i32 1 %t8161 = getelementptr inbounds %LSlice, ptr %t8159, i32 0, i32 2 %t8162 = getelementptr inbounds %LSlice, ptr %t8159, i32 0, i32 0 %t8163 = load i32, ptr %t8160 %t8164 = load i32, ptr %t8161 %t8165 = icmp sge i32 %t8163, %t8164 br i1 %t8165, label %grow1711, label %put1712 grow1711: %t8166 = mul i32 %t8164, 2 %t8167 = icmp eq i32 %t8164, 0 %t8168 = select i1 %t8167, i32 8, i32 %t8166 %t8169 = getelementptr ptr, ptr null, i32 1 %t8170 = ptrtoint ptr %t8169 to i64 %t8171 = zext i32 %t8168 to i64 %t8172 = mul i64 %t8171, %t8170 %t8173 = load ptr, ptr %t8162 %t8174 = call ptr @realloc(ptr %t8173, i64 %t8172) store ptr %t8174, ptr %t8162 store i32 %t8168, ptr %t8161 br label %put1712 put1712: %t8175 = load ptr, ptr %t8162 %t8176 = getelementptr inbounds ptr, ptr %t8175, i32 %t8163 store ptr @.str7374, ptr %t8176 %t8177 = add i32 %t8163, 1 store i32 %t8177, ptr %t8160 br label %ifend1706 ifend1706: %t8178 = load ptr, ptr %t1 %t8179 = call i32 @lp_str_eq(ptr %t8178, ptr @.str7375) %t8180 = icmp ne i32 %t8179, 0 br i1 %t8180, label %then1713, label %ifend1715 then1713: store ptr @.str7376, ptr %t380 %t8181 = load ptr, ptr %t387 %t8182 = getelementptr inbounds %LSlice, ptr %t8181, i32 0, i32 1 %t8183 = getelementptr inbounds %LSlice, ptr %t8181, i32 0, i32 2 %t8184 = getelementptr inbounds %LSlice, ptr %t8181, i32 0, i32 0 %t8185 = load i32, ptr %t8182 %t8186 = load i32, ptr %t8183 %t8187 = icmp sge i32 %t8185, %t8186 br i1 %t8187, label %grow1716, label %put1717 grow1716: %t8188 = mul i32 %t8186, 2 %t8189 = icmp eq i32 %t8186, 0 %t8190 = select i1 %t8189, i32 8, i32 %t8188 %t8191 = getelementptr ptr, ptr null, i32 1 %t8192 = ptrtoint ptr %t8191 to i64 %t8193 = zext i32 %t8190 to i64 %t8194 = mul i64 %t8193, %t8192 %t8195 = load ptr, ptr %t8184 %t8196 = call ptr @realloc(ptr %t8195, i64 %t8194) store ptr %t8196, ptr %t8184 store i32 %t8190, ptr %t8183 br label %put1717 put1717: %t8197 = load ptr, ptr %t8184 %t8198 = getelementptr inbounds ptr, ptr %t8197, i32 %t8185 store ptr @.str7377, ptr %t8198 %t8199 = add i32 %t8185, 1 store i32 %t8199, ptr %t8182 %t8200 = load ptr, ptr %t387 %t8201 = getelementptr inbounds %LSlice, ptr %t8200, i32 0, i32 1 %t8202 = getelementptr inbounds %LSlice, ptr %t8200, i32 0, i32 2 %t8203 = getelementptr inbounds %LSlice, ptr %t8200, i32 0, i32 0 %t8204 = load i32, ptr %t8201 %t8205 = load i32, ptr %t8202 %t8206 = icmp sge i32 %t8204, %t8205 br i1 %t8206, label %grow1718, label %put1719 grow1718: %t8207 = mul i32 %t8205, 2 %t8208 = icmp eq i32 %t8205, 0 %t8209 = select i1 %t8208, i32 8, i32 %t8207 %t8210 = getelementptr ptr, ptr null, i32 1 %t8211 = ptrtoint ptr %t8210 to i64 %t8212 = zext i32 %t8209 to i64 %t8213 = mul i64 %t8212, %t8211 %t8214 = load ptr, ptr %t8203 %t8215 = call ptr @realloc(ptr %t8214, i64 %t8213) store ptr %t8215, ptr %t8203 store i32 %t8209, ptr %t8202 br label %put1719 put1719: %t8216 = load ptr, ptr %t8203 %t8217 = getelementptr inbounds ptr, ptr %t8216, i32 %t8204 store ptr @.str7378, ptr %t8217 %t8218 = add i32 %t8204, 1 store i32 %t8218, ptr %t8201 br label %ifend1715 ifend1715: %t8219 = load ptr, ptr %t1 %t8220 = call i32 @lp_str_eq(ptr %t8219, ptr @.str7379) %t8221 = icmp ne i32 %t8220, 0 br i1 %t8221, label %then1720, label %ifend1722 then1720: store ptr @.str7380, ptr %t380 %t8222 = load ptr, ptr %t387 %t8223 = getelementptr inbounds %LSlice, ptr %t8222, i32 0, i32 1 %t8224 = getelementptr inbounds %LSlice, ptr %t8222, i32 0, i32 2 %t8225 = getelementptr inbounds %LSlice, ptr %t8222, i32 0, i32 0 %t8226 = load i32, ptr %t8223 %t8227 = load i32, ptr %t8224 %t8228 = icmp sge i32 %t8226, %t8227 br i1 %t8228, label %grow1723, label %put1724 grow1723: %t8229 = mul i32 %t8227, 2 %t8230 = icmp eq i32 %t8227, 0 %t8231 = select i1 %t8230, i32 8, i32 %t8229 %t8232 = getelementptr ptr, ptr null, i32 1 %t8233 = ptrtoint ptr %t8232 to i64 %t8234 = zext i32 %t8231 to i64 %t8235 = mul i64 %t8234, %t8233 %t8236 = load ptr, ptr %t8225 %t8237 = call ptr @realloc(ptr %t8236, i64 %t8235) store ptr %t8237, ptr %t8225 store i32 %t8231, ptr %t8224 br label %put1724 put1724: %t8238 = load ptr, ptr %t8225 %t8239 = getelementptr inbounds ptr, ptr %t8238, i32 %t8226 store ptr @.str7381, ptr %t8239 %t8240 = add i32 %t8226, 1 store i32 %t8240, ptr %t8223 %t8241 = load ptr, ptr %t387 %t8242 = getelementptr inbounds %LSlice, ptr %t8241, i32 0, i32 1 %t8243 = getelementptr inbounds %LSlice, ptr %t8241, i32 0, i32 2 %t8244 = getelementptr inbounds %LSlice, ptr %t8241, i32 0, i32 0 %t8245 = load i32, ptr %t8242 %t8246 = load i32, ptr %t8243 %t8247 = icmp sge i32 %t8245, %t8246 br i1 %t8247, label %grow1725, label %put1726 grow1725: %t8248 = mul i32 %t8246, 2 %t8249 = icmp eq i32 %t8246, 0 %t8250 = select i1 %t8249, i32 8, i32 %t8248 %t8251 = getelementptr ptr, ptr null, i32 1 %t8252 = ptrtoint ptr %t8251 to i64 %t8253 = zext i32 %t8250 to i64 %t8254 = mul i64 %t8253, %t8252 %t8255 = load ptr, ptr %t8244 %t8256 = call ptr @realloc(ptr %t8255, i64 %t8254) store ptr %t8256, ptr %t8244 store i32 %t8250, ptr %t8243 br label %put1726 put1726: %t8257 = load ptr, ptr %t8244 %t8258 = getelementptr inbounds ptr, ptr %t8257, i32 %t8245 store ptr @.str7382, ptr %t8258 %t8259 = add i32 %t8245, 1 store i32 %t8259, ptr %t8242 br label %ifend1722 ifend1722: %t8260 = load ptr, ptr %t1 %t8261 = call i32 @lp_str_eq(ptr %t8260, ptr @.str7383) %t8262 = icmp ne i32 %t8261, 0 br i1 %t8262, label %then1727, label %ifend1729 then1727: store ptr @.str7384, ptr %t380 %t8263 = load ptr, ptr %t387 %t8264 = getelementptr inbounds %LSlice, ptr %t8263, i32 0, i32 1 %t8265 = getelementptr inbounds %LSlice, ptr %t8263, i32 0, i32 2 %t8266 = getelementptr inbounds %LSlice, ptr %t8263, i32 0, i32 0 %t8267 = load i32, ptr %t8264 %t8268 = load i32, ptr %t8265 %t8269 = icmp sge i32 %t8267, %t8268 br i1 %t8269, label %grow1730, label %put1731 grow1730: %t8270 = mul i32 %t8268, 2 %t8271 = icmp eq i32 %t8268, 0 %t8272 = select i1 %t8271, i32 8, i32 %t8270 %t8273 = getelementptr ptr, ptr null, i32 1 %t8274 = ptrtoint ptr %t8273 to i64 %t8275 = zext i32 %t8272 to i64 %t8276 = mul i64 %t8275, %t8274 %t8277 = load ptr, ptr %t8266 %t8278 = call ptr @realloc(ptr %t8277, i64 %t8276) store ptr %t8278, ptr %t8266 store i32 %t8272, ptr %t8265 br label %put1731 put1731: %t8279 = load ptr, ptr %t8266 %t8280 = getelementptr inbounds ptr, ptr %t8279, i32 %t8267 store ptr @.str7385, ptr %t8280 %t8281 = add i32 %t8267, 1 store i32 %t8281, ptr %t8264 br label %ifend1729 ifend1729: %t8282 = load ptr, ptr %t1 %t8283 = call i32 @lp_str_eq(ptr %t8282, ptr @.str7386) %t8284 = icmp ne i32 %t8283, 0 br i1 %t8284, label %then1732, label %ifend1734 then1732: store ptr @.str7387, ptr %t380 %t8285 = load ptr, ptr %t387 %t8286 = getelementptr inbounds %LSlice, ptr %t8285, i32 0, i32 1 %t8287 = getelementptr inbounds %LSlice, ptr %t8285, i32 0, i32 2 %t8288 = getelementptr inbounds %LSlice, ptr %t8285, i32 0, i32 0 %t8289 = load i32, ptr %t8286 %t8290 = load i32, ptr %t8287 %t8291 = icmp sge i32 %t8289, %t8290 br i1 %t8291, label %grow1735, label %put1736 grow1735: %t8292 = mul i32 %t8290, 2 %t8293 = icmp eq i32 %t8290, 0 %t8294 = select i1 %t8293, i32 8, i32 %t8292 %t8295 = getelementptr ptr, ptr null, i32 1 %t8296 = ptrtoint ptr %t8295 to i64 %t8297 = zext i32 %t8294 to i64 %t8298 = mul i64 %t8297, %t8296 %t8299 = load ptr, ptr %t8288 %t8300 = call ptr @realloc(ptr %t8299, i64 %t8298) store ptr %t8300, ptr %t8288 store i32 %t8294, ptr %t8287 br label %put1736 put1736: %t8301 = load ptr, ptr %t8288 %t8302 = getelementptr inbounds ptr, ptr %t8301, i32 %t8289 store ptr @.str7388, ptr %t8302 %t8303 = add i32 %t8289, 1 store i32 %t8303, ptr %t8286 br label %ifend1734 ifend1734: %t8304 = load ptr, ptr %t1 %t8305 = call i32 @lp_str_eq(ptr %t8304, ptr @.str7389) %t8306 = icmp ne i32 %t8305, 0 br i1 %t8306, label %then1737, label %ifend1739 then1737: store ptr @.str7390, ptr %t380 %t8307 = load ptr, ptr %t387 %t8308 = getelementptr inbounds %LSlice, ptr %t8307, i32 0, i32 1 %t8309 = getelementptr inbounds %LSlice, ptr %t8307, i32 0, i32 2 %t8310 = getelementptr inbounds %LSlice, ptr %t8307, i32 0, i32 0 %t8311 = load i32, ptr %t8308 %t8312 = load i32, ptr %t8309 %t8313 = icmp sge i32 %t8311, %t8312 br i1 %t8313, label %grow1740, label %put1741 grow1740: %t8314 = mul i32 %t8312, 2 %t8315 = icmp eq i32 %t8312, 0 %t8316 = select i1 %t8315, i32 8, i32 %t8314 %t8317 = getelementptr ptr, ptr null, i32 1 %t8318 = ptrtoint ptr %t8317 to i64 %t8319 = zext i32 %t8316 to i64 %t8320 = mul i64 %t8319, %t8318 %t8321 = load ptr, ptr %t8310 %t8322 = call ptr @realloc(ptr %t8321, i64 %t8320) store ptr %t8322, ptr %t8310 store i32 %t8316, ptr %t8309 br label %put1741 put1741: %t8323 = load ptr, ptr %t8310 %t8324 = getelementptr inbounds ptr, ptr %t8323, i32 %t8311 store ptr @.str7391, ptr %t8324 %t8325 = add i32 %t8311, 1 store i32 %t8325, ptr %t8308 br label %ifend1739 ifend1739: br label %ifend1684 ifend1684: %t8326 = load ptr, ptr %t0 %t8327 = call i32 @lp_str_eq(ptr %t8326, ptr @.str7392) %t8328 = icmp ne i32 %t8327, 0 br i1 %t8328, label %then1742, label %ifend1744 then1742: %t8329 = load ptr, ptr %t1 %t8330 = call i32 @lp_str_eq(ptr %t8329, ptr @.str7393) %t8331 = icmp ne i32 %t8330, 0 br i1 %t8331, label %then1745, label %ifend1747 then1745: store ptr @.str7394, ptr %t380 br label %ifend1747 ifend1747: %t8332 = load ptr, ptr %t1 %t8333 = call i32 @lp_str_eq(ptr %t8332, ptr @.str7395) %t8334 = icmp ne i32 %t8333, 0 br i1 %t8334, label %then1748, label %ifend1750 then1748: store ptr @.str7396, ptr %t380 %t8335 = load ptr, ptr %t387 %t8336 = getelementptr inbounds %LSlice, ptr %t8335, i32 0, i32 1 %t8337 = getelementptr inbounds %LSlice, ptr %t8335, i32 0, i32 2 %t8338 = getelementptr inbounds %LSlice, ptr %t8335, i32 0, i32 0 %t8339 = load i32, ptr %t8336 %t8340 = load i32, ptr %t8337 %t8341 = icmp sge i32 %t8339, %t8340 br i1 %t8341, label %grow1751, label %put1752 grow1751: %t8342 = mul i32 %t8340, 2 %t8343 = icmp eq i32 %t8340, 0 %t8344 = select i1 %t8343, i32 8, i32 %t8342 %t8345 = getelementptr ptr, ptr null, i32 1 %t8346 = ptrtoint ptr %t8345 to i64 %t8347 = zext i32 %t8344 to i64 %t8348 = mul i64 %t8347, %t8346 %t8349 = load ptr, ptr %t8338 %t8350 = call ptr @realloc(ptr %t8349, i64 %t8348) store ptr %t8350, ptr %t8338 store i32 %t8344, ptr %t8337 br label %put1752 put1752: %t8351 = load ptr, ptr %t8338 %t8352 = getelementptr inbounds ptr, ptr %t8351, i32 %t8339 store ptr @.str7397, ptr %t8352 %t8353 = add i32 %t8339, 1 store i32 %t8353, ptr %t8336 %t8354 = load ptr, ptr %t387 %t8355 = getelementptr inbounds %LSlice, ptr %t8354, i32 0, i32 1 %t8356 = getelementptr inbounds %LSlice, ptr %t8354, i32 0, i32 2 %t8357 = getelementptr inbounds %LSlice, ptr %t8354, i32 0, i32 0 %t8358 = load i32, ptr %t8355 %t8359 = load i32, ptr %t8356 %t8360 = icmp sge i32 %t8358, %t8359 br i1 %t8360, label %grow1753, label %put1754 grow1753: %t8361 = mul i32 %t8359, 2 %t8362 = icmp eq i32 %t8359, 0 %t8363 = select i1 %t8362, i32 8, i32 %t8361 %t8364 = getelementptr ptr, ptr null, i32 1 %t8365 = ptrtoint ptr %t8364 to i64 %t8366 = zext i32 %t8363 to i64 %t8367 = mul i64 %t8366, %t8365 %t8368 = load ptr, ptr %t8357 %t8369 = call ptr @realloc(ptr %t8368, i64 %t8367) store ptr %t8369, ptr %t8357 store i32 %t8363, ptr %t8356 br label %put1754 put1754: %t8370 = load ptr, ptr %t8357 %t8371 = getelementptr inbounds ptr, ptr %t8370, i32 %t8358 store ptr @.str7398, ptr %t8371 %t8372 = add i32 %t8358, 1 store i32 %t8372, ptr %t8355 br label %ifend1750 ifend1750: %t8373 = load ptr, ptr %t1 %t8374 = call i32 @lp_str_eq(ptr %t8373, ptr @.str7399) %t8375 = icmp ne i32 %t8374, 0 br i1 %t8375, label %then1755, label %ifend1757 then1755: store ptr @.str7400, ptr %t380 %t8376 = load ptr, ptr %t387 %t8377 = getelementptr inbounds %LSlice, ptr %t8376, i32 0, i32 1 %t8378 = getelementptr inbounds %LSlice, ptr %t8376, i32 0, i32 2 %t8379 = getelementptr inbounds %LSlice, ptr %t8376, i32 0, i32 0 %t8380 = load i32, ptr %t8377 %t8381 = load i32, ptr %t8378 %t8382 = icmp sge i32 %t8380, %t8381 br i1 %t8382, label %grow1758, label %put1759 grow1758: %t8383 = mul i32 %t8381, 2 %t8384 = icmp eq i32 %t8381, 0 %t8385 = select i1 %t8384, i32 8, i32 %t8383 %t8386 = getelementptr ptr, ptr null, i32 1 %t8387 = ptrtoint ptr %t8386 to i64 %t8388 = zext i32 %t8385 to i64 %t8389 = mul i64 %t8388, %t8387 %t8390 = load ptr, ptr %t8379 %t8391 = call ptr @realloc(ptr %t8390, i64 %t8389) store ptr %t8391, ptr %t8379 store i32 %t8385, ptr %t8378 br label %put1759 put1759: %t8392 = load ptr, ptr %t8379 %t8393 = getelementptr inbounds ptr, ptr %t8392, i32 %t8380 store ptr @.str7401, ptr %t8393 %t8394 = add i32 %t8380, 1 store i32 %t8394, ptr %t8377 %t8395 = load ptr, ptr %t387 %t8396 = getelementptr inbounds %LSlice, ptr %t8395, i32 0, i32 1 %t8397 = getelementptr inbounds %LSlice, ptr %t8395, i32 0, i32 2 %t8398 = getelementptr inbounds %LSlice, ptr %t8395, i32 0, i32 0 %t8399 = load i32, ptr %t8396 %t8400 = load i32, ptr %t8397 %t8401 = icmp sge i32 %t8399, %t8400 br i1 %t8401, label %grow1760, label %put1761 grow1760: %t8402 = mul i32 %t8400, 2 %t8403 = icmp eq i32 %t8400, 0 %t8404 = select i1 %t8403, i32 8, i32 %t8402 %t8405 = getelementptr ptr, ptr null, i32 1 %t8406 = ptrtoint ptr %t8405 to i64 %t8407 = zext i32 %t8404 to i64 %t8408 = mul i64 %t8407, %t8406 %t8409 = load ptr, ptr %t8398 %t8410 = call ptr @realloc(ptr %t8409, i64 %t8408) store ptr %t8410, ptr %t8398 store i32 %t8404, ptr %t8397 br label %put1761 put1761: %t8411 = load ptr, ptr %t8398 %t8412 = getelementptr inbounds ptr, ptr %t8411, i32 %t8399 store ptr @.str7402, ptr %t8412 %t8413 = add i32 %t8399, 1 store i32 %t8413, ptr %t8396 br label %ifend1757 ifend1757: %t8414 = load ptr, ptr %t1 %t8415 = call i32 @lp_str_eq(ptr %t8414, ptr @.str7403) %t8416 = icmp ne i32 %t8415, 0 br i1 %t8416, label %then1762, label %ifend1764 then1762: store ptr @.str7404, ptr %t380 %t8417 = load ptr, ptr %t387 %t8418 = getelementptr inbounds %LSlice, ptr %t8417, i32 0, i32 1 %t8419 = getelementptr inbounds %LSlice, ptr %t8417, i32 0, i32 2 %t8420 = getelementptr inbounds %LSlice, ptr %t8417, i32 0, i32 0 %t8421 = load i32, ptr %t8418 %t8422 = load i32, ptr %t8419 %t8423 = icmp sge i32 %t8421, %t8422 br i1 %t8423, label %grow1765, label %put1766 grow1765: %t8424 = mul i32 %t8422, 2 %t8425 = icmp eq i32 %t8422, 0 %t8426 = select i1 %t8425, i32 8, i32 %t8424 %t8427 = getelementptr ptr, ptr null, i32 1 %t8428 = ptrtoint ptr %t8427 to i64 %t8429 = zext i32 %t8426 to i64 %t8430 = mul i64 %t8429, %t8428 %t8431 = load ptr, ptr %t8420 %t8432 = call ptr @realloc(ptr %t8431, i64 %t8430) store ptr %t8432, ptr %t8420 store i32 %t8426, ptr %t8419 br label %put1766 put1766: %t8433 = load ptr, ptr %t8420 %t8434 = getelementptr inbounds ptr, ptr %t8433, i32 %t8421 store ptr @.str7405, ptr %t8434 %t8435 = add i32 %t8421, 1 store i32 %t8435, ptr %t8418 %t8436 = load ptr, ptr %t387 %t8437 = getelementptr inbounds %LSlice, ptr %t8436, i32 0, i32 1 %t8438 = getelementptr inbounds %LSlice, ptr %t8436, i32 0, i32 2 %t8439 = getelementptr inbounds %LSlice, ptr %t8436, i32 0, i32 0 %t8440 = load i32, ptr %t8437 %t8441 = load i32, ptr %t8438 %t8442 = icmp sge i32 %t8440, %t8441 br i1 %t8442, label %grow1767, label %put1768 grow1767: %t8443 = mul i32 %t8441, 2 %t8444 = icmp eq i32 %t8441, 0 %t8445 = select i1 %t8444, i32 8, i32 %t8443 %t8446 = getelementptr ptr, ptr null, i32 1 %t8447 = ptrtoint ptr %t8446 to i64 %t8448 = zext i32 %t8445 to i64 %t8449 = mul i64 %t8448, %t8447 %t8450 = load ptr, ptr %t8439 %t8451 = call ptr @realloc(ptr %t8450, i64 %t8449) store ptr %t8451, ptr %t8439 store i32 %t8445, ptr %t8438 br label %put1768 put1768: %t8452 = load ptr, ptr %t8439 %t8453 = getelementptr inbounds ptr, ptr %t8452, i32 %t8440 store ptr @.str7406, ptr %t8453 %t8454 = add i32 %t8440, 1 store i32 %t8454, ptr %t8437 br label %ifend1764 ifend1764: %t8455 = load ptr, ptr %t1 %t8456 = call i32 @lp_str_eq(ptr %t8455, ptr @.str7407) %t8457 = icmp ne i32 %t8456, 0 br i1 %t8457, label %then1769, label %ifend1771 then1769: store ptr @.str7408, ptr %t380 %t8458 = load ptr, ptr %t387 %t8459 = getelementptr inbounds %LSlice, ptr %t8458, i32 0, i32 1 %t8460 = getelementptr inbounds %LSlice, ptr %t8458, i32 0, i32 2 %t8461 = getelementptr inbounds %LSlice, ptr %t8458, i32 0, i32 0 %t8462 = load i32, ptr %t8459 %t8463 = load i32, ptr %t8460 %t8464 = icmp sge i32 %t8462, %t8463 br i1 %t8464, label %grow1772, label %put1773 grow1772: %t8465 = mul i32 %t8463, 2 %t8466 = icmp eq i32 %t8463, 0 %t8467 = select i1 %t8466, i32 8, i32 %t8465 %t8468 = getelementptr ptr, ptr null, i32 1 %t8469 = ptrtoint ptr %t8468 to i64 %t8470 = zext i32 %t8467 to i64 %t8471 = mul i64 %t8470, %t8469 %t8472 = load ptr, ptr %t8461 %t8473 = call ptr @realloc(ptr %t8472, i64 %t8471) store ptr %t8473, ptr %t8461 store i32 %t8467, ptr %t8460 br label %put1773 put1773: %t8474 = load ptr, ptr %t8461 %t8475 = getelementptr inbounds ptr, ptr %t8474, i32 %t8462 store ptr @.str7409, ptr %t8475 %t8476 = add i32 %t8462, 1 store i32 %t8476, ptr %t8459 br label %ifend1771 ifend1771: %t8477 = load ptr, ptr %t1 %t8478 = call i32 @lp_str_eq(ptr %t8477, ptr @.str7410) %t8479 = icmp ne i32 %t8478, 0 br i1 %t8479, label %then1774, label %ifend1776 then1774: store ptr @.str7411, ptr %t380 %t8480 = load ptr, ptr %t387 %t8481 = getelementptr inbounds %LSlice, ptr %t8480, i32 0, i32 1 %t8482 = getelementptr inbounds %LSlice, ptr %t8480, i32 0, i32 2 %t8483 = getelementptr inbounds %LSlice, ptr %t8480, i32 0, i32 0 %t8484 = load i32, ptr %t8481 %t8485 = load i32, ptr %t8482 %t8486 = icmp sge i32 %t8484, %t8485 br i1 %t8486, label %grow1777, label %put1778 grow1777: %t8487 = mul i32 %t8485, 2 %t8488 = icmp eq i32 %t8485, 0 %t8489 = select i1 %t8488, i32 8, i32 %t8487 %t8490 = getelementptr ptr, ptr null, i32 1 %t8491 = ptrtoint ptr %t8490 to i64 %t8492 = zext i32 %t8489 to i64 %t8493 = mul i64 %t8492, %t8491 %t8494 = load ptr, ptr %t8483 %t8495 = call ptr @realloc(ptr %t8494, i64 %t8493) store ptr %t8495, ptr %t8483 store i32 %t8489, ptr %t8482 br label %put1778 put1778: %t8496 = load ptr, ptr %t8483 %t8497 = getelementptr inbounds ptr, ptr %t8496, i32 %t8484 store ptr @.str7412, ptr %t8497 %t8498 = add i32 %t8484, 1 store i32 %t8498, ptr %t8481 br label %ifend1776 ifend1776: %t8499 = load ptr, ptr %t1 %t8500 = call i32 @lp_str_eq(ptr %t8499, ptr @.str7413) %t8501 = icmp ne i32 %t8500, 0 br i1 %t8501, label %then1779, label %ifend1781 then1779: store ptr @.str7414, ptr %t380 %t8502 = load ptr, ptr %t387 %t8503 = getelementptr inbounds %LSlice, ptr %t8502, i32 0, i32 1 %t8504 = getelementptr inbounds %LSlice, ptr %t8502, i32 0, i32 2 %t8505 = getelementptr inbounds %LSlice, ptr %t8502, i32 0, i32 0 %t8506 = load i32, ptr %t8503 %t8507 = load i32, ptr %t8504 %t8508 = icmp sge i32 %t8506, %t8507 br i1 %t8508, label %grow1782, label %put1783 grow1782: %t8509 = mul i32 %t8507, 2 %t8510 = icmp eq i32 %t8507, 0 %t8511 = select i1 %t8510, i32 8, i32 %t8509 %t8512 = getelementptr ptr, ptr null, i32 1 %t8513 = ptrtoint ptr %t8512 to i64 %t8514 = zext i32 %t8511 to i64 %t8515 = mul i64 %t8514, %t8513 %t8516 = load ptr, ptr %t8505 %t8517 = call ptr @realloc(ptr %t8516, i64 %t8515) store ptr %t8517, ptr %t8505 store i32 %t8511, ptr %t8504 br label %put1783 put1783: %t8518 = load ptr, ptr %t8505 %t8519 = getelementptr inbounds ptr, ptr %t8518, i32 %t8506 store ptr @.str7415, ptr %t8519 %t8520 = add i32 %t8506, 1 store i32 %t8520, ptr %t8503 br label %ifend1781 ifend1781: br label %ifend1744 ifend1744: %t8521 = load ptr, ptr %t0 %t8522 = call i32 @lp_str_eq(ptr %t8521, ptr @.str7416) %t8523 = icmp ne i32 %t8522, 0 br i1 %t8523, label %then1784, label %ifend1786 then1784: %t8524 = load ptr, ptr %t1 %t8525 = call i32 @lp_str_eq(ptr %t8524, ptr @.str7417) %t8526 = icmp ne i32 %t8525, 0 br i1 %t8526, label %then1787, label %ifend1789 then1787: store ptr @.str7418, ptr %t380 br label %ifend1789 ifend1789: %t8527 = load ptr, ptr %t1 %t8528 = call i32 @lp_str_eq(ptr %t8527, ptr @.str7419) %t8529 = icmp ne i32 %t8528, 0 br i1 %t8529, label %then1790, label %ifend1792 then1790: store ptr @.str7420, ptr %t380 %t8530 = load ptr, ptr %t387 %t8531 = getelementptr inbounds %LSlice, ptr %t8530, i32 0, i32 1 %t8532 = getelementptr inbounds %LSlice, ptr %t8530, i32 0, i32 2 %t8533 = getelementptr inbounds %LSlice, ptr %t8530, i32 0, i32 0 %t8534 = load i32, ptr %t8531 %t8535 = load i32, ptr %t8532 %t8536 = icmp sge i32 %t8534, %t8535 br i1 %t8536, label %grow1793, label %put1794 grow1793: %t8537 = mul i32 %t8535, 2 %t8538 = icmp eq i32 %t8535, 0 %t8539 = select i1 %t8538, i32 8, i32 %t8537 %t8540 = getelementptr ptr, ptr null, i32 1 %t8541 = ptrtoint ptr %t8540 to i64 %t8542 = zext i32 %t8539 to i64 %t8543 = mul i64 %t8542, %t8541 %t8544 = load ptr, ptr %t8533 %t8545 = call ptr @realloc(ptr %t8544, i64 %t8543) store ptr %t8545, ptr %t8533 store i32 %t8539, ptr %t8532 br label %put1794 put1794: %t8546 = load ptr, ptr %t8533 %t8547 = getelementptr inbounds ptr, ptr %t8546, i32 %t8534 store ptr @.str7421, ptr %t8547 %t8548 = add i32 %t8534, 1 store i32 %t8548, ptr %t8531 %t8549 = load ptr, ptr %t387 %t8550 = getelementptr inbounds %LSlice, ptr %t8549, i32 0, i32 1 %t8551 = getelementptr inbounds %LSlice, ptr %t8549, i32 0, i32 2 %t8552 = getelementptr inbounds %LSlice, ptr %t8549, i32 0, i32 0 %t8553 = load i32, ptr %t8550 %t8554 = load i32, ptr %t8551 %t8555 = icmp sge i32 %t8553, %t8554 br i1 %t8555, label %grow1795, label %put1796 grow1795: %t8556 = mul i32 %t8554, 2 %t8557 = icmp eq i32 %t8554, 0 %t8558 = select i1 %t8557, i32 8, i32 %t8556 %t8559 = getelementptr ptr, ptr null, i32 1 %t8560 = ptrtoint ptr %t8559 to i64 %t8561 = zext i32 %t8558 to i64 %t8562 = mul i64 %t8561, %t8560 %t8563 = load ptr, ptr %t8552 %t8564 = call ptr @realloc(ptr %t8563, i64 %t8562) store ptr %t8564, ptr %t8552 store i32 %t8558, ptr %t8551 br label %put1796 put1796: %t8565 = load ptr, ptr %t8552 %t8566 = getelementptr inbounds ptr, ptr %t8565, i32 %t8553 store ptr @.str7422, ptr %t8566 %t8567 = add i32 %t8553, 1 store i32 %t8567, ptr %t8550 br label %ifend1792 ifend1792: %t8568 = load ptr, ptr %t1 %t8569 = call i32 @lp_str_eq(ptr %t8568, ptr @.str7423) %t8570 = icmp ne i32 %t8569, 0 br i1 %t8570, label %then1797, label %ifend1799 then1797: store ptr @.str7424, ptr %t380 %t8571 = load ptr, ptr %t387 %t8572 = getelementptr inbounds %LSlice, ptr %t8571, i32 0, i32 1 %t8573 = getelementptr inbounds %LSlice, ptr %t8571, i32 0, i32 2 %t8574 = getelementptr inbounds %LSlice, ptr %t8571, i32 0, i32 0 %t8575 = load i32, ptr %t8572 %t8576 = load i32, ptr %t8573 %t8577 = icmp sge i32 %t8575, %t8576 br i1 %t8577, label %grow1800, label %put1801 grow1800: %t8578 = mul i32 %t8576, 2 %t8579 = icmp eq i32 %t8576, 0 %t8580 = select i1 %t8579, i32 8, i32 %t8578 %t8581 = getelementptr ptr, ptr null, i32 1 %t8582 = ptrtoint ptr %t8581 to i64 %t8583 = zext i32 %t8580 to i64 %t8584 = mul i64 %t8583, %t8582 %t8585 = load ptr, ptr %t8574 %t8586 = call ptr @realloc(ptr %t8585, i64 %t8584) store ptr %t8586, ptr %t8574 store i32 %t8580, ptr %t8573 br label %put1801 put1801: %t8587 = load ptr, ptr %t8574 %t8588 = getelementptr inbounds ptr, ptr %t8587, i32 %t8575 store ptr @.str7425, ptr %t8588 %t8589 = add i32 %t8575, 1 store i32 %t8589, ptr %t8572 %t8590 = load ptr, ptr %t387 %t8591 = getelementptr inbounds %LSlice, ptr %t8590, i32 0, i32 1 %t8592 = getelementptr inbounds %LSlice, ptr %t8590, i32 0, i32 2 %t8593 = getelementptr inbounds %LSlice, ptr %t8590, i32 0, i32 0 %t8594 = load i32, ptr %t8591 %t8595 = load i32, ptr %t8592 %t8596 = icmp sge i32 %t8594, %t8595 br i1 %t8596, label %grow1802, label %put1803 grow1802: %t8597 = mul i32 %t8595, 2 %t8598 = icmp eq i32 %t8595, 0 %t8599 = select i1 %t8598, i32 8, i32 %t8597 %t8600 = getelementptr ptr, ptr null, i32 1 %t8601 = ptrtoint ptr %t8600 to i64 %t8602 = zext i32 %t8599 to i64 %t8603 = mul i64 %t8602, %t8601 %t8604 = load ptr, ptr %t8593 %t8605 = call ptr @realloc(ptr %t8604, i64 %t8603) store ptr %t8605, ptr %t8593 store i32 %t8599, ptr %t8592 br label %put1803 put1803: %t8606 = load ptr, ptr %t8593 %t8607 = getelementptr inbounds ptr, ptr %t8606, i32 %t8594 store ptr @.str7426, ptr %t8607 %t8608 = add i32 %t8594, 1 store i32 %t8608, ptr %t8591 br label %ifend1799 ifend1799: %t8609 = load ptr, ptr %t1 %t8610 = call i32 @lp_str_eq(ptr %t8609, ptr @.str7427) %t8611 = icmp ne i32 %t8610, 0 br i1 %t8611, label %then1804, label %ifend1806 then1804: store ptr @.str7428, ptr %t380 %t8612 = load ptr, ptr %t387 %t8613 = getelementptr inbounds %LSlice, ptr %t8612, i32 0, i32 1 %t8614 = getelementptr inbounds %LSlice, ptr %t8612, i32 0, i32 2 %t8615 = getelementptr inbounds %LSlice, ptr %t8612, i32 0, i32 0 %t8616 = load i32, ptr %t8613 %t8617 = load i32, ptr %t8614 %t8618 = icmp sge i32 %t8616, %t8617 br i1 %t8618, label %grow1807, label %put1808 grow1807: %t8619 = mul i32 %t8617, 2 %t8620 = icmp eq i32 %t8617, 0 %t8621 = select i1 %t8620, i32 8, i32 %t8619 %t8622 = getelementptr ptr, ptr null, i32 1 %t8623 = ptrtoint ptr %t8622 to i64 %t8624 = zext i32 %t8621 to i64 %t8625 = mul i64 %t8624, %t8623 %t8626 = load ptr, ptr %t8615 %t8627 = call ptr @realloc(ptr %t8626, i64 %t8625) store ptr %t8627, ptr %t8615 store i32 %t8621, ptr %t8614 br label %put1808 put1808: %t8628 = load ptr, ptr %t8615 %t8629 = getelementptr inbounds ptr, ptr %t8628, i32 %t8616 store ptr @.str7429, ptr %t8629 %t8630 = add i32 %t8616, 1 store i32 %t8630, ptr %t8613 %t8631 = load ptr, ptr %t387 %t8632 = getelementptr inbounds %LSlice, ptr %t8631, i32 0, i32 1 %t8633 = getelementptr inbounds %LSlice, ptr %t8631, i32 0, i32 2 %t8634 = getelementptr inbounds %LSlice, ptr %t8631, i32 0, i32 0 %t8635 = load i32, ptr %t8632 %t8636 = load i32, ptr %t8633 %t8637 = icmp sge i32 %t8635, %t8636 br i1 %t8637, label %grow1809, label %put1810 grow1809: %t8638 = mul i32 %t8636, 2 %t8639 = icmp eq i32 %t8636, 0 %t8640 = select i1 %t8639, i32 8, i32 %t8638 %t8641 = getelementptr ptr, ptr null, i32 1 %t8642 = ptrtoint ptr %t8641 to i64 %t8643 = zext i32 %t8640 to i64 %t8644 = mul i64 %t8643, %t8642 %t8645 = load ptr, ptr %t8634 %t8646 = call ptr @realloc(ptr %t8645, i64 %t8644) store ptr %t8646, ptr %t8634 store i32 %t8640, ptr %t8633 br label %put1810 put1810: %t8647 = load ptr, ptr %t8634 %t8648 = getelementptr inbounds ptr, ptr %t8647, i32 %t8635 store ptr @.str7430, ptr %t8648 %t8649 = add i32 %t8635, 1 store i32 %t8649, ptr %t8632 br label %ifend1806 ifend1806: %t8650 = load ptr, ptr %t1 %t8651 = call i32 @lp_str_eq(ptr %t8650, ptr @.str7431) %t8652 = icmp ne i32 %t8651, 0 br i1 %t8652, label %then1811, label %ifend1813 then1811: store ptr @.str7432, ptr %t380 %t8653 = load ptr, ptr %t387 %t8654 = getelementptr inbounds %LSlice, ptr %t8653, i32 0, i32 1 %t8655 = getelementptr inbounds %LSlice, ptr %t8653, i32 0, i32 2 %t8656 = getelementptr inbounds %LSlice, ptr %t8653, i32 0, i32 0 %t8657 = load i32, ptr %t8654 %t8658 = load i32, ptr %t8655 %t8659 = icmp sge i32 %t8657, %t8658 br i1 %t8659, label %grow1814, label %put1815 grow1814: %t8660 = mul i32 %t8658, 2 %t8661 = icmp eq i32 %t8658, 0 %t8662 = select i1 %t8661, i32 8, i32 %t8660 %t8663 = getelementptr ptr, ptr null, i32 1 %t8664 = ptrtoint ptr %t8663 to i64 %t8665 = zext i32 %t8662 to i64 %t8666 = mul i64 %t8665, %t8664 %t8667 = load ptr, ptr %t8656 %t8668 = call ptr @realloc(ptr %t8667, i64 %t8666) store ptr %t8668, ptr %t8656 store i32 %t8662, ptr %t8655 br label %put1815 put1815: %t8669 = load ptr, ptr %t8656 %t8670 = getelementptr inbounds ptr, ptr %t8669, i32 %t8657 store ptr @.str7433, ptr %t8670 %t8671 = add i32 %t8657, 1 store i32 %t8671, ptr %t8654 br label %ifend1813 ifend1813: %t8672 = load ptr, ptr %t1 %t8673 = call i32 @lp_str_eq(ptr %t8672, ptr @.str7434) %t8674 = icmp ne i32 %t8673, 0 br i1 %t8674, label %then1816, label %ifend1818 then1816: store ptr @.str7435, ptr %t380 %t8675 = load ptr, ptr %t387 %t8676 = getelementptr inbounds %LSlice, ptr %t8675, i32 0, i32 1 %t8677 = getelementptr inbounds %LSlice, ptr %t8675, i32 0, i32 2 %t8678 = getelementptr inbounds %LSlice, ptr %t8675, i32 0, i32 0 %t8679 = load i32, ptr %t8676 %t8680 = load i32, ptr %t8677 %t8681 = icmp sge i32 %t8679, %t8680 br i1 %t8681, label %grow1819, label %put1820 grow1819: %t8682 = mul i32 %t8680, 2 %t8683 = icmp eq i32 %t8680, 0 %t8684 = select i1 %t8683, i32 8, i32 %t8682 %t8685 = getelementptr ptr, ptr null, i32 1 %t8686 = ptrtoint ptr %t8685 to i64 %t8687 = zext i32 %t8684 to i64 %t8688 = mul i64 %t8687, %t8686 %t8689 = load ptr, ptr %t8678 %t8690 = call ptr @realloc(ptr %t8689, i64 %t8688) store ptr %t8690, ptr %t8678 store i32 %t8684, ptr %t8677 br label %put1820 put1820: %t8691 = load ptr, ptr %t8678 %t8692 = getelementptr inbounds ptr, ptr %t8691, i32 %t8679 store ptr @.str7436, ptr %t8692 %t8693 = add i32 %t8679, 1 store i32 %t8693, ptr %t8676 br label %ifend1818 ifend1818: %t8694 = load ptr, ptr %t1 %t8695 = call i32 @lp_str_eq(ptr %t8694, ptr @.str7437) %t8696 = icmp ne i32 %t8695, 0 br i1 %t8696, label %then1821, label %ifend1823 then1821: store ptr @.str7438, ptr %t380 %t8697 = load ptr, ptr %t387 %t8698 = getelementptr inbounds %LSlice, ptr %t8697, i32 0, i32 1 %t8699 = getelementptr inbounds %LSlice, ptr %t8697, i32 0, i32 2 %t8700 = getelementptr inbounds %LSlice, ptr %t8697, i32 0, i32 0 %t8701 = load i32, ptr %t8698 %t8702 = load i32, ptr %t8699 %t8703 = icmp sge i32 %t8701, %t8702 br i1 %t8703, label %grow1824, label %put1825 grow1824: %t8704 = mul i32 %t8702, 2 %t8705 = icmp eq i32 %t8702, 0 %t8706 = select i1 %t8705, i32 8, i32 %t8704 %t8707 = getelementptr ptr, ptr null, i32 1 %t8708 = ptrtoint ptr %t8707 to i64 %t8709 = zext i32 %t8706 to i64 %t8710 = mul i64 %t8709, %t8708 %t8711 = load ptr, ptr %t8700 %t8712 = call ptr @realloc(ptr %t8711, i64 %t8710) store ptr %t8712, ptr %t8700 store i32 %t8706, ptr %t8699 br label %put1825 put1825: %t8713 = load ptr, ptr %t8700 %t8714 = getelementptr inbounds ptr, ptr %t8713, i32 %t8701 store ptr @.str7439, ptr %t8714 %t8715 = add i32 %t8701, 1 store i32 %t8715, ptr %t8698 br label %ifend1823 ifend1823: %t8716 = load ptr, ptr %t1 %t8717 = call i32 @lp_str_eq(ptr %t8716, ptr @.str7440) %t8718 = icmp ne i32 %t8717, 0 br i1 %t8718, label %then1826, label %ifend1828 then1826: store ptr @.str7441, ptr %t380 %t8719 = load ptr, ptr %t387 %t8720 = getelementptr inbounds %LSlice, ptr %t8719, i32 0, i32 1 %t8721 = getelementptr inbounds %LSlice, ptr %t8719, i32 0, i32 2 %t8722 = getelementptr inbounds %LSlice, ptr %t8719, i32 0, i32 0 %t8723 = load i32, ptr %t8720 %t8724 = load i32, ptr %t8721 %t8725 = icmp sge i32 %t8723, %t8724 br i1 %t8725, label %grow1829, label %put1830 grow1829: %t8726 = mul i32 %t8724, 2 %t8727 = icmp eq i32 %t8724, 0 %t8728 = select i1 %t8727, i32 8, i32 %t8726 %t8729 = getelementptr ptr, ptr null, i32 1 %t8730 = ptrtoint ptr %t8729 to i64 %t8731 = zext i32 %t8728 to i64 %t8732 = mul i64 %t8731, %t8730 %t8733 = load ptr, ptr %t8722 %t8734 = call ptr @realloc(ptr %t8733, i64 %t8732) store ptr %t8734, ptr %t8722 store i32 %t8728, ptr %t8721 br label %put1830 put1830: %t8735 = load ptr, ptr %t8722 %t8736 = getelementptr inbounds ptr, ptr %t8735, i32 %t8723 store ptr @.str7442, ptr %t8736 %t8737 = add i32 %t8723, 1 store i32 %t8737, ptr %t8720 br label %ifend1828 ifend1828: %t8738 = load ptr, ptr %t1 %t8739 = call i32 @lp_str_eq(ptr %t8738, ptr @.str7443) %t8740 = icmp ne i32 %t8739, 0 br i1 %t8740, label %then1831, label %ifend1833 then1831: store ptr @.str7444, ptr %t380 %t8741 = load ptr, ptr %t387 %t8742 = getelementptr inbounds %LSlice, ptr %t8741, i32 0, i32 1 %t8743 = getelementptr inbounds %LSlice, ptr %t8741, i32 0, i32 2 %t8744 = getelementptr inbounds %LSlice, ptr %t8741, i32 0, i32 0 %t8745 = load i32, ptr %t8742 %t8746 = load i32, ptr %t8743 %t8747 = icmp sge i32 %t8745, %t8746 br i1 %t8747, label %grow1834, label %put1835 grow1834: %t8748 = mul i32 %t8746, 2 %t8749 = icmp eq i32 %t8746, 0 %t8750 = select i1 %t8749, i32 8, i32 %t8748 %t8751 = getelementptr ptr, ptr null, i32 1 %t8752 = ptrtoint ptr %t8751 to i64 %t8753 = zext i32 %t8750 to i64 %t8754 = mul i64 %t8753, %t8752 %t8755 = load ptr, ptr %t8744 %t8756 = call ptr @realloc(ptr %t8755, i64 %t8754) store ptr %t8756, ptr %t8744 store i32 %t8750, ptr %t8743 br label %put1835 put1835: %t8757 = load ptr, ptr %t8744 %t8758 = getelementptr inbounds ptr, ptr %t8757, i32 %t8745 store ptr @.str7445, ptr %t8758 %t8759 = add i32 %t8745, 1 store i32 %t8759, ptr %t8742 br label %ifend1833 ifend1833: %t8760 = load ptr, ptr %t1 %t8761 = call i32 @lp_str_eq(ptr %t8760, ptr @.str7446) %t8762 = icmp ne i32 %t8761, 0 br i1 %t8762, label %then1836, label %ifend1838 then1836: store ptr @.str7447, ptr %t380 %t8763 = load ptr, ptr %t387 %t8764 = getelementptr inbounds %LSlice, ptr %t8763, i32 0, i32 1 %t8765 = getelementptr inbounds %LSlice, ptr %t8763, i32 0, i32 2 %t8766 = getelementptr inbounds %LSlice, ptr %t8763, i32 0, i32 0 %t8767 = load i32, ptr %t8764 %t8768 = load i32, ptr %t8765 %t8769 = icmp sge i32 %t8767, %t8768 br i1 %t8769, label %grow1839, label %put1840 grow1839: %t8770 = mul i32 %t8768, 2 %t8771 = icmp eq i32 %t8768, 0 %t8772 = select i1 %t8771, i32 8, i32 %t8770 %t8773 = getelementptr ptr, ptr null, i32 1 %t8774 = ptrtoint ptr %t8773 to i64 %t8775 = zext i32 %t8772 to i64 %t8776 = mul i64 %t8775, %t8774 %t8777 = load ptr, ptr %t8766 %t8778 = call ptr @realloc(ptr %t8777, i64 %t8776) store ptr %t8778, ptr %t8766 store i32 %t8772, ptr %t8765 br label %put1840 put1840: %t8779 = load ptr, ptr %t8766 %t8780 = getelementptr inbounds ptr, ptr %t8779, i32 %t8767 store ptr @.str7448, ptr %t8780 %t8781 = add i32 %t8767, 1 store i32 %t8781, ptr %t8764 br label %ifend1838 ifend1838: %t8782 = load ptr, ptr %t1 %t8783 = call i32 @lp_str_eq(ptr %t8782, ptr @.str7449) %t8784 = icmp ne i32 %t8783, 0 br i1 %t8784, label %then1841, label %ifend1843 then1841: store ptr @.str7450, ptr %t380 %t8785 = load ptr, ptr %t387 %t8786 = getelementptr inbounds %LSlice, ptr %t8785, i32 0, i32 1 %t8787 = getelementptr inbounds %LSlice, ptr %t8785, i32 0, i32 2 %t8788 = getelementptr inbounds %LSlice, ptr %t8785, i32 0, i32 0 %t8789 = load i32, ptr %t8786 %t8790 = load i32, ptr %t8787 %t8791 = icmp sge i32 %t8789, %t8790 br i1 %t8791, label %grow1844, label %put1845 grow1844: %t8792 = mul i32 %t8790, 2 %t8793 = icmp eq i32 %t8790, 0 %t8794 = select i1 %t8793, i32 8, i32 %t8792 %t8795 = getelementptr ptr, ptr null, i32 1 %t8796 = ptrtoint ptr %t8795 to i64 %t8797 = zext i32 %t8794 to i64 %t8798 = mul i64 %t8797, %t8796 %t8799 = load ptr, ptr %t8788 %t8800 = call ptr @realloc(ptr %t8799, i64 %t8798) store ptr %t8800, ptr %t8788 store i32 %t8794, ptr %t8787 br label %put1845 put1845: %t8801 = load ptr, ptr %t8788 %t8802 = getelementptr inbounds ptr, ptr %t8801, i32 %t8789 store ptr @.str7451, ptr %t8802 %t8803 = add i32 %t8789, 1 store i32 %t8803, ptr %t8786 br label %ifend1843 ifend1843: %t8804 = load ptr, ptr %t1 %t8805 = call i32 @lp_str_eq(ptr %t8804, ptr @.str7452) %t8806 = icmp ne i32 %t8805, 0 br i1 %t8806, label %then1846, label %ifend1848 then1846: store ptr @.str7453, ptr %t380 %t8807 = load ptr, ptr %t387 %t8808 = getelementptr inbounds %LSlice, ptr %t8807, i32 0, i32 1 %t8809 = getelementptr inbounds %LSlice, ptr %t8807, i32 0, i32 2 %t8810 = getelementptr inbounds %LSlice, ptr %t8807, i32 0, i32 0 %t8811 = load i32, ptr %t8808 %t8812 = load i32, ptr %t8809 %t8813 = icmp sge i32 %t8811, %t8812 br i1 %t8813, label %grow1849, label %put1850 grow1849: %t8814 = mul i32 %t8812, 2 %t8815 = icmp eq i32 %t8812, 0 %t8816 = select i1 %t8815, i32 8, i32 %t8814 %t8817 = getelementptr ptr, ptr null, i32 1 %t8818 = ptrtoint ptr %t8817 to i64 %t8819 = zext i32 %t8816 to i64 %t8820 = mul i64 %t8819, %t8818 %t8821 = load ptr, ptr %t8810 %t8822 = call ptr @realloc(ptr %t8821, i64 %t8820) store ptr %t8822, ptr %t8810 store i32 %t8816, ptr %t8809 br label %put1850 put1850: %t8823 = load ptr, ptr %t8810 %t8824 = getelementptr inbounds ptr, ptr %t8823, i32 %t8811 store ptr @.str7454, ptr %t8824 %t8825 = add i32 %t8811, 1 store i32 %t8825, ptr %t8808 br label %ifend1848 ifend1848: %t8826 = load ptr, ptr %t1 %t8827 = call i32 @lp_str_eq(ptr %t8826, ptr @.str7455) %t8828 = icmp ne i32 %t8827, 0 br i1 %t8828, label %then1851, label %ifend1853 then1851: store ptr @.str7456, ptr %t380 br label %ifend1853 ifend1853: %t8829 = load ptr, ptr %t1 %t8830 = call i32 @lp_str_eq(ptr %t8829, ptr @.str7457) %t8831 = icmp ne i32 %t8830, 0 br i1 %t8831, label %then1854, label %ifend1856 then1854: store ptr @.str7458, ptr %t380 %t8832 = load ptr, ptr %t387 %t8833 = getelementptr inbounds %LSlice, ptr %t8832, i32 0, i32 1 %t8834 = getelementptr inbounds %LSlice, ptr %t8832, i32 0, i32 2 %t8835 = getelementptr inbounds %LSlice, ptr %t8832, i32 0, i32 0 %t8836 = load i32, ptr %t8833 %t8837 = load i32, ptr %t8834 %t8838 = icmp sge i32 %t8836, %t8837 br i1 %t8838, label %grow1857, label %put1858 grow1857: %t8839 = mul i32 %t8837, 2 %t8840 = icmp eq i32 %t8837, 0 %t8841 = select i1 %t8840, i32 8, i32 %t8839 %t8842 = getelementptr ptr, ptr null, i32 1 %t8843 = ptrtoint ptr %t8842 to i64 %t8844 = zext i32 %t8841 to i64 %t8845 = mul i64 %t8844, %t8843 %t8846 = load ptr, ptr %t8835 %t8847 = call ptr @realloc(ptr %t8846, i64 %t8845) store ptr %t8847, ptr %t8835 store i32 %t8841, ptr %t8834 br label %put1858 put1858: %t8848 = load ptr, ptr %t8835 %t8849 = getelementptr inbounds ptr, ptr %t8848, i32 %t8836 store ptr @.str7459, ptr %t8849 %t8850 = add i32 %t8836, 1 store i32 %t8850, ptr %t8833 br label %ifend1856 ifend1856: br label %ifend1786 ifend1786: %t8851 = load ptr, ptr %t0 %t8852 = call i32 @lp_str_eq(ptr %t8851, ptr @.str7460) %t8853 = icmp ne i32 %t8852, 0 br i1 %t8853, label %then1859, label %ifend1861 then1859: %t8854 = load ptr, ptr %t1 %t8855 = call i32 @lp_str_eq(ptr %t8854, ptr @.str7461) %t8856 = icmp ne i32 %t8855, 0 br i1 %t8856, label %then1862, label %ifend1864 then1862: store ptr @.str7462, ptr %t380 %t8857 = load ptr, ptr %t387 %t8858 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 1 %t8859 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 2 %t8860 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 0 %t8861 = load i32, ptr %t8858 %t8862 = load i32, ptr %t8859 %t8863 = icmp sge i32 %t8861, %t8862 br i1 %t8863, label %grow1865, label %put1866 grow1865: %t8864 = mul i32 %t8862, 2 %t8865 = icmp eq i32 %t8862, 0 %t8866 = select i1 %t8865, i32 8, i32 %t8864 %t8867 = getelementptr ptr, ptr null, i32 1 %t8868 = ptrtoint ptr %t8867 to i64 %t8869 = zext i32 %t8866 to i64 %t8870 = mul i64 %t8869, %t8868 %t8871 = load ptr, ptr %t8860 %t8872 = call ptr @realloc(ptr %t8871, i64 %t8870) store ptr %t8872, ptr %t8860 store i32 %t8866, ptr %t8859 br label %put1866 put1866: %t8873 = load ptr, ptr %t8860 %t8874 = getelementptr inbounds ptr, ptr %t8873, i32 %t8861 store ptr @.str7463, ptr %t8874 %t8875 = add i32 %t8861, 1 store i32 %t8875, ptr %t8858 br label %ifend1864 ifend1864: %t8876 = load ptr, ptr %t1 %t8877 = call i32 @lp_str_eq(ptr %t8876, ptr @.str7464) %t8878 = icmp ne i32 %t8877, 0 br i1 %t8878, label %then1867, label %ifend1869 then1867: store ptr @.str7465, ptr %t380 %t8879 = load ptr, ptr %t387 %t8880 = getelementptr inbounds %LSlice, ptr %t8879, i32 0, i32 1 %t8881 = getelementptr inbounds %LSlice, ptr %t8879, i32 0, i32 2 %t8882 = getelementptr inbounds %LSlice, ptr %t8879, i32 0, i32 0 %t8883 = load i32, ptr %t8880 %t8884 = load i32, ptr %t8881 %t8885 = icmp sge i32 %t8883, %t8884 br i1 %t8885, label %grow1870, label %put1871 grow1870: %t8886 = mul i32 %t8884, 2 %t8887 = icmp eq i32 %t8884, 0 %t8888 = select i1 %t8887, i32 8, i32 %t8886 %t8889 = getelementptr ptr, ptr null, i32 1 %t8890 = ptrtoint ptr %t8889 to i64 %t8891 = zext i32 %t8888 to i64 %t8892 = mul i64 %t8891, %t8890 %t8893 = load ptr, ptr %t8882 %t8894 = call ptr @realloc(ptr %t8893, i64 %t8892) store ptr %t8894, ptr %t8882 store i32 %t8888, ptr %t8881 br label %put1871 put1871: %t8895 = load ptr, ptr %t8882 %t8896 = getelementptr inbounds ptr, ptr %t8895, i32 %t8883 store ptr @.str7466, ptr %t8896 %t8897 = add i32 %t8883, 1 store i32 %t8897, ptr %t8880 br label %ifend1869 ifend1869: %t8898 = load ptr, ptr %t1 %t8899 = call i32 @lp_str_eq(ptr %t8898, ptr @.str7467) %t8900 = icmp ne i32 %t8899, 0 br i1 %t8900, label %then1872, label %ifend1874 then1872: store ptr @.str7468, ptr %t380 %t8901 = load ptr, ptr %t387 %t8902 = getelementptr inbounds %LSlice, ptr %t8901, i32 0, i32 1 %t8903 = getelementptr inbounds %LSlice, ptr %t8901, i32 0, i32 2 %t8904 = getelementptr inbounds %LSlice, ptr %t8901, i32 0, i32 0 %t8905 = load i32, ptr %t8902 %t8906 = load i32, ptr %t8903 %t8907 = icmp sge i32 %t8905, %t8906 br i1 %t8907, label %grow1875, label %put1876 grow1875: %t8908 = mul i32 %t8906, 2 %t8909 = icmp eq i32 %t8906, 0 %t8910 = select i1 %t8909, i32 8, i32 %t8908 %t8911 = getelementptr ptr, ptr null, i32 1 %t8912 = ptrtoint ptr %t8911 to i64 %t8913 = zext i32 %t8910 to i64 %t8914 = mul i64 %t8913, %t8912 %t8915 = load ptr, ptr %t8904 %t8916 = call ptr @realloc(ptr %t8915, i64 %t8914) store ptr %t8916, ptr %t8904 store i32 %t8910, ptr %t8903 br label %put1876 put1876: %t8917 = load ptr, ptr %t8904 %t8918 = getelementptr inbounds ptr, ptr %t8917, i32 %t8905 store ptr @.str7469, ptr %t8918 %t8919 = add i32 %t8905, 1 store i32 %t8919, ptr %t8902 br label %ifend1874 ifend1874: %t8920 = load ptr, ptr %t1 %t8921 = call i32 @lp_str_eq(ptr %t8920, ptr @.str7470) %t8922 = icmp ne i32 %t8921, 0 br i1 %t8922, label %then1877, label %ifend1879 then1877: store ptr @.str7471, ptr %t380 %t8923 = load ptr, ptr %t387 %t8924 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 1 %t8925 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 2 %t8926 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 0 %t8927 = load i32, ptr %t8924 %t8928 = load i32, ptr %t8925 %t8929 = icmp sge i32 %t8927, %t8928 br i1 %t8929, label %grow1880, label %put1881 grow1880: %t8930 = mul i32 %t8928, 2 %t8931 = icmp eq i32 %t8928, 0 %t8932 = select i1 %t8931, i32 8, i32 %t8930 %t8933 = getelementptr ptr, ptr null, i32 1 %t8934 = ptrtoint ptr %t8933 to i64 %t8935 = zext i32 %t8932 to i64 %t8936 = mul i64 %t8935, %t8934 %t8937 = load ptr, ptr %t8926 %t8938 = call ptr @realloc(ptr %t8937, i64 %t8936) store ptr %t8938, ptr %t8926 store i32 %t8932, ptr %t8925 br label %put1881 put1881: %t8939 = load ptr, ptr %t8926 %t8940 = getelementptr inbounds ptr, ptr %t8939, i32 %t8927 store ptr @.str7472, ptr %t8940 %t8941 = add i32 %t8927, 1 store i32 %t8941, ptr %t8924 br label %ifend1879 ifend1879: br label %ifend1861 ifend1861: %t8942 = load ptr, ptr %t0 %t8943 = call i32 @lp_str_eq(ptr %t8942, ptr @.str7473) %t8944 = icmp ne i32 %t8943, 0 br i1 %t8944, label %then1882, label %ifend1884 then1882: %t8945 = load ptr, ptr %t1 %t8946 = call i32 @lp_str_eq(ptr %t8945, ptr @.str7474) %t8947 = icmp ne i32 %t8946, 0 br i1 %t8947, label %then1885, label %ifend1887 then1885: store ptr @.str7475, ptr %t380 br label %ifend1887 ifend1887: %t8948 = load ptr, ptr %t1 %t8949 = call i32 @lp_str_eq(ptr %t8948, ptr @.str7476) %t8950 = icmp ne i32 %t8949, 0 br i1 %t8950, label %then1888, label %ifend1890 then1888: store ptr @.str7477, ptr %t380 %t8951 = load ptr, ptr %t387 %t8952 = getelementptr inbounds %LSlice, ptr %t8951, i32 0, i32 1 %t8953 = getelementptr inbounds %LSlice, ptr %t8951, i32 0, i32 2 %t8954 = getelementptr inbounds %LSlice, ptr %t8951, i32 0, i32 0 %t8955 = load i32, ptr %t8952 %t8956 = load i32, ptr %t8953 %t8957 = icmp sge i32 %t8955, %t8956 br i1 %t8957, label %grow1891, label %put1892 grow1891: %t8958 = mul i32 %t8956, 2 %t8959 = icmp eq i32 %t8956, 0 %t8960 = select i1 %t8959, i32 8, i32 %t8958 %t8961 = getelementptr ptr, ptr null, i32 1 %t8962 = ptrtoint ptr %t8961 to i64 %t8963 = zext i32 %t8960 to i64 %t8964 = mul i64 %t8963, %t8962 %t8965 = load ptr, ptr %t8954 %t8966 = call ptr @realloc(ptr %t8965, i64 %t8964) store ptr %t8966, ptr %t8954 store i32 %t8960, ptr %t8953 br label %put1892 put1892: %t8967 = load ptr, ptr %t8954 %t8968 = getelementptr inbounds ptr, ptr %t8967, i32 %t8955 store ptr @.str7478, ptr %t8968 %t8969 = add i32 %t8955, 1 store i32 %t8969, ptr %t8952 br label %ifend1890 ifend1890: %t8970 = load ptr, ptr %t1 %t8971 = call i32 @lp_str_eq(ptr %t8970, ptr @.str7479) %t8972 = icmp ne i32 %t8971, 0 br i1 %t8972, label %then1893, label %ifend1895 then1893: store ptr @.str7480, ptr %t380 %t8973 = load ptr, ptr %t387 %t8974 = getelementptr inbounds %LSlice, ptr %t8973, i32 0, i32 1 %t8975 = getelementptr inbounds %LSlice, ptr %t8973, i32 0, i32 2 %t8976 = getelementptr inbounds %LSlice, ptr %t8973, i32 0, i32 0 %t8977 = load i32, ptr %t8974 %t8978 = load i32, ptr %t8975 %t8979 = icmp sge i32 %t8977, %t8978 br i1 %t8979, label %grow1896, label %put1897 grow1896: %t8980 = mul i32 %t8978, 2 %t8981 = icmp eq i32 %t8978, 0 %t8982 = select i1 %t8981, i32 8, i32 %t8980 %t8983 = getelementptr ptr, ptr null, i32 1 %t8984 = ptrtoint ptr %t8983 to i64 %t8985 = zext i32 %t8982 to i64 %t8986 = mul i64 %t8985, %t8984 %t8987 = load ptr, ptr %t8976 %t8988 = call ptr @realloc(ptr %t8987, i64 %t8986) store ptr %t8988, ptr %t8976 store i32 %t8982, ptr %t8975 br label %put1897 put1897: %t8989 = load ptr, ptr %t8976 %t8990 = getelementptr inbounds ptr, ptr %t8989, i32 %t8977 store ptr @.str7481, ptr %t8990 %t8991 = add i32 %t8977, 1 store i32 %t8991, ptr %t8974 br label %ifend1895 ifend1895: %t8992 = load ptr, ptr %t1 %t8993 = call i32 @lp_str_eq(ptr %t8992, ptr @.str7482) %t8994 = icmp ne i32 %t8993, 0 br i1 %t8994, label %then1898, label %ifend1900 then1898: store ptr @.str7483, ptr %t380 %t8995 = load ptr, ptr %t387 %t8996 = getelementptr inbounds %LSlice, ptr %t8995, i32 0, i32 1 %t8997 = getelementptr inbounds %LSlice, ptr %t8995, i32 0, i32 2 %t8998 = getelementptr inbounds %LSlice, ptr %t8995, i32 0, i32 0 %t8999 = load i32, ptr %t8996 %t9000 = load i32, ptr %t8997 %t9001 = icmp sge i32 %t8999, %t9000 br i1 %t9001, label %grow1901, label %put1902 grow1901: %t9002 = mul i32 %t9000, 2 %t9003 = icmp eq i32 %t9000, 0 %t9004 = select i1 %t9003, i32 8, i32 %t9002 %t9005 = getelementptr ptr, ptr null, i32 1 %t9006 = ptrtoint ptr %t9005 to i64 %t9007 = zext i32 %t9004 to i64 %t9008 = mul i64 %t9007, %t9006 %t9009 = load ptr, ptr %t8998 %t9010 = call ptr @realloc(ptr %t9009, i64 %t9008) store ptr %t9010, ptr %t8998 store i32 %t9004, ptr %t8997 br label %put1902 put1902: %t9011 = load ptr, ptr %t8998 %t9012 = getelementptr inbounds ptr, ptr %t9011, i32 %t8999 store ptr @.str7484, ptr %t9012 %t9013 = add i32 %t8999, 1 store i32 %t9013, ptr %t8996 br label %ifend1900 ifend1900: %t9014 = load ptr, ptr %t1 %t9015 = call i32 @lp_str_eq(ptr %t9014, ptr @.str7485) %t9016 = icmp ne i32 %t9015, 0 br i1 %t9016, label %then1903, label %ifend1905 then1903: store ptr @.str7486, ptr %t380 br label %ifend1905 ifend1905: %t9017 = load ptr, ptr %t1 %t9018 = call i32 @lp_str_eq(ptr %t9017, ptr @.str7487) %t9019 = icmp ne i32 %t9018, 0 br i1 %t9019, label %then1906, label %ifend1908 then1906: store ptr @.str7488, ptr %t380 %t9020 = load ptr, ptr %t387 %t9021 = getelementptr inbounds %LSlice, ptr %t9020, i32 0, i32 1 %t9022 = getelementptr inbounds %LSlice, ptr %t9020, i32 0, i32 2 %t9023 = getelementptr inbounds %LSlice, ptr %t9020, i32 0, i32 0 %t9024 = load i32, ptr %t9021 %t9025 = load i32, ptr %t9022 %t9026 = icmp sge i32 %t9024, %t9025 br i1 %t9026, label %grow1909, label %put1910 grow1909: %t9027 = mul i32 %t9025, 2 %t9028 = icmp eq i32 %t9025, 0 %t9029 = select i1 %t9028, i32 8, i32 %t9027 %t9030 = getelementptr ptr, ptr null, i32 1 %t9031 = ptrtoint ptr %t9030 to i64 %t9032 = zext i32 %t9029 to i64 %t9033 = mul i64 %t9032, %t9031 %t9034 = load ptr, ptr %t9023 %t9035 = call ptr @realloc(ptr %t9034, i64 %t9033) store ptr %t9035, ptr %t9023 store i32 %t9029, ptr %t9022 br label %put1910 put1910: %t9036 = load ptr, ptr %t9023 %t9037 = getelementptr inbounds ptr, ptr %t9036, i32 %t9024 store ptr @.str7489, ptr %t9037 %t9038 = add i32 %t9024, 1 store i32 %t9038, ptr %t9021 br label %ifend1908 ifend1908: %t9039 = load ptr, ptr %t1 %t9040 = call i32 @lp_str_eq(ptr %t9039, ptr @.str7490) %t9041 = icmp ne i32 %t9040, 0 br i1 %t9041, label %then1911, label %ifend1913 then1911: store ptr @.str7491, ptr %t380 %t9042 = load ptr, ptr %t387 %t9043 = getelementptr inbounds %LSlice, ptr %t9042, i32 0, i32 1 %t9044 = getelementptr inbounds %LSlice, ptr %t9042, i32 0, i32 2 %t9045 = getelementptr inbounds %LSlice, ptr %t9042, i32 0, i32 0 %t9046 = load i32, ptr %t9043 %t9047 = load i32, ptr %t9044 %t9048 = icmp sge i32 %t9046, %t9047 br i1 %t9048, label %grow1914, label %put1915 grow1914: %t9049 = mul i32 %t9047, 2 %t9050 = icmp eq i32 %t9047, 0 %t9051 = select i1 %t9050, i32 8, i32 %t9049 %t9052 = getelementptr ptr, ptr null, i32 1 %t9053 = ptrtoint ptr %t9052 to i64 %t9054 = zext i32 %t9051 to i64 %t9055 = mul i64 %t9054, %t9053 %t9056 = load ptr, ptr %t9045 %t9057 = call ptr @realloc(ptr %t9056, i64 %t9055) store ptr %t9057, ptr %t9045 store i32 %t9051, ptr %t9044 br label %put1915 put1915: %t9058 = load ptr, ptr %t9045 %t9059 = getelementptr inbounds ptr, ptr %t9058, i32 %t9046 store ptr @.str7492, ptr %t9059 %t9060 = add i32 %t9046, 1 store i32 %t9060, ptr %t9043 %t9061 = load ptr, ptr %t387 %t9062 = getelementptr inbounds %LSlice, ptr %t9061, i32 0, i32 1 %t9063 = getelementptr inbounds %LSlice, ptr %t9061, i32 0, i32 2 %t9064 = getelementptr inbounds %LSlice, ptr %t9061, i32 0, i32 0 %t9065 = load i32, ptr %t9062 %t9066 = load i32, ptr %t9063 %t9067 = icmp sge i32 %t9065, %t9066 br i1 %t9067, label %grow1916, label %put1917 grow1916: %t9068 = mul i32 %t9066, 2 %t9069 = icmp eq i32 %t9066, 0 %t9070 = select i1 %t9069, i32 8, i32 %t9068 %t9071 = getelementptr ptr, ptr null, i32 1 %t9072 = ptrtoint ptr %t9071 to i64 %t9073 = zext i32 %t9070 to i64 %t9074 = mul i64 %t9073, %t9072 %t9075 = load ptr, ptr %t9064 %t9076 = call ptr @realloc(ptr %t9075, i64 %t9074) store ptr %t9076, ptr %t9064 store i32 %t9070, ptr %t9063 br label %put1917 put1917: %t9077 = load ptr, ptr %t9064 %t9078 = getelementptr inbounds ptr, ptr %t9077, i32 %t9065 store ptr @.str7493, ptr %t9078 %t9079 = add i32 %t9065, 1 store i32 %t9079, ptr %t9062 br label %ifend1913 ifend1913: %t9080 = load ptr, ptr %t1 %t9081 = call i32 @lp_str_eq(ptr %t9080, ptr @.str7494) %t9082 = icmp ne i32 %t9081, 0 br i1 %t9082, label %then1918, label %ifend1920 then1918: store ptr @.str7495, ptr %t380 %t9083 = load ptr, ptr %t387 %t9084 = getelementptr inbounds %LSlice, ptr %t9083, i32 0, i32 1 %t9085 = getelementptr inbounds %LSlice, ptr %t9083, i32 0, i32 2 %t9086 = getelementptr inbounds %LSlice, ptr %t9083, i32 0, i32 0 %t9087 = load i32, ptr %t9084 %t9088 = load i32, ptr %t9085 %t9089 = icmp sge i32 %t9087, %t9088 br i1 %t9089, label %grow1921, label %put1922 grow1921: %t9090 = mul i32 %t9088, 2 %t9091 = icmp eq i32 %t9088, 0 %t9092 = select i1 %t9091, i32 8, i32 %t9090 %t9093 = getelementptr ptr, ptr null, i32 1 %t9094 = ptrtoint ptr %t9093 to i64 %t9095 = zext i32 %t9092 to i64 %t9096 = mul i64 %t9095, %t9094 %t9097 = load ptr, ptr %t9086 %t9098 = call ptr @realloc(ptr %t9097, i64 %t9096) store ptr %t9098, ptr %t9086 store i32 %t9092, ptr %t9085 br label %put1922 put1922: %t9099 = load ptr, ptr %t9086 %t9100 = getelementptr inbounds ptr, ptr %t9099, i32 %t9087 store ptr @.str7496, ptr %t9100 %t9101 = add i32 %t9087, 1 store i32 %t9101, ptr %t9084 %t9102 = load ptr, ptr %t387 %t9103 = getelementptr inbounds %LSlice, ptr %t9102, i32 0, i32 1 %t9104 = getelementptr inbounds %LSlice, ptr %t9102, i32 0, i32 2 %t9105 = getelementptr inbounds %LSlice, ptr %t9102, i32 0, i32 0 %t9106 = load i32, ptr %t9103 %t9107 = load i32, ptr %t9104 %t9108 = icmp sge i32 %t9106, %t9107 br i1 %t9108, label %grow1923, label %put1924 grow1923: %t9109 = mul i32 %t9107, 2 %t9110 = icmp eq i32 %t9107, 0 %t9111 = select i1 %t9110, i32 8, i32 %t9109 %t9112 = getelementptr ptr, ptr null, i32 1 %t9113 = ptrtoint ptr %t9112 to i64 %t9114 = zext i32 %t9111 to i64 %t9115 = mul i64 %t9114, %t9113 %t9116 = load ptr, ptr %t9105 %t9117 = call ptr @realloc(ptr %t9116, i64 %t9115) store ptr %t9117, ptr %t9105 store i32 %t9111, ptr %t9104 br label %put1924 put1924: %t9118 = load ptr, ptr %t9105 %t9119 = getelementptr inbounds ptr, ptr %t9118, i32 %t9106 store ptr @.str7497, ptr %t9119 %t9120 = add i32 %t9106, 1 store i32 %t9120, ptr %t9103 br label %ifend1920 ifend1920: %t9121 = load ptr, ptr %t1 %t9122 = call i32 @lp_str_eq(ptr %t9121, ptr @.str7498) %t9123 = icmp ne i32 %t9122, 0 br i1 %t9123, label %then1925, label %ifend1927 then1925: store ptr @.str7499, ptr %t380 %t9124 = load ptr, ptr %t387 %t9125 = getelementptr inbounds %LSlice, ptr %t9124, i32 0, i32 1 %t9126 = getelementptr inbounds %LSlice, ptr %t9124, i32 0, i32 2 %t9127 = getelementptr inbounds %LSlice, ptr %t9124, i32 0, i32 0 %t9128 = load i32, ptr %t9125 %t9129 = load i32, ptr %t9126 %t9130 = icmp sge i32 %t9128, %t9129 br i1 %t9130, label %grow1928, label %put1929 grow1928: %t9131 = mul i32 %t9129, 2 %t9132 = icmp eq i32 %t9129, 0 %t9133 = select i1 %t9132, i32 8, i32 %t9131 %t9134 = getelementptr ptr, ptr null, i32 1 %t9135 = ptrtoint ptr %t9134 to i64 %t9136 = zext i32 %t9133 to i64 %t9137 = mul i64 %t9136, %t9135 %t9138 = load ptr, ptr %t9127 %t9139 = call ptr @realloc(ptr %t9138, i64 %t9137) store ptr %t9139, ptr %t9127 store i32 %t9133, ptr %t9126 br label %put1929 put1929: %t9140 = load ptr, ptr %t9127 %t9141 = getelementptr inbounds ptr, ptr %t9140, i32 %t9128 store ptr @.str7500, ptr %t9141 %t9142 = add i32 %t9128, 1 store i32 %t9142, ptr %t9125 %t9143 = load ptr, ptr %t387 %t9144 = getelementptr inbounds %LSlice, ptr %t9143, i32 0, i32 1 %t9145 = getelementptr inbounds %LSlice, ptr %t9143, i32 0, i32 2 %t9146 = getelementptr inbounds %LSlice, ptr %t9143, i32 0, i32 0 %t9147 = load i32, ptr %t9144 %t9148 = load i32, ptr %t9145 %t9149 = icmp sge i32 %t9147, %t9148 br i1 %t9149, label %grow1930, label %put1931 grow1930: %t9150 = mul i32 %t9148, 2 %t9151 = icmp eq i32 %t9148, 0 %t9152 = select i1 %t9151, i32 8, i32 %t9150 %t9153 = getelementptr ptr, ptr null, i32 1 %t9154 = ptrtoint ptr %t9153 to i64 %t9155 = zext i32 %t9152 to i64 %t9156 = mul i64 %t9155, %t9154 %t9157 = load ptr, ptr %t9146 %t9158 = call ptr @realloc(ptr %t9157, i64 %t9156) store ptr %t9158, ptr %t9146 store i32 %t9152, ptr %t9145 br label %put1931 put1931: %t9159 = load ptr, ptr %t9146 %t9160 = getelementptr inbounds ptr, ptr %t9159, i32 %t9147 store ptr @.str7501, ptr %t9160 %t9161 = add i32 %t9147, 1 store i32 %t9161, ptr %t9144 %t9162 = load ptr, ptr %t387 %t9163 = getelementptr inbounds %LSlice, ptr %t9162, i32 0, i32 1 %t9164 = getelementptr inbounds %LSlice, ptr %t9162, i32 0, i32 2 %t9165 = getelementptr inbounds %LSlice, ptr %t9162, i32 0, i32 0 %t9166 = load i32, ptr %t9163 %t9167 = load i32, ptr %t9164 %t9168 = icmp sge i32 %t9166, %t9167 br i1 %t9168, label %grow1932, label %put1933 grow1932: %t9169 = mul i32 %t9167, 2 %t9170 = icmp eq i32 %t9167, 0 %t9171 = select i1 %t9170, i32 8, i32 %t9169 %t9172 = getelementptr ptr, ptr null, i32 1 %t9173 = ptrtoint ptr %t9172 to i64 %t9174 = zext i32 %t9171 to i64 %t9175 = mul i64 %t9174, %t9173 %t9176 = load ptr, ptr %t9165 %t9177 = call ptr @realloc(ptr %t9176, i64 %t9175) store ptr %t9177, ptr %t9165 store i32 %t9171, ptr %t9164 br label %put1933 put1933: %t9178 = load ptr, ptr %t9165 %t9179 = getelementptr inbounds ptr, ptr %t9178, i32 %t9166 store ptr @.str7502, ptr %t9179 %t9180 = add i32 %t9166, 1 store i32 %t9180, ptr %t9163 br label %ifend1927 ifend1927: %t9181 = load ptr, ptr %t1 %t9182 = call i32 @lp_str_eq(ptr %t9181, ptr @.str7503) %t9183 = icmp ne i32 %t9182, 0 br i1 %t9183, label %then1934, label %ifend1936 then1934: store ptr @.str7504, ptr %t380 br label %ifend1936 ifend1936: %t9184 = load ptr, ptr %t1 %t9185 = call i32 @lp_str_eq(ptr %t9184, ptr @.str7505) %t9186 = icmp ne i32 %t9185, 0 br i1 %t9186, label %then1937, label %ifend1939 then1937: store ptr @.str7506, ptr %t380 %t9187 = load ptr, ptr %t387 %t9188 = getelementptr inbounds %LSlice, ptr %t9187, i32 0, i32 1 %t9189 = getelementptr inbounds %LSlice, ptr %t9187, i32 0, i32 2 %t9190 = getelementptr inbounds %LSlice, ptr %t9187, i32 0, i32 0 %t9191 = load i32, ptr %t9188 %t9192 = load i32, ptr %t9189 %t9193 = icmp sge i32 %t9191, %t9192 br i1 %t9193, label %grow1940, label %put1941 grow1940: %t9194 = mul i32 %t9192, 2 %t9195 = icmp eq i32 %t9192, 0 %t9196 = select i1 %t9195, i32 8, i32 %t9194 %t9197 = getelementptr ptr, ptr null, i32 1 %t9198 = ptrtoint ptr %t9197 to i64 %t9199 = zext i32 %t9196 to i64 %t9200 = mul i64 %t9199, %t9198 %t9201 = load ptr, ptr %t9190 %t9202 = call ptr @realloc(ptr %t9201, i64 %t9200) store ptr %t9202, ptr %t9190 store i32 %t9196, ptr %t9189 br label %put1941 put1941: %t9203 = load ptr, ptr %t9190 %t9204 = getelementptr inbounds ptr, ptr %t9203, i32 %t9191 store ptr @.str7507, ptr %t9204 %t9205 = add i32 %t9191, 1 store i32 %t9205, ptr %t9188 %t9206 = load ptr, ptr %t387 %t9207 = getelementptr inbounds %LSlice, ptr %t9206, i32 0, i32 1 %t9208 = getelementptr inbounds %LSlice, ptr %t9206, i32 0, i32 2 %t9209 = getelementptr inbounds %LSlice, ptr %t9206, i32 0, i32 0 %t9210 = load i32, ptr %t9207 %t9211 = load i32, ptr %t9208 %t9212 = icmp sge i32 %t9210, %t9211 br i1 %t9212, label %grow1942, label %put1943 grow1942: %t9213 = mul i32 %t9211, 2 %t9214 = icmp eq i32 %t9211, 0 %t9215 = select i1 %t9214, i32 8, i32 %t9213 %t9216 = getelementptr ptr, ptr null, i32 1 %t9217 = ptrtoint ptr %t9216 to i64 %t9218 = zext i32 %t9215 to i64 %t9219 = mul i64 %t9218, %t9217 %t9220 = load ptr, ptr %t9209 %t9221 = call ptr @realloc(ptr %t9220, i64 %t9219) store ptr %t9221, ptr %t9209 store i32 %t9215, ptr %t9208 br label %put1943 put1943: %t9222 = load ptr, ptr %t9209 %t9223 = getelementptr inbounds ptr, ptr %t9222, i32 %t9210 store ptr @.str7508, ptr %t9223 %t9224 = add i32 %t9210, 1 store i32 %t9224, ptr %t9207 br label %ifend1939 ifend1939: %t9225 = load ptr, ptr %t1 %t9226 = call i32 @lp_str_eq(ptr %t9225, ptr @.str7509) %t9227 = icmp ne i32 %t9226, 0 br i1 %t9227, label %then1944, label %ifend1946 then1944: store ptr @.str7510, ptr %t380 %t9228 = load ptr, ptr %t387 %t9229 = getelementptr inbounds %LSlice, ptr %t9228, i32 0, i32 1 %t9230 = getelementptr inbounds %LSlice, ptr %t9228, i32 0, i32 2 %t9231 = getelementptr inbounds %LSlice, ptr %t9228, i32 0, i32 0 %t9232 = load i32, ptr %t9229 %t9233 = load i32, ptr %t9230 %t9234 = icmp sge i32 %t9232, %t9233 br i1 %t9234, label %grow1947, label %put1948 grow1947: %t9235 = mul i32 %t9233, 2 %t9236 = icmp eq i32 %t9233, 0 %t9237 = select i1 %t9236, i32 8, i32 %t9235 %t9238 = getelementptr ptr, ptr null, i32 1 %t9239 = ptrtoint ptr %t9238 to i64 %t9240 = zext i32 %t9237 to i64 %t9241 = mul i64 %t9240, %t9239 %t9242 = load ptr, ptr %t9231 %t9243 = call ptr @realloc(ptr %t9242, i64 %t9241) store ptr %t9243, ptr %t9231 store i32 %t9237, ptr %t9230 br label %put1948 put1948: %t9244 = load ptr, ptr %t9231 %t9245 = getelementptr inbounds ptr, ptr %t9244, i32 %t9232 store ptr @.str7511, ptr %t9245 %t9246 = add i32 %t9232, 1 store i32 %t9246, ptr %t9229 br label %ifend1946 ifend1946: %t9247 = load ptr, ptr %t1 %t9248 = call i32 @lp_str_eq(ptr %t9247, ptr @.str7512) %t9249 = icmp ne i32 %t9248, 0 br i1 %t9249, label %then1949, label %ifend1951 then1949: store ptr @.str7513, ptr %t380 %t9250 = load ptr, ptr %t387 %t9251 = getelementptr inbounds %LSlice, ptr %t9250, i32 0, i32 1 %t9252 = getelementptr inbounds %LSlice, ptr %t9250, i32 0, i32 2 %t9253 = getelementptr inbounds %LSlice, ptr %t9250, i32 0, i32 0 %t9254 = load i32, ptr %t9251 %t9255 = load i32, ptr %t9252 %t9256 = icmp sge i32 %t9254, %t9255 br i1 %t9256, label %grow1952, label %put1953 grow1952: %t9257 = mul i32 %t9255, 2 %t9258 = icmp eq i32 %t9255, 0 %t9259 = select i1 %t9258, i32 8, i32 %t9257 %t9260 = getelementptr ptr, ptr null, i32 1 %t9261 = ptrtoint ptr %t9260 to i64 %t9262 = zext i32 %t9259 to i64 %t9263 = mul i64 %t9262, %t9261 %t9264 = load ptr, ptr %t9253 %t9265 = call ptr @realloc(ptr %t9264, i64 %t9263) store ptr %t9265, ptr %t9253 store i32 %t9259, ptr %t9252 br label %put1953 put1953: %t9266 = load ptr, ptr %t9253 %t9267 = getelementptr inbounds ptr, ptr %t9266, i32 %t9254 store ptr @.str7514, ptr %t9267 %t9268 = add i32 %t9254, 1 store i32 %t9268, ptr %t9251 br label %ifend1951 ifend1951: %t9269 = load ptr, ptr %t1 %t9270 = call i32 @lp_str_eq(ptr %t9269, ptr @.str7515) %t9271 = icmp ne i32 %t9270, 0 br i1 %t9271, label %then1954, label %ifend1956 then1954: store ptr @.str7516, ptr %t380 %t9272 = load ptr, ptr %t387 %t9273 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 1 %t9274 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 2 %t9275 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 0 %t9276 = load i32, ptr %t9273 %t9277 = load i32, ptr %t9274 %t9278 = icmp sge i32 %t9276, %t9277 br i1 %t9278, label %grow1957, label %put1958 grow1957: %t9279 = mul i32 %t9277, 2 %t9280 = icmp eq i32 %t9277, 0 %t9281 = select i1 %t9280, i32 8, i32 %t9279 %t9282 = getelementptr ptr, ptr null, i32 1 %t9283 = ptrtoint ptr %t9282 to i64 %t9284 = zext i32 %t9281 to i64 %t9285 = mul i64 %t9284, %t9283 %t9286 = load ptr, ptr %t9275 %t9287 = call ptr @realloc(ptr %t9286, i64 %t9285) store ptr %t9287, ptr %t9275 store i32 %t9281, ptr %t9274 br label %put1958 put1958: %t9288 = load ptr, ptr %t9275 %t9289 = getelementptr inbounds ptr, ptr %t9288, i32 %t9276 store ptr @.str7517, ptr %t9289 %t9290 = add i32 %t9276, 1 store i32 %t9290, ptr %t9273 br label %ifend1956 ifend1956: %t9291 = load ptr, ptr %t1 %t9292 = call i32 @lp_str_eq(ptr %t9291, ptr @.str7518) %t9293 = icmp ne i32 %t9292, 0 br i1 %t9293, label %then1959, label %ifend1961 then1959: store ptr @.str7519, ptr %t380 br label %ifend1961 ifend1961: br label %ifend1884 ifend1884: %t9294 = load ptr, ptr %t0 %t9295 = call i32 @lp_str_eq(ptr %t9294, ptr @.str7520) %t9296 = icmp ne i32 %t9295, 0 br i1 %t9296, label %then1962, label %ifend1964 then1962: %t9297 = load ptr, ptr %t1 %t9298 = call i32 @lp_str_eq(ptr %t9297, ptr @.str7521) %t9299 = icmp ne i32 %t9298, 0 br i1 %t9299, label %then1965, label %ifend1967 then1965: store ptr @.str7522, ptr %t380 %t9300 = load ptr, ptr %t387 %t9301 = getelementptr inbounds %LSlice, ptr %t9300, i32 0, i32 1 %t9302 = getelementptr inbounds %LSlice, ptr %t9300, i32 0, i32 2 %t9303 = getelementptr inbounds %LSlice, ptr %t9300, i32 0, i32 0 %t9304 = load i32, ptr %t9301 %t9305 = load i32, ptr %t9302 %t9306 = icmp sge i32 %t9304, %t9305 br i1 %t9306, label %grow1968, label %put1969 grow1968: %t9307 = mul i32 %t9305, 2 %t9308 = icmp eq i32 %t9305, 0 %t9309 = select i1 %t9308, i32 8, i32 %t9307 %t9310 = getelementptr ptr, ptr null, i32 1 %t9311 = ptrtoint ptr %t9310 to i64 %t9312 = zext i32 %t9309 to i64 %t9313 = mul i64 %t9312, %t9311 %t9314 = load ptr, ptr %t9303 %t9315 = call ptr @realloc(ptr %t9314, i64 %t9313) store ptr %t9315, ptr %t9303 store i32 %t9309, ptr %t9302 br label %put1969 put1969: %t9316 = load ptr, ptr %t9303 %t9317 = getelementptr inbounds ptr, ptr %t9316, i32 %t9304 store ptr @.str7523, ptr %t9317 %t9318 = add i32 %t9304, 1 store i32 %t9318, ptr %t9301 br label %ifend1967 ifend1967: %t9319 = load ptr, ptr %t1 %t9320 = call i32 @lp_str_eq(ptr %t9319, ptr @.str7524) %t9321 = icmp ne i32 %t9320, 0 br i1 %t9321, label %then1970, label %ifend1972 then1970: store ptr @.str7525, ptr %t380 %t9322 = load ptr, ptr %t387 %t9323 = getelementptr inbounds %LSlice, ptr %t9322, i32 0, i32 1 %t9324 = getelementptr inbounds %LSlice, ptr %t9322, i32 0, i32 2 %t9325 = getelementptr inbounds %LSlice, ptr %t9322, i32 0, i32 0 %t9326 = load i32, ptr %t9323 %t9327 = load i32, ptr %t9324 %t9328 = icmp sge i32 %t9326, %t9327 br i1 %t9328, label %grow1973, label %put1974 grow1973: %t9329 = mul i32 %t9327, 2 %t9330 = icmp eq i32 %t9327, 0 %t9331 = select i1 %t9330, i32 8, i32 %t9329 %t9332 = getelementptr ptr, ptr null, i32 1 %t9333 = ptrtoint ptr %t9332 to i64 %t9334 = zext i32 %t9331 to i64 %t9335 = mul i64 %t9334, %t9333 %t9336 = load ptr, ptr %t9325 %t9337 = call ptr @realloc(ptr %t9336, i64 %t9335) store ptr %t9337, ptr %t9325 store i32 %t9331, ptr %t9324 br label %put1974 put1974: %t9338 = load ptr, ptr %t9325 %t9339 = getelementptr inbounds ptr, ptr %t9338, i32 %t9326 store ptr @.str7526, ptr %t9339 %t9340 = add i32 %t9326, 1 store i32 %t9340, ptr %t9323 %t9341 = load ptr, ptr %t387 %t9342 = getelementptr inbounds %LSlice, ptr %t9341, i32 0, i32 1 %t9343 = getelementptr inbounds %LSlice, ptr %t9341, i32 0, i32 2 %t9344 = getelementptr inbounds %LSlice, ptr %t9341, i32 0, i32 0 %t9345 = load i32, ptr %t9342 %t9346 = load i32, ptr %t9343 %t9347 = icmp sge i32 %t9345, %t9346 br i1 %t9347, label %grow1975, label %put1976 grow1975: %t9348 = mul i32 %t9346, 2 %t9349 = icmp eq i32 %t9346, 0 %t9350 = select i1 %t9349, i32 8, i32 %t9348 %t9351 = getelementptr ptr, ptr null, i32 1 %t9352 = ptrtoint ptr %t9351 to i64 %t9353 = zext i32 %t9350 to i64 %t9354 = mul i64 %t9353, %t9352 %t9355 = load ptr, ptr %t9344 %t9356 = call ptr @realloc(ptr %t9355, i64 %t9354) store ptr %t9356, ptr %t9344 store i32 %t9350, ptr %t9343 br label %put1976 put1976: %t9357 = load ptr, ptr %t9344 %t9358 = getelementptr inbounds ptr, ptr %t9357, i32 %t9345 store ptr @.str7527, ptr %t9358 %t9359 = add i32 %t9345, 1 store i32 %t9359, ptr %t9342 br label %ifend1972 ifend1972: %t9360 = load ptr, ptr %t1 %t9361 = call i32 @lp_str_eq(ptr %t9360, ptr @.str7528) %t9362 = icmp ne i32 %t9361, 0 br i1 %t9362, label %then1977, label %ifend1979 then1977: store ptr @.str7529, ptr %t380 %t9363 = load ptr, ptr %t387 %t9364 = getelementptr inbounds %LSlice, ptr %t9363, i32 0, i32 1 %t9365 = getelementptr inbounds %LSlice, ptr %t9363, i32 0, i32 2 %t9366 = getelementptr inbounds %LSlice, ptr %t9363, i32 0, i32 0 %t9367 = load i32, ptr %t9364 %t9368 = load i32, ptr %t9365 %t9369 = icmp sge i32 %t9367, %t9368 br i1 %t9369, label %grow1980, label %put1981 grow1980: %t9370 = mul i32 %t9368, 2 %t9371 = icmp eq i32 %t9368, 0 %t9372 = select i1 %t9371, i32 8, i32 %t9370 %t9373 = getelementptr ptr, ptr null, i32 1 %t9374 = ptrtoint ptr %t9373 to i64 %t9375 = zext i32 %t9372 to i64 %t9376 = mul i64 %t9375, %t9374 %t9377 = load ptr, ptr %t9366 %t9378 = call ptr @realloc(ptr %t9377, i64 %t9376) store ptr %t9378, ptr %t9366 store i32 %t9372, ptr %t9365 br label %put1981 put1981: %t9379 = load ptr, ptr %t9366 %t9380 = getelementptr inbounds ptr, ptr %t9379, i32 %t9367 store ptr @.str7530, ptr %t9380 %t9381 = add i32 %t9367, 1 store i32 %t9381, ptr %t9364 %t9382 = load ptr, ptr %t387 %t9383 = getelementptr inbounds %LSlice, ptr %t9382, i32 0, i32 1 %t9384 = getelementptr inbounds %LSlice, ptr %t9382, i32 0, i32 2 %t9385 = getelementptr inbounds %LSlice, ptr %t9382, i32 0, i32 0 %t9386 = load i32, ptr %t9383 %t9387 = load i32, ptr %t9384 %t9388 = icmp sge i32 %t9386, %t9387 br i1 %t9388, label %grow1982, label %put1983 grow1982: %t9389 = mul i32 %t9387, 2 %t9390 = icmp eq i32 %t9387, 0 %t9391 = select i1 %t9390, i32 8, i32 %t9389 %t9392 = getelementptr ptr, ptr null, i32 1 %t9393 = ptrtoint ptr %t9392 to i64 %t9394 = zext i32 %t9391 to i64 %t9395 = mul i64 %t9394, %t9393 %t9396 = load ptr, ptr %t9385 %t9397 = call ptr @realloc(ptr %t9396, i64 %t9395) store ptr %t9397, ptr %t9385 store i32 %t9391, ptr %t9384 br label %put1983 put1983: %t9398 = load ptr, ptr %t9385 %t9399 = getelementptr inbounds ptr, ptr %t9398, i32 %t9386 store ptr @.str7531, ptr %t9399 %t9400 = add i32 %t9386, 1 store i32 %t9400, ptr %t9383 br label %ifend1979 ifend1979: %t9401 = load ptr, ptr %t1 %t9402 = call i32 @lp_str_eq(ptr %t9401, ptr @.str7532) %t9403 = icmp ne i32 %t9402, 0 br i1 %t9403, label %then1984, label %ifend1986 then1984: store ptr @.str7533, ptr %t380 %t9404 = load ptr, ptr %t387 %t9405 = getelementptr inbounds %LSlice, ptr %t9404, i32 0, i32 1 %t9406 = getelementptr inbounds %LSlice, ptr %t9404, i32 0, i32 2 %t9407 = getelementptr inbounds %LSlice, ptr %t9404, i32 0, i32 0 %t9408 = load i32, ptr %t9405 %t9409 = load i32, ptr %t9406 %t9410 = icmp sge i32 %t9408, %t9409 br i1 %t9410, label %grow1987, label %put1988 grow1987: %t9411 = mul i32 %t9409, 2 %t9412 = icmp eq i32 %t9409, 0 %t9413 = select i1 %t9412, i32 8, i32 %t9411 %t9414 = getelementptr ptr, ptr null, i32 1 %t9415 = ptrtoint ptr %t9414 to i64 %t9416 = zext i32 %t9413 to i64 %t9417 = mul i64 %t9416, %t9415 %t9418 = load ptr, ptr %t9407 %t9419 = call ptr @realloc(ptr %t9418, i64 %t9417) store ptr %t9419, ptr %t9407 store i32 %t9413, ptr %t9406 br label %put1988 put1988: %t9420 = load ptr, ptr %t9407 %t9421 = getelementptr inbounds ptr, ptr %t9420, i32 %t9408 store ptr @.str7534, ptr %t9421 %t9422 = add i32 %t9408, 1 store i32 %t9422, ptr %t9405 %t9423 = load ptr, ptr %t387 %t9424 = getelementptr inbounds %LSlice, ptr %t9423, i32 0, i32 1 %t9425 = getelementptr inbounds %LSlice, ptr %t9423, i32 0, i32 2 %t9426 = getelementptr inbounds %LSlice, ptr %t9423, i32 0, i32 0 %t9427 = load i32, ptr %t9424 %t9428 = load i32, ptr %t9425 %t9429 = icmp sge i32 %t9427, %t9428 br i1 %t9429, label %grow1989, label %put1990 grow1989: %t9430 = mul i32 %t9428, 2 %t9431 = icmp eq i32 %t9428, 0 %t9432 = select i1 %t9431, i32 8, i32 %t9430 %t9433 = getelementptr ptr, ptr null, i32 1 %t9434 = ptrtoint ptr %t9433 to i64 %t9435 = zext i32 %t9432 to i64 %t9436 = mul i64 %t9435, %t9434 %t9437 = load ptr, ptr %t9426 %t9438 = call ptr @realloc(ptr %t9437, i64 %t9436) store ptr %t9438, ptr %t9426 store i32 %t9432, ptr %t9425 br label %put1990 put1990: %t9439 = load ptr, ptr %t9426 %t9440 = getelementptr inbounds ptr, ptr %t9439, i32 %t9427 store ptr @.str7535, ptr %t9440 %t9441 = add i32 %t9427, 1 store i32 %t9441, ptr %t9424 br label %ifend1986 ifend1986: %t9442 = load ptr, ptr %t1 %t9443 = call i32 @lp_str_eq(ptr %t9442, ptr @.str7536) %t9444 = icmp ne i32 %t9443, 0 br i1 %t9444, label %then1991, label %ifend1993 then1991: store ptr @.str7537, ptr %t380 %t9445 = load ptr, ptr %t387 %t9446 = getelementptr inbounds %LSlice, ptr %t9445, i32 0, i32 1 %t9447 = getelementptr inbounds %LSlice, ptr %t9445, i32 0, i32 2 %t9448 = getelementptr inbounds %LSlice, ptr %t9445, i32 0, i32 0 %t9449 = load i32, ptr %t9446 %t9450 = load i32, ptr %t9447 %t9451 = icmp sge i32 %t9449, %t9450 br i1 %t9451, label %grow1994, label %put1995 grow1994: %t9452 = mul i32 %t9450, 2 %t9453 = icmp eq i32 %t9450, 0 %t9454 = select i1 %t9453, i32 8, i32 %t9452 %t9455 = getelementptr ptr, ptr null, i32 1 %t9456 = ptrtoint ptr %t9455 to i64 %t9457 = zext i32 %t9454 to i64 %t9458 = mul i64 %t9457, %t9456 %t9459 = load ptr, ptr %t9448 %t9460 = call ptr @realloc(ptr %t9459, i64 %t9458) store ptr %t9460, ptr %t9448 store i32 %t9454, ptr %t9447 br label %put1995 put1995: %t9461 = load ptr, ptr %t9448 %t9462 = getelementptr inbounds ptr, ptr %t9461, i32 %t9449 store ptr @.str7538, ptr %t9462 %t9463 = add i32 %t9449, 1 store i32 %t9463, ptr %t9446 br label %ifend1993 ifend1993: %t9464 = load ptr, ptr %t1 %t9465 = call i32 @lp_str_eq(ptr %t9464, ptr @.str7539) %t9466 = icmp ne i32 %t9465, 0 br i1 %t9466, label %then1996, label %ifend1998 then1996: store ptr @.str7540, ptr %t380 %t9467 = load ptr, ptr %t387 %t9468 = getelementptr inbounds %LSlice, ptr %t9467, i32 0, i32 1 %t9469 = getelementptr inbounds %LSlice, ptr %t9467, i32 0, i32 2 %t9470 = getelementptr inbounds %LSlice, ptr %t9467, i32 0, i32 0 %t9471 = load i32, ptr %t9468 %t9472 = load i32, ptr %t9469 %t9473 = icmp sge i32 %t9471, %t9472 br i1 %t9473, label %grow1999, label %put2000 grow1999: %t9474 = mul i32 %t9472, 2 %t9475 = icmp eq i32 %t9472, 0 %t9476 = select i1 %t9475, i32 8, i32 %t9474 %t9477 = getelementptr ptr, ptr null, i32 1 %t9478 = ptrtoint ptr %t9477 to i64 %t9479 = zext i32 %t9476 to i64 %t9480 = mul i64 %t9479, %t9478 %t9481 = load ptr, ptr %t9470 %t9482 = call ptr @realloc(ptr %t9481, i64 %t9480) store ptr %t9482, ptr %t9470 store i32 %t9476, ptr %t9469 br label %put2000 put2000: %t9483 = load ptr, ptr %t9470 %t9484 = getelementptr inbounds ptr, ptr %t9483, i32 %t9471 store ptr @.str7541, ptr %t9484 %t9485 = add i32 %t9471, 1 store i32 %t9485, ptr %t9468 %t9486 = load ptr, ptr %t387 %t9487 = getelementptr inbounds %LSlice, ptr %t9486, i32 0, i32 1 %t9488 = getelementptr inbounds %LSlice, ptr %t9486, i32 0, i32 2 %t9489 = getelementptr inbounds %LSlice, ptr %t9486, i32 0, i32 0 %t9490 = load i32, ptr %t9487 %t9491 = load i32, ptr %t9488 %t9492 = icmp sge i32 %t9490, %t9491 br i1 %t9492, label %grow2001, label %put2002 grow2001: %t9493 = mul i32 %t9491, 2 %t9494 = icmp eq i32 %t9491, 0 %t9495 = select i1 %t9494, i32 8, i32 %t9493 %t9496 = getelementptr ptr, ptr null, i32 1 %t9497 = ptrtoint ptr %t9496 to i64 %t9498 = zext i32 %t9495 to i64 %t9499 = mul i64 %t9498, %t9497 %t9500 = load ptr, ptr %t9489 %t9501 = call ptr @realloc(ptr %t9500, i64 %t9499) store ptr %t9501, ptr %t9489 store i32 %t9495, ptr %t9488 br label %put2002 put2002: %t9502 = load ptr, ptr %t9489 %t9503 = getelementptr inbounds ptr, ptr %t9502, i32 %t9490 store ptr @.str7542, ptr %t9503 %t9504 = add i32 %t9490, 1 store i32 %t9504, ptr %t9487 br label %ifend1998 ifend1998: %t9505 = load ptr, ptr %t1 %t9506 = call i32 @lp_str_eq(ptr %t9505, ptr @.str7543) %t9507 = icmp ne i32 %t9506, 0 br i1 %t9507, label %then2003, label %ifend2005 then2003: store ptr @.str7544, ptr %t380 %t9508 = load ptr, ptr %t387 %t9509 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 1 %t9510 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 2 %t9511 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 0 %t9512 = load i32, ptr %t9509 %t9513 = load i32, ptr %t9510 %t9514 = icmp sge i32 %t9512, %t9513 br i1 %t9514, label %grow2006, label %put2007 grow2006: %t9515 = mul i32 %t9513, 2 %t9516 = icmp eq i32 %t9513, 0 %t9517 = select i1 %t9516, i32 8, i32 %t9515 %t9518 = getelementptr ptr, ptr null, i32 1 %t9519 = ptrtoint ptr %t9518 to i64 %t9520 = zext i32 %t9517 to i64 %t9521 = mul i64 %t9520, %t9519 %t9522 = load ptr, ptr %t9511 %t9523 = call ptr @realloc(ptr %t9522, i64 %t9521) store ptr %t9523, ptr %t9511 store i32 %t9517, ptr %t9510 br label %put2007 put2007: %t9524 = load ptr, ptr %t9511 %t9525 = getelementptr inbounds ptr, ptr %t9524, i32 %t9512 store ptr @.str7545, ptr %t9525 %t9526 = add i32 %t9512, 1 store i32 %t9526, ptr %t9509 br label %ifend2005 ifend2005: %t9527 = load ptr, ptr %t1 %t9528 = call i32 @lp_str_eq(ptr %t9527, ptr @.str7546) %t9529 = icmp ne i32 %t9528, 0 br i1 %t9529, label %then2008, label %ifend2010 then2008: store ptr @.str7547, ptr %t380 %t9530 = load ptr, ptr %t387 %t9531 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 1 %t9532 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 2 %t9533 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 0 %t9534 = load i32, ptr %t9531 %t9535 = load i32, ptr %t9532 %t9536 = icmp sge i32 %t9534, %t9535 br i1 %t9536, label %grow2011, label %put2012 grow2011: %t9537 = mul i32 %t9535, 2 %t9538 = icmp eq i32 %t9535, 0 %t9539 = select i1 %t9538, i32 8, i32 %t9537 %t9540 = getelementptr ptr, ptr null, i32 1 %t9541 = ptrtoint ptr %t9540 to i64 %t9542 = zext i32 %t9539 to i64 %t9543 = mul i64 %t9542, %t9541 %t9544 = load ptr, ptr %t9533 %t9545 = call ptr @realloc(ptr %t9544, i64 %t9543) store ptr %t9545, ptr %t9533 store i32 %t9539, ptr %t9532 br label %put2012 put2012: %t9546 = load ptr, ptr %t9533 %t9547 = getelementptr inbounds ptr, ptr %t9546, i32 %t9534 store ptr @.str7548, ptr %t9547 %t9548 = add i32 %t9534, 1 store i32 %t9548, ptr %t9531 br label %ifend2010 ifend2010: %t9549 = load ptr, ptr %t1 %t9550 = call i32 @lp_str_eq(ptr %t9549, ptr @.str7549) %t9551 = icmp ne i32 %t9550, 0 br i1 %t9551, label %then2013, label %ifend2015 then2013: store ptr @.str7550, ptr %t380 %t9552 = load ptr, ptr %t387 %t9553 = getelementptr inbounds %LSlice, ptr %t9552, i32 0, i32 1 %t9554 = getelementptr inbounds %LSlice, ptr %t9552, i32 0, i32 2 %t9555 = getelementptr inbounds %LSlice, ptr %t9552, i32 0, i32 0 %t9556 = load i32, ptr %t9553 %t9557 = load i32, ptr %t9554 %t9558 = icmp sge i32 %t9556, %t9557 br i1 %t9558, label %grow2016, label %put2017 grow2016: %t9559 = mul i32 %t9557, 2 %t9560 = icmp eq i32 %t9557, 0 %t9561 = select i1 %t9560, i32 8, i32 %t9559 %t9562 = getelementptr ptr, ptr null, i32 1 %t9563 = ptrtoint ptr %t9562 to i64 %t9564 = zext i32 %t9561 to i64 %t9565 = mul i64 %t9564, %t9563 %t9566 = load ptr, ptr %t9555 %t9567 = call ptr @realloc(ptr %t9566, i64 %t9565) store ptr %t9567, ptr %t9555 store i32 %t9561, ptr %t9554 br label %put2017 put2017: %t9568 = load ptr, ptr %t9555 %t9569 = getelementptr inbounds ptr, ptr %t9568, i32 %t9556 store ptr @.str7551, ptr %t9569 %t9570 = add i32 %t9556, 1 store i32 %t9570, ptr %t9553 br label %ifend2015 ifend2015: %t9571 = load ptr, ptr %t1 %t9572 = call i32 @lp_str_eq(ptr %t9571, ptr @.str7552) %t9573 = icmp ne i32 %t9572, 0 br i1 %t9573, label %then2018, label %ifend2020 then2018: store ptr @.str7553, ptr %t380 %t9574 = load ptr, ptr %t387 %t9575 = getelementptr inbounds %LSlice, ptr %t9574, i32 0, i32 1 %t9576 = getelementptr inbounds %LSlice, ptr %t9574, i32 0, i32 2 %t9577 = getelementptr inbounds %LSlice, ptr %t9574, i32 0, i32 0 %t9578 = load i32, ptr %t9575 %t9579 = load i32, ptr %t9576 %t9580 = icmp sge i32 %t9578, %t9579 br i1 %t9580, label %grow2021, label %put2022 grow2021: %t9581 = mul i32 %t9579, 2 %t9582 = icmp eq i32 %t9579, 0 %t9583 = select i1 %t9582, i32 8, i32 %t9581 %t9584 = getelementptr ptr, ptr null, i32 1 %t9585 = ptrtoint ptr %t9584 to i64 %t9586 = zext i32 %t9583 to i64 %t9587 = mul i64 %t9586, %t9585 %t9588 = load ptr, ptr %t9577 %t9589 = call ptr @realloc(ptr %t9588, i64 %t9587) store ptr %t9589, ptr %t9577 store i32 %t9583, ptr %t9576 br label %put2022 put2022: %t9590 = load ptr, ptr %t9577 %t9591 = getelementptr inbounds ptr, ptr %t9590, i32 %t9578 store ptr @.str7554, ptr %t9591 %t9592 = add i32 %t9578, 1 store i32 %t9592, ptr %t9575 br label %ifend2020 ifend2020: br label %ifend1964 ifend1964: %t9593 = load ptr, ptr %t0 %t9594 = call i32 @lp_str_eq(ptr %t9593, ptr @.str7555) %t9595 = icmp ne i32 %t9594, 0 br i1 %t9595, label %then2023, label %ifend2025 then2023: %t9596 = load ptr, ptr %t1 %t9597 = call i32 @lp_str_eq(ptr %t9596, ptr @.str7556) %t9598 = icmp ne i32 %t9597, 0 br i1 %t9598, label %then2026, label %ifend2028 then2026: store ptr @.str7557, ptr %t380 %t9599 = load ptr, ptr %t387 %t9600 = getelementptr inbounds %LSlice, ptr %t9599, i32 0, i32 1 %t9601 = getelementptr inbounds %LSlice, ptr %t9599, i32 0, i32 2 %t9602 = getelementptr inbounds %LSlice, ptr %t9599, i32 0, i32 0 %t9603 = load i32, ptr %t9600 %t9604 = load i32, ptr %t9601 %t9605 = icmp sge i32 %t9603, %t9604 br i1 %t9605, label %grow2029, label %put2030 grow2029: %t9606 = mul i32 %t9604, 2 %t9607 = icmp eq i32 %t9604, 0 %t9608 = select i1 %t9607, i32 8, i32 %t9606 %t9609 = getelementptr ptr, ptr null, i32 1 %t9610 = ptrtoint ptr %t9609 to i64 %t9611 = zext i32 %t9608 to i64 %t9612 = mul i64 %t9611, %t9610 %t9613 = load ptr, ptr %t9602 %t9614 = call ptr @realloc(ptr %t9613, i64 %t9612) store ptr %t9614, ptr %t9602 store i32 %t9608, ptr %t9601 br label %put2030 put2030: %t9615 = load ptr, ptr %t9602 %t9616 = getelementptr inbounds ptr, ptr %t9615, i32 %t9603 store ptr @.str7558, ptr %t9616 %t9617 = add i32 %t9603, 1 store i32 %t9617, ptr %t9600 br label %ifend2028 ifend2028: %t9618 = load ptr, ptr %t1 %t9619 = call i32 @lp_str_eq(ptr %t9618, ptr @.str7559) %t9620 = icmp ne i32 %t9619, 0 br i1 %t9620, label %then2031, label %ifend2033 then2031: store ptr @.str7560, ptr %t380 %t9621 = load ptr, ptr %t387 %t9622 = getelementptr inbounds %LSlice, ptr %t9621, i32 0, i32 1 %t9623 = getelementptr inbounds %LSlice, ptr %t9621, i32 0, i32 2 %t9624 = getelementptr inbounds %LSlice, ptr %t9621, i32 0, i32 0 %t9625 = load i32, ptr %t9622 %t9626 = load i32, ptr %t9623 %t9627 = icmp sge i32 %t9625, %t9626 br i1 %t9627, label %grow2034, label %put2035 grow2034: %t9628 = mul i32 %t9626, 2 %t9629 = icmp eq i32 %t9626, 0 %t9630 = select i1 %t9629, i32 8, i32 %t9628 %t9631 = getelementptr ptr, ptr null, i32 1 %t9632 = ptrtoint ptr %t9631 to i64 %t9633 = zext i32 %t9630 to i64 %t9634 = mul i64 %t9633, %t9632 %t9635 = load ptr, ptr %t9624 %t9636 = call ptr @realloc(ptr %t9635, i64 %t9634) store ptr %t9636, ptr %t9624 store i32 %t9630, ptr %t9623 br label %put2035 put2035: %t9637 = load ptr, ptr %t9624 %t9638 = getelementptr inbounds ptr, ptr %t9637, i32 %t9625 store ptr @.str7561, ptr %t9638 %t9639 = add i32 %t9625, 1 store i32 %t9639, ptr %t9622 br label %ifend2033 ifend2033: %t9640 = load ptr, ptr %t1 %t9641 = call i32 @lp_str_eq(ptr %t9640, ptr @.str7562) %t9642 = icmp ne i32 %t9641, 0 br i1 %t9642, label %then2036, label %ifend2038 then2036: store ptr @.str7563, ptr %t380 %t9643 = load ptr, ptr %t387 %t9644 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 1 %t9645 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 2 %t9646 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 0 %t9647 = load i32, ptr %t9644 %t9648 = load i32, ptr %t9645 %t9649 = icmp sge i32 %t9647, %t9648 br i1 %t9649, label %grow2039, label %put2040 grow2039: %t9650 = mul i32 %t9648, 2 %t9651 = icmp eq i32 %t9648, 0 %t9652 = select i1 %t9651, i32 8, i32 %t9650 %t9653 = getelementptr ptr, ptr null, i32 1 %t9654 = ptrtoint ptr %t9653 to i64 %t9655 = zext i32 %t9652 to i64 %t9656 = mul i64 %t9655, %t9654 %t9657 = load ptr, ptr %t9646 %t9658 = call ptr @realloc(ptr %t9657, i64 %t9656) store ptr %t9658, ptr %t9646 store i32 %t9652, ptr %t9645 br label %put2040 put2040: %t9659 = load ptr, ptr %t9646 %t9660 = getelementptr inbounds ptr, ptr %t9659, i32 %t9647 store ptr @.str7564, ptr %t9660 %t9661 = add i32 %t9647, 1 store i32 %t9661, ptr %t9644 br label %ifend2038 ifend2038: %t9662 = load ptr, ptr %t1 %t9663 = call i32 @lp_str_eq(ptr %t9662, ptr @.str7565) %t9664 = icmp ne i32 %t9663, 0 br i1 %t9664, label %then2041, label %ifend2043 then2041: store ptr @.str7566, ptr %t380 %t9665 = load ptr, ptr %t387 %t9666 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 1 %t9667 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 2 %t9668 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 0 %t9669 = load i32, ptr %t9666 %t9670 = load i32, ptr %t9667 %t9671 = icmp sge i32 %t9669, %t9670 br i1 %t9671, label %grow2044, label %put2045 grow2044: %t9672 = mul i32 %t9670, 2 %t9673 = icmp eq i32 %t9670, 0 %t9674 = select i1 %t9673, i32 8, i32 %t9672 %t9675 = getelementptr ptr, ptr null, i32 1 %t9676 = ptrtoint ptr %t9675 to i64 %t9677 = zext i32 %t9674 to i64 %t9678 = mul i64 %t9677, %t9676 %t9679 = load ptr, ptr %t9668 %t9680 = call ptr @realloc(ptr %t9679, i64 %t9678) store ptr %t9680, ptr %t9668 store i32 %t9674, ptr %t9667 br label %put2045 put2045: %t9681 = load ptr, ptr %t9668 %t9682 = getelementptr inbounds ptr, ptr %t9681, i32 %t9669 store ptr @.str7567, ptr %t9682 %t9683 = add i32 %t9669, 1 store i32 %t9683, ptr %t9666 br label %ifend2043 ifend2043: %t9684 = load ptr, ptr %t1 %t9685 = call i32 @lp_str_eq(ptr %t9684, ptr @.str7568) %t9686 = icmp ne i32 %t9685, 0 br i1 %t9686, label %then2046, label %ifend2048 then2046: store ptr @.str7569, ptr %t380 %t9687 = load ptr, ptr %t387 %t9688 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 1 %t9689 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 2 %t9690 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 0 %t9691 = load i32, ptr %t9688 %t9692 = load i32, ptr %t9689 %t9693 = icmp sge i32 %t9691, %t9692 br i1 %t9693, label %grow2049, label %put2050 grow2049: %t9694 = mul i32 %t9692, 2 %t9695 = icmp eq i32 %t9692, 0 %t9696 = select i1 %t9695, i32 8, i32 %t9694 %t9697 = getelementptr ptr, ptr null, i32 1 %t9698 = ptrtoint ptr %t9697 to i64 %t9699 = zext i32 %t9696 to i64 %t9700 = mul i64 %t9699, %t9698 %t9701 = load ptr, ptr %t9690 %t9702 = call ptr @realloc(ptr %t9701, i64 %t9700) store ptr %t9702, ptr %t9690 store i32 %t9696, ptr %t9689 br label %put2050 put2050: %t9703 = load ptr, ptr %t9690 %t9704 = getelementptr inbounds ptr, ptr %t9703, i32 %t9691 store ptr @.str7570, ptr %t9704 %t9705 = add i32 %t9691, 1 store i32 %t9705, ptr %t9688 br label %ifend2048 ifend2048: %t9706 = load ptr, ptr %t1 %t9707 = call i32 @lp_str_eq(ptr %t9706, ptr @.str7571) %t9708 = icmp ne i32 %t9707, 0 br i1 %t9708, label %then2051, label %ifend2053 then2051: store ptr @.str7572, ptr %t380 %t9709 = load ptr, ptr %t387 %t9710 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 1 %t9711 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 2 %t9712 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 0 %t9713 = load i32, ptr %t9710 %t9714 = load i32, ptr %t9711 %t9715 = icmp sge i32 %t9713, %t9714 br i1 %t9715, label %grow2054, label %put2055 grow2054: %t9716 = mul i32 %t9714, 2 %t9717 = icmp eq i32 %t9714, 0 %t9718 = select i1 %t9717, i32 8, i32 %t9716 %t9719 = getelementptr ptr, ptr null, i32 1 %t9720 = ptrtoint ptr %t9719 to i64 %t9721 = zext i32 %t9718 to i64 %t9722 = mul i64 %t9721, %t9720 %t9723 = load ptr, ptr %t9712 %t9724 = call ptr @realloc(ptr %t9723, i64 %t9722) store ptr %t9724, ptr %t9712 store i32 %t9718, ptr %t9711 br label %put2055 put2055: %t9725 = load ptr, ptr %t9712 %t9726 = getelementptr inbounds ptr, ptr %t9725, i32 %t9713 store ptr @.str7573, ptr %t9726 %t9727 = add i32 %t9713, 1 store i32 %t9727, ptr %t9710 %t9728 = load ptr, ptr %t387 %t9729 = getelementptr inbounds %LSlice, ptr %t9728, i32 0, i32 1 %t9730 = getelementptr inbounds %LSlice, ptr %t9728, i32 0, i32 2 %t9731 = getelementptr inbounds %LSlice, ptr %t9728, i32 0, i32 0 %t9732 = load i32, ptr %t9729 %t9733 = load i32, ptr %t9730 %t9734 = icmp sge i32 %t9732, %t9733 br i1 %t9734, label %grow2056, label %put2057 grow2056: %t9735 = mul i32 %t9733, 2 %t9736 = icmp eq i32 %t9733, 0 %t9737 = select i1 %t9736, i32 8, i32 %t9735 %t9738 = getelementptr ptr, ptr null, i32 1 %t9739 = ptrtoint ptr %t9738 to i64 %t9740 = zext i32 %t9737 to i64 %t9741 = mul i64 %t9740, %t9739 %t9742 = load ptr, ptr %t9731 %t9743 = call ptr @realloc(ptr %t9742, i64 %t9741) store ptr %t9743, ptr %t9731 store i32 %t9737, ptr %t9730 br label %put2057 put2057: %t9744 = load ptr, ptr %t9731 %t9745 = getelementptr inbounds ptr, ptr %t9744, i32 %t9732 store ptr @.str7574, ptr %t9745 %t9746 = add i32 %t9732, 1 store i32 %t9746, ptr %t9729 br label %ifend2053 ifend2053: %t9747 = load ptr, ptr %t1 %t9748 = call i32 @lp_str_eq(ptr %t9747, ptr @.str7575) %t9749 = icmp ne i32 %t9748, 0 br i1 %t9749, label %then2058, label %ifend2060 then2058: store ptr @.str7576, ptr %t380 %t9750 = load ptr, ptr %t387 %t9751 = getelementptr inbounds %LSlice, ptr %t9750, i32 0, i32 1 %t9752 = getelementptr inbounds %LSlice, ptr %t9750, i32 0, i32 2 %t9753 = getelementptr inbounds %LSlice, ptr %t9750, i32 0, i32 0 %t9754 = load i32, ptr %t9751 %t9755 = load i32, ptr %t9752 %t9756 = icmp sge i32 %t9754, %t9755 br i1 %t9756, label %grow2061, label %put2062 grow2061: %t9757 = mul i32 %t9755, 2 %t9758 = icmp eq i32 %t9755, 0 %t9759 = select i1 %t9758, i32 8, i32 %t9757 %t9760 = getelementptr ptr, ptr null, i32 1 %t9761 = ptrtoint ptr %t9760 to i64 %t9762 = zext i32 %t9759 to i64 %t9763 = mul i64 %t9762, %t9761 %t9764 = load ptr, ptr %t9753 %t9765 = call ptr @realloc(ptr %t9764, i64 %t9763) store ptr %t9765, ptr %t9753 store i32 %t9759, ptr %t9752 br label %put2062 put2062: %t9766 = load ptr, ptr %t9753 %t9767 = getelementptr inbounds ptr, ptr %t9766, i32 %t9754 store ptr @.str7577, ptr %t9767 %t9768 = add i32 %t9754, 1 store i32 %t9768, ptr %t9751 %t9769 = load ptr, ptr %t387 %t9770 = getelementptr inbounds %LSlice, ptr %t9769, i32 0, i32 1 %t9771 = getelementptr inbounds %LSlice, ptr %t9769, i32 0, i32 2 %t9772 = getelementptr inbounds %LSlice, ptr %t9769, i32 0, i32 0 %t9773 = load i32, ptr %t9770 %t9774 = load i32, ptr %t9771 %t9775 = icmp sge i32 %t9773, %t9774 br i1 %t9775, label %grow2063, label %put2064 grow2063: %t9776 = mul i32 %t9774, 2 %t9777 = icmp eq i32 %t9774, 0 %t9778 = select i1 %t9777, i32 8, i32 %t9776 %t9779 = getelementptr ptr, ptr null, i32 1 %t9780 = ptrtoint ptr %t9779 to i64 %t9781 = zext i32 %t9778 to i64 %t9782 = mul i64 %t9781, %t9780 %t9783 = load ptr, ptr %t9772 %t9784 = call ptr @realloc(ptr %t9783, i64 %t9782) store ptr %t9784, ptr %t9772 store i32 %t9778, ptr %t9771 br label %put2064 put2064: %t9785 = load ptr, ptr %t9772 %t9786 = getelementptr inbounds ptr, ptr %t9785, i32 %t9773 store ptr @.str7578, ptr %t9786 %t9787 = add i32 %t9773, 1 store i32 %t9787, ptr %t9770 br label %ifend2060 ifend2060: %t9788 = load ptr, ptr %t1 %t9789 = call i32 @lp_str_eq(ptr %t9788, ptr @.str7579) %t9790 = icmp ne i32 %t9789, 0 br i1 %t9790, label %then2065, label %ifend2067 then2065: store ptr @.str7580, ptr %t380 %t9791 = load ptr, ptr %t387 %t9792 = getelementptr inbounds %LSlice, ptr %t9791, i32 0, i32 1 %t9793 = getelementptr inbounds %LSlice, ptr %t9791, i32 0, i32 2 %t9794 = getelementptr inbounds %LSlice, ptr %t9791, i32 0, i32 0 %t9795 = load i32, ptr %t9792 %t9796 = load i32, ptr %t9793 %t9797 = icmp sge i32 %t9795, %t9796 br i1 %t9797, label %grow2068, label %put2069 grow2068: %t9798 = mul i32 %t9796, 2 %t9799 = icmp eq i32 %t9796, 0 %t9800 = select i1 %t9799, i32 8, i32 %t9798 %t9801 = getelementptr ptr, ptr null, i32 1 %t9802 = ptrtoint ptr %t9801 to i64 %t9803 = zext i32 %t9800 to i64 %t9804 = mul i64 %t9803, %t9802 %t9805 = load ptr, ptr %t9794 %t9806 = call ptr @realloc(ptr %t9805, i64 %t9804) store ptr %t9806, ptr %t9794 store i32 %t9800, ptr %t9793 br label %put2069 put2069: %t9807 = load ptr, ptr %t9794 %t9808 = getelementptr inbounds ptr, ptr %t9807, i32 %t9795 store ptr @.str7581, ptr %t9808 %t9809 = add i32 %t9795, 1 store i32 %t9809, ptr %t9792 %t9810 = load ptr, ptr %t387 %t9811 = getelementptr inbounds %LSlice, ptr %t9810, i32 0, i32 1 %t9812 = getelementptr inbounds %LSlice, ptr %t9810, i32 0, i32 2 %t9813 = getelementptr inbounds %LSlice, ptr %t9810, i32 0, i32 0 %t9814 = load i32, ptr %t9811 %t9815 = load i32, ptr %t9812 %t9816 = icmp sge i32 %t9814, %t9815 br i1 %t9816, label %grow2070, label %put2071 grow2070: %t9817 = mul i32 %t9815, 2 %t9818 = icmp eq i32 %t9815, 0 %t9819 = select i1 %t9818, i32 8, i32 %t9817 %t9820 = getelementptr ptr, ptr null, i32 1 %t9821 = ptrtoint ptr %t9820 to i64 %t9822 = zext i32 %t9819 to i64 %t9823 = mul i64 %t9822, %t9821 %t9824 = load ptr, ptr %t9813 %t9825 = call ptr @realloc(ptr %t9824, i64 %t9823) store ptr %t9825, ptr %t9813 store i32 %t9819, ptr %t9812 br label %put2071 put2071: %t9826 = load ptr, ptr %t9813 %t9827 = getelementptr inbounds ptr, ptr %t9826, i32 %t9814 store ptr @.str7582, ptr %t9827 %t9828 = add i32 %t9814, 1 store i32 %t9828, ptr %t9811 br label %ifend2067 ifend2067: %t9829 = load ptr, ptr %t1 %t9830 = call i32 @lp_str_eq(ptr %t9829, ptr @.str7583) %t9831 = icmp ne i32 %t9830, 0 br i1 %t9831, label %then2072, label %ifend2074 then2072: store ptr @.str7584, ptr %t380 %t9832 = load ptr, ptr %t387 %t9833 = getelementptr inbounds %LSlice, ptr %t9832, i32 0, i32 1 %t9834 = getelementptr inbounds %LSlice, ptr %t9832, i32 0, i32 2 %t9835 = getelementptr inbounds %LSlice, ptr %t9832, i32 0, i32 0 %t9836 = load i32, ptr %t9833 %t9837 = load i32, ptr %t9834 %t9838 = icmp sge i32 %t9836, %t9837 br i1 %t9838, label %grow2075, label %put2076 grow2075: %t9839 = mul i32 %t9837, 2 %t9840 = icmp eq i32 %t9837, 0 %t9841 = select i1 %t9840, i32 8, i32 %t9839 %t9842 = getelementptr ptr, ptr null, i32 1 %t9843 = ptrtoint ptr %t9842 to i64 %t9844 = zext i32 %t9841 to i64 %t9845 = mul i64 %t9844, %t9843 %t9846 = load ptr, ptr %t9835 %t9847 = call ptr @realloc(ptr %t9846, i64 %t9845) store ptr %t9847, ptr %t9835 store i32 %t9841, ptr %t9834 br label %put2076 put2076: %t9848 = load ptr, ptr %t9835 %t9849 = getelementptr inbounds ptr, ptr %t9848, i32 %t9836 store ptr @.str7585, ptr %t9849 %t9850 = add i32 %t9836, 1 store i32 %t9850, ptr %t9833 %t9851 = load ptr, ptr %t387 %t9852 = getelementptr inbounds %LSlice, ptr %t9851, i32 0, i32 1 %t9853 = getelementptr inbounds %LSlice, ptr %t9851, i32 0, i32 2 %t9854 = getelementptr inbounds %LSlice, ptr %t9851, i32 0, i32 0 %t9855 = load i32, ptr %t9852 %t9856 = load i32, ptr %t9853 %t9857 = icmp sge i32 %t9855, %t9856 br i1 %t9857, label %grow2077, label %put2078 grow2077: %t9858 = mul i32 %t9856, 2 %t9859 = icmp eq i32 %t9856, 0 %t9860 = select i1 %t9859, i32 8, i32 %t9858 %t9861 = getelementptr ptr, ptr null, i32 1 %t9862 = ptrtoint ptr %t9861 to i64 %t9863 = zext i32 %t9860 to i64 %t9864 = mul i64 %t9863, %t9862 %t9865 = load ptr, ptr %t9854 %t9866 = call ptr @realloc(ptr %t9865, i64 %t9864) store ptr %t9866, ptr %t9854 store i32 %t9860, ptr %t9853 br label %put2078 put2078: %t9867 = load ptr, ptr %t9854 %t9868 = getelementptr inbounds ptr, ptr %t9867, i32 %t9855 store ptr @.str7586, ptr %t9868 %t9869 = add i32 %t9855, 1 store i32 %t9869, ptr %t9852 %t9870 = load ptr, ptr %t387 %t9871 = getelementptr inbounds %LSlice, ptr %t9870, i32 0, i32 1 %t9872 = getelementptr inbounds %LSlice, ptr %t9870, i32 0, i32 2 %t9873 = getelementptr inbounds %LSlice, ptr %t9870, i32 0, i32 0 %t9874 = load i32, ptr %t9871 %t9875 = load i32, ptr %t9872 %t9876 = icmp sge i32 %t9874, %t9875 br i1 %t9876, label %grow2079, label %put2080 grow2079: %t9877 = mul i32 %t9875, 2 %t9878 = icmp eq i32 %t9875, 0 %t9879 = select i1 %t9878, i32 8, i32 %t9877 %t9880 = getelementptr ptr, ptr null, i32 1 %t9881 = ptrtoint ptr %t9880 to i64 %t9882 = zext i32 %t9879 to i64 %t9883 = mul i64 %t9882, %t9881 %t9884 = load ptr, ptr %t9873 %t9885 = call ptr @realloc(ptr %t9884, i64 %t9883) store ptr %t9885, ptr %t9873 store i32 %t9879, ptr %t9872 br label %put2080 put2080: %t9886 = load ptr, ptr %t9873 %t9887 = getelementptr inbounds ptr, ptr %t9886, i32 %t9874 store ptr @.str7587, ptr %t9887 %t9888 = add i32 %t9874, 1 store i32 %t9888, ptr %t9871 br label %ifend2074 ifend2074: br label %ifend2025 ifend2025: %t9889 = load ptr, ptr %t0 %t9890 = call i32 @lp_str_eq(ptr %t9889, ptr @.str7588) %t9891 = icmp ne i32 %t9890, 0 br i1 %t9891, label %then2081, label %ifend2083 then2081: %t9892 = load ptr, ptr %t1 %t9893 = call i32 @lp_str_eq(ptr %t9892, ptr @.str7589) %t9894 = icmp ne i32 %t9893, 0 br i1 %t9894, label %then2084, label %ifend2086 then2084: store ptr @.str7590, ptr %t380 %t9895 = load ptr, ptr %t387 %t9896 = getelementptr inbounds %LSlice, ptr %t9895, i32 0, i32 1 %t9897 = getelementptr inbounds %LSlice, ptr %t9895, i32 0, i32 2 %t9898 = getelementptr inbounds %LSlice, ptr %t9895, i32 0, i32 0 %t9899 = load i32, ptr %t9896 %t9900 = load i32, ptr %t9897 %t9901 = icmp sge i32 %t9899, %t9900 br i1 %t9901, label %grow2087, label %put2088 grow2087: %t9902 = mul i32 %t9900, 2 %t9903 = icmp eq i32 %t9900, 0 %t9904 = select i1 %t9903, i32 8, i32 %t9902 %t9905 = getelementptr ptr, ptr null, i32 1 %t9906 = ptrtoint ptr %t9905 to i64 %t9907 = zext i32 %t9904 to i64 %t9908 = mul i64 %t9907, %t9906 %t9909 = load ptr, ptr %t9898 %t9910 = call ptr @realloc(ptr %t9909, i64 %t9908) store ptr %t9910, ptr %t9898 store i32 %t9904, ptr %t9897 br label %put2088 put2088: %t9911 = load ptr, ptr %t9898 %t9912 = getelementptr inbounds ptr, ptr %t9911, i32 %t9899 store ptr @.str7591, ptr %t9912 %t9913 = add i32 %t9899, 1 store i32 %t9913, ptr %t9896 br label %ifend2086 ifend2086: %t9914 = load ptr, ptr %t1 %t9915 = call i32 @lp_str_eq(ptr %t9914, ptr @.str7592) %t9916 = icmp ne i32 %t9915, 0 br i1 %t9916, label %then2089, label %ifend2091 then2089: store ptr @.str7593, ptr %t380 %t9917 = load ptr, ptr %t387 %t9918 = getelementptr inbounds %LSlice, ptr %t9917, i32 0, i32 1 %t9919 = getelementptr inbounds %LSlice, ptr %t9917, i32 0, i32 2 %t9920 = getelementptr inbounds %LSlice, ptr %t9917, i32 0, i32 0 %t9921 = load i32, ptr %t9918 %t9922 = load i32, ptr %t9919 %t9923 = icmp sge i32 %t9921, %t9922 br i1 %t9923, label %grow2092, label %put2093 grow2092: %t9924 = mul i32 %t9922, 2 %t9925 = icmp eq i32 %t9922, 0 %t9926 = select i1 %t9925, i32 8, i32 %t9924 %t9927 = getelementptr ptr, ptr null, i32 1 %t9928 = ptrtoint ptr %t9927 to i64 %t9929 = zext i32 %t9926 to i64 %t9930 = mul i64 %t9929, %t9928 %t9931 = load ptr, ptr %t9920 %t9932 = call ptr @realloc(ptr %t9931, i64 %t9930) store ptr %t9932, ptr %t9920 store i32 %t9926, ptr %t9919 br label %put2093 put2093: %t9933 = load ptr, ptr %t9920 %t9934 = getelementptr inbounds ptr, ptr %t9933, i32 %t9921 store ptr @.str7594, ptr %t9934 %t9935 = add i32 %t9921, 1 store i32 %t9935, ptr %t9918 %t9936 = load ptr, ptr %t387 %t9937 = getelementptr inbounds %LSlice, ptr %t9936, i32 0, i32 1 %t9938 = getelementptr inbounds %LSlice, ptr %t9936, i32 0, i32 2 %t9939 = getelementptr inbounds %LSlice, ptr %t9936, i32 0, i32 0 %t9940 = load i32, ptr %t9937 %t9941 = load i32, ptr %t9938 %t9942 = icmp sge i32 %t9940, %t9941 br i1 %t9942, label %grow2094, label %put2095 grow2094: %t9943 = mul i32 %t9941, 2 %t9944 = icmp eq i32 %t9941, 0 %t9945 = select i1 %t9944, i32 8, i32 %t9943 %t9946 = getelementptr ptr, ptr null, i32 1 %t9947 = ptrtoint ptr %t9946 to i64 %t9948 = zext i32 %t9945 to i64 %t9949 = mul i64 %t9948, %t9947 %t9950 = load ptr, ptr %t9939 %t9951 = call ptr @realloc(ptr %t9950, i64 %t9949) store ptr %t9951, ptr %t9939 store i32 %t9945, ptr %t9938 br label %put2095 put2095: %t9952 = load ptr, ptr %t9939 %t9953 = getelementptr inbounds ptr, ptr %t9952, i32 %t9940 store ptr @.str7595, ptr %t9953 %t9954 = add i32 %t9940, 1 store i32 %t9954, ptr %t9937 br label %ifend2091 ifend2091: %t9955 = load ptr, ptr %t1 %t9956 = call i32 @lp_str_eq(ptr %t9955, ptr @.str7596) %t9957 = icmp ne i32 %t9956, 0 br i1 %t9957, label %then2096, label %ifend2098 then2096: store ptr @.str7597, ptr %t380 %t9958 = load ptr, ptr %t387 %t9959 = getelementptr inbounds %LSlice, ptr %t9958, i32 0, i32 1 %t9960 = getelementptr inbounds %LSlice, ptr %t9958, i32 0, i32 2 %t9961 = getelementptr inbounds %LSlice, ptr %t9958, i32 0, i32 0 %t9962 = load i32, ptr %t9959 %t9963 = load i32, ptr %t9960 %t9964 = icmp sge i32 %t9962, %t9963 br i1 %t9964, label %grow2099, label %put2100 grow2099: %t9965 = mul i32 %t9963, 2 %t9966 = icmp eq i32 %t9963, 0 %t9967 = select i1 %t9966, i32 8, i32 %t9965 %t9968 = getelementptr ptr, ptr null, i32 1 %t9969 = ptrtoint ptr %t9968 to i64 %t9970 = zext i32 %t9967 to i64 %t9971 = mul i64 %t9970, %t9969 %t9972 = load ptr, ptr %t9961 %t9973 = call ptr @realloc(ptr %t9972, i64 %t9971) store ptr %t9973, ptr %t9961 store i32 %t9967, ptr %t9960 br label %put2100 put2100: %t9974 = load ptr, ptr %t9961 %t9975 = getelementptr inbounds ptr, ptr %t9974, i32 %t9962 store ptr @.str7598, ptr %t9975 %t9976 = add i32 %t9962, 1 store i32 %t9976, ptr %t9959 %t9977 = load ptr, ptr %t387 %t9978 = getelementptr inbounds %LSlice, ptr %t9977, i32 0, i32 1 %t9979 = getelementptr inbounds %LSlice, ptr %t9977, i32 0, i32 2 %t9980 = getelementptr inbounds %LSlice, ptr %t9977, i32 0, i32 0 %t9981 = load i32, ptr %t9978 %t9982 = load i32, ptr %t9979 %t9983 = icmp sge i32 %t9981, %t9982 br i1 %t9983, label %grow2101, label %put2102 grow2101: %t9984 = mul i32 %t9982, 2 %t9985 = icmp eq i32 %t9982, 0 %t9986 = select i1 %t9985, i32 8, i32 %t9984 %t9987 = getelementptr ptr, ptr null, i32 1 %t9988 = ptrtoint ptr %t9987 to i64 %t9989 = zext i32 %t9986 to i64 %t9990 = mul i64 %t9989, %t9988 %t9991 = load ptr, ptr %t9980 %t9992 = call ptr @realloc(ptr %t9991, i64 %t9990) store ptr %t9992, ptr %t9980 store i32 %t9986, ptr %t9979 br label %put2102 put2102: %t9993 = load ptr, ptr %t9980 %t9994 = getelementptr inbounds ptr, ptr %t9993, i32 %t9981 store ptr @.str7599, ptr %t9994 %t9995 = add i32 %t9981, 1 store i32 %t9995, ptr %t9978 %t9996 = load ptr, ptr %t387 %t9997 = getelementptr inbounds %LSlice, ptr %t9996, i32 0, i32 1 %t9998 = getelementptr inbounds %LSlice, ptr %t9996, i32 0, i32 2 %t9999 = getelementptr inbounds %LSlice, ptr %t9996, i32 0, i32 0 %t10000 = load i32, ptr %t9997 %t10001 = load i32, ptr %t9998 %t10002 = icmp sge i32 %t10000, %t10001 br i1 %t10002, label %grow2103, label %put2104 grow2103: %t10003 = mul i32 %t10001, 2 %t10004 = icmp eq i32 %t10001, 0 %t10005 = select i1 %t10004, i32 8, i32 %t10003 %t10006 = getelementptr ptr, ptr null, i32 1 %t10007 = ptrtoint ptr %t10006 to i64 %t10008 = zext i32 %t10005 to i64 %t10009 = mul i64 %t10008, %t10007 %t10010 = load ptr, ptr %t9999 %t10011 = call ptr @realloc(ptr %t10010, i64 %t10009) store ptr %t10011, ptr %t9999 store i32 %t10005, ptr %t9998 br label %put2104 put2104: %t10012 = load ptr, ptr %t9999 %t10013 = getelementptr inbounds ptr, ptr %t10012, i32 %t10000 store ptr @.str7600, ptr %t10013 %t10014 = add i32 %t10000, 1 store i32 %t10014, ptr %t9997 br label %ifend2098 ifend2098: %t10015 = load ptr, ptr %t1 %t10016 = call i32 @lp_str_eq(ptr %t10015, ptr @.str7601) %t10017 = icmp ne i32 %t10016, 0 br i1 %t10017, label %then2105, label %ifend2107 then2105: store ptr @.str7602, ptr %t380 %t10018 = load ptr, ptr %t387 %t10019 = getelementptr inbounds %LSlice, ptr %t10018, i32 0, i32 1 %t10020 = getelementptr inbounds %LSlice, ptr %t10018, i32 0, i32 2 %t10021 = getelementptr inbounds %LSlice, ptr %t10018, i32 0, i32 0 %t10022 = load i32, ptr %t10019 %t10023 = load i32, ptr %t10020 %t10024 = icmp sge i32 %t10022, %t10023 br i1 %t10024, label %grow2108, label %put2109 grow2108: %t10025 = mul i32 %t10023, 2 %t10026 = icmp eq i32 %t10023, 0 %t10027 = select i1 %t10026, i32 8, i32 %t10025 %t10028 = getelementptr ptr, ptr null, i32 1 %t10029 = ptrtoint ptr %t10028 to i64 %t10030 = zext i32 %t10027 to i64 %t10031 = mul i64 %t10030, %t10029 %t10032 = load ptr, ptr %t10021 %t10033 = call ptr @realloc(ptr %t10032, i64 %t10031) store ptr %t10033, ptr %t10021 store i32 %t10027, ptr %t10020 br label %put2109 put2109: %t10034 = load ptr, ptr %t10021 %t10035 = getelementptr inbounds ptr, ptr %t10034, i32 %t10022 store ptr @.str7603, ptr %t10035 %t10036 = add i32 %t10022, 1 store i32 %t10036, ptr %t10019 %t10037 = load ptr, ptr %t387 %t10038 = getelementptr inbounds %LSlice, ptr %t10037, i32 0, i32 1 %t10039 = getelementptr inbounds %LSlice, ptr %t10037, i32 0, i32 2 %t10040 = getelementptr inbounds %LSlice, ptr %t10037, i32 0, i32 0 %t10041 = load i32, ptr %t10038 %t10042 = load i32, ptr %t10039 %t10043 = icmp sge i32 %t10041, %t10042 br i1 %t10043, label %grow2110, label %put2111 grow2110: %t10044 = mul i32 %t10042, 2 %t10045 = icmp eq i32 %t10042, 0 %t10046 = select i1 %t10045, i32 8, i32 %t10044 %t10047 = getelementptr ptr, ptr null, i32 1 %t10048 = ptrtoint ptr %t10047 to i64 %t10049 = zext i32 %t10046 to i64 %t10050 = mul i64 %t10049, %t10048 %t10051 = load ptr, ptr %t10040 %t10052 = call ptr @realloc(ptr %t10051, i64 %t10050) store ptr %t10052, ptr %t10040 store i32 %t10046, ptr %t10039 br label %put2111 put2111: %t10053 = load ptr, ptr %t10040 %t10054 = getelementptr inbounds ptr, ptr %t10053, i32 %t10041 store ptr @.str7604, ptr %t10054 %t10055 = add i32 %t10041, 1 store i32 %t10055, ptr %t10038 br label %ifend2107 ifend2107: br label %ifend2083 ifend2083: %t10056 = load ptr, ptr %t0 %t10057 = call i32 @lp_str_eq(ptr %t10056, ptr @.str7605) %t10058 = icmp ne i32 %t10057, 0 br i1 %t10058, label %then2112, label %ifend2114 then2112: %t10059 = load ptr, ptr %t1 %t10060 = call i32 @lp_str_eq(ptr %t10059, ptr @.str7606) %t10061 = icmp ne i32 %t10060, 0 br i1 %t10061, label %then2115, label %ifend2117 then2115: store ptr @.str7607, ptr %t380 %t10062 = load ptr, ptr %t387 %t10063 = getelementptr inbounds %LSlice, ptr %t10062, i32 0, i32 1 %t10064 = getelementptr inbounds %LSlice, ptr %t10062, i32 0, i32 2 %t10065 = getelementptr inbounds %LSlice, ptr %t10062, i32 0, i32 0 %t10066 = load i32, ptr %t10063 %t10067 = load i32, ptr %t10064 %t10068 = icmp sge i32 %t10066, %t10067 br i1 %t10068, label %grow2118, label %put2119 grow2118: %t10069 = mul i32 %t10067, 2 %t10070 = icmp eq i32 %t10067, 0 %t10071 = select i1 %t10070, i32 8, i32 %t10069 %t10072 = getelementptr ptr, ptr null, i32 1 %t10073 = ptrtoint ptr %t10072 to i64 %t10074 = zext i32 %t10071 to i64 %t10075 = mul i64 %t10074, %t10073 %t10076 = load ptr, ptr %t10065 %t10077 = call ptr @realloc(ptr %t10076, i64 %t10075) store ptr %t10077, ptr %t10065 store i32 %t10071, ptr %t10064 br label %put2119 put2119: %t10078 = load ptr, ptr %t10065 %t10079 = getelementptr inbounds ptr, ptr %t10078, i32 %t10066 store ptr @.str7608, ptr %t10079 %t10080 = add i32 %t10066, 1 store i32 %t10080, ptr %t10063 %t10081 = load ptr, ptr %t387 %t10082 = getelementptr inbounds %LSlice, ptr %t10081, i32 0, i32 1 %t10083 = getelementptr inbounds %LSlice, ptr %t10081, i32 0, i32 2 %t10084 = getelementptr inbounds %LSlice, ptr %t10081, i32 0, i32 0 %t10085 = load i32, ptr %t10082 %t10086 = load i32, ptr %t10083 %t10087 = icmp sge i32 %t10085, %t10086 br i1 %t10087, label %grow2120, label %put2121 grow2120: %t10088 = mul i32 %t10086, 2 %t10089 = icmp eq i32 %t10086, 0 %t10090 = select i1 %t10089, i32 8, i32 %t10088 %t10091 = getelementptr ptr, ptr null, i32 1 %t10092 = ptrtoint ptr %t10091 to i64 %t10093 = zext i32 %t10090 to i64 %t10094 = mul i64 %t10093, %t10092 %t10095 = load ptr, ptr %t10084 %t10096 = call ptr @realloc(ptr %t10095, i64 %t10094) store ptr %t10096, ptr %t10084 store i32 %t10090, ptr %t10083 br label %put2121 put2121: %t10097 = load ptr, ptr %t10084 %t10098 = getelementptr inbounds ptr, ptr %t10097, i32 %t10085 store ptr @.str7609, ptr %t10098 %t10099 = add i32 %t10085, 1 store i32 %t10099, ptr %t10082 %t10100 = load ptr, ptr %t387 %t10101 = getelementptr inbounds %LSlice, ptr %t10100, i32 0, i32 1 %t10102 = getelementptr inbounds %LSlice, ptr %t10100, i32 0, i32 2 %t10103 = getelementptr inbounds %LSlice, ptr %t10100, i32 0, i32 0 %t10104 = load i32, ptr %t10101 %t10105 = load i32, ptr %t10102 %t10106 = icmp sge i32 %t10104, %t10105 br i1 %t10106, label %grow2122, label %put2123 grow2122: %t10107 = mul i32 %t10105, 2 %t10108 = icmp eq i32 %t10105, 0 %t10109 = select i1 %t10108, i32 8, i32 %t10107 %t10110 = getelementptr ptr, ptr null, i32 1 %t10111 = ptrtoint ptr %t10110 to i64 %t10112 = zext i32 %t10109 to i64 %t10113 = mul i64 %t10112, %t10111 %t10114 = load ptr, ptr %t10103 %t10115 = call ptr @realloc(ptr %t10114, i64 %t10113) store ptr %t10115, ptr %t10103 store i32 %t10109, ptr %t10102 br label %put2123 put2123: %t10116 = load ptr, ptr %t10103 %t10117 = getelementptr inbounds ptr, ptr %t10116, i32 %t10104 store ptr @.str7610, ptr %t10117 %t10118 = add i32 %t10104, 1 store i32 %t10118, ptr %t10101 %t10119 = load ptr, ptr %t387 %t10120 = getelementptr inbounds %LSlice, ptr %t10119, i32 0, i32 1 %t10121 = getelementptr inbounds %LSlice, ptr %t10119, i32 0, i32 2 %t10122 = getelementptr inbounds %LSlice, ptr %t10119, i32 0, i32 0 %t10123 = load i32, ptr %t10120 %t10124 = load i32, ptr %t10121 %t10125 = icmp sge i32 %t10123, %t10124 br i1 %t10125, label %grow2124, label %put2125 grow2124: %t10126 = mul i32 %t10124, 2 %t10127 = icmp eq i32 %t10124, 0 %t10128 = select i1 %t10127, i32 8, i32 %t10126 %t10129 = getelementptr ptr, ptr null, i32 1 %t10130 = ptrtoint ptr %t10129 to i64 %t10131 = zext i32 %t10128 to i64 %t10132 = mul i64 %t10131, %t10130 %t10133 = load ptr, ptr %t10122 %t10134 = call ptr @realloc(ptr %t10133, i64 %t10132) store ptr %t10134, ptr %t10122 store i32 %t10128, ptr %t10121 br label %put2125 put2125: %t10135 = load ptr, ptr %t10122 %t10136 = getelementptr inbounds ptr, ptr %t10135, i32 %t10123 store ptr @.str7611, ptr %t10136 %t10137 = add i32 %t10123, 1 store i32 %t10137, ptr %t10120 br label %ifend2117 ifend2117: %t10138 = load ptr, ptr %t1 %t10139 = call i32 @lp_str_eq(ptr %t10138, ptr @.str7612) %t10140 = icmp ne i32 %t10139, 0 br i1 %t10140, label %then2126, label %ifend2128 then2126: store ptr @.str7613, ptr %t380 %t10141 = load ptr, ptr %t387 %t10142 = getelementptr inbounds %LSlice, ptr %t10141, i32 0, i32 1 %t10143 = getelementptr inbounds %LSlice, ptr %t10141, i32 0, i32 2 %t10144 = getelementptr inbounds %LSlice, ptr %t10141, i32 0, i32 0 %t10145 = load i32, ptr %t10142 %t10146 = load i32, ptr %t10143 %t10147 = icmp sge i32 %t10145, %t10146 br i1 %t10147, label %grow2129, label %put2130 grow2129: %t10148 = mul i32 %t10146, 2 %t10149 = icmp eq i32 %t10146, 0 %t10150 = select i1 %t10149, i32 8, i32 %t10148 %t10151 = getelementptr ptr, ptr null, i32 1 %t10152 = ptrtoint ptr %t10151 to i64 %t10153 = zext i32 %t10150 to i64 %t10154 = mul i64 %t10153, %t10152 %t10155 = load ptr, ptr %t10144 %t10156 = call ptr @realloc(ptr %t10155, i64 %t10154) store ptr %t10156, ptr %t10144 store i32 %t10150, ptr %t10143 br label %put2130 put2130: %t10157 = load ptr, ptr %t10144 %t10158 = getelementptr inbounds ptr, ptr %t10157, i32 %t10145 store ptr @.str7614, ptr %t10158 %t10159 = add i32 %t10145, 1 store i32 %t10159, ptr %t10142 %t10160 = load ptr, ptr %t387 %t10161 = getelementptr inbounds %LSlice, ptr %t10160, i32 0, i32 1 %t10162 = getelementptr inbounds %LSlice, ptr %t10160, i32 0, i32 2 %t10163 = getelementptr inbounds %LSlice, ptr %t10160, i32 0, i32 0 %t10164 = load i32, ptr %t10161 %t10165 = load i32, ptr %t10162 %t10166 = icmp sge i32 %t10164, %t10165 br i1 %t10166, label %grow2131, label %put2132 grow2131: %t10167 = mul i32 %t10165, 2 %t10168 = icmp eq i32 %t10165, 0 %t10169 = select i1 %t10168, i32 8, i32 %t10167 %t10170 = getelementptr ptr, ptr null, i32 1 %t10171 = ptrtoint ptr %t10170 to i64 %t10172 = zext i32 %t10169 to i64 %t10173 = mul i64 %t10172, %t10171 %t10174 = load ptr, ptr %t10163 %t10175 = call ptr @realloc(ptr %t10174, i64 %t10173) store ptr %t10175, ptr %t10163 store i32 %t10169, ptr %t10162 br label %put2132 put2132: %t10176 = load ptr, ptr %t10163 %t10177 = getelementptr inbounds ptr, ptr %t10176, i32 %t10164 store ptr @.str7615, ptr %t10177 %t10178 = add i32 %t10164, 1 store i32 %t10178, ptr %t10161 %t10179 = load ptr, ptr %t387 %t10180 = getelementptr inbounds %LSlice, ptr %t10179, i32 0, i32 1 %t10181 = getelementptr inbounds %LSlice, ptr %t10179, i32 0, i32 2 %t10182 = getelementptr inbounds %LSlice, ptr %t10179, i32 0, i32 0 %t10183 = load i32, ptr %t10180 %t10184 = load i32, ptr %t10181 %t10185 = icmp sge i32 %t10183, %t10184 br i1 %t10185, label %grow2133, label %put2134 grow2133: %t10186 = mul i32 %t10184, 2 %t10187 = icmp eq i32 %t10184, 0 %t10188 = select i1 %t10187, i32 8, i32 %t10186 %t10189 = getelementptr ptr, ptr null, i32 1 %t10190 = ptrtoint ptr %t10189 to i64 %t10191 = zext i32 %t10188 to i64 %t10192 = mul i64 %t10191, %t10190 %t10193 = load ptr, ptr %t10182 %t10194 = call ptr @realloc(ptr %t10193, i64 %t10192) store ptr %t10194, ptr %t10182 store i32 %t10188, ptr %t10181 br label %put2134 put2134: %t10195 = load ptr, ptr %t10182 %t10196 = getelementptr inbounds ptr, ptr %t10195, i32 %t10183 store ptr @.str7616, ptr %t10196 %t10197 = add i32 %t10183, 1 store i32 %t10197, ptr %t10180 br label %ifend2128 ifend2128: %t10198 = load ptr, ptr %t1 %t10199 = call i32 @lp_str_eq(ptr %t10198, ptr @.str7617) %t10200 = icmp ne i32 %t10199, 0 br i1 %t10200, label %then2135, label %ifend2137 then2135: store ptr @.str7618, ptr %t380 %t10201 = load ptr, ptr %t387 %t10202 = getelementptr inbounds %LSlice, ptr %t10201, i32 0, i32 1 %t10203 = getelementptr inbounds %LSlice, ptr %t10201, i32 0, i32 2 %t10204 = getelementptr inbounds %LSlice, ptr %t10201, i32 0, i32 0 %t10205 = load i32, ptr %t10202 %t10206 = load i32, ptr %t10203 %t10207 = icmp sge i32 %t10205, %t10206 br i1 %t10207, label %grow2138, label %put2139 grow2138: %t10208 = mul i32 %t10206, 2 %t10209 = icmp eq i32 %t10206, 0 %t10210 = select i1 %t10209, i32 8, i32 %t10208 %t10211 = getelementptr ptr, ptr null, i32 1 %t10212 = ptrtoint ptr %t10211 to i64 %t10213 = zext i32 %t10210 to i64 %t10214 = mul i64 %t10213, %t10212 %t10215 = load ptr, ptr %t10204 %t10216 = call ptr @realloc(ptr %t10215, i64 %t10214) store ptr %t10216, ptr %t10204 store i32 %t10210, ptr %t10203 br label %put2139 put2139: %t10217 = load ptr, ptr %t10204 %t10218 = getelementptr inbounds ptr, ptr %t10217, i32 %t10205 store ptr @.str7619, ptr %t10218 %t10219 = add i32 %t10205, 1 store i32 %t10219, ptr %t10202 %t10220 = load ptr, ptr %t387 %t10221 = getelementptr inbounds %LSlice, ptr %t10220, i32 0, i32 1 %t10222 = getelementptr inbounds %LSlice, ptr %t10220, i32 0, i32 2 %t10223 = getelementptr inbounds %LSlice, ptr %t10220, i32 0, i32 0 %t10224 = load i32, ptr %t10221 %t10225 = load i32, ptr %t10222 %t10226 = icmp sge i32 %t10224, %t10225 br i1 %t10226, label %grow2140, label %put2141 grow2140: %t10227 = mul i32 %t10225, 2 %t10228 = icmp eq i32 %t10225, 0 %t10229 = select i1 %t10228, i32 8, i32 %t10227 %t10230 = getelementptr ptr, ptr null, i32 1 %t10231 = ptrtoint ptr %t10230 to i64 %t10232 = zext i32 %t10229 to i64 %t10233 = mul i64 %t10232, %t10231 %t10234 = load ptr, ptr %t10223 %t10235 = call ptr @realloc(ptr %t10234, i64 %t10233) store ptr %t10235, ptr %t10223 store i32 %t10229, ptr %t10222 br label %put2141 put2141: %t10236 = load ptr, ptr %t10223 %t10237 = getelementptr inbounds ptr, ptr %t10236, i32 %t10224 store ptr @.str7620, ptr %t10237 %t10238 = add i32 %t10224, 1 store i32 %t10238, ptr %t10221 %t10239 = load ptr, ptr %t387 %t10240 = getelementptr inbounds %LSlice, ptr %t10239, i32 0, i32 1 %t10241 = getelementptr inbounds %LSlice, ptr %t10239, i32 0, i32 2 %t10242 = getelementptr inbounds %LSlice, ptr %t10239, i32 0, i32 0 %t10243 = load i32, ptr %t10240 %t10244 = load i32, ptr %t10241 %t10245 = icmp sge i32 %t10243, %t10244 br i1 %t10245, label %grow2142, label %put2143 grow2142: %t10246 = mul i32 %t10244, 2 %t10247 = icmp eq i32 %t10244, 0 %t10248 = select i1 %t10247, i32 8, i32 %t10246 %t10249 = getelementptr ptr, ptr null, i32 1 %t10250 = ptrtoint ptr %t10249 to i64 %t10251 = zext i32 %t10248 to i64 %t10252 = mul i64 %t10251, %t10250 %t10253 = load ptr, ptr %t10242 %t10254 = call ptr @realloc(ptr %t10253, i64 %t10252) store ptr %t10254, ptr %t10242 store i32 %t10248, ptr %t10241 br label %put2143 put2143: %t10255 = load ptr, ptr %t10242 %t10256 = getelementptr inbounds ptr, ptr %t10255, i32 %t10243 store ptr @.str7621, ptr %t10256 %t10257 = add i32 %t10243, 1 store i32 %t10257, ptr %t10240 %t10258 = load ptr, ptr %t387 %t10259 = getelementptr inbounds %LSlice, ptr %t10258, i32 0, i32 1 %t10260 = getelementptr inbounds %LSlice, ptr %t10258, i32 0, i32 2 %t10261 = getelementptr inbounds %LSlice, ptr %t10258, i32 0, i32 0 %t10262 = load i32, ptr %t10259 %t10263 = load i32, ptr %t10260 %t10264 = icmp sge i32 %t10262, %t10263 br i1 %t10264, label %grow2144, label %put2145 grow2144: %t10265 = mul i32 %t10263, 2 %t10266 = icmp eq i32 %t10263, 0 %t10267 = select i1 %t10266, i32 8, i32 %t10265 %t10268 = getelementptr ptr, ptr null, i32 1 %t10269 = ptrtoint ptr %t10268 to i64 %t10270 = zext i32 %t10267 to i64 %t10271 = mul i64 %t10270, %t10269 %t10272 = load ptr, ptr %t10261 %t10273 = call ptr @realloc(ptr %t10272, i64 %t10271) store ptr %t10273, ptr %t10261 store i32 %t10267, ptr %t10260 br label %put2145 put2145: %t10274 = load ptr, ptr %t10261 %t10275 = getelementptr inbounds ptr, ptr %t10274, i32 %t10262 store ptr @.str7622, ptr %t10275 %t10276 = add i32 %t10262, 1 store i32 %t10276, ptr %t10259 %t10277 = load ptr, ptr %t387 %t10278 = getelementptr inbounds %LSlice, ptr %t10277, i32 0, i32 1 %t10279 = getelementptr inbounds %LSlice, ptr %t10277, i32 0, i32 2 %t10280 = getelementptr inbounds %LSlice, ptr %t10277, i32 0, i32 0 %t10281 = load i32, ptr %t10278 %t10282 = load i32, ptr %t10279 %t10283 = icmp sge i32 %t10281, %t10282 br i1 %t10283, label %grow2146, label %put2147 grow2146: %t10284 = mul i32 %t10282, 2 %t10285 = icmp eq i32 %t10282, 0 %t10286 = select i1 %t10285, i32 8, i32 %t10284 %t10287 = getelementptr ptr, ptr null, i32 1 %t10288 = ptrtoint ptr %t10287 to i64 %t10289 = zext i32 %t10286 to i64 %t10290 = mul i64 %t10289, %t10288 %t10291 = load ptr, ptr %t10280 %t10292 = call ptr @realloc(ptr %t10291, i64 %t10290) store ptr %t10292, ptr %t10280 store i32 %t10286, ptr %t10279 br label %put2147 put2147: %t10293 = load ptr, ptr %t10280 %t10294 = getelementptr inbounds ptr, ptr %t10293, i32 %t10281 store ptr @.str7623, ptr %t10294 %t10295 = add i32 %t10281, 1 store i32 %t10295, ptr %t10278 br label %ifend2137 ifend2137: %t10296 = load ptr, ptr %t1 %t10297 = call i32 @lp_str_eq(ptr %t10296, ptr @.str7624) %t10298 = icmp ne i32 %t10297, 0 br i1 %t10298, label %then2148, label %ifend2150 then2148: store ptr @.str7625, ptr %t380 %t10299 = load ptr, ptr %t387 %t10300 = getelementptr inbounds %LSlice, ptr %t10299, i32 0, i32 1 %t10301 = getelementptr inbounds %LSlice, ptr %t10299, i32 0, i32 2 %t10302 = getelementptr inbounds %LSlice, ptr %t10299, i32 0, i32 0 %t10303 = load i32, ptr %t10300 %t10304 = load i32, ptr %t10301 %t10305 = icmp sge i32 %t10303, %t10304 br i1 %t10305, label %grow2151, label %put2152 grow2151: %t10306 = mul i32 %t10304, 2 %t10307 = icmp eq i32 %t10304, 0 %t10308 = select i1 %t10307, i32 8, i32 %t10306 %t10309 = getelementptr ptr, ptr null, i32 1 %t10310 = ptrtoint ptr %t10309 to i64 %t10311 = zext i32 %t10308 to i64 %t10312 = mul i64 %t10311, %t10310 %t10313 = load ptr, ptr %t10302 %t10314 = call ptr @realloc(ptr %t10313, i64 %t10312) store ptr %t10314, ptr %t10302 store i32 %t10308, ptr %t10301 br label %put2152 put2152: %t10315 = load ptr, ptr %t10302 %t10316 = getelementptr inbounds ptr, ptr %t10315, i32 %t10303 store ptr @.str7626, ptr %t10316 %t10317 = add i32 %t10303, 1 store i32 %t10317, ptr %t10300 %t10318 = load ptr, ptr %t387 %t10319 = getelementptr inbounds %LSlice, ptr %t10318, i32 0, i32 1 %t10320 = getelementptr inbounds %LSlice, ptr %t10318, i32 0, i32 2 %t10321 = getelementptr inbounds %LSlice, ptr %t10318, i32 0, i32 0 %t10322 = load i32, ptr %t10319 %t10323 = load i32, ptr %t10320 %t10324 = icmp sge i32 %t10322, %t10323 br i1 %t10324, label %grow2153, label %put2154 grow2153: %t10325 = mul i32 %t10323, 2 %t10326 = icmp eq i32 %t10323, 0 %t10327 = select i1 %t10326, i32 8, i32 %t10325 %t10328 = getelementptr ptr, ptr null, i32 1 %t10329 = ptrtoint ptr %t10328 to i64 %t10330 = zext i32 %t10327 to i64 %t10331 = mul i64 %t10330, %t10329 %t10332 = load ptr, ptr %t10321 %t10333 = call ptr @realloc(ptr %t10332, i64 %t10331) store ptr %t10333, ptr %t10321 store i32 %t10327, ptr %t10320 br label %put2154 put2154: %t10334 = load ptr, ptr %t10321 %t10335 = getelementptr inbounds ptr, ptr %t10334, i32 %t10322 store ptr @.str7627, ptr %t10335 %t10336 = add i32 %t10322, 1 store i32 %t10336, ptr %t10319 %t10337 = load ptr, ptr %t387 %t10338 = getelementptr inbounds %LSlice, ptr %t10337, i32 0, i32 1 %t10339 = getelementptr inbounds %LSlice, ptr %t10337, i32 0, i32 2 %t10340 = getelementptr inbounds %LSlice, ptr %t10337, i32 0, i32 0 %t10341 = load i32, ptr %t10338 %t10342 = load i32, ptr %t10339 %t10343 = icmp sge i32 %t10341, %t10342 br i1 %t10343, label %grow2155, label %put2156 grow2155: %t10344 = mul i32 %t10342, 2 %t10345 = icmp eq i32 %t10342, 0 %t10346 = select i1 %t10345, i32 8, i32 %t10344 %t10347 = getelementptr ptr, ptr null, i32 1 %t10348 = ptrtoint ptr %t10347 to i64 %t10349 = zext i32 %t10346 to i64 %t10350 = mul i64 %t10349, %t10348 %t10351 = load ptr, ptr %t10340 %t10352 = call ptr @realloc(ptr %t10351, i64 %t10350) store ptr %t10352, ptr %t10340 store i32 %t10346, ptr %t10339 br label %put2156 put2156: %t10353 = load ptr, ptr %t10340 %t10354 = getelementptr inbounds ptr, ptr %t10353, i32 %t10341 store ptr @.str7628, ptr %t10354 %t10355 = add i32 %t10341, 1 store i32 %t10355, ptr %t10338 br label %ifend2150 ifend2150: %t10356 = load ptr, ptr %t1 %t10357 = call i32 @lp_str_eq(ptr %t10356, ptr @.str7629) %t10358 = icmp ne i32 %t10357, 0 br i1 %t10358, label %then2157, label %ifend2159 then2157: store ptr @.str7630, ptr %t380 %t10359 = load ptr, ptr %t387 %t10360 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 1 %t10361 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 2 %t10362 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 0 %t10363 = load i32, ptr %t10360 %t10364 = load i32, ptr %t10361 %t10365 = icmp sge i32 %t10363, %t10364 br i1 %t10365, label %grow2160, label %put2161 grow2160: %t10366 = mul i32 %t10364, 2 %t10367 = icmp eq i32 %t10364, 0 %t10368 = select i1 %t10367, i32 8, i32 %t10366 %t10369 = getelementptr ptr, ptr null, i32 1 %t10370 = ptrtoint ptr %t10369 to i64 %t10371 = zext i32 %t10368 to i64 %t10372 = mul i64 %t10371, %t10370 %t10373 = load ptr, ptr %t10362 %t10374 = call ptr @realloc(ptr %t10373, i64 %t10372) store ptr %t10374, ptr %t10362 store i32 %t10368, ptr %t10361 br label %put2161 put2161: %t10375 = load ptr, ptr %t10362 %t10376 = getelementptr inbounds ptr, ptr %t10375, i32 %t10363 store ptr @.str7631, ptr %t10376 %t10377 = add i32 %t10363, 1 store i32 %t10377, ptr %t10360 %t10378 = load ptr, ptr %t387 %t10379 = getelementptr inbounds %LSlice, ptr %t10378, i32 0, i32 1 %t10380 = getelementptr inbounds %LSlice, ptr %t10378, i32 0, i32 2 %t10381 = getelementptr inbounds %LSlice, ptr %t10378, i32 0, i32 0 %t10382 = load i32, ptr %t10379 %t10383 = load i32, ptr %t10380 %t10384 = icmp sge i32 %t10382, %t10383 br i1 %t10384, label %grow2162, label %put2163 grow2162: %t10385 = mul i32 %t10383, 2 %t10386 = icmp eq i32 %t10383, 0 %t10387 = select i1 %t10386, i32 8, i32 %t10385 %t10388 = getelementptr ptr, ptr null, i32 1 %t10389 = ptrtoint ptr %t10388 to i64 %t10390 = zext i32 %t10387 to i64 %t10391 = mul i64 %t10390, %t10389 %t10392 = load ptr, ptr %t10381 %t10393 = call ptr @realloc(ptr %t10392, i64 %t10391) store ptr %t10393, ptr %t10381 store i32 %t10387, ptr %t10380 br label %put2163 put2163: %t10394 = load ptr, ptr %t10381 %t10395 = getelementptr inbounds ptr, ptr %t10394, i32 %t10382 store ptr @.str7632, ptr %t10395 %t10396 = add i32 %t10382, 1 store i32 %t10396, ptr %t10379 %t10397 = load ptr, ptr %t387 %t10398 = getelementptr inbounds %LSlice, ptr %t10397, i32 0, i32 1 %t10399 = getelementptr inbounds %LSlice, ptr %t10397, i32 0, i32 2 %t10400 = getelementptr inbounds %LSlice, ptr %t10397, i32 0, i32 0 %t10401 = load i32, ptr %t10398 %t10402 = load i32, ptr %t10399 %t10403 = icmp sge i32 %t10401, %t10402 br i1 %t10403, label %grow2164, label %put2165 grow2164: %t10404 = mul i32 %t10402, 2 %t10405 = icmp eq i32 %t10402, 0 %t10406 = select i1 %t10405, i32 8, i32 %t10404 %t10407 = getelementptr ptr, ptr null, i32 1 %t10408 = ptrtoint ptr %t10407 to i64 %t10409 = zext i32 %t10406 to i64 %t10410 = mul i64 %t10409, %t10408 %t10411 = load ptr, ptr %t10400 %t10412 = call ptr @realloc(ptr %t10411, i64 %t10410) store ptr %t10412, ptr %t10400 store i32 %t10406, ptr %t10399 br label %put2165 put2165: %t10413 = load ptr, ptr %t10400 %t10414 = getelementptr inbounds ptr, ptr %t10413, i32 %t10401 store ptr @.str7633, ptr %t10414 %t10415 = add i32 %t10401, 1 store i32 %t10415, ptr %t10398 %t10416 = load ptr, ptr %t387 %t10417 = getelementptr inbounds %LSlice, ptr %t10416, i32 0, i32 1 %t10418 = getelementptr inbounds %LSlice, ptr %t10416, i32 0, i32 2 %t10419 = getelementptr inbounds %LSlice, ptr %t10416, i32 0, i32 0 %t10420 = load i32, ptr %t10417 %t10421 = load i32, ptr %t10418 %t10422 = icmp sge i32 %t10420, %t10421 br i1 %t10422, label %grow2166, label %put2167 grow2166: %t10423 = mul i32 %t10421, 2 %t10424 = icmp eq i32 %t10421, 0 %t10425 = select i1 %t10424, i32 8, i32 %t10423 %t10426 = getelementptr ptr, ptr null, i32 1 %t10427 = ptrtoint ptr %t10426 to i64 %t10428 = zext i32 %t10425 to i64 %t10429 = mul i64 %t10428, %t10427 %t10430 = load ptr, ptr %t10419 %t10431 = call ptr @realloc(ptr %t10430, i64 %t10429) store ptr %t10431, ptr %t10419 store i32 %t10425, ptr %t10418 br label %put2167 put2167: %t10432 = load ptr, ptr %t10419 %t10433 = getelementptr inbounds ptr, ptr %t10432, i32 %t10420 store ptr @.str7634, ptr %t10433 %t10434 = add i32 %t10420, 1 store i32 %t10434, ptr %t10417 %t10435 = load ptr, ptr %t387 %t10436 = getelementptr inbounds %LSlice, ptr %t10435, i32 0, i32 1 %t10437 = getelementptr inbounds %LSlice, ptr %t10435, i32 0, i32 2 %t10438 = getelementptr inbounds %LSlice, ptr %t10435, i32 0, i32 0 %t10439 = load i32, ptr %t10436 %t10440 = load i32, ptr %t10437 %t10441 = icmp sge i32 %t10439, %t10440 br i1 %t10441, label %grow2168, label %put2169 grow2168: %t10442 = mul i32 %t10440, 2 %t10443 = icmp eq i32 %t10440, 0 %t10444 = select i1 %t10443, i32 8, i32 %t10442 %t10445 = getelementptr ptr, ptr null, i32 1 %t10446 = ptrtoint ptr %t10445 to i64 %t10447 = zext i32 %t10444 to i64 %t10448 = mul i64 %t10447, %t10446 %t10449 = load ptr, ptr %t10438 %t10450 = call ptr @realloc(ptr %t10449, i64 %t10448) store ptr %t10450, ptr %t10438 store i32 %t10444, ptr %t10437 br label %put2169 put2169: %t10451 = load ptr, ptr %t10438 %t10452 = getelementptr inbounds ptr, ptr %t10451, i32 %t10439 store ptr @.str7635, ptr %t10452 %t10453 = add i32 %t10439, 1 store i32 %t10453, ptr %t10436 br label %ifend2159 ifend2159: br label %ifend2114 ifend2114: %t10454 = load ptr, ptr %t0 %t10455 = call i32 @lp_str_eq(ptr %t10454, ptr @.str7636) %t10456 = icmp ne i32 %t10455, 0 br i1 %t10456, label %then2170, label %ifend2172 then2170: %t10457 = load ptr, ptr %t1 %t10458 = call i32 @lp_str_eq(ptr %t10457, ptr @.str7637) %t10459 = icmp ne i32 %t10458, 0 br i1 %t10459, label %then2173, label %ifend2175 then2173: store ptr @.str7638, ptr %t380 %t10460 = load ptr, ptr %t387 %t10461 = getelementptr inbounds %LSlice, ptr %t10460, i32 0, i32 1 %t10462 = getelementptr inbounds %LSlice, ptr %t10460, i32 0, i32 2 %t10463 = getelementptr inbounds %LSlice, ptr %t10460, i32 0, i32 0 %t10464 = load i32, ptr %t10461 %t10465 = load i32, ptr %t10462 %t10466 = icmp sge i32 %t10464, %t10465 br i1 %t10466, label %grow2176, label %put2177 grow2176: %t10467 = mul i32 %t10465, 2 %t10468 = icmp eq i32 %t10465, 0 %t10469 = select i1 %t10468, i32 8, i32 %t10467 %t10470 = getelementptr ptr, ptr null, i32 1 %t10471 = ptrtoint ptr %t10470 to i64 %t10472 = zext i32 %t10469 to i64 %t10473 = mul i64 %t10472, %t10471 %t10474 = load ptr, ptr %t10463 %t10475 = call ptr @realloc(ptr %t10474, i64 %t10473) store ptr %t10475, ptr %t10463 store i32 %t10469, ptr %t10462 br label %put2177 put2177: %t10476 = load ptr, ptr %t10463 %t10477 = getelementptr inbounds ptr, ptr %t10476, i32 %t10464 store ptr @.str7639, ptr %t10477 %t10478 = add i32 %t10464, 1 store i32 %t10478, ptr %t10461 br label %ifend2175 ifend2175: %t10479 = load ptr, ptr %t1 %t10480 = call i32 @lp_str_eq(ptr %t10479, ptr @.str7640) %t10481 = icmp ne i32 %t10480, 0 br i1 %t10481, label %then2178, label %ifend2180 then2178: store ptr @.str7641, ptr %t380 %t10482 = load ptr, ptr %t387 %t10483 = getelementptr inbounds %LSlice, ptr %t10482, i32 0, i32 1 %t10484 = getelementptr inbounds %LSlice, ptr %t10482, i32 0, i32 2 %t10485 = getelementptr inbounds %LSlice, ptr %t10482, i32 0, i32 0 %t10486 = load i32, ptr %t10483 %t10487 = load i32, ptr %t10484 %t10488 = icmp sge i32 %t10486, %t10487 br i1 %t10488, label %grow2181, label %put2182 grow2181: %t10489 = mul i32 %t10487, 2 %t10490 = icmp eq i32 %t10487, 0 %t10491 = select i1 %t10490, i32 8, i32 %t10489 %t10492 = getelementptr ptr, ptr null, i32 1 %t10493 = ptrtoint ptr %t10492 to i64 %t10494 = zext i32 %t10491 to i64 %t10495 = mul i64 %t10494, %t10493 %t10496 = load ptr, ptr %t10485 %t10497 = call ptr @realloc(ptr %t10496, i64 %t10495) store ptr %t10497, ptr %t10485 store i32 %t10491, ptr %t10484 br label %put2182 put2182: %t10498 = load ptr, ptr %t10485 %t10499 = getelementptr inbounds ptr, ptr %t10498, i32 %t10486 store ptr @.str7642, ptr %t10499 %t10500 = add i32 %t10486, 1 store i32 %t10500, ptr %t10483 %t10501 = load ptr, ptr %t387 %t10502 = getelementptr inbounds %LSlice, ptr %t10501, i32 0, i32 1 %t10503 = getelementptr inbounds %LSlice, ptr %t10501, i32 0, i32 2 %t10504 = getelementptr inbounds %LSlice, ptr %t10501, i32 0, i32 0 %t10505 = load i32, ptr %t10502 %t10506 = load i32, ptr %t10503 %t10507 = icmp sge i32 %t10505, %t10506 br i1 %t10507, label %grow2183, label %put2184 grow2183: %t10508 = mul i32 %t10506, 2 %t10509 = icmp eq i32 %t10506, 0 %t10510 = select i1 %t10509, i32 8, i32 %t10508 %t10511 = getelementptr ptr, ptr null, i32 1 %t10512 = ptrtoint ptr %t10511 to i64 %t10513 = zext i32 %t10510 to i64 %t10514 = mul i64 %t10513, %t10512 %t10515 = load ptr, ptr %t10504 %t10516 = call ptr @realloc(ptr %t10515, i64 %t10514) store ptr %t10516, ptr %t10504 store i32 %t10510, ptr %t10503 br label %put2184 put2184: %t10517 = load ptr, ptr %t10504 %t10518 = getelementptr inbounds ptr, ptr %t10517, i32 %t10505 store ptr @.str7643, ptr %t10518 %t10519 = add i32 %t10505, 1 store i32 %t10519, ptr %t10502 %t10520 = load ptr, ptr %t387 %t10521 = getelementptr inbounds %LSlice, ptr %t10520, i32 0, i32 1 %t10522 = getelementptr inbounds %LSlice, ptr %t10520, i32 0, i32 2 %t10523 = getelementptr inbounds %LSlice, ptr %t10520, i32 0, i32 0 %t10524 = load i32, ptr %t10521 %t10525 = load i32, ptr %t10522 %t10526 = icmp sge i32 %t10524, %t10525 br i1 %t10526, label %grow2185, label %put2186 grow2185: %t10527 = mul i32 %t10525, 2 %t10528 = icmp eq i32 %t10525, 0 %t10529 = select i1 %t10528, i32 8, i32 %t10527 %t10530 = getelementptr ptr, ptr null, i32 1 %t10531 = ptrtoint ptr %t10530 to i64 %t10532 = zext i32 %t10529 to i64 %t10533 = mul i64 %t10532, %t10531 %t10534 = load ptr, ptr %t10523 %t10535 = call ptr @realloc(ptr %t10534, i64 %t10533) store ptr %t10535, ptr %t10523 store i32 %t10529, ptr %t10522 br label %put2186 put2186: %t10536 = load ptr, ptr %t10523 %t10537 = getelementptr inbounds ptr, ptr %t10536, i32 %t10524 store ptr @.str7644, ptr %t10537 %t10538 = add i32 %t10524, 1 store i32 %t10538, ptr %t10521 %t10539 = load ptr, ptr %t387 %t10540 = getelementptr inbounds %LSlice, ptr %t10539, i32 0, i32 1 %t10541 = getelementptr inbounds %LSlice, ptr %t10539, i32 0, i32 2 %t10542 = getelementptr inbounds %LSlice, ptr %t10539, i32 0, i32 0 %t10543 = load i32, ptr %t10540 %t10544 = load i32, ptr %t10541 %t10545 = icmp sge i32 %t10543, %t10544 br i1 %t10545, label %grow2187, label %put2188 grow2187: %t10546 = mul i32 %t10544, 2 %t10547 = icmp eq i32 %t10544, 0 %t10548 = select i1 %t10547, i32 8, i32 %t10546 %t10549 = getelementptr ptr, ptr null, i32 1 %t10550 = ptrtoint ptr %t10549 to i64 %t10551 = zext i32 %t10548 to i64 %t10552 = mul i64 %t10551, %t10550 %t10553 = load ptr, ptr %t10542 %t10554 = call ptr @realloc(ptr %t10553, i64 %t10552) store ptr %t10554, ptr %t10542 store i32 %t10548, ptr %t10541 br label %put2188 put2188: %t10555 = load ptr, ptr %t10542 %t10556 = getelementptr inbounds ptr, ptr %t10555, i32 %t10543 store ptr @.str7645, ptr %t10556 %t10557 = add i32 %t10543, 1 store i32 %t10557, ptr %t10540 %t10558 = load ptr, ptr %t387 %t10559 = getelementptr inbounds %LSlice, ptr %t10558, i32 0, i32 1 %t10560 = getelementptr inbounds %LSlice, ptr %t10558, i32 0, i32 2 %t10561 = getelementptr inbounds %LSlice, ptr %t10558, i32 0, i32 0 %t10562 = load i32, ptr %t10559 %t10563 = load i32, ptr %t10560 %t10564 = icmp sge i32 %t10562, %t10563 br i1 %t10564, label %grow2189, label %put2190 grow2189: %t10565 = mul i32 %t10563, 2 %t10566 = icmp eq i32 %t10563, 0 %t10567 = select i1 %t10566, i32 8, i32 %t10565 %t10568 = getelementptr ptr, ptr null, i32 1 %t10569 = ptrtoint ptr %t10568 to i64 %t10570 = zext i32 %t10567 to i64 %t10571 = mul i64 %t10570, %t10569 %t10572 = load ptr, ptr %t10561 %t10573 = call ptr @realloc(ptr %t10572, i64 %t10571) store ptr %t10573, ptr %t10561 store i32 %t10567, ptr %t10560 br label %put2190 put2190: %t10574 = load ptr, ptr %t10561 %t10575 = getelementptr inbounds ptr, ptr %t10574, i32 %t10562 store ptr @.str7646, ptr %t10575 %t10576 = add i32 %t10562, 1 store i32 %t10576, ptr %t10559 br label %ifend2180 ifend2180: %t10577 = load ptr, ptr %t1 %t10578 = call i32 @lp_str_eq(ptr %t10577, ptr @.str7647) %t10579 = icmp ne i32 %t10578, 0 br i1 %t10579, label %then2191, label %ifend2193 then2191: store ptr @.str7648, ptr %t380 %t10580 = load ptr, ptr %t387 %t10581 = getelementptr inbounds %LSlice, ptr %t10580, i32 0, i32 1 %t10582 = getelementptr inbounds %LSlice, ptr %t10580, i32 0, i32 2 %t10583 = getelementptr inbounds %LSlice, ptr %t10580, i32 0, i32 0 %t10584 = load i32, ptr %t10581 %t10585 = load i32, ptr %t10582 %t10586 = icmp sge i32 %t10584, %t10585 br i1 %t10586, label %grow2194, label %put2195 grow2194: %t10587 = mul i32 %t10585, 2 %t10588 = icmp eq i32 %t10585, 0 %t10589 = select i1 %t10588, i32 8, i32 %t10587 %t10590 = getelementptr ptr, ptr null, i32 1 %t10591 = ptrtoint ptr %t10590 to i64 %t10592 = zext i32 %t10589 to i64 %t10593 = mul i64 %t10592, %t10591 %t10594 = load ptr, ptr %t10583 %t10595 = call ptr @realloc(ptr %t10594, i64 %t10593) store ptr %t10595, ptr %t10583 store i32 %t10589, ptr %t10582 br label %put2195 put2195: %t10596 = load ptr, ptr %t10583 %t10597 = getelementptr inbounds ptr, ptr %t10596, i32 %t10584 store ptr @.str7649, ptr %t10597 %t10598 = add i32 %t10584, 1 store i32 %t10598, ptr %t10581 %t10599 = load ptr, ptr %t387 %t10600 = getelementptr inbounds %LSlice, ptr %t10599, i32 0, i32 1 %t10601 = getelementptr inbounds %LSlice, ptr %t10599, i32 0, i32 2 %t10602 = getelementptr inbounds %LSlice, ptr %t10599, i32 0, i32 0 %t10603 = load i32, ptr %t10600 %t10604 = load i32, ptr %t10601 %t10605 = icmp sge i32 %t10603, %t10604 br i1 %t10605, label %grow2196, label %put2197 grow2196: %t10606 = mul i32 %t10604, 2 %t10607 = icmp eq i32 %t10604, 0 %t10608 = select i1 %t10607, i32 8, i32 %t10606 %t10609 = getelementptr ptr, ptr null, i32 1 %t10610 = ptrtoint ptr %t10609 to i64 %t10611 = zext i32 %t10608 to i64 %t10612 = mul i64 %t10611, %t10610 %t10613 = load ptr, ptr %t10602 %t10614 = call ptr @realloc(ptr %t10613, i64 %t10612) store ptr %t10614, ptr %t10602 store i32 %t10608, ptr %t10601 br label %put2197 put2197: %t10615 = load ptr, ptr %t10602 %t10616 = getelementptr inbounds ptr, ptr %t10615, i32 %t10603 store ptr @.str7650, ptr %t10616 %t10617 = add i32 %t10603, 1 store i32 %t10617, ptr %t10600 %t10618 = load ptr, ptr %t387 %t10619 = getelementptr inbounds %LSlice, ptr %t10618, i32 0, i32 1 %t10620 = getelementptr inbounds %LSlice, ptr %t10618, i32 0, i32 2 %t10621 = getelementptr inbounds %LSlice, ptr %t10618, i32 0, i32 0 %t10622 = load i32, ptr %t10619 %t10623 = load i32, ptr %t10620 %t10624 = icmp sge i32 %t10622, %t10623 br i1 %t10624, label %grow2198, label %put2199 grow2198: %t10625 = mul i32 %t10623, 2 %t10626 = icmp eq i32 %t10623, 0 %t10627 = select i1 %t10626, i32 8, i32 %t10625 %t10628 = getelementptr ptr, ptr null, i32 1 %t10629 = ptrtoint ptr %t10628 to i64 %t10630 = zext i32 %t10627 to i64 %t10631 = mul i64 %t10630, %t10629 %t10632 = load ptr, ptr %t10621 %t10633 = call ptr @realloc(ptr %t10632, i64 %t10631) store ptr %t10633, ptr %t10621 store i32 %t10627, ptr %t10620 br label %put2199 put2199: %t10634 = load ptr, ptr %t10621 %t10635 = getelementptr inbounds ptr, ptr %t10634, i32 %t10622 store ptr @.str7651, ptr %t10635 %t10636 = add i32 %t10622, 1 store i32 %t10636, ptr %t10619 %t10637 = load ptr, ptr %t387 %t10638 = getelementptr inbounds %LSlice, ptr %t10637, i32 0, i32 1 %t10639 = getelementptr inbounds %LSlice, ptr %t10637, i32 0, i32 2 %t10640 = getelementptr inbounds %LSlice, ptr %t10637, i32 0, i32 0 %t10641 = load i32, ptr %t10638 %t10642 = load i32, ptr %t10639 %t10643 = icmp sge i32 %t10641, %t10642 br i1 %t10643, label %grow2200, label %put2201 grow2200: %t10644 = mul i32 %t10642, 2 %t10645 = icmp eq i32 %t10642, 0 %t10646 = select i1 %t10645, i32 8, i32 %t10644 %t10647 = getelementptr ptr, ptr null, i32 1 %t10648 = ptrtoint ptr %t10647 to i64 %t10649 = zext i32 %t10646 to i64 %t10650 = mul i64 %t10649, %t10648 %t10651 = load ptr, ptr %t10640 %t10652 = call ptr @realloc(ptr %t10651, i64 %t10650) store ptr %t10652, ptr %t10640 store i32 %t10646, ptr %t10639 br label %put2201 put2201: %t10653 = load ptr, ptr %t10640 %t10654 = getelementptr inbounds ptr, ptr %t10653, i32 %t10641 store ptr @.str7652, ptr %t10654 %t10655 = add i32 %t10641, 1 store i32 %t10655, ptr %t10638 %t10656 = load ptr, ptr %t387 %t10657 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 1 %t10658 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 2 %t10659 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 0 %t10660 = load i32, ptr %t10657 %t10661 = load i32, ptr %t10658 %t10662 = icmp sge i32 %t10660, %t10661 br i1 %t10662, label %grow2202, label %put2203 grow2202: %t10663 = mul i32 %t10661, 2 %t10664 = icmp eq i32 %t10661, 0 %t10665 = select i1 %t10664, i32 8, i32 %t10663 %t10666 = getelementptr ptr, ptr null, i32 1 %t10667 = ptrtoint ptr %t10666 to i64 %t10668 = zext i32 %t10665 to i64 %t10669 = mul i64 %t10668, %t10667 %t10670 = load ptr, ptr %t10659 %t10671 = call ptr @realloc(ptr %t10670, i64 %t10669) store ptr %t10671, ptr %t10659 store i32 %t10665, ptr %t10658 br label %put2203 put2203: %t10672 = load ptr, ptr %t10659 %t10673 = getelementptr inbounds ptr, ptr %t10672, i32 %t10660 store ptr @.str7653, ptr %t10673 %t10674 = add i32 %t10660, 1 store i32 %t10674, ptr %t10657 %t10675 = load ptr, ptr %t387 %t10676 = getelementptr inbounds %LSlice, ptr %t10675, i32 0, i32 1 %t10677 = getelementptr inbounds %LSlice, ptr %t10675, i32 0, i32 2 %t10678 = getelementptr inbounds %LSlice, ptr %t10675, i32 0, i32 0 %t10679 = load i32, ptr %t10676 %t10680 = load i32, ptr %t10677 %t10681 = icmp sge i32 %t10679, %t10680 br i1 %t10681, label %grow2204, label %put2205 grow2204: %t10682 = mul i32 %t10680, 2 %t10683 = icmp eq i32 %t10680, 0 %t10684 = select i1 %t10683, i32 8, i32 %t10682 %t10685 = getelementptr ptr, ptr null, i32 1 %t10686 = ptrtoint ptr %t10685 to i64 %t10687 = zext i32 %t10684 to i64 %t10688 = mul i64 %t10687, %t10686 %t10689 = load ptr, ptr %t10678 %t10690 = call ptr @realloc(ptr %t10689, i64 %t10688) store ptr %t10690, ptr %t10678 store i32 %t10684, ptr %t10677 br label %put2205 put2205: %t10691 = load ptr, ptr %t10678 %t10692 = getelementptr inbounds ptr, ptr %t10691, i32 %t10679 store ptr @.str7654, ptr %t10692 %t10693 = add i32 %t10679, 1 store i32 %t10693, ptr %t10676 %t10694 = load ptr, ptr %t387 %t10695 = getelementptr inbounds %LSlice, ptr %t10694, i32 0, i32 1 %t10696 = getelementptr inbounds %LSlice, ptr %t10694, i32 0, i32 2 %t10697 = getelementptr inbounds %LSlice, ptr %t10694, i32 0, i32 0 %t10698 = load i32, ptr %t10695 %t10699 = load i32, ptr %t10696 %t10700 = icmp sge i32 %t10698, %t10699 br i1 %t10700, label %grow2206, label %put2207 grow2206: %t10701 = mul i32 %t10699, 2 %t10702 = icmp eq i32 %t10699, 0 %t10703 = select i1 %t10702, i32 8, i32 %t10701 %t10704 = getelementptr ptr, ptr null, i32 1 %t10705 = ptrtoint ptr %t10704 to i64 %t10706 = zext i32 %t10703 to i64 %t10707 = mul i64 %t10706, %t10705 %t10708 = load ptr, ptr %t10697 %t10709 = call ptr @realloc(ptr %t10708, i64 %t10707) store ptr %t10709, ptr %t10697 store i32 %t10703, ptr %t10696 br label %put2207 put2207: %t10710 = load ptr, ptr %t10697 %t10711 = getelementptr inbounds ptr, ptr %t10710, i32 %t10698 store ptr @.str7655, ptr %t10711 %t10712 = add i32 %t10698, 1 store i32 %t10712, ptr %t10695 br label %ifend2193 ifend2193: %t10713 = load ptr, ptr %t1 %t10714 = call i32 @lp_str_eq(ptr %t10713, ptr @.str7656) %t10715 = icmp ne i32 %t10714, 0 br i1 %t10715, label %then2208, label %ifend2210 then2208: store ptr @.str7657, ptr %t380 %t10716 = load ptr, ptr %t387 %t10717 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 1 %t10718 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 2 %t10719 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 0 %t10720 = load i32, ptr %t10717 %t10721 = load i32, ptr %t10718 %t10722 = icmp sge i32 %t10720, %t10721 br i1 %t10722, label %grow2211, label %put2212 grow2211: %t10723 = mul i32 %t10721, 2 %t10724 = icmp eq i32 %t10721, 0 %t10725 = select i1 %t10724, i32 8, i32 %t10723 %t10726 = getelementptr ptr, ptr null, i32 1 %t10727 = ptrtoint ptr %t10726 to i64 %t10728 = zext i32 %t10725 to i64 %t10729 = mul i64 %t10728, %t10727 %t10730 = load ptr, ptr %t10719 %t10731 = call ptr @realloc(ptr %t10730, i64 %t10729) store ptr %t10731, ptr %t10719 store i32 %t10725, ptr %t10718 br label %put2212 put2212: %t10732 = load ptr, ptr %t10719 %t10733 = getelementptr inbounds ptr, ptr %t10732, i32 %t10720 store ptr @.str7658, ptr %t10733 %t10734 = add i32 %t10720, 1 store i32 %t10734, ptr %t10717 %t10735 = load ptr, ptr %t387 %t10736 = getelementptr inbounds %LSlice, ptr %t10735, i32 0, i32 1 %t10737 = getelementptr inbounds %LSlice, ptr %t10735, i32 0, i32 2 %t10738 = getelementptr inbounds %LSlice, ptr %t10735, i32 0, i32 0 %t10739 = load i32, ptr %t10736 %t10740 = load i32, ptr %t10737 %t10741 = icmp sge i32 %t10739, %t10740 br i1 %t10741, label %grow2213, label %put2214 grow2213: %t10742 = mul i32 %t10740, 2 %t10743 = icmp eq i32 %t10740, 0 %t10744 = select i1 %t10743, i32 8, i32 %t10742 %t10745 = getelementptr ptr, ptr null, i32 1 %t10746 = ptrtoint ptr %t10745 to i64 %t10747 = zext i32 %t10744 to i64 %t10748 = mul i64 %t10747, %t10746 %t10749 = load ptr, ptr %t10738 %t10750 = call ptr @realloc(ptr %t10749, i64 %t10748) store ptr %t10750, ptr %t10738 store i32 %t10744, ptr %t10737 br label %put2214 put2214: %t10751 = load ptr, ptr %t10738 %t10752 = getelementptr inbounds ptr, ptr %t10751, i32 %t10739 store ptr @.str7659, ptr %t10752 %t10753 = add i32 %t10739, 1 store i32 %t10753, ptr %t10736 %t10754 = load ptr, ptr %t387 %t10755 = getelementptr inbounds %LSlice, ptr %t10754, i32 0, i32 1 %t10756 = getelementptr inbounds %LSlice, ptr %t10754, i32 0, i32 2 %t10757 = getelementptr inbounds %LSlice, ptr %t10754, i32 0, i32 0 %t10758 = load i32, ptr %t10755 %t10759 = load i32, ptr %t10756 %t10760 = icmp sge i32 %t10758, %t10759 br i1 %t10760, label %grow2215, label %put2216 grow2215: %t10761 = mul i32 %t10759, 2 %t10762 = icmp eq i32 %t10759, 0 %t10763 = select i1 %t10762, i32 8, i32 %t10761 %t10764 = getelementptr ptr, ptr null, i32 1 %t10765 = ptrtoint ptr %t10764 to i64 %t10766 = zext i32 %t10763 to i64 %t10767 = mul i64 %t10766, %t10765 %t10768 = load ptr, ptr %t10757 %t10769 = call ptr @realloc(ptr %t10768, i64 %t10767) store ptr %t10769, ptr %t10757 store i32 %t10763, ptr %t10756 br label %put2216 put2216: %t10770 = load ptr, ptr %t10757 %t10771 = getelementptr inbounds ptr, ptr %t10770, i32 %t10758 store ptr @.str7660, ptr %t10771 %t10772 = add i32 %t10758, 1 store i32 %t10772, ptr %t10755 %t10773 = load ptr, ptr %t387 %t10774 = getelementptr inbounds %LSlice, ptr %t10773, i32 0, i32 1 %t10775 = getelementptr inbounds %LSlice, ptr %t10773, i32 0, i32 2 %t10776 = getelementptr inbounds %LSlice, ptr %t10773, i32 0, i32 0 %t10777 = load i32, ptr %t10774 %t10778 = load i32, ptr %t10775 %t10779 = icmp sge i32 %t10777, %t10778 br i1 %t10779, label %grow2217, label %put2218 grow2217: %t10780 = mul i32 %t10778, 2 %t10781 = icmp eq i32 %t10778, 0 %t10782 = select i1 %t10781, i32 8, i32 %t10780 %t10783 = getelementptr ptr, ptr null, i32 1 %t10784 = ptrtoint ptr %t10783 to i64 %t10785 = zext i32 %t10782 to i64 %t10786 = mul i64 %t10785, %t10784 %t10787 = load ptr, ptr %t10776 %t10788 = call ptr @realloc(ptr %t10787, i64 %t10786) store ptr %t10788, ptr %t10776 store i32 %t10782, ptr %t10775 br label %put2218 put2218: %t10789 = load ptr, ptr %t10776 %t10790 = getelementptr inbounds ptr, ptr %t10789, i32 %t10777 store ptr @.str7661, ptr %t10790 %t10791 = add i32 %t10777, 1 store i32 %t10791, ptr %t10774 br label %ifend2210 ifend2210: %t10792 = load ptr, ptr %t1 %t10793 = call i32 @lp_str_eq(ptr %t10792, ptr @.str7662) %t10794 = icmp ne i32 %t10793, 0 br i1 %t10794, label %then2219, label %ifend2221 then2219: store ptr @.str7663, ptr %t380 br label %ifend2221 ifend2221: %t10795 = load ptr, ptr %t1 %t10796 = call i32 @lp_str_eq(ptr %t10795, ptr @.str7664) %t10797 = icmp ne i32 %t10796, 0 br i1 %t10797, label %then2222, label %ifend2224 then2222: store ptr @.str7665, ptr %t380 %t10798 = load ptr, ptr %t387 %t10799 = getelementptr inbounds %LSlice, ptr %t10798, i32 0, i32 1 %t10800 = getelementptr inbounds %LSlice, ptr %t10798, i32 0, i32 2 %t10801 = getelementptr inbounds %LSlice, ptr %t10798, i32 0, i32 0 %t10802 = load i32, ptr %t10799 %t10803 = load i32, ptr %t10800 %t10804 = icmp sge i32 %t10802, %t10803 br i1 %t10804, label %grow2225, label %put2226 grow2225: %t10805 = mul i32 %t10803, 2 %t10806 = icmp eq i32 %t10803, 0 %t10807 = select i1 %t10806, i32 8, i32 %t10805 %t10808 = getelementptr ptr, ptr null, i32 1 %t10809 = ptrtoint ptr %t10808 to i64 %t10810 = zext i32 %t10807 to i64 %t10811 = mul i64 %t10810, %t10809 %t10812 = load ptr, ptr %t10801 %t10813 = call ptr @realloc(ptr %t10812, i64 %t10811) store ptr %t10813, ptr %t10801 store i32 %t10807, ptr %t10800 br label %put2226 put2226: %t10814 = load ptr, ptr %t10801 %t10815 = getelementptr inbounds ptr, ptr %t10814, i32 %t10802 store ptr @.str7666, ptr %t10815 %t10816 = add i32 %t10802, 1 store i32 %t10816, ptr %t10799 br label %ifend2224 ifend2224: %t10817 = load ptr, ptr %t1 %t10818 = call i32 @lp_str_eq(ptr %t10817, ptr @.str7667) %t10819 = icmp ne i32 %t10818, 0 br i1 %t10819, label %then2227, label %ifend2229 then2227: store ptr @.str7668, ptr %t380 %t10820 = load ptr, ptr %t387 %t10821 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 1 %t10822 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 2 %t10823 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 0 %t10824 = load i32, ptr %t10821 %t10825 = load i32, ptr %t10822 %t10826 = icmp sge i32 %t10824, %t10825 br i1 %t10826, label %grow2230, label %put2231 grow2230: %t10827 = mul i32 %t10825, 2 %t10828 = icmp eq i32 %t10825, 0 %t10829 = select i1 %t10828, i32 8, i32 %t10827 %t10830 = getelementptr ptr, ptr null, i32 1 %t10831 = ptrtoint ptr %t10830 to i64 %t10832 = zext i32 %t10829 to i64 %t10833 = mul i64 %t10832, %t10831 %t10834 = load ptr, ptr %t10823 %t10835 = call ptr @realloc(ptr %t10834, i64 %t10833) store ptr %t10835, ptr %t10823 store i32 %t10829, ptr %t10822 br label %put2231 put2231: %t10836 = load ptr, ptr %t10823 %t10837 = getelementptr inbounds ptr, ptr %t10836, i32 %t10824 store ptr @.str7669, ptr %t10837 %t10838 = add i32 %t10824, 1 store i32 %t10838, ptr %t10821 br label %ifend2229 ifend2229: %t10839 = load ptr, ptr %t1 %t10840 = call i32 @lp_str_eq(ptr %t10839, ptr @.str7670) %t10841 = icmp ne i32 %t10840, 0 br i1 %t10841, label %then2232, label %ifend2234 then2232: store ptr @.str7671, ptr %t380 %t10842 = load ptr, ptr %t387 %t10843 = getelementptr inbounds %LSlice, ptr %t10842, i32 0, i32 1 %t10844 = getelementptr inbounds %LSlice, ptr %t10842, i32 0, i32 2 %t10845 = getelementptr inbounds %LSlice, ptr %t10842, i32 0, i32 0 %t10846 = load i32, ptr %t10843 %t10847 = load i32, ptr %t10844 %t10848 = icmp sge i32 %t10846, %t10847 br i1 %t10848, label %grow2235, label %put2236 grow2235: %t10849 = mul i32 %t10847, 2 %t10850 = icmp eq i32 %t10847, 0 %t10851 = select i1 %t10850, i32 8, i32 %t10849 %t10852 = getelementptr ptr, ptr null, i32 1 %t10853 = ptrtoint ptr %t10852 to i64 %t10854 = zext i32 %t10851 to i64 %t10855 = mul i64 %t10854, %t10853 %t10856 = load ptr, ptr %t10845 %t10857 = call ptr @realloc(ptr %t10856, i64 %t10855) store ptr %t10857, ptr %t10845 store i32 %t10851, ptr %t10844 br label %put2236 put2236: %t10858 = load ptr, ptr %t10845 %t10859 = getelementptr inbounds ptr, ptr %t10858, i32 %t10846 store ptr @.str7672, ptr %t10859 %t10860 = add i32 %t10846, 1 store i32 %t10860, ptr %t10843 br label %ifend2234 ifend2234: %t10861 = load ptr, ptr %t1 %t10862 = call i32 @lp_str_eq(ptr %t10861, ptr @.str7673) %t10863 = icmp ne i32 %t10862, 0 br i1 %t10863, label %then2237, label %ifend2239 then2237: store ptr @.str7674, ptr %t380 br label %ifend2239 ifend2239: %t10864 = load ptr, ptr %t1 %t10865 = call i32 @lp_str_eq(ptr %t10864, ptr @.str7675) %t10866 = icmp ne i32 %t10865, 0 br i1 %t10866, label %then2240, label %ifend2242 then2240: store ptr @.str7676, ptr %t380 %t10867 = load ptr, ptr %t387 %t10868 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 1 %t10869 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 2 %t10870 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 0 %t10871 = load i32, ptr %t10868 %t10872 = load i32, ptr %t10869 %t10873 = icmp sge i32 %t10871, %t10872 br i1 %t10873, label %grow2243, label %put2244 grow2243: %t10874 = mul i32 %t10872, 2 %t10875 = icmp eq i32 %t10872, 0 %t10876 = select i1 %t10875, i32 8, i32 %t10874 %t10877 = getelementptr ptr, ptr null, i32 1 %t10878 = ptrtoint ptr %t10877 to i64 %t10879 = zext i32 %t10876 to i64 %t10880 = mul i64 %t10879, %t10878 %t10881 = load ptr, ptr %t10870 %t10882 = call ptr @realloc(ptr %t10881, i64 %t10880) store ptr %t10882, ptr %t10870 store i32 %t10876, ptr %t10869 br label %put2244 put2244: %t10883 = load ptr, ptr %t10870 %t10884 = getelementptr inbounds ptr, ptr %t10883, i32 %t10871 store ptr @.str7677, ptr %t10884 %t10885 = add i32 %t10871, 1 store i32 %t10885, ptr %t10868 br label %ifend2242 ifend2242: %t10886 = load ptr, ptr %t1 %t10887 = call i32 @lp_str_eq(ptr %t10886, ptr @.str7678) %t10888 = icmp ne i32 %t10887, 0 br i1 %t10888, label %then2245, label %ifend2247 then2245: store ptr @.str7679, ptr %t380 %t10889 = load ptr, ptr %t387 %t10890 = getelementptr inbounds %LSlice, ptr %t10889, i32 0, i32 1 %t10891 = getelementptr inbounds %LSlice, ptr %t10889, i32 0, i32 2 %t10892 = getelementptr inbounds %LSlice, ptr %t10889, i32 0, i32 0 %t10893 = load i32, ptr %t10890 %t10894 = load i32, ptr %t10891 %t10895 = icmp sge i32 %t10893, %t10894 br i1 %t10895, label %grow2248, label %put2249 grow2248: %t10896 = mul i32 %t10894, 2 %t10897 = icmp eq i32 %t10894, 0 %t10898 = select i1 %t10897, i32 8, i32 %t10896 %t10899 = getelementptr ptr, ptr null, i32 1 %t10900 = ptrtoint ptr %t10899 to i64 %t10901 = zext i32 %t10898 to i64 %t10902 = mul i64 %t10901, %t10900 %t10903 = load ptr, ptr %t10892 %t10904 = call ptr @realloc(ptr %t10903, i64 %t10902) store ptr %t10904, ptr %t10892 store i32 %t10898, ptr %t10891 br label %put2249 put2249: %t10905 = load ptr, ptr %t10892 %t10906 = getelementptr inbounds ptr, ptr %t10905, i32 %t10893 store ptr @.str7680, ptr %t10906 %t10907 = add i32 %t10893, 1 store i32 %t10907, ptr %t10890 %t10908 = load ptr, ptr %t387 %t10909 = getelementptr inbounds %LSlice, ptr %t10908, i32 0, i32 1 %t10910 = getelementptr inbounds %LSlice, ptr %t10908, i32 0, i32 2 %t10911 = getelementptr inbounds %LSlice, ptr %t10908, i32 0, i32 0 %t10912 = load i32, ptr %t10909 %t10913 = load i32, ptr %t10910 %t10914 = icmp sge i32 %t10912, %t10913 br i1 %t10914, label %grow2250, label %put2251 grow2250: %t10915 = mul i32 %t10913, 2 %t10916 = icmp eq i32 %t10913, 0 %t10917 = select i1 %t10916, i32 8, i32 %t10915 %t10918 = getelementptr ptr, ptr null, i32 1 %t10919 = ptrtoint ptr %t10918 to i64 %t10920 = zext i32 %t10917 to i64 %t10921 = mul i64 %t10920, %t10919 %t10922 = load ptr, ptr %t10911 %t10923 = call ptr @realloc(ptr %t10922, i64 %t10921) store ptr %t10923, ptr %t10911 store i32 %t10917, ptr %t10910 br label %put2251 put2251: %t10924 = load ptr, ptr %t10911 %t10925 = getelementptr inbounds ptr, ptr %t10924, i32 %t10912 store ptr @.str7681, ptr %t10925 %t10926 = add i32 %t10912, 1 store i32 %t10926, ptr %t10909 %t10927 = load ptr, ptr %t387 %t10928 = getelementptr inbounds %LSlice, ptr %t10927, i32 0, i32 1 %t10929 = getelementptr inbounds %LSlice, ptr %t10927, i32 0, i32 2 %t10930 = getelementptr inbounds %LSlice, ptr %t10927, i32 0, i32 0 %t10931 = load i32, ptr %t10928 %t10932 = load i32, ptr %t10929 %t10933 = icmp sge i32 %t10931, %t10932 br i1 %t10933, label %grow2252, label %put2253 grow2252: %t10934 = mul i32 %t10932, 2 %t10935 = icmp eq i32 %t10932, 0 %t10936 = select i1 %t10935, i32 8, i32 %t10934 %t10937 = getelementptr ptr, ptr null, i32 1 %t10938 = ptrtoint ptr %t10937 to i64 %t10939 = zext i32 %t10936 to i64 %t10940 = mul i64 %t10939, %t10938 %t10941 = load ptr, ptr %t10930 %t10942 = call ptr @realloc(ptr %t10941, i64 %t10940) store ptr %t10942, ptr %t10930 store i32 %t10936, ptr %t10929 br label %put2253 put2253: %t10943 = load ptr, ptr %t10930 %t10944 = getelementptr inbounds ptr, ptr %t10943, i32 %t10931 store ptr @.str7682, ptr %t10944 %t10945 = add i32 %t10931, 1 store i32 %t10945, ptr %t10928 %t10946 = load ptr, ptr %t387 %t10947 = getelementptr inbounds %LSlice, ptr %t10946, i32 0, i32 1 %t10948 = getelementptr inbounds %LSlice, ptr %t10946, i32 0, i32 2 %t10949 = getelementptr inbounds %LSlice, ptr %t10946, i32 0, i32 0 %t10950 = load i32, ptr %t10947 %t10951 = load i32, ptr %t10948 %t10952 = icmp sge i32 %t10950, %t10951 br i1 %t10952, label %grow2254, label %put2255 grow2254: %t10953 = mul i32 %t10951, 2 %t10954 = icmp eq i32 %t10951, 0 %t10955 = select i1 %t10954, i32 8, i32 %t10953 %t10956 = getelementptr ptr, ptr null, i32 1 %t10957 = ptrtoint ptr %t10956 to i64 %t10958 = zext i32 %t10955 to i64 %t10959 = mul i64 %t10958, %t10957 %t10960 = load ptr, ptr %t10949 %t10961 = call ptr @realloc(ptr %t10960, i64 %t10959) store ptr %t10961, ptr %t10949 store i32 %t10955, ptr %t10948 br label %put2255 put2255: %t10962 = load ptr, ptr %t10949 %t10963 = getelementptr inbounds ptr, ptr %t10962, i32 %t10950 store ptr @.str7683, ptr %t10963 %t10964 = add i32 %t10950, 1 store i32 %t10964, ptr %t10947 %t10965 = load ptr, ptr %t387 %t10966 = getelementptr inbounds %LSlice, ptr %t10965, i32 0, i32 1 %t10967 = getelementptr inbounds %LSlice, ptr %t10965, i32 0, i32 2 %t10968 = getelementptr inbounds %LSlice, ptr %t10965, i32 0, i32 0 %t10969 = load i32, ptr %t10966 %t10970 = load i32, ptr %t10967 %t10971 = icmp sge i32 %t10969, %t10970 br i1 %t10971, label %grow2256, label %put2257 grow2256: %t10972 = mul i32 %t10970, 2 %t10973 = icmp eq i32 %t10970, 0 %t10974 = select i1 %t10973, i32 8, i32 %t10972 %t10975 = getelementptr ptr, ptr null, i32 1 %t10976 = ptrtoint ptr %t10975 to i64 %t10977 = zext i32 %t10974 to i64 %t10978 = mul i64 %t10977, %t10976 %t10979 = load ptr, ptr %t10968 %t10980 = call ptr @realloc(ptr %t10979, i64 %t10978) store ptr %t10980, ptr %t10968 store i32 %t10974, ptr %t10967 br label %put2257 put2257: %t10981 = load ptr, ptr %t10968 %t10982 = getelementptr inbounds ptr, ptr %t10981, i32 %t10969 store ptr @.str7684, ptr %t10982 %t10983 = add i32 %t10969, 1 store i32 %t10983, ptr %t10966 %t10984 = load ptr, ptr %t387 %t10985 = getelementptr inbounds %LSlice, ptr %t10984, i32 0, i32 1 %t10986 = getelementptr inbounds %LSlice, ptr %t10984, i32 0, i32 2 %t10987 = getelementptr inbounds %LSlice, ptr %t10984, i32 0, i32 0 %t10988 = load i32, ptr %t10985 %t10989 = load i32, ptr %t10986 %t10990 = icmp sge i32 %t10988, %t10989 br i1 %t10990, label %grow2258, label %put2259 grow2258: %t10991 = mul i32 %t10989, 2 %t10992 = icmp eq i32 %t10989, 0 %t10993 = select i1 %t10992, i32 8, i32 %t10991 %t10994 = getelementptr ptr, ptr null, i32 1 %t10995 = ptrtoint ptr %t10994 to i64 %t10996 = zext i32 %t10993 to i64 %t10997 = mul i64 %t10996, %t10995 %t10998 = load ptr, ptr %t10987 %t10999 = call ptr @realloc(ptr %t10998, i64 %t10997) store ptr %t10999, ptr %t10987 store i32 %t10993, ptr %t10986 br label %put2259 put2259: %t11000 = load ptr, ptr %t10987 %t11001 = getelementptr inbounds ptr, ptr %t11000, i32 %t10988 store ptr @.str7685, ptr %t11001 %t11002 = add i32 %t10988, 1 store i32 %t11002, ptr %t10985 br label %ifend2247 ifend2247: %t11003 = load ptr, ptr %t1 %t11004 = call i32 @lp_str_eq(ptr %t11003, ptr @.str7686) %t11005 = icmp ne i32 %t11004, 0 br i1 %t11005, label %then2260, label %ifend2262 then2260: store ptr @.str7687, ptr %t380 br label %ifend2262 ifend2262: %t11006 = load ptr, ptr %t1 %t11007 = call i32 @lp_str_eq(ptr %t11006, ptr @.str7688) %t11008 = icmp ne i32 %t11007, 0 br i1 %t11008, label %then2263, label %ifend2265 then2263: store ptr @.str7689, ptr %t380 %t11009 = load ptr, ptr %t387 %t11010 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 1 %t11011 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 2 %t11012 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 0 %t11013 = load i32, ptr %t11010 %t11014 = load i32, ptr %t11011 %t11015 = icmp sge i32 %t11013, %t11014 br i1 %t11015, label %grow2266, label %put2267 grow2266: %t11016 = mul i32 %t11014, 2 %t11017 = icmp eq i32 %t11014, 0 %t11018 = select i1 %t11017, i32 8, i32 %t11016 %t11019 = getelementptr ptr, ptr null, i32 1 %t11020 = ptrtoint ptr %t11019 to i64 %t11021 = zext i32 %t11018 to i64 %t11022 = mul i64 %t11021, %t11020 %t11023 = load ptr, ptr %t11012 %t11024 = call ptr @realloc(ptr %t11023, i64 %t11022) store ptr %t11024, ptr %t11012 store i32 %t11018, ptr %t11011 br label %put2267 put2267: %t11025 = load ptr, ptr %t11012 %t11026 = getelementptr inbounds ptr, ptr %t11025, i32 %t11013 store ptr @.str7690, ptr %t11026 %t11027 = add i32 %t11013, 1 store i32 %t11027, ptr %t11010 br label %ifend2265 ifend2265: br label %ifend2172 ifend2172: %t11028 = load ptr, ptr %t0 %t11029 = call i32 @lp_str_eq(ptr %t11028, ptr @.str7691) %t11030 = icmp ne i32 %t11029, 0 br i1 %t11030, label %then2268, label %ifend2270 then2268: %t11031 = load ptr, ptr %t1 %t11032 = call i32 @lp_str_eq(ptr %t11031, ptr @.str7692) %t11033 = icmp ne i32 %t11032, 0 br i1 %t11033, label %then2271, label %ifend2273 then2271: store ptr @.str7693, ptr %t380 %t11034 = load ptr, ptr %t387 %t11035 = getelementptr inbounds %LSlice, ptr %t11034, i32 0, i32 1 %t11036 = getelementptr inbounds %LSlice, ptr %t11034, i32 0, i32 2 %t11037 = getelementptr inbounds %LSlice, ptr %t11034, i32 0, i32 0 %t11038 = load i32, ptr %t11035 %t11039 = load i32, ptr %t11036 %t11040 = icmp sge i32 %t11038, %t11039 br i1 %t11040, label %grow2274, label %put2275 grow2274: %t11041 = mul i32 %t11039, 2 %t11042 = icmp eq i32 %t11039, 0 %t11043 = select i1 %t11042, i32 8, i32 %t11041 %t11044 = getelementptr ptr, ptr null, i32 1 %t11045 = ptrtoint ptr %t11044 to i64 %t11046 = zext i32 %t11043 to i64 %t11047 = mul i64 %t11046, %t11045 %t11048 = load ptr, ptr %t11037 %t11049 = call ptr @realloc(ptr %t11048, i64 %t11047) store ptr %t11049, ptr %t11037 store i32 %t11043, ptr %t11036 br label %put2275 put2275: %t11050 = load ptr, ptr %t11037 %t11051 = getelementptr inbounds ptr, ptr %t11050, i32 %t11038 store ptr @.str7694, ptr %t11051 %t11052 = add i32 %t11038, 1 store i32 %t11052, ptr %t11035 %t11053 = load ptr, ptr %t387 %t11054 = getelementptr inbounds %LSlice, ptr %t11053, i32 0, i32 1 %t11055 = getelementptr inbounds %LSlice, ptr %t11053, i32 0, i32 2 %t11056 = getelementptr inbounds %LSlice, ptr %t11053, i32 0, i32 0 %t11057 = load i32, ptr %t11054 %t11058 = load i32, ptr %t11055 %t11059 = icmp sge i32 %t11057, %t11058 br i1 %t11059, label %grow2276, label %put2277 grow2276: %t11060 = mul i32 %t11058, 2 %t11061 = icmp eq i32 %t11058, 0 %t11062 = select i1 %t11061, i32 8, i32 %t11060 %t11063 = getelementptr ptr, ptr null, i32 1 %t11064 = ptrtoint ptr %t11063 to i64 %t11065 = zext i32 %t11062 to i64 %t11066 = mul i64 %t11065, %t11064 %t11067 = load ptr, ptr %t11056 %t11068 = call ptr @realloc(ptr %t11067, i64 %t11066) store ptr %t11068, ptr %t11056 store i32 %t11062, ptr %t11055 br label %put2277 put2277: %t11069 = load ptr, ptr %t11056 %t11070 = getelementptr inbounds ptr, ptr %t11069, i32 %t11057 store ptr @.str7695, ptr %t11070 %t11071 = add i32 %t11057, 1 store i32 %t11071, ptr %t11054 %t11072 = load ptr, ptr %t387 %t11073 = getelementptr inbounds %LSlice, ptr %t11072, i32 0, i32 1 %t11074 = getelementptr inbounds %LSlice, ptr %t11072, i32 0, i32 2 %t11075 = getelementptr inbounds %LSlice, ptr %t11072, i32 0, i32 0 %t11076 = load i32, ptr %t11073 %t11077 = load i32, ptr %t11074 %t11078 = icmp sge i32 %t11076, %t11077 br i1 %t11078, label %grow2278, label %put2279 grow2278: %t11079 = mul i32 %t11077, 2 %t11080 = icmp eq i32 %t11077, 0 %t11081 = select i1 %t11080, i32 8, i32 %t11079 %t11082 = getelementptr ptr, ptr null, i32 1 %t11083 = ptrtoint ptr %t11082 to i64 %t11084 = zext i32 %t11081 to i64 %t11085 = mul i64 %t11084, %t11083 %t11086 = load ptr, ptr %t11075 %t11087 = call ptr @realloc(ptr %t11086, i64 %t11085) store ptr %t11087, ptr %t11075 store i32 %t11081, ptr %t11074 br label %put2279 put2279: %t11088 = load ptr, ptr %t11075 %t11089 = getelementptr inbounds ptr, ptr %t11088, i32 %t11076 store ptr @.str7696, ptr %t11089 %t11090 = add i32 %t11076, 1 store i32 %t11090, ptr %t11073 %t11091 = load ptr, ptr %t387 %t11092 = getelementptr inbounds %LSlice, ptr %t11091, i32 0, i32 1 %t11093 = getelementptr inbounds %LSlice, ptr %t11091, i32 0, i32 2 %t11094 = getelementptr inbounds %LSlice, ptr %t11091, i32 0, i32 0 %t11095 = load i32, ptr %t11092 %t11096 = load i32, ptr %t11093 %t11097 = icmp sge i32 %t11095, %t11096 br i1 %t11097, label %grow2280, label %put2281 grow2280: %t11098 = mul i32 %t11096, 2 %t11099 = icmp eq i32 %t11096, 0 %t11100 = select i1 %t11099, i32 8, i32 %t11098 %t11101 = getelementptr ptr, ptr null, i32 1 %t11102 = ptrtoint ptr %t11101 to i64 %t11103 = zext i32 %t11100 to i64 %t11104 = mul i64 %t11103, %t11102 %t11105 = load ptr, ptr %t11094 %t11106 = call ptr @realloc(ptr %t11105, i64 %t11104) store ptr %t11106, ptr %t11094 store i32 %t11100, ptr %t11093 br label %put2281 put2281: %t11107 = load ptr, ptr %t11094 %t11108 = getelementptr inbounds ptr, ptr %t11107, i32 %t11095 store ptr @.str7697, ptr %t11108 %t11109 = add i32 %t11095, 1 store i32 %t11109, ptr %t11092 br label %ifend2273 ifend2273: %t11110 = load ptr, ptr %t1 %t11111 = call i32 @lp_str_eq(ptr %t11110, ptr @.str7698) %t11112 = icmp ne i32 %t11111, 0 br i1 %t11112, label %then2282, label %ifend2284 then2282: store ptr @.str7699, ptr %t380 %t11113 = load ptr, ptr %t387 %t11114 = getelementptr inbounds %LSlice, ptr %t11113, i32 0, i32 1 %t11115 = getelementptr inbounds %LSlice, ptr %t11113, i32 0, i32 2 %t11116 = getelementptr inbounds %LSlice, ptr %t11113, i32 0, i32 0 %t11117 = load i32, ptr %t11114 %t11118 = load i32, ptr %t11115 %t11119 = icmp sge i32 %t11117, %t11118 br i1 %t11119, label %grow2285, label %put2286 grow2285: %t11120 = mul i32 %t11118, 2 %t11121 = icmp eq i32 %t11118, 0 %t11122 = select i1 %t11121, i32 8, i32 %t11120 %t11123 = getelementptr ptr, ptr null, i32 1 %t11124 = ptrtoint ptr %t11123 to i64 %t11125 = zext i32 %t11122 to i64 %t11126 = mul i64 %t11125, %t11124 %t11127 = load ptr, ptr %t11116 %t11128 = call ptr @realloc(ptr %t11127, i64 %t11126) store ptr %t11128, ptr %t11116 store i32 %t11122, ptr %t11115 br label %put2286 put2286: %t11129 = load ptr, ptr %t11116 %t11130 = getelementptr inbounds ptr, ptr %t11129, i32 %t11117 store ptr @.str7700, ptr %t11130 %t11131 = add i32 %t11117, 1 store i32 %t11131, ptr %t11114 %t11132 = load ptr, ptr %t387 %t11133 = getelementptr inbounds %LSlice, ptr %t11132, i32 0, i32 1 %t11134 = getelementptr inbounds %LSlice, ptr %t11132, i32 0, i32 2 %t11135 = getelementptr inbounds %LSlice, ptr %t11132, i32 0, i32 0 %t11136 = load i32, ptr %t11133 %t11137 = load i32, ptr %t11134 %t11138 = icmp sge i32 %t11136, %t11137 br i1 %t11138, label %grow2287, label %put2288 grow2287: %t11139 = mul i32 %t11137, 2 %t11140 = icmp eq i32 %t11137, 0 %t11141 = select i1 %t11140, i32 8, i32 %t11139 %t11142 = getelementptr ptr, ptr null, i32 1 %t11143 = ptrtoint ptr %t11142 to i64 %t11144 = zext i32 %t11141 to i64 %t11145 = mul i64 %t11144, %t11143 %t11146 = load ptr, ptr %t11135 %t11147 = call ptr @realloc(ptr %t11146, i64 %t11145) store ptr %t11147, ptr %t11135 store i32 %t11141, ptr %t11134 br label %put2288 put2288: %t11148 = load ptr, ptr %t11135 %t11149 = getelementptr inbounds ptr, ptr %t11148, i32 %t11136 store ptr @.str7701, ptr %t11149 %t11150 = add i32 %t11136, 1 store i32 %t11150, ptr %t11133 br label %ifend2284 ifend2284: %t11151 = load ptr, ptr %t1 %t11152 = call i32 @lp_str_eq(ptr %t11151, ptr @.str7702) %t11153 = icmp ne i32 %t11152, 0 br i1 %t11153, label %then2289, label %ifend2291 then2289: store ptr @.str7703, ptr %t380 %t11154 = load ptr, ptr %t387 %t11155 = getelementptr inbounds %LSlice, ptr %t11154, i32 0, i32 1 %t11156 = getelementptr inbounds %LSlice, ptr %t11154, i32 0, i32 2 %t11157 = getelementptr inbounds %LSlice, ptr %t11154, i32 0, i32 0 %t11158 = load i32, ptr %t11155 %t11159 = load i32, ptr %t11156 %t11160 = icmp sge i32 %t11158, %t11159 br i1 %t11160, label %grow2292, label %put2293 grow2292: %t11161 = mul i32 %t11159, 2 %t11162 = icmp eq i32 %t11159, 0 %t11163 = select i1 %t11162, i32 8, i32 %t11161 %t11164 = getelementptr ptr, ptr null, i32 1 %t11165 = ptrtoint ptr %t11164 to i64 %t11166 = zext i32 %t11163 to i64 %t11167 = mul i64 %t11166, %t11165 %t11168 = load ptr, ptr %t11157 %t11169 = call ptr @realloc(ptr %t11168, i64 %t11167) store ptr %t11169, ptr %t11157 store i32 %t11163, ptr %t11156 br label %put2293 put2293: %t11170 = load ptr, ptr %t11157 %t11171 = getelementptr inbounds ptr, ptr %t11170, i32 %t11158 store ptr @.str7704, ptr %t11171 %t11172 = add i32 %t11158, 1 store i32 %t11172, ptr %t11155 br label %ifend2291 ifend2291: %t11173 = load ptr, ptr %t1 %t11174 = call i32 @lp_str_eq(ptr %t11173, ptr @.str7705) %t11175 = icmp ne i32 %t11174, 0 br i1 %t11175, label %then2294, label %ifend2296 then2294: %t11176 = load ptr, ptr %t2 %t11177 = getelementptr inbounds %Cmp_Node, ptr %t11176, i32 0, i32 7 %t11178 = load ptr, ptr %t11177 %t11179 = getelementptr inbounds %LSlice, ptr %t11178, i32 0, i32 1 %t11180 = load i32, ptr %t11179 %t11181 = icmp eq i32 %t11180, 2 %t11182 = zext i1 %t11181 to i32 %t11183 = icmp ne i32 %t11182, 0 br i1 %t11183, label %then2297, label %else2298 then2297: store ptr @.str7706, ptr %t380 %t11184 = load ptr, ptr %t387 %t11185 = getelementptr inbounds %LSlice, ptr %t11184, i32 0, i32 1 %t11186 = getelementptr inbounds %LSlice, ptr %t11184, i32 0, i32 2 %t11187 = getelementptr inbounds %LSlice, ptr %t11184, i32 0, i32 0 %t11188 = load i32, ptr %t11185 %t11189 = load i32, ptr %t11186 %t11190 = icmp sge i32 %t11188, %t11189 br i1 %t11190, label %grow2300, label %put2301 grow2300: %t11191 = mul i32 %t11189, 2 %t11192 = icmp eq i32 %t11189, 0 %t11193 = select i1 %t11192, i32 8, i32 %t11191 %t11194 = getelementptr ptr, ptr null, i32 1 %t11195 = ptrtoint ptr %t11194 to i64 %t11196 = zext i32 %t11193 to i64 %t11197 = mul i64 %t11196, %t11195 %t11198 = load ptr, ptr %t11187 %t11199 = call ptr @realloc(ptr %t11198, i64 %t11197) store ptr %t11199, ptr %t11187 store i32 %t11193, ptr %t11186 br label %put2301 put2301: %t11200 = load ptr, ptr %t11187 %t11201 = getelementptr inbounds ptr, ptr %t11200, i32 %t11188 store ptr @.str7707, ptr %t11201 %t11202 = add i32 %t11188, 1 store i32 %t11202, ptr %t11185 %t11203 = load ptr, ptr %t387 %t11204 = getelementptr inbounds %LSlice, ptr %t11203, i32 0, i32 1 %t11205 = getelementptr inbounds %LSlice, ptr %t11203, i32 0, i32 2 %t11206 = getelementptr inbounds %LSlice, ptr %t11203, i32 0, i32 0 %t11207 = load i32, ptr %t11204 %t11208 = load i32, ptr %t11205 %t11209 = icmp sge i32 %t11207, %t11208 br i1 %t11209, label %grow2302, label %put2303 grow2302: %t11210 = mul i32 %t11208, 2 %t11211 = icmp eq i32 %t11208, 0 %t11212 = select i1 %t11211, i32 8, i32 %t11210 %t11213 = getelementptr ptr, ptr null, i32 1 %t11214 = ptrtoint ptr %t11213 to i64 %t11215 = zext i32 %t11212 to i64 %t11216 = mul i64 %t11215, %t11214 %t11217 = load ptr, ptr %t11206 %t11218 = call ptr @realloc(ptr %t11217, i64 %t11216) store ptr %t11218, ptr %t11206 store i32 %t11212, ptr %t11205 br label %put2303 put2303: %t11219 = load ptr, ptr %t11206 %t11220 = getelementptr inbounds ptr, ptr %t11219, i32 %t11207 store ptr @.str7708, ptr %t11220 %t11221 = add i32 %t11207, 1 store i32 %t11221, ptr %t11204 br label %ifend2299 else2298: store ptr @.str7709, ptr %t380 %t11222 = load ptr, ptr %t387 %t11223 = getelementptr inbounds %LSlice, ptr %t11222, i32 0, i32 1 %t11224 = getelementptr inbounds %LSlice, ptr %t11222, i32 0, i32 2 %t11225 = getelementptr inbounds %LSlice, ptr %t11222, i32 0, i32 0 %t11226 = load i32, ptr %t11223 %t11227 = load i32, ptr %t11224 %t11228 = icmp sge i32 %t11226, %t11227 br i1 %t11228, label %grow2304, label %put2305 grow2304: %t11229 = mul i32 %t11227, 2 %t11230 = icmp eq i32 %t11227, 0 %t11231 = select i1 %t11230, i32 8, i32 %t11229 %t11232 = getelementptr ptr, ptr null, i32 1 %t11233 = ptrtoint ptr %t11232 to i64 %t11234 = zext i32 %t11231 to i64 %t11235 = mul i64 %t11234, %t11233 %t11236 = load ptr, ptr %t11225 %t11237 = call ptr @realloc(ptr %t11236, i64 %t11235) store ptr %t11237, ptr %t11225 store i32 %t11231, ptr %t11224 br label %put2305 put2305: %t11238 = load ptr, ptr %t11225 %t11239 = getelementptr inbounds ptr, ptr %t11238, i32 %t11226 store ptr @.str7710, ptr %t11239 %t11240 = add i32 %t11226, 1 store i32 %t11240, ptr %t11223 %t11241 = load ptr, ptr %t387 %t11242 = getelementptr inbounds %LSlice, ptr %t11241, i32 0, i32 1 %t11243 = getelementptr inbounds %LSlice, ptr %t11241, i32 0, i32 2 %t11244 = getelementptr inbounds %LSlice, ptr %t11241, i32 0, i32 0 %t11245 = load i32, ptr %t11242 %t11246 = load i32, ptr %t11243 %t11247 = icmp sge i32 %t11245, %t11246 br i1 %t11247, label %grow2306, label %put2307 grow2306: %t11248 = mul i32 %t11246, 2 %t11249 = icmp eq i32 %t11246, 0 %t11250 = select i1 %t11249, i32 8, i32 %t11248 %t11251 = getelementptr ptr, ptr null, i32 1 %t11252 = ptrtoint ptr %t11251 to i64 %t11253 = zext i32 %t11250 to i64 %t11254 = mul i64 %t11253, %t11252 %t11255 = load ptr, ptr %t11244 %t11256 = call ptr @realloc(ptr %t11255, i64 %t11254) store ptr %t11256, ptr %t11244 store i32 %t11250, ptr %t11243 br label %put2307 put2307: %t11257 = load ptr, ptr %t11244 %t11258 = getelementptr inbounds ptr, ptr %t11257, i32 %t11245 store ptr @.str7711, ptr %t11258 %t11259 = add i32 %t11245, 1 store i32 %t11259, ptr %t11242 %t11260 = load ptr, ptr %t387 %t11261 = getelementptr inbounds %LSlice, ptr %t11260, i32 0, i32 1 %t11262 = getelementptr inbounds %LSlice, ptr %t11260, i32 0, i32 2 %t11263 = getelementptr inbounds %LSlice, ptr %t11260, i32 0, i32 0 %t11264 = load i32, ptr %t11261 %t11265 = load i32, ptr %t11262 %t11266 = icmp sge i32 %t11264, %t11265 br i1 %t11266, label %grow2308, label %put2309 grow2308: %t11267 = mul i32 %t11265, 2 %t11268 = icmp eq i32 %t11265, 0 %t11269 = select i1 %t11268, i32 8, i32 %t11267 %t11270 = getelementptr ptr, ptr null, i32 1 %t11271 = ptrtoint ptr %t11270 to i64 %t11272 = zext i32 %t11269 to i64 %t11273 = mul i64 %t11272, %t11271 %t11274 = load ptr, ptr %t11263 %t11275 = call ptr @realloc(ptr %t11274, i64 %t11273) store ptr %t11275, ptr %t11263 store i32 %t11269, ptr %t11262 br label %put2309 put2309: %t11276 = load ptr, ptr %t11263 %t11277 = getelementptr inbounds ptr, ptr %t11276, i32 %t11264 store ptr @.str7712, ptr %t11277 %t11278 = add i32 %t11264, 1 store i32 %t11278, ptr %t11261 %t11279 = load ptr, ptr %t387 %t11280 = getelementptr inbounds %LSlice, ptr %t11279, i32 0, i32 1 %t11281 = getelementptr inbounds %LSlice, ptr %t11279, i32 0, i32 2 %t11282 = getelementptr inbounds %LSlice, ptr %t11279, i32 0, i32 0 %t11283 = load i32, ptr %t11280 %t11284 = load i32, ptr %t11281 %t11285 = icmp sge i32 %t11283, %t11284 br i1 %t11285, label %grow2310, label %put2311 grow2310: %t11286 = mul i32 %t11284, 2 %t11287 = icmp eq i32 %t11284, 0 %t11288 = select i1 %t11287, i32 8, i32 %t11286 %t11289 = getelementptr ptr, ptr null, i32 1 %t11290 = ptrtoint ptr %t11289 to i64 %t11291 = zext i32 %t11288 to i64 %t11292 = mul i64 %t11291, %t11290 %t11293 = load ptr, ptr %t11282 %t11294 = call ptr @realloc(ptr %t11293, i64 %t11292) store ptr %t11294, ptr %t11282 store i32 %t11288, ptr %t11281 br label %put2311 put2311: %t11295 = load ptr, ptr %t11282 %t11296 = getelementptr inbounds ptr, ptr %t11295, i32 %t11283 store ptr @.str7713, ptr %t11296 %t11297 = add i32 %t11283, 1 store i32 %t11297, ptr %t11280 br label %ifend2299 ifend2299: br label %ifend2296 ifend2296: br label %ifend2270 ifend2270: %t11298 = load ptr, ptr %t0 %t11299 = call i32 @lp_str_eq(ptr %t11298, ptr @.str7714) %t11300 = icmp ne i32 %t11299, 0 br i1 %t11300, label %then2312, label %ifend2314 then2312: %t11301 = load ptr, ptr %t1 %t11302 = call i32 @lp_str_eq(ptr %t11301, ptr @.str7715) %t11303 = icmp ne i32 %t11302, 0 br i1 %t11303, label %then2315, label %ifend2317 then2315: store ptr @.str7716, ptr %t380 %t11304 = load ptr, ptr %t387 %t11305 = getelementptr inbounds %LSlice, ptr %t11304, i32 0, i32 1 %t11306 = getelementptr inbounds %LSlice, ptr %t11304, i32 0, i32 2 %t11307 = getelementptr inbounds %LSlice, ptr %t11304, i32 0, i32 0 %t11308 = load i32, ptr %t11305 %t11309 = load i32, ptr %t11306 %t11310 = icmp sge i32 %t11308, %t11309 br i1 %t11310, label %grow2318, label %put2319 grow2318: %t11311 = mul i32 %t11309, 2 %t11312 = icmp eq i32 %t11309, 0 %t11313 = select i1 %t11312, i32 8, i32 %t11311 %t11314 = getelementptr ptr, ptr null, i32 1 %t11315 = ptrtoint ptr %t11314 to i64 %t11316 = zext i32 %t11313 to i64 %t11317 = mul i64 %t11316, %t11315 %t11318 = load ptr, ptr %t11307 %t11319 = call ptr @realloc(ptr %t11318, i64 %t11317) store ptr %t11319, ptr %t11307 store i32 %t11313, ptr %t11306 br label %put2319 put2319: %t11320 = load ptr, ptr %t11307 %t11321 = getelementptr inbounds ptr, ptr %t11320, i32 %t11308 store ptr @.str7717, ptr %t11321 %t11322 = add i32 %t11308, 1 store i32 %t11322, ptr %t11305 %t11323 = load ptr, ptr %t387 %t11324 = getelementptr inbounds %LSlice, ptr %t11323, i32 0, i32 1 %t11325 = getelementptr inbounds %LSlice, ptr %t11323, i32 0, i32 2 %t11326 = getelementptr inbounds %LSlice, ptr %t11323, i32 0, i32 0 %t11327 = load i32, ptr %t11324 %t11328 = load i32, ptr %t11325 %t11329 = icmp sge i32 %t11327, %t11328 br i1 %t11329, label %grow2320, label %put2321 grow2320: %t11330 = mul i32 %t11328, 2 %t11331 = icmp eq i32 %t11328, 0 %t11332 = select i1 %t11331, i32 8, i32 %t11330 %t11333 = getelementptr ptr, ptr null, i32 1 %t11334 = ptrtoint ptr %t11333 to i64 %t11335 = zext i32 %t11332 to i64 %t11336 = mul i64 %t11335, %t11334 %t11337 = load ptr, ptr %t11326 %t11338 = call ptr @realloc(ptr %t11337, i64 %t11336) store ptr %t11338, ptr %t11326 store i32 %t11332, ptr %t11325 br label %put2321 put2321: %t11339 = load ptr, ptr %t11326 %t11340 = getelementptr inbounds ptr, ptr %t11339, i32 %t11327 store ptr @.str7718, ptr %t11340 %t11341 = add i32 %t11327, 1 store i32 %t11341, ptr %t11324 %t11342 = load ptr, ptr %t387 %t11343 = getelementptr inbounds %LSlice, ptr %t11342, i32 0, i32 1 %t11344 = getelementptr inbounds %LSlice, ptr %t11342, i32 0, i32 2 %t11345 = getelementptr inbounds %LSlice, ptr %t11342, i32 0, i32 0 %t11346 = load i32, ptr %t11343 %t11347 = load i32, ptr %t11344 %t11348 = icmp sge i32 %t11346, %t11347 br i1 %t11348, label %grow2322, label %put2323 grow2322: %t11349 = mul i32 %t11347, 2 %t11350 = icmp eq i32 %t11347, 0 %t11351 = select i1 %t11350, i32 8, i32 %t11349 %t11352 = getelementptr ptr, ptr null, i32 1 %t11353 = ptrtoint ptr %t11352 to i64 %t11354 = zext i32 %t11351 to i64 %t11355 = mul i64 %t11354, %t11353 %t11356 = load ptr, ptr %t11345 %t11357 = call ptr @realloc(ptr %t11356, i64 %t11355) store ptr %t11357, ptr %t11345 store i32 %t11351, ptr %t11344 br label %put2323 put2323: %t11358 = load ptr, ptr %t11345 %t11359 = getelementptr inbounds ptr, ptr %t11358, i32 %t11346 store ptr @.str7719, ptr %t11359 %t11360 = add i32 %t11346, 1 store i32 %t11360, ptr %t11343 %t11361 = load ptr, ptr %t387 %t11362 = getelementptr inbounds %LSlice, ptr %t11361, i32 0, i32 1 %t11363 = getelementptr inbounds %LSlice, ptr %t11361, i32 0, i32 2 %t11364 = getelementptr inbounds %LSlice, ptr %t11361, i32 0, i32 0 %t11365 = load i32, ptr %t11362 %t11366 = load i32, ptr %t11363 %t11367 = icmp sge i32 %t11365, %t11366 br i1 %t11367, label %grow2324, label %put2325 grow2324: %t11368 = mul i32 %t11366, 2 %t11369 = icmp eq i32 %t11366, 0 %t11370 = select i1 %t11369, i32 8, i32 %t11368 %t11371 = getelementptr ptr, ptr null, i32 1 %t11372 = ptrtoint ptr %t11371 to i64 %t11373 = zext i32 %t11370 to i64 %t11374 = mul i64 %t11373, %t11372 %t11375 = load ptr, ptr %t11364 %t11376 = call ptr @realloc(ptr %t11375, i64 %t11374) store ptr %t11376, ptr %t11364 store i32 %t11370, ptr %t11363 br label %put2325 put2325: %t11377 = load ptr, ptr %t11364 %t11378 = getelementptr inbounds ptr, ptr %t11377, i32 %t11365 store ptr @.str7720, ptr %t11378 %t11379 = add i32 %t11365, 1 store i32 %t11379, ptr %t11362 %t11380 = load ptr, ptr %t387 %t11381 = getelementptr inbounds %LSlice, ptr %t11380, i32 0, i32 1 %t11382 = getelementptr inbounds %LSlice, ptr %t11380, i32 0, i32 2 %t11383 = getelementptr inbounds %LSlice, ptr %t11380, i32 0, i32 0 %t11384 = load i32, ptr %t11381 %t11385 = load i32, ptr %t11382 %t11386 = icmp sge i32 %t11384, %t11385 br i1 %t11386, label %grow2326, label %put2327 grow2326: %t11387 = mul i32 %t11385, 2 %t11388 = icmp eq i32 %t11385, 0 %t11389 = select i1 %t11388, i32 8, i32 %t11387 %t11390 = getelementptr ptr, ptr null, i32 1 %t11391 = ptrtoint ptr %t11390 to i64 %t11392 = zext i32 %t11389 to i64 %t11393 = mul i64 %t11392, %t11391 %t11394 = load ptr, ptr %t11383 %t11395 = call ptr @realloc(ptr %t11394, i64 %t11393) store ptr %t11395, ptr %t11383 store i32 %t11389, ptr %t11382 br label %put2327 put2327: %t11396 = load ptr, ptr %t11383 %t11397 = getelementptr inbounds ptr, ptr %t11396, i32 %t11384 store ptr @.str7721, ptr %t11397 %t11398 = add i32 %t11384, 1 store i32 %t11398, ptr %t11381 br label %ifend2317 ifend2317: br label %ifend2314 ifend2314: %t11399 = load ptr, ptr %t0 %t11400 = call i32 @lp_str_eq(ptr %t11399, ptr @.str7722) %t11401 = icmp ne i32 %t11400, 0 br i1 %t11401, label %then2328, label %ifend2330 then2328: %t11402 = load ptr, ptr %t1 %t11403 = call i32 @lp_str_eq(ptr %t11402, ptr @.str7723) %t11404 = icmp ne i32 %t11403, 0 br i1 %t11404, label %then2331, label %ifend2333 then2331: store ptr @.str7724, ptr %t380 %t11405 = load ptr, ptr %t387 %t11406 = getelementptr inbounds %LSlice, ptr %t11405, i32 0, i32 1 %t11407 = getelementptr inbounds %LSlice, ptr %t11405, i32 0, i32 2 %t11408 = getelementptr inbounds %LSlice, ptr %t11405, i32 0, i32 0 %t11409 = load i32, ptr %t11406 %t11410 = load i32, ptr %t11407 %t11411 = icmp sge i32 %t11409, %t11410 br i1 %t11411, label %grow2334, label %put2335 grow2334: %t11412 = mul i32 %t11410, 2 %t11413 = icmp eq i32 %t11410, 0 %t11414 = select i1 %t11413, i32 8, i32 %t11412 %t11415 = getelementptr ptr, ptr null, i32 1 %t11416 = ptrtoint ptr %t11415 to i64 %t11417 = zext i32 %t11414 to i64 %t11418 = mul i64 %t11417, %t11416 %t11419 = load ptr, ptr %t11408 %t11420 = call ptr @realloc(ptr %t11419, i64 %t11418) store ptr %t11420, ptr %t11408 store i32 %t11414, ptr %t11407 br label %put2335 put2335: %t11421 = load ptr, ptr %t11408 %t11422 = getelementptr inbounds ptr, ptr %t11421, i32 %t11409 store ptr @.str7725, ptr %t11422 %t11423 = add i32 %t11409, 1 store i32 %t11423, ptr %t11406 %t11424 = load ptr, ptr %t387 %t11425 = getelementptr inbounds %LSlice, ptr %t11424, i32 0, i32 1 %t11426 = getelementptr inbounds %LSlice, ptr %t11424, i32 0, i32 2 %t11427 = getelementptr inbounds %LSlice, ptr %t11424, i32 0, i32 0 %t11428 = load i32, ptr %t11425 %t11429 = load i32, ptr %t11426 %t11430 = icmp sge i32 %t11428, %t11429 br i1 %t11430, label %grow2336, label %put2337 grow2336: %t11431 = mul i32 %t11429, 2 %t11432 = icmp eq i32 %t11429, 0 %t11433 = select i1 %t11432, i32 8, i32 %t11431 %t11434 = getelementptr ptr, ptr null, i32 1 %t11435 = ptrtoint ptr %t11434 to i64 %t11436 = zext i32 %t11433 to i64 %t11437 = mul i64 %t11436, %t11435 %t11438 = load ptr, ptr %t11427 %t11439 = call ptr @realloc(ptr %t11438, i64 %t11437) store ptr %t11439, ptr %t11427 store i32 %t11433, ptr %t11426 br label %put2337 put2337: %t11440 = load ptr, ptr %t11427 %t11441 = getelementptr inbounds ptr, ptr %t11440, i32 %t11428 store ptr @.str7726, ptr %t11441 %t11442 = add i32 %t11428, 1 store i32 %t11442, ptr %t11425 %t11443 = load ptr, ptr %t387 %t11444 = getelementptr inbounds %LSlice, ptr %t11443, i32 0, i32 1 %t11445 = getelementptr inbounds %LSlice, ptr %t11443, i32 0, i32 2 %t11446 = getelementptr inbounds %LSlice, ptr %t11443, i32 0, i32 0 %t11447 = load i32, ptr %t11444 %t11448 = load i32, ptr %t11445 %t11449 = icmp sge i32 %t11447, %t11448 br i1 %t11449, label %grow2338, label %put2339 grow2338: %t11450 = mul i32 %t11448, 2 %t11451 = icmp eq i32 %t11448, 0 %t11452 = select i1 %t11451, i32 8, i32 %t11450 %t11453 = getelementptr ptr, ptr null, i32 1 %t11454 = ptrtoint ptr %t11453 to i64 %t11455 = zext i32 %t11452 to i64 %t11456 = mul i64 %t11455, %t11454 %t11457 = load ptr, ptr %t11446 %t11458 = call ptr @realloc(ptr %t11457, i64 %t11456) store ptr %t11458, ptr %t11446 store i32 %t11452, ptr %t11445 br label %put2339 put2339: %t11459 = load ptr, ptr %t11446 %t11460 = getelementptr inbounds ptr, ptr %t11459, i32 %t11447 store ptr @.str7727, ptr %t11460 %t11461 = add i32 %t11447, 1 store i32 %t11461, ptr %t11444 %t11462 = load ptr, ptr %t387 %t11463 = getelementptr inbounds %LSlice, ptr %t11462, i32 0, i32 1 %t11464 = getelementptr inbounds %LSlice, ptr %t11462, i32 0, i32 2 %t11465 = getelementptr inbounds %LSlice, ptr %t11462, i32 0, i32 0 %t11466 = load i32, ptr %t11463 %t11467 = load i32, ptr %t11464 %t11468 = icmp sge i32 %t11466, %t11467 br i1 %t11468, label %grow2340, label %put2341 grow2340: %t11469 = mul i32 %t11467, 2 %t11470 = icmp eq i32 %t11467, 0 %t11471 = select i1 %t11470, i32 8, i32 %t11469 %t11472 = getelementptr ptr, ptr null, i32 1 %t11473 = ptrtoint ptr %t11472 to i64 %t11474 = zext i32 %t11471 to i64 %t11475 = mul i64 %t11474, %t11473 %t11476 = load ptr, ptr %t11465 %t11477 = call ptr @realloc(ptr %t11476, i64 %t11475) store ptr %t11477, ptr %t11465 store i32 %t11471, ptr %t11464 br label %put2341 put2341: %t11478 = load ptr, ptr %t11465 %t11479 = getelementptr inbounds ptr, ptr %t11478, i32 %t11466 store ptr @.str7728, ptr %t11479 %t11480 = add i32 %t11466, 1 store i32 %t11480, ptr %t11463 br label %ifend2333 ifend2333: %t11481 = load ptr, ptr %t1 %t11482 = call i32 @lp_str_eq(ptr %t11481, ptr @.str7729) %t11483 = icmp ne i32 %t11482, 0 br i1 %t11483, label %then2342, label %ifend2344 then2342: store ptr @.str7730, ptr %t380 %t11484 = load ptr, ptr %t387 %t11485 = getelementptr inbounds %LSlice, ptr %t11484, i32 0, i32 1 %t11486 = getelementptr inbounds %LSlice, ptr %t11484, i32 0, i32 2 %t11487 = getelementptr inbounds %LSlice, ptr %t11484, i32 0, i32 0 %t11488 = load i32, ptr %t11485 %t11489 = load i32, ptr %t11486 %t11490 = icmp sge i32 %t11488, %t11489 br i1 %t11490, label %grow2345, label %put2346 grow2345: %t11491 = mul i32 %t11489, 2 %t11492 = icmp eq i32 %t11489, 0 %t11493 = select i1 %t11492, i32 8, i32 %t11491 %t11494 = getelementptr ptr, ptr null, i32 1 %t11495 = ptrtoint ptr %t11494 to i64 %t11496 = zext i32 %t11493 to i64 %t11497 = mul i64 %t11496, %t11495 %t11498 = load ptr, ptr %t11487 %t11499 = call ptr @realloc(ptr %t11498, i64 %t11497) store ptr %t11499, ptr %t11487 store i32 %t11493, ptr %t11486 br label %put2346 put2346: %t11500 = load ptr, ptr %t11487 %t11501 = getelementptr inbounds ptr, ptr %t11500, i32 %t11488 store ptr @.str7731, ptr %t11501 %t11502 = add i32 %t11488, 1 store i32 %t11502, ptr %t11485 %t11503 = load ptr, ptr %t387 %t11504 = getelementptr inbounds %LSlice, ptr %t11503, i32 0, i32 1 %t11505 = getelementptr inbounds %LSlice, ptr %t11503, i32 0, i32 2 %t11506 = getelementptr inbounds %LSlice, ptr %t11503, i32 0, i32 0 %t11507 = load i32, ptr %t11504 %t11508 = load i32, ptr %t11505 %t11509 = icmp sge i32 %t11507, %t11508 br i1 %t11509, label %grow2347, label %put2348 grow2347: %t11510 = mul i32 %t11508, 2 %t11511 = icmp eq i32 %t11508, 0 %t11512 = select i1 %t11511, i32 8, i32 %t11510 %t11513 = getelementptr ptr, ptr null, i32 1 %t11514 = ptrtoint ptr %t11513 to i64 %t11515 = zext i32 %t11512 to i64 %t11516 = mul i64 %t11515, %t11514 %t11517 = load ptr, ptr %t11506 %t11518 = call ptr @realloc(ptr %t11517, i64 %t11516) store ptr %t11518, ptr %t11506 store i32 %t11512, ptr %t11505 br label %put2348 put2348: %t11519 = load ptr, ptr %t11506 %t11520 = getelementptr inbounds ptr, ptr %t11519, i32 %t11507 store ptr @.str7732, ptr %t11520 %t11521 = add i32 %t11507, 1 store i32 %t11521, ptr %t11504 %t11522 = load ptr, ptr %t387 %t11523 = getelementptr inbounds %LSlice, ptr %t11522, i32 0, i32 1 %t11524 = getelementptr inbounds %LSlice, ptr %t11522, i32 0, i32 2 %t11525 = getelementptr inbounds %LSlice, ptr %t11522, i32 0, i32 0 %t11526 = load i32, ptr %t11523 %t11527 = load i32, ptr %t11524 %t11528 = icmp sge i32 %t11526, %t11527 br i1 %t11528, label %grow2349, label %put2350 grow2349: %t11529 = mul i32 %t11527, 2 %t11530 = icmp eq i32 %t11527, 0 %t11531 = select i1 %t11530, i32 8, i32 %t11529 %t11532 = getelementptr ptr, ptr null, i32 1 %t11533 = ptrtoint ptr %t11532 to i64 %t11534 = zext i32 %t11531 to i64 %t11535 = mul i64 %t11534, %t11533 %t11536 = load ptr, ptr %t11525 %t11537 = call ptr @realloc(ptr %t11536, i64 %t11535) store ptr %t11537, ptr %t11525 store i32 %t11531, ptr %t11524 br label %put2350 put2350: %t11538 = load ptr, ptr %t11525 %t11539 = getelementptr inbounds ptr, ptr %t11538, i32 %t11526 store ptr @.str7733, ptr %t11539 %t11540 = add i32 %t11526, 1 store i32 %t11540, ptr %t11523 %t11541 = load ptr, ptr %t387 %t11542 = getelementptr inbounds %LSlice, ptr %t11541, i32 0, i32 1 %t11543 = getelementptr inbounds %LSlice, ptr %t11541, i32 0, i32 2 %t11544 = getelementptr inbounds %LSlice, ptr %t11541, i32 0, i32 0 %t11545 = load i32, ptr %t11542 %t11546 = load i32, ptr %t11543 %t11547 = icmp sge i32 %t11545, %t11546 br i1 %t11547, label %grow2351, label %put2352 grow2351: %t11548 = mul i32 %t11546, 2 %t11549 = icmp eq i32 %t11546, 0 %t11550 = select i1 %t11549, i32 8, i32 %t11548 %t11551 = getelementptr ptr, ptr null, i32 1 %t11552 = ptrtoint ptr %t11551 to i64 %t11553 = zext i32 %t11550 to i64 %t11554 = mul i64 %t11553, %t11552 %t11555 = load ptr, ptr %t11544 %t11556 = call ptr @realloc(ptr %t11555, i64 %t11554) store ptr %t11556, ptr %t11544 store i32 %t11550, ptr %t11543 br label %put2352 put2352: %t11557 = load ptr, ptr %t11544 %t11558 = getelementptr inbounds ptr, ptr %t11557, i32 %t11545 store ptr @.str7734, ptr %t11558 %t11559 = add i32 %t11545, 1 store i32 %t11559, ptr %t11542 br label %ifend2344 ifend2344: %t11560 = load ptr, ptr %t1 %t11561 = call i32 @lp_str_eq(ptr %t11560, ptr @.str7735) %t11562 = icmp ne i32 %t11561, 0 br i1 %t11562, label %then2353, label %ifend2355 then2353: store ptr @.str7736, ptr %t380 %t11563 = load ptr, ptr %t387 %t11564 = getelementptr inbounds %LSlice, ptr %t11563, i32 0, i32 1 %t11565 = getelementptr inbounds %LSlice, ptr %t11563, i32 0, i32 2 %t11566 = getelementptr inbounds %LSlice, ptr %t11563, i32 0, i32 0 %t11567 = load i32, ptr %t11564 %t11568 = load i32, ptr %t11565 %t11569 = icmp sge i32 %t11567, %t11568 br i1 %t11569, label %grow2356, label %put2357 grow2356: %t11570 = mul i32 %t11568, 2 %t11571 = icmp eq i32 %t11568, 0 %t11572 = select i1 %t11571, i32 8, i32 %t11570 %t11573 = getelementptr ptr, ptr null, i32 1 %t11574 = ptrtoint ptr %t11573 to i64 %t11575 = zext i32 %t11572 to i64 %t11576 = mul i64 %t11575, %t11574 %t11577 = load ptr, ptr %t11566 %t11578 = call ptr @realloc(ptr %t11577, i64 %t11576) store ptr %t11578, ptr %t11566 store i32 %t11572, ptr %t11565 br label %put2357 put2357: %t11579 = load ptr, ptr %t11566 %t11580 = getelementptr inbounds ptr, ptr %t11579, i32 %t11567 store ptr @.str7737, ptr %t11580 %t11581 = add i32 %t11567, 1 store i32 %t11581, ptr %t11564 %t11582 = load ptr, ptr %t387 %t11583 = getelementptr inbounds %LSlice, ptr %t11582, i32 0, i32 1 %t11584 = getelementptr inbounds %LSlice, ptr %t11582, i32 0, i32 2 %t11585 = getelementptr inbounds %LSlice, ptr %t11582, i32 0, i32 0 %t11586 = load i32, ptr %t11583 %t11587 = load i32, ptr %t11584 %t11588 = icmp sge i32 %t11586, %t11587 br i1 %t11588, label %grow2358, label %put2359 grow2358: %t11589 = mul i32 %t11587, 2 %t11590 = icmp eq i32 %t11587, 0 %t11591 = select i1 %t11590, i32 8, i32 %t11589 %t11592 = getelementptr ptr, ptr null, i32 1 %t11593 = ptrtoint ptr %t11592 to i64 %t11594 = zext i32 %t11591 to i64 %t11595 = mul i64 %t11594, %t11593 %t11596 = load ptr, ptr %t11585 %t11597 = call ptr @realloc(ptr %t11596, i64 %t11595) store ptr %t11597, ptr %t11585 store i32 %t11591, ptr %t11584 br label %put2359 put2359: %t11598 = load ptr, ptr %t11585 %t11599 = getelementptr inbounds ptr, ptr %t11598, i32 %t11586 store ptr @.str7738, ptr %t11599 %t11600 = add i32 %t11586, 1 store i32 %t11600, ptr %t11583 br label %ifend2355 ifend2355: %t11601 = load ptr, ptr %t1 %t11602 = call i32 @lp_str_eq(ptr %t11601, ptr @.str7739) %t11603 = icmp ne i32 %t11602, 0 br i1 %t11603, label %then2360, label %ifend2362 then2360: store ptr @.str7740, ptr %t380 %t11604 = load ptr, ptr %t387 %t11605 = getelementptr inbounds %LSlice, ptr %t11604, i32 0, i32 1 %t11606 = getelementptr inbounds %LSlice, ptr %t11604, i32 0, i32 2 %t11607 = getelementptr inbounds %LSlice, ptr %t11604, i32 0, i32 0 %t11608 = load i32, ptr %t11605 %t11609 = load i32, ptr %t11606 %t11610 = icmp sge i32 %t11608, %t11609 br i1 %t11610, label %grow2363, label %put2364 grow2363: %t11611 = mul i32 %t11609, 2 %t11612 = icmp eq i32 %t11609, 0 %t11613 = select i1 %t11612, i32 8, i32 %t11611 %t11614 = getelementptr ptr, ptr null, i32 1 %t11615 = ptrtoint ptr %t11614 to i64 %t11616 = zext i32 %t11613 to i64 %t11617 = mul i64 %t11616, %t11615 %t11618 = load ptr, ptr %t11607 %t11619 = call ptr @realloc(ptr %t11618, i64 %t11617) store ptr %t11619, ptr %t11607 store i32 %t11613, ptr %t11606 br label %put2364 put2364: %t11620 = load ptr, ptr %t11607 %t11621 = getelementptr inbounds ptr, ptr %t11620, i32 %t11608 store ptr @.str7741, ptr %t11621 %t11622 = add i32 %t11608, 1 store i32 %t11622, ptr %t11605 br label %ifend2362 ifend2362: %t11623 = load ptr, ptr %t1 %t11624 = call i32 @lp_str_eq(ptr %t11623, ptr @.str7742) %t11625 = icmp ne i32 %t11624, 0 br i1 %t11625, label %then2365, label %ifend2367 then2365: store ptr @.str7743, ptr %t380 %t11626 = load ptr, ptr %t387 %t11627 = getelementptr inbounds %LSlice, ptr %t11626, i32 0, i32 1 %t11628 = getelementptr inbounds %LSlice, ptr %t11626, i32 0, i32 2 %t11629 = getelementptr inbounds %LSlice, ptr %t11626, i32 0, i32 0 %t11630 = load i32, ptr %t11627 %t11631 = load i32, ptr %t11628 %t11632 = icmp sge i32 %t11630, %t11631 br i1 %t11632, label %grow2368, label %put2369 grow2368: %t11633 = mul i32 %t11631, 2 %t11634 = icmp eq i32 %t11631, 0 %t11635 = select i1 %t11634, i32 8, i32 %t11633 %t11636 = getelementptr ptr, ptr null, i32 1 %t11637 = ptrtoint ptr %t11636 to i64 %t11638 = zext i32 %t11635 to i64 %t11639 = mul i64 %t11638, %t11637 %t11640 = load ptr, ptr %t11629 %t11641 = call ptr @realloc(ptr %t11640, i64 %t11639) store ptr %t11641, ptr %t11629 store i32 %t11635, ptr %t11628 br label %put2369 put2369: %t11642 = load ptr, ptr %t11629 %t11643 = getelementptr inbounds ptr, ptr %t11642, i32 %t11630 store ptr @.str7744, ptr %t11643 %t11644 = add i32 %t11630, 1 store i32 %t11644, ptr %t11627 br label %ifend2367 ifend2367: %t11645 = load ptr, ptr %t1 %t11646 = call i32 @lp_str_eq(ptr %t11645, ptr @.str7745) %t11647 = icmp ne i32 %t11646, 0 br i1 %t11647, label %then2370, label %ifend2372 then2370: store ptr @.str7746, ptr %t380 %t11648 = load ptr, ptr %t387 %t11649 = getelementptr inbounds %LSlice, ptr %t11648, i32 0, i32 1 %t11650 = getelementptr inbounds %LSlice, ptr %t11648, i32 0, i32 2 %t11651 = getelementptr inbounds %LSlice, ptr %t11648, i32 0, i32 0 %t11652 = load i32, ptr %t11649 %t11653 = load i32, ptr %t11650 %t11654 = icmp sge i32 %t11652, %t11653 br i1 %t11654, label %grow2373, label %put2374 grow2373: %t11655 = mul i32 %t11653, 2 %t11656 = icmp eq i32 %t11653, 0 %t11657 = select i1 %t11656, i32 8, i32 %t11655 %t11658 = getelementptr ptr, ptr null, i32 1 %t11659 = ptrtoint ptr %t11658 to i64 %t11660 = zext i32 %t11657 to i64 %t11661 = mul i64 %t11660, %t11659 %t11662 = load ptr, ptr %t11651 %t11663 = call ptr @realloc(ptr %t11662, i64 %t11661) store ptr %t11663, ptr %t11651 store i32 %t11657, ptr %t11650 br label %put2374 put2374: %t11664 = load ptr, ptr %t11651 %t11665 = getelementptr inbounds ptr, ptr %t11664, i32 %t11652 store ptr @.str7747, ptr %t11665 %t11666 = add i32 %t11652, 1 store i32 %t11666, ptr %t11649 %t11667 = load ptr, ptr %t387 %t11668 = getelementptr inbounds %LSlice, ptr %t11667, i32 0, i32 1 %t11669 = getelementptr inbounds %LSlice, ptr %t11667, i32 0, i32 2 %t11670 = getelementptr inbounds %LSlice, ptr %t11667, i32 0, i32 0 %t11671 = load i32, ptr %t11668 %t11672 = load i32, ptr %t11669 %t11673 = icmp sge i32 %t11671, %t11672 br i1 %t11673, label %grow2375, label %put2376 grow2375: %t11674 = mul i32 %t11672, 2 %t11675 = icmp eq i32 %t11672, 0 %t11676 = select i1 %t11675, i32 8, i32 %t11674 %t11677 = getelementptr ptr, ptr null, i32 1 %t11678 = ptrtoint ptr %t11677 to i64 %t11679 = zext i32 %t11676 to i64 %t11680 = mul i64 %t11679, %t11678 %t11681 = load ptr, ptr %t11670 %t11682 = call ptr @realloc(ptr %t11681, i64 %t11680) store ptr %t11682, ptr %t11670 store i32 %t11676, ptr %t11669 br label %put2376 put2376: %t11683 = load ptr, ptr %t11670 %t11684 = getelementptr inbounds ptr, ptr %t11683, i32 %t11671 store ptr @.str7748, ptr %t11684 %t11685 = add i32 %t11671, 1 store i32 %t11685, ptr %t11668 br label %ifend2372 ifend2372: br label %ifend2330 ifend2330: %t11686 = load ptr, ptr %t0 %t11687 = call i32 @lp_str_eq(ptr %t11686, ptr @.str7749) %t11688 = icmp ne i32 %t11687, 0 br i1 %t11688, label %then2377, label %ifend2379 then2377: %t11689 = load ptr, ptr %t1 %t11690 = call i32 @lp_str_eq(ptr %t11689, ptr @.str7750) %t11691 = icmp ne i32 %t11690, 0 br i1 %t11691, label %then2380, label %ifend2382 then2380: store ptr @.str7751, ptr %t380 %t11692 = load ptr, ptr %t387 %t11693 = getelementptr inbounds %LSlice, ptr %t11692, i32 0, i32 1 %t11694 = getelementptr inbounds %LSlice, ptr %t11692, i32 0, i32 2 %t11695 = getelementptr inbounds %LSlice, ptr %t11692, i32 0, i32 0 %t11696 = load i32, ptr %t11693 %t11697 = load i32, ptr %t11694 %t11698 = icmp sge i32 %t11696, %t11697 br i1 %t11698, label %grow2383, label %put2384 grow2383: %t11699 = mul i32 %t11697, 2 %t11700 = icmp eq i32 %t11697, 0 %t11701 = select i1 %t11700, i32 8, i32 %t11699 %t11702 = getelementptr ptr, ptr null, i32 1 %t11703 = ptrtoint ptr %t11702 to i64 %t11704 = zext i32 %t11701 to i64 %t11705 = mul i64 %t11704, %t11703 %t11706 = load ptr, ptr %t11695 %t11707 = call ptr @realloc(ptr %t11706, i64 %t11705) store ptr %t11707, ptr %t11695 store i32 %t11701, ptr %t11694 br label %put2384 put2384: %t11708 = load ptr, ptr %t11695 %t11709 = getelementptr inbounds ptr, ptr %t11708, i32 %t11696 store ptr @.str7752, ptr %t11709 %t11710 = add i32 %t11696, 1 store i32 %t11710, ptr %t11693 br label %ifend2382 ifend2382: %t11711 = load ptr, ptr %t1 %t11712 = call i32 @lp_str_eq(ptr %t11711, ptr @.str7753) %t11713 = icmp ne i32 %t11712, 0 br i1 %t11713, label %then2385, label %ifend2387 then2385: store ptr @.str7754, ptr %t380 %t11714 = load ptr, ptr %t387 %t11715 = getelementptr inbounds %LSlice, ptr %t11714, i32 0, i32 1 %t11716 = getelementptr inbounds %LSlice, ptr %t11714, i32 0, i32 2 %t11717 = getelementptr inbounds %LSlice, ptr %t11714, i32 0, i32 0 %t11718 = load i32, ptr %t11715 %t11719 = load i32, ptr %t11716 %t11720 = icmp sge i32 %t11718, %t11719 br i1 %t11720, label %grow2388, label %put2389 grow2388: %t11721 = mul i32 %t11719, 2 %t11722 = icmp eq i32 %t11719, 0 %t11723 = select i1 %t11722, i32 8, i32 %t11721 %t11724 = getelementptr ptr, ptr null, i32 1 %t11725 = ptrtoint ptr %t11724 to i64 %t11726 = zext i32 %t11723 to i64 %t11727 = mul i64 %t11726, %t11725 %t11728 = load ptr, ptr %t11717 %t11729 = call ptr @realloc(ptr %t11728, i64 %t11727) store ptr %t11729, ptr %t11717 store i32 %t11723, ptr %t11716 br label %put2389 put2389: %t11730 = load ptr, ptr %t11717 %t11731 = getelementptr inbounds ptr, ptr %t11730, i32 %t11718 store ptr @.str7755, ptr %t11731 %t11732 = add i32 %t11718, 1 store i32 %t11732, ptr %t11715 br label %ifend2387 ifend2387: %t11733 = load ptr, ptr %t1 %t11734 = call i32 @lp_str_eq(ptr %t11733, ptr @.str7756) %t11735 = icmp ne i32 %t11734, 0 br i1 %t11735, label %then2390, label %ifend2392 then2390: store ptr @.str7757, ptr %t380 %t11736 = load ptr, ptr %t387 %t11737 = getelementptr inbounds %LSlice, ptr %t11736, i32 0, i32 1 %t11738 = getelementptr inbounds %LSlice, ptr %t11736, i32 0, i32 2 %t11739 = getelementptr inbounds %LSlice, ptr %t11736, i32 0, i32 0 %t11740 = load i32, ptr %t11737 %t11741 = load i32, ptr %t11738 %t11742 = icmp sge i32 %t11740, %t11741 br i1 %t11742, label %grow2393, label %put2394 grow2393: %t11743 = mul i32 %t11741, 2 %t11744 = icmp eq i32 %t11741, 0 %t11745 = select i1 %t11744, i32 8, i32 %t11743 %t11746 = getelementptr ptr, ptr null, i32 1 %t11747 = ptrtoint ptr %t11746 to i64 %t11748 = zext i32 %t11745 to i64 %t11749 = mul i64 %t11748, %t11747 %t11750 = load ptr, ptr %t11739 %t11751 = call ptr @realloc(ptr %t11750, i64 %t11749) store ptr %t11751, ptr %t11739 store i32 %t11745, ptr %t11738 br label %put2394 put2394: %t11752 = load ptr, ptr %t11739 %t11753 = getelementptr inbounds ptr, ptr %t11752, i32 %t11740 store ptr @.str7758, ptr %t11753 %t11754 = add i32 %t11740, 1 store i32 %t11754, ptr %t11737 %t11755 = load ptr, ptr %t387 %t11756 = getelementptr inbounds %LSlice, ptr %t11755, i32 0, i32 1 %t11757 = getelementptr inbounds %LSlice, ptr %t11755, i32 0, i32 2 %t11758 = getelementptr inbounds %LSlice, ptr %t11755, i32 0, i32 0 %t11759 = load i32, ptr %t11756 %t11760 = load i32, ptr %t11757 %t11761 = icmp sge i32 %t11759, %t11760 br i1 %t11761, label %grow2395, label %put2396 grow2395: %t11762 = mul i32 %t11760, 2 %t11763 = icmp eq i32 %t11760, 0 %t11764 = select i1 %t11763, i32 8, i32 %t11762 %t11765 = getelementptr ptr, ptr null, i32 1 %t11766 = ptrtoint ptr %t11765 to i64 %t11767 = zext i32 %t11764 to i64 %t11768 = mul i64 %t11767, %t11766 %t11769 = load ptr, ptr %t11758 %t11770 = call ptr @realloc(ptr %t11769, i64 %t11768) store ptr %t11770, ptr %t11758 store i32 %t11764, ptr %t11757 br label %put2396 put2396: %t11771 = load ptr, ptr %t11758 %t11772 = getelementptr inbounds ptr, ptr %t11771, i32 %t11759 store ptr @.str7759, ptr %t11772 %t11773 = add i32 %t11759, 1 store i32 %t11773, ptr %t11756 %t11774 = load ptr, ptr %t387 %t11775 = getelementptr inbounds %LSlice, ptr %t11774, i32 0, i32 1 %t11776 = getelementptr inbounds %LSlice, ptr %t11774, i32 0, i32 2 %t11777 = getelementptr inbounds %LSlice, ptr %t11774, i32 0, i32 0 %t11778 = load i32, ptr %t11775 %t11779 = load i32, ptr %t11776 %t11780 = icmp sge i32 %t11778, %t11779 br i1 %t11780, label %grow2397, label %put2398 grow2397: %t11781 = mul i32 %t11779, 2 %t11782 = icmp eq i32 %t11779, 0 %t11783 = select i1 %t11782, i32 8, i32 %t11781 %t11784 = getelementptr ptr, ptr null, i32 1 %t11785 = ptrtoint ptr %t11784 to i64 %t11786 = zext i32 %t11783 to i64 %t11787 = mul i64 %t11786, %t11785 %t11788 = load ptr, ptr %t11777 %t11789 = call ptr @realloc(ptr %t11788, i64 %t11787) store ptr %t11789, ptr %t11777 store i32 %t11783, ptr %t11776 br label %put2398 put2398: %t11790 = load ptr, ptr %t11777 %t11791 = getelementptr inbounds ptr, ptr %t11790, i32 %t11778 store ptr @.str7760, ptr %t11791 %t11792 = add i32 %t11778, 1 store i32 %t11792, ptr %t11775 %t11793 = load ptr, ptr %t387 %t11794 = getelementptr inbounds %LSlice, ptr %t11793, i32 0, i32 1 %t11795 = getelementptr inbounds %LSlice, ptr %t11793, i32 0, i32 2 %t11796 = getelementptr inbounds %LSlice, ptr %t11793, i32 0, i32 0 %t11797 = load i32, ptr %t11794 %t11798 = load i32, ptr %t11795 %t11799 = icmp sge i32 %t11797, %t11798 br i1 %t11799, label %grow2399, label %put2400 grow2399: %t11800 = mul i32 %t11798, 2 %t11801 = icmp eq i32 %t11798, 0 %t11802 = select i1 %t11801, i32 8, i32 %t11800 %t11803 = getelementptr ptr, ptr null, i32 1 %t11804 = ptrtoint ptr %t11803 to i64 %t11805 = zext i32 %t11802 to i64 %t11806 = mul i64 %t11805, %t11804 %t11807 = load ptr, ptr %t11796 %t11808 = call ptr @realloc(ptr %t11807, i64 %t11806) store ptr %t11808, ptr %t11796 store i32 %t11802, ptr %t11795 br label %put2400 put2400: %t11809 = load ptr, ptr %t11796 %t11810 = getelementptr inbounds ptr, ptr %t11809, i32 %t11797 store ptr @.str7761, ptr %t11810 %t11811 = add i32 %t11797, 1 store i32 %t11811, ptr %t11794 %t11812 = load ptr, ptr %t387 %t11813 = getelementptr inbounds %LSlice, ptr %t11812, i32 0, i32 1 %t11814 = getelementptr inbounds %LSlice, ptr %t11812, i32 0, i32 2 %t11815 = getelementptr inbounds %LSlice, ptr %t11812, i32 0, i32 0 %t11816 = load i32, ptr %t11813 %t11817 = load i32, ptr %t11814 %t11818 = icmp sge i32 %t11816, %t11817 br i1 %t11818, label %grow2401, label %put2402 grow2401: %t11819 = mul i32 %t11817, 2 %t11820 = icmp eq i32 %t11817, 0 %t11821 = select i1 %t11820, i32 8, i32 %t11819 %t11822 = getelementptr ptr, ptr null, i32 1 %t11823 = ptrtoint ptr %t11822 to i64 %t11824 = zext i32 %t11821 to i64 %t11825 = mul i64 %t11824, %t11823 %t11826 = load ptr, ptr %t11815 %t11827 = call ptr @realloc(ptr %t11826, i64 %t11825) store ptr %t11827, ptr %t11815 store i32 %t11821, ptr %t11814 br label %put2402 put2402: %t11828 = load ptr, ptr %t11815 %t11829 = getelementptr inbounds ptr, ptr %t11828, i32 %t11816 store ptr @.str7762, ptr %t11829 %t11830 = add i32 %t11816, 1 store i32 %t11830, ptr %t11813 %t11831 = load ptr, ptr %t387 %t11832 = getelementptr inbounds %LSlice, ptr %t11831, i32 0, i32 1 %t11833 = getelementptr inbounds %LSlice, ptr %t11831, i32 0, i32 2 %t11834 = getelementptr inbounds %LSlice, ptr %t11831, i32 0, i32 0 %t11835 = load i32, ptr %t11832 %t11836 = load i32, ptr %t11833 %t11837 = icmp sge i32 %t11835, %t11836 br i1 %t11837, label %grow2403, label %put2404 grow2403: %t11838 = mul i32 %t11836, 2 %t11839 = icmp eq i32 %t11836, 0 %t11840 = select i1 %t11839, i32 8, i32 %t11838 %t11841 = getelementptr ptr, ptr null, i32 1 %t11842 = ptrtoint ptr %t11841 to i64 %t11843 = zext i32 %t11840 to i64 %t11844 = mul i64 %t11843, %t11842 %t11845 = load ptr, ptr %t11834 %t11846 = call ptr @realloc(ptr %t11845, i64 %t11844) store ptr %t11846, ptr %t11834 store i32 %t11840, ptr %t11833 br label %put2404 put2404: %t11847 = load ptr, ptr %t11834 %t11848 = getelementptr inbounds ptr, ptr %t11847, i32 %t11835 store ptr @.str7763, ptr %t11848 %t11849 = add i32 %t11835, 1 store i32 %t11849, ptr %t11832 br label %ifend2392 ifend2392: %t11850 = load ptr, ptr %t1 %t11851 = call i32 @lp_str_eq(ptr %t11850, ptr @.str7764) %t11852 = icmp ne i32 %t11851, 0 br i1 %t11852, label %then2405, label %ifend2407 then2405: store ptr @.str7765, ptr %t380 %t11853 = load ptr, ptr %t387 %t11854 = getelementptr inbounds %LSlice, ptr %t11853, i32 0, i32 1 %t11855 = getelementptr inbounds %LSlice, ptr %t11853, i32 0, i32 2 %t11856 = getelementptr inbounds %LSlice, ptr %t11853, i32 0, i32 0 %t11857 = load i32, ptr %t11854 %t11858 = load i32, ptr %t11855 %t11859 = icmp sge i32 %t11857, %t11858 br i1 %t11859, label %grow2408, label %put2409 grow2408: %t11860 = mul i32 %t11858, 2 %t11861 = icmp eq i32 %t11858, 0 %t11862 = select i1 %t11861, i32 8, i32 %t11860 %t11863 = getelementptr ptr, ptr null, i32 1 %t11864 = ptrtoint ptr %t11863 to i64 %t11865 = zext i32 %t11862 to i64 %t11866 = mul i64 %t11865, %t11864 %t11867 = load ptr, ptr %t11856 %t11868 = call ptr @realloc(ptr %t11867, i64 %t11866) store ptr %t11868, ptr %t11856 store i32 %t11862, ptr %t11855 br label %put2409 put2409: %t11869 = load ptr, ptr %t11856 %t11870 = getelementptr inbounds ptr, ptr %t11869, i32 %t11857 store ptr @.str7766, ptr %t11870 %t11871 = add i32 %t11857, 1 store i32 %t11871, ptr %t11854 %t11872 = load ptr, ptr %t387 %t11873 = getelementptr inbounds %LSlice, ptr %t11872, i32 0, i32 1 %t11874 = getelementptr inbounds %LSlice, ptr %t11872, i32 0, i32 2 %t11875 = getelementptr inbounds %LSlice, ptr %t11872, i32 0, i32 0 %t11876 = load i32, ptr %t11873 %t11877 = load i32, ptr %t11874 %t11878 = icmp sge i32 %t11876, %t11877 br i1 %t11878, label %grow2410, label %put2411 grow2410: %t11879 = mul i32 %t11877, 2 %t11880 = icmp eq i32 %t11877, 0 %t11881 = select i1 %t11880, i32 8, i32 %t11879 %t11882 = getelementptr ptr, ptr null, i32 1 %t11883 = ptrtoint ptr %t11882 to i64 %t11884 = zext i32 %t11881 to i64 %t11885 = mul i64 %t11884, %t11883 %t11886 = load ptr, ptr %t11875 %t11887 = call ptr @realloc(ptr %t11886, i64 %t11885) store ptr %t11887, ptr %t11875 store i32 %t11881, ptr %t11874 br label %put2411 put2411: %t11888 = load ptr, ptr %t11875 %t11889 = getelementptr inbounds ptr, ptr %t11888, i32 %t11876 store ptr @.str7767, ptr %t11889 %t11890 = add i32 %t11876, 1 store i32 %t11890, ptr %t11873 %t11891 = load ptr, ptr %t387 %t11892 = getelementptr inbounds %LSlice, ptr %t11891, i32 0, i32 1 %t11893 = getelementptr inbounds %LSlice, ptr %t11891, i32 0, i32 2 %t11894 = getelementptr inbounds %LSlice, ptr %t11891, i32 0, i32 0 %t11895 = load i32, ptr %t11892 %t11896 = load i32, ptr %t11893 %t11897 = icmp sge i32 %t11895, %t11896 br i1 %t11897, label %grow2412, label %put2413 grow2412: %t11898 = mul i32 %t11896, 2 %t11899 = icmp eq i32 %t11896, 0 %t11900 = select i1 %t11899, i32 8, i32 %t11898 %t11901 = getelementptr ptr, ptr null, i32 1 %t11902 = ptrtoint ptr %t11901 to i64 %t11903 = zext i32 %t11900 to i64 %t11904 = mul i64 %t11903, %t11902 %t11905 = load ptr, ptr %t11894 %t11906 = call ptr @realloc(ptr %t11905, i64 %t11904) store ptr %t11906, ptr %t11894 store i32 %t11900, ptr %t11893 br label %put2413 put2413: %t11907 = load ptr, ptr %t11894 %t11908 = getelementptr inbounds ptr, ptr %t11907, i32 %t11895 store ptr @.str7768, ptr %t11908 %t11909 = add i32 %t11895, 1 store i32 %t11909, ptr %t11892 %t11910 = load ptr, ptr %t387 %t11911 = getelementptr inbounds %LSlice, ptr %t11910, i32 0, i32 1 %t11912 = getelementptr inbounds %LSlice, ptr %t11910, i32 0, i32 2 %t11913 = getelementptr inbounds %LSlice, ptr %t11910, i32 0, i32 0 %t11914 = load i32, ptr %t11911 %t11915 = load i32, ptr %t11912 %t11916 = icmp sge i32 %t11914, %t11915 br i1 %t11916, label %grow2414, label %put2415 grow2414: %t11917 = mul i32 %t11915, 2 %t11918 = icmp eq i32 %t11915, 0 %t11919 = select i1 %t11918, i32 8, i32 %t11917 %t11920 = getelementptr ptr, ptr null, i32 1 %t11921 = ptrtoint ptr %t11920 to i64 %t11922 = zext i32 %t11919 to i64 %t11923 = mul i64 %t11922, %t11921 %t11924 = load ptr, ptr %t11913 %t11925 = call ptr @realloc(ptr %t11924, i64 %t11923) store ptr %t11925, ptr %t11913 store i32 %t11919, ptr %t11912 br label %put2415 put2415: %t11926 = load ptr, ptr %t11913 %t11927 = getelementptr inbounds ptr, ptr %t11926, i32 %t11914 store ptr @.str7769, ptr %t11927 %t11928 = add i32 %t11914, 1 store i32 %t11928, ptr %t11911 %t11929 = load ptr, ptr %t387 %t11930 = getelementptr inbounds %LSlice, ptr %t11929, i32 0, i32 1 %t11931 = getelementptr inbounds %LSlice, ptr %t11929, i32 0, i32 2 %t11932 = getelementptr inbounds %LSlice, ptr %t11929, i32 0, i32 0 %t11933 = load i32, ptr %t11930 %t11934 = load i32, ptr %t11931 %t11935 = icmp sge i32 %t11933, %t11934 br i1 %t11935, label %grow2416, label %put2417 grow2416: %t11936 = mul i32 %t11934, 2 %t11937 = icmp eq i32 %t11934, 0 %t11938 = select i1 %t11937, i32 8, i32 %t11936 %t11939 = getelementptr ptr, ptr null, i32 1 %t11940 = ptrtoint ptr %t11939 to i64 %t11941 = zext i32 %t11938 to i64 %t11942 = mul i64 %t11941, %t11940 %t11943 = load ptr, ptr %t11932 %t11944 = call ptr @realloc(ptr %t11943, i64 %t11942) store ptr %t11944, ptr %t11932 store i32 %t11938, ptr %t11931 br label %put2417 put2417: %t11945 = load ptr, ptr %t11932 %t11946 = getelementptr inbounds ptr, ptr %t11945, i32 %t11933 store ptr @.str7770, ptr %t11946 %t11947 = add i32 %t11933, 1 store i32 %t11947, ptr %t11930 %t11948 = load ptr, ptr %t387 %t11949 = getelementptr inbounds %LSlice, ptr %t11948, i32 0, i32 1 %t11950 = getelementptr inbounds %LSlice, ptr %t11948, i32 0, i32 2 %t11951 = getelementptr inbounds %LSlice, ptr %t11948, i32 0, i32 0 %t11952 = load i32, ptr %t11949 %t11953 = load i32, ptr %t11950 %t11954 = icmp sge i32 %t11952, %t11953 br i1 %t11954, label %grow2418, label %put2419 grow2418: %t11955 = mul i32 %t11953, 2 %t11956 = icmp eq i32 %t11953, 0 %t11957 = select i1 %t11956, i32 8, i32 %t11955 %t11958 = getelementptr ptr, ptr null, i32 1 %t11959 = ptrtoint ptr %t11958 to i64 %t11960 = zext i32 %t11957 to i64 %t11961 = mul i64 %t11960, %t11959 %t11962 = load ptr, ptr %t11951 %t11963 = call ptr @realloc(ptr %t11962, i64 %t11961) store ptr %t11963, ptr %t11951 store i32 %t11957, ptr %t11950 br label %put2419 put2419: %t11964 = load ptr, ptr %t11951 %t11965 = getelementptr inbounds ptr, ptr %t11964, i32 %t11952 store ptr @.str7771, ptr %t11965 %t11966 = add i32 %t11952, 1 store i32 %t11966, ptr %t11949 %t11967 = load ptr, ptr %t387 %t11968 = getelementptr inbounds %LSlice, ptr %t11967, i32 0, i32 1 %t11969 = getelementptr inbounds %LSlice, ptr %t11967, i32 0, i32 2 %t11970 = getelementptr inbounds %LSlice, ptr %t11967, i32 0, i32 0 %t11971 = load i32, ptr %t11968 %t11972 = load i32, ptr %t11969 %t11973 = icmp sge i32 %t11971, %t11972 br i1 %t11973, label %grow2420, label %put2421 grow2420: %t11974 = mul i32 %t11972, 2 %t11975 = icmp eq i32 %t11972, 0 %t11976 = select i1 %t11975, i32 8, i32 %t11974 %t11977 = getelementptr ptr, ptr null, i32 1 %t11978 = ptrtoint ptr %t11977 to i64 %t11979 = zext i32 %t11976 to i64 %t11980 = mul i64 %t11979, %t11978 %t11981 = load ptr, ptr %t11970 %t11982 = call ptr @realloc(ptr %t11981, i64 %t11980) store ptr %t11982, ptr %t11970 store i32 %t11976, ptr %t11969 br label %put2421 put2421: %t11983 = load ptr, ptr %t11970 %t11984 = getelementptr inbounds ptr, ptr %t11983, i32 %t11971 store ptr @.str7772, ptr %t11984 %t11985 = add i32 %t11971, 1 store i32 %t11985, ptr %t11968 br label %ifend2407 ifend2407: br label %ifend2379 ifend2379: %t11986 = load ptr, ptr %t0 %t11987 = call i32 @lp_str_eq(ptr %t11986, ptr @.str7773) %t11988 = icmp ne i32 %t11987, 0 br i1 %t11988, label %then2422, label %ifend2424 then2422: %t11989 = load ptr, ptr %t1 %t11990 = call i32 @lp_str_eq(ptr %t11989, ptr @.str7774) %t11991 = icmp ne i32 %t11990, 0 br i1 %t11991, label %then2425, label %ifend2427 then2425: store ptr @.str7775, ptr %t380 %t11992 = load ptr, ptr %t387 %t11993 = getelementptr inbounds %LSlice, ptr %t11992, i32 0, i32 1 %t11994 = getelementptr inbounds %LSlice, ptr %t11992, i32 0, i32 2 %t11995 = getelementptr inbounds %LSlice, ptr %t11992, i32 0, i32 0 %t11996 = load i32, ptr %t11993 %t11997 = load i32, ptr %t11994 %t11998 = icmp sge i32 %t11996, %t11997 br i1 %t11998, label %grow2428, label %put2429 grow2428: %t11999 = mul i32 %t11997, 2 %t12000 = icmp eq i32 %t11997, 0 %t12001 = select i1 %t12000, i32 8, i32 %t11999 %t12002 = getelementptr ptr, ptr null, i32 1 %t12003 = ptrtoint ptr %t12002 to i64 %t12004 = zext i32 %t12001 to i64 %t12005 = mul i64 %t12004, %t12003 %t12006 = load ptr, ptr %t11995 %t12007 = call ptr @realloc(ptr %t12006, i64 %t12005) store ptr %t12007, ptr %t11995 store i32 %t12001, ptr %t11994 br label %put2429 put2429: %t12008 = load ptr, ptr %t11995 %t12009 = getelementptr inbounds ptr, ptr %t12008, i32 %t11996 store ptr @.str7776, ptr %t12009 %t12010 = add i32 %t11996, 1 store i32 %t12010, ptr %t11993 br label %ifend2427 ifend2427: %t12011 = load ptr, ptr %t1 %t12012 = call i32 @lp_str_eq(ptr %t12011, ptr @.str7777) %t12013 = icmp ne i32 %t12012, 0 br i1 %t12013, label %then2430, label %ifend2432 then2430: store ptr @.str7778, ptr %t380 %t12014 = load ptr, ptr %t387 %t12015 = getelementptr inbounds %LSlice, ptr %t12014, i32 0, i32 1 %t12016 = getelementptr inbounds %LSlice, ptr %t12014, i32 0, i32 2 %t12017 = getelementptr inbounds %LSlice, ptr %t12014, i32 0, i32 0 %t12018 = load i32, ptr %t12015 %t12019 = load i32, ptr %t12016 %t12020 = icmp sge i32 %t12018, %t12019 br i1 %t12020, label %grow2433, label %put2434 grow2433: %t12021 = mul i32 %t12019, 2 %t12022 = icmp eq i32 %t12019, 0 %t12023 = select i1 %t12022, i32 8, i32 %t12021 %t12024 = getelementptr ptr, ptr null, i32 1 %t12025 = ptrtoint ptr %t12024 to i64 %t12026 = zext i32 %t12023 to i64 %t12027 = mul i64 %t12026, %t12025 %t12028 = load ptr, ptr %t12017 %t12029 = call ptr @realloc(ptr %t12028, i64 %t12027) store ptr %t12029, ptr %t12017 store i32 %t12023, ptr %t12016 br label %put2434 put2434: %t12030 = load ptr, ptr %t12017 %t12031 = getelementptr inbounds ptr, ptr %t12030, i32 %t12018 store ptr @.str7779, ptr %t12031 %t12032 = add i32 %t12018, 1 store i32 %t12032, ptr %t12015 %t12033 = load ptr, ptr %t387 %t12034 = getelementptr inbounds %LSlice, ptr %t12033, i32 0, i32 1 %t12035 = getelementptr inbounds %LSlice, ptr %t12033, i32 0, i32 2 %t12036 = getelementptr inbounds %LSlice, ptr %t12033, i32 0, i32 0 %t12037 = load i32, ptr %t12034 %t12038 = load i32, ptr %t12035 %t12039 = icmp sge i32 %t12037, %t12038 br i1 %t12039, label %grow2435, label %put2436 grow2435: %t12040 = mul i32 %t12038, 2 %t12041 = icmp eq i32 %t12038, 0 %t12042 = select i1 %t12041, i32 8, i32 %t12040 %t12043 = getelementptr ptr, ptr null, i32 1 %t12044 = ptrtoint ptr %t12043 to i64 %t12045 = zext i32 %t12042 to i64 %t12046 = mul i64 %t12045, %t12044 %t12047 = load ptr, ptr %t12036 %t12048 = call ptr @realloc(ptr %t12047, i64 %t12046) store ptr %t12048, ptr %t12036 store i32 %t12042, ptr %t12035 br label %put2436 put2436: %t12049 = load ptr, ptr %t12036 %t12050 = getelementptr inbounds ptr, ptr %t12049, i32 %t12037 store ptr @.str7780, ptr %t12050 %t12051 = add i32 %t12037, 1 store i32 %t12051, ptr %t12034 br label %ifend2432 ifend2432: %t12052 = load ptr, ptr %t1 %t12053 = call i32 @lp_str_eq(ptr %t12052, ptr @.str7781) %t12054 = icmp ne i32 %t12053, 0 br i1 %t12054, label %then2437, label %ifend2439 then2437: store ptr @.str7782, ptr %t380 br label %ifend2439 ifend2439: %t12055 = load ptr, ptr %t1 %t12056 = call i32 @lp_str_eq(ptr %t12055, ptr @.str7783) %t12057 = icmp ne i32 %t12056, 0 br i1 %t12057, label %then2440, label %ifend2442 then2440: store ptr @.str7784, ptr %t380 %t12058 = load ptr, ptr %t387 %t12059 = getelementptr inbounds %LSlice, ptr %t12058, i32 0, i32 1 %t12060 = getelementptr inbounds %LSlice, ptr %t12058, i32 0, i32 2 %t12061 = getelementptr inbounds %LSlice, ptr %t12058, i32 0, i32 0 %t12062 = load i32, ptr %t12059 %t12063 = load i32, ptr %t12060 %t12064 = icmp sge i32 %t12062, %t12063 br i1 %t12064, label %grow2443, label %put2444 grow2443: %t12065 = mul i32 %t12063, 2 %t12066 = icmp eq i32 %t12063, 0 %t12067 = select i1 %t12066, i32 8, i32 %t12065 %t12068 = getelementptr ptr, ptr null, i32 1 %t12069 = ptrtoint ptr %t12068 to i64 %t12070 = zext i32 %t12067 to i64 %t12071 = mul i64 %t12070, %t12069 %t12072 = load ptr, ptr %t12061 %t12073 = call ptr @realloc(ptr %t12072, i64 %t12071) store ptr %t12073, ptr %t12061 store i32 %t12067, ptr %t12060 br label %put2444 put2444: %t12074 = load ptr, ptr %t12061 %t12075 = getelementptr inbounds ptr, ptr %t12074, i32 %t12062 store ptr @.str7785, ptr %t12075 %t12076 = add i32 %t12062, 1 store i32 %t12076, ptr %t12059 br label %ifend2442 ifend2442: %t12077 = load ptr, ptr %t1 %t12078 = call i32 @lp_str_eq(ptr %t12077, ptr @.str7786) %t12079 = icmp ne i32 %t12078, 0 br i1 %t12079, label %then2445, label %ifend2447 then2445: store ptr @.str7787, ptr %t380 %t12080 = load ptr, ptr %t387 %t12081 = getelementptr inbounds %LSlice, ptr %t12080, i32 0, i32 1 %t12082 = getelementptr inbounds %LSlice, ptr %t12080, i32 0, i32 2 %t12083 = getelementptr inbounds %LSlice, ptr %t12080, i32 0, i32 0 %t12084 = load i32, ptr %t12081 %t12085 = load i32, ptr %t12082 %t12086 = icmp sge i32 %t12084, %t12085 br i1 %t12086, label %grow2448, label %put2449 grow2448: %t12087 = mul i32 %t12085, 2 %t12088 = icmp eq i32 %t12085, 0 %t12089 = select i1 %t12088, i32 8, i32 %t12087 %t12090 = getelementptr ptr, ptr null, i32 1 %t12091 = ptrtoint ptr %t12090 to i64 %t12092 = zext i32 %t12089 to i64 %t12093 = mul i64 %t12092, %t12091 %t12094 = load ptr, ptr %t12083 %t12095 = call ptr @realloc(ptr %t12094, i64 %t12093) store ptr %t12095, ptr %t12083 store i32 %t12089, ptr %t12082 br label %put2449 put2449: %t12096 = load ptr, ptr %t12083 %t12097 = getelementptr inbounds ptr, ptr %t12096, i32 %t12084 store ptr @.str7788, ptr %t12097 %t12098 = add i32 %t12084, 1 store i32 %t12098, ptr %t12081 br label %ifend2447 ifend2447: %t12099 = load ptr, ptr %t1 %t12100 = call i32 @lp_str_eq(ptr %t12099, ptr @.str7789) %t12101 = icmp ne i32 %t12100, 0 br i1 %t12101, label %then2450, label %ifend2452 then2450: store ptr @.str7790, ptr %t380 %t12102 = load ptr, ptr %t387 %t12103 = getelementptr inbounds %LSlice, ptr %t12102, i32 0, i32 1 %t12104 = getelementptr inbounds %LSlice, ptr %t12102, i32 0, i32 2 %t12105 = getelementptr inbounds %LSlice, ptr %t12102, i32 0, i32 0 %t12106 = load i32, ptr %t12103 %t12107 = load i32, ptr %t12104 %t12108 = icmp sge i32 %t12106, %t12107 br i1 %t12108, label %grow2453, label %put2454 grow2453: %t12109 = mul i32 %t12107, 2 %t12110 = icmp eq i32 %t12107, 0 %t12111 = select i1 %t12110, i32 8, i32 %t12109 %t12112 = getelementptr ptr, ptr null, i32 1 %t12113 = ptrtoint ptr %t12112 to i64 %t12114 = zext i32 %t12111 to i64 %t12115 = mul i64 %t12114, %t12113 %t12116 = load ptr, ptr %t12105 %t12117 = call ptr @realloc(ptr %t12116, i64 %t12115) store ptr %t12117, ptr %t12105 store i32 %t12111, ptr %t12104 br label %put2454 put2454: %t12118 = load ptr, ptr %t12105 %t12119 = getelementptr inbounds ptr, ptr %t12118, i32 %t12106 store ptr @.str7791, ptr %t12119 %t12120 = add i32 %t12106, 1 store i32 %t12120, ptr %t12103 %t12121 = load ptr, ptr %t387 %t12122 = getelementptr inbounds %LSlice, ptr %t12121, i32 0, i32 1 %t12123 = getelementptr inbounds %LSlice, ptr %t12121, i32 0, i32 2 %t12124 = getelementptr inbounds %LSlice, ptr %t12121, i32 0, i32 0 %t12125 = load i32, ptr %t12122 %t12126 = load i32, ptr %t12123 %t12127 = icmp sge i32 %t12125, %t12126 br i1 %t12127, label %grow2455, label %put2456 grow2455: %t12128 = mul i32 %t12126, 2 %t12129 = icmp eq i32 %t12126, 0 %t12130 = select i1 %t12129, i32 8, i32 %t12128 %t12131 = getelementptr ptr, ptr null, i32 1 %t12132 = ptrtoint ptr %t12131 to i64 %t12133 = zext i32 %t12130 to i64 %t12134 = mul i64 %t12133, %t12132 %t12135 = load ptr, ptr %t12124 %t12136 = call ptr @realloc(ptr %t12135, i64 %t12134) store ptr %t12136, ptr %t12124 store i32 %t12130, ptr %t12123 br label %put2456 put2456: %t12137 = load ptr, ptr %t12124 %t12138 = getelementptr inbounds ptr, ptr %t12137, i32 %t12125 store ptr @.str7792, ptr %t12138 %t12139 = add i32 %t12125, 1 store i32 %t12139, ptr %t12122 br label %ifend2452 ifend2452: %t12140 = load ptr, ptr %t1 %t12141 = call i32 @lp_str_eq(ptr %t12140, ptr @.str7793) %t12142 = icmp ne i32 %t12141, 0 br i1 %t12142, label %then2457, label %ifend2459 then2457: store ptr @.str7794, ptr %t380 %t12143 = load ptr, ptr %t387 %t12144 = getelementptr inbounds %LSlice, ptr %t12143, i32 0, i32 1 %t12145 = getelementptr inbounds %LSlice, ptr %t12143, i32 0, i32 2 %t12146 = getelementptr inbounds %LSlice, ptr %t12143, i32 0, i32 0 %t12147 = load i32, ptr %t12144 %t12148 = load i32, ptr %t12145 %t12149 = icmp sge i32 %t12147, %t12148 br i1 %t12149, label %grow2460, label %put2461 grow2460: %t12150 = mul i32 %t12148, 2 %t12151 = icmp eq i32 %t12148, 0 %t12152 = select i1 %t12151, i32 8, i32 %t12150 %t12153 = getelementptr ptr, ptr null, i32 1 %t12154 = ptrtoint ptr %t12153 to i64 %t12155 = zext i32 %t12152 to i64 %t12156 = mul i64 %t12155, %t12154 %t12157 = load ptr, ptr %t12146 %t12158 = call ptr @realloc(ptr %t12157, i64 %t12156) store ptr %t12158, ptr %t12146 store i32 %t12152, ptr %t12145 br label %put2461 put2461: %t12159 = load ptr, ptr %t12146 %t12160 = getelementptr inbounds ptr, ptr %t12159, i32 %t12147 store ptr @.str7795, ptr %t12160 %t12161 = add i32 %t12147, 1 store i32 %t12161, ptr %t12144 %t12162 = load ptr, ptr %t387 %t12163 = getelementptr inbounds %LSlice, ptr %t12162, i32 0, i32 1 %t12164 = getelementptr inbounds %LSlice, ptr %t12162, i32 0, i32 2 %t12165 = getelementptr inbounds %LSlice, ptr %t12162, i32 0, i32 0 %t12166 = load i32, ptr %t12163 %t12167 = load i32, ptr %t12164 %t12168 = icmp sge i32 %t12166, %t12167 br i1 %t12168, label %grow2462, label %put2463 grow2462: %t12169 = mul i32 %t12167, 2 %t12170 = icmp eq i32 %t12167, 0 %t12171 = select i1 %t12170, i32 8, i32 %t12169 %t12172 = getelementptr ptr, ptr null, i32 1 %t12173 = ptrtoint ptr %t12172 to i64 %t12174 = zext i32 %t12171 to i64 %t12175 = mul i64 %t12174, %t12173 %t12176 = load ptr, ptr %t12165 %t12177 = call ptr @realloc(ptr %t12176, i64 %t12175) store ptr %t12177, ptr %t12165 store i32 %t12171, ptr %t12164 br label %put2463 put2463: %t12178 = load ptr, ptr %t12165 %t12179 = getelementptr inbounds ptr, ptr %t12178, i32 %t12166 store ptr @.str7796, ptr %t12179 %t12180 = add i32 %t12166, 1 store i32 %t12180, ptr %t12163 br label %ifend2459 ifend2459: %t12181 = load ptr, ptr %t1 %t12182 = call i32 @lp_str_eq(ptr %t12181, ptr @.str7797) %t12183 = icmp ne i32 %t12182, 0 br i1 %t12183, label %then2464, label %ifend2466 then2464: store ptr @.str7798, ptr %t380 %t12184 = load ptr, ptr %t387 %t12185 = getelementptr inbounds %LSlice, ptr %t12184, i32 0, i32 1 %t12186 = getelementptr inbounds %LSlice, ptr %t12184, i32 0, i32 2 %t12187 = getelementptr inbounds %LSlice, ptr %t12184, i32 0, i32 0 %t12188 = load i32, ptr %t12185 %t12189 = load i32, ptr %t12186 %t12190 = icmp sge i32 %t12188, %t12189 br i1 %t12190, label %grow2467, label %put2468 grow2467: %t12191 = mul i32 %t12189, 2 %t12192 = icmp eq i32 %t12189, 0 %t12193 = select i1 %t12192, i32 8, i32 %t12191 %t12194 = getelementptr ptr, ptr null, i32 1 %t12195 = ptrtoint ptr %t12194 to i64 %t12196 = zext i32 %t12193 to i64 %t12197 = mul i64 %t12196, %t12195 %t12198 = load ptr, ptr %t12187 %t12199 = call ptr @realloc(ptr %t12198, i64 %t12197) store ptr %t12199, ptr %t12187 store i32 %t12193, ptr %t12186 br label %put2468 put2468: %t12200 = load ptr, ptr %t12187 %t12201 = getelementptr inbounds ptr, ptr %t12200, i32 %t12188 store ptr @.str7799, ptr %t12201 %t12202 = add i32 %t12188, 1 store i32 %t12202, ptr %t12185 %t12203 = load ptr, ptr %t387 %t12204 = getelementptr inbounds %LSlice, ptr %t12203, i32 0, i32 1 %t12205 = getelementptr inbounds %LSlice, ptr %t12203, i32 0, i32 2 %t12206 = getelementptr inbounds %LSlice, ptr %t12203, i32 0, i32 0 %t12207 = load i32, ptr %t12204 %t12208 = load i32, ptr %t12205 %t12209 = icmp sge i32 %t12207, %t12208 br i1 %t12209, label %grow2469, label %put2470 grow2469: %t12210 = mul i32 %t12208, 2 %t12211 = icmp eq i32 %t12208, 0 %t12212 = select i1 %t12211, i32 8, i32 %t12210 %t12213 = getelementptr ptr, ptr null, i32 1 %t12214 = ptrtoint ptr %t12213 to i64 %t12215 = zext i32 %t12212 to i64 %t12216 = mul i64 %t12215, %t12214 %t12217 = load ptr, ptr %t12206 %t12218 = call ptr @realloc(ptr %t12217, i64 %t12216) store ptr %t12218, ptr %t12206 store i32 %t12212, ptr %t12205 br label %put2470 put2470: %t12219 = load ptr, ptr %t12206 %t12220 = getelementptr inbounds ptr, ptr %t12219, i32 %t12207 store ptr @.str7800, ptr %t12220 %t12221 = add i32 %t12207, 1 store i32 %t12221, ptr %t12204 %t12222 = load ptr, ptr %t387 %t12223 = getelementptr inbounds %LSlice, ptr %t12222, i32 0, i32 1 %t12224 = getelementptr inbounds %LSlice, ptr %t12222, i32 0, i32 2 %t12225 = getelementptr inbounds %LSlice, ptr %t12222, i32 0, i32 0 %t12226 = load i32, ptr %t12223 %t12227 = load i32, ptr %t12224 %t12228 = icmp sge i32 %t12226, %t12227 br i1 %t12228, label %grow2471, label %put2472 grow2471: %t12229 = mul i32 %t12227, 2 %t12230 = icmp eq i32 %t12227, 0 %t12231 = select i1 %t12230, i32 8, i32 %t12229 %t12232 = getelementptr ptr, ptr null, i32 1 %t12233 = ptrtoint ptr %t12232 to i64 %t12234 = zext i32 %t12231 to i64 %t12235 = mul i64 %t12234, %t12233 %t12236 = load ptr, ptr %t12225 %t12237 = call ptr @realloc(ptr %t12236, i64 %t12235) store ptr %t12237, ptr %t12225 store i32 %t12231, ptr %t12224 br label %put2472 put2472: %t12238 = load ptr, ptr %t12225 %t12239 = getelementptr inbounds ptr, ptr %t12238, i32 %t12226 store ptr @.str7801, ptr %t12239 %t12240 = add i32 %t12226, 1 store i32 %t12240, ptr %t12223 br label %ifend2466 ifend2466: %t12241 = load ptr, ptr %t1 %t12242 = call i32 @lp_str_eq(ptr %t12241, ptr @.str7802) %t12243 = icmp ne i32 %t12242, 0 br i1 %t12243, label %then2473, label %ifend2475 then2473: store ptr @.str7803, ptr %t380 %t12244 = load ptr, ptr %t387 %t12245 = getelementptr inbounds %LSlice, ptr %t12244, i32 0, i32 1 %t12246 = getelementptr inbounds %LSlice, ptr %t12244, i32 0, i32 2 %t12247 = getelementptr inbounds %LSlice, ptr %t12244, i32 0, i32 0 %t12248 = load i32, ptr %t12245 %t12249 = load i32, ptr %t12246 %t12250 = icmp sge i32 %t12248, %t12249 br i1 %t12250, label %grow2476, label %put2477 grow2476: %t12251 = mul i32 %t12249, 2 %t12252 = icmp eq i32 %t12249, 0 %t12253 = select i1 %t12252, i32 8, i32 %t12251 %t12254 = getelementptr ptr, ptr null, i32 1 %t12255 = ptrtoint ptr %t12254 to i64 %t12256 = zext i32 %t12253 to i64 %t12257 = mul i64 %t12256, %t12255 %t12258 = load ptr, ptr %t12247 %t12259 = call ptr @realloc(ptr %t12258, i64 %t12257) store ptr %t12259, ptr %t12247 store i32 %t12253, ptr %t12246 br label %put2477 put2477: %t12260 = load ptr, ptr %t12247 %t12261 = getelementptr inbounds ptr, ptr %t12260, i32 %t12248 store ptr @.str7804, ptr %t12261 %t12262 = add i32 %t12248, 1 store i32 %t12262, ptr %t12245 %t12263 = load ptr, ptr %t387 %t12264 = getelementptr inbounds %LSlice, ptr %t12263, i32 0, i32 1 %t12265 = getelementptr inbounds %LSlice, ptr %t12263, i32 0, i32 2 %t12266 = getelementptr inbounds %LSlice, ptr %t12263, i32 0, i32 0 %t12267 = load i32, ptr %t12264 %t12268 = load i32, ptr %t12265 %t12269 = icmp sge i32 %t12267, %t12268 br i1 %t12269, label %grow2478, label %put2479 grow2478: %t12270 = mul i32 %t12268, 2 %t12271 = icmp eq i32 %t12268, 0 %t12272 = select i1 %t12271, i32 8, i32 %t12270 %t12273 = getelementptr ptr, ptr null, i32 1 %t12274 = ptrtoint ptr %t12273 to i64 %t12275 = zext i32 %t12272 to i64 %t12276 = mul i64 %t12275, %t12274 %t12277 = load ptr, ptr %t12266 %t12278 = call ptr @realloc(ptr %t12277, i64 %t12276) store ptr %t12278, ptr %t12266 store i32 %t12272, ptr %t12265 br label %put2479 put2479: %t12279 = load ptr, ptr %t12266 %t12280 = getelementptr inbounds ptr, ptr %t12279, i32 %t12267 store ptr @.str7805, ptr %t12280 %t12281 = add i32 %t12267, 1 store i32 %t12281, ptr %t12264 %t12282 = load ptr, ptr %t387 %t12283 = getelementptr inbounds %LSlice, ptr %t12282, i32 0, i32 1 %t12284 = getelementptr inbounds %LSlice, ptr %t12282, i32 0, i32 2 %t12285 = getelementptr inbounds %LSlice, ptr %t12282, i32 0, i32 0 %t12286 = load i32, ptr %t12283 %t12287 = load i32, ptr %t12284 %t12288 = icmp sge i32 %t12286, %t12287 br i1 %t12288, label %grow2480, label %put2481 grow2480: %t12289 = mul i32 %t12287, 2 %t12290 = icmp eq i32 %t12287, 0 %t12291 = select i1 %t12290, i32 8, i32 %t12289 %t12292 = getelementptr ptr, ptr null, i32 1 %t12293 = ptrtoint ptr %t12292 to i64 %t12294 = zext i32 %t12291 to i64 %t12295 = mul i64 %t12294, %t12293 %t12296 = load ptr, ptr %t12285 %t12297 = call ptr @realloc(ptr %t12296, i64 %t12295) store ptr %t12297, ptr %t12285 store i32 %t12291, ptr %t12284 br label %put2481 put2481: %t12298 = load ptr, ptr %t12285 %t12299 = getelementptr inbounds ptr, ptr %t12298, i32 %t12286 store ptr @.str7806, ptr %t12299 %t12300 = add i32 %t12286, 1 store i32 %t12300, ptr %t12283 %t12301 = load ptr, ptr %t387 %t12302 = getelementptr inbounds %LSlice, ptr %t12301, i32 0, i32 1 %t12303 = getelementptr inbounds %LSlice, ptr %t12301, i32 0, i32 2 %t12304 = getelementptr inbounds %LSlice, ptr %t12301, i32 0, i32 0 %t12305 = load i32, ptr %t12302 %t12306 = load i32, ptr %t12303 %t12307 = icmp sge i32 %t12305, %t12306 br i1 %t12307, label %grow2482, label %put2483 grow2482: %t12308 = mul i32 %t12306, 2 %t12309 = icmp eq i32 %t12306, 0 %t12310 = select i1 %t12309, i32 8, i32 %t12308 %t12311 = getelementptr ptr, ptr null, i32 1 %t12312 = ptrtoint ptr %t12311 to i64 %t12313 = zext i32 %t12310 to i64 %t12314 = mul i64 %t12313, %t12312 %t12315 = load ptr, ptr %t12304 %t12316 = call ptr @realloc(ptr %t12315, i64 %t12314) store ptr %t12316, ptr %t12304 store i32 %t12310, ptr %t12303 br label %put2483 put2483: %t12317 = load ptr, ptr %t12304 %t12318 = getelementptr inbounds ptr, ptr %t12317, i32 %t12305 store ptr @.str7807, ptr %t12318 %t12319 = add i32 %t12305, 1 store i32 %t12319, ptr %t12302 br label %ifend2475 ifend2475: %t12320 = load ptr, ptr %t1 %t12321 = call i32 @lp_str_eq(ptr %t12320, ptr @.str7808) %t12322 = icmp ne i32 %t12321, 0 br i1 %t12322, label %then2484, label %ifend2486 then2484: store ptr @.str7809, ptr %t380 %t12323 = load ptr, ptr %t387 %t12324 = getelementptr inbounds %LSlice, ptr %t12323, i32 0, i32 1 %t12325 = getelementptr inbounds %LSlice, ptr %t12323, i32 0, i32 2 %t12326 = getelementptr inbounds %LSlice, ptr %t12323, i32 0, i32 0 %t12327 = load i32, ptr %t12324 %t12328 = load i32, ptr %t12325 %t12329 = icmp sge i32 %t12327, %t12328 br i1 %t12329, label %grow2487, label %put2488 grow2487: %t12330 = mul i32 %t12328, 2 %t12331 = icmp eq i32 %t12328, 0 %t12332 = select i1 %t12331, i32 8, i32 %t12330 %t12333 = getelementptr ptr, ptr null, i32 1 %t12334 = ptrtoint ptr %t12333 to i64 %t12335 = zext i32 %t12332 to i64 %t12336 = mul i64 %t12335, %t12334 %t12337 = load ptr, ptr %t12326 %t12338 = call ptr @realloc(ptr %t12337, i64 %t12336) store ptr %t12338, ptr %t12326 store i32 %t12332, ptr %t12325 br label %put2488 put2488: %t12339 = load ptr, ptr %t12326 %t12340 = getelementptr inbounds ptr, ptr %t12339, i32 %t12327 store ptr @.str7810, ptr %t12340 %t12341 = add i32 %t12327, 1 store i32 %t12341, ptr %t12324 %t12342 = load ptr, ptr %t387 %t12343 = getelementptr inbounds %LSlice, ptr %t12342, i32 0, i32 1 %t12344 = getelementptr inbounds %LSlice, ptr %t12342, i32 0, i32 2 %t12345 = getelementptr inbounds %LSlice, ptr %t12342, i32 0, i32 0 %t12346 = load i32, ptr %t12343 %t12347 = load i32, ptr %t12344 %t12348 = icmp sge i32 %t12346, %t12347 br i1 %t12348, label %grow2489, label %put2490 grow2489: %t12349 = mul i32 %t12347, 2 %t12350 = icmp eq i32 %t12347, 0 %t12351 = select i1 %t12350, i32 8, i32 %t12349 %t12352 = getelementptr ptr, ptr null, i32 1 %t12353 = ptrtoint ptr %t12352 to i64 %t12354 = zext i32 %t12351 to i64 %t12355 = mul i64 %t12354, %t12353 %t12356 = load ptr, ptr %t12345 %t12357 = call ptr @realloc(ptr %t12356, i64 %t12355) store ptr %t12357, ptr %t12345 store i32 %t12351, ptr %t12344 br label %put2490 put2490: %t12358 = load ptr, ptr %t12345 %t12359 = getelementptr inbounds ptr, ptr %t12358, i32 %t12346 store ptr @.str7811, ptr %t12359 %t12360 = add i32 %t12346, 1 store i32 %t12360, ptr %t12343 br label %ifend2486 ifend2486: %t12361 = load ptr, ptr %t1 %t12362 = call i32 @lp_str_eq(ptr %t12361, ptr @.str7812) %t12363 = icmp ne i32 %t12362, 0 br i1 %t12363, label %then2491, label %ifend2493 then2491: store ptr @.str7813, ptr %t380 %t12364 = load ptr, ptr %t387 %t12365 = getelementptr inbounds %LSlice, ptr %t12364, i32 0, i32 1 %t12366 = getelementptr inbounds %LSlice, ptr %t12364, i32 0, i32 2 %t12367 = getelementptr inbounds %LSlice, ptr %t12364, i32 0, i32 0 %t12368 = load i32, ptr %t12365 %t12369 = load i32, ptr %t12366 %t12370 = icmp sge i32 %t12368, %t12369 br i1 %t12370, label %grow2494, label %put2495 grow2494: %t12371 = mul i32 %t12369, 2 %t12372 = icmp eq i32 %t12369, 0 %t12373 = select i1 %t12372, i32 8, i32 %t12371 %t12374 = getelementptr ptr, ptr null, i32 1 %t12375 = ptrtoint ptr %t12374 to i64 %t12376 = zext i32 %t12373 to i64 %t12377 = mul i64 %t12376, %t12375 %t12378 = load ptr, ptr %t12367 %t12379 = call ptr @realloc(ptr %t12378, i64 %t12377) store ptr %t12379, ptr %t12367 store i32 %t12373, ptr %t12366 br label %put2495 put2495: %t12380 = load ptr, ptr %t12367 %t12381 = getelementptr inbounds ptr, ptr %t12380, i32 %t12368 store ptr @.str7814, ptr %t12381 %t12382 = add i32 %t12368, 1 store i32 %t12382, ptr %t12365 br label %ifend2493 ifend2493: %t12383 = load ptr, ptr %t1 %t12384 = call i32 @lp_str_eq(ptr %t12383, ptr @.str7815) %t12385 = icmp ne i32 %t12384, 0 br i1 %t12385, label %then2496, label %ifend2498 then2496: store ptr @.str7816, ptr %t380 %t12386 = load ptr, ptr %t387 %t12387 = getelementptr inbounds %LSlice, ptr %t12386, i32 0, i32 1 %t12388 = getelementptr inbounds %LSlice, ptr %t12386, i32 0, i32 2 %t12389 = getelementptr inbounds %LSlice, ptr %t12386, i32 0, i32 0 %t12390 = load i32, ptr %t12387 %t12391 = load i32, ptr %t12388 %t12392 = icmp sge i32 %t12390, %t12391 br i1 %t12392, label %grow2499, label %put2500 grow2499: %t12393 = mul i32 %t12391, 2 %t12394 = icmp eq i32 %t12391, 0 %t12395 = select i1 %t12394, i32 8, i32 %t12393 %t12396 = getelementptr ptr, ptr null, i32 1 %t12397 = ptrtoint ptr %t12396 to i64 %t12398 = zext i32 %t12395 to i64 %t12399 = mul i64 %t12398, %t12397 %t12400 = load ptr, ptr %t12389 %t12401 = call ptr @realloc(ptr %t12400, i64 %t12399) store ptr %t12401, ptr %t12389 store i32 %t12395, ptr %t12388 br label %put2500 put2500: %t12402 = load ptr, ptr %t12389 %t12403 = getelementptr inbounds ptr, ptr %t12402, i32 %t12390 store ptr @.str7817, ptr %t12403 %t12404 = add i32 %t12390, 1 store i32 %t12404, ptr %t12387 br label %ifend2498 ifend2498: %t12405 = load ptr, ptr %t1 %t12406 = call i32 @lp_str_eq(ptr %t12405, ptr @.str7818) %t12407 = icmp ne i32 %t12406, 0 br i1 %t12407, label %then2501, label %ifend2503 then2501: store ptr @.str7819, ptr %t380 %t12408 = load ptr, ptr %t387 %t12409 = getelementptr inbounds %LSlice, ptr %t12408, i32 0, i32 1 %t12410 = getelementptr inbounds %LSlice, ptr %t12408, i32 0, i32 2 %t12411 = getelementptr inbounds %LSlice, ptr %t12408, i32 0, i32 0 %t12412 = load i32, ptr %t12409 %t12413 = load i32, ptr %t12410 %t12414 = icmp sge i32 %t12412, %t12413 br i1 %t12414, label %grow2504, label %put2505 grow2504: %t12415 = mul i32 %t12413, 2 %t12416 = icmp eq i32 %t12413, 0 %t12417 = select i1 %t12416, i32 8, i32 %t12415 %t12418 = getelementptr ptr, ptr null, i32 1 %t12419 = ptrtoint ptr %t12418 to i64 %t12420 = zext i32 %t12417 to i64 %t12421 = mul i64 %t12420, %t12419 %t12422 = load ptr, ptr %t12411 %t12423 = call ptr @realloc(ptr %t12422, i64 %t12421) store ptr %t12423, ptr %t12411 store i32 %t12417, ptr %t12410 br label %put2505 put2505: %t12424 = load ptr, ptr %t12411 %t12425 = getelementptr inbounds ptr, ptr %t12424, i32 %t12412 store ptr @.str7820, ptr %t12425 %t12426 = add i32 %t12412, 1 store i32 %t12426, ptr %t12409 br label %ifend2503 ifend2503: %t12427 = load ptr, ptr %t1 %t12428 = call i32 @lp_str_eq(ptr %t12427, ptr @.str7821) %t12429 = icmp ne i32 %t12428, 0 br i1 %t12429, label %then2506, label %ifend2508 then2506: store ptr @.str7822, ptr %t380 %t12430 = load ptr, ptr %t387 %t12431 = getelementptr inbounds %LSlice, ptr %t12430, i32 0, i32 1 %t12432 = getelementptr inbounds %LSlice, ptr %t12430, i32 0, i32 2 %t12433 = getelementptr inbounds %LSlice, ptr %t12430, i32 0, i32 0 %t12434 = load i32, ptr %t12431 %t12435 = load i32, ptr %t12432 %t12436 = icmp sge i32 %t12434, %t12435 br i1 %t12436, label %grow2509, label %put2510 grow2509: %t12437 = mul i32 %t12435, 2 %t12438 = icmp eq i32 %t12435, 0 %t12439 = select i1 %t12438, i32 8, i32 %t12437 %t12440 = getelementptr ptr, ptr null, i32 1 %t12441 = ptrtoint ptr %t12440 to i64 %t12442 = zext i32 %t12439 to i64 %t12443 = mul i64 %t12442, %t12441 %t12444 = load ptr, ptr %t12433 %t12445 = call ptr @realloc(ptr %t12444, i64 %t12443) store ptr %t12445, ptr %t12433 store i32 %t12439, ptr %t12432 br label %put2510 put2510: %t12446 = load ptr, ptr %t12433 %t12447 = getelementptr inbounds ptr, ptr %t12446, i32 %t12434 store ptr @.str7823, ptr %t12447 %t12448 = add i32 %t12434, 1 store i32 %t12448, ptr %t12431 %t12449 = load ptr, ptr %t387 %t12450 = getelementptr inbounds %LSlice, ptr %t12449, i32 0, i32 1 %t12451 = getelementptr inbounds %LSlice, ptr %t12449, i32 0, i32 2 %t12452 = getelementptr inbounds %LSlice, ptr %t12449, i32 0, i32 0 %t12453 = load i32, ptr %t12450 %t12454 = load i32, ptr %t12451 %t12455 = icmp sge i32 %t12453, %t12454 br i1 %t12455, label %grow2511, label %put2512 grow2511: %t12456 = mul i32 %t12454, 2 %t12457 = icmp eq i32 %t12454, 0 %t12458 = select i1 %t12457, i32 8, i32 %t12456 %t12459 = getelementptr ptr, ptr null, i32 1 %t12460 = ptrtoint ptr %t12459 to i64 %t12461 = zext i32 %t12458 to i64 %t12462 = mul i64 %t12461, %t12460 %t12463 = load ptr, ptr %t12452 %t12464 = call ptr @realloc(ptr %t12463, i64 %t12462) store ptr %t12464, ptr %t12452 store i32 %t12458, ptr %t12451 br label %put2512 put2512: %t12465 = load ptr, ptr %t12452 %t12466 = getelementptr inbounds ptr, ptr %t12465, i32 %t12453 store ptr @.str7824, ptr %t12466 %t12467 = add i32 %t12453, 1 store i32 %t12467, ptr %t12450 br label %ifend2508 ifend2508: br label %ifend2424 ifend2424: %t12468 = load ptr, ptr %t0 %t12469 = call i32 @lp_str_eq(ptr %t12468, ptr @.str7825) %t12470 = icmp ne i32 %t12469, 0 br i1 %t12470, label %then2513, label %ifend2515 then2513: %t12471 = load ptr, ptr %t1 %t12472 = call i32 @lp_str_eq(ptr %t12471, ptr @.str7826) %t12473 = icmp ne i32 %t12472, 0 br i1 %t12473, label %then2516, label %ifend2518 then2516: store ptr @.str7827, ptr %t380 br label %ifend2518 ifend2518: %t12474 = load ptr, ptr %t1 %t12475 = call i32 @lp_str_eq(ptr %t12474, ptr @.str7828) %t12476 = icmp ne i32 %t12475, 0 br i1 %t12476, label %then2519, label %ifend2521 then2519: store ptr @.str7829, ptr %t380 %t12477 = load ptr, ptr %t387 %t12478 = getelementptr inbounds %LSlice, ptr %t12477, i32 0, i32 1 %t12479 = getelementptr inbounds %LSlice, ptr %t12477, i32 0, i32 2 %t12480 = getelementptr inbounds %LSlice, ptr %t12477, i32 0, i32 0 %t12481 = load i32, ptr %t12478 %t12482 = load i32, ptr %t12479 %t12483 = icmp sge i32 %t12481, %t12482 br i1 %t12483, label %grow2522, label %put2523 grow2522: %t12484 = mul i32 %t12482, 2 %t12485 = icmp eq i32 %t12482, 0 %t12486 = select i1 %t12485, i32 8, i32 %t12484 %t12487 = getelementptr ptr, ptr null, i32 1 %t12488 = ptrtoint ptr %t12487 to i64 %t12489 = zext i32 %t12486 to i64 %t12490 = mul i64 %t12489, %t12488 %t12491 = load ptr, ptr %t12480 %t12492 = call ptr @realloc(ptr %t12491, i64 %t12490) store ptr %t12492, ptr %t12480 store i32 %t12486, ptr %t12479 br label %put2523 put2523: %t12493 = load ptr, ptr %t12480 %t12494 = getelementptr inbounds ptr, ptr %t12493, i32 %t12481 store ptr @.str7830, ptr %t12494 %t12495 = add i32 %t12481, 1 store i32 %t12495, ptr %t12478 br label %ifend2521 ifend2521: %t12496 = load ptr, ptr %t1 %t12497 = call i32 @lp_str_eq(ptr %t12496, ptr @.str7831) %t12498 = icmp ne i32 %t12497, 0 br i1 %t12498, label %then2524, label %ifend2526 then2524: store ptr @.str7832, ptr %t380 %t12499 = load ptr, ptr %t387 %t12500 = getelementptr inbounds %LSlice, ptr %t12499, i32 0, i32 1 %t12501 = getelementptr inbounds %LSlice, ptr %t12499, i32 0, i32 2 %t12502 = getelementptr inbounds %LSlice, ptr %t12499, i32 0, i32 0 %t12503 = load i32, ptr %t12500 %t12504 = load i32, ptr %t12501 %t12505 = icmp sge i32 %t12503, %t12504 br i1 %t12505, label %grow2527, label %put2528 grow2527: %t12506 = mul i32 %t12504, 2 %t12507 = icmp eq i32 %t12504, 0 %t12508 = select i1 %t12507, i32 8, i32 %t12506 %t12509 = getelementptr ptr, ptr null, i32 1 %t12510 = ptrtoint ptr %t12509 to i64 %t12511 = zext i32 %t12508 to i64 %t12512 = mul i64 %t12511, %t12510 %t12513 = load ptr, ptr %t12502 %t12514 = call ptr @realloc(ptr %t12513, i64 %t12512) store ptr %t12514, ptr %t12502 store i32 %t12508, ptr %t12501 br label %put2528 put2528: %t12515 = load ptr, ptr %t12502 %t12516 = getelementptr inbounds ptr, ptr %t12515, i32 %t12503 store ptr @.str7833, ptr %t12516 %t12517 = add i32 %t12503, 1 store i32 %t12517, ptr %t12500 br label %ifend2526 ifend2526: %t12518 = load ptr, ptr %t1 %t12519 = call i32 @lp_str_eq(ptr %t12518, ptr @.str7834) %t12520 = icmp ne i32 %t12519, 0 br i1 %t12520, label %then2529, label %ifend2531 then2529: store ptr @.str7835, ptr %t380 %t12521 = load ptr, ptr %t387 %t12522 = getelementptr inbounds %LSlice, ptr %t12521, i32 0, i32 1 %t12523 = getelementptr inbounds %LSlice, ptr %t12521, i32 0, i32 2 %t12524 = getelementptr inbounds %LSlice, ptr %t12521, i32 0, i32 0 %t12525 = load i32, ptr %t12522 %t12526 = load i32, ptr %t12523 %t12527 = icmp sge i32 %t12525, %t12526 br i1 %t12527, label %grow2532, label %put2533 grow2532: %t12528 = mul i32 %t12526, 2 %t12529 = icmp eq i32 %t12526, 0 %t12530 = select i1 %t12529, i32 8, i32 %t12528 %t12531 = getelementptr ptr, ptr null, i32 1 %t12532 = ptrtoint ptr %t12531 to i64 %t12533 = zext i32 %t12530 to i64 %t12534 = mul i64 %t12533, %t12532 %t12535 = load ptr, ptr %t12524 %t12536 = call ptr @realloc(ptr %t12535, i64 %t12534) store ptr %t12536, ptr %t12524 store i32 %t12530, ptr %t12523 br label %put2533 put2533: %t12537 = load ptr, ptr %t12524 %t12538 = getelementptr inbounds ptr, ptr %t12537, i32 %t12525 store ptr @.str7836, ptr %t12538 %t12539 = add i32 %t12525, 1 store i32 %t12539, ptr %t12522 br label %ifend2531 ifend2531: %t12540 = load ptr, ptr %t1 %t12541 = call i32 @lp_str_eq(ptr %t12540, ptr @.str7837) %t12542 = icmp ne i32 %t12541, 0 br i1 %t12542, label %then2534, label %ifend2536 then2534: store ptr @.str7838, ptr %t380 %t12543 = load ptr, ptr %t387 %t12544 = getelementptr inbounds %LSlice, ptr %t12543, i32 0, i32 1 %t12545 = getelementptr inbounds %LSlice, ptr %t12543, i32 0, i32 2 %t12546 = getelementptr inbounds %LSlice, ptr %t12543, i32 0, i32 0 %t12547 = load i32, ptr %t12544 %t12548 = load i32, ptr %t12545 %t12549 = icmp sge i32 %t12547, %t12548 br i1 %t12549, label %grow2537, label %put2538 grow2537: %t12550 = mul i32 %t12548, 2 %t12551 = icmp eq i32 %t12548, 0 %t12552 = select i1 %t12551, i32 8, i32 %t12550 %t12553 = getelementptr ptr, ptr null, i32 1 %t12554 = ptrtoint ptr %t12553 to i64 %t12555 = zext i32 %t12552 to i64 %t12556 = mul i64 %t12555, %t12554 %t12557 = load ptr, ptr %t12546 %t12558 = call ptr @realloc(ptr %t12557, i64 %t12556) store ptr %t12558, ptr %t12546 store i32 %t12552, ptr %t12545 br label %put2538 put2538: %t12559 = load ptr, ptr %t12546 %t12560 = getelementptr inbounds ptr, ptr %t12559, i32 %t12547 store ptr @.str7839, ptr %t12560 %t12561 = add i32 %t12547, 1 store i32 %t12561, ptr %t12544 br label %ifend2536 ifend2536: %t12562 = load ptr, ptr %t1 %t12563 = call i32 @lp_str_eq(ptr %t12562, ptr @.str7840) %t12564 = icmp ne i32 %t12563, 0 br i1 %t12564, label %then2539, label %ifend2541 then2539: store ptr @.str7841, ptr %t380 br label %ifend2541 ifend2541: %t12565 = load ptr, ptr %t1 %t12566 = call i32 @lp_str_eq(ptr %t12565, ptr @.str7842) %t12567 = icmp ne i32 %t12566, 0 br i1 %t12567, label %then2542, label %ifend2544 then2542: store ptr @.str7843, ptr %t380 br label %ifend2544 ifend2544: %t12568 = load ptr, ptr %t1 %t12569 = call i32 @lp_str_eq(ptr %t12568, ptr @.str7844) %t12570 = icmp ne i32 %t12569, 0 br i1 %t12570, label %then2545, label %ifend2547 then2545: store ptr @.str7845, ptr %t380 %t12571 = load ptr, ptr %t387 %t12572 = getelementptr inbounds %LSlice, ptr %t12571, i32 0, i32 1 %t12573 = getelementptr inbounds %LSlice, ptr %t12571, i32 0, i32 2 %t12574 = getelementptr inbounds %LSlice, ptr %t12571, i32 0, i32 0 %t12575 = load i32, ptr %t12572 %t12576 = load i32, ptr %t12573 %t12577 = icmp sge i32 %t12575, %t12576 br i1 %t12577, label %grow2548, label %put2549 grow2548: %t12578 = mul i32 %t12576, 2 %t12579 = icmp eq i32 %t12576, 0 %t12580 = select i1 %t12579, i32 8, i32 %t12578 %t12581 = getelementptr ptr, ptr null, i32 1 %t12582 = ptrtoint ptr %t12581 to i64 %t12583 = zext i32 %t12580 to i64 %t12584 = mul i64 %t12583, %t12582 %t12585 = load ptr, ptr %t12574 %t12586 = call ptr @realloc(ptr %t12585, i64 %t12584) store ptr %t12586, ptr %t12574 store i32 %t12580, ptr %t12573 br label %put2549 put2549: %t12587 = load ptr, ptr %t12574 %t12588 = getelementptr inbounds ptr, ptr %t12587, i32 %t12575 store ptr @.str7846, ptr %t12588 %t12589 = add i32 %t12575, 1 store i32 %t12589, ptr %t12572 %t12590 = load ptr, ptr %t387 %t12591 = getelementptr inbounds %LSlice, ptr %t12590, i32 0, i32 1 %t12592 = getelementptr inbounds %LSlice, ptr %t12590, i32 0, i32 2 %t12593 = getelementptr inbounds %LSlice, ptr %t12590, i32 0, i32 0 %t12594 = load i32, ptr %t12591 %t12595 = load i32, ptr %t12592 %t12596 = icmp sge i32 %t12594, %t12595 br i1 %t12596, label %grow2550, label %put2551 grow2550: %t12597 = mul i32 %t12595, 2 %t12598 = icmp eq i32 %t12595, 0 %t12599 = select i1 %t12598, i32 8, i32 %t12597 %t12600 = getelementptr ptr, ptr null, i32 1 %t12601 = ptrtoint ptr %t12600 to i64 %t12602 = zext i32 %t12599 to i64 %t12603 = mul i64 %t12602, %t12601 %t12604 = load ptr, ptr %t12593 %t12605 = call ptr @realloc(ptr %t12604, i64 %t12603) store ptr %t12605, ptr %t12593 store i32 %t12599, ptr %t12592 br label %put2551 put2551: %t12606 = load ptr, ptr %t12593 %t12607 = getelementptr inbounds ptr, ptr %t12606, i32 %t12594 store ptr @.str7847, ptr %t12607 %t12608 = add i32 %t12594, 1 store i32 %t12608, ptr %t12591 br label %ifend2547 ifend2547: %t12609 = load ptr, ptr %t1 %t12610 = call i32 @lp_str_eq(ptr %t12609, ptr @.str7848) %t12611 = icmp ne i32 %t12610, 0 br i1 %t12611, label %then2552, label %ifend2554 then2552: store ptr @.str7849, ptr %t380 %t12612 = load ptr, ptr %t387 %t12613 = getelementptr inbounds %LSlice, ptr %t12612, i32 0, i32 1 %t12614 = getelementptr inbounds %LSlice, ptr %t12612, i32 0, i32 2 %t12615 = getelementptr inbounds %LSlice, ptr %t12612, i32 0, i32 0 %t12616 = load i32, ptr %t12613 %t12617 = load i32, ptr %t12614 %t12618 = icmp sge i32 %t12616, %t12617 br i1 %t12618, label %grow2555, label %put2556 grow2555: %t12619 = mul i32 %t12617, 2 %t12620 = icmp eq i32 %t12617, 0 %t12621 = select i1 %t12620, i32 8, i32 %t12619 %t12622 = getelementptr ptr, ptr null, i32 1 %t12623 = ptrtoint ptr %t12622 to i64 %t12624 = zext i32 %t12621 to i64 %t12625 = mul i64 %t12624, %t12623 %t12626 = load ptr, ptr %t12615 %t12627 = call ptr @realloc(ptr %t12626, i64 %t12625) store ptr %t12627, ptr %t12615 store i32 %t12621, ptr %t12614 br label %put2556 put2556: %t12628 = load ptr, ptr %t12615 %t12629 = getelementptr inbounds ptr, ptr %t12628, i32 %t12616 store ptr @.str7850, ptr %t12629 %t12630 = add i32 %t12616, 1 store i32 %t12630, ptr %t12613 %t12631 = load ptr, ptr %t387 %t12632 = getelementptr inbounds %LSlice, ptr %t12631, i32 0, i32 1 %t12633 = getelementptr inbounds %LSlice, ptr %t12631, i32 0, i32 2 %t12634 = getelementptr inbounds %LSlice, ptr %t12631, i32 0, i32 0 %t12635 = load i32, ptr %t12632 %t12636 = load i32, ptr %t12633 %t12637 = icmp sge i32 %t12635, %t12636 br i1 %t12637, label %grow2557, label %put2558 grow2557: %t12638 = mul i32 %t12636, 2 %t12639 = icmp eq i32 %t12636, 0 %t12640 = select i1 %t12639, i32 8, i32 %t12638 %t12641 = getelementptr ptr, ptr null, i32 1 %t12642 = ptrtoint ptr %t12641 to i64 %t12643 = zext i32 %t12640 to i64 %t12644 = mul i64 %t12643, %t12642 %t12645 = load ptr, ptr %t12634 %t12646 = call ptr @realloc(ptr %t12645, i64 %t12644) store ptr %t12646, ptr %t12634 store i32 %t12640, ptr %t12633 br label %put2558 put2558: %t12647 = load ptr, ptr %t12634 %t12648 = getelementptr inbounds ptr, ptr %t12647, i32 %t12635 store ptr @.str7851, ptr %t12648 %t12649 = add i32 %t12635, 1 store i32 %t12649, ptr %t12632 %t12650 = load ptr, ptr %t387 %t12651 = getelementptr inbounds %LSlice, ptr %t12650, i32 0, i32 1 %t12652 = getelementptr inbounds %LSlice, ptr %t12650, i32 0, i32 2 %t12653 = getelementptr inbounds %LSlice, ptr %t12650, i32 0, i32 0 %t12654 = load i32, ptr %t12651 %t12655 = load i32, ptr %t12652 %t12656 = icmp sge i32 %t12654, %t12655 br i1 %t12656, label %grow2559, label %put2560 grow2559: %t12657 = mul i32 %t12655, 2 %t12658 = icmp eq i32 %t12655, 0 %t12659 = select i1 %t12658, i32 8, i32 %t12657 %t12660 = getelementptr ptr, ptr null, i32 1 %t12661 = ptrtoint ptr %t12660 to i64 %t12662 = zext i32 %t12659 to i64 %t12663 = mul i64 %t12662, %t12661 %t12664 = load ptr, ptr %t12653 %t12665 = call ptr @realloc(ptr %t12664, i64 %t12663) store ptr %t12665, ptr %t12653 store i32 %t12659, ptr %t12652 br label %put2560 put2560: %t12666 = load ptr, ptr %t12653 %t12667 = getelementptr inbounds ptr, ptr %t12666, i32 %t12654 store ptr @.str7852, ptr %t12667 %t12668 = add i32 %t12654, 1 store i32 %t12668, ptr %t12651 br label %ifend2554 ifend2554: %t12669 = load ptr, ptr %t1 %t12670 = call i32 @lp_str_eq(ptr %t12669, ptr @.str7853) %t12671 = icmp ne i32 %t12670, 0 br i1 %t12671, label %then2561, label %ifend2563 then2561: store ptr @.str7854, ptr %t380 %t12672 = load ptr, ptr %t387 %t12673 = getelementptr inbounds %LSlice, ptr %t12672, i32 0, i32 1 %t12674 = getelementptr inbounds %LSlice, ptr %t12672, i32 0, i32 2 %t12675 = getelementptr inbounds %LSlice, ptr %t12672, i32 0, i32 0 %t12676 = load i32, ptr %t12673 %t12677 = load i32, ptr %t12674 %t12678 = icmp sge i32 %t12676, %t12677 br i1 %t12678, label %grow2564, label %put2565 grow2564: %t12679 = mul i32 %t12677, 2 %t12680 = icmp eq i32 %t12677, 0 %t12681 = select i1 %t12680, i32 8, i32 %t12679 %t12682 = getelementptr ptr, ptr null, i32 1 %t12683 = ptrtoint ptr %t12682 to i64 %t12684 = zext i32 %t12681 to i64 %t12685 = mul i64 %t12684, %t12683 %t12686 = load ptr, ptr %t12675 %t12687 = call ptr @realloc(ptr %t12686, i64 %t12685) store ptr %t12687, ptr %t12675 store i32 %t12681, ptr %t12674 br label %put2565 put2565: %t12688 = load ptr, ptr %t12675 %t12689 = getelementptr inbounds ptr, ptr %t12688, i32 %t12676 store ptr @.str7855, ptr %t12689 %t12690 = add i32 %t12676, 1 store i32 %t12690, ptr %t12673 %t12691 = load ptr, ptr %t387 %t12692 = getelementptr inbounds %LSlice, ptr %t12691, i32 0, i32 1 %t12693 = getelementptr inbounds %LSlice, ptr %t12691, i32 0, i32 2 %t12694 = getelementptr inbounds %LSlice, ptr %t12691, i32 0, i32 0 %t12695 = load i32, ptr %t12692 %t12696 = load i32, ptr %t12693 %t12697 = icmp sge i32 %t12695, %t12696 br i1 %t12697, label %grow2566, label %put2567 grow2566: %t12698 = mul i32 %t12696, 2 %t12699 = icmp eq i32 %t12696, 0 %t12700 = select i1 %t12699, i32 8, i32 %t12698 %t12701 = getelementptr ptr, ptr null, i32 1 %t12702 = ptrtoint ptr %t12701 to i64 %t12703 = zext i32 %t12700 to i64 %t12704 = mul i64 %t12703, %t12702 %t12705 = load ptr, ptr %t12694 %t12706 = call ptr @realloc(ptr %t12705, i64 %t12704) store ptr %t12706, ptr %t12694 store i32 %t12700, ptr %t12693 br label %put2567 put2567: %t12707 = load ptr, ptr %t12694 %t12708 = getelementptr inbounds ptr, ptr %t12707, i32 %t12695 store ptr @.str7856, ptr %t12708 %t12709 = add i32 %t12695, 1 store i32 %t12709, ptr %t12692 br label %ifend2563 ifend2563: %t12710 = load ptr, ptr %t1 %t12711 = call i32 @lp_str_eq(ptr %t12710, ptr @.str7857) %t12712 = icmp ne i32 %t12711, 0 br i1 %t12712, label %then2568, label %ifend2570 then2568: store ptr @.str7858, ptr %t380 %t12713 = load ptr, ptr %t387 %t12714 = getelementptr inbounds %LSlice, ptr %t12713, i32 0, i32 1 %t12715 = getelementptr inbounds %LSlice, ptr %t12713, i32 0, i32 2 %t12716 = getelementptr inbounds %LSlice, ptr %t12713, i32 0, i32 0 %t12717 = load i32, ptr %t12714 %t12718 = load i32, ptr %t12715 %t12719 = icmp sge i32 %t12717, %t12718 br i1 %t12719, label %grow2571, label %put2572 grow2571: %t12720 = mul i32 %t12718, 2 %t12721 = icmp eq i32 %t12718, 0 %t12722 = select i1 %t12721, i32 8, i32 %t12720 %t12723 = getelementptr ptr, ptr null, i32 1 %t12724 = ptrtoint ptr %t12723 to i64 %t12725 = zext i32 %t12722 to i64 %t12726 = mul i64 %t12725, %t12724 %t12727 = load ptr, ptr %t12716 %t12728 = call ptr @realloc(ptr %t12727, i64 %t12726) store ptr %t12728, ptr %t12716 store i32 %t12722, ptr %t12715 br label %put2572 put2572: %t12729 = load ptr, ptr %t12716 %t12730 = getelementptr inbounds ptr, ptr %t12729, i32 %t12717 store ptr @.str7859, ptr %t12730 %t12731 = add i32 %t12717, 1 store i32 %t12731, ptr %t12714 %t12732 = load ptr, ptr %t387 %t12733 = getelementptr inbounds %LSlice, ptr %t12732, i32 0, i32 1 %t12734 = getelementptr inbounds %LSlice, ptr %t12732, i32 0, i32 2 %t12735 = getelementptr inbounds %LSlice, ptr %t12732, i32 0, i32 0 %t12736 = load i32, ptr %t12733 %t12737 = load i32, ptr %t12734 %t12738 = icmp sge i32 %t12736, %t12737 br i1 %t12738, label %grow2573, label %put2574 grow2573: %t12739 = mul i32 %t12737, 2 %t12740 = icmp eq i32 %t12737, 0 %t12741 = select i1 %t12740, i32 8, i32 %t12739 %t12742 = getelementptr ptr, ptr null, i32 1 %t12743 = ptrtoint ptr %t12742 to i64 %t12744 = zext i32 %t12741 to i64 %t12745 = mul i64 %t12744, %t12743 %t12746 = load ptr, ptr %t12735 %t12747 = call ptr @realloc(ptr %t12746, i64 %t12745) store ptr %t12747, ptr %t12735 store i32 %t12741, ptr %t12734 br label %put2574 put2574: %t12748 = load ptr, ptr %t12735 %t12749 = getelementptr inbounds ptr, ptr %t12748, i32 %t12736 store ptr @.str7860, ptr %t12749 %t12750 = add i32 %t12736, 1 store i32 %t12750, ptr %t12733 br label %ifend2570 ifend2570: %t12751 = load ptr, ptr %t1 %t12752 = call i32 @lp_str_eq(ptr %t12751, ptr @.str7861) %t12753 = icmp ne i32 %t12752, 0 br i1 %t12753, label %then2575, label %ifend2577 then2575: store ptr @.str7862, ptr %t380 %t12754 = load ptr, ptr %t387 %t12755 = getelementptr inbounds %LSlice, ptr %t12754, i32 0, i32 1 %t12756 = getelementptr inbounds %LSlice, ptr %t12754, i32 0, i32 2 %t12757 = getelementptr inbounds %LSlice, ptr %t12754, i32 0, i32 0 %t12758 = load i32, ptr %t12755 %t12759 = load i32, ptr %t12756 %t12760 = icmp sge i32 %t12758, %t12759 br i1 %t12760, label %grow2578, label %put2579 grow2578: %t12761 = mul i32 %t12759, 2 %t12762 = icmp eq i32 %t12759, 0 %t12763 = select i1 %t12762, i32 8, i32 %t12761 %t12764 = getelementptr ptr, ptr null, i32 1 %t12765 = ptrtoint ptr %t12764 to i64 %t12766 = zext i32 %t12763 to i64 %t12767 = mul i64 %t12766, %t12765 %t12768 = load ptr, ptr %t12757 %t12769 = call ptr @realloc(ptr %t12768, i64 %t12767) store ptr %t12769, ptr %t12757 store i32 %t12763, ptr %t12756 br label %put2579 put2579: %t12770 = load ptr, ptr %t12757 %t12771 = getelementptr inbounds ptr, ptr %t12770, i32 %t12758 store ptr @.str7863, ptr %t12771 %t12772 = add i32 %t12758, 1 store i32 %t12772, ptr %t12755 %t12773 = load ptr, ptr %t387 %t12774 = getelementptr inbounds %LSlice, ptr %t12773, i32 0, i32 1 %t12775 = getelementptr inbounds %LSlice, ptr %t12773, i32 0, i32 2 %t12776 = getelementptr inbounds %LSlice, ptr %t12773, i32 0, i32 0 %t12777 = load i32, ptr %t12774 %t12778 = load i32, ptr %t12775 %t12779 = icmp sge i32 %t12777, %t12778 br i1 %t12779, label %grow2580, label %put2581 grow2580: %t12780 = mul i32 %t12778, 2 %t12781 = icmp eq i32 %t12778, 0 %t12782 = select i1 %t12781, i32 8, i32 %t12780 %t12783 = getelementptr ptr, ptr null, i32 1 %t12784 = ptrtoint ptr %t12783 to i64 %t12785 = zext i32 %t12782 to i64 %t12786 = mul i64 %t12785, %t12784 %t12787 = load ptr, ptr %t12776 %t12788 = call ptr @realloc(ptr %t12787, i64 %t12786) store ptr %t12788, ptr %t12776 store i32 %t12782, ptr %t12775 br label %put2581 put2581: %t12789 = load ptr, ptr %t12776 %t12790 = getelementptr inbounds ptr, ptr %t12789, i32 %t12777 store ptr @.str7864, ptr %t12790 %t12791 = add i32 %t12777, 1 store i32 %t12791, ptr %t12774 br label %ifend2577 ifend2577: %t12792 = load ptr, ptr %t1 %t12793 = call i32 @lp_str_eq(ptr %t12792, ptr @.str7865) %t12794 = icmp ne i32 %t12793, 0 br i1 %t12794, label %then2582, label %ifend2584 then2582: store ptr @.str7866, ptr %t380 %t12795 = load ptr, ptr %t387 %t12796 = getelementptr inbounds %LSlice, ptr %t12795, i32 0, i32 1 %t12797 = getelementptr inbounds %LSlice, ptr %t12795, i32 0, i32 2 %t12798 = getelementptr inbounds %LSlice, ptr %t12795, i32 0, i32 0 %t12799 = load i32, ptr %t12796 %t12800 = load i32, ptr %t12797 %t12801 = icmp sge i32 %t12799, %t12800 br i1 %t12801, label %grow2585, label %put2586 grow2585: %t12802 = mul i32 %t12800, 2 %t12803 = icmp eq i32 %t12800, 0 %t12804 = select i1 %t12803, i32 8, i32 %t12802 %t12805 = getelementptr ptr, ptr null, i32 1 %t12806 = ptrtoint ptr %t12805 to i64 %t12807 = zext i32 %t12804 to i64 %t12808 = mul i64 %t12807, %t12806 %t12809 = load ptr, ptr %t12798 %t12810 = call ptr @realloc(ptr %t12809, i64 %t12808) store ptr %t12810, ptr %t12798 store i32 %t12804, ptr %t12797 br label %put2586 put2586: %t12811 = load ptr, ptr %t12798 %t12812 = getelementptr inbounds ptr, ptr %t12811, i32 %t12799 store ptr @.str7867, ptr %t12812 %t12813 = add i32 %t12799, 1 store i32 %t12813, ptr %t12796 %t12814 = load ptr, ptr %t387 %t12815 = getelementptr inbounds %LSlice, ptr %t12814, i32 0, i32 1 %t12816 = getelementptr inbounds %LSlice, ptr %t12814, i32 0, i32 2 %t12817 = getelementptr inbounds %LSlice, ptr %t12814, i32 0, i32 0 %t12818 = load i32, ptr %t12815 %t12819 = load i32, ptr %t12816 %t12820 = icmp sge i32 %t12818, %t12819 br i1 %t12820, label %grow2587, label %put2588 grow2587: %t12821 = mul i32 %t12819, 2 %t12822 = icmp eq i32 %t12819, 0 %t12823 = select i1 %t12822, i32 8, i32 %t12821 %t12824 = getelementptr ptr, ptr null, i32 1 %t12825 = ptrtoint ptr %t12824 to i64 %t12826 = zext i32 %t12823 to i64 %t12827 = mul i64 %t12826, %t12825 %t12828 = load ptr, ptr %t12817 %t12829 = call ptr @realloc(ptr %t12828, i64 %t12827) store ptr %t12829, ptr %t12817 store i32 %t12823, ptr %t12816 br label %put2588 put2588: %t12830 = load ptr, ptr %t12817 %t12831 = getelementptr inbounds ptr, ptr %t12830, i32 %t12818 store ptr @.str7868, ptr %t12831 %t12832 = add i32 %t12818, 1 store i32 %t12832, ptr %t12815 br label %ifend2584 ifend2584: %t12833 = load ptr, ptr %t1 %t12834 = call i32 @lp_str_eq(ptr %t12833, ptr @.str7869) %t12835 = icmp ne i32 %t12834, 0 br i1 %t12835, label %then2589, label %ifend2591 then2589: store ptr @.str7870, ptr %t380 %t12836 = load ptr, ptr %t387 %t12837 = getelementptr inbounds %LSlice, ptr %t12836, i32 0, i32 1 %t12838 = getelementptr inbounds %LSlice, ptr %t12836, i32 0, i32 2 %t12839 = getelementptr inbounds %LSlice, ptr %t12836, i32 0, i32 0 %t12840 = load i32, ptr %t12837 %t12841 = load i32, ptr %t12838 %t12842 = icmp sge i32 %t12840, %t12841 br i1 %t12842, label %grow2592, label %put2593 grow2592: %t12843 = mul i32 %t12841, 2 %t12844 = icmp eq i32 %t12841, 0 %t12845 = select i1 %t12844, i32 8, i32 %t12843 %t12846 = getelementptr ptr, ptr null, i32 1 %t12847 = ptrtoint ptr %t12846 to i64 %t12848 = zext i32 %t12845 to i64 %t12849 = mul i64 %t12848, %t12847 %t12850 = load ptr, ptr %t12839 %t12851 = call ptr @realloc(ptr %t12850, i64 %t12849) store ptr %t12851, ptr %t12839 store i32 %t12845, ptr %t12838 br label %put2593 put2593: %t12852 = load ptr, ptr %t12839 %t12853 = getelementptr inbounds ptr, ptr %t12852, i32 %t12840 store ptr @.str7871, ptr %t12853 %t12854 = add i32 %t12840, 1 store i32 %t12854, ptr %t12837 br label %ifend2591 ifend2591: %t12855 = load ptr, ptr %t1 %t12856 = call i32 @lp_str_eq(ptr %t12855, ptr @.str7872) %t12857 = icmp ne i32 %t12856, 0 br i1 %t12857, label %then2594, label %ifend2596 then2594: store ptr @.str7873, ptr %t380 %t12858 = load ptr, ptr %t387 %t12859 = getelementptr inbounds %LSlice, ptr %t12858, i32 0, i32 1 %t12860 = getelementptr inbounds %LSlice, ptr %t12858, i32 0, i32 2 %t12861 = getelementptr inbounds %LSlice, ptr %t12858, i32 0, i32 0 %t12862 = load i32, ptr %t12859 %t12863 = load i32, ptr %t12860 %t12864 = icmp sge i32 %t12862, %t12863 br i1 %t12864, label %grow2597, label %put2598 grow2597: %t12865 = mul i32 %t12863, 2 %t12866 = icmp eq i32 %t12863, 0 %t12867 = select i1 %t12866, i32 8, i32 %t12865 %t12868 = getelementptr ptr, ptr null, i32 1 %t12869 = ptrtoint ptr %t12868 to i64 %t12870 = zext i32 %t12867 to i64 %t12871 = mul i64 %t12870, %t12869 %t12872 = load ptr, ptr %t12861 %t12873 = call ptr @realloc(ptr %t12872, i64 %t12871) store ptr %t12873, ptr %t12861 store i32 %t12867, ptr %t12860 br label %put2598 put2598: %t12874 = load ptr, ptr %t12861 %t12875 = getelementptr inbounds ptr, ptr %t12874, i32 %t12862 store ptr @.str7874, ptr %t12875 %t12876 = add i32 %t12862, 1 store i32 %t12876, ptr %t12859 br label %ifend2596 ifend2596: %t12877 = load ptr, ptr %t1 %t12878 = call i32 @lp_str_eq(ptr %t12877, ptr @.str7875) %t12879 = icmp ne i32 %t12878, 0 br i1 %t12879, label %then2599, label %ifend2601 then2599: store ptr @.str7876, ptr %t380 %t12880 = load ptr, ptr %t387 %t12881 = getelementptr inbounds %LSlice, ptr %t12880, i32 0, i32 1 %t12882 = getelementptr inbounds %LSlice, ptr %t12880, i32 0, i32 2 %t12883 = getelementptr inbounds %LSlice, ptr %t12880, i32 0, i32 0 %t12884 = load i32, ptr %t12881 %t12885 = load i32, ptr %t12882 %t12886 = icmp sge i32 %t12884, %t12885 br i1 %t12886, label %grow2602, label %put2603 grow2602: %t12887 = mul i32 %t12885, 2 %t12888 = icmp eq i32 %t12885, 0 %t12889 = select i1 %t12888, i32 8, i32 %t12887 %t12890 = getelementptr ptr, ptr null, i32 1 %t12891 = ptrtoint ptr %t12890 to i64 %t12892 = zext i32 %t12889 to i64 %t12893 = mul i64 %t12892, %t12891 %t12894 = load ptr, ptr %t12883 %t12895 = call ptr @realloc(ptr %t12894, i64 %t12893) store ptr %t12895, ptr %t12883 store i32 %t12889, ptr %t12882 br label %put2603 put2603: %t12896 = load ptr, ptr %t12883 %t12897 = getelementptr inbounds ptr, ptr %t12896, i32 %t12884 store ptr @.str7877, ptr %t12897 %t12898 = add i32 %t12884, 1 store i32 %t12898, ptr %t12881 br label %ifend2601 ifend2601: %t12899 = load ptr, ptr %t1 %t12900 = call i32 @lp_str_eq(ptr %t12899, ptr @.str7878) %t12901 = icmp ne i32 %t12900, 0 br i1 %t12901, label %then2604, label %ifend2606 then2604: store ptr @.str7879, ptr %t380 %t12902 = load ptr, ptr %t387 %t12903 = getelementptr inbounds %LSlice, ptr %t12902, i32 0, i32 1 %t12904 = getelementptr inbounds %LSlice, ptr %t12902, i32 0, i32 2 %t12905 = getelementptr inbounds %LSlice, ptr %t12902, i32 0, i32 0 %t12906 = load i32, ptr %t12903 %t12907 = load i32, ptr %t12904 %t12908 = icmp sge i32 %t12906, %t12907 br i1 %t12908, label %grow2607, label %put2608 grow2607: %t12909 = mul i32 %t12907, 2 %t12910 = icmp eq i32 %t12907, 0 %t12911 = select i1 %t12910, i32 8, i32 %t12909 %t12912 = getelementptr ptr, ptr null, i32 1 %t12913 = ptrtoint ptr %t12912 to i64 %t12914 = zext i32 %t12911 to i64 %t12915 = mul i64 %t12914, %t12913 %t12916 = load ptr, ptr %t12905 %t12917 = call ptr @realloc(ptr %t12916, i64 %t12915) store ptr %t12917, ptr %t12905 store i32 %t12911, ptr %t12904 br label %put2608 put2608: %t12918 = load ptr, ptr %t12905 %t12919 = getelementptr inbounds ptr, ptr %t12918, i32 %t12906 store ptr @.str7880, ptr %t12919 %t12920 = add i32 %t12906, 1 store i32 %t12920, ptr %t12903 br label %ifend2606 ifend2606: br label %ifend2515 ifend2515: %t12921 = load ptr, ptr %t0 %t12922 = call i32 @lp_str_eq(ptr %t12921, ptr @.str7881) %t12923 = icmp ne i32 %t12922, 0 br i1 %t12923, label %then2609, label %ifend2611 then2609: %t12924 = load ptr, ptr %t1 %t12925 = call i32 @lp_str_eq(ptr %t12924, ptr @.str7882) %t12926 = icmp ne i32 %t12925, 0 br i1 %t12926, label %then2612, label %ifend2614 then2612: store ptr @.str7883, ptr %t380 %t12927 = load ptr, ptr %t387 %t12928 = getelementptr inbounds %LSlice, ptr %t12927, i32 0, i32 1 %t12929 = getelementptr inbounds %LSlice, ptr %t12927, i32 0, i32 2 %t12930 = getelementptr inbounds %LSlice, ptr %t12927, i32 0, i32 0 %t12931 = load i32, ptr %t12928 %t12932 = load i32, ptr %t12929 %t12933 = icmp sge i32 %t12931, %t12932 br i1 %t12933, label %grow2615, label %put2616 grow2615: %t12934 = mul i32 %t12932, 2 %t12935 = icmp eq i32 %t12932, 0 %t12936 = select i1 %t12935, i32 8, i32 %t12934 %t12937 = getelementptr ptr, ptr null, i32 1 %t12938 = ptrtoint ptr %t12937 to i64 %t12939 = zext i32 %t12936 to i64 %t12940 = mul i64 %t12939, %t12938 %t12941 = load ptr, ptr %t12930 %t12942 = call ptr @realloc(ptr %t12941, i64 %t12940) store ptr %t12942, ptr %t12930 store i32 %t12936, ptr %t12929 br label %put2616 put2616: %t12943 = load ptr, ptr %t12930 %t12944 = getelementptr inbounds ptr, ptr %t12943, i32 %t12931 store ptr @.str7884, ptr %t12944 %t12945 = add i32 %t12931, 1 store i32 %t12945, ptr %t12928 br label %ifend2614 ifend2614: %t12946 = load ptr, ptr %t1 %t12947 = call i32 @lp_str_eq(ptr %t12946, ptr @.str7885) %t12948 = icmp ne i32 %t12947, 0 br i1 %t12948, label %then2617, label %ifend2619 then2617: store ptr @.str7886, ptr %t380 %t12949 = load ptr, ptr %t387 %t12950 = getelementptr inbounds %LSlice, ptr %t12949, i32 0, i32 1 %t12951 = getelementptr inbounds %LSlice, ptr %t12949, i32 0, i32 2 %t12952 = getelementptr inbounds %LSlice, ptr %t12949, i32 0, i32 0 %t12953 = load i32, ptr %t12950 %t12954 = load i32, ptr %t12951 %t12955 = icmp sge i32 %t12953, %t12954 br i1 %t12955, label %grow2620, label %put2621 grow2620: %t12956 = mul i32 %t12954, 2 %t12957 = icmp eq i32 %t12954, 0 %t12958 = select i1 %t12957, i32 8, i32 %t12956 %t12959 = getelementptr ptr, ptr null, i32 1 %t12960 = ptrtoint ptr %t12959 to i64 %t12961 = zext i32 %t12958 to i64 %t12962 = mul i64 %t12961, %t12960 %t12963 = load ptr, ptr %t12952 %t12964 = call ptr @realloc(ptr %t12963, i64 %t12962) store ptr %t12964, ptr %t12952 store i32 %t12958, ptr %t12951 br label %put2621 put2621: %t12965 = load ptr, ptr %t12952 %t12966 = getelementptr inbounds ptr, ptr %t12965, i32 %t12953 store ptr @.str7887, ptr %t12966 %t12967 = add i32 %t12953, 1 store i32 %t12967, ptr %t12950 br label %ifend2619 ifend2619: br label %ifend2611 ifend2611: %t12968 = load ptr, ptr %t0 %t12969 = call i32 @lp_str_eq(ptr %t12968, ptr @.str7888) %t12970 = icmp ne i32 %t12969, 0 br i1 %t12970, label %then2622, label %ifend2624 then2622: %t12971 = load ptr, ptr %t1 %t12972 = call i32 @lp_str_eq(ptr %t12971, ptr @.str7889) %t12973 = icmp ne i32 %t12972, 0 br i1 %t12973, label %then2625, label %ifend2627 then2625: store ptr @.str7890, ptr %t380 %t12974 = load ptr, ptr %t387 %t12975 = getelementptr inbounds %LSlice, ptr %t12974, i32 0, i32 1 %t12976 = getelementptr inbounds %LSlice, ptr %t12974, i32 0, i32 2 %t12977 = getelementptr inbounds %LSlice, ptr %t12974, i32 0, i32 0 %t12978 = load i32, ptr %t12975 %t12979 = load i32, ptr %t12976 %t12980 = icmp sge i32 %t12978, %t12979 br i1 %t12980, label %grow2628, label %put2629 grow2628: %t12981 = mul i32 %t12979, 2 %t12982 = icmp eq i32 %t12979, 0 %t12983 = select i1 %t12982, i32 8, i32 %t12981 %t12984 = getelementptr ptr, ptr null, i32 1 %t12985 = ptrtoint ptr %t12984 to i64 %t12986 = zext i32 %t12983 to i64 %t12987 = mul i64 %t12986, %t12985 %t12988 = load ptr, ptr %t12977 %t12989 = call ptr @realloc(ptr %t12988, i64 %t12987) store ptr %t12989, ptr %t12977 store i32 %t12983, ptr %t12976 br label %put2629 put2629: %t12990 = load ptr, ptr %t12977 %t12991 = getelementptr inbounds ptr, ptr %t12990, i32 %t12978 store ptr @.str7891, ptr %t12991 %t12992 = add i32 %t12978, 1 store i32 %t12992, ptr %t12975 br label %ifend2627 ifend2627: %t12993 = load ptr, ptr %t1 %t12994 = call i32 @lp_str_eq(ptr %t12993, ptr @.str7892) %t12995 = icmp ne i32 %t12994, 0 br i1 %t12995, label %then2630, label %ifend2632 then2630: store ptr @.str7893, ptr %t380 %t12996 = load ptr, ptr %t387 %t12997 = getelementptr inbounds %LSlice, ptr %t12996, i32 0, i32 1 %t12998 = getelementptr inbounds %LSlice, ptr %t12996, i32 0, i32 2 %t12999 = getelementptr inbounds %LSlice, ptr %t12996, i32 0, i32 0 %t13000 = load i32, ptr %t12997 %t13001 = load i32, ptr %t12998 %t13002 = icmp sge i32 %t13000, %t13001 br i1 %t13002, label %grow2633, label %put2634 grow2633: %t13003 = mul i32 %t13001, 2 %t13004 = icmp eq i32 %t13001, 0 %t13005 = select i1 %t13004, i32 8, i32 %t13003 %t13006 = getelementptr ptr, ptr null, i32 1 %t13007 = ptrtoint ptr %t13006 to i64 %t13008 = zext i32 %t13005 to i64 %t13009 = mul i64 %t13008, %t13007 %t13010 = load ptr, ptr %t12999 %t13011 = call ptr @realloc(ptr %t13010, i64 %t13009) store ptr %t13011, ptr %t12999 store i32 %t13005, ptr %t12998 br label %put2634 put2634: %t13012 = load ptr, ptr %t12999 %t13013 = getelementptr inbounds ptr, ptr %t13012, i32 %t13000 store ptr @.str7894, ptr %t13013 %t13014 = add i32 %t13000, 1 store i32 %t13014, ptr %t12997 br label %ifend2632 ifend2632: %t13015 = load ptr, ptr %t1 %t13016 = call i32 @lp_str_eq(ptr %t13015, ptr @.str7895) %t13017 = icmp ne i32 %t13016, 0 br i1 %t13017, label %then2635, label %ifend2637 then2635: store ptr @.str7896, ptr %t380 %t13018 = load ptr, ptr %t387 %t13019 = getelementptr inbounds %LSlice, ptr %t13018, i32 0, i32 1 %t13020 = getelementptr inbounds %LSlice, ptr %t13018, i32 0, i32 2 %t13021 = getelementptr inbounds %LSlice, ptr %t13018, i32 0, i32 0 %t13022 = load i32, ptr %t13019 %t13023 = load i32, ptr %t13020 %t13024 = icmp sge i32 %t13022, %t13023 br i1 %t13024, label %grow2638, label %put2639 grow2638: %t13025 = mul i32 %t13023, 2 %t13026 = icmp eq i32 %t13023, 0 %t13027 = select i1 %t13026, i32 8, i32 %t13025 %t13028 = getelementptr ptr, ptr null, i32 1 %t13029 = ptrtoint ptr %t13028 to i64 %t13030 = zext i32 %t13027 to i64 %t13031 = mul i64 %t13030, %t13029 %t13032 = load ptr, ptr %t13021 %t13033 = call ptr @realloc(ptr %t13032, i64 %t13031) store ptr %t13033, ptr %t13021 store i32 %t13027, ptr %t13020 br label %put2639 put2639: %t13034 = load ptr, ptr %t13021 %t13035 = getelementptr inbounds ptr, ptr %t13034, i32 %t13022 store ptr @.str7897, ptr %t13035 %t13036 = add i32 %t13022, 1 store i32 %t13036, ptr %t13019 br label %ifend2637 ifend2637: %t13037 = load ptr, ptr %t1 %t13038 = call i32 @lp_str_eq(ptr %t13037, ptr @.str7898) %t13039 = icmp ne i32 %t13038, 0 br i1 %t13039, label %then2640, label %ifend2642 then2640: store ptr @.str7899, ptr %t380 %t13040 = load ptr, ptr %t387 %t13041 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 1 %t13042 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 2 %t13043 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 0 %t13044 = load i32, ptr %t13041 %t13045 = load i32, ptr %t13042 %t13046 = icmp sge i32 %t13044, %t13045 br i1 %t13046, label %grow2643, label %put2644 grow2643: %t13047 = mul i32 %t13045, 2 %t13048 = icmp eq i32 %t13045, 0 %t13049 = select i1 %t13048, i32 8, i32 %t13047 %t13050 = getelementptr ptr, ptr null, i32 1 %t13051 = ptrtoint ptr %t13050 to i64 %t13052 = zext i32 %t13049 to i64 %t13053 = mul i64 %t13052, %t13051 %t13054 = load ptr, ptr %t13043 %t13055 = call ptr @realloc(ptr %t13054, i64 %t13053) store ptr %t13055, ptr %t13043 store i32 %t13049, ptr %t13042 br label %put2644 put2644: %t13056 = load ptr, ptr %t13043 %t13057 = getelementptr inbounds ptr, ptr %t13056, i32 %t13044 store ptr @.str7900, ptr %t13057 %t13058 = add i32 %t13044, 1 store i32 %t13058, ptr %t13041 %t13059 = load ptr, ptr %t387 %t13060 = getelementptr inbounds %LSlice, ptr %t13059, i32 0, i32 1 %t13061 = getelementptr inbounds %LSlice, ptr %t13059, i32 0, i32 2 %t13062 = getelementptr inbounds %LSlice, ptr %t13059, i32 0, i32 0 %t13063 = load i32, ptr %t13060 %t13064 = load i32, ptr %t13061 %t13065 = icmp sge i32 %t13063, %t13064 br i1 %t13065, label %grow2645, label %put2646 grow2645: %t13066 = mul i32 %t13064, 2 %t13067 = icmp eq i32 %t13064, 0 %t13068 = select i1 %t13067, i32 8, i32 %t13066 %t13069 = getelementptr ptr, ptr null, i32 1 %t13070 = ptrtoint ptr %t13069 to i64 %t13071 = zext i32 %t13068 to i64 %t13072 = mul i64 %t13071, %t13070 %t13073 = load ptr, ptr %t13062 %t13074 = call ptr @realloc(ptr %t13073, i64 %t13072) store ptr %t13074, ptr %t13062 store i32 %t13068, ptr %t13061 br label %put2646 put2646: %t13075 = load ptr, ptr %t13062 %t13076 = getelementptr inbounds ptr, ptr %t13075, i32 %t13063 store ptr @.str7901, ptr %t13076 %t13077 = add i32 %t13063, 1 store i32 %t13077, ptr %t13060 br label %ifend2642 ifend2642: %t13078 = load ptr, ptr %t1 %t13079 = call i32 @lp_str_eq(ptr %t13078, ptr @.str7902) %t13080 = icmp ne i32 %t13079, 0 br i1 %t13080, label %then2647, label %ifend2649 then2647: store ptr @.str7903, ptr %t380 %t13081 = load ptr, ptr %t387 %t13082 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 1 %t13083 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 2 %t13084 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 0 %t13085 = load i32, ptr %t13082 %t13086 = load i32, ptr %t13083 %t13087 = icmp sge i32 %t13085, %t13086 br i1 %t13087, label %grow2650, label %put2651 grow2650: %t13088 = mul i32 %t13086, 2 %t13089 = icmp eq i32 %t13086, 0 %t13090 = select i1 %t13089, i32 8, i32 %t13088 %t13091 = getelementptr ptr, ptr null, i32 1 %t13092 = ptrtoint ptr %t13091 to i64 %t13093 = zext i32 %t13090 to i64 %t13094 = mul i64 %t13093, %t13092 %t13095 = load ptr, ptr %t13084 %t13096 = call ptr @realloc(ptr %t13095, i64 %t13094) store ptr %t13096, ptr %t13084 store i32 %t13090, ptr %t13083 br label %put2651 put2651: %t13097 = load ptr, ptr %t13084 %t13098 = getelementptr inbounds ptr, ptr %t13097, i32 %t13085 store ptr @.str7904, ptr %t13098 %t13099 = add i32 %t13085, 1 store i32 %t13099, ptr %t13082 %t13100 = load ptr, ptr %t387 %t13101 = getelementptr inbounds %LSlice, ptr %t13100, i32 0, i32 1 %t13102 = getelementptr inbounds %LSlice, ptr %t13100, i32 0, i32 2 %t13103 = getelementptr inbounds %LSlice, ptr %t13100, i32 0, i32 0 %t13104 = load i32, ptr %t13101 %t13105 = load i32, ptr %t13102 %t13106 = icmp sge i32 %t13104, %t13105 br i1 %t13106, label %grow2652, label %put2653 grow2652: %t13107 = mul i32 %t13105, 2 %t13108 = icmp eq i32 %t13105, 0 %t13109 = select i1 %t13108, i32 8, i32 %t13107 %t13110 = getelementptr ptr, ptr null, i32 1 %t13111 = ptrtoint ptr %t13110 to i64 %t13112 = zext i32 %t13109 to i64 %t13113 = mul i64 %t13112, %t13111 %t13114 = load ptr, ptr %t13103 %t13115 = call ptr @realloc(ptr %t13114, i64 %t13113) store ptr %t13115, ptr %t13103 store i32 %t13109, ptr %t13102 br label %put2653 put2653: %t13116 = load ptr, ptr %t13103 %t13117 = getelementptr inbounds ptr, ptr %t13116, i32 %t13104 store ptr @.str7905, ptr %t13117 %t13118 = add i32 %t13104, 1 store i32 %t13118, ptr %t13101 %t13119 = load ptr, ptr %t387 %t13120 = getelementptr inbounds %LSlice, ptr %t13119, i32 0, i32 1 %t13121 = getelementptr inbounds %LSlice, ptr %t13119, i32 0, i32 2 %t13122 = getelementptr inbounds %LSlice, ptr %t13119, i32 0, i32 0 %t13123 = load i32, ptr %t13120 %t13124 = load i32, ptr %t13121 %t13125 = icmp sge i32 %t13123, %t13124 br i1 %t13125, label %grow2654, label %put2655 grow2654: %t13126 = mul i32 %t13124, 2 %t13127 = icmp eq i32 %t13124, 0 %t13128 = select i1 %t13127, i32 8, i32 %t13126 %t13129 = getelementptr ptr, ptr null, i32 1 %t13130 = ptrtoint ptr %t13129 to i64 %t13131 = zext i32 %t13128 to i64 %t13132 = mul i64 %t13131, %t13130 %t13133 = load ptr, ptr %t13122 %t13134 = call ptr @realloc(ptr %t13133, i64 %t13132) store ptr %t13134, ptr %t13122 store i32 %t13128, ptr %t13121 br label %put2655 put2655: %t13135 = load ptr, ptr %t13122 %t13136 = getelementptr inbounds ptr, ptr %t13135, i32 %t13123 store ptr @.str7906, ptr %t13136 %t13137 = add i32 %t13123, 1 store i32 %t13137, ptr %t13120 br label %ifend2649 ifend2649: %t13138 = load ptr, ptr %t1 %t13139 = call i32 @lp_str_eq(ptr %t13138, ptr @.str7907) %t13140 = icmp ne i32 %t13139, 0 br i1 %t13140, label %then2656, label %ifend2658 then2656: store ptr @.str7908, ptr %t380 %t13141 = load ptr, ptr %t387 %t13142 = getelementptr inbounds %LSlice, ptr %t13141, i32 0, i32 1 %t13143 = getelementptr inbounds %LSlice, ptr %t13141, i32 0, i32 2 %t13144 = getelementptr inbounds %LSlice, ptr %t13141, i32 0, i32 0 %t13145 = load i32, ptr %t13142 %t13146 = load i32, ptr %t13143 %t13147 = icmp sge i32 %t13145, %t13146 br i1 %t13147, label %grow2659, label %put2660 grow2659: %t13148 = mul i32 %t13146, 2 %t13149 = icmp eq i32 %t13146, 0 %t13150 = select i1 %t13149, i32 8, i32 %t13148 %t13151 = getelementptr ptr, ptr null, i32 1 %t13152 = ptrtoint ptr %t13151 to i64 %t13153 = zext i32 %t13150 to i64 %t13154 = mul i64 %t13153, %t13152 %t13155 = load ptr, ptr %t13144 %t13156 = call ptr @realloc(ptr %t13155, i64 %t13154) store ptr %t13156, ptr %t13144 store i32 %t13150, ptr %t13143 br label %put2660 put2660: %t13157 = load ptr, ptr %t13144 %t13158 = getelementptr inbounds ptr, ptr %t13157, i32 %t13145 store ptr @.str7909, ptr %t13158 %t13159 = add i32 %t13145, 1 store i32 %t13159, ptr %t13142 %t13160 = load ptr, ptr %t387 %t13161 = getelementptr inbounds %LSlice, ptr %t13160, i32 0, i32 1 %t13162 = getelementptr inbounds %LSlice, ptr %t13160, i32 0, i32 2 %t13163 = getelementptr inbounds %LSlice, ptr %t13160, i32 0, i32 0 %t13164 = load i32, ptr %t13161 %t13165 = load i32, ptr %t13162 %t13166 = icmp sge i32 %t13164, %t13165 br i1 %t13166, label %grow2661, label %put2662 grow2661: %t13167 = mul i32 %t13165, 2 %t13168 = icmp eq i32 %t13165, 0 %t13169 = select i1 %t13168, i32 8, i32 %t13167 %t13170 = getelementptr ptr, ptr null, i32 1 %t13171 = ptrtoint ptr %t13170 to i64 %t13172 = zext i32 %t13169 to i64 %t13173 = mul i64 %t13172, %t13171 %t13174 = load ptr, ptr %t13163 %t13175 = call ptr @realloc(ptr %t13174, i64 %t13173) store ptr %t13175, ptr %t13163 store i32 %t13169, ptr %t13162 br label %put2662 put2662: %t13176 = load ptr, ptr %t13163 %t13177 = getelementptr inbounds ptr, ptr %t13176, i32 %t13164 store ptr @.str7910, ptr %t13177 %t13178 = add i32 %t13164, 1 store i32 %t13178, ptr %t13161 br label %ifend2658 ifend2658: %t13179 = load ptr, ptr %t1 %t13180 = call i32 @lp_str_eq(ptr %t13179, ptr @.str7911) %t13181 = icmp ne i32 %t13180, 0 br i1 %t13181, label %then2663, label %ifend2665 then2663: store ptr @.str7912, ptr %t380 %t13182 = load ptr, ptr %t387 %t13183 = getelementptr inbounds %LSlice, ptr %t13182, i32 0, i32 1 %t13184 = getelementptr inbounds %LSlice, ptr %t13182, i32 0, i32 2 %t13185 = getelementptr inbounds %LSlice, ptr %t13182, i32 0, i32 0 %t13186 = load i32, ptr %t13183 %t13187 = load i32, ptr %t13184 %t13188 = icmp sge i32 %t13186, %t13187 br i1 %t13188, label %grow2666, label %put2667 grow2666: %t13189 = mul i32 %t13187, 2 %t13190 = icmp eq i32 %t13187, 0 %t13191 = select i1 %t13190, i32 8, i32 %t13189 %t13192 = getelementptr ptr, ptr null, i32 1 %t13193 = ptrtoint ptr %t13192 to i64 %t13194 = zext i32 %t13191 to i64 %t13195 = mul i64 %t13194, %t13193 %t13196 = load ptr, ptr %t13185 %t13197 = call ptr @realloc(ptr %t13196, i64 %t13195) store ptr %t13197, ptr %t13185 store i32 %t13191, ptr %t13184 br label %put2667 put2667: %t13198 = load ptr, ptr %t13185 %t13199 = getelementptr inbounds ptr, ptr %t13198, i32 %t13186 store ptr @.str7913, ptr %t13199 %t13200 = add i32 %t13186, 1 store i32 %t13200, ptr %t13183 br label %ifend2665 ifend2665: %t13201 = load ptr, ptr %t1 %t13202 = call i32 @lp_str_eq(ptr %t13201, ptr @.str7914) %t13203 = icmp ne i32 %t13202, 0 br i1 %t13203, label %then2668, label %ifend2670 then2668: store ptr @.str7915, ptr %t380 %t13204 = load ptr, ptr %t387 %t13205 = getelementptr inbounds %LSlice, ptr %t13204, i32 0, i32 1 %t13206 = getelementptr inbounds %LSlice, ptr %t13204, i32 0, i32 2 %t13207 = getelementptr inbounds %LSlice, ptr %t13204, i32 0, i32 0 %t13208 = load i32, ptr %t13205 %t13209 = load i32, ptr %t13206 %t13210 = icmp sge i32 %t13208, %t13209 br i1 %t13210, label %grow2671, label %put2672 grow2671: %t13211 = mul i32 %t13209, 2 %t13212 = icmp eq i32 %t13209, 0 %t13213 = select i1 %t13212, i32 8, i32 %t13211 %t13214 = getelementptr ptr, ptr null, i32 1 %t13215 = ptrtoint ptr %t13214 to i64 %t13216 = zext i32 %t13213 to i64 %t13217 = mul i64 %t13216, %t13215 %t13218 = load ptr, ptr %t13207 %t13219 = call ptr @realloc(ptr %t13218, i64 %t13217) store ptr %t13219, ptr %t13207 store i32 %t13213, ptr %t13206 br label %put2672 put2672: %t13220 = load ptr, ptr %t13207 %t13221 = getelementptr inbounds ptr, ptr %t13220, i32 %t13208 store ptr @.str7916, ptr %t13221 %t13222 = add i32 %t13208, 1 store i32 %t13222, ptr %t13205 br label %ifend2670 ifend2670: %t13223 = load ptr, ptr %t1 %t13224 = call i32 @lp_str_eq(ptr %t13223, ptr @.str7917) %t13225 = icmp ne i32 %t13224, 0 br i1 %t13225, label %then2673, label %ifend2675 then2673: store ptr @.str7918, ptr %t380 %t13226 = load ptr, ptr %t387 %t13227 = getelementptr inbounds %LSlice, ptr %t13226, i32 0, i32 1 %t13228 = getelementptr inbounds %LSlice, ptr %t13226, i32 0, i32 2 %t13229 = getelementptr inbounds %LSlice, ptr %t13226, i32 0, i32 0 %t13230 = load i32, ptr %t13227 %t13231 = load i32, ptr %t13228 %t13232 = icmp sge i32 %t13230, %t13231 br i1 %t13232, label %grow2676, label %put2677 grow2676: %t13233 = mul i32 %t13231, 2 %t13234 = icmp eq i32 %t13231, 0 %t13235 = select i1 %t13234, i32 8, i32 %t13233 %t13236 = getelementptr ptr, ptr null, i32 1 %t13237 = ptrtoint ptr %t13236 to i64 %t13238 = zext i32 %t13235 to i64 %t13239 = mul i64 %t13238, %t13237 %t13240 = load ptr, ptr %t13229 %t13241 = call ptr @realloc(ptr %t13240, i64 %t13239) store ptr %t13241, ptr %t13229 store i32 %t13235, ptr %t13228 br label %put2677 put2677: %t13242 = load ptr, ptr %t13229 %t13243 = getelementptr inbounds ptr, ptr %t13242, i32 %t13230 store ptr @.str7919, ptr %t13243 %t13244 = add i32 %t13230, 1 store i32 %t13244, ptr %t13227 %t13245 = load ptr, ptr %t387 %t13246 = getelementptr inbounds %LSlice, ptr %t13245, i32 0, i32 1 %t13247 = getelementptr inbounds %LSlice, ptr %t13245, i32 0, i32 2 %t13248 = getelementptr inbounds %LSlice, ptr %t13245, i32 0, i32 0 %t13249 = load i32, ptr %t13246 %t13250 = load i32, ptr %t13247 %t13251 = icmp sge i32 %t13249, %t13250 br i1 %t13251, label %grow2678, label %put2679 grow2678: %t13252 = mul i32 %t13250, 2 %t13253 = icmp eq i32 %t13250, 0 %t13254 = select i1 %t13253, i32 8, i32 %t13252 %t13255 = getelementptr ptr, ptr null, i32 1 %t13256 = ptrtoint ptr %t13255 to i64 %t13257 = zext i32 %t13254 to i64 %t13258 = mul i64 %t13257, %t13256 %t13259 = load ptr, ptr %t13248 %t13260 = call ptr @realloc(ptr %t13259, i64 %t13258) store ptr %t13260, ptr %t13248 store i32 %t13254, ptr %t13247 br label %put2679 put2679: %t13261 = load ptr, ptr %t13248 %t13262 = getelementptr inbounds ptr, ptr %t13261, i32 %t13249 store ptr @.str7920, ptr %t13262 %t13263 = add i32 %t13249, 1 store i32 %t13263, ptr %t13246 br label %ifend2675 ifend2675: %t13264 = load ptr, ptr %t1 %t13265 = call i32 @lp_str_eq(ptr %t13264, ptr @.str7921) %t13266 = icmp ne i32 %t13265, 0 br i1 %t13266, label %then2680, label %ifend2682 then2680: store ptr @.str7922, ptr %t380 %t13267 = load ptr, ptr %t387 %t13268 = getelementptr inbounds %LSlice, ptr %t13267, i32 0, i32 1 %t13269 = getelementptr inbounds %LSlice, ptr %t13267, i32 0, i32 2 %t13270 = getelementptr inbounds %LSlice, ptr %t13267, i32 0, i32 0 %t13271 = load i32, ptr %t13268 %t13272 = load i32, ptr %t13269 %t13273 = icmp sge i32 %t13271, %t13272 br i1 %t13273, label %grow2683, label %put2684 grow2683: %t13274 = mul i32 %t13272, 2 %t13275 = icmp eq i32 %t13272, 0 %t13276 = select i1 %t13275, i32 8, i32 %t13274 %t13277 = getelementptr ptr, ptr null, i32 1 %t13278 = ptrtoint ptr %t13277 to i64 %t13279 = zext i32 %t13276 to i64 %t13280 = mul i64 %t13279, %t13278 %t13281 = load ptr, ptr %t13270 %t13282 = call ptr @realloc(ptr %t13281, i64 %t13280) store ptr %t13282, ptr %t13270 store i32 %t13276, ptr %t13269 br label %put2684 put2684: %t13283 = load ptr, ptr %t13270 %t13284 = getelementptr inbounds ptr, ptr %t13283, i32 %t13271 store ptr @.str7923, ptr %t13284 %t13285 = add i32 %t13271, 1 store i32 %t13285, ptr %t13268 %t13286 = load ptr, ptr %t387 %t13287 = getelementptr inbounds %LSlice, ptr %t13286, i32 0, i32 1 %t13288 = getelementptr inbounds %LSlice, ptr %t13286, i32 0, i32 2 %t13289 = getelementptr inbounds %LSlice, ptr %t13286, i32 0, i32 0 %t13290 = load i32, ptr %t13287 %t13291 = load i32, ptr %t13288 %t13292 = icmp sge i32 %t13290, %t13291 br i1 %t13292, label %grow2685, label %put2686 grow2685: %t13293 = mul i32 %t13291, 2 %t13294 = icmp eq i32 %t13291, 0 %t13295 = select i1 %t13294, i32 8, i32 %t13293 %t13296 = getelementptr ptr, ptr null, i32 1 %t13297 = ptrtoint ptr %t13296 to i64 %t13298 = zext i32 %t13295 to i64 %t13299 = mul i64 %t13298, %t13297 %t13300 = load ptr, ptr %t13289 %t13301 = call ptr @realloc(ptr %t13300, i64 %t13299) store ptr %t13301, ptr %t13289 store i32 %t13295, ptr %t13288 br label %put2686 put2686: %t13302 = load ptr, ptr %t13289 %t13303 = getelementptr inbounds ptr, ptr %t13302, i32 %t13290 store ptr @.str7924, ptr %t13303 %t13304 = add i32 %t13290, 1 store i32 %t13304, ptr %t13287 br label %ifend2682 ifend2682: %t13305 = load ptr, ptr %t1 %t13306 = call i32 @lp_str_eq(ptr %t13305, ptr @.str7925) %t13307 = icmp ne i32 %t13306, 0 br i1 %t13307, label %then2687, label %ifend2689 then2687: store ptr @.str7926, ptr %t380 %t13308 = load ptr, ptr %t387 %t13309 = getelementptr inbounds %LSlice, ptr %t13308, i32 0, i32 1 %t13310 = getelementptr inbounds %LSlice, ptr %t13308, i32 0, i32 2 %t13311 = getelementptr inbounds %LSlice, ptr %t13308, i32 0, i32 0 %t13312 = load i32, ptr %t13309 %t13313 = load i32, ptr %t13310 %t13314 = icmp sge i32 %t13312, %t13313 br i1 %t13314, label %grow2690, label %put2691 grow2690: %t13315 = mul i32 %t13313, 2 %t13316 = icmp eq i32 %t13313, 0 %t13317 = select i1 %t13316, i32 8, i32 %t13315 %t13318 = getelementptr ptr, ptr null, i32 1 %t13319 = ptrtoint ptr %t13318 to i64 %t13320 = zext i32 %t13317 to i64 %t13321 = mul i64 %t13320, %t13319 %t13322 = load ptr, ptr %t13311 %t13323 = call ptr @realloc(ptr %t13322, i64 %t13321) store ptr %t13323, ptr %t13311 store i32 %t13317, ptr %t13310 br label %put2691 put2691: %t13324 = load ptr, ptr %t13311 %t13325 = getelementptr inbounds ptr, ptr %t13324, i32 %t13312 store ptr @.str7927, ptr %t13325 %t13326 = add i32 %t13312, 1 store i32 %t13326, ptr %t13309 %t13327 = load ptr, ptr %t387 %t13328 = getelementptr inbounds %LSlice, ptr %t13327, i32 0, i32 1 %t13329 = getelementptr inbounds %LSlice, ptr %t13327, i32 0, i32 2 %t13330 = getelementptr inbounds %LSlice, ptr %t13327, i32 0, i32 0 %t13331 = load i32, ptr %t13328 %t13332 = load i32, ptr %t13329 %t13333 = icmp sge i32 %t13331, %t13332 br i1 %t13333, label %grow2692, label %put2693 grow2692: %t13334 = mul i32 %t13332, 2 %t13335 = icmp eq i32 %t13332, 0 %t13336 = select i1 %t13335, i32 8, i32 %t13334 %t13337 = getelementptr ptr, ptr null, i32 1 %t13338 = ptrtoint ptr %t13337 to i64 %t13339 = zext i32 %t13336 to i64 %t13340 = mul i64 %t13339, %t13338 %t13341 = load ptr, ptr %t13330 %t13342 = call ptr @realloc(ptr %t13341, i64 %t13340) store ptr %t13342, ptr %t13330 store i32 %t13336, ptr %t13329 br label %put2693 put2693: %t13343 = load ptr, ptr %t13330 %t13344 = getelementptr inbounds ptr, ptr %t13343, i32 %t13331 store ptr @.str7928, ptr %t13344 %t13345 = add i32 %t13331, 1 store i32 %t13345, ptr %t13328 br label %ifend2689 ifend2689: br label %ifend2624 ifend2624: %t13346 = load ptr, ptr %t0 %t13347 = call i32 @lp_str_eq(ptr %t13346, ptr @.str7929) %t13348 = icmp ne i32 %t13347, 0 br i1 %t13348, label %then2694, label %ifend2696 then2694: %t13349 = load ptr, ptr %t1 %t13350 = call i32 @lp_str_eq(ptr %t13349, ptr @.str7930) %t13351 = icmp ne i32 %t13350, 0 br i1 %t13351, label %then2697, label %ifend2699 then2697: store ptr @.str7931, ptr %t380 %t13352 = load ptr, ptr %t387 %t13353 = getelementptr inbounds %LSlice, ptr %t13352, i32 0, i32 1 %t13354 = getelementptr inbounds %LSlice, ptr %t13352, i32 0, i32 2 %t13355 = getelementptr inbounds %LSlice, ptr %t13352, i32 0, i32 0 %t13356 = load i32, ptr %t13353 %t13357 = load i32, ptr %t13354 %t13358 = icmp sge i32 %t13356, %t13357 br i1 %t13358, label %grow2700, label %put2701 grow2700: %t13359 = mul i32 %t13357, 2 %t13360 = icmp eq i32 %t13357, 0 %t13361 = select i1 %t13360, i32 8, i32 %t13359 %t13362 = getelementptr ptr, ptr null, i32 1 %t13363 = ptrtoint ptr %t13362 to i64 %t13364 = zext i32 %t13361 to i64 %t13365 = mul i64 %t13364, %t13363 %t13366 = load ptr, ptr %t13355 %t13367 = call ptr @realloc(ptr %t13366, i64 %t13365) store ptr %t13367, ptr %t13355 store i32 %t13361, ptr %t13354 br label %put2701 put2701: %t13368 = load ptr, ptr %t13355 %t13369 = getelementptr inbounds ptr, ptr %t13368, i32 %t13356 store ptr @.str7932, ptr %t13369 %t13370 = add i32 %t13356, 1 store i32 %t13370, ptr %t13353 br label %ifend2699 ifend2699: %t13371 = load ptr, ptr %t1 %t13372 = call i32 @lp_str_eq(ptr %t13371, ptr @.str7933) %t13373 = icmp ne i32 %t13372, 0 br i1 %t13373, label %then2702, label %ifend2704 then2702: store ptr @.str7934, ptr %t380 %t13374 = load ptr, ptr %t387 %t13375 = getelementptr inbounds %LSlice, ptr %t13374, i32 0, i32 1 %t13376 = getelementptr inbounds %LSlice, ptr %t13374, i32 0, i32 2 %t13377 = getelementptr inbounds %LSlice, ptr %t13374, i32 0, i32 0 %t13378 = load i32, ptr %t13375 %t13379 = load i32, ptr %t13376 %t13380 = icmp sge i32 %t13378, %t13379 br i1 %t13380, label %grow2705, label %put2706 grow2705: %t13381 = mul i32 %t13379, 2 %t13382 = icmp eq i32 %t13379, 0 %t13383 = select i1 %t13382, i32 8, i32 %t13381 %t13384 = getelementptr ptr, ptr null, i32 1 %t13385 = ptrtoint ptr %t13384 to i64 %t13386 = zext i32 %t13383 to i64 %t13387 = mul i64 %t13386, %t13385 %t13388 = load ptr, ptr %t13377 %t13389 = call ptr @realloc(ptr %t13388, i64 %t13387) store ptr %t13389, ptr %t13377 store i32 %t13383, ptr %t13376 br label %put2706 put2706: %t13390 = load ptr, ptr %t13377 %t13391 = getelementptr inbounds ptr, ptr %t13390, i32 %t13378 store ptr @.str7935, ptr %t13391 %t13392 = add i32 %t13378, 1 store i32 %t13392, ptr %t13375 br label %ifend2704 ifend2704: br label %ifend2696 ifend2696: %t13393 = load ptr, ptr %t0 %t13394 = call i32 @lp_str_eq(ptr %t13393, ptr @.str7936) %t13395 = icmp ne i32 %t13394, 0 br i1 %t13395, label %then2707, label %ifend2709 then2707: %t13396 = load ptr, ptr %t1 %t13397 = call i32 @lp_str_eq(ptr %t13396, ptr @.str7937) %t13398 = icmp ne i32 %t13397, 0 br i1 %t13398, label %then2710, label %ifend2712 then2710: store ptr @.str7938, ptr %t380 %t13399 = load ptr, ptr %t387 %t13400 = getelementptr inbounds %LSlice, ptr %t13399, i32 0, i32 1 %t13401 = getelementptr inbounds %LSlice, ptr %t13399, i32 0, i32 2 %t13402 = getelementptr inbounds %LSlice, ptr %t13399, i32 0, i32 0 %t13403 = load i32, ptr %t13400 %t13404 = load i32, ptr %t13401 %t13405 = icmp sge i32 %t13403, %t13404 br i1 %t13405, label %grow2713, label %put2714 grow2713: %t13406 = mul i32 %t13404, 2 %t13407 = icmp eq i32 %t13404, 0 %t13408 = select i1 %t13407, i32 8, i32 %t13406 %t13409 = getelementptr ptr, ptr null, i32 1 %t13410 = ptrtoint ptr %t13409 to i64 %t13411 = zext i32 %t13408 to i64 %t13412 = mul i64 %t13411, %t13410 %t13413 = load ptr, ptr %t13402 %t13414 = call ptr @realloc(ptr %t13413, i64 %t13412) store ptr %t13414, ptr %t13402 store i32 %t13408, ptr %t13401 br label %put2714 put2714: %t13415 = load ptr, ptr %t13402 %t13416 = getelementptr inbounds ptr, ptr %t13415, i32 %t13403 store ptr @.str7939, ptr %t13416 %t13417 = add i32 %t13403, 1 store i32 %t13417, ptr %t13400 br label %ifend2712 ifend2712: %t13418 = load ptr, ptr %t1 %t13419 = call i32 @lp_str_eq(ptr %t13418, ptr @.str7940) %t13420 = icmp ne i32 %t13419, 0 br i1 %t13420, label %then2715, label %ifend2717 then2715: store ptr @.str7941, ptr %t380 %t13421 = load ptr, ptr %t387 %t13422 = getelementptr inbounds %LSlice, ptr %t13421, i32 0, i32 1 %t13423 = getelementptr inbounds %LSlice, ptr %t13421, i32 0, i32 2 %t13424 = getelementptr inbounds %LSlice, ptr %t13421, i32 0, i32 0 %t13425 = load i32, ptr %t13422 %t13426 = load i32, ptr %t13423 %t13427 = icmp sge i32 %t13425, %t13426 br i1 %t13427, label %grow2718, label %put2719 grow2718: %t13428 = mul i32 %t13426, 2 %t13429 = icmp eq i32 %t13426, 0 %t13430 = select i1 %t13429, i32 8, i32 %t13428 %t13431 = getelementptr ptr, ptr null, i32 1 %t13432 = ptrtoint ptr %t13431 to i64 %t13433 = zext i32 %t13430 to i64 %t13434 = mul i64 %t13433, %t13432 %t13435 = load ptr, ptr %t13424 %t13436 = call ptr @realloc(ptr %t13435, i64 %t13434) store ptr %t13436, ptr %t13424 store i32 %t13430, ptr %t13423 br label %put2719 put2719: %t13437 = load ptr, ptr %t13424 %t13438 = getelementptr inbounds ptr, ptr %t13437, i32 %t13425 store ptr @.str7942, ptr %t13438 %t13439 = add i32 %t13425, 1 store i32 %t13439, ptr %t13422 br label %ifend2717 ifend2717: %t13440 = load ptr, ptr %t1 %t13441 = call i32 @lp_str_eq(ptr %t13440, ptr @.str7943) %t13442 = icmp ne i32 %t13441, 0 br i1 %t13442, label %then2720, label %ifend2722 then2720: store ptr @.str7944, ptr %t380 %t13443 = load ptr, ptr %t387 %t13444 = getelementptr inbounds %LSlice, ptr %t13443, i32 0, i32 1 %t13445 = getelementptr inbounds %LSlice, ptr %t13443, i32 0, i32 2 %t13446 = getelementptr inbounds %LSlice, ptr %t13443, i32 0, i32 0 %t13447 = load i32, ptr %t13444 %t13448 = load i32, ptr %t13445 %t13449 = icmp sge i32 %t13447, %t13448 br i1 %t13449, label %grow2723, label %put2724 grow2723: %t13450 = mul i32 %t13448, 2 %t13451 = icmp eq i32 %t13448, 0 %t13452 = select i1 %t13451, i32 8, i32 %t13450 %t13453 = getelementptr ptr, ptr null, i32 1 %t13454 = ptrtoint ptr %t13453 to i64 %t13455 = zext i32 %t13452 to i64 %t13456 = mul i64 %t13455, %t13454 %t13457 = load ptr, ptr %t13446 %t13458 = call ptr @realloc(ptr %t13457, i64 %t13456) store ptr %t13458, ptr %t13446 store i32 %t13452, ptr %t13445 br label %put2724 put2724: %t13459 = load ptr, ptr %t13446 %t13460 = getelementptr inbounds ptr, ptr %t13459, i32 %t13447 store ptr @.str7945, ptr %t13460 %t13461 = add i32 %t13447, 1 store i32 %t13461, ptr %t13444 br label %ifend2722 ifend2722: %t13462 = load ptr, ptr %t1 %t13463 = call i32 @lp_str_eq(ptr %t13462, ptr @.str7946) %t13464 = icmp ne i32 %t13463, 0 br i1 %t13464, label %then2725, label %ifend2727 then2725: store ptr @.str7947, ptr %t380 %t13465 = load ptr, ptr %t387 %t13466 = getelementptr inbounds %LSlice, ptr %t13465, i32 0, i32 1 %t13467 = getelementptr inbounds %LSlice, ptr %t13465, i32 0, i32 2 %t13468 = getelementptr inbounds %LSlice, ptr %t13465, i32 0, i32 0 %t13469 = load i32, ptr %t13466 %t13470 = load i32, ptr %t13467 %t13471 = icmp sge i32 %t13469, %t13470 br i1 %t13471, label %grow2728, label %put2729 grow2728: %t13472 = mul i32 %t13470, 2 %t13473 = icmp eq i32 %t13470, 0 %t13474 = select i1 %t13473, i32 8, i32 %t13472 %t13475 = getelementptr ptr, ptr null, i32 1 %t13476 = ptrtoint ptr %t13475 to i64 %t13477 = zext i32 %t13474 to i64 %t13478 = mul i64 %t13477, %t13476 %t13479 = load ptr, ptr %t13468 %t13480 = call ptr @realloc(ptr %t13479, i64 %t13478) store ptr %t13480, ptr %t13468 store i32 %t13474, ptr %t13467 br label %put2729 put2729: %t13481 = load ptr, ptr %t13468 %t13482 = getelementptr inbounds ptr, ptr %t13481, i32 %t13469 store ptr @.str7948, ptr %t13482 %t13483 = add i32 %t13469, 1 store i32 %t13483, ptr %t13466 %t13484 = load ptr, ptr %t387 %t13485 = getelementptr inbounds %LSlice, ptr %t13484, i32 0, i32 1 %t13486 = getelementptr inbounds %LSlice, ptr %t13484, i32 0, i32 2 %t13487 = getelementptr inbounds %LSlice, ptr %t13484, i32 0, i32 0 %t13488 = load i32, ptr %t13485 %t13489 = load i32, ptr %t13486 %t13490 = icmp sge i32 %t13488, %t13489 br i1 %t13490, label %grow2730, label %put2731 grow2730: %t13491 = mul i32 %t13489, 2 %t13492 = icmp eq i32 %t13489, 0 %t13493 = select i1 %t13492, i32 8, i32 %t13491 %t13494 = getelementptr ptr, ptr null, i32 1 %t13495 = ptrtoint ptr %t13494 to i64 %t13496 = zext i32 %t13493 to i64 %t13497 = mul i64 %t13496, %t13495 %t13498 = load ptr, ptr %t13487 %t13499 = call ptr @realloc(ptr %t13498, i64 %t13497) store ptr %t13499, ptr %t13487 store i32 %t13493, ptr %t13486 br label %put2731 put2731: %t13500 = load ptr, ptr %t13487 %t13501 = getelementptr inbounds ptr, ptr %t13500, i32 %t13488 store ptr @.str7949, ptr %t13501 %t13502 = add i32 %t13488, 1 store i32 %t13502, ptr %t13485 %t13503 = load ptr, ptr %t387 %t13504 = getelementptr inbounds %LSlice, ptr %t13503, i32 0, i32 1 %t13505 = getelementptr inbounds %LSlice, ptr %t13503, i32 0, i32 2 %t13506 = getelementptr inbounds %LSlice, ptr %t13503, i32 0, i32 0 %t13507 = load i32, ptr %t13504 %t13508 = load i32, ptr %t13505 %t13509 = icmp sge i32 %t13507, %t13508 br i1 %t13509, label %grow2732, label %put2733 grow2732: %t13510 = mul i32 %t13508, 2 %t13511 = icmp eq i32 %t13508, 0 %t13512 = select i1 %t13511, i32 8, i32 %t13510 %t13513 = getelementptr ptr, ptr null, i32 1 %t13514 = ptrtoint ptr %t13513 to i64 %t13515 = zext i32 %t13512 to i64 %t13516 = mul i64 %t13515, %t13514 %t13517 = load ptr, ptr %t13506 %t13518 = call ptr @realloc(ptr %t13517, i64 %t13516) store ptr %t13518, ptr %t13506 store i32 %t13512, ptr %t13505 br label %put2733 put2733: %t13519 = load ptr, ptr %t13506 %t13520 = getelementptr inbounds ptr, ptr %t13519, i32 %t13507 store ptr @.str7950, ptr %t13520 %t13521 = add i32 %t13507, 1 store i32 %t13521, ptr %t13504 %t13522 = load ptr, ptr %t387 %t13523 = getelementptr inbounds %LSlice, ptr %t13522, i32 0, i32 1 %t13524 = getelementptr inbounds %LSlice, ptr %t13522, i32 0, i32 2 %t13525 = getelementptr inbounds %LSlice, ptr %t13522, i32 0, i32 0 %t13526 = load i32, ptr %t13523 %t13527 = load i32, ptr %t13524 %t13528 = icmp sge i32 %t13526, %t13527 br i1 %t13528, label %grow2734, label %put2735 grow2734: %t13529 = mul i32 %t13527, 2 %t13530 = icmp eq i32 %t13527, 0 %t13531 = select i1 %t13530, i32 8, i32 %t13529 %t13532 = getelementptr ptr, ptr null, i32 1 %t13533 = ptrtoint ptr %t13532 to i64 %t13534 = zext i32 %t13531 to i64 %t13535 = mul i64 %t13534, %t13533 %t13536 = load ptr, ptr %t13525 %t13537 = call ptr @realloc(ptr %t13536, i64 %t13535) store ptr %t13537, ptr %t13525 store i32 %t13531, ptr %t13524 br label %put2735 put2735: %t13538 = load ptr, ptr %t13525 %t13539 = getelementptr inbounds ptr, ptr %t13538, i32 %t13526 store ptr @.str7951, ptr %t13539 %t13540 = add i32 %t13526, 1 store i32 %t13540, ptr %t13523 br label %ifend2727 ifend2727: %t13541 = load ptr, ptr %t1 %t13542 = call i32 @lp_str_eq(ptr %t13541, ptr @.str7952) %t13543 = icmp ne i32 %t13542, 0 br i1 %t13543, label %then2736, label %ifend2738 then2736: store ptr @.str7953, ptr %t380 %t13544 = load ptr, ptr %t387 %t13545 = getelementptr inbounds %LSlice, ptr %t13544, i32 0, i32 1 %t13546 = getelementptr inbounds %LSlice, ptr %t13544, i32 0, i32 2 %t13547 = getelementptr inbounds %LSlice, ptr %t13544, i32 0, i32 0 %t13548 = load i32, ptr %t13545 %t13549 = load i32, ptr %t13546 %t13550 = icmp sge i32 %t13548, %t13549 br i1 %t13550, label %grow2739, label %put2740 grow2739: %t13551 = mul i32 %t13549, 2 %t13552 = icmp eq i32 %t13549, 0 %t13553 = select i1 %t13552, i32 8, i32 %t13551 %t13554 = getelementptr ptr, ptr null, i32 1 %t13555 = ptrtoint ptr %t13554 to i64 %t13556 = zext i32 %t13553 to i64 %t13557 = mul i64 %t13556, %t13555 %t13558 = load ptr, ptr %t13547 %t13559 = call ptr @realloc(ptr %t13558, i64 %t13557) store ptr %t13559, ptr %t13547 store i32 %t13553, ptr %t13546 br label %put2740 put2740: %t13560 = load ptr, ptr %t13547 %t13561 = getelementptr inbounds ptr, ptr %t13560, i32 %t13548 store ptr @.str7954, ptr %t13561 %t13562 = add i32 %t13548, 1 store i32 %t13562, ptr %t13545 %t13563 = load ptr, ptr %t387 %t13564 = getelementptr inbounds %LSlice, ptr %t13563, i32 0, i32 1 %t13565 = getelementptr inbounds %LSlice, ptr %t13563, i32 0, i32 2 %t13566 = getelementptr inbounds %LSlice, ptr %t13563, i32 0, i32 0 %t13567 = load i32, ptr %t13564 %t13568 = load i32, ptr %t13565 %t13569 = icmp sge i32 %t13567, %t13568 br i1 %t13569, label %grow2741, label %put2742 grow2741: %t13570 = mul i32 %t13568, 2 %t13571 = icmp eq i32 %t13568, 0 %t13572 = select i1 %t13571, i32 8, i32 %t13570 %t13573 = getelementptr ptr, ptr null, i32 1 %t13574 = ptrtoint ptr %t13573 to i64 %t13575 = zext i32 %t13572 to i64 %t13576 = mul i64 %t13575, %t13574 %t13577 = load ptr, ptr %t13566 %t13578 = call ptr @realloc(ptr %t13577, i64 %t13576) store ptr %t13578, ptr %t13566 store i32 %t13572, ptr %t13565 br label %put2742 put2742: %t13579 = load ptr, ptr %t13566 %t13580 = getelementptr inbounds ptr, ptr %t13579, i32 %t13567 store ptr @.str7955, ptr %t13580 %t13581 = add i32 %t13567, 1 store i32 %t13581, ptr %t13564 br label %ifend2738 ifend2738: %t13582 = load ptr, ptr %t1 %t13583 = call i32 @lp_str_eq(ptr %t13582, ptr @.str7956) %t13584 = icmp ne i32 %t13583, 0 br i1 %t13584, label %then2743, label %ifend2745 then2743: store ptr @.str7957, ptr %t380 %t13585 = load ptr, ptr %t387 %t13586 = getelementptr inbounds %LSlice, ptr %t13585, i32 0, i32 1 %t13587 = getelementptr inbounds %LSlice, ptr %t13585, i32 0, i32 2 %t13588 = getelementptr inbounds %LSlice, ptr %t13585, i32 0, i32 0 %t13589 = load i32, ptr %t13586 %t13590 = load i32, ptr %t13587 %t13591 = icmp sge i32 %t13589, %t13590 br i1 %t13591, label %grow2746, label %put2747 grow2746: %t13592 = mul i32 %t13590, 2 %t13593 = icmp eq i32 %t13590, 0 %t13594 = select i1 %t13593, i32 8, i32 %t13592 %t13595 = getelementptr ptr, ptr null, i32 1 %t13596 = ptrtoint ptr %t13595 to i64 %t13597 = zext i32 %t13594 to i64 %t13598 = mul i64 %t13597, %t13596 %t13599 = load ptr, ptr %t13588 %t13600 = call ptr @realloc(ptr %t13599, i64 %t13598) store ptr %t13600, ptr %t13588 store i32 %t13594, ptr %t13587 br label %put2747 put2747: %t13601 = load ptr, ptr %t13588 %t13602 = getelementptr inbounds ptr, ptr %t13601, i32 %t13589 store ptr @.str7958, ptr %t13602 %t13603 = add i32 %t13589, 1 store i32 %t13603, ptr %t13586 br label %ifend2745 ifend2745: %t13604 = load ptr, ptr %t1 %t13605 = call i32 @lp_str_eq(ptr %t13604, ptr @.str7959) %t13606 = icmp ne i32 %t13605, 0 br i1 %t13606, label %then2748, label %ifend2750 then2748: store ptr @.str7960, ptr %t380 %t13607 = load ptr, ptr %t387 %t13608 = getelementptr inbounds %LSlice, ptr %t13607, i32 0, i32 1 %t13609 = getelementptr inbounds %LSlice, ptr %t13607, i32 0, i32 2 %t13610 = getelementptr inbounds %LSlice, ptr %t13607, i32 0, i32 0 %t13611 = load i32, ptr %t13608 %t13612 = load i32, ptr %t13609 %t13613 = icmp sge i32 %t13611, %t13612 br i1 %t13613, label %grow2751, label %put2752 grow2751: %t13614 = mul i32 %t13612, 2 %t13615 = icmp eq i32 %t13612, 0 %t13616 = select i1 %t13615, i32 8, i32 %t13614 %t13617 = getelementptr ptr, ptr null, i32 1 %t13618 = ptrtoint ptr %t13617 to i64 %t13619 = zext i32 %t13616 to i64 %t13620 = mul i64 %t13619, %t13618 %t13621 = load ptr, ptr %t13610 %t13622 = call ptr @realloc(ptr %t13621, i64 %t13620) store ptr %t13622, ptr %t13610 store i32 %t13616, ptr %t13609 br label %put2752 put2752: %t13623 = load ptr, ptr %t13610 %t13624 = getelementptr inbounds ptr, ptr %t13623, i32 %t13611 store ptr @.str7961, ptr %t13624 %t13625 = add i32 %t13611, 1 store i32 %t13625, ptr %t13608 br label %ifend2750 ifend2750: %t13626 = load ptr, ptr %t1 %t13627 = call i32 @lp_str_eq(ptr %t13626, ptr @.str7962) %t13628 = icmp ne i32 %t13627, 0 br i1 %t13628, label %then2753, label %ifend2755 then2753: store ptr @.str7963, ptr %t380 %t13629 = load ptr, ptr %t387 %t13630 = getelementptr inbounds %LSlice, ptr %t13629, i32 0, i32 1 %t13631 = getelementptr inbounds %LSlice, ptr %t13629, i32 0, i32 2 %t13632 = getelementptr inbounds %LSlice, ptr %t13629, i32 0, i32 0 %t13633 = load i32, ptr %t13630 %t13634 = load i32, ptr %t13631 %t13635 = icmp sge i32 %t13633, %t13634 br i1 %t13635, label %grow2756, label %put2757 grow2756: %t13636 = mul i32 %t13634, 2 %t13637 = icmp eq i32 %t13634, 0 %t13638 = select i1 %t13637, i32 8, i32 %t13636 %t13639 = getelementptr ptr, ptr null, i32 1 %t13640 = ptrtoint ptr %t13639 to i64 %t13641 = zext i32 %t13638 to i64 %t13642 = mul i64 %t13641, %t13640 %t13643 = load ptr, ptr %t13632 %t13644 = call ptr @realloc(ptr %t13643, i64 %t13642) store ptr %t13644, ptr %t13632 store i32 %t13638, ptr %t13631 br label %put2757 put2757: %t13645 = load ptr, ptr %t13632 %t13646 = getelementptr inbounds ptr, ptr %t13645, i32 %t13633 store ptr @.str7964, ptr %t13646 %t13647 = add i32 %t13633, 1 store i32 %t13647, ptr %t13630 br label %ifend2755 ifend2755: %t13648 = load ptr, ptr %t1 %t13649 = call i32 @lp_str_eq(ptr %t13648, ptr @.str7965) %t13650 = icmp ne i32 %t13649, 0 br i1 %t13650, label %then2758, label %ifend2760 then2758: store ptr @.str7966, ptr %t380 %t13651 = load ptr, ptr %t387 %t13652 = getelementptr inbounds %LSlice, ptr %t13651, i32 0, i32 1 %t13653 = getelementptr inbounds %LSlice, ptr %t13651, i32 0, i32 2 %t13654 = getelementptr inbounds %LSlice, ptr %t13651, i32 0, i32 0 %t13655 = load i32, ptr %t13652 %t13656 = load i32, ptr %t13653 %t13657 = icmp sge i32 %t13655, %t13656 br i1 %t13657, label %grow2761, label %put2762 grow2761: %t13658 = mul i32 %t13656, 2 %t13659 = icmp eq i32 %t13656, 0 %t13660 = select i1 %t13659, i32 8, i32 %t13658 %t13661 = getelementptr ptr, ptr null, i32 1 %t13662 = ptrtoint ptr %t13661 to i64 %t13663 = zext i32 %t13660 to i64 %t13664 = mul i64 %t13663, %t13662 %t13665 = load ptr, ptr %t13654 %t13666 = call ptr @realloc(ptr %t13665, i64 %t13664) store ptr %t13666, ptr %t13654 store i32 %t13660, ptr %t13653 br label %put2762 put2762: %t13667 = load ptr, ptr %t13654 %t13668 = getelementptr inbounds ptr, ptr %t13667, i32 %t13655 store ptr @.str7967, ptr %t13668 %t13669 = add i32 %t13655, 1 store i32 %t13669, ptr %t13652 %t13670 = load ptr, ptr %t387 %t13671 = getelementptr inbounds %LSlice, ptr %t13670, i32 0, i32 1 %t13672 = getelementptr inbounds %LSlice, ptr %t13670, i32 0, i32 2 %t13673 = getelementptr inbounds %LSlice, ptr %t13670, i32 0, i32 0 %t13674 = load i32, ptr %t13671 %t13675 = load i32, ptr %t13672 %t13676 = icmp sge i32 %t13674, %t13675 br i1 %t13676, label %grow2763, label %put2764 grow2763: %t13677 = mul i32 %t13675, 2 %t13678 = icmp eq i32 %t13675, 0 %t13679 = select i1 %t13678, i32 8, i32 %t13677 %t13680 = getelementptr ptr, ptr null, i32 1 %t13681 = ptrtoint ptr %t13680 to i64 %t13682 = zext i32 %t13679 to i64 %t13683 = mul i64 %t13682, %t13681 %t13684 = load ptr, ptr %t13673 %t13685 = call ptr @realloc(ptr %t13684, i64 %t13683) store ptr %t13685, ptr %t13673 store i32 %t13679, ptr %t13672 br label %put2764 put2764: %t13686 = load ptr, ptr %t13673 %t13687 = getelementptr inbounds ptr, ptr %t13686, i32 %t13674 store ptr @.str7968, ptr %t13687 %t13688 = add i32 %t13674, 1 store i32 %t13688, ptr %t13671 br label %ifend2760 ifend2760: %t13689 = load ptr, ptr %t1 %t13690 = call i32 @lp_str_eq(ptr %t13689, ptr @.str7969) %t13691 = icmp ne i32 %t13690, 0 br i1 %t13691, label %then2765, label %ifend2767 then2765: store ptr @.str7970, ptr %t380 %t13692 = load ptr, ptr %t387 %t13693 = getelementptr inbounds %LSlice, ptr %t13692, i32 0, i32 1 %t13694 = getelementptr inbounds %LSlice, ptr %t13692, i32 0, i32 2 %t13695 = getelementptr inbounds %LSlice, ptr %t13692, i32 0, i32 0 %t13696 = load i32, ptr %t13693 %t13697 = load i32, ptr %t13694 %t13698 = icmp sge i32 %t13696, %t13697 br i1 %t13698, label %grow2768, label %put2769 grow2768: %t13699 = mul i32 %t13697, 2 %t13700 = icmp eq i32 %t13697, 0 %t13701 = select i1 %t13700, i32 8, i32 %t13699 %t13702 = getelementptr ptr, ptr null, i32 1 %t13703 = ptrtoint ptr %t13702 to i64 %t13704 = zext i32 %t13701 to i64 %t13705 = mul i64 %t13704, %t13703 %t13706 = load ptr, ptr %t13695 %t13707 = call ptr @realloc(ptr %t13706, i64 %t13705) store ptr %t13707, ptr %t13695 store i32 %t13701, ptr %t13694 br label %put2769 put2769: %t13708 = load ptr, ptr %t13695 %t13709 = getelementptr inbounds ptr, ptr %t13708, i32 %t13696 store ptr @.str7971, ptr %t13709 %t13710 = add i32 %t13696, 1 store i32 %t13710, ptr %t13693 %t13711 = load ptr, ptr %t387 %t13712 = getelementptr inbounds %LSlice, ptr %t13711, i32 0, i32 1 %t13713 = getelementptr inbounds %LSlice, ptr %t13711, i32 0, i32 2 %t13714 = getelementptr inbounds %LSlice, ptr %t13711, i32 0, i32 0 %t13715 = load i32, ptr %t13712 %t13716 = load i32, ptr %t13713 %t13717 = icmp sge i32 %t13715, %t13716 br i1 %t13717, label %grow2770, label %put2771 grow2770: %t13718 = mul i32 %t13716, 2 %t13719 = icmp eq i32 %t13716, 0 %t13720 = select i1 %t13719, i32 8, i32 %t13718 %t13721 = getelementptr ptr, ptr null, i32 1 %t13722 = ptrtoint ptr %t13721 to i64 %t13723 = zext i32 %t13720 to i64 %t13724 = mul i64 %t13723, %t13722 %t13725 = load ptr, ptr %t13714 %t13726 = call ptr @realloc(ptr %t13725, i64 %t13724) store ptr %t13726, ptr %t13714 store i32 %t13720, ptr %t13713 br label %put2771 put2771: %t13727 = load ptr, ptr %t13714 %t13728 = getelementptr inbounds ptr, ptr %t13727, i32 %t13715 store ptr @.str7972, ptr %t13728 %t13729 = add i32 %t13715, 1 store i32 %t13729, ptr %t13712 %t13730 = load ptr, ptr %t387 %t13731 = getelementptr inbounds %LSlice, ptr %t13730, i32 0, i32 1 %t13732 = getelementptr inbounds %LSlice, ptr %t13730, i32 0, i32 2 %t13733 = getelementptr inbounds %LSlice, ptr %t13730, i32 0, i32 0 %t13734 = load i32, ptr %t13731 %t13735 = load i32, ptr %t13732 %t13736 = icmp sge i32 %t13734, %t13735 br i1 %t13736, label %grow2772, label %put2773 grow2772: %t13737 = mul i32 %t13735, 2 %t13738 = icmp eq i32 %t13735, 0 %t13739 = select i1 %t13738, i32 8, i32 %t13737 %t13740 = getelementptr ptr, ptr null, i32 1 %t13741 = ptrtoint ptr %t13740 to i64 %t13742 = zext i32 %t13739 to i64 %t13743 = mul i64 %t13742, %t13741 %t13744 = load ptr, ptr %t13733 %t13745 = call ptr @realloc(ptr %t13744, i64 %t13743) store ptr %t13745, ptr %t13733 store i32 %t13739, ptr %t13732 br label %put2773 put2773: %t13746 = load ptr, ptr %t13733 %t13747 = getelementptr inbounds ptr, ptr %t13746, i32 %t13734 store ptr @.str7973, ptr %t13747 %t13748 = add i32 %t13734, 1 store i32 %t13748, ptr %t13731 br label %ifend2767 ifend2767: %t13749 = load ptr, ptr %t1 %t13750 = call i32 @lp_str_eq(ptr %t13749, ptr @.str7974) %t13751 = icmp ne i32 %t13750, 0 br i1 %t13751, label %then2774, label %ifend2776 then2774: store ptr @.str7975, ptr %t380 %t13752 = load ptr, ptr %t387 %t13753 = getelementptr inbounds %LSlice, ptr %t13752, i32 0, i32 1 %t13754 = getelementptr inbounds %LSlice, ptr %t13752, i32 0, i32 2 %t13755 = getelementptr inbounds %LSlice, ptr %t13752, i32 0, i32 0 %t13756 = load i32, ptr %t13753 %t13757 = load i32, ptr %t13754 %t13758 = icmp sge i32 %t13756, %t13757 br i1 %t13758, label %grow2777, label %put2778 grow2777: %t13759 = mul i32 %t13757, 2 %t13760 = icmp eq i32 %t13757, 0 %t13761 = select i1 %t13760, i32 8, i32 %t13759 %t13762 = getelementptr ptr, ptr null, i32 1 %t13763 = ptrtoint ptr %t13762 to i64 %t13764 = zext i32 %t13761 to i64 %t13765 = mul i64 %t13764, %t13763 %t13766 = load ptr, ptr %t13755 %t13767 = call ptr @realloc(ptr %t13766, i64 %t13765) store ptr %t13767, ptr %t13755 store i32 %t13761, ptr %t13754 br label %put2778 put2778: %t13768 = load ptr, ptr %t13755 %t13769 = getelementptr inbounds ptr, ptr %t13768, i32 %t13756 store ptr @.str7976, ptr %t13769 %t13770 = add i32 %t13756, 1 store i32 %t13770, ptr %t13753 %t13771 = load ptr, ptr %t387 %t13772 = getelementptr inbounds %LSlice, ptr %t13771, i32 0, i32 1 %t13773 = getelementptr inbounds %LSlice, ptr %t13771, i32 0, i32 2 %t13774 = getelementptr inbounds %LSlice, ptr %t13771, i32 0, i32 0 %t13775 = load i32, ptr %t13772 %t13776 = load i32, ptr %t13773 %t13777 = icmp sge i32 %t13775, %t13776 br i1 %t13777, label %grow2779, label %put2780 grow2779: %t13778 = mul i32 %t13776, 2 %t13779 = icmp eq i32 %t13776, 0 %t13780 = select i1 %t13779, i32 8, i32 %t13778 %t13781 = getelementptr ptr, ptr null, i32 1 %t13782 = ptrtoint ptr %t13781 to i64 %t13783 = zext i32 %t13780 to i64 %t13784 = mul i64 %t13783, %t13782 %t13785 = load ptr, ptr %t13774 %t13786 = call ptr @realloc(ptr %t13785, i64 %t13784) store ptr %t13786, ptr %t13774 store i32 %t13780, ptr %t13773 br label %put2780 put2780: %t13787 = load ptr, ptr %t13774 %t13788 = getelementptr inbounds ptr, ptr %t13787, i32 %t13775 store ptr @.str7977, ptr %t13788 %t13789 = add i32 %t13775, 1 store i32 %t13789, ptr %t13772 %t13790 = load ptr, ptr %t387 %t13791 = getelementptr inbounds %LSlice, ptr %t13790, i32 0, i32 1 %t13792 = getelementptr inbounds %LSlice, ptr %t13790, i32 0, i32 2 %t13793 = getelementptr inbounds %LSlice, ptr %t13790, i32 0, i32 0 %t13794 = load i32, ptr %t13791 %t13795 = load i32, ptr %t13792 %t13796 = icmp sge i32 %t13794, %t13795 br i1 %t13796, label %grow2781, label %put2782 grow2781: %t13797 = mul i32 %t13795, 2 %t13798 = icmp eq i32 %t13795, 0 %t13799 = select i1 %t13798, i32 8, i32 %t13797 %t13800 = getelementptr ptr, ptr null, i32 1 %t13801 = ptrtoint ptr %t13800 to i64 %t13802 = zext i32 %t13799 to i64 %t13803 = mul i64 %t13802, %t13801 %t13804 = load ptr, ptr %t13793 %t13805 = call ptr @realloc(ptr %t13804, i64 %t13803) store ptr %t13805, ptr %t13793 store i32 %t13799, ptr %t13792 br label %put2782 put2782: %t13806 = load ptr, ptr %t13793 %t13807 = getelementptr inbounds ptr, ptr %t13806, i32 %t13794 store ptr @.str7978, ptr %t13807 %t13808 = add i32 %t13794, 1 store i32 %t13808, ptr %t13791 %t13809 = load ptr, ptr %t387 %t13810 = getelementptr inbounds %LSlice, ptr %t13809, i32 0, i32 1 %t13811 = getelementptr inbounds %LSlice, ptr %t13809, i32 0, i32 2 %t13812 = getelementptr inbounds %LSlice, ptr %t13809, i32 0, i32 0 %t13813 = load i32, ptr %t13810 %t13814 = load i32, ptr %t13811 %t13815 = icmp sge i32 %t13813, %t13814 br i1 %t13815, label %grow2783, label %put2784 grow2783: %t13816 = mul i32 %t13814, 2 %t13817 = icmp eq i32 %t13814, 0 %t13818 = select i1 %t13817, i32 8, i32 %t13816 %t13819 = getelementptr ptr, ptr null, i32 1 %t13820 = ptrtoint ptr %t13819 to i64 %t13821 = zext i32 %t13818 to i64 %t13822 = mul i64 %t13821, %t13820 %t13823 = load ptr, ptr %t13812 %t13824 = call ptr @realloc(ptr %t13823, i64 %t13822) store ptr %t13824, ptr %t13812 store i32 %t13818, ptr %t13811 br label %put2784 put2784: %t13825 = load ptr, ptr %t13812 %t13826 = getelementptr inbounds ptr, ptr %t13825, i32 %t13813 store ptr @.str7979, ptr %t13826 %t13827 = add i32 %t13813, 1 store i32 %t13827, ptr %t13810 br label %ifend2776 ifend2776: %t13828 = load ptr, ptr %t1 %t13829 = call i32 @lp_str_eq(ptr %t13828, ptr @.str7980) %t13830 = icmp ne i32 %t13829, 0 br i1 %t13830, label %then2785, label %ifend2787 then2785: store ptr @.str7981, ptr %t380 %t13831 = load ptr, ptr %t387 %t13832 = getelementptr inbounds %LSlice, ptr %t13831, i32 0, i32 1 %t13833 = getelementptr inbounds %LSlice, ptr %t13831, i32 0, i32 2 %t13834 = getelementptr inbounds %LSlice, ptr %t13831, i32 0, i32 0 %t13835 = load i32, ptr %t13832 %t13836 = load i32, ptr %t13833 %t13837 = icmp sge i32 %t13835, %t13836 br i1 %t13837, label %grow2788, label %put2789 grow2788: %t13838 = mul i32 %t13836, 2 %t13839 = icmp eq i32 %t13836, 0 %t13840 = select i1 %t13839, i32 8, i32 %t13838 %t13841 = getelementptr ptr, ptr null, i32 1 %t13842 = ptrtoint ptr %t13841 to i64 %t13843 = zext i32 %t13840 to i64 %t13844 = mul i64 %t13843, %t13842 %t13845 = load ptr, ptr %t13834 %t13846 = call ptr @realloc(ptr %t13845, i64 %t13844) store ptr %t13846, ptr %t13834 store i32 %t13840, ptr %t13833 br label %put2789 put2789: %t13847 = load ptr, ptr %t13834 %t13848 = getelementptr inbounds ptr, ptr %t13847, i32 %t13835 store ptr @.str7982, ptr %t13848 %t13849 = add i32 %t13835, 1 store i32 %t13849, ptr %t13832 %t13850 = load ptr, ptr %t387 %t13851 = getelementptr inbounds %LSlice, ptr %t13850, i32 0, i32 1 %t13852 = getelementptr inbounds %LSlice, ptr %t13850, i32 0, i32 2 %t13853 = getelementptr inbounds %LSlice, ptr %t13850, i32 0, i32 0 %t13854 = load i32, ptr %t13851 %t13855 = load i32, ptr %t13852 %t13856 = icmp sge i32 %t13854, %t13855 br i1 %t13856, label %grow2790, label %put2791 grow2790: %t13857 = mul i32 %t13855, 2 %t13858 = icmp eq i32 %t13855, 0 %t13859 = select i1 %t13858, i32 8, i32 %t13857 %t13860 = getelementptr ptr, ptr null, i32 1 %t13861 = ptrtoint ptr %t13860 to i64 %t13862 = zext i32 %t13859 to i64 %t13863 = mul i64 %t13862, %t13861 %t13864 = load ptr, ptr %t13853 %t13865 = call ptr @realloc(ptr %t13864, i64 %t13863) store ptr %t13865, ptr %t13853 store i32 %t13859, ptr %t13852 br label %put2791 put2791: %t13866 = load ptr, ptr %t13853 %t13867 = getelementptr inbounds ptr, ptr %t13866, i32 %t13854 store ptr @.str7983, ptr %t13867 %t13868 = add i32 %t13854, 1 store i32 %t13868, ptr %t13851 %t13869 = load ptr, ptr %t387 %t13870 = getelementptr inbounds %LSlice, ptr %t13869, i32 0, i32 1 %t13871 = getelementptr inbounds %LSlice, ptr %t13869, i32 0, i32 2 %t13872 = getelementptr inbounds %LSlice, ptr %t13869, i32 0, i32 0 %t13873 = load i32, ptr %t13870 %t13874 = load i32, ptr %t13871 %t13875 = icmp sge i32 %t13873, %t13874 br i1 %t13875, label %grow2792, label %put2793 grow2792: %t13876 = mul i32 %t13874, 2 %t13877 = icmp eq i32 %t13874, 0 %t13878 = select i1 %t13877, i32 8, i32 %t13876 %t13879 = getelementptr ptr, ptr null, i32 1 %t13880 = ptrtoint ptr %t13879 to i64 %t13881 = zext i32 %t13878 to i64 %t13882 = mul i64 %t13881, %t13880 %t13883 = load ptr, ptr %t13872 %t13884 = call ptr @realloc(ptr %t13883, i64 %t13882) store ptr %t13884, ptr %t13872 store i32 %t13878, ptr %t13871 br label %put2793 put2793: %t13885 = load ptr, ptr %t13872 %t13886 = getelementptr inbounds ptr, ptr %t13885, i32 %t13873 store ptr @.str7984, ptr %t13886 %t13887 = add i32 %t13873, 1 store i32 %t13887, ptr %t13870 br label %ifend2787 ifend2787: %t13888 = load ptr, ptr %t1 %t13889 = call i32 @lp_str_eq(ptr %t13888, ptr @.str7985) %t13890 = icmp ne i32 %t13889, 0 br i1 %t13890, label %then2794, label %ifend2796 then2794: store ptr @.str7986, ptr %t380 %t13891 = load ptr, ptr %t387 %t13892 = getelementptr inbounds %LSlice, ptr %t13891, i32 0, i32 1 %t13893 = getelementptr inbounds %LSlice, ptr %t13891, i32 0, i32 2 %t13894 = getelementptr inbounds %LSlice, ptr %t13891, i32 0, i32 0 %t13895 = load i32, ptr %t13892 %t13896 = load i32, ptr %t13893 %t13897 = icmp sge i32 %t13895, %t13896 br i1 %t13897, label %grow2797, label %put2798 grow2797: %t13898 = mul i32 %t13896, 2 %t13899 = icmp eq i32 %t13896, 0 %t13900 = select i1 %t13899, i32 8, i32 %t13898 %t13901 = getelementptr ptr, ptr null, i32 1 %t13902 = ptrtoint ptr %t13901 to i64 %t13903 = zext i32 %t13900 to i64 %t13904 = mul i64 %t13903, %t13902 %t13905 = load ptr, ptr %t13894 %t13906 = call ptr @realloc(ptr %t13905, i64 %t13904) store ptr %t13906, ptr %t13894 store i32 %t13900, ptr %t13893 br label %put2798 put2798: %t13907 = load ptr, ptr %t13894 %t13908 = getelementptr inbounds ptr, ptr %t13907, i32 %t13895 store ptr @.str7987, ptr %t13908 %t13909 = add i32 %t13895, 1 store i32 %t13909, ptr %t13892 %t13910 = load ptr, ptr %t387 %t13911 = getelementptr inbounds %LSlice, ptr %t13910, i32 0, i32 1 %t13912 = getelementptr inbounds %LSlice, ptr %t13910, i32 0, i32 2 %t13913 = getelementptr inbounds %LSlice, ptr %t13910, i32 0, i32 0 %t13914 = load i32, ptr %t13911 %t13915 = load i32, ptr %t13912 %t13916 = icmp sge i32 %t13914, %t13915 br i1 %t13916, label %grow2799, label %put2800 grow2799: %t13917 = mul i32 %t13915, 2 %t13918 = icmp eq i32 %t13915, 0 %t13919 = select i1 %t13918, i32 8, i32 %t13917 %t13920 = getelementptr ptr, ptr null, i32 1 %t13921 = ptrtoint ptr %t13920 to i64 %t13922 = zext i32 %t13919 to i64 %t13923 = mul i64 %t13922, %t13921 %t13924 = load ptr, ptr %t13913 %t13925 = call ptr @realloc(ptr %t13924, i64 %t13923) store ptr %t13925, ptr %t13913 store i32 %t13919, ptr %t13912 br label %put2800 put2800: %t13926 = load ptr, ptr %t13913 %t13927 = getelementptr inbounds ptr, ptr %t13926, i32 %t13914 store ptr @.str7988, ptr %t13927 %t13928 = add i32 %t13914, 1 store i32 %t13928, ptr %t13911 br label %ifend2796 ifend2796: %t13929 = load ptr, ptr %t1 %t13930 = call i32 @lp_str_eq(ptr %t13929, ptr @.str7989) %t13931 = icmp ne i32 %t13930, 0 br i1 %t13931, label %then2801, label %ifend2803 then2801: store ptr @.str7990, ptr %t380 %t13932 = load ptr, ptr %t387 %t13933 = getelementptr inbounds %LSlice, ptr %t13932, i32 0, i32 1 %t13934 = getelementptr inbounds %LSlice, ptr %t13932, i32 0, i32 2 %t13935 = getelementptr inbounds %LSlice, ptr %t13932, i32 0, i32 0 %t13936 = load i32, ptr %t13933 %t13937 = load i32, ptr %t13934 %t13938 = icmp sge i32 %t13936, %t13937 br i1 %t13938, label %grow2804, label %put2805 grow2804: %t13939 = mul i32 %t13937, 2 %t13940 = icmp eq i32 %t13937, 0 %t13941 = select i1 %t13940, i32 8, i32 %t13939 %t13942 = getelementptr ptr, ptr null, i32 1 %t13943 = ptrtoint ptr %t13942 to i64 %t13944 = zext i32 %t13941 to i64 %t13945 = mul i64 %t13944, %t13943 %t13946 = load ptr, ptr %t13935 %t13947 = call ptr @realloc(ptr %t13946, i64 %t13945) store ptr %t13947, ptr %t13935 store i32 %t13941, ptr %t13934 br label %put2805 put2805: %t13948 = load ptr, ptr %t13935 %t13949 = getelementptr inbounds ptr, ptr %t13948, i32 %t13936 store ptr @.str7991, ptr %t13949 %t13950 = add i32 %t13936, 1 store i32 %t13950, ptr %t13933 %t13951 = load ptr, ptr %t387 %t13952 = getelementptr inbounds %LSlice, ptr %t13951, i32 0, i32 1 %t13953 = getelementptr inbounds %LSlice, ptr %t13951, i32 0, i32 2 %t13954 = getelementptr inbounds %LSlice, ptr %t13951, i32 0, i32 0 %t13955 = load i32, ptr %t13952 %t13956 = load i32, ptr %t13953 %t13957 = icmp sge i32 %t13955, %t13956 br i1 %t13957, label %grow2806, label %put2807 grow2806: %t13958 = mul i32 %t13956, 2 %t13959 = icmp eq i32 %t13956, 0 %t13960 = select i1 %t13959, i32 8, i32 %t13958 %t13961 = getelementptr ptr, ptr null, i32 1 %t13962 = ptrtoint ptr %t13961 to i64 %t13963 = zext i32 %t13960 to i64 %t13964 = mul i64 %t13963, %t13962 %t13965 = load ptr, ptr %t13954 %t13966 = call ptr @realloc(ptr %t13965, i64 %t13964) store ptr %t13966, ptr %t13954 store i32 %t13960, ptr %t13953 br label %put2807 put2807: %t13967 = load ptr, ptr %t13954 %t13968 = getelementptr inbounds ptr, ptr %t13967, i32 %t13955 store ptr @.str7992, ptr %t13968 %t13969 = add i32 %t13955, 1 store i32 %t13969, ptr %t13952 br label %ifend2803 ifend2803: %t13970 = load ptr, ptr %t1 %t13971 = call i32 @lp_str_eq(ptr %t13970, ptr @.str7993) %t13972 = icmp ne i32 %t13971, 0 br i1 %t13972, label %then2808, label %ifend2810 then2808: store ptr @.str7994, ptr %t380 %t13973 = load ptr, ptr %t387 %t13974 = getelementptr inbounds %LSlice, ptr %t13973, i32 0, i32 1 %t13975 = getelementptr inbounds %LSlice, ptr %t13973, i32 0, i32 2 %t13976 = getelementptr inbounds %LSlice, ptr %t13973, i32 0, i32 0 %t13977 = load i32, ptr %t13974 %t13978 = load i32, ptr %t13975 %t13979 = icmp sge i32 %t13977, %t13978 br i1 %t13979, label %grow2811, label %put2812 grow2811: %t13980 = mul i32 %t13978, 2 %t13981 = icmp eq i32 %t13978, 0 %t13982 = select i1 %t13981, i32 8, i32 %t13980 %t13983 = getelementptr ptr, ptr null, i32 1 %t13984 = ptrtoint ptr %t13983 to i64 %t13985 = zext i32 %t13982 to i64 %t13986 = mul i64 %t13985, %t13984 %t13987 = load ptr, ptr %t13976 %t13988 = call ptr @realloc(ptr %t13987, i64 %t13986) store ptr %t13988, ptr %t13976 store i32 %t13982, ptr %t13975 br label %put2812 put2812: %t13989 = load ptr, ptr %t13976 %t13990 = getelementptr inbounds ptr, ptr %t13989, i32 %t13977 store ptr @.str7995, ptr %t13990 %t13991 = add i32 %t13977, 1 store i32 %t13991, ptr %t13974 %t13992 = load ptr, ptr %t387 %t13993 = getelementptr inbounds %LSlice, ptr %t13992, i32 0, i32 1 %t13994 = getelementptr inbounds %LSlice, ptr %t13992, i32 0, i32 2 %t13995 = getelementptr inbounds %LSlice, ptr %t13992, i32 0, i32 0 %t13996 = load i32, ptr %t13993 %t13997 = load i32, ptr %t13994 %t13998 = icmp sge i32 %t13996, %t13997 br i1 %t13998, label %grow2813, label %put2814 grow2813: %t13999 = mul i32 %t13997, 2 %t14000 = icmp eq i32 %t13997, 0 %t14001 = select i1 %t14000, i32 8, i32 %t13999 %t14002 = getelementptr ptr, ptr null, i32 1 %t14003 = ptrtoint ptr %t14002 to i64 %t14004 = zext i32 %t14001 to i64 %t14005 = mul i64 %t14004, %t14003 %t14006 = load ptr, ptr %t13995 %t14007 = call ptr @realloc(ptr %t14006, i64 %t14005) store ptr %t14007, ptr %t13995 store i32 %t14001, ptr %t13994 br label %put2814 put2814: %t14008 = load ptr, ptr %t13995 %t14009 = getelementptr inbounds ptr, ptr %t14008, i32 %t13996 store ptr @.str7996, ptr %t14009 %t14010 = add i32 %t13996, 1 store i32 %t14010, ptr %t13993 br label %ifend2810 ifend2810: %t14011 = load ptr, ptr %t1 %t14012 = call i32 @lp_str_eq(ptr %t14011, ptr @.str7997) %t14013 = icmp ne i32 %t14012, 0 br i1 %t14013, label %then2815, label %ifend2817 then2815: store ptr @.str7998, ptr %t380 %t14014 = load ptr, ptr %t387 %t14015 = getelementptr inbounds %LSlice, ptr %t14014, i32 0, i32 1 %t14016 = getelementptr inbounds %LSlice, ptr %t14014, i32 0, i32 2 %t14017 = getelementptr inbounds %LSlice, ptr %t14014, i32 0, i32 0 %t14018 = load i32, ptr %t14015 %t14019 = load i32, ptr %t14016 %t14020 = icmp sge i32 %t14018, %t14019 br i1 %t14020, label %grow2818, label %put2819 grow2818: %t14021 = mul i32 %t14019, 2 %t14022 = icmp eq i32 %t14019, 0 %t14023 = select i1 %t14022, i32 8, i32 %t14021 %t14024 = getelementptr ptr, ptr null, i32 1 %t14025 = ptrtoint ptr %t14024 to i64 %t14026 = zext i32 %t14023 to i64 %t14027 = mul i64 %t14026, %t14025 %t14028 = load ptr, ptr %t14017 %t14029 = call ptr @realloc(ptr %t14028, i64 %t14027) store ptr %t14029, ptr %t14017 store i32 %t14023, ptr %t14016 br label %put2819 put2819: %t14030 = load ptr, ptr %t14017 %t14031 = getelementptr inbounds ptr, ptr %t14030, i32 %t14018 store ptr @.str7999, ptr %t14031 %t14032 = add i32 %t14018, 1 store i32 %t14032, ptr %t14015 %t14033 = load ptr, ptr %t387 %t14034 = getelementptr inbounds %LSlice, ptr %t14033, i32 0, i32 1 %t14035 = getelementptr inbounds %LSlice, ptr %t14033, i32 0, i32 2 %t14036 = getelementptr inbounds %LSlice, ptr %t14033, i32 0, i32 0 %t14037 = load i32, ptr %t14034 %t14038 = load i32, ptr %t14035 %t14039 = icmp sge i32 %t14037, %t14038 br i1 %t14039, label %grow2820, label %put2821 grow2820: %t14040 = mul i32 %t14038, 2 %t14041 = icmp eq i32 %t14038, 0 %t14042 = select i1 %t14041, i32 8, i32 %t14040 %t14043 = getelementptr ptr, ptr null, i32 1 %t14044 = ptrtoint ptr %t14043 to i64 %t14045 = zext i32 %t14042 to i64 %t14046 = mul i64 %t14045, %t14044 %t14047 = load ptr, ptr %t14036 %t14048 = call ptr @realloc(ptr %t14047, i64 %t14046) store ptr %t14048, ptr %t14036 store i32 %t14042, ptr %t14035 br label %put2821 put2821: %t14049 = load ptr, ptr %t14036 %t14050 = getelementptr inbounds ptr, ptr %t14049, i32 %t14037 store ptr @.str8000, ptr %t14050 %t14051 = add i32 %t14037, 1 store i32 %t14051, ptr %t14034 br label %ifend2817 ifend2817: %t14052 = load ptr, ptr %t1 %t14053 = call i32 @lp_str_eq(ptr %t14052, ptr @.str8001) %t14054 = icmp ne i32 %t14053, 0 br i1 %t14054, label %then2822, label %ifend2824 then2822: store ptr @.str8002, ptr %t380 %t14055 = load ptr, ptr %t387 %t14056 = getelementptr inbounds %LSlice, ptr %t14055, i32 0, i32 1 %t14057 = getelementptr inbounds %LSlice, ptr %t14055, i32 0, i32 2 %t14058 = getelementptr inbounds %LSlice, ptr %t14055, i32 0, i32 0 %t14059 = load i32, ptr %t14056 %t14060 = load i32, ptr %t14057 %t14061 = icmp sge i32 %t14059, %t14060 br i1 %t14061, label %grow2825, label %put2826 grow2825: %t14062 = mul i32 %t14060, 2 %t14063 = icmp eq i32 %t14060, 0 %t14064 = select i1 %t14063, i32 8, i32 %t14062 %t14065 = getelementptr ptr, ptr null, i32 1 %t14066 = ptrtoint ptr %t14065 to i64 %t14067 = zext i32 %t14064 to i64 %t14068 = mul i64 %t14067, %t14066 %t14069 = load ptr, ptr %t14058 %t14070 = call ptr @realloc(ptr %t14069, i64 %t14068) store ptr %t14070, ptr %t14058 store i32 %t14064, ptr %t14057 br label %put2826 put2826: %t14071 = load ptr, ptr %t14058 %t14072 = getelementptr inbounds ptr, ptr %t14071, i32 %t14059 store ptr @.str8003, ptr %t14072 %t14073 = add i32 %t14059, 1 store i32 %t14073, ptr %t14056 br label %ifend2824 ifend2824: %t14074 = load ptr, ptr %t1 %t14075 = call i32 @lp_str_eq(ptr %t14074, ptr @.str8004) %t14076 = icmp ne i32 %t14075, 0 br i1 %t14076, label %then2827, label %ifend2829 then2827: store ptr @.str8005, ptr %t380 %t14077 = load ptr, ptr %t387 %t14078 = getelementptr inbounds %LSlice, ptr %t14077, i32 0, i32 1 %t14079 = getelementptr inbounds %LSlice, ptr %t14077, i32 0, i32 2 %t14080 = getelementptr inbounds %LSlice, ptr %t14077, i32 0, i32 0 %t14081 = load i32, ptr %t14078 %t14082 = load i32, ptr %t14079 %t14083 = icmp sge i32 %t14081, %t14082 br i1 %t14083, label %grow2830, label %put2831 grow2830: %t14084 = mul i32 %t14082, 2 %t14085 = icmp eq i32 %t14082, 0 %t14086 = select i1 %t14085, i32 8, i32 %t14084 %t14087 = getelementptr ptr, ptr null, i32 1 %t14088 = ptrtoint ptr %t14087 to i64 %t14089 = zext i32 %t14086 to i64 %t14090 = mul i64 %t14089, %t14088 %t14091 = load ptr, ptr %t14080 %t14092 = call ptr @realloc(ptr %t14091, i64 %t14090) store ptr %t14092, ptr %t14080 store i32 %t14086, ptr %t14079 br label %put2831 put2831: %t14093 = load ptr, ptr %t14080 %t14094 = getelementptr inbounds ptr, ptr %t14093, i32 %t14081 store ptr @.str8006, ptr %t14094 %t14095 = add i32 %t14081, 1 store i32 %t14095, ptr %t14078 %t14096 = load ptr, ptr %t387 %t14097 = getelementptr inbounds %LSlice, ptr %t14096, i32 0, i32 1 %t14098 = getelementptr inbounds %LSlice, ptr %t14096, i32 0, i32 2 %t14099 = getelementptr inbounds %LSlice, ptr %t14096, i32 0, i32 0 %t14100 = load i32, ptr %t14097 %t14101 = load i32, ptr %t14098 %t14102 = icmp sge i32 %t14100, %t14101 br i1 %t14102, label %grow2832, label %put2833 grow2832: %t14103 = mul i32 %t14101, 2 %t14104 = icmp eq i32 %t14101, 0 %t14105 = select i1 %t14104, i32 8, i32 %t14103 %t14106 = getelementptr ptr, ptr null, i32 1 %t14107 = ptrtoint ptr %t14106 to i64 %t14108 = zext i32 %t14105 to i64 %t14109 = mul i64 %t14108, %t14107 %t14110 = load ptr, ptr %t14099 %t14111 = call ptr @realloc(ptr %t14110, i64 %t14109) store ptr %t14111, ptr %t14099 store i32 %t14105, ptr %t14098 br label %put2833 put2833: %t14112 = load ptr, ptr %t14099 %t14113 = getelementptr inbounds ptr, ptr %t14112, i32 %t14100 store ptr @.str8007, ptr %t14113 %t14114 = add i32 %t14100, 1 store i32 %t14114, ptr %t14097 %t14115 = load ptr, ptr %t387 %t14116 = getelementptr inbounds %LSlice, ptr %t14115, i32 0, i32 1 %t14117 = getelementptr inbounds %LSlice, ptr %t14115, i32 0, i32 2 %t14118 = getelementptr inbounds %LSlice, ptr %t14115, i32 0, i32 0 %t14119 = load i32, ptr %t14116 %t14120 = load i32, ptr %t14117 %t14121 = icmp sge i32 %t14119, %t14120 br i1 %t14121, label %grow2834, label %put2835 grow2834: %t14122 = mul i32 %t14120, 2 %t14123 = icmp eq i32 %t14120, 0 %t14124 = select i1 %t14123, i32 8, i32 %t14122 %t14125 = getelementptr ptr, ptr null, i32 1 %t14126 = ptrtoint ptr %t14125 to i64 %t14127 = zext i32 %t14124 to i64 %t14128 = mul i64 %t14127, %t14126 %t14129 = load ptr, ptr %t14118 %t14130 = call ptr @realloc(ptr %t14129, i64 %t14128) store ptr %t14130, ptr %t14118 store i32 %t14124, ptr %t14117 br label %put2835 put2835: %t14131 = load ptr, ptr %t14118 %t14132 = getelementptr inbounds ptr, ptr %t14131, i32 %t14119 store ptr @.str8008, ptr %t14132 %t14133 = add i32 %t14119, 1 store i32 %t14133, ptr %t14116 br label %ifend2829 ifend2829: %t14134 = load ptr, ptr %t1 %t14135 = call i32 @lp_str_eq(ptr %t14134, ptr @.str8009) %t14136 = icmp ne i32 %t14135, 0 br i1 %t14136, label %then2836, label %ifend2838 then2836: store ptr @.str8010, ptr %t380 %t14137 = load ptr, ptr %t387 %t14138 = getelementptr inbounds %LSlice, ptr %t14137, i32 0, i32 1 %t14139 = getelementptr inbounds %LSlice, ptr %t14137, i32 0, i32 2 %t14140 = getelementptr inbounds %LSlice, ptr %t14137, i32 0, i32 0 %t14141 = load i32, ptr %t14138 %t14142 = load i32, ptr %t14139 %t14143 = icmp sge i32 %t14141, %t14142 br i1 %t14143, label %grow2839, label %put2840 grow2839: %t14144 = mul i32 %t14142, 2 %t14145 = icmp eq i32 %t14142, 0 %t14146 = select i1 %t14145, i32 8, i32 %t14144 %t14147 = getelementptr ptr, ptr null, i32 1 %t14148 = ptrtoint ptr %t14147 to i64 %t14149 = zext i32 %t14146 to i64 %t14150 = mul i64 %t14149, %t14148 %t14151 = load ptr, ptr %t14140 %t14152 = call ptr @realloc(ptr %t14151, i64 %t14150) store ptr %t14152, ptr %t14140 store i32 %t14146, ptr %t14139 br label %put2840 put2840: %t14153 = load ptr, ptr %t14140 %t14154 = getelementptr inbounds ptr, ptr %t14153, i32 %t14141 store ptr @.str8011, ptr %t14154 %t14155 = add i32 %t14141, 1 store i32 %t14155, ptr %t14138 %t14156 = load ptr, ptr %t387 %t14157 = getelementptr inbounds %LSlice, ptr %t14156, i32 0, i32 1 %t14158 = getelementptr inbounds %LSlice, ptr %t14156, i32 0, i32 2 %t14159 = getelementptr inbounds %LSlice, ptr %t14156, i32 0, i32 0 %t14160 = load i32, ptr %t14157 %t14161 = load i32, ptr %t14158 %t14162 = icmp sge i32 %t14160, %t14161 br i1 %t14162, label %grow2841, label %put2842 grow2841: %t14163 = mul i32 %t14161, 2 %t14164 = icmp eq i32 %t14161, 0 %t14165 = select i1 %t14164, i32 8, i32 %t14163 %t14166 = getelementptr ptr, ptr null, i32 1 %t14167 = ptrtoint ptr %t14166 to i64 %t14168 = zext i32 %t14165 to i64 %t14169 = mul i64 %t14168, %t14167 %t14170 = load ptr, ptr %t14159 %t14171 = call ptr @realloc(ptr %t14170, i64 %t14169) store ptr %t14171, ptr %t14159 store i32 %t14165, ptr %t14158 br label %put2842 put2842: %t14172 = load ptr, ptr %t14159 %t14173 = getelementptr inbounds ptr, ptr %t14172, i32 %t14160 store ptr @.str8012, ptr %t14173 %t14174 = add i32 %t14160, 1 store i32 %t14174, ptr %t14157 br label %ifend2838 ifend2838: %t14175 = load ptr, ptr %t1 %t14176 = call i32 @lp_str_eq(ptr %t14175, ptr @.str8013) %t14177 = icmp ne i32 %t14176, 0 br i1 %t14177, label %then2843, label %ifend2845 then2843: store ptr @.str8014, ptr %t380 %t14178 = load ptr, ptr %t387 %t14179 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 1 %t14180 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 2 %t14181 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 0 %t14182 = load i32, ptr %t14179 %t14183 = load i32, ptr %t14180 %t14184 = icmp sge i32 %t14182, %t14183 br i1 %t14184, label %grow2846, label %put2847 grow2846: %t14185 = mul i32 %t14183, 2 %t14186 = icmp eq i32 %t14183, 0 %t14187 = select i1 %t14186, i32 8, i32 %t14185 %t14188 = getelementptr ptr, ptr null, i32 1 %t14189 = ptrtoint ptr %t14188 to i64 %t14190 = zext i32 %t14187 to i64 %t14191 = mul i64 %t14190, %t14189 %t14192 = load ptr, ptr %t14181 %t14193 = call ptr @realloc(ptr %t14192, i64 %t14191) store ptr %t14193, ptr %t14181 store i32 %t14187, ptr %t14180 br label %put2847 put2847: %t14194 = load ptr, ptr %t14181 %t14195 = getelementptr inbounds ptr, ptr %t14194, i32 %t14182 store ptr @.str8015, ptr %t14195 %t14196 = add i32 %t14182, 1 store i32 %t14196, ptr %t14179 %t14197 = load ptr, ptr %t387 %t14198 = getelementptr inbounds %LSlice, ptr %t14197, i32 0, i32 1 %t14199 = getelementptr inbounds %LSlice, ptr %t14197, i32 0, i32 2 %t14200 = getelementptr inbounds %LSlice, ptr %t14197, i32 0, i32 0 %t14201 = load i32, ptr %t14198 %t14202 = load i32, ptr %t14199 %t14203 = icmp sge i32 %t14201, %t14202 br i1 %t14203, label %grow2848, label %put2849 grow2848: %t14204 = mul i32 %t14202, 2 %t14205 = icmp eq i32 %t14202, 0 %t14206 = select i1 %t14205, i32 8, i32 %t14204 %t14207 = getelementptr ptr, ptr null, i32 1 %t14208 = ptrtoint ptr %t14207 to i64 %t14209 = zext i32 %t14206 to i64 %t14210 = mul i64 %t14209, %t14208 %t14211 = load ptr, ptr %t14200 %t14212 = call ptr @realloc(ptr %t14211, i64 %t14210) store ptr %t14212, ptr %t14200 store i32 %t14206, ptr %t14199 br label %put2849 put2849: %t14213 = load ptr, ptr %t14200 %t14214 = getelementptr inbounds ptr, ptr %t14213, i32 %t14201 store ptr @.str8016, ptr %t14214 %t14215 = add i32 %t14201, 1 store i32 %t14215, ptr %t14198 br label %ifend2845 ifend2845: %t14216 = load ptr, ptr %t1 %t14217 = call i32 @lp_str_eq(ptr %t14216, ptr @.str8017) %t14218 = icmp ne i32 %t14217, 0 br i1 %t14218, label %then2850, label %ifend2852 then2850: store ptr @.str8018, ptr %t380 %t14219 = load ptr, ptr %t387 %t14220 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 1 %t14221 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 2 %t14222 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 0 %t14223 = load i32, ptr %t14220 %t14224 = load i32, ptr %t14221 %t14225 = icmp sge i32 %t14223, %t14224 br i1 %t14225, label %grow2853, label %put2854 grow2853: %t14226 = mul i32 %t14224, 2 %t14227 = icmp eq i32 %t14224, 0 %t14228 = select i1 %t14227, i32 8, i32 %t14226 %t14229 = getelementptr ptr, ptr null, i32 1 %t14230 = ptrtoint ptr %t14229 to i64 %t14231 = zext i32 %t14228 to i64 %t14232 = mul i64 %t14231, %t14230 %t14233 = load ptr, ptr %t14222 %t14234 = call ptr @realloc(ptr %t14233, i64 %t14232) store ptr %t14234, ptr %t14222 store i32 %t14228, ptr %t14221 br label %put2854 put2854: %t14235 = load ptr, ptr %t14222 %t14236 = getelementptr inbounds ptr, ptr %t14235, i32 %t14223 store ptr @.str8019, ptr %t14236 %t14237 = add i32 %t14223, 1 store i32 %t14237, ptr %t14220 %t14238 = load ptr, ptr %t387 %t14239 = getelementptr inbounds %LSlice, ptr %t14238, i32 0, i32 1 %t14240 = getelementptr inbounds %LSlice, ptr %t14238, i32 0, i32 2 %t14241 = getelementptr inbounds %LSlice, ptr %t14238, i32 0, i32 0 %t14242 = load i32, ptr %t14239 %t14243 = load i32, ptr %t14240 %t14244 = icmp sge i32 %t14242, %t14243 br i1 %t14244, label %grow2855, label %put2856 grow2855: %t14245 = mul i32 %t14243, 2 %t14246 = icmp eq i32 %t14243, 0 %t14247 = select i1 %t14246, i32 8, i32 %t14245 %t14248 = getelementptr ptr, ptr null, i32 1 %t14249 = ptrtoint ptr %t14248 to i64 %t14250 = zext i32 %t14247 to i64 %t14251 = mul i64 %t14250, %t14249 %t14252 = load ptr, ptr %t14241 %t14253 = call ptr @realloc(ptr %t14252, i64 %t14251) store ptr %t14253, ptr %t14241 store i32 %t14247, ptr %t14240 br label %put2856 put2856: %t14254 = load ptr, ptr %t14241 %t14255 = getelementptr inbounds ptr, ptr %t14254, i32 %t14242 store ptr @.str8020, ptr %t14255 %t14256 = add i32 %t14242, 1 store i32 %t14256, ptr %t14239 %t14257 = load ptr, ptr %t387 %t14258 = getelementptr inbounds %LSlice, ptr %t14257, i32 0, i32 1 %t14259 = getelementptr inbounds %LSlice, ptr %t14257, i32 0, i32 2 %t14260 = getelementptr inbounds %LSlice, ptr %t14257, i32 0, i32 0 %t14261 = load i32, ptr %t14258 %t14262 = load i32, ptr %t14259 %t14263 = icmp sge i32 %t14261, %t14262 br i1 %t14263, label %grow2857, label %put2858 grow2857: %t14264 = mul i32 %t14262, 2 %t14265 = icmp eq i32 %t14262, 0 %t14266 = select i1 %t14265, i32 8, i32 %t14264 %t14267 = getelementptr ptr, ptr null, i32 1 %t14268 = ptrtoint ptr %t14267 to i64 %t14269 = zext i32 %t14266 to i64 %t14270 = mul i64 %t14269, %t14268 %t14271 = load ptr, ptr %t14260 %t14272 = call ptr @realloc(ptr %t14271, i64 %t14270) store ptr %t14272, ptr %t14260 store i32 %t14266, ptr %t14259 br label %put2858 put2858: %t14273 = load ptr, ptr %t14260 %t14274 = getelementptr inbounds ptr, ptr %t14273, i32 %t14261 store ptr @.str8021, ptr %t14274 %t14275 = add i32 %t14261, 1 store i32 %t14275, ptr %t14258 br label %ifend2852 ifend2852: %t14276 = load ptr, ptr %t1 %t14277 = call i32 @lp_str_eq(ptr %t14276, ptr @.str8022) %t14278 = icmp ne i32 %t14277, 0 br i1 %t14278, label %then2859, label %ifend2861 then2859: store ptr @.str8023, ptr %t380 %t14279 = load ptr, ptr %t387 %t14280 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 1 %t14281 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 2 %t14282 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 0 %t14283 = load i32, ptr %t14280 %t14284 = load i32, ptr %t14281 %t14285 = icmp sge i32 %t14283, %t14284 br i1 %t14285, label %grow2862, label %put2863 grow2862: %t14286 = mul i32 %t14284, 2 %t14287 = icmp eq i32 %t14284, 0 %t14288 = select i1 %t14287, i32 8, i32 %t14286 %t14289 = getelementptr ptr, ptr null, i32 1 %t14290 = ptrtoint ptr %t14289 to i64 %t14291 = zext i32 %t14288 to i64 %t14292 = mul i64 %t14291, %t14290 %t14293 = load ptr, ptr %t14282 %t14294 = call ptr @realloc(ptr %t14293, i64 %t14292) store ptr %t14294, ptr %t14282 store i32 %t14288, ptr %t14281 br label %put2863 put2863: %t14295 = load ptr, ptr %t14282 %t14296 = getelementptr inbounds ptr, ptr %t14295, i32 %t14283 store ptr @.str8024, ptr %t14296 %t14297 = add i32 %t14283, 1 store i32 %t14297, ptr %t14280 br label %ifend2861 ifend2861: %t14298 = load ptr, ptr %t1 %t14299 = call i32 @lp_str_eq(ptr %t14298, ptr @.str8025) %t14300 = icmp ne i32 %t14299, 0 br i1 %t14300, label %then2864, label %ifend2866 then2864: store ptr @.str8026, ptr %t380 %t14301 = load ptr, ptr %t387 %t14302 = getelementptr inbounds %LSlice, ptr %t14301, i32 0, i32 1 %t14303 = getelementptr inbounds %LSlice, ptr %t14301, i32 0, i32 2 %t14304 = getelementptr inbounds %LSlice, ptr %t14301, i32 0, i32 0 %t14305 = load i32, ptr %t14302 %t14306 = load i32, ptr %t14303 %t14307 = icmp sge i32 %t14305, %t14306 br i1 %t14307, label %grow2867, label %put2868 grow2867: %t14308 = mul i32 %t14306, 2 %t14309 = icmp eq i32 %t14306, 0 %t14310 = select i1 %t14309, i32 8, i32 %t14308 %t14311 = getelementptr ptr, ptr null, i32 1 %t14312 = ptrtoint ptr %t14311 to i64 %t14313 = zext i32 %t14310 to i64 %t14314 = mul i64 %t14313, %t14312 %t14315 = load ptr, ptr %t14304 %t14316 = call ptr @realloc(ptr %t14315, i64 %t14314) store ptr %t14316, ptr %t14304 store i32 %t14310, ptr %t14303 br label %put2868 put2868: %t14317 = load ptr, ptr %t14304 %t14318 = getelementptr inbounds ptr, ptr %t14317, i32 %t14305 store ptr @.str8027, ptr %t14318 %t14319 = add i32 %t14305, 1 store i32 %t14319, ptr %t14302 %t14320 = load ptr, ptr %t387 %t14321 = getelementptr inbounds %LSlice, ptr %t14320, i32 0, i32 1 %t14322 = getelementptr inbounds %LSlice, ptr %t14320, i32 0, i32 2 %t14323 = getelementptr inbounds %LSlice, ptr %t14320, i32 0, i32 0 %t14324 = load i32, ptr %t14321 %t14325 = load i32, ptr %t14322 %t14326 = icmp sge i32 %t14324, %t14325 br i1 %t14326, label %grow2869, label %put2870 grow2869: %t14327 = mul i32 %t14325, 2 %t14328 = icmp eq i32 %t14325, 0 %t14329 = select i1 %t14328, i32 8, i32 %t14327 %t14330 = getelementptr ptr, ptr null, i32 1 %t14331 = ptrtoint ptr %t14330 to i64 %t14332 = zext i32 %t14329 to i64 %t14333 = mul i64 %t14332, %t14331 %t14334 = load ptr, ptr %t14323 %t14335 = call ptr @realloc(ptr %t14334, i64 %t14333) store ptr %t14335, ptr %t14323 store i32 %t14329, ptr %t14322 br label %put2870 put2870: %t14336 = load ptr, ptr %t14323 %t14337 = getelementptr inbounds ptr, ptr %t14336, i32 %t14324 store ptr @.str8028, ptr %t14337 %t14338 = add i32 %t14324, 1 store i32 %t14338, ptr %t14321 br label %ifend2866 ifend2866: %t14339 = load ptr, ptr %t1 %t14340 = call i32 @lp_str_eq(ptr %t14339, ptr @.str8029) %t14341 = icmp ne i32 %t14340, 0 br i1 %t14341, label %then2871, label %ifend2873 then2871: store ptr @.str8030, ptr %t380 %t14342 = load ptr, ptr %t387 %t14343 = getelementptr inbounds %LSlice, ptr %t14342, i32 0, i32 1 %t14344 = getelementptr inbounds %LSlice, ptr %t14342, i32 0, i32 2 %t14345 = getelementptr inbounds %LSlice, ptr %t14342, i32 0, i32 0 %t14346 = load i32, ptr %t14343 %t14347 = load i32, ptr %t14344 %t14348 = icmp sge i32 %t14346, %t14347 br i1 %t14348, label %grow2874, label %put2875 grow2874: %t14349 = mul i32 %t14347, 2 %t14350 = icmp eq i32 %t14347, 0 %t14351 = select i1 %t14350, i32 8, i32 %t14349 %t14352 = getelementptr ptr, ptr null, i32 1 %t14353 = ptrtoint ptr %t14352 to i64 %t14354 = zext i32 %t14351 to i64 %t14355 = mul i64 %t14354, %t14353 %t14356 = load ptr, ptr %t14345 %t14357 = call ptr @realloc(ptr %t14356, i64 %t14355) store ptr %t14357, ptr %t14345 store i32 %t14351, ptr %t14344 br label %put2875 put2875: %t14358 = load ptr, ptr %t14345 %t14359 = getelementptr inbounds ptr, ptr %t14358, i32 %t14346 store ptr @.str8031, ptr %t14359 %t14360 = add i32 %t14346, 1 store i32 %t14360, ptr %t14343 %t14361 = load ptr, ptr %t387 %t14362 = getelementptr inbounds %LSlice, ptr %t14361, i32 0, i32 1 %t14363 = getelementptr inbounds %LSlice, ptr %t14361, i32 0, i32 2 %t14364 = getelementptr inbounds %LSlice, ptr %t14361, i32 0, i32 0 %t14365 = load i32, ptr %t14362 %t14366 = load i32, ptr %t14363 %t14367 = icmp sge i32 %t14365, %t14366 br i1 %t14367, label %grow2876, label %put2877 grow2876: %t14368 = mul i32 %t14366, 2 %t14369 = icmp eq i32 %t14366, 0 %t14370 = select i1 %t14369, i32 8, i32 %t14368 %t14371 = getelementptr ptr, ptr null, i32 1 %t14372 = ptrtoint ptr %t14371 to i64 %t14373 = zext i32 %t14370 to i64 %t14374 = mul i64 %t14373, %t14372 %t14375 = load ptr, ptr %t14364 %t14376 = call ptr @realloc(ptr %t14375, i64 %t14374) store ptr %t14376, ptr %t14364 store i32 %t14370, ptr %t14363 br label %put2877 put2877: %t14377 = load ptr, ptr %t14364 %t14378 = getelementptr inbounds ptr, ptr %t14377, i32 %t14365 store ptr @.str8032, ptr %t14378 %t14379 = add i32 %t14365, 1 store i32 %t14379, ptr %t14362 br label %ifend2873 ifend2873: %t14380 = load ptr, ptr %t1 %t14381 = call i32 @lp_str_eq(ptr %t14380, ptr @.str8033) %t14382 = icmp ne i32 %t14381, 0 br i1 %t14382, label %then2878, label %ifend2880 then2878: store ptr @.str8034, ptr %t380 %t14383 = load ptr, ptr %t387 %t14384 = getelementptr inbounds %LSlice, ptr %t14383, i32 0, i32 1 %t14385 = getelementptr inbounds %LSlice, ptr %t14383, i32 0, i32 2 %t14386 = getelementptr inbounds %LSlice, ptr %t14383, i32 0, i32 0 %t14387 = load i32, ptr %t14384 %t14388 = load i32, ptr %t14385 %t14389 = icmp sge i32 %t14387, %t14388 br i1 %t14389, label %grow2881, label %put2882 grow2881: %t14390 = mul i32 %t14388, 2 %t14391 = icmp eq i32 %t14388, 0 %t14392 = select i1 %t14391, i32 8, i32 %t14390 %t14393 = getelementptr ptr, ptr null, i32 1 %t14394 = ptrtoint ptr %t14393 to i64 %t14395 = zext i32 %t14392 to i64 %t14396 = mul i64 %t14395, %t14394 %t14397 = load ptr, ptr %t14386 %t14398 = call ptr @realloc(ptr %t14397, i64 %t14396) store ptr %t14398, ptr %t14386 store i32 %t14392, ptr %t14385 br label %put2882 put2882: %t14399 = load ptr, ptr %t14386 %t14400 = getelementptr inbounds ptr, ptr %t14399, i32 %t14387 store ptr @.str8035, ptr %t14400 %t14401 = add i32 %t14387, 1 store i32 %t14401, ptr %t14384 %t14402 = load ptr, ptr %t387 %t14403 = getelementptr inbounds %LSlice, ptr %t14402, i32 0, i32 1 %t14404 = getelementptr inbounds %LSlice, ptr %t14402, i32 0, i32 2 %t14405 = getelementptr inbounds %LSlice, ptr %t14402, i32 0, i32 0 %t14406 = load i32, ptr %t14403 %t14407 = load i32, ptr %t14404 %t14408 = icmp sge i32 %t14406, %t14407 br i1 %t14408, label %grow2883, label %put2884 grow2883: %t14409 = mul i32 %t14407, 2 %t14410 = icmp eq i32 %t14407, 0 %t14411 = select i1 %t14410, i32 8, i32 %t14409 %t14412 = getelementptr ptr, ptr null, i32 1 %t14413 = ptrtoint ptr %t14412 to i64 %t14414 = zext i32 %t14411 to i64 %t14415 = mul i64 %t14414, %t14413 %t14416 = load ptr, ptr %t14405 %t14417 = call ptr @realloc(ptr %t14416, i64 %t14415) store ptr %t14417, ptr %t14405 store i32 %t14411, ptr %t14404 br label %put2884 put2884: %t14418 = load ptr, ptr %t14405 %t14419 = getelementptr inbounds ptr, ptr %t14418, i32 %t14406 store ptr @.str8036, ptr %t14419 %t14420 = add i32 %t14406, 1 store i32 %t14420, ptr %t14403 br label %ifend2880 ifend2880: %t14421 = load ptr, ptr %t1 %t14422 = call i32 @lp_str_eq(ptr %t14421, ptr @.str8037) %t14423 = icmp ne i32 %t14422, 0 br i1 %t14423, label %then2885, label %ifend2887 then2885: store ptr @.str8038, ptr %t380 %t14424 = load ptr, ptr %t387 %t14425 = getelementptr inbounds %LSlice, ptr %t14424, i32 0, i32 1 %t14426 = getelementptr inbounds %LSlice, ptr %t14424, i32 0, i32 2 %t14427 = getelementptr inbounds %LSlice, ptr %t14424, i32 0, i32 0 %t14428 = load i32, ptr %t14425 %t14429 = load i32, ptr %t14426 %t14430 = icmp sge i32 %t14428, %t14429 br i1 %t14430, label %grow2888, label %put2889 grow2888: %t14431 = mul i32 %t14429, 2 %t14432 = icmp eq i32 %t14429, 0 %t14433 = select i1 %t14432, i32 8, i32 %t14431 %t14434 = getelementptr ptr, ptr null, i32 1 %t14435 = ptrtoint ptr %t14434 to i64 %t14436 = zext i32 %t14433 to i64 %t14437 = mul i64 %t14436, %t14435 %t14438 = load ptr, ptr %t14427 %t14439 = call ptr @realloc(ptr %t14438, i64 %t14437) store ptr %t14439, ptr %t14427 store i32 %t14433, ptr %t14426 br label %put2889 put2889: %t14440 = load ptr, ptr %t14427 %t14441 = getelementptr inbounds ptr, ptr %t14440, i32 %t14428 store ptr @.str8039, ptr %t14441 %t14442 = add i32 %t14428, 1 store i32 %t14442, ptr %t14425 br label %ifend2887 ifend2887: %t14443 = load ptr, ptr %t1 %t14444 = call i32 @lp_str_eq(ptr %t14443, ptr @.str8040) %t14445 = icmp ne i32 %t14444, 0 br i1 %t14445, label %then2890, label %ifend2892 then2890: store ptr @.str8041, ptr %t380 %t14446 = load ptr, ptr %t387 %t14447 = getelementptr inbounds %LSlice, ptr %t14446, i32 0, i32 1 %t14448 = getelementptr inbounds %LSlice, ptr %t14446, i32 0, i32 2 %t14449 = getelementptr inbounds %LSlice, ptr %t14446, i32 0, i32 0 %t14450 = load i32, ptr %t14447 %t14451 = load i32, ptr %t14448 %t14452 = icmp sge i32 %t14450, %t14451 br i1 %t14452, label %grow2893, label %put2894 grow2893: %t14453 = mul i32 %t14451, 2 %t14454 = icmp eq i32 %t14451, 0 %t14455 = select i1 %t14454, i32 8, i32 %t14453 %t14456 = getelementptr ptr, ptr null, i32 1 %t14457 = ptrtoint ptr %t14456 to i64 %t14458 = zext i32 %t14455 to i64 %t14459 = mul i64 %t14458, %t14457 %t14460 = load ptr, ptr %t14449 %t14461 = call ptr @realloc(ptr %t14460, i64 %t14459) store ptr %t14461, ptr %t14449 store i32 %t14455, ptr %t14448 br label %put2894 put2894: %t14462 = load ptr, ptr %t14449 %t14463 = getelementptr inbounds ptr, ptr %t14462, i32 %t14450 store ptr @.str8042, ptr %t14463 %t14464 = add i32 %t14450, 1 store i32 %t14464, ptr %t14447 br label %ifend2892 ifend2892: %t14465 = load ptr, ptr %t1 %t14466 = call i32 @lp_str_eq(ptr %t14465, ptr @.str8043) %t14467 = icmp ne i32 %t14466, 0 br i1 %t14467, label %then2895, label %ifend2897 then2895: store ptr @.str8044, ptr %t380 %t14468 = load ptr, ptr %t387 %t14469 = getelementptr inbounds %LSlice, ptr %t14468, i32 0, i32 1 %t14470 = getelementptr inbounds %LSlice, ptr %t14468, i32 0, i32 2 %t14471 = getelementptr inbounds %LSlice, ptr %t14468, i32 0, i32 0 %t14472 = load i32, ptr %t14469 %t14473 = load i32, ptr %t14470 %t14474 = icmp sge i32 %t14472, %t14473 br i1 %t14474, label %grow2898, label %put2899 grow2898: %t14475 = mul i32 %t14473, 2 %t14476 = icmp eq i32 %t14473, 0 %t14477 = select i1 %t14476, i32 8, i32 %t14475 %t14478 = getelementptr ptr, ptr null, i32 1 %t14479 = ptrtoint ptr %t14478 to i64 %t14480 = zext i32 %t14477 to i64 %t14481 = mul i64 %t14480, %t14479 %t14482 = load ptr, ptr %t14471 %t14483 = call ptr @realloc(ptr %t14482, i64 %t14481) store ptr %t14483, ptr %t14471 store i32 %t14477, ptr %t14470 br label %put2899 put2899: %t14484 = load ptr, ptr %t14471 %t14485 = getelementptr inbounds ptr, ptr %t14484, i32 %t14472 store ptr @.str8045, ptr %t14485 %t14486 = add i32 %t14472, 1 store i32 %t14486, ptr %t14469 %t14487 = load ptr, ptr %t387 %t14488 = getelementptr inbounds %LSlice, ptr %t14487, i32 0, i32 1 %t14489 = getelementptr inbounds %LSlice, ptr %t14487, i32 0, i32 2 %t14490 = getelementptr inbounds %LSlice, ptr %t14487, i32 0, i32 0 %t14491 = load i32, ptr %t14488 %t14492 = load i32, ptr %t14489 %t14493 = icmp sge i32 %t14491, %t14492 br i1 %t14493, label %grow2900, label %put2901 grow2900: %t14494 = mul i32 %t14492, 2 %t14495 = icmp eq i32 %t14492, 0 %t14496 = select i1 %t14495, i32 8, i32 %t14494 %t14497 = getelementptr ptr, ptr null, i32 1 %t14498 = ptrtoint ptr %t14497 to i64 %t14499 = zext i32 %t14496 to i64 %t14500 = mul i64 %t14499, %t14498 %t14501 = load ptr, ptr %t14490 %t14502 = call ptr @realloc(ptr %t14501, i64 %t14500) store ptr %t14502, ptr %t14490 store i32 %t14496, ptr %t14489 br label %put2901 put2901: %t14503 = load ptr, ptr %t14490 %t14504 = getelementptr inbounds ptr, ptr %t14503, i32 %t14491 store ptr @.str8046, ptr %t14504 %t14505 = add i32 %t14491, 1 store i32 %t14505, ptr %t14488 %t14506 = load ptr, ptr %t387 %t14507 = getelementptr inbounds %LSlice, ptr %t14506, i32 0, i32 1 %t14508 = getelementptr inbounds %LSlice, ptr %t14506, i32 0, i32 2 %t14509 = getelementptr inbounds %LSlice, ptr %t14506, i32 0, i32 0 %t14510 = load i32, ptr %t14507 %t14511 = load i32, ptr %t14508 %t14512 = icmp sge i32 %t14510, %t14511 br i1 %t14512, label %grow2902, label %put2903 grow2902: %t14513 = mul i32 %t14511, 2 %t14514 = icmp eq i32 %t14511, 0 %t14515 = select i1 %t14514, i32 8, i32 %t14513 %t14516 = getelementptr ptr, ptr null, i32 1 %t14517 = ptrtoint ptr %t14516 to i64 %t14518 = zext i32 %t14515 to i64 %t14519 = mul i64 %t14518, %t14517 %t14520 = load ptr, ptr %t14509 %t14521 = call ptr @realloc(ptr %t14520, i64 %t14519) store ptr %t14521, ptr %t14509 store i32 %t14515, ptr %t14508 br label %put2903 put2903: %t14522 = load ptr, ptr %t14509 %t14523 = getelementptr inbounds ptr, ptr %t14522, i32 %t14510 store ptr @.str8047, ptr %t14523 %t14524 = add i32 %t14510, 1 store i32 %t14524, ptr %t14507 br label %ifend2897 ifend2897: %t14525 = load ptr, ptr %t1 %t14526 = call i32 @lp_str_eq(ptr %t14525, ptr @.str8048) %t14527 = icmp ne i32 %t14526, 0 br i1 %t14527, label %then2904, label %ifend2906 then2904: store ptr @.str8049, ptr %t380 %t14528 = load ptr, ptr %t387 %t14529 = getelementptr inbounds %LSlice, ptr %t14528, i32 0, i32 1 %t14530 = getelementptr inbounds %LSlice, ptr %t14528, i32 0, i32 2 %t14531 = getelementptr inbounds %LSlice, ptr %t14528, i32 0, i32 0 %t14532 = load i32, ptr %t14529 %t14533 = load i32, ptr %t14530 %t14534 = icmp sge i32 %t14532, %t14533 br i1 %t14534, label %grow2907, label %put2908 grow2907: %t14535 = mul i32 %t14533, 2 %t14536 = icmp eq i32 %t14533, 0 %t14537 = select i1 %t14536, i32 8, i32 %t14535 %t14538 = getelementptr ptr, ptr null, i32 1 %t14539 = ptrtoint ptr %t14538 to i64 %t14540 = zext i32 %t14537 to i64 %t14541 = mul i64 %t14540, %t14539 %t14542 = load ptr, ptr %t14531 %t14543 = call ptr @realloc(ptr %t14542, i64 %t14541) store ptr %t14543, ptr %t14531 store i32 %t14537, ptr %t14530 br label %put2908 put2908: %t14544 = load ptr, ptr %t14531 %t14545 = getelementptr inbounds ptr, ptr %t14544, i32 %t14532 store ptr @.str8050, ptr %t14545 %t14546 = add i32 %t14532, 1 store i32 %t14546, ptr %t14529 %t14547 = load ptr, ptr %t387 %t14548 = getelementptr inbounds %LSlice, ptr %t14547, i32 0, i32 1 %t14549 = getelementptr inbounds %LSlice, ptr %t14547, i32 0, i32 2 %t14550 = getelementptr inbounds %LSlice, ptr %t14547, i32 0, i32 0 %t14551 = load i32, ptr %t14548 %t14552 = load i32, ptr %t14549 %t14553 = icmp sge i32 %t14551, %t14552 br i1 %t14553, label %grow2909, label %put2910 grow2909: %t14554 = mul i32 %t14552, 2 %t14555 = icmp eq i32 %t14552, 0 %t14556 = select i1 %t14555, i32 8, i32 %t14554 %t14557 = getelementptr ptr, ptr null, i32 1 %t14558 = ptrtoint ptr %t14557 to i64 %t14559 = zext i32 %t14556 to i64 %t14560 = mul i64 %t14559, %t14558 %t14561 = load ptr, ptr %t14550 %t14562 = call ptr @realloc(ptr %t14561, i64 %t14560) store ptr %t14562, ptr %t14550 store i32 %t14556, ptr %t14549 br label %put2910 put2910: %t14563 = load ptr, ptr %t14550 %t14564 = getelementptr inbounds ptr, ptr %t14563, i32 %t14551 store ptr @.str8051, ptr %t14564 %t14565 = add i32 %t14551, 1 store i32 %t14565, ptr %t14548 %t14566 = load ptr, ptr %t387 %t14567 = getelementptr inbounds %LSlice, ptr %t14566, i32 0, i32 1 %t14568 = getelementptr inbounds %LSlice, ptr %t14566, i32 0, i32 2 %t14569 = getelementptr inbounds %LSlice, ptr %t14566, i32 0, i32 0 %t14570 = load i32, ptr %t14567 %t14571 = load i32, ptr %t14568 %t14572 = icmp sge i32 %t14570, %t14571 br i1 %t14572, label %grow2911, label %put2912 grow2911: %t14573 = mul i32 %t14571, 2 %t14574 = icmp eq i32 %t14571, 0 %t14575 = select i1 %t14574, i32 8, i32 %t14573 %t14576 = getelementptr ptr, ptr null, i32 1 %t14577 = ptrtoint ptr %t14576 to i64 %t14578 = zext i32 %t14575 to i64 %t14579 = mul i64 %t14578, %t14577 %t14580 = load ptr, ptr %t14569 %t14581 = call ptr @realloc(ptr %t14580, i64 %t14579) store ptr %t14581, ptr %t14569 store i32 %t14575, ptr %t14568 br label %put2912 put2912: %t14582 = load ptr, ptr %t14569 %t14583 = getelementptr inbounds ptr, ptr %t14582, i32 %t14570 store ptr @.str8052, ptr %t14583 %t14584 = add i32 %t14570, 1 store i32 %t14584, ptr %t14567 br label %ifend2906 ifend2906: %t14585 = load ptr, ptr %t1 %t14586 = call i32 @lp_str_eq(ptr %t14585, ptr @.str8053) %t14587 = icmp ne i32 %t14586, 0 br i1 %t14587, label %then2913, label %ifend2915 then2913: store ptr @.str8054, ptr %t380 %t14588 = load ptr, ptr %t387 %t14589 = getelementptr inbounds %LSlice, ptr %t14588, i32 0, i32 1 %t14590 = getelementptr inbounds %LSlice, ptr %t14588, i32 0, i32 2 %t14591 = getelementptr inbounds %LSlice, ptr %t14588, i32 0, i32 0 %t14592 = load i32, ptr %t14589 %t14593 = load i32, ptr %t14590 %t14594 = icmp sge i32 %t14592, %t14593 br i1 %t14594, label %grow2916, label %put2917 grow2916: %t14595 = mul i32 %t14593, 2 %t14596 = icmp eq i32 %t14593, 0 %t14597 = select i1 %t14596, i32 8, i32 %t14595 %t14598 = getelementptr ptr, ptr null, i32 1 %t14599 = ptrtoint ptr %t14598 to i64 %t14600 = zext i32 %t14597 to i64 %t14601 = mul i64 %t14600, %t14599 %t14602 = load ptr, ptr %t14591 %t14603 = call ptr @realloc(ptr %t14602, i64 %t14601) store ptr %t14603, ptr %t14591 store i32 %t14597, ptr %t14590 br label %put2917 put2917: %t14604 = load ptr, ptr %t14591 %t14605 = getelementptr inbounds ptr, ptr %t14604, i32 %t14592 store ptr @.str8055, ptr %t14605 %t14606 = add i32 %t14592, 1 store i32 %t14606, ptr %t14589 %t14607 = load ptr, ptr %t387 %t14608 = getelementptr inbounds %LSlice, ptr %t14607, i32 0, i32 1 %t14609 = getelementptr inbounds %LSlice, ptr %t14607, i32 0, i32 2 %t14610 = getelementptr inbounds %LSlice, ptr %t14607, i32 0, i32 0 %t14611 = load i32, ptr %t14608 %t14612 = load i32, ptr %t14609 %t14613 = icmp sge i32 %t14611, %t14612 br i1 %t14613, label %grow2918, label %put2919 grow2918: %t14614 = mul i32 %t14612, 2 %t14615 = icmp eq i32 %t14612, 0 %t14616 = select i1 %t14615, i32 8, i32 %t14614 %t14617 = getelementptr ptr, ptr null, i32 1 %t14618 = ptrtoint ptr %t14617 to i64 %t14619 = zext i32 %t14616 to i64 %t14620 = mul i64 %t14619, %t14618 %t14621 = load ptr, ptr %t14610 %t14622 = call ptr @realloc(ptr %t14621, i64 %t14620) store ptr %t14622, ptr %t14610 store i32 %t14616, ptr %t14609 br label %put2919 put2919: %t14623 = load ptr, ptr %t14610 %t14624 = getelementptr inbounds ptr, ptr %t14623, i32 %t14611 store ptr @.str8056, ptr %t14624 %t14625 = add i32 %t14611, 1 store i32 %t14625, ptr %t14608 %t14626 = load ptr, ptr %t387 %t14627 = getelementptr inbounds %LSlice, ptr %t14626, i32 0, i32 1 %t14628 = getelementptr inbounds %LSlice, ptr %t14626, i32 0, i32 2 %t14629 = getelementptr inbounds %LSlice, ptr %t14626, i32 0, i32 0 %t14630 = load i32, ptr %t14627 %t14631 = load i32, ptr %t14628 %t14632 = icmp sge i32 %t14630, %t14631 br i1 %t14632, label %grow2920, label %put2921 grow2920: %t14633 = mul i32 %t14631, 2 %t14634 = icmp eq i32 %t14631, 0 %t14635 = select i1 %t14634, i32 8, i32 %t14633 %t14636 = getelementptr ptr, ptr null, i32 1 %t14637 = ptrtoint ptr %t14636 to i64 %t14638 = zext i32 %t14635 to i64 %t14639 = mul i64 %t14638, %t14637 %t14640 = load ptr, ptr %t14629 %t14641 = call ptr @realloc(ptr %t14640, i64 %t14639) store ptr %t14641, ptr %t14629 store i32 %t14635, ptr %t14628 br label %put2921 put2921: %t14642 = load ptr, ptr %t14629 %t14643 = getelementptr inbounds ptr, ptr %t14642, i32 %t14630 store ptr @.str8057, ptr %t14643 %t14644 = add i32 %t14630, 1 store i32 %t14644, ptr %t14627 br label %ifend2915 ifend2915: %t14645 = load ptr, ptr %t1 %t14646 = call i32 @lp_str_eq(ptr %t14645, ptr @.str8058) %t14647 = icmp ne i32 %t14646, 0 br i1 %t14647, label %then2922, label %ifend2924 then2922: store ptr @.str8059, ptr %t380 %t14648 = load ptr, ptr %t387 %t14649 = getelementptr inbounds %LSlice, ptr %t14648, i32 0, i32 1 %t14650 = getelementptr inbounds %LSlice, ptr %t14648, i32 0, i32 2 %t14651 = getelementptr inbounds %LSlice, ptr %t14648, i32 0, i32 0 %t14652 = load i32, ptr %t14649 %t14653 = load i32, ptr %t14650 %t14654 = icmp sge i32 %t14652, %t14653 br i1 %t14654, label %grow2925, label %put2926 grow2925: %t14655 = mul i32 %t14653, 2 %t14656 = icmp eq i32 %t14653, 0 %t14657 = select i1 %t14656, i32 8, i32 %t14655 %t14658 = getelementptr ptr, ptr null, i32 1 %t14659 = ptrtoint ptr %t14658 to i64 %t14660 = zext i32 %t14657 to i64 %t14661 = mul i64 %t14660, %t14659 %t14662 = load ptr, ptr %t14651 %t14663 = call ptr @realloc(ptr %t14662, i64 %t14661) store ptr %t14663, ptr %t14651 store i32 %t14657, ptr %t14650 br label %put2926 put2926: %t14664 = load ptr, ptr %t14651 %t14665 = getelementptr inbounds ptr, ptr %t14664, i32 %t14652 store ptr @.str8060, ptr %t14665 %t14666 = add i32 %t14652, 1 store i32 %t14666, ptr %t14649 %t14667 = load ptr, ptr %t387 %t14668 = getelementptr inbounds %LSlice, ptr %t14667, i32 0, i32 1 %t14669 = getelementptr inbounds %LSlice, ptr %t14667, i32 0, i32 2 %t14670 = getelementptr inbounds %LSlice, ptr %t14667, i32 0, i32 0 %t14671 = load i32, ptr %t14668 %t14672 = load i32, ptr %t14669 %t14673 = icmp sge i32 %t14671, %t14672 br i1 %t14673, label %grow2927, label %put2928 grow2927: %t14674 = mul i32 %t14672, 2 %t14675 = icmp eq i32 %t14672, 0 %t14676 = select i1 %t14675, i32 8, i32 %t14674 %t14677 = getelementptr ptr, ptr null, i32 1 %t14678 = ptrtoint ptr %t14677 to i64 %t14679 = zext i32 %t14676 to i64 %t14680 = mul i64 %t14679, %t14678 %t14681 = load ptr, ptr %t14670 %t14682 = call ptr @realloc(ptr %t14681, i64 %t14680) store ptr %t14682, ptr %t14670 store i32 %t14676, ptr %t14669 br label %put2928 put2928: %t14683 = load ptr, ptr %t14670 %t14684 = getelementptr inbounds ptr, ptr %t14683, i32 %t14671 store ptr @.str8061, ptr %t14684 %t14685 = add i32 %t14671, 1 store i32 %t14685, ptr %t14668 %t14686 = load ptr, ptr %t387 %t14687 = getelementptr inbounds %LSlice, ptr %t14686, i32 0, i32 1 %t14688 = getelementptr inbounds %LSlice, ptr %t14686, i32 0, i32 2 %t14689 = getelementptr inbounds %LSlice, ptr %t14686, i32 0, i32 0 %t14690 = load i32, ptr %t14687 %t14691 = load i32, ptr %t14688 %t14692 = icmp sge i32 %t14690, %t14691 br i1 %t14692, label %grow2929, label %put2930 grow2929: %t14693 = mul i32 %t14691, 2 %t14694 = icmp eq i32 %t14691, 0 %t14695 = select i1 %t14694, i32 8, i32 %t14693 %t14696 = getelementptr ptr, ptr null, i32 1 %t14697 = ptrtoint ptr %t14696 to i64 %t14698 = zext i32 %t14695 to i64 %t14699 = mul i64 %t14698, %t14697 %t14700 = load ptr, ptr %t14689 %t14701 = call ptr @realloc(ptr %t14700, i64 %t14699) store ptr %t14701, ptr %t14689 store i32 %t14695, ptr %t14688 br label %put2930 put2930: %t14702 = load ptr, ptr %t14689 %t14703 = getelementptr inbounds ptr, ptr %t14702, i32 %t14690 store ptr @.str8062, ptr %t14703 %t14704 = add i32 %t14690, 1 store i32 %t14704, ptr %t14687 br label %ifend2924 ifend2924: %t14705 = load ptr, ptr %t1 %t14706 = call i32 @lp_str_eq(ptr %t14705, ptr @.str8063) %t14707 = icmp ne i32 %t14706, 0 br i1 %t14707, label %then2931, label %ifend2933 then2931: store ptr @.str8064, ptr %t380 %t14708 = load ptr, ptr %t387 %t14709 = getelementptr inbounds %LSlice, ptr %t14708, i32 0, i32 1 %t14710 = getelementptr inbounds %LSlice, ptr %t14708, i32 0, i32 2 %t14711 = getelementptr inbounds %LSlice, ptr %t14708, i32 0, i32 0 %t14712 = load i32, ptr %t14709 %t14713 = load i32, ptr %t14710 %t14714 = icmp sge i32 %t14712, %t14713 br i1 %t14714, label %grow2934, label %put2935 grow2934: %t14715 = mul i32 %t14713, 2 %t14716 = icmp eq i32 %t14713, 0 %t14717 = select i1 %t14716, i32 8, i32 %t14715 %t14718 = getelementptr ptr, ptr null, i32 1 %t14719 = ptrtoint ptr %t14718 to i64 %t14720 = zext i32 %t14717 to i64 %t14721 = mul i64 %t14720, %t14719 %t14722 = load ptr, ptr %t14711 %t14723 = call ptr @realloc(ptr %t14722, i64 %t14721) store ptr %t14723, ptr %t14711 store i32 %t14717, ptr %t14710 br label %put2935 put2935: %t14724 = load ptr, ptr %t14711 %t14725 = getelementptr inbounds ptr, ptr %t14724, i32 %t14712 store ptr @.str8065, ptr %t14725 %t14726 = add i32 %t14712, 1 store i32 %t14726, ptr %t14709 %t14727 = load ptr, ptr %t387 %t14728 = getelementptr inbounds %LSlice, ptr %t14727, i32 0, i32 1 %t14729 = getelementptr inbounds %LSlice, ptr %t14727, i32 0, i32 2 %t14730 = getelementptr inbounds %LSlice, ptr %t14727, i32 0, i32 0 %t14731 = load i32, ptr %t14728 %t14732 = load i32, ptr %t14729 %t14733 = icmp sge i32 %t14731, %t14732 br i1 %t14733, label %grow2936, label %put2937 grow2936: %t14734 = mul i32 %t14732, 2 %t14735 = icmp eq i32 %t14732, 0 %t14736 = select i1 %t14735, i32 8, i32 %t14734 %t14737 = getelementptr ptr, ptr null, i32 1 %t14738 = ptrtoint ptr %t14737 to i64 %t14739 = zext i32 %t14736 to i64 %t14740 = mul i64 %t14739, %t14738 %t14741 = load ptr, ptr %t14730 %t14742 = call ptr @realloc(ptr %t14741, i64 %t14740) store ptr %t14742, ptr %t14730 store i32 %t14736, ptr %t14729 br label %put2937 put2937: %t14743 = load ptr, ptr %t14730 %t14744 = getelementptr inbounds ptr, ptr %t14743, i32 %t14731 store ptr @.str8066, ptr %t14744 %t14745 = add i32 %t14731, 1 store i32 %t14745, ptr %t14728 br label %ifend2933 ifend2933: %t14746 = load ptr, ptr %t1 %t14747 = call i32 @lp_str_eq(ptr %t14746, ptr @.str8067) %t14748 = icmp ne i32 %t14747, 0 br i1 %t14748, label %then2938, label %ifend2940 then2938: store ptr @.str8068, ptr %t380 %t14749 = load ptr, ptr %t387 %t14750 = getelementptr inbounds %LSlice, ptr %t14749, i32 0, i32 1 %t14751 = getelementptr inbounds %LSlice, ptr %t14749, i32 0, i32 2 %t14752 = getelementptr inbounds %LSlice, ptr %t14749, i32 0, i32 0 %t14753 = load i32, ptr %t14750 %t14754 = load i32, ptr %t14751 %t14755 = icmp sge i32 %t14753, %t14754 br i1 %t14755, label %grow2941, label %put2942 grow2941: %t14756 = mul i32 %t14754, 2 %t14757 = icmp eq i32 %t14754, 0 %t14758 = select i1 %t14757, i32 8, i32 %t14756 %t14759 = getelementptr ptr, ptr null, i32 1 %t14760 = ptrtoint ptr %t14759 to i64 %t14761 = zext i32 %t14758 to i64 %t14762 = mul i64 %t14761, %t14760 %t14763 = load ptr, ptr %t14752 %t14764 = call ptr @realloc(ptr %t14763, i64 %t14762) store ptr %t14764, ptr %t14752 store i32 %t14758, ptr %t14751 br label %put2942 put2942: %t14765 = load ptr, ptr %t14752 %t14766 = getelementptr inbounds ptr, ptr %t14765, i32 %t14753 store ptr @.str8069, ptr %t14766 %t14767 = add i32 %t14753, 1 store i32 %t14767, ptr %t14750 %t14768 = load ptr, ptr %t387 %t14769 = getelementptr inbounds %LSlice, ptr %t14768, i32 0, i32 1 %t14770 = getelementptr inbounds %LSlice, ptr %t14768, i32 0, i32 2 %t14771 = getelementptr inbounds %LSlice, ptr %t14768, i32 0, i32 0 %t14772 = load i32, ptr %t14769 %t14773 = load i32, ptr %t14770 %t14774 = icmp sge i32 %t14772, %t14773 br i1 %t14774, label %grow2943, label %put2944 grow2943: %t14775 = mul i32 %t14773, 2 %t14776 = icmp eq i32 %t14773, 0 %t14777 = select i1 %t14776, i32 8, i32 %t14775 %t14778 = getelementptr ptr, ptr null, i32 1 %t14779 = ptrtoint ptr %t14778 to i64 %t14780 = zext i32 %t14777 to i64 %t14781 = mul i64 %t14780, %t14779 %t14782 = load ptr, ptr %t14771 %t14783 = call ptr @realloc(ptr %t14782, i64 %t14781) store ptr %t14783, ptr %t14771 store i32 %t14777, ptr %t14770 br label %put2944 put2944: %t14784 = load ptr, ptr %t14771 %t14785 = getelementptr inbounds ptr, ptr %t14784, i32 %t14772 store ptr @.str8070, ptr %t14785 %t14786 = add i32 %t14772, 1 store i32 %t14786, ptr %t14769 br label %ifend2940 ifend2940: %t14787 = load ptr, ptr %t1 %t14788 = call i32 @lp_str_eq(ptr %t14787, ptr @.str8071) %t14789 = icmp ne i32 %t14788, 0 br i1 %t14789, label %then2945, label %ifend2947 then2945: store ptr @.str8072, ptr %t380 %t14790 = load ptr, ptr %t387 %t14791 = getelementptr inbounds %LSlice, ptr %t14790, i32 0, i32 1 %t14792 = getelementptr inbounds %LSlice, ptr %t14790, i32 0, i32 2 %t14793 = getelementptr inbounds %LSlice, ptr %t14790, i32 0, i32 0 %t14794 = load i32, ptr %t14791 %t14795 = load i32, ptr %t14792 %t14796 = icmp sge i32 %t14794, %t14795 br i1 %t14796, label %grow2948, label %put2949 grow2948: %t14797 = mul i32 %t14795, 2 %t14798 = icmp eq i32 %t14795, 0 %t14799 = select i1 %t14798, i32 8, i32 %t14797 %t14800 = getelementptr ptr, ptr null, i32 1 %t14801 = ptrtoint ptr %t14800 to i64 %t14802 = zext i32 %t14799 to i64 %t14803 = mul i64 %t14802, %t14801 %t14804 = load ptr, ptr %t14793 %t14805 = call ptr @realloc(ptr %t14804, i64 %t14803) store ptr %t14805, ptr %t14793 store i32 %t14799, ptr %t14792 br label %put2949 put2949: %t14806 = load ptr, ptr %t14793 %t14807 = getelementptr inbounds ptr, ptr %t14806, i32 %t14794 store ptr @.str8073, ptr %t14807 %t14808 = add i32 %t14794, 1 store i32 %t14808, ptr %t14791 %t14809 = load ptr, ptr %t387 %t14810 = getelementptr inbounds %LSlice, ptr %t14809, i32 0, i32 1 %t14811 = getelementptr inbounds %LSlice, ptr %t14809, i32 0, i32 2 %t14812 = getelementptr inbounds %LSlice, ptr %t14809, i32 0, i32 0 %t14813 = load i32, ptr %t14810 %t14814 = load i32, ptr %t14811 %t14815 = icmp sge i32 %t14813, %t14814 br i1 %t14815, label %grow2950, label %put2951 grow2950: %t14816 = mul i32 %t14814, 2 %t14817 = icmp eq i32 %t14814, 0 %t14818 = select i1 %t14817, i32 8, i32 %t14816 %t14819 = getelementptr ptr, ptr null, i32 1 %t14820 = ptrtoint ptr %t14819 to i64 %t14821 = zext i32 %t14818 to i64 %t14822 = mul i64 %t14821, %t14820 %t14823 = load ptr, ptr %t14812 %t14824 = call ptr @realloc(ptr %t14823, i64 %t14822) store ptr %t14824, ptr %t14812 store i32 %t14818, ptr %t14811 br label %put2951 put2951: %t14825 = load ptr, ptr %t14812 %t14826 = getelementptr inbounds ptr, ptr %t14825, i32 %t14813 store ptr @.str8074, ptr %t14826 %t14827 = add i32 %t14813, 1 store i32 %t14827, ptr %t14810 br label %ifend2947 ifend2947: %t14828 = load ptr, ptr %t1 %t14829 = call i32 @lp_str_eq(ptr %t14828, ptr @.str8075) %t14830 = icmp ne i32 %t14829, 0 br i1 %t14830, label %then2952, label %ifend2954 then2952: store ptr @.str8076, ptr %t380 %t14831 = load ptr, ptr %t387 %t14832 = getelementptr inbounds %LSlice, ptr %t14831, i32 0, i32 1 %t14833 = getelementptr inbounds %LSlice, ptr %t14831, i32 0, i32 2 %t14834 = getelementptr inbounds %LSlice, ptr %t14831, i32 0, i32 0 %t14835 = load i32, ptr %t14832 %t14836 = load i32, ptr %t14833 %t14837 = icmp sge i32 %t14835, %t14836 br i1 %t14837, label %grow2955, label %put2956 grow2955: %t14838 = mul i32 %t14836, 2 %t14839 = icmp eq i32 %t14836, 0 %t14840 = select i1 %t14839, i32 8, i32 %t14838 %t14841 = getelementptr ptr, ptr null, i32 1 %t14842 = ptrtoint ptr %t14841 to i64 %t14843 = zext i32 %t14840 to i64 %t14844 = mul i64 %t14843, %t14842 %t14845 = load ptr, ptr %t14834 %t14846 = call ptr @realloc(ptr %t14845, i64 %t14844) store ptr %t14846, ptr %t14834 store i32 %t14840, ptr %t14833 br label %put2956 put2956: %t14847 = load ptr, ptr %t14834 %t14848 = getelementptr inbounds ptr, ptr %t14847, i32 %t14835 store ptr @.str8077, ptr %t14848 %t14849 = add i32 %t14835, 1 store i32 %t14849, ptr %t14832 %t14850 = load ptr, ptr %t387 %t14851 = getelementptr inbounds %LSlice, ptr %t14850, i32 0, i32 1 %t14852 = getelementptr inbounds %LSlice, ptr %t14850, i32 0, i32 2 %t14853 = getelementptr inbounds %LSlice, ptr %t14850, i32 0, i32 0 %t14854 = load i32, ptr %t14851 %t14855 = load i32, ptr %t14852 %t14856 = icmp sge i32 %t14854, %t14855 br i1 %t14856, label %grow2957, label %put2958 grow2957: %t14857 = mul i32 %t14855, 2 %t14858 = icmp eq i32 %t14855, 0 %t14859 = select i1 %t14858, i32 8, i32 %t14857 %t14860 = getelementptr ptr, ptr null, i32 1 %t14861 = ptrtoint ptr %t14860 to i64 %t14862 = zext i32 %t14859 to i64 %t14863 = mul i64 %t14862, %t14861 %t14864 = load ptr, ptr %t14853 %t14865 = call ptr @realloc(ptr %t14864, i64 %t14863) store ptr %t14865, ptr %t14853 store i32 %t14859, ptr %t14852 br label %put2958 put2958: %t14866 = load ptr, ptr %t14853 %t14867 = getelementptr inbounds ptr, ptr %t14866, i32 %t14854 store ptr @.str8078, ptr %t14867 %t14868 = add i32 %t14854, 1 store i32 %t14868, ptr %t14851 br label %ifend2954 ifend2954: %t14869 = load ptr, ptr %t1 %t14870 = call i32 @lp_str_eq(ptr %t14869, ptr @.str8079) %t14871 = icmp ne i32 %t14870, 0 br i1 %t14871, label %then2959, label %ifend2961 then2959: store ptr @.str8080, ptr %t380 %t14872 = load ptr, ptr %t387 %t14873 = getelementptr inbounds %LSlice, ptr %t14872, i32 0, i32 1 %t14874 = getelementptr inbounds %LSlice, ptr %t14872, i32 0, i32 2 %t14875 = getelementptr inbounds %LSlice, ptr %t14872, i32 0, i32 0 %t14876 = load i32, ptr %t14873 %t14877 = load i32, ptr %t14874 %t14878 = icmp sge i32 %t14876, %t14877 br i1 %t14878, label %grow2962, label %put2963 grow2962: %t14879 = mul i32 %t14877, 2 %t14880 = icmp eq i32 %t14877, 0 %t14881 = select i1 %t14880, i32 8, i32 %t14879 %t14882 = getelementptr ptr, ptr null, i32 1 %t14883 = ptrtoint ptr %t14882 to i64 %t14884 = zext i32 %t14881 to i64 %t14885 = mul i64 %t14884, %t14883 %t14886 = load ptr, ptr %t14875 %t14887 = call ptr @realloc(ptr %t14886, i64 %t14885) store ptr %t14887, ptr %t14875 store i32 %t14881, ptr %t14874 br label %put2963 put2963: %t14888 = load ptr, ptr %t14875 %t14889 = getelementptr inbounds ptr, ptr %t14888, i32 %t14876 store ptr @.str8081, ptr %t14889 %t14890 = add i32 %t14876, 1 store i32 %t14890, ptr %t14873 %t14891 = load ptr, ptr %t387 %t14892 = getelementptr inbounds %LSlice, ptr %t14891, i32 0, i32 1 %t14893 = getelementptr inbounds %LSlice, ptr %t14891, i32 0, i32 2 %t14894 = getelementptr inbounds %LSlice, ptr %t14891, i32 0, i32 0 %t14895 = load i32, ptr %t14892 %t14896 = load i32, ptr %t14893 %t14897 = icmp sge i32 %t14895, %t14896 br i1 %t14897, label %grow2964, label %put2965 grow2964: %t14898 = mul i32 %t14896, 2 %t14899 = icmp eq i32 %t14896, 0 %t14900 = select i1 %t14899, i32 8, i32 %t14898 %t14901 = getelementptr ptr, ptr null, i32 1 %t14902 = ptrtoint ptr %t14901 to i64 %t14903 = zext i32 %t14900 to i64 %t14904 = mul i64 %t14903, %t14902 %t14905 = load ptr, ptr %t14894 %t14906 = call ptr @realloc(ptr %t14905, i64 %t14904) store ptr %t14906, ptr %t14894 store i32 %t14900, ptr %t14893 br label %put2965 put2965: %t14907 = load ptr, ptr %t14894 %t14908 = getelementptr inbounds ptr, ptr %t14907, i32 %t14895 store ptr @.str8082, ptr %t14908 %t14909 = add i32 %t14895, 1 store i32 %t14909, ptr %t14892 br label %ifend2961 ifend2961: %t14910 = load ptr, ptr %t1 %t14911 = call i32 @lp_str_eq(ptr %t14910, ptr @.str8083) %t14912 = icmp ne i32 %t14911, 0 br i1 %t14912, label %then2966, label %ifend2968 then2966: store ptr @.str8084, ptr %t380 %t14913 = load ptr, ptr %t387 %t14914 = getelementptr inbounds %LSlice, ptr %t14913, i32 0, i32 1 %t14915 = getelementptr inbounds %LSlice, ptr %t14913, i32 0, i32 2 %t14916 = getelementptr inbounds %LSlice, ptr %t14913, i32 0, i32 0 %t14917 = load i32, ptr %t14914 %t14918 = load i32, ptr %t14915 %t14919 = icmp sge i32 %t14917, %t14918 br i1 %t14919, label %grow2969, label %put2970 grow2969: %t14920 = mul i32 %t14918, 2 %t14921 = icmp eq i32 %t14918, 0 %t14922 = select i1 %t14921, i32 8, i32 %t14920 %t14923 = getelementptr ptr, ptr null, i32 1 %t14924 = ptrtoint ptr %t14923 to i64 %t14925 = zext i32 %t14922 to i64 %t14926 = mul i64 %t14925, %t14924 %t14927 = load ptr, ptr %t14916 %t14928 = call ptr @realloc(ptr %t14927, i64 %t14926) store ptr %t14928, ptr %t14916 store i32 %t14922, ptr %t14915 br label %put2970 put2970: %t14929 = load ptr, ptr %t14916 %t14930 = getelementptr inbounds ptr, ptr %t14929, i32 %t14917 store ptr @.str8085, ptr %t14930 %t14931 = add i32 %t14917, 1 store i32 %t14931, ptr %t14914 br label %ifend2968 ifend2968: %t14932 = load ptr, ptr %t1 %t14933 = call i32 @lp_str_eq(ptr %t14932, ptr @.str8086) %t14934 = icmp ne i32 %t14933, 0 br i1 %t14934, label %then2971, label %ifend2973 then2971: store ptr @.str8087, ptr %t380 %t14935 = load ptr, ptr %t387 %t14936 = getelementptr inbounds %LSlice, ptr %t14935, i32 0, i32 1 %t14937 = getelementptr inbounds %LSlice, ptr %t14935, i32 0, i32 2 %t14938 = getelementptr inbounds %LSlice, ptr %t14935, i32 0, i32 0 %t14939 = load i32, ptr %t14936 %t14940 = load i32, ptr %t14937 %t14941 = icmp sge i32 %t14939, %t14940 br i1 %t14941, label %grow2974, label %put2975 grow2974: %t14942 = mul i32 %t14940, 2 %t14943 = icmp eq i32 %t14940, 0 %t14944 = select i1 %t14943, i32 8, i32 %t14942 %t14945 = getelementptr ptr, ptr null, i32 1 %t14946 = ptrtoint ptr %t14945 to i64 %t14947 = zext i32 %t14944 to i64 %t14948 = mul i64 %t14947, %t14946 %t14949 = load ptr, ptr %t14938 %t14950 = call ptr @realloc(ptr %t14949, i64 %t14948) store ptr %t14950, ptr %t14938 store i32 %t14944, ptr %t14937 br label %put2975 put2975: %t14951 = load ptr, ptr %t14938 %t14952 = getelementptr inbounds ptr, ptr %t14951, i32 %t14939 store ptr @.str8088, ptr %t14952 %t14953 = add i32 %t14939, 1 store i32 %t14953, ptr %t14936 br label %ifend2973 ifend2973: %t14954 = load ptr, ptr %t1 %t14955 = call i32 @lp_str_eq(ptr %t14954, ptr @.str8089) %t14956 = icmp ne i32 %t14955, 0 br i1 %t14956, label %then2976, label %ifend2978 then2976: store ptr @.str8090, ptr %t380 %t14957 = load ptr, ptr %t387 %t14958 = getelementptr inbounds %LSlice, ptr %t14957, i32 0, i32 1 %t14959 = getelementptr inbounds %LSlice, ptr %t14957, i32 0, i32 2 %t14960 = getelementptr inbounds %LSlice, ptr %t14957, i32 0, i32 0 %t14961 = load i32, ptr %t14958 %t14962 = load i32, ptr %t14959 %t14963 = icmp sge i32 %t14961, %t14962 br i1 %t14963, label %grow2979, label %put2980 grow2979: %t14964 = mul i32 %t14962, 2 %t14965 = icmp eq i32 %t14962, 0 %t14966 = select i1 %t14965, i32 8, i32 %t14964 %t14967 = getelementptr ptr, ptr null, i32 1 %t14968 = ptrtoint ptr %t14967 to i64 %t14969 = zext i32 %t14966 to i64 %t14970 = mul i64 %t14969, %t14968 %t14971 = load ptr, ptr %t14960 %t14972 = call ptr @realloc(ptr %t14971, i64 %t14970) store ptr %t14972, ptr %t14960 store i32 %t14966, ptr %t14959 br label %put2980 put2980: %t14973 = load ptr, ptr %t14960 %t14974 = getelementptr inbounds ptr, ptr %t14973, i32 %t14961 store ptr @.str8091, ptr %t14974 %t14975 = add i32 %t14961, 1 store i32 %t14975, ptr %t14958 %t14976 = load ptr, ptr %t387 %t14977 = getelementptr inbounds %LSlice, ptr %t14976, i32 0, i32 1 %t14978 = getelementptr inbounds %LSlice, ptr %t14976, i32 0, i32 2 %t14979 = getelementptr inbounds %LSlice, ptr %t14976, i32 0, i32 0 %t14980 = load i32, ptr %t14977 %t14981 = load i32, ptr %t14978 %t14982 = icmp sge i32 %t14980, %t14981 br i1 %t14982, label %grow2981, label %put2982 grow2981: %t14983 = mul i32 %t14981, 2 %t14984 = icmp eq i32 %t14981, 0 %t14985 = select i1 %t14984, i32 8, i32 %t14983 %t14986 = getelementptr ptr, ptr null, i32 1 %t14987 = ptrtoint ptr %t14986 to i64 %t14988 = zext i32 %t14985 to i64 %t14989 = mul i64 %t14988, %t14987 %t14990 = load ptr, ptr %t14979 %t14991 = call ptr @realloc(ptr %t14990, i64 %t14989) store ptr %t14991, ptr %t14979 store i32 %t14985, ptr %t14978 br label %put2982 put2982: %t14992 = load ptr, ptr %t14979 %t14993 = getelementptr inbounds ptr, ptr %t14992, i32 %t14980 store ptr @.str8092, ptr %t14993 %t14994 = add i32 %t14980, 1 store i32 %t14994, ptr %t14977 br label %ifend2978 ifend2978: br label %ifend2709 ifend2709: %t14996 = load ptr, ptr %t0 %t14997 = call i32 @lp_str_eq(ptr %t14996, ptr @.str8093) %t14998 = icmp ne i32 %t14997, 0 %t14999 = zext i1 %t14998 to i32 store i32 %t14999, ptr %t14995 br i1 %t14998, label %sc2983, label %scend2984 sc2983: %t15000 = load ptr, ptr %t380 %t15001 = icmp eq ptr %t15000, null %t15002 = zext i1 %t15001 to i32 %t15003 = icmp ne i32 %t15002, 0 %t15004 = zext i1 %t15003 to i32 store i32 %t15004, ptr %t14995 br label %scend2984 scend2984: %t15005 = load i32, ptr %t14995 %t15006 = icmp ne i32 %t15005, 0 br i1 %t15006, label %then2985, label %ifend2987 then2985: %t15007 = load ptr, ptr %t1 %t15008 = call ptr @lp_str_concat(ptr @.str8094, ptr %t15007) store ptr %t15008, ptr %t380 %t15009 = load ptr, ptr %t380 %t15010 = call ptr @fn_find_fn(ptr %t15009) store ptr %t15010, ptr %t15011 %t15012 = load ptr, ptr %t15011 %t15013 = icmp eq ptr %t15012, null %t15014 = zext i1 %t15013 to i32 %t15015 = icmp ne i32 %t15014, 0 br i1 %t15015, label %then2988, label %ifend2990 then2988: %t15016 = load ptr, ptr %t380 %t15017 = call ptr @fn_find_extern(ptr %t15016) store ptr %t15017, ptr %t15011 br label %ifend2990 ifend2990: %t15018 = load ptr, ptr %t15011 %t15019 = icmp ne ptr %t15018, null %t15020 = zext i1 %t15019 to i32 %t15021 = icmp ne i32 %t15020, 0 br i1 %t15021, label %then2991, label %ifend2993 then2991: %t15022 = load ptr, ptr %t15011 %t15023 = call ptr @fn_param_labels(ptr %t15022) store ptr %t15023, ptr %t15024 store i32 0, ptr %t15025 br label %wcond2994 wcond2994: %t15026 = load i32, ptr %t15025 %t15027 = load ptr, ptr %t15024 %t15028 = getelementptr inbounds %LSlice, ptr %t15027, i32 0, i32 1 %t15029 = load i32, ptr %t15028 %t15030 = icmp slt i32 %t15026, %t15029 %t15031 = zext i1 %t15030 to i32 %t15032 = icmp ne i32 %t15031, 0 br i1 %t15032, label %wbody2995, label %wend2996 wbody2995: %t15033 = load ptr, ptr %t387 %t15034 = load ptr, ptr %t15024 %t15035 = getelementptr inbounds %LSlice, ptr %t15034, i32 0, i32 0 %t15036 = load ptr, ptr %t15035 %t15037 = load i32, ptr %t15025 %t15038 = getelementptr inbounds ptr, ptr %t15036, i32 %t15037 %t15039 = load ptr, ptr %t15038 %t15040 = getelementptr inbounds %LSlice, ptr %t15033, i32 0, i32 1 %t15041 = getelementptr inbounds %LSlice, ptr %t15033, i32 0, i32 2 %t15042 = getelementptr inbounds %LSlice, ptr %t15033, i32 0, i32 0 %t15043 = load i32, ptr %t15040 %t15044 = load i32, ptr %t15041 %t15045 = icmp sge i32 %t15043, %t15044 br i1 %t15045, label %grow2997, label %put2998 grow2997: %t15046 = mul i32 %t15044, 2 %t15047 = icmp eq i32 %t15044, 0 %t15048 = select i1 %t15047, i32 8, i32 %t15046 %t15049 = getelementptr ptr, ptr null, i32 1 %t15050 = ptrtoint ptr %t15049 to i64 %t15051 = zext i32 %t15048 to i64 %t15052 = mul i64 %t15051, %t15050 %t15053 = load ptr, ptr %t15042 %t15054 = call ptr @realloc(ptr %t15053, i64 %t15052) store ptr %t15054, ptr %t15042 store i32 %t15048, ptr %t15041 br label %put2998 put2998: %t15055 = load ptr, ptr %t15042 %t15056 = getelementptr inbounds ptr, ptr %t15055, i32 %t15043 store ptr %t15039, ptr %t15056 %t15057 = add i32 %t15043, 1 store i32 %t15057, ptr %t15040 %t15058 = load i32, ptr %t15025 %t15059 = add i32 %t15058, 1 store i32 %t15059, ptr %t15025 br label %wcond2994 wend2996: br label %ifend2993 ifend2993: br label %ifend2987 ifend2987: %t15061 = load ptr, ptr %t380 %t15062 = icmp eq ptr %t15061, null %t15063 = zext i1 %t15062 to i32 %t15064 = icmp ne i32 %t15063, 0 %t15065 = zext i1 %t15064 to i32 store i32 %t15065, ptr %t15060 br i1 %t15064, label %sc2999, label %scend3000 sc2999: %t15066 = load ptr, ptr %t0 %t15067 = call i32 @fn_is_registered_namespace(ptr %t15066) %t15068 = icmp ne i32 %t15067, 0 %t15069 = zext i1 %t15068 to i32 store i32 %t15069, ptr %t15060 br label %scend3000 scend3000: %t15070 = load i32, ptr %t15060 %t15071 = icmp ne i32 %t15070, 0 br i1 %t15071, label %then3001, label %ifend3003 then3001: %t15072 = load ptr, ptr %t0 %t15073 = call ptr @fn_ns_lower(ptr %t15072) %t15074 = call ptr @lp_str_concat(ptr %t15073, ptr @.str8095) %t15075 = load ptr, ptr %t1 %t15076 = call ptr @lp_str_concat(ptr %t15074, ptr %t15075) store ptr %t15076, ptr %t380 %t15078 = load ptr, ptr %t0 %t15079 = call i32 @fn_is_ns_block(ptr %t15078) %t15080 = icmp ne i32 %t15079, 0 %t15081 = zext i1 %t15080 to i32 store i32 %t15081, ptr %t15077 br i1 %t15080, label %sc3004, label %scend3005 sc3004: %t15082 = load ptr, ptr %t380 %t15083 = call i32 @fn_ns_export_has(ptr %t15082) %t15084 = icmp eq i32 %t15083, 0 %t15085 = zext i1 %t15084 to i32 %t15086 = icmp ne i32 %t15085, 0 %t15087 = zext i1 %t15086 to i32 store i32 %t15087, ptr %t15077 br label %scend3005 scend3005: %t15088 = load i32, ptr %t15077 %t15089 = icmp ne i32 %t15088, 0 br i1 %t15089, label %then3006, label %ifend3008 then3006: %t15090 = load ptr, ptr %t0 %t15091 = call ptr @lp_str_concat(ptr %t15090, ptr @.str8096) %t15092 = load ptr, ptr %t1 %t15093 = call ptr @lp_str_concat(ptr %t15091, ptr %t15092) %t15094 = call ptr @lp_str_concat(ptr %t15093, ptr @.str8097) %t15095 = load ptr, ptr %t0 %t15096 = call ptr @lp_str_concat(ptr %t15094, ptr %t15095) call void @fn_perr(ptr %t15096) br label %ifend3008 ifend3008: %t15097 = load ptr, ptr %t380 %t15098 = call ptr @fn_find_fn(ptr %t15097) store ptr %t15098, ptr %t15099 %t15100 = load ptr, ptr %t15099 %t15101 = icmp ne ptr %t15100, null %t15102 = zext i1 %t15101 to i32 %t15103 = icmp ne i32 %t15102, 0 br i1 %t15103, label %then3009, label %ifend3011 then3009: %t15104 = load ptr, ptr %t15099 %t15105 = call ptr @fn_param_labels(ptr %t15104) store ptr %t15105, ptr %t15106 store i32 0, ptr %t15107 br label %wcond3012 wcond3012: %t15108 = load i32, ptr %t15107 %t15109 = load ptr, ptr %t15106 %t15110 = getelementptr inbounds %LSlice, ptr %t15109, i32 0, i32 1 %t15111 = load i32, ptr %t15110 %t15112 = icmp slt i32 %t15108, %t15111 %t15113 = zext i1 %t15112 to i32 %t15114 = icmp ne i32 %t15113, 0 br i1 %t15114, label %wbody3013, label %wend3014 wbody3013: %t15115 = load ptr, ptr %t387 %t15116 = load ptr, ptr %t15106 %t15117 = getelementptr inbounds %LSlice, ptr %t15116, i32 0, i32 0 %t15118 = load ptr, ptr %t15117 %t15119 = load i32, ptr %t15107 %t15120 = getelementptr inbounds ptr, ptr %t15118, i32 %t15119 %t15121 = load ptr, ptr %t15120 %t15122 = getelementptr inbounds %LSlice, ptr %t15115, i32 0, i32 1 %t15123 = getelementptr inbounds %LSlice, ptr %t15115, i32 0, i32 2 %t15124 = getelementptr inbounds %LSlice, ptr %t15115, i32 0, i32 0 %t15125 = load i32, ptr %t15122 %t15126 = load i32, ptr %t15123 %t15127 = icmp sge i32 %t15125, %t15126 br i1 %t15127, label %grow3015, label %put3016 grow3015: %t15128 = mul i32 %t15126, 2 %t15129 = icmp eq i32 %t15126, 0 %t15130 = select i1 %t15129, i32 8, i32 %t15128 %t15131 = getelementptr ptr, ptr null, i32 1 %t15132 = ptrtoint ptr %t15131 to i64 %t15133 = zext i32 %t15130 to i64 %t15134 = mul i64 %t15133, %t15132 %t15135 = load ptr, ptr %t15124 %t15136 = call ptr @realloc(ptr %t15135, i64 %t15134) store ptr %t15136, ptr %t15124 store i32 %t15130, ptr %t15123 br label %put3016 put3016: %t15137 = load ptr, ptr %t15124 %t15138 = getelementptr inbounds ptr, ptr %t15137, i32 %t15125 store ptr %t15121, ptr %t15138 %t15139 = add i32 %t15125, 1 store i32 %t15139, ptr %t15122 %t15140 = load i32, ptr %t15107 %t15141 = add i32 %t15140, 1 store i32 %t15141, ptr %t15107 br label %wcond3012 wend3014: br label %ifend3011 ifend3011: br label %ifend3003 ifend3003: %t15142 = load ptr, ptr %t380 %t15143 = icmp eq ptr %t15142, null %t15144 = zext i1 %t15143 to i32 %t15145 = icmp ne i32 %t15144, 0 br i1 %t15145, label %then3017, label %ifend3019 then3017: %t15146 = load ptr, ptr %t0 %t15147 = call ptr @lp_str_concat(ptr @.str8098, ptr %t15146) %t15148 = call ptr @lp_str_concat(ptr %t15147, ptr @.str8099) %t15149 = load ptr, ptr %t1 %t15150 = call ptr @lp_str_concat(ptr %t15148, ptr %t15149) call void @fn_perr(ptr %t15150) br label %ifend3019 ifend3019: %t15151 = load ptr, ptr %t2 %t15152 = load ptr, ptr %t387 call void @fn_reorder_named(ptr %t15151, ptr %t15152) %t15153 = call ptr @fn_node(i32 33) store ptr %t15153, ptr %t15154 %t15155 = load ptr, ptr %t15154 %t15156 = getelementptr inbounds %Cmp_Node, ptr %t15155, i32 0, i32 1 %t15157 = load ptr, ptr %t380 store ptr %t15157, ptr %t15156 %t15158 = load ptr, ptr %t2 %t15159 = getelementptr inbounds %Cmp_Node, ptr %t15158, i32 0, i32 4 %t15160 = load ptr, ptr %t15154 store ptr %t15160, ptr %t15159 %t15161 = load ptr, ptr %t2 %t15162 = call ptr @fn_emit_call(ptr %t15161) store ptr %t15162, ptr %retval br label %ret ret: %t15163 = load ptr, ptr %retval ret ptr %t15163 } 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 @.str8100, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str8101) %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 @.str8102) %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 @.str8103, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str8104) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str8105) %t46 = load i32, ptr %t1 %t47 = call ptr @fn_itoa(i32 %t46) call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str8106) %t48 = load ptr, ptr %t45 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str8107) 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 @.str8108) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str8109) %t81 = load ptr, ptr %t45 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str8110) %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 @.str8111) call void @fn_emit(ptr @.str8112) %t86 = load ptr, ptr %t65 %t87 = call ptr @fn_llty(ptr %t86) call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str8113) %t88 = load ptr, ptr %t77 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str8114) %t89 = load ptr, ptr %t79 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str8115) %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 %t504 = alloca ptr %t544 = alloca ptr %t551 = alloca ptr %t568 = alloca ptr %t575 = alloca ptr %t580 = alloca ptr %t597 = alloca ptr %t616 = alloca ptr %t635 = alloca ptr %t642 = alloca ptr %t652 = alloca ptr %t667 = alloca ptr %t676 = alloca ptr %t687 = alloca ptr %t697 = alloca ptr %t718 = alloca ptr %t727 = alloca ptr %t736 = alloca ptr %t747 = alloca ptr %t751 = alloca ptr %t756 = alloca ptr %t766 = alloca ptr %t775 = alloca ptr %t785 = alloca ptr %t806 = alloca ptr %t816 = alloca ptr %t818 = alloca ptr %t842 = alloca ptr %t849 = alloca ptr %t851 = alloca ptr %t853 = alloca ptr %t873 = alloca ptr %t883 = alloca ptr %t885 = alloca ptr %t900 = alloca i32 %t920 = alloca ptr %t922 = alloca ptr %t927 = alloca ptr %t935 = alloca ptr %t947 = alloca ptr %t953 = alloca i32 %t973 = alloca ptr %t975 = alloca ptr %t980 = alloca ptr %t988 = alloca ptr %t996 = alloca ptr %t1007 = alloca i32 %t1027 = alloca ptr %t1034 = alloca ptr %t1038 = alloca ptr %t1043 = alloca ptr %t1049 = alloca i32 %t1069 = alloca ptr %t1076 = alloca ptr %t1080 = alloca ptr %t1085 = alloca ptr %t1091 = alloca i32 %t1111 = alloca ptr %t1113 = alloca ptr %t1118 = alloca ptr %t1126 = alloca ptr %t1136 = alloca i32 %t1149 = alloca ptr %t1154 = alloca ptr %t1162 = alloca ptr %t1168 = alloca i32 %t1188 = alloca ptr %t1195 = alloca ptr %t1199 = alloca ptr %t1204 = alloca ptr %t1210 = alloca i32 %t1230 = alloca ptr %t1237 = alloca ptr %t1241 = alloca ptr %t1246 = alloca ptr %t1252 = alloca i32 %t1272 = alloca ptr %t1281 = alloca ptr %t1288 = alloca ptr %t1292 = alloca ptr %t1299 = alloca ptr %t1303 = alloca ptr %t1308 = alloca ptr %t1331 = alloca ptr %t1350 = alloca ptr %t1359 = alloca ptr %t1383 = alloca ptr %t1392 = alloca ptr %t1401 = alloca ptr %t1418 = alloca ptr %t1435 = alloca ptr %t1444 = alloca ptr %t1453 = alloca ptr %t1462 = alloca ptr %t1469 = alloca ptr %t1492 = alloca ptr %t1501 = alloca ptr %t1530 = alloca ptr %t1549 = alloca ptr %t1568 = alloca ptr %t1577 = alloca ptr %t1601 = alloca ptr %t1610 = alloca ptr %t1634 = alloca ptr %t1643 = alloca ptr %t1662 = alloca ptr %t1671 = alloca ptr %t1690 = alloca ptr %t1714 = alloca ptr %t1733 = alloca ptr %t1752 = alloca ptr %t1761 = alloca ptr %t1785 = alloca ptr %t1794 = alloca ptr %t1827 = alloca ptr %t1841 = alloca ptr %t1848 = alloca ptr %t1849 = alloca i32 %t1868 = alloca ptr %t1919 = alloca ptr %t1920 = alloca ptr %t1967 = alloca ptr %t1980 = alloca ptr %t1982 = alloca ptr %t1989 = alloca ptr %t2004 = alloca ptr %t2011 = alloca ptr %t2018 = alloca ptr %t2019 = alloca i32 %t2038 = alloca ptr %t2042 = alloca ptr %t2104 = alloca ptr %t2105 = 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 @.str8116) 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 @.str8117) %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 @.str8118, ptr @.str8119) 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 @.str8120, ptr %t53) %t55 = call ptr @fn_emit_bind(ptr %t54) %t56 = call ptr @fn_val(ptr %t55, ptr @.str8121) store ptr %t56, ptr %retval br label %ret ifend8: %t57 = load ptr, ptr %t38 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str8122) %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then12, label %ifend14 then12: %t60 = call ptr @fn_emit_bind(ptr @.str8123) %t61 = call ptr @fn_val(ptr %t60, ptr @.str8124) store ptr %t61, ptr %retval br label %ret ifend14: %t62 = load ptr, ptr %t38 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str8125) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str8126) %t65 = call ptr @fn_val(ptr @.str8127, ptr @.str8128) store ptr %t65, ptr %retval br label %ret ifend17: %t66 = load ptr, ptr %t38 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str8129) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str8130) %t69 = call ptr @fn_val(ptr @.str8131, ptr @.str8132) store ptr %t69, ptr %retval br label %ret ifend20: %t70 = load ptr, ptr %t38 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str8133) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then21, label %ifend23 then21: %t73 = call ptr @fn_emit_bind(ptr @.str8134) %t74 = call ptr @fn_val(ptr %t73, ptr @.str8135) store ptr %t74, ptr %retval br label %ret ifend23: %t75 = load ptr, ptr %t38 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str8136) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then24, label %ifend26 then24: %t78 = call ptr @fn_emit_bind(ptr @.str8137) %t79 = call ptr @fn_val(ptr %t78, ptr @.str8138) store ptr %t79, ptr %retval br label %ret ifend26: %t80 = load ptr, ptr %t38 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str8139) %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 @.str8140, ptr %t94) %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str8141) %t97 = call ptr @fn_emit_bind(ptr %t96) %t98 = call ptr @fn_val(ptr %t97, ptr @.str8142) store ptr %t98, ptr %retval br label %ret ifend29: %t99 = load ptr, ptr %t38 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str8143) %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 @.str8144) %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 @.str8145) %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 @.str8146) %t126 = call ptr @fn_val(ptr @.str8147, ptr @.str8148) store ptr %t126, ptr %retval br label %ret ifend32: %t127 = load ptr, ptr %t38 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str8149) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then33, label %ifend35 then33: call void @fn_emit(ptr @.str8150) %t130 = call ptr @fn_val(ptr @.str8151, ptr @.str8152) store ptr %t130, ptr %retval br label %ret ifend35: %t131 = load ptr, ptr %t38 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str8153) %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 @.str8154, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str8155) %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 @.str8156) %t162 = call ptr @fn_emit_bind(ptr %t161) %t163 = call ptr @fn_val(ptr %t162, ptr @.str8157) store ptr %t163, ptr %retval br label %ret ifend38: %t164 = load ptr, ptr %t38 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str8158) %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 @.str8159) %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 @.str8160) %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 @.str8161) %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 @.str8162) %t203 = call ptr @fn_val(ptr @.str8163, ptr @.str8164) store ptr %t203, ptr %retval br label %ret ifend41: %t204 = load ptr, ptr %t38 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str8165) %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 @.str8166, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str8167) %t221 = call ptr @fn_emit_bind(ptr %t220) %t222 = call ptr @fn_val(ptr %t221, ptr @.str8168) store ptr %t222, ptr %retval br label %ret ifend44: %t223 = load ptr, ptr %t38 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str8169) %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 @.str8170, ptr %t237) %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str8171) %t240 = call ptr @fn_emit_bind(ptr %t239) %t241 = call ptr @fn_val(ptr %t240, ptr @.str8172) store ptr %t241, ptr %retval br label %ret ifend47: %t242 = load ptr, ptr %t38 %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str8173) %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 @.str8174) %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 @.str8175) %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 @.str8176) %t269 = call ptr @fn_val(ptr @.str8177, ptr @.str8178) store ptr %t269, ptr %retval br label %ret ifend50: %t270 = load ptr, ptr %t38 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str8179) %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 @.str8180, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str8181) %t287 = call ptr @fn_emit_bind(ptr %t286) %t288 = call ptr @fn_val(ptr %t287, ptr @.str8182) store ptr %t288, ptr %retval br label %ret ifend53: %t289 = load ptr, ptr %t38 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str8183) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then54, label %ifend56 then54: %t292 = call ptr @fn_emit_bind(ptr @.str8184) store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t293 %t295 = call ptr @lp_str_concat(ptr @.str8185, ptr %t294) %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str8186) %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 @.str8187, ptr %t299) %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str8188) %t302 = call ptr @fn_emit_bind(ptr %t301) %t303 = call ptr @fn_val(ptr %t302, ptr @.str8189) store ptr %t303, ptr %retval br label %ret ifend56: %t304 = load ptr, ptr %t38 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str8190) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then57, label %ifend59 then57: %t307 = call ptr @fn_emit_bind(ptr @.str8191) %t308 = call ptr @fn_val(ptr %t307, ptr @.str8192) store ptr %t308, ptr %retval br label %ret ifend59: %t309 = load ptr, ptr %t38 %t310 = call i32 @lp_str_eq(ptr %t309, ptr @.str8193) %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then60, label %ifend62 then60: call void @fn_emit(ptr @.str8194) %t312 = call ptr @fn_val(ptr @.str8195, ptr @.str8196) store ptr %t312, ptr %retval br label %ret ifend62: %t313 = load ptr, ptr %t38 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str8197) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then63, label %ifend65 then63: call void @fn_emit(ptr @.str8198) %t316 = call ptr @fn_val(ptr @.str8199, ptr @.str8200) store ptr %t316, ptr %retval br label %ret ifend65: %t317 = load ptr, ptr %t38 %t318 = call i32 @lp_str_eq(ptr %t317, ptr @.str8201) %t319 = icmp ne i32 %t318, 0 br i1 %t319, label %then66, label %ifend68 then66: call void @fn_emit(ptr @.str8202) %t320 = call ptr @fn_val(ptr @.str8203, ptr @.str8204) store ptr %t320, ptr %retval br label %ret ifend68: %t321 = load ptr, ptr %t38 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str8205) %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 @.str8206) %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 @.str8207) %t336 = call ptr @fn_val(ptr @.str8208, ptr @.str8209) store ptr %t336, ptr %retval br label %ret ifend71: %t337 = load ptr, ptr %t38 %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str8210) %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 @.str8211) %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 @.str8212) %t352 = call ptr @fn_val(ptr @.str8213, ptr @.str8214) store ptr %t352, ptr %retval br label %ret ifend74: %t354 = load ptr, ptr %t38 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str8215) %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 @.str8216) %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 @.str8217) %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 @.str8218) %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 @.str8219) %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 @.str8220) %t401 = call ptr @fn_val(ptr @.str8221, ptr @.str8222) store ptr %t401, ptr %retval br label %ret ifend79: %t403 = load ptr, ptr %t38 %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str8223) %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 @.str8224) %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 @.str8225, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str8226) %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 @.str8227) %t442 = call ptr @fn_emit_bind(ptr %t441) %t443 = call ptr @fn_val(ptr %t442, ptr @.str8228) store ptr %t443, ptr %retval br label %ret ifend84: %t444 = load ptr, ptr %t38 %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str8229) %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 @.str8230) %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 @.str8231) %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 @.str8232) %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 ptr @fn_llty(ptr %t475) %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str8233) %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then97, label %ifend99 then97: store i32 1, ptr @g_g_uses_longstr %t479 = load ptr, ptr %t465 %t480 = getelementptr inbounds %Cmp_Val, ptr %t479, i32 0, i32 0 %t481 = load ptr, ptr %t480 %t482 = call ptr @lp_str_concat(ptr @.str8234, ptr %t481) %t483 = call ptr @lp_str_concat(ptr %t482, ptr @.str8235) %t484 = call ptr @fn_emit_bind(ptr %t483) %t485 = call ptr @fn_val(ptr %t484, ptr @.str8236) store ptr %t485, ptr %retval br label %ret ifend99: store i32 1, ptr @g_g_uses_intstr %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 @.str8237, ptr %t488) %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str8238) %t491 = call ptr @fn_emit_bind(ptr %t490) %t492 = call ptr @fn_val(ptr %t491, ptr @.str8239) store ptr %t492, ptr %retval br label %ret ifend93: %t493 = load ptr, ptr %t38 %t494 = call i32 @lp_str_eq(ptr %t493, ptr @.str8240) %t495 = icmp ne i32 %t494, 0 br i1 %t495, label %then100, label %ifend102 then100: %t496 = load ptr, ptr %t0 %t497 = getelementptr inbounds %Cmp_Node, ptr %t496, i32 0, i32 7 %t498 = load ptr, ptr %t497 %t499 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 0 %t500 = load ptr, ptr %t499 %t501 = getelementptr inbounds ptr, ptr %t500, i32 0 %t502 = load ptr, ptr %t501 %t503 = call ptr @fn_emit_expr(ptr %t502) store ptr %t503, ptr %t504 %t505 = load ptr, ptr %t504 %t506 = getelementptr inbounds %Cmp_Val, ptr %t505, i32 0, i32 1 %t507 = load ptr, ptr %t506 %t508 = call ptr @fn_llty(ptr %t507) %t509 = call i32 @lp_str_eq(ptr %t508, ptr @.str8241) %t510 = icmp ne i32 %t509, 0 br i1 %t510, label %then103, label %else104 then103: %t511 = load ptr, ptr %t504 %t512 = getelementptr inbounds %Cmp_Val, ptr %t511, i32 0, i32 0 %t513 = load ptr, ptr %t512 %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str8243) %t515 = call ptr @lp_str_concat(ptr @.str8242, ptr %t514) call void @fn_emit(ptr %t515) br label %ifend105 else104: %t516 = load ptr, ptr %t504 %t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 1 %t518 = load ptr, ptr %t517 %t519 = call ptr @fn_llty(ptr %t518) %t520 = call i32 @lp_str_eq(ptr %t519, ptr @.str8244) %t521 = icmp ne i32 %t520, 0 br i1 %t521, label %then106, label %else107 then106: %t522 = load ptr, ptr %t504 %t523 = getelementptr inbounds %Cmp_Val, ptr %t522, i32 0, i32 0 %t524 = load ptr, ptr %t523 %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str8246) %t526 = call ptr @lp_str_concat(ptr @.str8245, ptr %t525) call void @fn_emit(ptr %t526) br label %ifend108 else107: %t527 = load ptr, ptr %t504 %t528 = getelementptr inbounds %Cmp_Val, ptr %t527, i32 0, i32 0 %t529 = load ptr, ptr %t528 %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str8248) %t531 = call ptr @lp_str_concat(ptr @.str8247, ptr %t530) call void @fn_emit(ptr %t531) br label %ifend108 ifend108: br label %ifend105 ifend105: %t532 = call ptr @fn_val(ptr @.str8249, ptr @.str8250) store ptr %t532, ptr %retval br label %ret ifend102: %t533 = load ptr, ptr %t38 %t534 = call i32 @lp_str_eq(ptr %t533, ptr @.str8251) %t535 = icmp ne i32 %t534, 0 br i1 %t535, label %then109, label %ifend111 then109: %t536 = load ptr, ptr %t0 %t537 = getelementptr inbounds %Cmp_Node, ptr %t536, i32 0, i32 7 %t538 = load ptr, ptr %t537 %t539 = getelementptr inbounds %LSlice, ptr %t538, i32 0, i32 0 %t540 = load ptr, ptr %t539 %t541 = getelementptr inbounds ptr, ptr %t540, i32 0 %t542 = load ptr, ptr %t541 %t543 = call ptr @fn_emit_expr(ptr %t542) store ptr %t543, ptr %t544 %t545 = load ptr, ptr %t544 %t546 = getelementptr inbounds %Cmp_Val, ptr %t545, i32 0, i32 0 %t547 = load ptr, ptr %t546 %t548 = call ptr @lp_str_concat(ptr @.str8252, ptr %t547) %t549 = call ptr @lp_str_concat(ptr %t548, ptr @.str8253) %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 @.str8254, ptr %t552) %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str8255) %t555 = call ptr @fn_emit_bind(ptr %t554) %t556 = call ptr @fn_val(ptr %t555, ptr @.str8256) store ptr %t556, ptr %retval br label %ret ifend111: %t557 = load ptr, ptr %t38 %t558 = call i32 @lp_str_eq(ptr %t557, ptr @.str8257) %t559 = icmp ne i32 %t558, 0 br i1 %t559, label %then112, label %ifend114 then112: %t560 = load ptr, ptr %t0 %t561 = getelementptr inbounds %Cmp_Node, ptr %t560, i32 0, i32 7 %t562 = load ptr, ptr %t561 %t563 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 0 %t564 = load ptr, ptr %t563 %t565 = getelementptr inbounds ptr, ptr %t564, i32 0 %t566 = load ptr, ptr %t565 %t567 = call ptr @fn_emit_expr(ptr %t566) store ptr %t567, ptr %t568 %t569 = load ptr, ptr %t568 %t570 = getelementptr inbounds %Cmp_Val, ptr %t569, i32 0, i32 0 %t571 = load ptr, ptr %t570 %t572 = call ptr @lp_str_concat(ptr @.str8258, ptr %t571) %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str8259) %t574 = call ptr @fn_emit_bind(ptr %t573) store ptr %t574, ptr %t575 %t576 = load ptr, ptr %t575 %t577 = call ptr @lp_str_concat(ptr @.str8260, ptr %t576) %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str8261) %t579 = call ptr @fn_emit_bind(ptr %t578) store ptr %t579, ptr %t580 %t581 = load ptr, ptr %t580 %t582 = call ptr @lp_str_concat(ptr @.str8262, ptr %t581) %t583 = call ptr @lp_str_concat(ptr %t582, ptr @.str8263) %t584 = call ptr @fn_emit_bind(ptr %t583) %t585 = call ptr @fn_val(ptr %t584, ptr @.str8264) store ptr %t585, ptr %retval br label %ret ifend114: %t586 = load ptr, ptr %t38 %t587 = call i32 @lp_str_eq(ptr %t586, ptr @.str8265) %t588 = icmp ne i32 %t587, 0 br i1 %t588, label %then115, label %ifend117 then115: %t589 = load ptr, ptr %t0 %t590 = getelementptr inbounds %Cmp_Node, ptr %t589, i32 0, i32 7 %t591 = load ptr, ptr %t590 %t592 = getelementptr inbounds %LSlice, ptr %t591, i32 0, i32 0 %t593 = load ptr, ptr %t592 %t594 = getelementptr inbounds ptr, ptr %t593, i32 0 %t595 = load ptr, ptr %t594 %t596 = call ptr @fn_emit_expr(ptr %t595) store ptr %t596, ptr %t597 %t598 = load ptr, ptr %t597 %t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 0 %t600 = load ptr, ptr %t599 %t601 = call ptr @lp_str_concat(ptr @.str8266, ptr %t600) %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str8267) %t603 = call ptr @fn_emit_bind(ptr %t602) %t604 = call ptr @fn_val(ptr %t603, ptr @.str8268) store ptr %t604, ptr %retval br label %ret ifend117: %t605 = load ptr, ptr %t38 %t606 = call i32 @lp_str_eq(ptr %t605, ptr @.str8269) %t607 = icmp ne i32 %t606, 0 br i1 %t607, label %then118, label %ifend120 then118: %t608 = load ptr, ptr %t0 %t609 = getelementptr inbounds %Cmp_Node, ptr %t608, i32 0, i32 7 %t610 = load ptr, ptr %t609 %t611 = getelementptr inbounds %LSlice, ptr %t610, i32 0, i32 0 %t612 = load ptr, ptr %t611 %t613 = getelementptr inbounds ptr, ptr %t612, i32 0 %t614 = load ptr, ptr %t613 %t615 = call ptr @fn_emit_expr(ptr %t614) store ptr %t615, ptr %t616 %t617 = load ptr, ptr %t616 %t618 = getelementptr inbounds %Cmp_Val, ptr %t617, i32 0, i32 0 %t619 = load ptr, ptr %t618 %t620 = call ptr @lp_str_concat(ptr @.str8270, ptr %t619) %t621 = call ptr @lp_str_concat(ptr %t620, ptr @.str8271) %t622 = call ptr @fn_emit_bind(ptr %t621) %t623 = call ptr @fn_val(ptr %t622, ptr @.str8272) store ptr %t623, ptr %retval br label %ret ifend120: %t624 = load ptr, ptr %t38 %t625 = call i32 @lp_str_eq(ptr %t624, ptr @.str8273) %t626 = icmp ne i32 %t625, 0 br i1 %t626, label %then121, label %ifend123 then121: store i32 1, ptr @g_g_uses_expect %t627 = load ptr, ptr %t0 %t628 = getelementptr inbounds %Cmp_Node, ptr %t627, i32 0, i32 7 %t629 = load ptr, ptr %t628 %t630 = getelementptr inbounds %LSlice, ptr %t629, i32 0, i32 0 %t631 = load ptr, ptr %t630 %t632 = getelementptr inbounds ptr, ptr %t631, i32 0 %t633 = load ptr, ptr %t632 %t634 = call ptr @fn_emit_expr(ptr %t633) store ptr %t634, ptr %t635 %t636 = load ptr, ptr %t635 %t637 = getelementptr inbounds %Cmp_Val, ptr %t636, i32 0, i32 0 %t638 = load ptr, ptr %t637 %t639 = call ptr @lp_str_concat(ptr @.str8274, ptr %t638) %t640 = call ptr @lp_str_concat(ptr %t639, ptr @.str8275) %t641 = call ptr @fn_emit_bind(ptr %t640) store ptr %t641, ptr %t642 %t643 = load ptr, ptr @g_g_src_name %t644 = call ptr @lp_str_concat(ptr %t643, ptr @.str8276) %t645 = load ptr, ptr %t0 %t646 = getelementptr inbounds %Cmp_Node, ptr %t645, i32 0, i32 8 %t647 = load i32, ptr %t646 %t648 = call ptr @fn_itoa(i32 %t647) %t649 = call ptr @lp_str_concat(ptr %t644, ptr %t648) %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str8277) %t651 = call ptr @fn_emit_str_const(ptr %t650) store ptr %t651, ptr %t652 %t653 = load ptr, ptr %t642 %t654 = load ptr, ptr %t652 call void @fn_emit_expect_fail(ptr %t653, ptr %t654, ptr @.str8278, ptr @.str8279) %t655 = call ptr @fn_val(ptr @.str8280, ptr @.str8281) store ptr %t655, ptr %retval br label %ret ifend123: %t656 = load ptr, ptr %t38 %t657 = call i32 @lp_str_eq(ptr %t656, ptr @.str8282) %t658 = icmp ne i32 %t657, 0 br i1 %t658, label %then124, label %ifend126 then124: store i32 1, ptr @g_g_uses_expect %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 0 %t663 = load ptr, ptr %t662 %t664 = getelementptr inbounds ptr, ptr %t663, i32 0 %t665 = load ptr, ptr %t664 %t666 = call ptr @fn_emit_expr(ptr %t665) store ptr %t666, ptr %t667 %t668 = load ptr, ptr %t0 %t669 = getelementptr inbounds %Cmp_Node, ptr %t668, i32 0, i32 7 %t670 = load ptr, ptr %t669 %t671 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 0 %t672 = load ptr, ptr %t671 %t673 = getelementptr inbounds ptr, ptr %t672, i32 1 %t674 = load ptr, ptr %t673 %t675 = call ptr @fn_emit_expr(ptr %t674) store ptr %t675, ptr %t676 %t677 = load ptr, ptr %t667 %t678 = getelementptr inbounds %Cmp_Val, ptr %t677, i32 0, i32 0 %t679 = load ptr, ptr %t678 %t680 = call ptr @lp_str_concat(ptr @.str8283, ptr %t679) %t681 = call ptr @lp_str_concat(ptr %t680, ptr @.str8284) %t682 = load ptr, ptr %t676 %t683 = getelementptr inbounds %Cmp_Val, ptr %t682, i32 0, i32 0 %t684 = load ptr, ptr %t683 %t685 = call ptr @lp_str_concat(ptr %t681, ptr %t684) %t686 = call ptr @fn_emit_bind(ptr %t685) store ptr %t686, ptr %t687 %t688 = load ptr, ptr @g_g_src_name %t689 = call ptr @lp_str_concat(ptr %t688, ptr @.str8285) %t690 = load ptr, ptr %t0 %t691 = getelementptr inbounds %Cmp_Node, ptr %t690, i32 0, i32 8 %t692 = load i32, ptr %t691 %t693 = call ptr @fn_itoa(i32 %t692) %t694 = call ptr @lp_str_concat(ptr %t689, ptr %t693) %t695 = call ptr @lp_str_concat(ptr %t694, ptr @.str8286) %t696 = call ptr @fn_emit_str_const(ptr %t695) store ptr %t696, ptr %t697 %t698 = load ptr, ptr %t687 %t699 = load ptr, ptr %t697 %t700 = load ptr, ptr %t667 %t701 = getelementptr inbounds %Cmp_Val, ptr %t700, i32 0, i32 0 %t702 = load ptr, ptr %t701 %t703 = load ptr, ptr %t676 %t704 = getelementptr inbounds %Cmp_Val, ptr %t703, i32 0, i32 0 %t705 = load ptr, ptr %t704 call void @fn_emit_expect_fail(ptr %t698, ptr %t699, ptr %t702, ptr %t705) %t706 = call ptr @fn_val(ptr @.str8287, ptr @.str8288) store ptr %t706, ptr %retval br label %ret ifend126: %t707 = load ptr, ptr %t38 %t708 = call i32 @lp_str_eq(ptr %t707, ptr @.str8289) %t709 = icmp ne i32 %t708, 0 br i1 %t709, label %then127, label %ifend129 then127: store i32 1, ptr @g_g_uses_expect %t710 = load ptr, ptr %t0 %t711 = getelementptr inbounds %Cmp_Node, ptr %t710, i32 0, i32 7 %t712 = load ptr, ptr %t711 %t713 = getelementptr inbounds %LSlice, ptr %t712, i32 0, i32 0 %t714 = load ptr, ptr %t713 %t715 = getelementptr inbounds ptr, ptr %t714, i32 0 %t716 = load ptr, ptr %t715 %t717 = call ptr @fn_emit_expr(ptr %t716) store ptr %t717, ptr %t718 %t719 = load ptr, ptr %t0 %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 1 %t725 = load ptr, ptr %t724 %t726 = call ptr @fn_emit_expr(ptr %t725) store ptr %t726, ptr %t727 %t728 = load ptr, ptr %t0 %t729 = getelementptr inbounds %Cmp_Node, ptr %t728, i32 0, i32 7 %t730 = load ptr, ptr %t729 %t731 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 0 %t732 = load ptr, ptr %t731 %t733 = getelementptr inbounds ptr, ptr %t732, i32 2 %t734 = load ptr, ptr %t733 %t735 = call ptr @fn_emit_expr(ptr %t734) store ptr %t735, ptr %t736 %t737 = load ptr, ptr %t718 %t738 = getelementptr inbounds %Cmp_Val, ptr %t737, i32 0, i32 0 %t739 = load ptr, ptr %t738 %t740 = call ptr @lp_str_concat(ptr @.str8290, ptr %t739) %t741 = call ptr @lp_str_concat(ptr %t740, ptr @.str8291) %t742 = load ptr, ptr %t727 %t743 = getelementptr inbounds %Cmp_Val, ptr %t742, i32 0, i32 0 %t744 = load ptr, ptr %t743 %t745 = call ptr @lp_str_concat(ptr %t741, ptr %t744) %t746 = call ptr @fn_emit_bind(ptr %t745) store ptr %t746, ptr %t747 %t748 = load ptr, ptr %t747 %t749 = call ptr @lp_str_concat(ptr @.str8292, ptr %t748) %t750 = call ptr @fn_emit_bind(ptr %t749) store ptr %t750, ptr %t751 %t752 = load ptr, ptr %t747 %t753 = call ptr @lp_str_concat(ptr @.str8293, ptr %t752) %t754 = call ptr @lp_str_concat(ptr %t753, ptr @.str8294) %t755 = call ptr @fn_emit_bind(ptr %t754) store ptr %t755, ptr %t756 %t757 = load ptr, ptr %t756 %t758 = call ptr @lp_str_concat(ptr @.str8295, ptr %t757) %t759 = call ptr @lp_str_concat(ptr %t758, ptr @.str8296) %t760 = load ptr, ptr %t751 %t761 = call ptr @lp_str_concat(ptr %t759, ptr %t760) %t762 = call ptr @lp_str_concat(ptr %t761, ptr @.str8297) %t763 = load ptr, ptr %t747 %t764 = call ptr @lp_str_concat(ptr %t762, ptr %t763) %t765 = call ptr @fn_emit_bind(ptr %t764) store ptr %t765, ptr %t766 %t767 = load ptr, ptr %t766 %t768 = call ptr @lp_str_concat(ptr @.str8298, ptr %t767) %t769 = call ptr @lp_str_concat(ptr %t768, ptr @.str8299) %t770 = load ptr, ptr %t736 %t771 = getelementptr inbounds %Cmp_Val, ptr %t770, i32 0, i32 0 %t772 = load ptr, ptr %t771 %t773 = call ptr @lp_str_concat(ptr %t769, ptr %t772) %t774 = call ptr @fn_emit_bind(ptr %t773) store ptr %t774, ptr %t775 %t776 = load ptr, ptr @g_g_src_name %t777 = call ptr @lp_str_concat(ptr %t776, ptr @.str8300) %t778 = load ptr, ptr %t0 %t779 = getelementptr inbounds %Cmp_Node, ptr %t778, i32 0, i32 8 %t780 = load i32, ptr %t779 %t781 = call ptr @fn_itoa(i32 %t780) %t782 = call ptr @lp_str_concat(ptr %t777, ptr %t781) %t783 = call ptr @lp_str_concat(ptr %t782, ptr @.str8301) %t784 = call ptr @fn_emit_str_const(ptr %t783) store ptr %t784, ptr %t785 %t786 = load ptr, ptr %t775 %t787 = load ptr, ptr %t785 %t788 = load ptr, ptr %t718 %t789 = getelementptr inbounds %Cmp_Val, ptr %t788, i32 0, i32 0 %t790 = load ptr, ptr %t789 %t791 = load ptr, ptr %t727 %t792 = getelementptr inbounds %Cmp_Val, ptr %t791, i32 0, i32 0 %t793 = load ptr, ptr %t792 call void @fn_emit_expect_fail(ptr %t786, ptr %t787, ptr %t790, ptr %t793) %t794 = call ptr @fn_val(ptr @.str8302, ptr @.str8303) store ptr %t794, ptr %retval br label %ret ifend129: %t795 = load ptr, ptr %t38 %t796 = call i32 @lp_str_eq(ptr %t795, ptr @.str8304) %t797 = icmp ne i32 %t796, 0 br i1 %t797, label %then130, label %ifend132 then130: store i32 1, ptr @g_g_uses_panic %t798 = load ptr, ptr %t0 %t799 = getelementptr inbounds %Cmp_Node, ptr %t798, i32 0, i32 7 %t800 = load ptr, ptr %t799 %t801 = getelementptr inbounds %LSlice, ptr %t800, i32 0, i32 0 %t802 = load ptr, ptr %t801 %t803 = getelementptr inbounds ptr, ptr %t802, i32 0 %t804 = load ptr, ptr %t803 %t805 = call ptr @fn_emit_expr(ptr %t804) store ptr %t805, ptr %t806 %t807 = load ptr, ptr @g_g_src_name %t808 = call ptr @lp_str_concat(ptr %t807, ptr @.str8305) %t809 = load ptr, ptr %t0 %t810 = getelementptr inbounds %Cmp_Node, ptr %t809, i32 0, i32 8 %t811 = load i32, ptr %t810 %t812 = call ptr @fn_itoa(i32 %t811) %t813 = call ptr @lp_str_concat(ptr %t808, ptr %t812) %t814 = call ptr @lp_str_concat(ptr %t813, ptr @.str8306) %t815 = call ptr @fn_emit_str_const(ptr %t814) store ptr %t815, ptr %t816 %t817 = call ptr @fn_emit_bind(ptr @.str8307) store ptr %t817, ptr %t818 %t819 = load ptr, ptr %t818 %t820 = call ptr @lp_str_concat(ptr @.str8308, ptr %t819) %t821 = call ptr @lp_str_concat(ptr %t820, ptr @.str8309) %t822 = load ptr, ptr %t816 %t823 = call ptr @lp_str_concat(ptr %t821, ptr %t822) %t824 = call ptr @lp_str_concat(ptr %t823, ptr @.str8310) %t825 = load ptr, ptr %t806 %t826 = getelementptr inbounds %Cmp_Val, ptr %t825, i32 0, i32 0 %t827 = load ptr, ptr %t826 %t828 = call ptr @lp_str_concat(ptr %t824, ptr %t827) %t829 = call ptr @lp_str_concat(ptr %t828, ptr @.str8311) call void @fn_emit(ptr %t829) call void @fn_emit(ptr @.str8312) store i32 1, ptr @g_g_term %t830 = call ptr @fn_val(ptr @.str8313, ptr @.str8314) store ptr %t830, ptr %retval br label %ret ifend132: %t831 = load ptr, ptr %t38 %t832 = call i32 @lp_str_eq(ptr %t831, ptr @.str8315) %t833 = icmp ne i32 %t832, 0 br i1 %t833, label %then133, label %ifend135 then133: store i32 1, ptr @g_g_uses_panic %t834 = load ptr, ptr %t0 %t835 = getelementptr inbounds %Cmp_Node, ptr %t834, i32 0, i32 7 %t836 = load ptr, ptr %t835 %t837 = getelementptr inbounds %LSlice, ptr %t836, i32 0, i32 0 %t838 = load ptr, ptr %t837 %t839 = getelementptr inbounds ptr, ptr %t838, i32 0 %t840 = load ptr, ptr %t839 %t841 = call ptr @fn_emit_expr(ptr %t840) store ptr %t841, ptr %t842 %t843 = load ptr, ptr %t842 %t844 = getelementptr inbounds %Cmp_Val, ptr %t843, i32 0, i32 0 %t845 = load ptr, ptr %t844 %t846 = call ptr @lp_str_concat(ptr @.str8316, ptr %t845) %t847 = call ptr @lp_str_concat(ptr %t846, ptr @.str8317) %t848 = call ptr @fn_emit_bind(ptr %t847) store ptr %t848, ptr %t849 %t850 = call ptr @fn_lbl(ptr @.str8318) store ptr %t850, ptr %t851 %t852 = call ptr @fn_lbl(ptr @.str8319) store ptr %t852, ptr %t853 %t854 = load ptr, ptr %t849 %t855 = call ptr @lp_str_concat(ptr @.str8320, ptr %t854) %t856 = call ptr @lp_str_concat(ptr %t855, ptr @.str8321) %t857 = load ptr, ptr %t851 %t858 = call ptr @lp_str_concat(ptr %t856, ptr %t857) %t859 = call ptr @lp_str_concat(ptr %t858, ptr @.str8322) %t860 = load ptr, ptr %t853 %t861 = call ptr @lp_str_concat(ptr %t859, ptr %t860) %t862 = call ptr @lp_str_concat(ptr %t861, ptr @.str8323) call void @fn_emit(ptr %t862) %t863 = load ptr, ptr %t853 %t864 = call ptr @lp_str_concat(ptr %t863, ptr @.str8324) call void @fn_emit(ptr %t864) %t865 = load ptr, ptr %t0 %t866 = getelementptr inbounds %Cmp_Node, ptr %t865, i32 0, i32 7 %t867 = load ptr, ptr %t866 %t868 = getelementptr inbounds %LSlice, ptr %t867, i32 0, i32 0 %t869 = load ptr, ptr %t868 %t870 = getelementptr inbounds ptr, ptr %t869, i32 1 %t871 = load ptr, ptr %t870 %t872 = call ptr @fn_emit_expr(ptr %t871) store ptr %t872, ptr %t873 %t874 = load ptr, ptr @g_g_src_name %t875 = call ptr @lp_str_concat(ptr %t874, ptr @.str8325) %t876 = load ptr, ptr %t0 %t877 = getelementptr inbounds %Cmp_Node, ptr %t876, i32 0, i32 8 %t878 = load i32, ptr %t877 %t879 = call ptr @fn_itoa(i32 %t878) %t880 = call ptr @lp_str_concat(ptr %t875, ptr %t879) %t881 = call ptr @lp_str_concat(ptr %t880, ptr @.str8326) %t882 = call ptr @fn_emit_str_const(ptr %t881) store ptr %t882, ptr %t883 %t884 = call ptr @fn_emit_bind(ptr @.str8327) store ptr %t884, ptr %t885 %t886 = load ptr, ptr %t885 %t887 = call ptr @lp_str_concat(ptr @.str8328, ptr %t886) %t888 = call ptr @lp_str_concat(ptr %t887, ptr @.str8329) %t889 = load ptr, ptr %t883 %t890 = call ptr @lp_str_concat(ptr %t888, ptr %t889) %t891 = call ptr @lp_str_concat(ptr %t890, ptr @.str8330) %t892 = load ptr, ptr %t873 %t893 = getelementptr inbounds %Cmp_Val, ptr %t892, i32 0, i32 0 %t894 = load ptr, ptr %t893 %t895 = call ptr @lp_str_concat(ptr %t891, ptr %t894) %t896 = call ptr @lp_str_concat(ptr %t895, ptr @.str8331) call void @fn_emit(ptr %t896) call void @fn_emit(ptr @.str8332) %t897 = load ptr, ptr %t851 %t898 = call ptr @lp_str_concat(ptr %t897, ptr @.str8333) call void @fn_emit(ptr %t898) %t899 = call ptr @fn_val(ptr @.str8334, ptr @.str8335) store ptr %t899, ptr %retval br label %ret ifend135: %t901 = load ptr, ptr %t38 %t902 = call i32 @lp_str_eq(ptr %t901, ptr @.str8336) %t903 = icmp ne i32 %t902, 0 %t904 = zext i1 %t903 to i32 store i32 %t904, ptr %t900 br i1 %t903, label %sc136, label %scend137 sc136: %t905 = call ptr @fn_find_fn(ptr @.str8337) %t906 = icmp eq ptr %t905, null %t907 = zext i1 %t906 to i32 %t908 = icmp ne i32 %t907, 0 %t909 = zext i1 %t908 to i32 store i32 %t909, ptr %t900 br label %scend137 scend137: %t910 = load i32, ptr %t900 %t911 = icmp ne i32 %t910, 0 br i1 %t911, label %then138, label %ifend140 then138: store i32 1, ptr @g_g_uses_result %t912 = load ptr, ptr %t0 %t913 = getelementptr inbounds %Cmp_Node, ptr %t912, i32 0, i32 7 %t914 = load ptr, ptr %t913 %t915 = getelementptr inbounds %LSlice, ptr %t914, i32 0, i32 0 %t916 = load ptr, ptr %t915 %t917 = getelementptr inbounds ptr, ptr %t916, i32 0 %t918 = load ptr, ptr %t917 %t919 = call ptr @fn_emit_expr(ptr %t918) store ptr %t919, ptr %t920 %t921 = call ptr @fn_emit_bind(ptr @.str8338) store ptr %t921, ptr %t922 %t923 = load ptr, ptr %t922 %t924 = call ptr @lp_str_concat(ptr @.str8339, ptr %t923) %t925 = call ptr @lp_str_concat(ptr %t924, ptr @.str8340) %t926 = call ptr @fn_emit_bind(ptr %t925) store ptr %t926, ptr %t927 %t928 = load ptr, ptr %t927 %t929 = call ptr @lp_str_concat(ptr @.str8341, ptr %t928) %t930 = call ptr @lp_str_concat(ptr %t929, ptr @.str8342) call void @fn_emit(ptr %t930) %t931 = load ptr, ptr %t922 %t932 = call ptr @lp_str_concat(ptr @.str8343, ptr %t931) %t933 = call ptr @lp_str_concat(ptr %t932, ptr @.str8344) %t934 = call ptr @fn_emit_bind(ptr %t933) store ptr %t934, ptr %t935 %t936 = load ptr, ptr %t920 %t937 = call ptr @fn_coerce_code(ptr %t936, ptr @.str8346) %t938 = call ptr @lp_str_concat(ptr @.str8345, ptr %t937) %t939 = call ptr @lp_str_concat(ptr %t938, ptr @.str8347) %t940 = load ptr, ptr %t935 %t941 = call ptr @lp_str_concat(ptr %t939, ptr %t940) %t942 = call ptr @lp_str_concat(ptr %t941, ptr @.str8348) call void @fn_emit(ptr %t942) %t943 = load ptr, ptr %t922 %t944 = call ptr @lp_str_concat(ptr @.str8349, ptr %t943) %t945 = call ptr @lp_str_concat(ptr %t944, ptr @.str8350) %t946 = call ptr @fn_emit_bind(ptr %t945) store ptr %t946, ptr %t947 %t948 = load ptr, ptr %t947 %t949 = call ptr @lp_str_concat(ptr @.str8351, ptr %t948) %t950 = call ptr @lp_str_concat(ptr %t949, ptr @.str8352) call void @fn_emit(ptr %t950) %t951 = load ptr, ptr %t922 %t952 = call ptr @fn_val(ptr %t951, ptr @.str8353) store ptr %t952, ptr %retval br label %ret ifend140: %t954 = load ptr, ptr %t38 %t955 = call i32 @lp_str_eq(ptr %t954, ptr @.str8354) %t956 = icmp ne i32 %t955, 0 %t957 = zext i1 %t956 to i32 store i32 %t957, ptr %t953 br i1 %t956, label %sc141, label %scend142 sc141: %t958 = call ptr @fn_find_fn(ptr @.str8355) %t959 = icmp eq ptr %t958, null %t960 = zext i1 %t959 to i32 %t961 = icmp ne i32 %t960, 0 %t962 = zext i1 %t961 to i32 store i32 %t962, ptr %t953 br label %scend142 scend142: %t963 = load i32, ptr %t953 %t964 = icmp ne i32 %t963, 0 br i1 %t964, label %then143, label %ifend145 then143: store i32 1, ptr @g_g_uses_result %t965 = load ptr, ptr %t0 %t966 = getelementptr inbounds %Cmp_Node, ptr %t965, i32 0, i32 7 %t967 = load ptr, ptr %t966 %t968 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 0 %t969 = load ptr, ptr %t968 %t970 = getelementptr inbounds ptr, ptr %t969, i32 0 %t971 = load ptr, ptr %t970 %t972 = call ptr @fn_emit_expr(ptr %t971) store ptr %t972, ptr %t973 %t974 = call ptr @fn_emit_bind(ptr @.str8356) store ptr %t974, ptr %t975 %t976 = load ptr, ptr %t975 %t977 = call ptr @lp_str_concat(ptr @.str8357, ptr %t976) %t978 = call ptr @lp_str_concat(ptr %t977, ptr @.str8358) %t979 = call ptr @fn_emit_bind(ptr %t978) store ptr %t979, ptr %t980 %t981 = load ptr, ptr %t980 %t982 = call ptr @lp_str_concat(ptr @.str8359, ptr %t981) %t983 = call ptr @lp_str_concat(ptr %t982, ptr @.str8360) call void @fn_emit(ptr %t983) %t984 = load ptr, ptr %t975 %t985 = call ptr @lp_str_concat(ptr @.str8361, ptr %t984) %t986 = call ptr @lp_str_concat(ptr %t985, ptr @.str8362) %t987 = call ptr @fn_emit_bind(ptr %t986) store ptr %t987, ptr %t988 %t989 = load ptr, ptr %t988 %t990 = call ptr @lp_str_concat(ptr @.str8363, ptr %t989) %t991 = call ptr @lp_str_concat(ptr %t990, ptr @.str8364) call void @fn_emit(ptr %t991) %t992 = load ptr, ptr %t975 %t993 = call ptr @lp_str_concat(ptr @.str8365, ptr %t992) %t994 = call ptr @lp_str_concat(ptr %t993, ptr @.str8366) %t995 = call ptr @fn_emit_bind(ptr %t994) store ptr %t995, ptr %t996 %t997 = load ptr, ptr %t973 %t998 = getelementptr inbounds %Cmp_Val, ptr %t997, i32 0, i32 0 %t999 = load ptr, ptr %t998 %t1000 = call ptr @lp_str_concat(ptr @.str8367, ptr %t999) %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str8368) %t1002 = load ptr, ptr %t996 %t1003 = call ptr @lp_str_concat(ptr %t1001, ptr %t1002) %t1004 = call ptr @lp_str_concat(ptr %t1003, ptr @.str8369) call void @fn_emit(ptr %t1004) %t1005 = load ptr, ptr %t975 %t1006 = call ptr @fn_val(ptr %t1005, ptr @.str8370) store ptr %t1006, ptr %retval br label %ret ifend145: %t1008 = load ptr, ptr %t38 %t1009 = call i32 @lp_str_eq(ptr %t1008, ptr @.str8371) %t1010 = icmp ne i32 %t1009, 0 %t1011 = zext i1 %t1010 to i32 store i32 %t1011, ptr %t1007 br i1 %t1010, label %sc146, label %scend147 sc146: %t1012 = call ptr @fn_find_fn(ptr @.str8372) %t1013 = icmp eq ptr %t1012, null %t1014 = zext i1 %t1013 to i32 %t1015 = icmp ne i32 %t1014, 0 %t1016 = zext i1 %t1015 to i32 store i32 %t1016, ptr %t1007 br label %scend147 scend147: %t1017 = load i32, ptr %t1007 %t1018 = icmp ne i32 %t1017, 0 br i1 %t1018, label %then148, label %ifend150 then148: %t1019 = load ptr, ptr %t0 %t1020 = getelementptr inbounds %Cmp_Node, ptr %t1019, i32 0, i32 7 %t1021 = load ptr, ptr %t1020 %t1022 = getelementptr inbounds %LSlice, ptr %t1021, i32 0, i32 0 %t1023 = load ptr, ptr %t1022 %t1024 = getelementptr inbounds ptr, ptr %t1023, i32 0 %t1025 = load ptr, ptr %t1024 %t1026 = call ptr @fn_emit_expr(ptr %t1025) store ptr %t1026, ptr %t1027 %t1028 = load ptr, ptr %t1027 %t1029 = getelementptr inbounds %Cmp_Val, ptr %t1028, i32 0, i32 0 %t1030 = load ptr, ptr %t1029 %t1031 = call ptr @lp_str_concat(ptr @.str8373, ptr %t1030) %t1032 = call ptr @lp_str_concat(ptr %t1031, ptr @.str8374) %t1033 = call ptr @fn_emit_bind(ptr %t1032) store ptr %t1033, ptr %t1034 %t1035 = load ptr, ptr %t1034 %t1036 = call ptr @lp_str_concat(ptr @.str8375, ptr %t1035) %t1037 = call ptr @fn_emit_bind(ptr %t1036) store ptr %t1037, ptr %t1038 %t1039 = load ptr, ptr %t1038 %t1040 = call ptr @lp_str_concat(ptr @.str8376, ptr %t1039) %t1041 = call ptr @lp_str_concat(ptr %t1040, ptr @.str8377) %t1042 = call ptr @fn_emit_bind(ptr %t1041) store ptr %t1042, ptr %t1043 %t1044 = load ptr, ptr %t1043 %t1045 = call ptr @lp_str_concat(ptr @.str8378, ptr %t1044) %t1046 = call ptr @lp_str_concat(ptr %t1045, ptr @.str8379) %t1047 = call ptr @fn_emit_bind(ptr %t1046) %t1048 = call ptr @fn_val(ptr %t1047, ptr @.str8380) store ptr %t1048, ptr %retval br label %ret ifend150: %t1050 = load ptr, ptr %t38 %t1051 = call i32 @lp_str_eq(ptr %t1050, ptr @.str8381) %t1052 = icmp ne i32 %t1051, 0 %t1053 = zext i1 %t1052 to i32 store i32 %t1053, ptr %t1049 br i1 %t1052, label %sc151, label %scend152 sc151: %t1054 = call ptr @fn_find_fn(ptr @.str8382) %t1055 = icmp eq ptr %t1054, null %t1056 = zext i1 %t1055 to i32 %t1057 = icmp ne i32 %t1056, 0 %t1058 = zext i1 %t1057 to i32 store i32 %t1058, ptr %t1049 br label %scend152 scend152: %t1059 = load i32, ptr %t1049 %t1060 = icmp ne i32 %t1059, 0 br i1 %t1060, label %then153, label %ifend155 then153: %t1061 = load ptr, ptr %t0 %t1062 = getelementptr inbounds %Cmp_Node, ptr %t1061, i32 0, i32 7 %t1063 = load ptr, ptr %t1062 %t1064 = getelementptr inbounds %LSlice, ptr %t1063, i32 0, i32 0 %t1065 = load ptr, ptr %t1064 %t1066 = getelementptr inbounds ptr, ptr %t1065, i32 0 %t1067 = load ptr, ptr %t1066 %t1068 = call ptr @fn_emit_expr(ptr %t1067) store ptr %t1068, ptr %t1069 %t1070 = load ptr, ptr %t1069 %t1071 = getelementptr inbounds %Cmp_Val, ptr %t1070, i32 0, i32 0 %t1072 = load ptr, ptr %t1071 %t1073 = call ptr @lp_str_concat(ptr @.str8383, ptr %t1072) %t1074 = call ptr @lp_str_concat(ptr %t1073, ptr @.str8384) %t1075 = call ptr @fn_emit_bind(ptr %t1074) store ptr %t1075, ptr %t1076 %t1077 = load ptr, ptr %t1076 %t1078 = call ptr @lp_str_concat(ptr @.str8385, 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 @.str8386, ptr %t1081) %t1083 = call ptr @lp_str_concat(ptr %t1082, ptr @.str8387) %t1084 = call ptr @fn_emit_bind(ptr %t1083) store ptr %t1084, ptr %t1085 %t1086 = load ptr, ptr %t1085 %t1087 = call ptr @lp_str_concat(ptr @.str8388, ptr %t1086) %t1088 = call ptr @lp_str_concat(ptr %t1087, ptr @.str8389) %t1089 = call ptr @fn_emit_bind(ptr %t1088) %t1090 = call ptr @fn_val(ptr %t1089, ptr @.str8390) store ptr %t1090, ptr %retval br label %ret ifend155: %t1092 = load ptr, ptr %t38 %t1093 = call i32 @lp_str_eq(ptr %t1092, ptr @.str8391) %t1094 = icmp ne i32 %t1093, 0 %t1095 = zext i1 %t1094 to i32 store i32 %t1095, ptr %t1091 br i1 %t1094, label %sc156, label %scend157 sc156: %t1096 = call ptr @fn_find_fn(ptr @.str8392) %t1097 = icmp eq ptr %t1096, null %t1098 = zext i1 %t1097 to i32 %t1099 = icmp ne i32 %t1098, 0 %t1100 = zext i1 %t1099 to i32 store i32 %t1100, ptr %t1091 br label %scend157 scend157: %t1101 = load i32, ptr %t1091 %t1102 = icmp ne i32 %t1101, 0 br i1 %t1102, label %then158, label %ifend160 then158: store i32 1, ptr @g_g_uses_option %t1103 = load ptr, ptr %t0 %t1104 = getelementptr inbounds %Cmp_Node, ptr %t1103, i32 0, i32 7 %t1105 = load ptr, ptr %t1104 %t1106 = getelementptr inbounds %LSlice, ptr %t1105, i32 0, i32 0 %t1107 = load ptr, ptr %t1106 %t1108 = getelementptr inbounds ptr, ptr %t1107, i32 0 %t1109 = load ptr, ptr %t1108 %t1110 = call ptr @fn_emit_expr(ptr %t1109) store ptr %t1110, ptr %t1111 %t1112 = call ptr @fn_emit_bind(ptr @.str8393) store ptr %t1112, ptr %t1113 %t1114 = load ptr, ptr %t1113 %t1115 = call ptr @lp_str_concat(ptr @.str8394, ptr %t1114) %t1116 = call ptr @lp_str_concat(ptr %t1115, ptr @.str8395) %t1117 = call ptr @fn_emit_bind(ptr %t1116) store ptr %t1117, ptr %t1118 %t1119 = load ptr, ptr %t1118 %t1120 = call ptr @lp_str_concat(ptr @.str8396, ptr %t1119) %t1121 = call ptr @lp_str_concat(ptr %t1120, ptr @.str8397) call void @fn_emit(ptr %t1121) %t1122 = load ptr, ptr %t1113 %t1123 = call ptr @lp_str_concat(ptr @.str8398, ptr %t1122) %t1124 = call ptr @lp_str_concat(ptr %t1123, ptr @.str8399) %t1125 = call ptr @fn_emit_bind(ptr %t1124) store ptr %t1125, ptr %t1126 %t1127 = load ptr, ptr %t1111 %t1128 = call ptr @fn_coerce_code(ptr %t1127, ptr @.str8401) %t1129 = call ptr @lp_str_concat(ptr @.str8400, ptr %t1128) %t1130 = call ptr @lp_str_concat(ptr %t1129, ptr @.str8402) %t1131 = load ptr, ptr %t1126 %t1132 = call ptr @lp_str_concat(ptr %t1130, ptr %t1131) %t1133 = call ptr @lp_str_concat(ptr %t1132, ptr @.str8403) call void @fn_emit(ptr %t1133) %t1134 = load ptr, ptr %t1113 %t1135 = call ptr @fn_val(ptr %t1134, ptr @.str8404) store ptr %t1135, ptr %retval br label %ret ifend160: %t1137 = load ptr, ptr %t38 %t1138 = call i32 @lp_str_eq(ptr %t1137, ptr @.str8405) %t1139 = icmp ne i32 %t1138, 0 %t1140 = zext i1 %t1139 to i32 store i32 %t1140, ptr %t1136 br i1 %t1139, label %sc161, label %scend162 sc161: %t1141 = call ptr @fn_find_fn(ptr @.str8406) %t1142 = icmp eq ptr %t1141, null %t1143 = zext i1 %t1142 to i32 %t1144 = icmp ne i32 %t1143, 0 %t1145 = zext i1 %t1144 to i32 store i32 %t1145, ptr %t1136 br label %scend162 scend162: %t1146 = load i32, ptr %t1136 %t1147 = icmp ne i32 %t1146, 0 br i1 %t1147, label %then163, label %ifend165 then163: store i32 1, ptr @g_g_uses_option %t1148 = call ptr @fn_emit_bind(ptr @.str8407) store ptr %t1148, ptr %t1149 %t1150 = load ptr, ptr %t1149 %t1151 = call ptr @lp_str_concat(ptr @.str8408, ptr %t1150) %t1152 = call ptr @lp_str_concat(ptr %t1151, ptr @.str8409) %t1153 = call ptr @fn_emit_bind(ptr %t1152) store ptr %t1153, ptr %t1154 %t1155 = load ptr, ptr %t1154 %t1156 = call ptr @lp_str_concat(ptr @.str8410, ptr %t1155) %t1157 = call ptr @lp_str_concat(ptr %t1156, ptr @.str8411) call void @fn_emit(ptr %t1157) %t1158 = load ptr, ptr %t1149 %t1159 = call ptr @lp_str_concat(ptr @.str8412, ptr %t1158) %t1160 = call ptr @lp_str_concat(ptr %t1159, ptr @.str8413) %t1161 = call ptr @fn_emit_bind(ptr %t1160) store ptr %t1161, ptr %t1162 %t1163 = load ptr, ptr %t1162 %t1164 = call ptr @lp_str_concat(ptr @.str8414, ptr %t1163) %t1165 = call ptr @lp_str_concat(ptr %t1164, ptr @.str8415) call void @fn_emit(ptr %t1165) %t1166 = load ptr, ptr %t1149 %t1167 = call ptr @fn_val(ptr %t1166, ptr @.str8416) store ptr %t1167, ptr %retval br label %ret ifend165: %t1169 = load ptr, ptr %t38 %t1170 = call i32 @lp_str_eq(ptr %t1169, ptr @.str8417) %t1171 = icmp ne i32 %t1170, 0 %t1172 = zext i1 %t1171 to i32 store i32 %t1172, ptr %t1168 br i1 %t1171, label %sc166, label %scend167 sc166: %t1173 = call ptr @fn_find_fn(ptr @.str8418) %t1174 = icmp eq ptr %t1173, null %t1175 = zext i1 %t1174 to i32 %t1176 = icmp ne i32 %t1175, 0 %t1177 = zext i1 %t1176 to i32 store i32 %t1177, ptr %t1168 br label %scend167 scend167: %t1178 = load i32, ptr %t1168 %t1179 = icmp ne i32 %t1178, 0 br i1 %t1179, label %then168, label %ifend170 then168: %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 0 %t1186 = load ptr, ptr %t1185 %t1187 = call ptr @fn_emit_expr(ptr %t1186) store ptr %t1187, ptr %t1188 %t1189 = load ptr, ptr %t1188 %t1190 = getelementptr inbounds %Cmp_Val, ptr %t1189, i32 0, i32 0 %t1191 = load ptr, ptr %t1190 %t1192 = call ptr @lp_str_concat(ptr @.str8419, ptr %t1191) %t1193 = call ptr @lp_str_concat(ptr %t1192, ptr @.str8420) %t1194 = call ptr @fn_emit_bind(ptr %t1193) store ptr %t1194, ptr %t1195 %t1196 = load ptr, ptr %t1195 %t1197 = call ptr @lp_str_concat(ptr @.str8421, ptr %t1196) %t1198 = call ptr @fn_emit_bind(ptr %t1197) store ptr %t1198, ptr %t1199 %t1200 = load ptr, ptr %t1199 %t1201 = call ptr @lp_str_concat(ptr @.str8422, ptr %t1200) %t1202 = call ptr @lp_str_concat(ptr %t1201, ptr @.str8423) %t1203 = call ptr @fn_emit_bind(ptr %t1202) store ptr %t1203, ptr %t1204 %t1205 = load ptr, ptr %t1204 %t1206 = call ptr @lp_str_concat(ptr @.str8424, ptr %t1205) %t1207 = call ptr @lp_str_concat(ptr %t1206, ptr @.str8425) %t1208 = call ptr @fn_emit_bind(ptr %t1207) %t1209 = call ptr @fn_val(ptr %t1208, ptr @.str8426) store ptr %t1209, ptr %retval br label %ret ifend170: %t1211 = load ptr, ptr %t38 %t1212 = call i32 @lp_str_eq(ptr %t1211, ptr @.str8427) %t1213 = icmp ne i32 %t1212, 0 %t1214 = zext i1 %t1213 to i32 store i32 %t1214, ptr %t1210 br i1 %t1213, label %sc171, label %scend172 sc171: %t1215 = call ptr @fn_find_fn(ptr @.str8428) %t1216 = icmp eq ptr %t1215, null %t1217 = zext i1 %t1216 to i32 %t1218 = icmp ne i32 %t1217, 0 %t1219 = zext i1 %t1218 to i32 store i32 %t1219, ptr %t1210 br label %scend172 scend172: %t1220 = load i32, ptr %t1210 %t1221 = icmp ne i32 %t1220, 0 br i1 %t1221, label %then173, label %ifend175 then173: %t1222 = load ptr, ptr %t0 %t1223 = getelementptr inbounds %Cmp_Node, ptr %t1222, i32 0, i32 7 %t1224 = load ptr, ptr %t1223 %t1225 = getelementptr inbounds %LSlice, ptr %t1224, i32 0, i32 0 %t1226 = load ptr, ptr %t1225 %t1227 = getelementptr inbounds ptr, ptr %t1226, i32 0 %t1228 = load ptr, ptr %t1227 %t1229 = call ptr @fn_emit_expr(ptr %t1228) store ptr %t1229, ptr %t1230 %t1231 = load ptr, ptr %t1230 %t1232 = getelementptr inbounds %Cmp_Val, ptr %t1231, i32 0, i32 0 %t1233 = load ptr, ptr %t1232 %t1234 = call ptr @lp_str_concat(ptr @.str8429, ptr %t1233) %t1235 = call ptr @lp_str_concat(ptr %t1234, ptr @.str8430) %t1236 = call ptr @fn_emit_bind(ptr %t1235) store ptr %t1236, ptr %t1237 %t1238 = load ptr, ptr %t1237 %t1239 = call ptr @lp_str_concat(ptr @.str8431, ptr %t1238) %t1240 = call ptr @fn_emit_bind(ptr %t1239) store ptr %t1240, ptr %t1241 %t1242 = load ptr, ptr %t1241 %t1243 = call ptr @lp_str_concat(ptr @.str8432, ptr %t1242) %t1244 = call ptr @lp_str_concat(ptr %t1243, ptr @.str8433) %t1245 = call ptr @fn_emit_bind(ptr %t1244) store ptr %t1245, ptr %t1246 %t1247 = load ptr, ptr %t1246 %t1248 = call ptr @lp_str_concat(ptr @.str8434, ptr %t1247) %t1249 = call ptr @lp_str_concat(ptr %t1248, ptr @.str8435) %t1250 = call ptr @fn_emit_bind(ptr %t1249) %t1251 = call ptr @fn_val(ptr %t1250, ptr @.str8436) store ptr %t1251, ptr %retval br label %ret ifend175: %t1253 = load ptr, ptr %t38 %t1254 = call i32 @lp_str_eq(ptr %t1253, ptr @.str8437) %t1255 = icmp ne i32 %t1254, 0 %t1256 = zext i1 %t1255 to i32 store i32 %t1256, ptr %t1252 br i1 %t1255, label %sc176, label %scend177 sc176: %t1257 = call ptr @fn_find_fn(ptr @.str8438) %t1258 = icmp eq ptr %t1257, null %t1259 = zext i1 %t1258 to i32 %t1260 = icmp ne i32 %t1259, 0 %t1261 = zext i1 %t1260 to i32 store i32 %t1261, ptr %t1252 br label %scend177 scend177: %t1262 = load i32, ptr %t1252 %t1263 = icmp ne i32 %t1262, 0 br i1 %t1263, label %then178, label %ifend180 then178: %t1264 = load ptr, ptr %t0 %t1265 = getelementptr inbounds %Cmp_Node, ptr %t1264, i32 0, i32 7 %t1266 = load ptr, ptr %t1265 %t1267 = getelementptr inbounds %LSlice, ptr %t1266, i32 0, i32 0 %t1268 = load ptr, ptr %t1267 %t1269 = getelementptr inbounds ptr, ptr %t1268, i32 0 %t1270 = load ptr, ptr %t1269 %t1271 = call ptr @fn_emit_expr(ptr %t1270) store ptr %t1271, ptr %t1272 %t1273 = load ptr, ptr %t0 %t1274 = getelementptr inbounds %Cmp_Node, ptr %t1273, i32 0, i32 7 %t1275 = load ptr, ptr %t1274 %t1276 = getelementptr inbounds %LSlice, ptr %t1275, i32 0, i32 0 %t1277 = load ptr, ptr %t1276 %t1278 = getelementptr inbounds ptr, ptr %t1277, i32 1 %t1279 = load ptr, ptr %t1278 %t1280 = call ptr @fn_emit_expr(ptr %t1279) store ptr %t1280, ptr %t1281 %t1282 = load ptr, ptr %t1272 %t1283 = getelementptr inbounds %Cmp_Val, ptr %t1282, i32 0, i32 0 %t1284 = load ptr, ptr %t1283 %t1285 = call ptr @lp_str_concat(ptr @.str8439, ptr %t1284) %t1286 = call ptr @lp_str_concat(ptr %t1285, ptr @.str8440) %t1287 = call ptr @fn_emit_bind(ptr %t1286) store ptr %t1287, ptr %t1288 %t1289 = load ptr, ptr %t1288 %t1290 = call ptr @lp_str_concat(ptr @.str8441, ptr %t1289) %t1291 = call ptr @fn_emit_bind(ptr %t1290) store ptr %t1291, ptr %t1292 %t1293 = load ptr, ptr %t1272 %t1294 = getelementptr inbounds %Cmp_Val, ptr %t1293, i32 0, i32 0 %t1295 = load ptr, ptr %t1294 %t1296 = call ptr @lp_str_concat(ptr @.str8442, ptr %t1295) %t1297 = call ptr @lp_str_concat(ptr %t1296, ptr @.str8443) %t1298 = call ptr @fn_emit_bind(ptr %t1297) store ptr %t1298, ptr %t1299 %t1300 = load ptr, ptr %t1299 %t1301 = call ptr @lp_str_concat(ptr @.str8444, ptr %t1300) %t1302 = call ptr @fn_emit_bind(ptr %t1301) store ptr %t1302, ptr %t1303 %t1304 = load ptr, ptr %t1292 %t1305 = call ptr @lp_str_concat(ptr @.str8445, ptr %t1304) %t1306 = call ptr @lp_str_concat(ptr %t1305, ptr @.str8446) %t1307 = call ptr @fn_emit_bind(ptr %t1306) store ptr %t1307, ptr %t1308 %t1309 = load ptr, ptr %t1308 %t1310 = call ptr @lp_str_concat(ptr @.str8447, ptr %t1309) %t1311 = call ptr @lp_str_concat(ptr %t1310, ptr @.str8448) %t1312 = load ptr, ptr %t1303 %t1313 = call ptr @lp_str_concat(ptr %t1311, ptr %t1312) %t1314 = call ptr @lp_str_concat(ptr %t1313, ptr @.str8449) %t1315 = load ptr, ptr %t1281 %t1316 = call ptr @fn_coerce_code(ptr %t1315, ptr @.str8450) %t1317 = call ptr @lp_str_concat(ptr %t1314, ptr %t1316) %t1318 = call ptr @fn_emit_bind(ptr %t1317) %t1319 = call ptr @fn_val(ptr %t1318, ptr @.str8451) store ptr %t1319, ptr %retval br label %ret ifend180: %t1320 = load ptr, ptr %t38 %t1321 = call i32 @lp_str_eq(ptr %t1320, ptr @.str8452) %t1322 = icmp ne i32 %t1321, 0 br i1 %t1322, label %then181, label %ifend183 then181: %t1323 = load ptr, ptr %t0 %t1324 = getelementptr inbounds %Cmp_Node, ptr %t1323, i32 0, i32 7 %t1325 = load ptr, ptr %t1324 %t1326 = getelementptr inbounds %LSlice, ptr %t1325, i32 0, i32 0 %t1327 = load ptr, ptr %t1326 %t1328 = getelementptr inbounds ptr, ptr %t1327, i32 0 %t1329 = load ptr, ptr %t1328 %t1330 = call ptr @fn_emit_expr(ptr %t1329) store ptr %t1330, ptr %t1331 %t1332 = load ptr, ptr %t1331 %t1333 = getelementptr inbounds %Cmp_Val, ptr %t1332, i32 0, i32 0 %t1334 = load ptr, ptr %t1333 %t1335 = call ptr @lp_str_concat(ptr @.str8453, ptr %t1334) %t1336 = call ptr @lp_str_concat(ptr %t1335, ptr @.str8454) %t1337 = call ptr @fn_emit_bind(ptr %t1336) %t1338 = call ptr @fn_val(ptr %t1337, ptr @.str8455) store ptr %t1338, ptr %retval br label %ret ifend183: %t1339 = load ptr, ptr %t38 %t1340 = call i32 @lp_str_eq(ptr %t1339, ptr @.str8456) %t1341 = icmp ne i32 %t1340, 0 br i1 %t1341, label %then184, label %ifend186 then184: %t1342 = load ptr, ptr %t0 %t1343 = getelementptr inbounds %Cmp_Node, ptr %t1342, i32 0, i32 7 %t1344 = load ptr, ptr %t1343 %t1345 = getelementptr inbounds %LSlice, ptr %t1344, i32 0, i32 0 %t1346 = load ptr, ptr %t1345 %t1347 = getelementptr inbounds ptr, ptr %t1346, i32 0 %t1348 = load ptr, ptr %t1347 %t1349 = call ptr @fn_emit_expr(ptr %t1348) store ptr %t1349, ptr %t1350 %t1351 = load ptr, ptr %t0 %t1352 = getelementptr inbounds %Cmp_Node, ptr %t1351, i32 0, i32 7 %t1353 = load ptr, ptr %t1352 %t1354 = getelementptr inbounds %LSlice, ptr %t1353, i32 0, i32 0 %t1355 = load ptr, ptr %t1354 %t1356 = getelementptr inbounds ptr, ptr %t1355, i32 1 %t1357 = load ptr, ptr %t1356 %t1358 = call ptr @fn_emit_expr(ptr %t1357) store ptr %t1358, ptr %t1359 %t1360 = load ptr, ptr %t1350 %t1361 = getelementptr inbounds %Cmp_Val, ptr %t1360, i32 0, i32 0 %t1362 = load ptr, ptr %t1361 %t1363 = call ptr @lp_str_concat(ptr @.str8457, ptr %t1362) %t1364 = call ptr @lp_str_concat(ptr %t1363, ptr @.str8458) %t1365 = load ptr, ptr %t1359 %t1366 = getelementptr inbounds %Cmp_Val, ptr %t1365, i32 0, i32 0 %t1367 = load ptr, ptr %t1366 %t1368 = call ptr @lp_str_concat(ptr %t1364, ptr %t1367) %t1369 = call ptr @lp_str_concat(ptr %t1368, ptr @.str8459) %t1370 = call ptr @fn_emit_bind(ptr %t1369) %t1371 = call ptr @fn_val(ptr %t1370, ptr @.str8460) store ptr %t1371, ptr %retval br label %ret ifend186: %t1372 = load ptr, ptr %t38 %t1373 = call i32 @lp_str_eq(ptr %t1372, ptr @.str8461) %t1374 = icmp ne i32 %t1373, 0 br i1 %t1374, label %then187, label %ifend189 then187: %t1375 = load ptr, ptr %t0 %t1376 = getelementptr inbounds %Cmp_Node, ptr %t1375, i32 0, i32 7 %t1377 = load ptr, ptr %t1376 %t1378 = getelementptr inbounds %LSlice, ptr %t1377, i32 0, i32 0 %t1379 = load ptr, ptr %t1378 %t1380 = getelementptr inbounds ptr, ptr %t1379, i32 0 %t1381 = load ptr, ptr %t1380 %t1382 = call ptr @fn_emit_expr(ptr %t1381) store ptr %t1382, ptr %t1383 %t1384 = load ptr, ptr %t0 %t1385 = getelementptr inbounds %Cmp_Node, ptr %t1384, i32 0, i32 7 %t1386 = load ptr, ptr %t1385 %t1387 = getelementptr inbounds %LSlice, ptr %t1386, i32 0, i32 0 %t1388 = load ptr, ptr %t1387 %t1389 = getelementptr inbounds ptr, ptr %t1388, i32 1 %t1390 = load ptr, ptr %t1389 %t1391 = call ptr @fn_emit_expr(ptr %t1390) store ptr %t1391, ptr %t1392 %t1393 = load ptr, ptr %t0 %t1394 = getelementptr inbounds %Cmp_Node, ptr %t1393, i32 0, i32 7 %t1395 = load ptr, ptr %t1394 %t1396 = getelementptr inbounds %LSlice, ptr %t1395, i32 0, i32 0 %t1397 = load ptr, ptr %t1396 %t1398 = getelementptr inbounds ptr, ptr %t1397, i32 2 %t1399 = load ptr, ptr %t1398 %t1400 = call ptr @fn_emit_expr(ptr %t1399) store ptr %t1400, ptr %t1401 %t1402 = load ptr, ptr %t1383 %t1403 = getelementptr inbounds %Cmp_Val, ptr %t1402, i32 0, i32 0 %t1404 = load ptr, ptr %t1403 %t1405 = call ptr @lp_str_concat(ptr @.str8462, ptr %t1404) %t1406 = call ptr @lp_str_concat(ptr %t1405, ptr @.str8463) %t1407 = load ptr, ptr %t1392 %t1408 = getelementptr inbounds %Cmp_Val, ptr %t1407, i32 0, i32 0 %t1409 = load ptr, ptr %t1408 %t1410 = call ptr @lp_str_concat(ptr %t1406, ptr %t1409) %t1411 = call ptr @lp_str_concat(ptr %t1410, ptr @.str8464) %t1412 = load ptr, ptr %t1401 %t1413 = getelementptr inbounds %Cmp_Val, ptr %t1412, i32 0, i32 0 %t1414 = load ptr, ptr %t1413 %t1415 = call ptr @lp_str_concat(ptr %t1411, ptr %t1414) %t1416 = call ptr @lp_str_concat(ptr %t1415, ptr @.str8465) %t1417 = call ptr @fn_emit_bind(ptr %t1416) store ptr %t1417, ptr %t1418 %t1419 = load ptr, ptr %t1418 %t1420 = call ptr @lp_str_concat(ptr @.str8466, ptr %t1419) %t1421 = call ptr @lp_str_concat(ptr %t1420, ptr @.str8467) %t1422 = call ptr @fn_emit_bind(ptr %t1421) %t1423 = call ptr @fn_val(ptr %t1422, ptr @.str8468) store ptr %t1423, ptr %retval br label %ret ifend189: %t1424 = load ptr, ptr %t38 %t1425 = call i32 @lp_str_eq(ptr %t1424, ptr @.str8469) %t1426 = icmp ne i32 %t1425, 0 br i1 %t1426, label %then190, label %ifend192 then190: %t1427 = load ptr, ptr %t0 %t1428 = getelementptr inbounds %Cmp_Node, ptr %t1427, i32 0, i32 7 %t1429 = load ptr, ptr %t1428 %t1430 = getelementptr inbounds %LSlice, ptr %t1429, i32 0, i32 0 %t1431 = load ptr, ptr %t1430 %t1432 = getelementptr inbounds ptr, ptr %t1431, i32 0 %t1433 = load ptr, ptr %t1432 %t1434 = call ptr @fn_emit_expr(ptr %t1433) store ptr %t1434, ptr %t1435 %t1436 = load ptr, ptr %t0 %t1437 = getelementptr inbounds %Cmp_Node, ptr %t1436, i32 0, i32 7 %t1438 = load ptr, ptr %t1437 %t1439 = getelementptr inbounds %LSlice, ptr %t1438, i32 0, i32 0 %t1440 = load ptr, ptr %t1439 %t1441 = getelementptr inbounds ptr, ptr %t1440, i32 1 %t1442 = load ptr, ptr %t1441 %t1443 = call ptr @fn_emit_expr(ptr %t1442) store ptr %t1443, ptr %t1444 %t1445 = load ptr, ptr %t0 %t1446 = getelementptr inbounds %Cmp_Node, ptr %t1445, i32 0, i32 7 %t1447 = load ptr, ptr %t1446 %t1448 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 0 %t1449 = load ptr, ptr %t1448 %t1450 = getelementptr inbounds ptr, ptr %t1449, i32 2 %t1451 = load ptr, ptr %t1450 %t1452 = call ptr @fn_emit_expr(ptr %t1451) store ptr %t1452, ptr %t1453 %t1454 = load ptr, ptr %t0 %t1455 = getelementptr inbounds %Cmp_Node, ptr %t1454, i32 0, i32 7 %t1456 = load ptr, ptr %t1455 %t1457 = getelementptr inbounds %LSlice, ptr %t1456, i32 0, i32 0 %t1458 = load ptr, ptr %t1457 %t1459 = getelementptr inbounds ptr, ptr %t1458, i32 3 %t1460 = load ptr, ptr %t1459 %t1461 = call ptr @fn_emit_expr(ptr %t1460) store ptr %t1461, ptr %t1462 %t1463 = load ptr, ptr %t1462 %t1464 = getelementptr inbounds %Cmp_Val, ptr %t1463, i32 0, i32 0 %t1465 = load ptr, ptr %t1464 %t1466 = call ptr @lp_str_concat(ptr @.str8470, ptr %t1465) %t1467 = call ptr @lp_str_concat(ptr %t1466, ptr @.str8471) %t1468 = call ptr @fn_emit_bind(ptr %t1467) store ptr %t1468, ptr %t1469 call void @fn_emit(ptr @.str8472) %t1470 = load ptr, ptr %t1435 %t1471 = getelementptr inbounds %Cmp_Val, ptr %t1470, i32 0, i32 0 %t1472 = load ptr, ptr %t1471 call void @fn_emit(ptr %t1472) call void @fn_emit(ptr @.str8473) %t1473 = load ptr, ptr %t1444 %t1474 = getelementptr inbounds %Cmp_Val, ptr %t1473, i32 0, i32 0 %t1475 = load ptr, ptr %t1474 call void @fn_emit(ptr %t1475) call void @fn_emit(ptr @.str8474) %t1476 = load ptr, ptr %t1453 %t1477 = getelementptr inbounds %Cmp_Val, ptr %t1476, i32 0, i32 0 %t1478 = load ptr, ptr %t1477 call void @fn_emit(ptr %t1478) call void @fn_emit(ptr @.str8475) %t1479 = load ptr, ptr %t1469 call void @fn_emit(ptr %t1479) call void @fn_emit(ptr @.str8476) %t1480 = call ptr @fn_val(ptr @.str8477, ptr @.str8478) store ptr %t1480, ptr %retval br label %ret ifend192: %t1481 = load ptr, ptr %t38 %t1482 = call i32 @lp_str_eq(ptr %t1481, ptr @.str8479) %t1483 = icmp ne i32 %t1482, 0 br i1 %t1483, label %then193, label %ifend195 then193: %t1484 = load ptr, ptr %t0 %t1485 = getelementptr inbounds %Cmp_Node, ptr %t1484, i32 0, i32 7 %t1486 = load ptr, ptr %t1485 %t1487 = getelementptr inbounds %LSlice, ptr %t1486, i32 0, i32 0 %t1488 = load ptr, ptr %t1487 %t1489 = getelementptr inbounds ptr, ptr %t1488, i32 0 %t1490 = load ptr, ptr %t1489 %t1491 = call ptr @fn_emit_expr(ptr %t1490) store ptr %t1491, ptr %t1492 %t1493 = load ptr, ptr %t0 %t1494 = getelementptr inbounds %Cmp_Node, ptr %t1493, i32 0, i32 7 %t1495 = load ptr, ptr %t1494 %t1496 = getelementptr inbounds %LSlice, ptr %t1495, i32 0, i32 0 %t1497 = load ptr, ptr %t1496 %t1498 = getelementptr inbounds ptr, ptr %t1497, i32 1 %t1499 = load ptr, ptr %t1498 %t1500 = call ptr @fn_emit_expr(ptr %t1499) store ptr %t1500, ptr %t1501 %t1502 = load ptr, ptr %t1492 %t1503 = getelementptr inbounds %Cmp_Val, ptr %t1502, i32 0, i32 0 %t1504 = load ptr, ptr %t1503 %t1505 = call ptr @lp_str_concat(ptr @.str8480, ptr %t1504) %t1506 = call ptr @lp_str_concat(ptr %t1505, ptr @.str8481) %t1507 = load ptr, ptr %t1501 %t1508 = getelementptr inbounds %Cmp_Val, ptr %t1507, i32 0, i32 0 %t1509 = load ptr, ptr %t1508 %t1510 = call ptr @lp_str_concat(ptr %t1506, ptr %t1509) %t1511 = call ptr @lp_str_concat(ptr %t1510, ptr @.str8482) %t1512 = call ptr @fn_emit_bind(ptr %t1511) %t1513 = call ptr @fn_val(ptr %t1512, ptr @.str8483) store ptr %t1513, ptr %retval br label %ret ifend195: %t1514 = load ptr, ptr %t38 %t1515 = call i32 @lp_str_eq(ptr %t1514, ptr @.str8484) %t1516 = icmp ne i32 %t1515, 0 br i1 %t1516, label %then196, label %ifend198 then196: %t1517 = call ptr @fn_emit_bind(ptr @.str8485) %t1518 = call ptr @fn_val(ptr %t1517, ptr @.str8486) store ptr %t1518, ptr %retval br label %ret ifend198: %t1519 = load ptr, ptr %t38 %t1520 = call i32 @lp_str_eq(ptr %t1519, ptr @.str8487) %t1521 = icmp ne i32 %t1520, 0 br i1 %t1521, label %then199, label %ifend201 then199: %t1522 = load ptr, ptr %t0 %t1523 = getelementptr inbounds %Cmp_Node, ptr %t1522, i32 0, i32 7 %t1524 = load ptr, ptr %t1523 %t1525 = getelementptr inbounds %LSlice, ptr %t1524, i32 0, i32 0 %t1526 = load ptr, ptr %t1525 %t1527 = getelementptr inbounds ptr, ptr %t1526, i32 0 %t1528 = load ptr, ptr %t1527 %t1529 = call ptr @fn_emit_expr(ptr %t1528) store ptr %t1529, ptr %t1530 %t1531 = load ptr, ptr %t1530 %t1532 = getelementptr inbounds %Cmp_Val, ptr %t1531, i32 0, i32 0 %t1533 = load ptr, ptr %t1532 %t1534 = call ptr @lp_str_concat(ptr @.str8488, ptr %t1533) %t1535 = call ptr @lp_str_concat(ptr %t1534, ptr @.str8489) %t1536 = call ptr @fn_emit_bind(ptr %t1535) %t1537 = call ptr @fn_val(ptr %t1536, ptr @.str8490) store ptr %t1537, ptr %retval br label %ret ifend201: %t1538 = load ptr, ptr %t38 %t1539 = call i32 @lp_str_eq(ptr %t1538, ptr @.str8491) %t1540 = icmp ne i32 %t1539, 0 br i1 %t1540, label %then202, label %ifend204 then202: %t1541 = load ptr, ptr %t0 %t1542 = getelementptr inbounds %Cmp_Node, ptr %t1541, i32 0, i32 7 %t1543 = load ptr, ptr %t1542 %t1544 = getelementptr inbounds %LSlice, ptr %t1543, i32 0, i32 0 %t1545 = load ptr, ptr %t1544 %t1546 = getelementptr inbounds ptr, ptr %t1545, i32 0 %t1547 = load ptr, ptr %t1546 %t1548 = call ptr @fn_emit_expr(ptr %t1547) store ptr %t1548, ptr %t1549 %t1550 = load ptr, ptr %t1549 %t1551 = getelementptr inbounds %Cmp_Val, ptr %t1550, i32 0, i32 0 %t1552 = load ptr, ptr %t1551 %t1553 = call ptr @lp_str_concat(ptr @.str8492, ptr %t1552) %t1554 = call ptr @lp_str_concat(ptr %t1553, ptr @.str8493) %t1555 = call ptr @fn_emit_bind(ptr %t1554) %t1556 = call ptr @fn_val(ptr %t1555, ptr @.str8494) store ptr %t1556, ptr %retval br label %ret ifend204: %t1557 = load ptr, ptr %t38 %t1558 = call i32 @lp_str_eq(ptr %t1557, ptr @.str8495) %t1559 = icmp ne i32 %t1558, 0 br i1 %t1559, label %then205, label %ifend207 then205: %t1560 = load ptr, ptr %t0 %t1561 = getelementptr inbounds %Cmp_Node, ptr %t1560, i32 0, i32 7 %t1562 = load ptr, ptr %t1561 %t1563 = getelementptr inbounds %LSlice, ptr %t1562, i32 0, i32 0 %t1564 = load ptr, ptr %t1563 %t1565 = getelementptr inbounds ptr, ptr %t1564, i32 0 %t1566 = load ptr, ptr %t1565 %t1567 = call ptr @fn_emit_expr(ptr %t1566) store ptr %t1567, ptr %t1568 %t1569 = load ptr, ptr %t0 %t1570 = getelementptr inbounds %Cmp_Node, ptr %t1569, i32 0, i32 7 %t1571 = load ptr, ptr %t1570 %t1572 = getelementptr inbounds %LSlice, ptr %t1571, i32 0, i32 0 %t1573 = load ptr, ptr %t1572 %t1574 = getelementptr inbounds ptr, ptr %t1573, i32 1 %t1575 = load ptr, ptr %t1574 %t1576 = call ptr @fn_emit_expr(ptr %t1575) store ptr %t1576, ptr %t1577 %t1578 = load ptr, ptr %t1568 %t1579 = getelementptr inbounds %Cmp_Val, ptr %t1578, i32 0, i32 0 %t1580 = load ptr, ptr %t1579 %t1581 = call ptr @lp_str_concat(ptr @.str8496, ptr %t1580) %t1582 = call ptr @lp_str_concat(ptr %t1581, ptr @.str8497) %t1583 = load ptr, ptr %t1577 %t1584 = getelementptr inbounds %Cmp_Val, ptr %t1583, i32 0, i32 0 %t1585 = load ptr, ptr %t1584 %t1586 = call ptr @lp_str_concat(ptr %t1582, ptr %t1585) %t1587 = call ptr @lp_str_concat(ptr %t1586, ptr @.str8498) %t1588 = call ptr @fn_emit_bind(ptr %t1587) %t1589 = call ptr @fn_val(ptr %t1588, ptr @.str8499) store ptr %t1589, ptr %retval br label %ret ifend207: %t1590 = load ptr, ptr %t38 %t1591 = call i32 @lp_str_eq(ptr %t1590, ptr @.str8500) %t1592 = icmp ne i32 %t1591, 0 br i1 %t1592, label %then208, label %ifend210 then208: %t1593 = load ptr, ptr %t0 %t1594 = getelementptr inbounds %Cmp_Node, ptr %t1593, i32 0, i32 7 %t1595 = load ptr, ptr %t1594 %t1596 = getelementptr inbounds %LSlice, ptr %t1595, i32 0, i32 0 %t1597 = load ptr, ptr %t1596 %t1598 = getelementptr inbounds ptr, ptr %t1597, i32 0 %t1599 = load ptr, ptr %t1598 %t1600 = call ptr @fn_emit_expr(ptr %t1599) store ptr %t1600, ptr %t1601 %t1602 = load ptr, ptr %t0 %t1603 = getelementptr inbounds %Cmp_Node, ptr %t1602, i32 0, i32 7 %t1604 = load ptr, ptr %t1603 %t1605 = getelementptr inbounds %LSlice, ptr %t1604, i32 0, i32 0 %t1606 = load ptr, ptr %t1605 %t1607 = getelementptr inbounds ptr, ptr %t1606, i32 1 %t1608 = load ptr, ptr %t1607 %t1609 = call ptr @fn_emit_expr(ptr %t1608) store ptr %t1609, ptr %t1610 %t1611 = load ptr, ptr %t1601 %t1612 = getelementptr inbounds %Cmp_Val, ptr %t1611, i32 0, i32 0 %t1613 = load ptr, ptr %t1612 %t1614 = call ptr @lp_str_concat(ptr @.str8501, ptr %t1613) %t1615 = call ptr @lp_str_concat(ptr %t1614, ptr @.str8502) %t1616 = load ptr, ptr %t1610 %t1617 = getelementptr inbounds %Cmp_Val, ptr %t1616, i32 0, i32 0 %t1618 = load ptr, ptr %t1617 %t1619 = call ptr @lp_str_concat(ptr %t1615, ptr %t1618) %t1620 = call ptr @lp_str_concat(ptr %t1619, ptr @.str8503) %t1621 = call ptr @fn_emit_bind(ptr %t1620) %t1622 = call ptr @fn_val(ptr %t1621, ptr @.str8504) store ptr %t1622, ptr %retval br label %ret ifend210: %t1623 = load ptr, ptr %t38 %t1624 = call i32 @lp_str_eq(ptr %t1623, ptr @.str8505) %t1625 = icmp ne i32 %t1624, 0 br i1 %t1625, label %then211, label %ifend213 then211: %t1626 = load ptr, ptr %t0 %t1627 = getelementptr inbounds %Cmp_Node, ptr %t1626, i32 0, i32 7 %t1628 = load ptr, ptr %t1627 %t1629 = getelementptr inbounds %LSlice, ptr %t1628, i32 0, i32 0 %t1630 = load ptr, ptr %t1629 %t1631 = getelementptr inbounds ptr, ptr %t1630, i32 0 %t1632 = load ptr, ptr %t1631 %t1633 = call ptr @fn_emit_expr(ptr %t1632) store ptr %t1633, ptr %t1634 %t1635 = load ptr, ptr %t0 %t1636 = getelementptr inbounds %Cmp_Node, ptr %t1635, i32 0, i32 7 %t1637 = load ptr, ptr %t1636 %t1638 = getelementptr inbounds %LSlice, ptr %t1637, i32 0, i32 0 %t1639 = load ptr, ptr %t1638 %t1640 = getelementptr inbounds ptr, ptr %t1639, i32 1 %t1641 = load ptr, ptr %t1640 %t1642 = call ptr @fn_emit_expr(ptr %t1641) store ptr %t1642, ptr %t1643 call void @fn_emit(ptr @.str8506) %t1644 = load ptr, ptr %t1634 %t1645 = getelementptr inbounds %Cmp_Val, ptr %t1644, i32 0, i32 0 %t1646 = load ptr, ptr %t1645 call void @fn_emit(ptr %t1646) call void @fn_emit(ptr @.str8507) %t1647 = load ptr, ptr %t1643 %t1648 = getelementptr inbounds %Cmp_Val, ptr %t1647, i32 0, i32 0 %t1649 = load ptr, ptr %t1648 call void @fn_emit(ptr %t1649) call void @fn_emit(ptr @.str8508) %t1650 = call ptr @fn_val(ptr @.str8509, ptr @.str8510) store ptr %t1650, ptr %retval br label %ret ifend213: %t1651 = load ptr, ptr %t38 %t1652 = call i32 @lp_str_eq(ptr %t1651, ptr @.str8511) %t1653 = icmp ne i32 %t1652, 0 br i1 %t1653, label %then214, label %ifend216 then214: %t1654 = load ptr, ptr %t0 %t1655 = getelementptr inbounds %Cmp_Node, ptr %t1654, i32 0, i32 7 %t1656 = load ptr, ptr %t1655 %t1657 = getelementptr inbounds %LSlice, ptr %t1656, i32 0, i32 0 %t1658 = load ptr, ptr %t1657 %t1659 = getelementptr inbounds ptr, ptr %t1658, i32 0 %t1660 = load ptr, ptr %t1659 %t1661 = call ptr @fn_emit_expr(ptr %t1660) store ptr %t1661, ptr %t1662 %t1663 = load ptr, ptr %t0 %t1664 = getelementptr inbounds %Cmp_Node, ptr %t1663, i32 0, i32 7 %t1665 = load ptr, ptr %t1664 %t1666 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 0 %t1667 = load ptr, ptr %t1666 %t1668 = getelementptr inbounds ptr, ptr %t1667, i32 1 %t1669 = load ptr, ptr %t1668 %t1670 = call ptr @fn_emit_expr(ptr %t1669) store ptr %t1670, ptr %t1671 call void @fn_emit(ptr @.str8512) %t1672 = load ptr, ptr %t1662 %t1673 = getelementptr inbounds %Cmp_Val, ptr %t1672, i32 0, i32 0 %t1674 = load ptr, ptr %t1673 call void @fn_emit(ptr %t1674) call void @fn_emit(ptr @.str8513) %t1675 = load ptr, ptr %t1671 %t1676 = getelementptr inbounds %Cmp_Val, ptr %t1675, i32 0, i32 0 %t1677 = load ptr, ptr %t1676 call void @fn_emit(ptr %t1677) call void @fn_emit(ptr @.str8514) %t1678 = call ptr @fn_val(ptr @.str8515, ptr @.str8516) store ptr %t1678, ptr %retval br label %ret ifend216: %t1679 = load ptr, ptr %t38 %t1680 = call i32 @lp_str_eq(ptr %t1679, ptr @.str8517) %t1681 = icmp ne i32 %t1680, 0 br i1 %t1681, label %then217, label %ifend219 then217: %t1682 = load ptr, ptr %t0 %t1683 = getelementptr inbounds %Cmp_Node, ptr %t1682, i32 0, i32 7 %t1684 = load ptr, ptr %t1683 %t1685 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 0 %t1686 = load ptr, ptr %t1685 %t1687 = getelementptr inbounds ptr, ptr %t1686, i32 0 %t1688 = load ptr, ptr %t1687 %t1689 = call ptr @fn_emit_expr(ptr %t1688) store ptr %t1689, ptr %t1690 %t1691 = load ptr, ptr %t1690 %t1692 = getelementptr inbounds %Cmp_Val, ptr %t1691, i32 0, i32 0 %t1693 = load ptr, ptr %t1692 %t1694 = call ptr @lp_str_concat(ptr @.str8518, ptr %t1693) %t1695 = call ptr @lp_str_concat(ptr %t1694, ptr @.str8519) %t1696 = call ptr @fn_emit_bind(ptr %t1695) %t1697 = call ptr @fn_val(ptr %t1696, ptr @.str8520) store ptr %t1697, ptr %retval br label %ret ifend219: %t1698 = load ptr, ptr %t38 %t1699 = call i32 @lp_str_eq(ptr %t1698, ptr @.str8521) %t1700 = icmp ne i32 %t1699, 0 br i1 %t1700, label %then220, label %ifend222 then220: %t1701 = call ptr @fn_emit_bind(ptr @.str8522) %t1702 = call ptr @fn_val(ptr %t1701, ptr @.str8523) store ptr %t1702, ptr %retval br label %ret ifend222: %t1703 = load ptr, ptr %t38 %t1704 = call i32 @lp_str_eq(ptr %t1703, ptr @.str8524) %t1705 = icmp ne i32 %t1704, 0 br i1 %t1705, label %then223, label %ifend225 then223: %t1706 = load ptr, ptr %t0 %t1707 = getelementptr inbounds %Cmp_Node, ptr %t1706, i32 0, i32 7 %t1708 = load ptr, ptr %t1707 %t1709 = getelementptr inbounds %LSlice, ptr %t1708, i32 0, i32 0 %t1710 = load ptr, ptr %t1709 %t1711 = getelementptr inbounds ptr, ptr %t1710, i32 0 %t1712 = load ptr, ptr %t1711 %t1713 = call ptr @fn_emit_expr(ptr %t1712) store ptr %t1713, ptr %t1714 %t1715 = load ptr, ptr %t1714 %t1716 = getelementptr inbounds %Cmp_Val, ptr %t1715, i32 0, i32 0 %t1717 = load ptr, ptr %t1716 %t1718 = call ptr @lp_str_concat(ptr @.str8525, ptr %t1717) %t1719 = call ptr @lp_str_concat(ptr %t1718, ptr @.str8526) %t1720 = call ptr @fn_emit_bind(ptr %t1719) %t1721 = call ptr @fn_val(ptr %t1720, ptr @.str8527) store ptr %t1721, ptr %retval br label %ret ifend225: %t1722 = load ptr, ptr %t38 %t1723 = call i32 @lp_str_eq(ptr %t1722, ptr @.str8528) %t1724 = icmp ne i32 %t1723, 0 br i1 %t1724, label %then226, label %ifend228 then226: %t1725 = load ptr, ptr %t0 %t1726 = getelementptr inbounds %Cmp_Node, ptr %t1725, i32 0, i32 7 %t1727 = load ptr, ptr %t1726 %t1728 = getelementptr inbounds %LSlice, ptr %t1727, i32 0, i32 0 %t1729 = load ptr, ptr %t1728 %t1730 = getelementptr inbounds ptr, ptr %t1729, i32 0 %t1731 = load ptr, ptr %t1730 %t1732 = call ptr @fn_emit_expr(ptr %t1731) store ptr %t1732, ptr %t1733 %t1734 = load ptr, ptr %t1733 %t1735 = getelementptr inbounds %Cmp_Val, ptr %t1734, i32 0, i32 0 %t1736 = load ptr, ptr %t1735 %t1737 = call ptr @lp_str_concat(ptr @.str8529, ptr %t1736) %t1738 = call ptr @lp_str_concat(ptr %t1737, ptr @.str8530) %t1739 = call ptr @fn_emit_bind(ptr %t1738) %t1740 = call ptr @fn_val(ptr %t1739, ptr @.str8531) store ptr %t1740, ptr %retval br label %ret ifend228: %t1741 = load ptr, ptr %t38 %t1742 = call i32 @lp_str_eq(ptr %t1741, ptr @.str8532) %t1743 = icmp ne i32 %t1742, 0 br i1 %t1743, label %then229, label %ifend231 then229: %t1744 = load ptr, ptr %t0 %t1745 = getelementptr inbounds %Cmp_Node, ptr %t1744, i32 0, i32 7 %t1746 = load ptr, ptr %t1745 %t1747 = getelementptr inbounds %LSlice, ptr %t1746, i32 0, i32 0 %t1748 = load ptr, ptr %t1747 %t1749 = getelementptr inbounds ptr, ptr %t1748, i32 0 %t1750 = load ptr, ptr %t1749 %t1751 = call ptr @fn_emit_expr(ptr %t1750) store ptr %t1751, ptr %t1752 %t1753 = load ptr, ptr %t0 %t1754 = getelementptr inbounds %Cmp_Node, ptr %t1753, i32 0, i32 7 %t1755 = load ptr, ptr %t1754 %t1756 = getelementptr inbounds %LSlice, ptr %t1755, i32 0, i32 0 %t1757 = load ptr, ptr %t1756 %t1758 = getelementptr inbounds ptr, ptr %t1757, i32 1 %t1759 = load ptr, ptr %t1758 %t1760 = call ptr @fn_emit_expr(ptr %t1759) store ptr %t1760, ptr %t1761 %t1762 = load ptr, ptr %t1752 %t1763 = getelementptr inbounds %Cmp_Val, ptr %t1762, i32 0, i32 0 %t1764 = load ptr, ptr %t1763 %t1765 = call ptr @lp_str_concat(ptr @.str8533, ptr %t1764) %t1766 = call ptr @lp_str_concat(ptr %t1765, ptr @.str8534) %t1767 = load ptr, ptr %t1761 %t1768 = getelementptr inbounds %Cmp_Val, ptr %t1767, i32 0, i32 0 %t1769 = load ptr, ptr %t1768 %t1770 = call ptr @lp_str_concat(ptr %t1766, ptr %t1769) %t1771 = call ptr @lp_str_concat(ptr %t1770, ptr @.str8535) %t1772 = call ptr @fn_emit_bind(ptr %t1771) %t1773 = call ptr @fn_val(ptr %t1772, ptr @.str8536) store ptr %t1773, ptr %retval br label %ret ifend231: %t1774 = load ptr, ptr %t38 %t1775 = call i32 @lp_str_eq(ptr %t1774, ptr @.str8537) %t1776 = icmp ne i32 %t1775, 0 br i1 %t1776, label %then232, label %ifend234 then232: %t1777 = load ptr, ptr %t0 %t1778 = getelementptr inbounds %Cmp_Node, ptr %t1777, i32 0, i32 7 %t1779 = load ptr, ptr %t1778 %t1780 = getelementptr inbounds %LSlice, ptr %t1779, i32 0, i32 0 %t1781 = load ptr, ptr %t1780 %t1782 = getelementptr inbounds ptr, ptr %t1781, i32 0 %t1783 = load ptr, ptr %t1782 %t1784 = call ptr @fn_emit_expr(ptr %t1783) store ptr %t1784, ptr %t1785 %t1786 = load ptr, ptr %t0 %t1787 = getelementptr inbounds %Cmp_Node, ptr %t1786, i32 0, i32 7 %t1788 = load ptr, ptr %t1787 %t1789 = getelementptr inbounds %LSlice, ptr %t1788, i32 0, i32 0 %t1790 = load ptr, ptr %t1789 %t1791 = getelementptr inbounds ptr, ptr %t1790, i32 1 %t1792 = load ptr, ptr %t1791 %t1793 = call ptr @fn_emit_expr(ptr %t1792) store ptr %t1793, ptr %t1794 %t1795 = load ptr, ptr %t1785 %t1796 = getelementptr inbounds %Cmp_Val, ptr %t1795, i32 0, i32 0 %t1797 = load ptr, ptr %t1796 %t1798 = call ptr @lp_str_concat(ptr @.str8538, ptr %t1797) %t1799 = call ptr @lp_str_concat(ptr %t1798, ptr @.str8539) %t1800 = load ptr, ptr %t1794 %t1801 = getelementptr inbounds %Cmp_Val, ptr %t1800, i32 0, i32 0 %t1802 = load ptr, ptr %t1801 %t1803 = call ptr @lp_str_concat(ptr %t1799, ptr %t1802) %t1804 = call ptr @lp_str_concat(ptr %t1803, ptr @.str8540) %t1805 = call ptr @fn_emit_bind(ptr %t1804) %t1806 = call ptr @fn_val(ptr %t1805, ptr @.str8541) store ptr %t1806, ptr %retval br label %ret ifend234: %t1807 = load ptr, ptr %t38 %t1808 = call i32 @fn_is_intrinsic(ptr %t1807) %t1809 = icmp ne i32 %t1808, 0 br i1 %t1809, label %then235, label %ifend237 then235: %t1810 = load ptr, ptr %t38 %t1811 = load ptr, ptr %t0 %t1812 = call ptr @fn_emit_intrinsic(ptr %t1810, ptr %t1811) store ptr %t1812, ptr %retval br label %ret ifend237: %t1813 = load ptr, ptr %t38 %t1814 = call i32 @fn_is_intrinsic2(ptr %t1813) %t1815 = icmp ne i32 %t1814, 0 br i1 %t1815, label %then238, label %ifend240 then238: %t1816 = load ptr, ptr %t38 %t1817 = load ptr, ptr %t0 %t1818 = call ptr @fn_emit_intrinsic2(ptr %t1816, ptr %t1817) store ptr %t1818, ptr %retval br label %ret ifend240: %t1819 = load ptr, ptr %t38 %t1820 = call i32 @fn_is_math_builtin(ptr %t1819) %t1821 = icmp ne i32 %t1820, 0 br i1 %t1821, label %then241, label %ifend243 then241: %t1822 = load ptr, ptr %t38 %t1823 = load ptr, ptr %t0 %t1824 = call ptr @fn_emit_math_builtin(ptr %t1822, ptr %t1823) store ptr %t1824, ptr %retval br label %ret ifend243: %t1825 = load ptr, ptr %t38 %t1826 = call ptr @fn_find_extern(ptr %t1825) store ptr %t1826, ptr %t1827 %t1828 = load ptr, ptr %t1827 %t1829 = icmp ne ptr %t1828, null %t1830 = zext i1 %t1829 to i32 %t1831 = icmp ne i32 %t1830, 0 br i1 %t1831, label %then244, label %ifend246 then244: %t1832 = load ptr, ptr %t0 %t1833 = load ptr, ptr %t1827 %t1834 = call ptr @fn_param_labels(ptr %t1833) call void @fn_reorder_named(ptr %t1832, ptr %t1834) %t1835 = getelementptr %LSlice, ptr null, i32 1 %t1836 = ptrtoint ptr %t1835 to i64 %t1837 = call ptr @malloc(i64 %t1836) %t1838 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 0 store ptr null, ptr %t1838 %t1839 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 1 store i32 0, ptr %t1839 %t1840 = getelementptr inbounds %LSlice, ptr %t1837, i32 0, i32 2 store i32 0, ptr %t1840 store ptr %t1837, ptr %t1841 %t1842 = getelementptr %LSlice, ptr null, i32 1 %t1843 = ptrtoint ptr %t1842 to i64 %t1844 = call ptr @malloc(i64 %t1843) %t1845 = getelementptr inbounds %LSlice, ptr %t1844, i32 0, i32 0 store ptr null, ptr %t1845 %t1846 = getelementptr inbounds %LSlice, ptr %t1844, i32 0, i32 1 store i32 0, ptr %t1846 %t1847 = getelementptr inbounds %LSlice, ptr %t1844, i32 0, i32 2 store i32 0, ptr %t1847 store ptr %t1844, ptr %t1848 store i32 0, ptr %t1849 br label %wcond247 wcond247: %t1850 = load i32, ptr %t1849 %t1851 = load ptr, ptr %t0 %t1852 = getelementptr inbounds %Cmp_Node, ptr %t1851, i32 0, i32 7 %t1853 = load ptr, ptr %t1852 %t1854 = getelementptr inbounds %LSlice, ptr %t1853, i32 0, i32 1 %t1855 = load i32, ptr %t1854 %t1856 = icmp slt i32 %t1850, %t1855 %t1857 = zext i1 %t1856 to i32 %t1858 = icmp ne i32 %t1857, 0 br i1 %t1858, label %wbody248, label %wend249 wbody248: %t1859 = load ptr, ptr %t0 %t1860 = getelementptr inbounds %Cmp_Node, ptr %t1859, i32 0, i32 7 %t1861 = load ptr, ptr %t1860 %t1862 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 0 %t1863 = load ptr, ptr %t1862 %t1864 = load i32, ptr %t1849 %t1865 = getelementptr inbounds ptr, ptr %t1863, i32 %t1864 %t1866 = load ptr, ptr %t1865 %t1867 = call ptr @fn_emit_expr(ptr %t1866) store ptr %t1867, ptr %t1868 %t1869 = load ptr, ptr %t1841 %t1870 = load ptr, ptr %t1868 %t1871 = getelementptr inbounds %Cmp_Val, ptr %t1870, i32 0, i32 0 %t1872 = load ptr, ptr %t1871 %t1873 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 1 %t1874 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 2 %t1875 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 0 %t1876 = load i32, ptr %t1873 %t1877 = load i32, ptr %t1874 %t1878 = icmp sge i32 %t1876, %t1877 br i1 %t1878, label %grow250, label %put251 grow250: %t1879 = mul i32 %t1877, 2 %t1880 = icmp eq i32 %t1877, 0 %t1881 = select i1 %t1880, i32 8, i32 %t1879 %t1882 = getelementptr ptr, ptr null, i32 1 %t1883 = ptrtoint ptr %t1882 to i64 %t1884 = zext i32 %t1881 to i64 %t1885 = mul i64 %t1884, %t1883 %t1886 = load ptr, ptr %t1875 %t1887 = call ptr @realloc(ptr %t1886, i64 %t1885) store ptr %t1887, ptr %t1875 store i32 %t1881, ptr %t1874 br label %put251 put251: %t1888 = load ptr, ptr %t1875 %t1889 = getelementptr inbounds ptr, ptr %t1888, i32 %t1876 store ptr %t1872, ptr %t1889 %t1890 = add i32 %t1876, 1 store i32 %t1890, ptr %t1873 %t1891 = load ptr, ptr %t1848 %t1892 = load ptr, ptr %t1868 %t1893 = getelementptr inbounds %Cmp_Val, ptr %t1892, i32 0, i32 1 %t1894 = load ptr, ptr %t1893 %t1895 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 1 %t1896 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 2 %t1897 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 0 %t1898 = load i32, ptr %t1895 %t1899 = load i32, ptr %t1896 %t1900 = icmp sge i32 %t1898, %t1899 br i1 %t1900, label %grow252, label %put253 grow252: %t1901 = mul i32 %t1899, 2 %t1902 = icmp eq i32 %t1899, 0 %t1903 = select i1 %t1902, i32 8, i32 %t1901 %t1904 = getelementptr ptr, ptr null, i32 1 %t1905 = ptrtoint ptr %t1904 to i64 %t1906 = zext i32 %t1903 to i64 %t1907 = mul i64 %t1906, %t1905 %t1908 = load ptr, ptr %t1897 %t1909 = call ptr @realloc(ptr %t1908, i64 %t1907) store ptr %t1909, ptr %t1897 store i32 %t1903, ptr %t1896 br label %put253 put253: %t1910 = load ptr, ptr %t1897 %t1911 = getelementptr inbounds ptr, ptr %t1910, i32 %t1898 store ptr %t1894, ptr %t1911 %t1912 = add i32 %t1898, 1 store i32 %t1912, ptr %t1895 %t1913 = load i32, ptr %t1849 %t1914 = add i32 %t1913, 1 store i32 %t1914, ptr %t1849 br label %wcond247 wend249: %t1915 = load ptr, ptr %t1827 %t1916 = getelementptr inbounds %Cmp_Node, ptr %t1915, i32 0, i32 3 %t1917 = load ptr, ptr %t1916 %t1918 = call ptr @fn_llty(ptr %t1917) store ptr %t1918, ptr %t1919 call void @fn_emit(ptr @.str8542) store ptr @.str8543, ptr %t1920 %t1921 = load ptr, ptr %t1919 %t1922 = call i32 @lp_str_eq(ptr %t1921, ptr @.str8544) %t1923 = icmp eq i32 %t1922, 0 %t1924 = zext i1 %t1923 to i32 %t1925 = icmp ne i32 %t1924, 0 br i1 %t1925, label %then254, label %ifend256 then254: %t1926 = call ptr @fn_nreg() store ptr %t1926, ptr %t1920 %t1927 = load ptr, ptr %t1920 call void @fn_emit(ptr %t1927) call void @fn_emit(ptr @.str8545) br label %ifend256 ifend256: call void @fn_emit(ptr @.str8546) %t1928 = load ptr, ptr %t1919 call void @fn_emit(ptr %t1928) call void @fn_emit(ptr @.str8547) %t1929 = load ptr, ptr %t1827 %t1930 = getelementptr inbounds %Cmp_Node, ptr %t1929, i32 0, i32 4 %t1931 = load ptr, ptr %t1930 %t1932 = getelementptr inbounds %Cmp_Node, ptr %t1931, i32 0, i32 1 %t1933 = load ptr, ptr %t1932 call void @fn_emit(ptr %t1933) call void @fn_emit(ptr @.str8548) store i32 0, ptr %t1849 br label %wcond257 wcond257: %t1934 = load i32, ptr %t1849 %t1935 = load ptr, ptr %t1841 %t1936 = getelementptr inbounds %LSlice, ptr %t1935, i32 0, i32 1 %t1937 = load i32, ptr %t1936 %t1938 = icmp slt i32 %t1934, %t1937 %t1939 = zext i1 %t1938 to i32 %t1940 = icmp ne i32 %t1939, 0 br i1 %t1940, label %wbody258, label %wend259 wbody258: %t1941 = load i32, ptr %t1849 %t1942 = icmp sgt i32 %t1941, 0 %t1943 = zext i1 %t1942 to i32 %t1944 = icmp ne i32 %t1943, 0 br i1 %t1944, label %then260, label %ifend262 then260: call void @fn_emit(ptr @.str8549) br label %ifend262 ifend262: %t1945 = load ptr, ptr %t1848 %t1946 = getelementptr inbounds %LSlice, ptr %t1945, i32 0, i32 0 %t1947 = load ptr, ptr %t1946 %t1948 = load i32, ptr %t1849 %t1949 = getelementptr inbounds ptr, ptr %t1947, i32 %t1948 %t1950 = load ptr, ptr %t1949 %t1951 = call ptr @fn_llty(ptr %t1950) call void @fn_emit(ptr %t1951) call void @fn_emit(ptr @.str8550) %t1952 = load ptr, ptr %t1841 %t1953 = getelementptr inbounds %LSlice, ptr %t1952, i32 0, i32 0 %t1954 = load ptr, ptr %t1953 %t1955 = load i32, ptr %t1849 %t1956 = getelementptr inbounds ptr, ptr %t1954, i32 %t1955 %t1957 = load ptr, ptr %t1956 call void @fn_emit(ptr %t1957) %t1958 = load i32, ptr %t1849 %t1959 = add i32 %t1958, 1 store i32 %t1959, ptr %t1849 br label %wcond257 wend259: call void @fn_emit(ptr @.str8551) %t1960 = load ptr, ptr %t1920 %t1961 = load ptr, ptr %t1827 %t1962 = getelementptr inbounds %Cmp_Node, ptr %t1961, i32 0, i32 3 %t1963 = load ptr, ptr %t1962 %t1964 = call ptr @fn_val(ptr %t1960, ptr %t1963) store ptr %t1964, ptr %retval br label %ret ifend246: %t1965 = load ptr, ptr %t38 %t1966 = call ptr @fn_variant_enum(ptr %t1965) store ptr %t1966, ptr %t1967 %t1968 = load ptr, ptr %t1967 %t1969 = icmp ne ptr %t1968, null %t1970 = zext i1 %t1969 to i32 %t1971 = icmp ne i32 %t1970, 0 br i1 %t1971, label %then263, label %ifend265 then263: %t1972 = load ptr, ptr %t1967 %t1973 = load i32, ptr @g_g_var_ord %t1974 = load ptr, ptr %t0 %t1975 = getelementptr inbounds %Cmp_Node, ptr %t1974, i32 0, i32 7 %t1976 = load ptr, ptr %t1975 %t1977 = call ptr @fn_emit_variant_new(ptr %t1972, i32 %t1973, ptr %t1976) store ptr %t1977, ptr %retval br label %ret ifend265: %t1978 = load ptr, ptr %t38 %t1979 = call ptr @fn_find_fn(ptr %t1978) store ptr %t1979, ptr %t1980 %t1981 = load ptr, ptr %t38 store ptr %t1981, ptr %t1982 %t1983 = load ptr, ptr %t1980 %t1984 = icmp eq ptr %t1983, null %t1985 = zext i1 %t1984 to i32 %t1986 = icmp ne i32 %t1985, 0 br i1 %t1986, label %then266, label %ifend268 then266: %t1987 = load ptr, ptr %t38 %t1988 = call ptr @lp_str_concat(ptr @.str8552, ptr %t1987) store ptr %t1988, ptr %t1989 %t1990 = load ptr, ptr %t1989 %t1991 = call ptr @fn_find_fn(ptr %t1990) store ptr %t1991, ptr %t1980 %t1992 = load ptr, ptr %t1980 %t1993 = icmp eq ptr %t1992, null %t1994 = zext i1 %t1993 to i32 %t1995 = icmp ne i32 %t1994, 0 br i1 %t1995, label %then269, label %ifend271 then269: %t1996 = load ptr, ptr %t38 %t1997 = call ptr @lp_str_concat(ptr @.str8553, ptr %t1996) call void @fn_perr(ptr %t1997) br label %ifend271 ifend271: %t1998 = load ptr, ptr %t1989 store ptr %t1998, ptr %t1982 br label %ifend268 ifend268: %t1999 = load ptr, ptr %t0 %t2000 = load ptr, ptr %t1980 %t2001 = call ptr @fn_param_labels(ptr %t2000) call void @fn_reorder_named(ptr %t1999, ptr %t2001) %t2002 = load ptr, ptr %t1980 %t2003 = call ptr @fn_param_types(ptr %t2002) store ptr %t2003, ptr %t2004 %t2005 = getelementptr %LSlice, ptr null, i32 1 %t2006 = ptrtoint ptr %t2005 to i64 %t2007 = call ptr @malloc(i64 %t2006) %t2008 = getelementptr inbounds %LSlice, ptr %t2007, i32 0, i32 0 store ptr null, ptr %t2008 %t2009 = getelementptr inbounds %LSlice, ptr %t2007, i32 0, i32 1 store i32 0, ptr %t2009 %t2010 = getelementptr inbounds %LSlice, ptr %t2007, i32 0, i32 2 store i32 0, ptr %t2010 store ptr %t2007, ptr %t2011 %t2012 = getelementptr %LSlice, ptr null, i32 1 %t2013 = ptrtoint ptr %t2012 to i64 %t2014 = call ptr @malloc(i64 %t2013) %t2015 = getelementptr inbounds %LSlice, ptr %t2014, i32 0, i32 0 store ptr null, ptr %t2015 %t2016 = getelementptr inbounds %LSlice, ptr %t2014, i32 0, i32 1 store i32 0, ptr %t2016 %t2017 = getelementptr inbounds %LSlice, ptr %t2014, i32 0, i32 2 store i32 0, ptr %t2017 store ptr %t2014, ptr %t2018 store i32 0, ptr %t2019 br label %wcond272 wcond272: %t2020 = load i32, ptr %t2019 %t2021 = load ptr, ptr %t0 %t2022 = getelementptr inbounds %Cmp_Node, ptr %t2021, i32 0, i32 7 %t2023 = load ptr, ptr %t2022 %t2024 = getelementptr inbounds %LSlice, ptr %t2023, i32 0, i32 1 %t2025 = load i32, ptr %t2024 %t2026 = icmp slt i32 %t2020, %t2025 %t2027 = zext i1 %t2026 to i32 %t2028 = icmp ne i32 %t2027, 0 br i1 %t2028, label %wbody273, label %wend274 wbody273: %t2029 = load ptr, ptr %t0 %t2030 = getelementptr inbounds %Cmp_Node, ptr %t2029, i32 0, i32 7 %t2031 = load ptr, ptr %t2030 %t2032 = getelementptr inbounds %LSlice, ptr %t2031, i32 0, i32 0 %t2033 = load ptr, ptr %t2032 %t2034 = load i32, ptr %t2019 %t2035 = getelementptr inbounds ptr, ptr %t2033, i32 %t2034 %t2036 = load ptr, ptr %t2035 %t2037 = call ptr @fn_emit_expr(ptr %t2036) store ptr %t2037, ptr %t2038 %t2039 = load ptr, ptr %t2038 %t2040 = getelementptr inbounds %Cmp_Val, ptr %t2039, i32 0, i32 1 %t2041 = load ptr, ptr %t2040 store ptr %t2041, ptr %t2042 %t2043 = load i32, ptr %t2019 %t2044 = load ptr, ptr %t2004 %t2045 = getelementptr inbounds %LSlice, ptr %t2044, i32 0, i32 1 %t2046 = load i32, ptr %t2045 %t2047 = icmp slt i32 %t2043, %t2046 %t2048 = zext i1 %t2047 to i32 %t2049 = icmp ne i32 %t2048, 0 br i1 %t2049, label %then275, label %ifend277 then275: %t2050 = load ptr, ptr %t2004 %t2051 = getelementptr inbounds %LSlice, ptr %t2050, i32 0, i32 0 %t2052 = load ptr, ptr %t2051 %t2053 = load i32, ptr %t2019 %t2054 = getelementptr inbounds ptr, ptr %t2052, i32 %t2053 %t2055 = load ptr, ptr %t2054 store ptr %t2055, ptr %t2042 br label %ifend277 ifend277: %t2056 = load ptr, ptr %t2011 %t2057 = load ptr, ptr %t2038 %t2058 = load ptr, ptr %t2042 %t2059 = call ptr @fn_coerce_code(ptr %t2057, ptr %t2058) %t2060 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 1 %t2061 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 2 %t2062 = getelementptr inbounds %LSlice, ptr %t2056, i32 0, i32 0 %t2063 = load i32, ptr %t2060 %t2064 = load i32, ptr %t2061 %t2065 = icmp sge i32 %t2063, %t2064 br i1 %t2065, label %grow278, label %put279 grow278: %t2066 = mul i32 %t2064, 2 %t2067 = icmp eq i32 %t2064, 0 %t2068 = select i1 %t2067, i32 8, i32 %t2066 %t2069 = getelementptr ptr, ptr null, i32 1 %t2070 = ptrtoint ptr %t2069 to i64 %t2071 = zext i32 %t2068 to i64 %t2072 = mul i64 %t2071, %t2070 %t2073 = load ptr, ptr %t2062 %t2074 = call ptr @realloc(ptr %t2073, i64 %t2072) store ptr %t2074, ptr %t2062 store i32 %t2068, ptr %t2061 br label %put279 put279: %t2075 = load ptr, ptr %t2062 %t2076 = getelementptr inbounds ptr, ptr %t2075, i32 %t2063 store ptr %t2059, ptr %t2076 %t2077 = add i32 %t2063, 1 store i32 %t2077, ptr %t2060 %t2078 = load ptr, ptr %t2018 %t2079 = load ptr, ptr %t2042 %t2080 = getelementptr inbounds %LSlice, ptr %t2078, i32 0, i32 1 %t2081 = getelementptr inbounds %LSlice, ptr %t2078, i32 0, i32 2 %t2082 = getelementptr inbounds %LSlice, ptr %t2078, i32 0, i32 0 %t2083 = load i32, ptr %t2080 %t2084 = load i32, ptr %t2081 %t2085 = icmp sge i32 %t2083, %t2084 br i1 %t2085, label %grow280, label %put281 grow280: %t2086 = mul i32 %t2084, 2 %t2087 = icmp eq i32 %t2084, 0 %t2088 = select i1 %t2087, i32 8, i32 %t2086 %t2089 = getelementptr ptr, ptr null, i32 1 %t2090 = ptrtoint ptr %t2089 to i64 %t2091 = zext i32 %t2088 to i64 %t2092 = mul i64 %t2091, %t2090 %t2093 = load ptr, ptr %t2082 %t2094 = call ptr @realloc(ptr %t2093, i64 %t2092) store ptr %t2094, ptr %t2082 store i32 %t2088, ptr %t2081 br label %put281 put281: %t2095 = load ptr, ptr %t2082 %t2096 = getelementptr inbounds ptr, ptr %t2095, i32 %t2083 store ptr %t2079, ptr %t2096 %t2097 = add i32 %t2083, 1 store i32 %t2097, ptr %t2080 %t2098 = load i32, ptr %t2019 %t2099 = add i32 %t2098, 1 store i32 %t2099, ptr %t2019 br label %wcond272 wend274: %t2100 = load ptr, ptr %t1980 %t2101 = getelementptr inbounds %Cmp_Node, ptr %t2100, i32 0, i32 3 %t2102 = load ptr, ptr %t2101 %t2103 = call ptr @fn_llty(ptr %t2102) store ptr %t2103, ptr %t2104 call void @fn_emit(ptr @.str8554) store ptr @.str8555, ptr %t2105 %t2106 = load ptr, ptr %t2104 %t2107 = call i32 @lp_str_eq(ptr %t2106, ptr @.str8556) %t2108 = icmp eq i32 %t2107, 0 %t2109 = zext i1 %t2108 to i32 %t2110 = icmp ne i32 %t2109, 0 br i1 %t2110, label %then282, label %ifend284 then282: %t2111 = call ptr @fn_nreg() store ptr %t2111, ptr %t2105 %t2112 = load ptr, ptr %t2105 call void @fn_emit(ptr %t2112) call void @fn_emit(ptr @.str8557) br label %ifend284 ifend284: call void @fn_emit(ptr @.str8558) %t2113 = load ptr, ptr %t2104 call void @fn_emit(ptr %t2113) call void @fn_emit(ptr @.str8559) %t2114 = load ptr, ptr %t1982 call void @fn_emit(ptr %t2114) call void @fn_emit(ptr @.str8560) store i32 0, ptr %t2019 br label %wcond285 wcond285: %t2115 = load i32, ptr %t2019 %t2116 = load ptr, ptr %t2011 %t2117 = getelementptr inbounds %LSlice, ptr %t2116, i32 0, i32 1 %t2118 = load i32, ptr %t2117 %t2119 = icmp slt i32 %t2115, %t2118 %t2120 = zext i1 %t2119 to i32 %t2121 = icmp ne i32 %t2120, 0 br i1 %t2121, label %wbody286, label %wend287 wbody286: %t2122 = load i32, ptr %t2019 %t2123 = icmp sgt i32 %t2122, 0 %t2124 = zext i1 %t2123 to i32 %t2125 = icmp ne i32 %t2124, 0 br i1 %t2125, label %then288, label %ifend290 then288: call void @fn_emit(ptr @.str8561) br label %ifend290 ifend290: %t2126 = load ptr, ptr %t2018 %t2127 = getelementptr inbounds %LSlice, ptr %t2126, i32 0, i32 0 %t2128 = load ptr, ptr %t2127 %t2129 = load i32, ptr %t2019 %t2130 = getelementptr inbounds ptr, ptr %t2128, i32 %t2129 %t2131 = load ptr, ptr %t2130 %t2132 = call ptr @fn_llty(ptr %t2131) call void @fn_emit(ptr %t2132) call void @fn_emit(ptr @.str8562) %t2133 = load ptr, ptr %t2011 %t2134 = getelementptr inbounds %LSlice, ptr %t2133, i32 0, i32 0 %t2135 = load ptr, ptr %t2134 %t2136 = load i32, ptr %t2019 %t2137 = getelementptr inbounds ptr, ptr %t2135, i32 %t2136 %t2138 = load ptr, ptr %t2137 call void @fn_emit(ptr %t2138) %t2139 = load i32, ptr %t2019 %t2140 = add i32 %t2139, 1 store i32 %t2140, ptr %t2019 br label %wcond285 wend287: call void @fn_emit(ptr @.str8563) %t2141 = load ptr, ptr %t2105 %t2142 = load ptr, ptr %t1980 %t2143 = getelementptr inbounds %Cmp_Node, ptr %t2142, i32 0, i32 3 %t2144 = load ptr, ptr %t2143 %t2145 = call ptr @fn_val(ptr %t2141, ptr %t2144) store ptr %t2145, ptr %retval br label %ret ret: %t2146 = load ptr, ptr %retval ret ptr %t2146 } define ptr @fn_emit_expr(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t65 = alloca ptr %t70 = alloca ptr %t75 = alloca ptr %t144 = alloca i32 %t166 = alloca ptr %t192 = alloca ptr %t213 = alloca ptr %t256 = alloca i32 %t279 = alloca i32 %t300 = alloca i32 %t312 = alloca ptr %t317 = alloca i32 %t322 = alloca i32 %t344 = alloca ptr %t365 = alloca ptr %t378 = alloca ptr %t390 = alloca ptr %t397 = alloca ptr %t448 = alloca ptr %t515 = 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 @.str8564, ptr @.str8565) 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 @.str8566) 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 @.str8567) store ptr %t27, ptr %retval br label %ret ifend8: %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 32 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then9, label %ifend11 then9: %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = call ptr @fn_itoa(i32 %t36) %t38 = call ptr @fn_val(ptr %t37, ptr @.str8568) store ptr %t38, ptr %retval br label %ret ifend11: %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 %t41 = load i32, ptr %t40 %t42 = icmp eq i32 %t41, 43 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then12, label %ifend14 then12: %t45 = call ptr @fn_val(ptr @.str8569, ptr @.str8570) store ptr %t45, ptr %retval br label %ret ifend14: %t46 = load ptr, ptr %t0 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0 %t48 = load i32, ptr %t47 %t49 = icmp eq i32 %t48, 22 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then15, label %ifend17 then15: %t52 = load ptr, ptr %t0 %t53 = call ptr @fn_emit_spawn(ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str8571) store ptr %t54, ptr %retval br label %ret ifend17: %t55 = load ptr, ptr %t0 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 0 %t57 = load i32, ptr %t56 %t58 = icmp eq i32 %t57, 44 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then18, label %ifend20 then18: %t61 = load ptr, ptr %t0 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4 %t63 = load ptr, ptr %t62 %t64 = call ptr @fn_emit_expr(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t0 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 5 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_emit_expr(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t0 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 6 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_emit_expr(ptr %t73) store ptr %t74, ptr %t75 store i32 1, ptr @g_g_uses_strslice %t76 = load ptr, ptr %t65 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = call ptr @lp_str_concat(ptr @.str8572, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str8573) %t81 = load ptr, ptr %t70 %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 @lp_str_concat(ptr %t84, ptr @.str8574) %t86 = load ptr, ptr %t75 %t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = call ptr @lp_str_concat(ptr %t85, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str8575) %t91 = call ptr @fn_emit_bind(ptr %t90) %t92 = call ptr @fn_val(ptr %t91, ptr @.str8576) store ptr %t92, ptr %retval br label %ret ifend20: %t93 = load ptr, ptr %t0 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 0 %t95 = load i32, ptr %t94 %t96 = icmp eq i32 %t95, 31 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then21, label %ifend23 then21: %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_emit_str_const(ptr %t101) %t103 = call ptr @fn_val(ptr %t102, ptr @.str8577) store ptr %t103, ptr %retval br label %ret ifend23: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 0 %t106 = load i32, ptr %t105 %t107 = icmp eq i32 %t106, 39 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then24, label %ifend26 then24: %t110 = load ptr, ptr %t0 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 %t113 = call i32 @fn_is_slice_ty(ptr %t112) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then27, label %ifend29 then27: %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_emit_new_slice(ptr %t117) store ptr %t118, ptr %retval br label %ret ifend29: %t119 = load ptr, ptr %t0 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 1 %t121 = load ptr, ptr %t120 %t122 = load ptr, ptr %t0 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 4 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_emit_new_struct(ptr %t121, ptr %t124) store ptr %t125, ptr %retval br label %ret ifend26: %t126 = load ptr, ptr %t0 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 0 %t128 = load i32, ptr %t127 %t129 = icmp eq i32 %t128, 54 %t130 = zext i1 %t129 to i32 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then30, label %ifend32 then30: %t132 = load ptr, ptr %t0 %t133 = call ptr @fn_emit_list(ptr %t132) store ptr %t133, ptr %retval br label %ret ifend32: %t134 = load ptr, ptr %t0 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 0 %t136 = load i32, ptr %t135 %t137 = icmp eq i32 %t136, 33 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then33, label %ifend35 then33: %t140 = load ptr, ptr %t0 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 1 %t142 = load ptr, ptr %t141 %t143 = call i32 @fn_loc_find(ptr %t142) store i32 %t143, ptr %t144 %t145 = load i32, ptr %t144 %t146 = icmp sge i32 %t145, 0 %t147 = zext i1 %t146 to i32 %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then36, label %ifend38 then36: %t149 = load ptr, ptr @g_loc_reg %t150 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 0 %t151 = load ptr, ptr %t150 %t152 = load i32, ptr %t144 %t153 = getelementptr inbounds ptr, ptr %t151, i32 %t152 %t154 = load ptr, ptr %t153 %t155 = load ptr, ptr @g_loc_ty %t156 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t157 = load ptr, ptr %t156 %t158 = load i32, ptr %t144 %t159 = getelementptr inbounds ptr, ptr %t157, i32 %t158 %t160 = load ptr, ptr %t159 %t161 = call ptr @fn_emit_load_at(ptr %t154, ptr %t160) store ptr %t161, ptr %retval br label %ret ifend38: %t162 = load ptr, ptr %t0 %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 1 %t164 = load ptr, ptr %t163 %t165 = call ptr @fn_find_global(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t166 %t168 = icmp ne ptr %t167, null %t169 = zext i1 %t168 to i32 %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then39, label %ifend41 then39: %t171 = load ptr, ptr %t166 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 0 %t173 = load i32, ptr %t172 %t174 = icmp eq i32 %t173, 3 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %then42, label %ifend44 then42: %t177 = load ptr, ptr %t166 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 4 %t179 = load ptr, ptr %t178 %t180 = call ptr @fn_emit_expr(ptr %t179) store ptr %t180, ptr %retval br label %ret ifend44: %t181 = load ptr, ptr %t166 %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 3 %t183 = load ptr, ptr %t182 %t184 = call ptr @fn_llty(ptr %t183) %t185 = call ptr @lp_str_concat(ptr @.str8578, ptr %t184) %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str8579) %t187 = load ptr, ptr %t0 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 1 %t189 = load ptr, ptr %t188 %t190 = call ptr @lp_str_concat(ptr %t186, ptr %t189) %t191 = call ptr @fn_emit_bind(ptr %t190) store ptr %t191, ptr %t192 %t193 = load ptr, ptr %t192 %t194 = load ptr, ptr %t166 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 3 %t196 = load ptr, ptr %t195 %t197 = call ptr @fn_val(ptr %t193, ptr %t196) store ptr %t197, ptr %retval br label %ret ifend41: %t198 = load ptr, ptr %t0 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 %t200 = load ptr, ptr %t199 %t201 = call i32 @fn_is_ui_ident(ptr %t200) %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then45, label %ifend47 then45: %t203 = load ptr, ptr %t0 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 %t205 = load ptr, ptr %t204 %t206 = call i32 @fn_ui_index_of(ptr %t205) %t207 = call ptr @fn_itoa(i32 %t206) %t208 = call ptr @fn_val(ptr %t207, ptr @.str8580) store ptr %t208, ptr %retval br label %ret ifend47: %t209 = load ptr, ptr %t0 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 1 %t211 = load ptr, ptr %t210 %t212 = call ptr @fn_variant_enum(ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t213 %t215 = icmp ne ptr %t214, null %t216 = zext i1 %t215 to i32 %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then48, label %ifend50 then48: %t218 = load ptr, ptr %t213 %t219 = load i32, ptr @g_g_var_ord %t220 = getelementptr %LSlice, ptr null, i32 1 %t221 = ptrtoint ptr %t220 to i64 %t222 = call ptr @malloc(i64 %t221) %t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 store ptr null, ptr %t223 %t224 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 1 store i32 0, ptr %t224 %t225 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 2 store i32 0, ptr %t225 %t226 = call ptr @fn_emit_variant_new(ptr %t218, i32 %t219, ptr %t222) store ptr %t226, ptr %retval br label %ret ifend50: %t227 = load ptr, ptr %t0 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 1 %t229 = load ptr, ptr %t228 %t230 = call ptr @lp_str_concat(ptr @.str8581, ptr %t229) call void @fn_perr(ptr %t230) br label %ifend35 ifend35: %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, 35 %t235 = zext i1 %t234 to i32 %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then51, label %ifend53 then51: %t237 = load ptr, ptr %t0 %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 4 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 0 %t241 = load i32, ptr %t240 %t242 = icmp eq i32 %t241, 33 %t243 = zext i1 %t242 to i32 %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %then54, label %ifend56 then54: %t245 = load ptr, ptr %t0 %t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 4 %t247 = load ptr, ptr %t246 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 1 %t249 = load ptr, ptr %t248 %t250 = call i32 @lp_str_eq(ptr %t249, ptr @.str8582) %t251 = icmp ne i32 %t250, 0 br i1 %t251, label %then57, label %ifend59 then57: %t252 = load ptr, ptr %t0 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 1 %t254 = load ptr, ptr %t253 %t255 = call i32 @fn_color_lookup(ptr %t254) store i32 %t255, ptr %t256 %t257 = load i32, ptr %t256 %t258 = icmp slt i32 %t257, 0 %t259 = zext i1 %t258 to i32 %t260 = icmp ne i32 %t259, 0 br i1 %t260, label %then60, label %ifend62 then60: %t261 = load ptr, ptr %t0 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 %t263 = load ptr, ptr %t262 %t264 = call ptr @lp_str_concat(ptr @.str8583, ptr %t263) call void @fn_perr(ptr %t264) br label %ifend62 ifend62: %t265 = load i32, ptr %t256 %t266 = call ptr @fn_itoa(i32 %t265) %t267 = call ptr @fn_val(ptr %t266, ptr @.str8584) store ptr %t267, ptr %retval br label %ret ifend59: %t268 = load ptr, ptr %t0 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 4 %t270 = load ptr, ptr %t269 %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 1 %t272 = load ptr, ptr %t271 %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str8585) %t274 = icmp ne i32 %t273, 0 br i1 %t274, label %then63, label %ifend65 then63: %t275 = load ptr, ptr %t0 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 1 %t277 = load ptr, ptr %t276 %t278 = call i32 @fn_key_lookup(ptr %t277) store i32 %t278, ptr %t279 %t280 = load i32, ptr %t279 %t281 = icmp slt i32 %t280, 0 %t282 = zext i1 %t281 to i32 %t283 = icmp ne i32 %t282, 0 br i1 %t283, label %then66, label %ifend68 then66: %t284 = load ptr, ptr %t0 %t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 1 %t286 = load ptr, ptr %t285 %t287 = call ptr @lp_str_concat(ptr @.str8586, ptr %t286) call void @fn_perr(ptr %t287) br label %ifend68 ifend68: %t288 = load i32, ptr %t279 %t289 = call ptr @fn_itoa(i32 %t288) %t290 = call ptr @fn_val(ptr %t289, ptr @.str8587) store ptr %t290, ptr %retval br label %ret ifend65: %t291 = load ptr, ptr %t0 %t292 = getelementptr inbounds %Cmp_Node, ptr %t291, i32 0, i32 4 %t293 = load ptr, ptr %t292 %t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 1 %t295 = load ptr, ptr %t294 %t296 = load ptr, ptr %t0 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 1 %t298 = load ptr, ptr %t297 %t299 = call i32 @fn_enum_ordinal(ptr %t295, ptr %t298) store i32 %t299, ptr %t300 %t301 = load i32, ptr %t300 %t302 = icmp sge i32 %t301, 0 %t303 = zext i1 %t302 to i32 %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then69, label %ifend71 then69: %t305 = load i32, ptr %t300 %t306 = call ptr @fn_itoa(i32 %t305) %t307 = call ptr @fn_val(ptr %t306, ptr @.str8588) store ptr %t307, ptr %retval br label %ret ifend71: br label %ifend56 ifend56: %t308 = load ptr, ptr %t0 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 4 %t310 = load ptr, ptr %t309 %t311 = call ptr @fn_static_type(ptr %t310) store ptr %t311, ptr %t312 %t313 = load ptr, ptr %t312 %t314 = icmp ne ptr %t313, null %t315 = zext i1 %t314 to i32 %t316 = icmp ne i32 %t315, 0 br i1 %t316, label %then72, label %ifend74 then72: %t318 = load ptr, ptr %t312 %t319 = call i32 @lp_str_eq(ptr %t318, ptr @.str8589) %t320 = icmp ne i32 %t319, 0 %t321 = zext i1 %t320 to i32 store i32 %t321, ptr %t317 br i1 %t320, label %sc75, label %scend76 sc75: %t323 = load ptr, ptr %t0 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 1 %t325 = load ptr, ptr %t324 %t326 = call i32 @lp_str_eq(ptr %t325, ptr @.str8590) %t327 = icmp ne i32 %t326, 0 %t328 = zext i1 %t327 to i32 store i32 %t328, ptr %t322 br i1 %t327, label %scend78, label %sc77 sc77: %t329 = load ptr, ptr %t0 %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 1 %t331 = load ptr, ptr %t330 %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str8591) %t333 = icmp ne i32 %t332, 0 %t334 = zext i1 %t333 to i32 store i32 %t334, ptr %t322 br label %scend78 scend78: %t335 = load i32, ptr %t322 %t336 = icmp ne i32 %t335, 0 %t337 = zext i1 %t336 to i32 store i32 %t337, ptr %t317 br label %scend76 scend76: %t338 = load i32, ptr %t317 %t339 = icmp ne i32 %t338, 0 br i1 %t339, label %then79, label %ifend81 then79: %t340 = load ptr, ptr %t0 %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 4 %t342 = load ptr, ptr %t341 %t343 = call ptr @fn_emit_expr(ptr %t342) store ptr %t343, ptr %t344 %t345 = load ptr, ptr %t0 %t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 1 %t347 = load ptr, ptr %t346 %t348 = call i32 @lp_str_eq(ptr %t347, ptr @.str8592) %t349 = icmp ne i32 %t348, 0 br i1 %t349, label %then82, label %ifend84 then82: %t350 = load ptr, ptr %t344 %t351 = getelementptr inbounds %Cmp_Val, ptr %t350, i32 0, i32 0 %t352 = load ptr, ptr %t351 %t353 = call ptr @fn_vec_x(ptr %t352) %t354 = call ptr @fn_val(ptr %t353, ptr @.str8593) store ptr %t354, ptr %retval br label %ret ifend84: %t355 = load ptr, ptr %t344 %t356 = getelementptr inbounds %Cmp_Val, ptr %t355, i32 0, i32 0 %t357 = load ptr, ptr %t356 %t358 = call ptr @fn_vec_y(ptr %t357) %t359 = call ptr @fn_val(ptr %t358, ptr @.str8594) store ptr %t359, ptr %retval br label %ret ifend81: %t360 = load ptr, ptr %t312 %t361 = load ptr, ptr %t0 %t362 = getelementptr inbounds %Cmp_Node, ptr %t361, i32 0, i32 1 %t363 = load ptr, ptr %t362 %t364 = call ptr @fn_computed_expr(ptr %t360, ptr %t363) store ptr %t364, ptr %t365 %t366 = load ptr, ptr %t365 %t367 = icmp ne ptr %t366, null %t368 = zext i1 %t367 to i32 %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then85, label %ifend87 then85: %t370 = load ptr, ptr %t365 %t371 = load ptr, ptr %t0 %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 4 %t373 = load ptr, ptr %t372 %t374 = call ptr @fn_qualify_fields(ptr %t370, ptr %t373) %t375 = call ptr @fn_emit_expr(ptr %t374) store ptr %t375, ptr %retval br label %ret ifend87: br label %ifend74 ifend74: %t376 = load ptr, ptr %t0 %t377 = call ptr @fn_emit_member_addr(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t378 %t380 = load ptr, ptr @g_g_addr_ty %t381 = call ptr @fn_emit_load_at(ptr %t379, ptr %t380) store ptr %t381, ptr %retval br label %ret ifend53: %t382 = load ptr, ptr %t0 %t383 = getelementptr inbounds %Cmp_Node, ptr %t382, i32 0, i32 0 %t384 = load i32, ptr %t383 %t385 = icmp eq i32 %t384, 36 %t386 = zext i1 %t385 to i32 %t387 = icmp ne i32 %t386, 0 br i1 %t387, label %then88, label %ifend90 then88: %t388 = load ptr, ptr %t0 %t389 = call ptr @fn_emit_index_addr(ptr %t388) store ptr %t389, ptr %t390 %t391 = load ptr, ptr @g_g_addr_ty %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str8595) %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then91, label %ifend93 then91: %t394 = load ptr, ptr %t390 %t395 = call ptr @lp_str_concat(ptr @.str8596, ptr %t394) %t396 = call ptr @fn_emit_bind(ptr %t395) store ptr %t396, ptr %t397 %t398 = load ptr, ptr %t397 %t399 = call ptr @lp_str_concat(ptr @.str8597, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str8598) %t401 = call ptr @fn_emit_bind(ptr %t400) %t402 = call ptr @fn_val(ptr %t401, ptr @.str8599) store ptr %t402, ptr %retval br label %ret ifend93: %t403 = load ptr, ptr %t390 %t404 = load ptr, ptr @g_g_addr_ty %t405 = call ptr @fn_emit_load_at(ptr %t403, ptr %t404) store ptr %t405, ptr %retval br label %ret ifend90: %t406 = load ptr, ptr %t0 %t407 = getelementptr inbounds %Cmp_Node, ptr %t406, i32 0, i32 0 %t408 = load i32, ptr %t407 %t409 = icmp eq i32 %t408, 49 %t410 = zext i1 %t409 to i32 %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %then94, label %ifend96 then94: %t412 = load ptr, ptr %t0 %t413 = call ptr @fn_emit_emit(ptr %t412) store ptr %t413, ptr %retval br label %ret ifend96: %t414 = load ptr, ptr %t0 %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 0 %t416 = load i32, ptr %t415 %t417 = icmp eq i32 %t416, 52 %t418 = zext i1 %t417 to i32 %t419 = icmp ne i32 %t418, 0 br i1 %t419, label %then97, label %ifend99 then97: %t420 = load ptr, ptr %t0 %t421 = call ptr @fn_emit_try(ptr %t420) store ptr %t421, ptr %retval br label %ret ifend99: %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, 34 %t426 = zext i1 %t425 to i32 %t427 = icmp ne i32 %t426, 0 br i1 %t427, label %then100, label %ifend102 then100: %t428 = load ptr, ptr %t0 %t429 = call ptr @fn_emit_call(ptr %t428) store ptr %t429, ptr %retval br label %ret ifend102: %t430 = load ptr, ptr %t0 %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 0 %t432 = load i32, ptr %t431 %t433 = icmp eq i32 %t432, 37 %t434 = zext i1 %t433 to i32 %t435 = icmp ne i32 %t434, 0 br i1 %t435, label %then103, label %ifend105 then103: %t436 = load ptr, ptr %t0 %t437 = call ptr @fn_emit_bin(ptr %t436) store ptr %t437, ptr %retval br label %ret ifend105: %t438 = load ptr, ptr %t0 %t439 = getelementptr inbounds %Cmp_Node, ptr %t438, i32 0, i32 0 %t440 = load i32, ptr %t439 %t441 = icmp eq i32 %t440, 38 %t442 = zext i1 %t441 to i32 %t443 = icmp ne i32 %t442, 0 br i1 %t443, label %then106, label %ifend108 then106: %t444 = load ptr, ptr %t0 %t445 = getelementptr inbounds %Cmp_Node, ptr %t444, i32 0, i32 4 %t446 = load ptr, ptr %t445 %t447 = call ptr @fn_emit_expr(ptr %t446) store ptr %t447, ptr %t448 %t449 = load ptr, ptr %t448 %t450 = getelementptr inbounds %Cmp_Val, ptr %t449, i32 0, i32 1 %t451 = load ptr, ptr %t450 %t452 = call ptr @fn_llty(ptr %t451) %t453 = call i32 @lp_str_eq(ptr %t452, ptr @.str8600) %t454 = icmp ne i32 %t453, 0 br i1 %t454, label %then109, label %ifend111 then109: %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 @.str8601) %t459 = icmp ne i32 %t458, 0 br i1 %t459, label %then112, label %ifend114 then112: %t460 = load ptr, ptr %t448 %t461 = getelementptr inbounds %Cmp_Val, ptr %t460, i32 0, i32 0 %t462 = load ptr, ptr %t461 %t463 = call ptr @lp_str_concat(ptr @.str8602, ptr %t462) %t464 = call ptr @fn_emit_bind(ptr %t463) %t465 = call ptr @fn_val(ptr %t464, ptr @.str8603) store ptr %t465, ptr %retval br label %ret ifend114: %t466 = load ptr, ptr %t0 %t467 = getelementptr inbounds %Cmp_Node, ptr %t466, i32 0, i32 1 %t468 = load ptr, ptr %t467 %t469 = call i32 @lp_str_eq(ptr %t468, ptr @.str8604) %t470 = icmp ne i32 %t469, 0 br i1 %t470, label %then115, label %ifend117 then115: %t471 = load ptr, ptr %t448 %t472 = getelementptr inbounds %Cmp_Val, ptr %t471, i32 0, i32 0 %t473 = load ptr, ptr %t472 %t474 = call ptr @lp_str_concat(ptr @.str8605, ptr %t473) %t475 = call ptr @lp_str_concat(ptr %t474, ptr @.str8606) %t476 = call ptr @fn_emit_bind(ptr %t475) %t477 = call ptr @fn_val(ptr %t476, ptr @.str8607) store ptr %t477, ptr %retval br label %ret ifend117: br label %ifend111 ifend111: %t478 = load ptr, ptr %t0 %t479 = getelementptr inbounds %Cmp_Node, ptr %t478, i32 0, i32 1 %t480 = load ptr, ptr %t479 %t481 = call i32 @lp_str_eq(ptr %t480, ptr @.str8608) %t482 = icmp ne i32 %t481, 0 br i1 %t482, label %then118, label %ifend120 then118: %t483 = load ptr, ptr %t448 %t484 = getelementptr inbounds %Cmp_Val, ptr %t483, i32 0, i32 0 %t485 = load ptr, ptr %t484 %t486 = call ptr @lp_str_concat(ptr @.str8609, ptr %t485) %t487 = call ptr @fn_emit_bind(ptr %t486) %t488 = load ptr, ptr %t448 %t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 1 %t490 = load ptr, ptr %t489 %t491 = call ptr @fn_arith_ty(ptr %t490) %t492 = call ptr @fn_val(ptr %t487, ptr %t491) store ptr %t492, ptr %retval br label %ret ifend120: %t493 = load ptr, ptr %t0 %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 @.str8610) %t497 = icmp ne i32 %t496, 0 br i1 %t497, label %then121, label %ifend123 then121: %t498 = load ptr, ptr %t448 %t499 = getelementptr inbounds %Cmp_Val, ptr %t498, i32 0, i32 0 %t500 = load ptr, ptr %t499 %t501 = call ptr @lp_str_concat(ptr @.str8611, ptr %t500) %t502 = call ptr @lp_str_concat(ptr %t501, ptr @.str8612) %t503 = call ptr @fn_emit_bind(ptr %t502) %t504 = load ptr, ptr %t448 %t505 = getelementptr inbounds %Cmp_Val, ptr %t504, i32 0, i32 1 %t506 = load ptr, ptr %t505 %t507 = call ptr @fn_arith_ty(ptr %t506) %t508 = call ptr @fn_val(ptr %t503, ptr %t507) store ptr %t508, ptr %retval br label %ret ifend123: %t509 = load ptr, ptr %t448 %t510 = getelementptr inbounds %Cmp_Val, ptr %t509, i32 0, i32 0 %t511 = load ptr, ptr %t510 %t512 = call ptr @lp_str_concat(ptr @.str8613, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str8614) %t514 = call ptr @fn_emit_bind(ptr %t513) store ptr %t514, ptr %t515 %t516 = load ptr, ptr %t515 %t517 = call ptr @lp_str_concat(ptr @.str8615, ptr %t516) %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str8616) %t519 = call ptr @fn_emit_bind(ptr %t518) %t520 = call ptr @fn_val(ptr %t519, ptr @.str8617) store ptr %t520, ptr %retval br label %ret ifend108: call void @fn_perr(ptr @.str8618) %t521 = call ptr @fn_val(ptr @.str8619, ptr @.str8620) store ptr %t521, ptr %retval br label %ret ret: %t522 = load ptr, ptr %retval ret ptr %t522 } 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 @.str8621) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str8622) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str8623) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str8624) 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 @.str8625, ptr %t5 store ptr @.str8626, 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 @.str8627, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str8628) %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 @.str8629, 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 @.str8630, 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 @.str8631) 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 @.str8632) %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 @.str8633, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str8634) %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 @.str8635) %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 @.str8636, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str8637) %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 @.str8638, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8639) %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 @.str8640) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str8641) store ptr %t21, ptr %t22 %t23 = call ptr @fn_lbl(ptr @.str8642) 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 @.str8643) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str8644) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str8645) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str8646) br label %ifend2 else1: call void @fn_emit(ptr @.str8647) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str8648) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str8649) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str8650) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str8651) 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 @.str8652) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str8653) 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 @.str8654) 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 @.str8655) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str8656) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str8657) 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 @.str8658) store ptr %t1, ptr %t2 %t3 = call ptr @fn_lbl(ptr @.str8659) store ptr %t3, ptr %t4 %t5 = call ptr @fn_lbl(ptr @.str8660) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str8661) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str8662) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str8663) %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 @.str8664, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str8665) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str8666) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str8667) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str8668) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str8669) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str8670) 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 @.str8671) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str8672) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str8673) 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 @.str8674) 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 @.str8675, 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 @.str8676) %t16 = call ptr @fn_lbl(ptr @.str8677) store ptr %t16, ptr %t17 %t18 = call ptr @fn_lbl(ptr @.str8678) store ptr %t18, ptr %t19 %t20 = call ptr @fn_lbl(ptr @.str8679) store ptr %t20, ptr %t21 %t22 = call ptr @fn_lbl(ptr @.str8680) store ptr %t22, ptr %t23 call void @fn_emit(ptr @.str8681) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str8682) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str8683) %t26 = load ptr, ptr %t2 %t27 = call ptr @lp_str_concat(ptr @.str8684, 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 @.str8685, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str8686) %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 @.str8687) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str8688) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str8689) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str8690) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str8691) 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 @.str8692) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str8693) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str8694) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str8695, 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 @.str8696, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str8697) %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 @.str8698, ptr %t68, ptr %t69) call void @fn_emit(ptr @.str8699) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str8700) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str8701) 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 @.str8702) br label %ifend2 ifend2: call void @fn_emit(ptr @.str8703) 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 @.str8704) %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 @.str8705, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str8706) %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 @.str8707) %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 @.str8708, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str8709) %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 @.str8710) 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 @.str8711) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str8712) %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 @.str8713) %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 @.str8714) %t115 = load ptr, ptr %t104 %t116 = call ptr @lp_str_concat(ptr @.str8715, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str8716) %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 @.str8717, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = call ptr @fn_lbl(ptr @.str8718) 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 @.str8719, 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 @.str8720, ptr %t82) %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str8721) %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 @.str8722, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str8723) %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 @.str8724, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str8725) %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 @.str8726) store ptr %t112, ptr %t113 %t114 = call ptr @fn_lbl(ptr @.str8727) store ptr %t114, ptr %t115 call void @fn_emit(ptr @.str8728) %t116 = load ptr, ptr %t36 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str8729) %t117 = load ptr, ptr %t113 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str8730) %t118 = load ptr, ptr %t115 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str8731) %t119 = load ptr, ptr %t113 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str8732) 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 @.str8733) %t137 = load ptr, ptr %t10 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str8734) br label %ifend23 ifend23: %t138 = load ptr, ptr %t115 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str8735) 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 @.str8736, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str8737) %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 @.str8738) 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 @.str8739) %t203 = load ptr, ptr %t10 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str8740) br label %ifend38 ifend38: %t204 = load ptr, ptr %t10 call void @fn_emit(ptr %t204) call void @fn_emit(ptr @.str8741) 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 @.str8742) 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 @.str8743, 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 @.str8744, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str8745) %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 @.str8746, ptr %t80) %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str8747) %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 @.str8748) store ptr %t88, ptr %t89 %t90 = call ptr @fn_lbl(ptr @.str8749) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str8750) %t92 = load ptr, ptr %t44 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str8751) %t93 = load ptr, ptr %t89 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str8752) %t94 = load ptr, ptr %t91 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str8753) %t95 = load ptr, ptr %t89 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str8754) 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 @.str8755) %t103 = load ptr, ptr %t19 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str8756) br label %ifend17 ifend17: %t104 = load ptr, ptr %t91 call void @fn_emit(ptr %t104) call void @fn_emit(ptr @.str8757) 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 @.str8758) %t118 = load ptr, ptr %t19 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str8759) br label %ifend23 ifend23: %t119 = load ptr, ptr %t19 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str8760) 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 @.str8761, 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 @.str8762, ptr %t96 %t97 = load ptr, ptr %t95 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str8763) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then12, label %ifend14 then12: store ptr @.str8764, 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 @.str8765) %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str8766) call void @fn_emit(ptr @.str8767) %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 @.str8768) %t180 = load ptr, ptr %t173 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str8769) 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 @.str8770) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str8771) %t195 = load i32, ptr %t181 %t196 = call ptr @fn_itoa(i32 %t195) call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str8772) call void @fn_emit(ptr @.str8773) %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 @.str8774) %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 @.str8775) %t209 = load ptr, ptr %t193 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str8776) %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 @.str8777, 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 @.str8778) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then31, label %ifend33 then31: store ptr @.str8779, ptr %t225 br label %ifend33 ifend33: %t231 = call ptr @fn_find_extern(ptr @.str8780) %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 @.str8781) %t235 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str8782) %t236 = load ptr, ptr %t225 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str8783) %t237 = load i32, ptr %t181 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str8784) %t239 = call ptr @fn_val(ptr @.str8785, ptr @.str8786) 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 @.str8787) 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 @.str8788) %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 @.str8789) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str8790) %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 @.str8791) %t284 = load ptr, ptr %t241 %t285 = call ptr @fn_buf_str(ptr %t284) call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str8792) %t286 = load ptr, ptr %t279 %t287 = call ptr @fn_val(ptr %t286, ptr @.str8793) store ptr %t287, ptr %retval br label %ret ifend45: call void @fn_emit(ptr @.str8794) %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 @.str8795) %t291 = load ptr, ptr %t241 %t292 = call ptr @fn_buf_str(ptr %t291) call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str8796) %t293 = call ptr @fn_val(ptr @.str8797, ptr @.str8798) 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 %t60 = alloca ptr %t73 = alloca ptr %t171 = alloca ptr %t208 = alloca ptr %t244 = 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: store ptr @.str8799, ptr %t60 %t61 = load ptr, ptr %t19 %t62 = call ptr @fn_llty(ptr %t61) %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str8800) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then9, label %ifend11 then9: store ptr @.str8801, ptr %t60 br label %ifend11 ifend11: %t65 = load ptr, ptr %t19 %t66 = call ptr @fn_llty(ptr %t65) %t67 = load ptr, ptr %t60 %t68 = load ptr, ptr %t53 call void @fn_store_at(ptr %t66, ptr %t67, ptr %t68) br label %ifend8 else7: %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_emit_expr(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t19 %t75 = call ptr @fn_llty(ptr %t74) %t76 = load ptr, ptr %t73 %t77 = load ptr, ptr %t19 %t78 = call ptr @fn_coerce_code(ptr %t76, ptr %t77) %t79 = load ptr, ptr %t53 call void @fn_store_at(ptr %t75, ptr %t78, ptr %t79) br label %ifend8 ifend8: %t80 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1 %t82 = load ptr, ptr %t81 %t83 = load ptr, ptr %t53 %t84 = load ptr, ptr %t19 call void @fn_loc_push(ptr %t82, ptr %t83, ptr %t84) %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 2 %t87 = load i32, ptr %t86 call void @fn_loc_set_mut(i32 %t87) br label %ret ifend2: %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 0 %t90 = load i32, ptr %t89 %t91 = icmp eq i32 %t90, 11 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then12, label %ifend14 then12: %t94 = load ptr, ptr %t0 call void @fn_emit_assign(ptr %t94) br label %ret ifend14: %t95 = load ptr, ptr %t0 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 %t97 = load i32, ptr %t96 %t98 = icmp eq i32 %t97, 12 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then15, label %ifend17 then15: %t101 = load ptr, ptr %t0 call void @fn_emit_if(ptr %t101) br label %ret ifend17: %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 0 %t104 = load i32, ptr %t103 %t105 = icmp eq i32 %t104, 13 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then18, label %ifend20 then18: %t108 = load ptr, ptr %t0 call void @fn_emit_while(ptr %t108) br label %ret ifend20: %t109 = load ptr, ptr %t0 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 0 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 14 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then21, label %ifend23 then21: %t115 = load ptr, ptr %t0 call void @fn_emit_for(ptr %t115) br label %ret ifend23: %t116 = load ptr, ptr %t0 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 0 %t118 = load i32, ptr %t117 %t119 = icmp eq i32 %t118, 15 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then24, label %ifend26 then24: %t122 = load ptr, ptr %t0 call void @fn_emit_return(ptr %t122) 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, 17 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then27, label %ifend29 then27: call void @fn_emit(ptr @.str8802) %t129 = load ptr, ptr @g_brk_lbl %t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = load i32, ptr @g_nloop %t133 = sub i32 %t132, 1 %t134 = getelementptr inbounds ptr, ptr %t131, i32 %t133 %t135 = load ptr, ptr %t134 call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str8803) store i32 1, ptr @g_g_term br label %ret ifend29: %t136 = load ptr, ptr %t0 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 0 %t138 = load i32, ptr %t137 %t139 = icmp eq i32 %t138, 18 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then30, label %ifend32 then30: call void @fn_emit(ptr @.str8804) %t142 = load ptr, ptr @g_cnt_lbl %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = load i32, ptr @g_nloop %t146 = sub i32 %t145, 1 %t147 = getelementptr inbounds ptr, ptr %t144, i32 %t146 %t148 = load ptr, ptr %t147 call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str8805) store i32 1, ptr @g_g_term br label %ret ifend32: %t149 = load ptr, ptr %t0 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 0 %t151 = load i32, ptr %t150 %t152 = icmp eq i32 %t151, 19 %t153 = zext i1 %t152 to i32 %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then33, label %ifend35 then33: %t155 = load ptr, ptr %t0 call void @fn_emit_match(ptr %t155) br label %ret ifend35: %t156 = load ptr, ptr %t0 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 0 %t158 = load i32, ptr %t157 %t159 = icmp eq i32 %t158, 21 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then36, label %ifend38 then36: %t162 = load ptr, ptr %t0 call void @fn_emit_query(ptr %t162) br label %ret ifend38: %t163 = load ptr, ptr %t0 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 0 %t165 = load i32, ptr %t164 %t166 = icmp eq i32 %t165, 22 %t167 = zext i1 %t166 to i32 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then39, label %ifend41 then39: %t169 = load ptr, ptr %t0 %t170 = call ptr @fn_emit_spawn(ptr %t169) store ptr %t170, ptr %t171 br label %ret ifend41: %t172 = load ptr, ptr %t0 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 0 %t174 = load i32, ptr %t173 %t175 = icmp eq i32 %t174, 23 %t176 = zext i1 %t175 to i32 %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then42, label %ifend44 then42: %t178 = load ptr, ptr %t0 call void @fn_emit_despawn(ptr %t178) br label %ret ifend44: %t179 = load ptr, ptr %t0 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 0 %t181 = load i32, ptr %t180 %t182 = icmp eq i32 %t181, 28 %t183 = zext i1 %t182 to i32 %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then45, label %ifend47 then45: %t185 = load ptr, ptr %t0 call void @fn_emit_toggle(ptr %t185) br label %ret ifend47: %t186 = load ptr, ptr %t0 %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 0 %t188 = load i32, ptr %t187 %t189 = icmp eq i32 %t188, 46 %t190 = zext i1 %t189 to i32 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then48, label %ifend50 then48: %t192 = load ptr, ptr %t0 call void @fn_emit_attach(ptr %t192) br label %ret ifend50: %t193 = load ptr, ptr %t0 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 0 %t195 = load i32, ptr %t194 %t196 = icmp eq i32 %t195, 47 %t197 = zext i1 %t196 to i32 %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then51, label %ifend53 then51: %t199 = load ptr, ptr %t0 call void @fn_emit_detach(ptr %t199) br label %ret ifend53: %t200 = load ptr, ptr %t0 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 0 %t202 = load i32, ptr %t201 %t203 = icmp eq i32 %t202, 49 %t204 = zext i1 %t203 to i32 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then54, label %ifend56 then54: %t206 = load ptr, ptr %t0 %t207 = call ptr @fn_emit_emit(ptr %t206) store ptr %t207, ptr %t208 br label %ret ifend56: %t209 = load ptr, ptr %t0 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 0 %t211 = load i32, ptr %t210 %t212 = icmp eq i32 %t211, 50 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then57, label %ifend59 then57: %t215 = load ptr, ptr @g_g_cancel_addr %t216 = icmp eq ptr %t215, null %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then60, label %ifend62 then60: call void @fn_perr(ptr @.str8806) br label %ifend62 ifend62: call void @fn_emit(ptr @.str8807) %t219 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t219) call void @fn_emit(ptr @.str8808) br label %ret ifend59: %t220 = load ptr, ptr %t0 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 0 %t222 = load i32, ptr %t221 %t223 = icmp eq i32 %t222, 24 %t224 = zext i1 %t223 to i32 %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then63, label %ifend65 then63: %t226 = load ptr, ptr %t0 call void @fn_emit_machine(ptr %t226) br label %ret ifend65: %t227 = load ptr, ptr %t0 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 0 %t229 = load i32, ptr %t228 %t230 = icmp eq i32 %t229, 26 %t231 = zext i1 %t230 to i32 %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then66, label %ifend68 then66: %t233 = load ptr, ptr %t0 call void @fn_emit_become(ptr %t233) br label %ret ifend68: %t234 = load ptr, ptr %t0 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 0 %t236 = load i32, ptr %t235 %t237 = icmp eq i32 %t236, 16 %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then69, label %ifend71 then69: %t240 = load ptr, ptr %t0 %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 4 %t242 = load ptr, ptr %t241 %t243 = call ptr @fn_emit_expr(ptr %t242) store ptr %t243, ptr %t244 br label %ret ifend71: call void @fn_perr(ptr @.str8809) 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 @.str8810) %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 @.str8811) call void @fn_emith(ptr @.str8812) call void @fn_emith(ptr @.str8813) %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 @.str8814) br label %ifend2 ifend2: call void @fn_emith(ptr @.str8815) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str8816, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8817) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 %t12 = call ptr @lp_str_concat(ptr @.str8818, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str8819) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr @.str8820, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str8821) call void @fn_emith(ptr %t16) call void @fn_emith(ptr @.str8822) %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 @.str8823) call void @fn_emith(ptr @.str8824) 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 @.str8825, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str8826) 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 @.str8827, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str8828) %t50 = load ptr, ptr %t7 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str8829) %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 @.str8830) 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 @.str8831, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str8832) %t63 = load ptr, ptr %t7 %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str8833) 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 @.str8834, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str8835) 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 @.str8836, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str8837) 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 @.str8838, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str8839) 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 @.str8840) 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 @.str8841, ptr %t22) store ptr %t23, ptr %t24 call void @fn_emit(ptr @.str8842) %t25 = load ptr, ptr %t24 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str8843) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str8844) %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 @.str8845) call void @fn_emit(ptr @.str8846) %t35 = load ptr, ptr %t24 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str8847) 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 @.str8848) %t38 = load ptr, ptr %t1 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str8849) call void @fn_emit(ptr @.str8850) %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 @.str8851) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str8852) call void @fn_emit(ptr @.str8853) br label %ifend8 ifend8: call void @fn_emit(ptr @.str8854) call void @fn_emit(ptr @.str8855) call void @fn_emit(ptr @.str8856) call void @fn_emit(ptr @.str8857) call void @fn_emit(ptr @.str8858) call void @fn_emit(ptr @.str8859) call void @fn_emit(ptr @.str8860) call void @fn_emit(ptr @.str8861) call void @fn_emit(ptr @.str8862) %t42 = load ptr, ptr %t1 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str8863) call void @fn_emit(ptr @.str8864) call void @fn_emit(ptr @.str8865) call void @fn_emit(ptr @.str8866) call void @fn_emit(ptr @.str8867) call void @fn_emit(ptr @.str8868) call void @fn_emit(ptr @.str8869) call void @fn_emit(ptr @.str8870) call void @fn_emit(ptr @.str8871) call void @fn_emit(ptr @.str8872) call void @fn_emit(ptr @.str8873) call void @fn_emit(ptr @.str8874) %t43 = load ptr, ptr %t1 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str8875) call void @fn_emit(ptr @.str8876) call void @fn_emit(ptr @.str8877) call void @fn_emit(ptr @.str8878) call void @fn_emit(ptr @.str8879) %t44 = load ptr, ptr %t1 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str8880) call void @fn_emit(ptr @.str8881) call void @fn_emit(ptr @.str8882) call void @fn_emit(ptr @.str8883) call void @fn_emit(ptr @.str8884) %t45 = load ptr, ptr %t1 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str8885) call void @fn_emit(ptr @.str8886) call void @fn_emit(ptr @.str8887) call void @fn_emit(ptr @.str8888) call void @fn_emit(ptr @.str8889) 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 @.str8890) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str8891, ptr @.str8892, 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 @.str8893) store ptr %t41, ptr %t42 %t43 = call ptr @fn_lbl(ptr @.str8894) store ptr %t43, ptr %t44 %t45 = call ptr @fn_lbl(ptr @.str8895) store ptr %t45, ptr %t46 %t47 = call ptr @fn_lbl(ptr @.str8896) store ptr %t47, ptr %t48 call void @fn_emit(ptr @.str8897) %t49 = load ptr, ptr %t42 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str8898) %t50 = load ptr, ptr %t42 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str8899) %t51 = load ptr, ptr %t4 %t52 = call ptr @lp_str_concat(ptr @.str8900, ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 %t55 = call ptr @fn_emit_bind(ptr @.str8901) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t54 %t58 = call ptr @lp_str_concat(ptr @.str8902, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str8903) %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 @.str8904) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str8905) %t65 = load ptr, ptr %t44 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str8906) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str8907) %t67 = load ptr, ptr %t44 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str8908) store i32 0, ptr @g_g_term %t68 = load ptr, ptr %t4 %t69 = call ptr @lp_str_concat(ptr @.str8909, 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 @.str8910) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str8911) %t75 = load ptr, ptr %t2 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str8912) %t76 = load ptr, ptr %t71 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str8913) %t77 = load ptr, ptr %t73 %t78 = call ptr @lp_str_concat(ptr @.str8914, 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 @.str8915, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str8916) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = call ptr @fn_lbl(ptr @.str8917) store ptr %t86, ptr %t87 call void @fn_emit(ptr @.str8918) %t88 = load ptr, ptr %t85 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str8919) %t89 = load ptr, ptr %t87 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str8920) %t90 = load ptr, ptr %t46 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str8921) %t91 = load ptr, ptr %t87 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str8922) %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 @.str8923, 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 @.str8924) %t127 = load ptr, ptr %t126 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str8925) %t128 = load ptr, ptr %t2 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str8926) %t129 = load ptr, ptr %t71 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str8927) %t130 = load ptr, ptr %t126 %t131 = call ptr @lp_str_concat(ptr @.str8928, 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 @.str8929, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str8930) %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 @.str8931, 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 @.str8932, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str8933) %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 @.str8934, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str8935) %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 @.str8936) %t161 = load ptr, ptr %t160 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str8937) %t162 = load ptr, ptr %t2 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str8938) %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 @.str8939) %t166 = load ptr, ptr %t71 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str8940) %t167 = load ptr, ptr %t160 %t168 = call ptr @lp_str_concat(ptr @.str8941, 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 @.str8942, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str8943) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t120 br label %ifend10 ifend10: %t175 = call ptr @fn_lbl(ptr @.str8944) store ptr %t175, ptr %t176 call void @fn_emit(ptr @.str8945) %t177 = load ptr, ptr %t120 call void @fn_emit(ptr %t177) call void @fn_emit(ptr @.str8946) %t178 = load ptr, ptr %t176 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str8947) %t179 = load ptr, ptr %t46 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str8948) %t180 = load ptr, ptr %t176 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str8949) %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 @.str8950) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str8951) %t234 = load ptr, ptr %t2 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str8952) %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 @.str8953) %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 @.str8954) %t241 = load ptr, ptr %t71 call void @fn_emit(ptr %t241) call void @fn_emit(ptr @.str8955) %t242 = call ptr @fn_emit_alloca(ptr @.str8956) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str8957) %t244 = load ptr, ptr %t232 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str8958) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str8959) %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 @.str8960, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str8961) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 %t282 = call ptr @fn_lbl(ptr @.str8962) store ptr %t282, ptr %t283 call void @fn_emit(ptr @.str8963) %t284 = load ptr, ptr %t281 call void @fn_emit(ptr %t284) call void @fn_emit(ptr @.str8964) %t285 = load ptr, ptr %t283 call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str8965) %t286 = load ptr, ptr %t46 call void @fn_emit(ptr %t286) call void @fn_emit(ptr @.str8966) %t287 = load ptr, ptr %t283 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str8967) 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 @.str8968) %t298 = load ptr, ptr %t46 call void @fn_emit(ptr %t298) call void @fn_emit(ptr @.str8969) br label %ifend27 ifend27: %t299 = load ptr, ptr %t46 call void @fn_emit(ptr %t299) call void @fn_emit(ptr @.str8970) %t300 = load ptr, ptr %t4 %t301 = call ptr @lp_str_concat(ptr @.str8971, 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 @.str8972, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str8973) %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 @.str8974, ptr %t309, ptr %t310) call void @fn_emit(ptr @.str8975) %t311 = load ptr, ptr %t42 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str8976) %t312 = load ptr, ptr %t48 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str8977) 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 @.str8978) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str8979) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str8980) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str8981) %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 %t59 = alloca ptr %t73 = alloca ptr %t86 = alloca i32 %t104 = alloca ptr %t110 = alloca i32 %t116 = alloca ptr %t126 = alloca ptr %t141 = alloca ptr %t147 = alloca i32 %t149 = alloca ptr %t161 = 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 @.str8982, 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 @.str8983) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str8984) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str8985) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str8986) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str8987) call void @fn_emit(ptr @.str8988) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str8989) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str8990) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str8991) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str8992) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str8993) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str8994) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str8995) 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 @.str8996) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str8997) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str8998) %t51 = load ptr, ptr %t22 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str8999) %t52 = load i32, ptr %t28 %t53 = call ptr @fn_itoa(i32 %t52) call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str9000) %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 store ptr @.str9001, ptr %t59 %t60 = load ptr, ptr %t58 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str9002) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then6, label %ifend8 then6: store ptr @.str9003, ptr %t59 br label %ifend8 ifend8: %t63 = load ptr, ptr %t46 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4 %t65 = load ptr, ptr %t64 %t66 = icmp ne ptr %t65, null %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then9, label %ifend11 then9: %t69 = load ptr, ptr %t46 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_emit_expr(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 store ptr %t76, ptr %t59 br label %ifend11 ifend11: call void @fn_emit(ptr @.str9004) %t77 = load ptr, ptr %t58 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str9005) %t78 = load ptr, ptr %t59 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9006) %t79 = load ptr, ptr %t48 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9007) %t80 = load i32, ptr %t28 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t28 br label %wcond3 wend5: %t82 = load ptr, ptr %t2 %t83 = icmp ne ptr %t82, null %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then12, label %ifend14 then12: store i32 0, ptr %t86 br label %wcond15 wcond15: %t87 = load i32, ptr %t86 %t88 = load ptr, ptr %t2 %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 1 %t92 = load i32, ptr %t91 %t93 = icmp slt i32 %t87, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %wbody16, label %wend17 wbody16: %t96 = load ptr, ptr %t2 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = load i32, ptr %t86 %t102 = getelementptr inbounds ptr, ptr %t100, i32 %t101 %t103 = load ptr, ptr %t102 store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t7 %t106 = load ptr, ptr %t104 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t107 %t109 = call i32 @fn_field_index(ptr %t105, ptr %t108) store i32 %t109, ptr %t110 %t111 = load i32, ptr %t110 %t112 = icmp sge i32 %t111, 0 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then18, label %ifend20 then18: %t115 = call ptr @fn_nreg() store ptr %t115, ptr %t116 call void @fn_emit(ptr @.str9008) %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str9009) %t118 = load ptr, ptr %t1 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9010) %t119 = load ptr, ptr %t22 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9011) %t120 = load i32, ptr %t110 %t121 = call ptr @fn_itoa(i32 %t120) call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str9012) %t122 = load ptr, ptr %t104 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 4 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_emit_expr(ptr %t124) store ptr %t125, ptr %t126 call void @fn_emit(ptr @.str9013) %t127 = load ptr, ptr %t7 %t128 = load ptr, ptr %t104 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_field_type(ptr %t127, ptr %t130) %t132 = call ptr @fn_llty(ptr %t131) call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str9014) %t133 = load ptr, ptr %t126 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str9015) %t136 = load ptr, ptr %t116 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str9016) br label %ifend20 ifend20: %t137 = load i32, ptr %t86 %t138 = add i32 %t137, 1 store i32 %t138, ptr %t86 br label %wcond15 wend17: br label %ifend14 ifend14: %t139 = load ptr, ptr %t1 %t140 = call ptr @fn_onattach_body(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t141 %t143 = icmp ne ptr %t142, null %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then21, label %ifend23 then21: %t146 = load i32, ptr @g_nloc store i32 %t146, ptr %t147 %t148 = call ptr @fn_emit_alloca(ptr @.str9017) store ptr %t148, ptr %t149 call void @fn_emit(ptr @.str9018) %t150 = load ptr, ptr %t22 call void @fn_emit(ptr %t150) call void @fn_emit(ptr @.str9019) %t151 = load ptr, ptr %t149 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str9020) %t152 = load ptr, ptr %t1 %t153 = load ptr, ptr %t149 %t154 = load ptr, ptr %t1 call void @fn_loc_push(ptr %t152, ptr %t153, ptr %t154) %t155 = load ptr, ptr %t0 %t156 = load ptr, ptr %t141 call void @fn_emit_hook_with_self(ptr %t155, ptr %t156) %t157 = load i32, ptr %t147 store i32 %t157, ptr @g_nloc br label %ifend23 ifend23: %t158 = load ptr, ptr %t1 %t159 = call ptr @lp_str_concat(ptr @.str9021, ptr %t158) %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str9022) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = call ptr @fn_find_event(ptr %t162) %t164 = icmp ne ptr %t163, null %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %then24, label %ifend26 then24: call void @fn_emit(ptr @.str9023) %t167 = load ptr, ptr %t161 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str9024) %t168 = load ptr, ptr %t0 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str9025) br label %ifend26 ifend26: 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 @.str9026) %t27 = load ptr, ptr %t26 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9027) %t28 = load ptr, ptr %t3 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9028) %t29 = load ptr, ptr %t24 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9029) %t30 = load ptr, ptr %t24 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9030) %t31 = load ptr, ptr %t1 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9031) %t32 = call ptr @fn_emit_alloca(ptr @.str9032) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str9033) %t34 = load ptr, ptr %t26 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9034) %t35 = load ptr, ptr %t33 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9035) %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 @.str9036, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9037) 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 ptr @fn_emit_spawn(ptr %arg_st) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t7 = alloca ptr %t10 = alloca i32 %t11 = alloca i32 %t39 = alloca ptr %t41 = alloca ptr %t50 = alloca ptr %t51 = alloca i32 %t71 = alloca ptr %t87 = alloca ptr %t93 = alloca i32 %t102 = alloca ptr %t110 = alloca i32 store ptr %arg_st, ptr %t0 %t1 = call ptr @fn_emit_bind(ptr @.str9038) store ptr %t1, 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 @fn_spawn_model(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call i32 @fn_find_arch_id(ptr %t8) store i32 %t9, ptr %t10 %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = load ptr, ptr %t13 %t15 = call ptr @fn_find_prefab(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 %t11 br i1 %t18, label %sc0, label %scend1 sc0: %t20 = load i32, ptr %t10 %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 %t11 br label %scend1 scend1: %t25 = load i32, ptr %t11 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then2, label %ifend4 then2: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = call ptr @lp_str_concat(ptr @.str9039, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str9040) %t32 = load ptr, ptr %t7 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) call void @fn_perr(ptr %t33) br label %ifend4 ifend4: %t34 = load i32, ptr %t10 %t35 = icmp sgt i32 %t34, 0 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then5, label %else6 then5: %t38 = call ptr @fn_itoa(i32 1024) store ptr %t38, ptr %t39 %t40 = call ptr @fn_nreg() store ptr %t40, ptr %t41 call void @fn_emit(ptr @.str9041) %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str9042) %t43 = load ptr, ptr %t39 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str9043) %t44 = load ptr, ptr %t2 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str9044) call void @fn_emit(ptr @.str9045) %t45 = load i32, ptr %t10 %t46 = call ptr @fn_itoa(i32 %t45) call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9046) %t47 = load ptr, ptr %t41 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9047) %t48 = load ptr, ptr %t7 %t49 = call ptr @fn_find_arch(ptr %t48) store ptr %t49, ptr %t50 store i32 0, ptr %t51 br label %wcond8 wcond8: %t52 = load i32, ptr %t51 %t53 = load ptr, ptr %t50 %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 1 %t57 = load i32, ptr %t56 %t58 = icmp slt i32 %t52, %t57 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %wbody9, label %wend10 wbody9: %t61 = load ptr, ptr %t50 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = load i32, ptr %t51 %t67 = getelementptr inbounds ptr, ptr %t65, i32 %t66 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t2 %t73 = load ptr, ptr %t71 %t74 = load ptr, ptr %t0 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 %t77 = load ptr, ptr %t71 %t78 = call ptr @fn_prefab_record(ptr %t76, ptr %t77) %t79 = load ptr, ptr %t0 %t80 = load ptr, ptr %t71 %t81 = call ptr @fn_spawn_record(ptr %t79, ptr %t80) %t82 = call ptr @fn_merge_records(ptr %t78, ptr %t81) call void @fn_emit_init_component(ptr %t72, ptr %t73, ptr %t82) %t83 = load i32, ptr %t51 %t84 = add i32 %t83, 1 store i32 %t84, ptr %t51 br label %wcond8 wend10: %t85 = load ptr, ptr %t7 %t86 = call ptr @fn_onspawn_body(ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 %t89 = icmp ne ptr %t88, null %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then11, label %ifend13 then11: %t92 = load i32, ptr @g_nloc store i32 %t92, ptr %t93 %t94 = load ptr, ptr %t50 %t95 = load ptr, ptr %t2 call void @fn_emit_bind_props(ptr %t94, ptr %t95) %t96 = load ptr, ptr %t2 %t97 = load ptr, ptr %t87 call void @fn_emit_hook_with_self(ptr %t96, ptr %t97) %t98 = load i32, ptr %t93 store i32 %t98, ptr @g_nloc br label %ifend13 ifend13: %t99 = load ptr, ptr %t7 %t100 = call ptr @lp_str_concat(ptr @.str9048, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str9049) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = call ptr @fn_find_event(ptr %t103) %t105 = icmp ne ptr %t104, null %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then14, label %ifend16 then14: call void @fn_emit(ptr @.str9050) %t108 = load ptr, ptr %t102 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str9051) %t109 = load ptr, ptr %t2 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str9052) br label %ifend16 ifend16: br label %ifend7 else6: store i32 0, ptr %t110 br label %wcond17 wcond17: %t111 = load i32, ptr %t110 %t112 = load ptr, ptr %t0 %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 = icmp slt i32 %t111, %t116 %t118 = zext i1 %t117 to i32 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %wbody18, label %wend19 wbody18: %t120 = load ptr, ptr %t2 %t121 = load ptr, ptr %t0 %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 %t110 %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 = load ptr, ptr %t0 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = load i32, ptr %t110 %t137 = getelementptr inbounds ptr, ptr %t135, i32 %t136 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 4 %t140 = load ptr, ptr %t139 call void @fn_emit_init_component(ptr %t120, ptr %t130, ptr %t140) %t141 = load i32, ptr %t110 %t142 = add i32 %t141, 1 store i32 %t142, ptr %t110 br label %wcond17 wend19: br label %ifend7 ifend7: %t143 = load ptr, ptr %t2 store ptr %t143, ptr %retval br label %ret ret: %t144 = load ptr, ptr %retval ret ptr %t144 } define void @fn_emit_despawn(ptr %arg_st) { entry: %t0 = alloca ptr %t5 = alloca ptr %t13 = alloca ptr %t15 = alloca ptr %t24 = alloca ptr %t25 = alloca i32 %t41 = alloca ptr %t50 = alloca ptr %t52 = alloca ptr %t54 = alloca ptr %t66 = 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 @g_g_ondespawn %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp sgt i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: %t12 = call ptr @fn_itoa(i32 1024) store ptr %t12, ptr %t13 %t14 = call ptr @fn_nreg() store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str9053) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str9054) %t17 = load ptr, ptr %t13 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str9055) %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9056) %t21 = load ptr, ptr %t15 %t22 = call ptr @lp_str_concat(ptr @.str9057, ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 store i32 0, ptr %t25 br label %wcond3 wcond3: %t26 = load i32, ptr %t25 %t27 = load ptr, ptr @g_g_ondespawn %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp slt i32 %t26, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %wbody4, label %wend5 wbody4: %t33 = load ptr, ptr @g_g_ondespawn %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = load i32, ptr %t25 %t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t24 %t43 = call ptr @lp_str_concat(ptr @.str9058, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str9059) %t45 = load ptr, ptr %t41 %t46 = call i32 @fn_find_arch_id(ptr %t45) %t47 = call ptr @fn_itoa(i32 %t46) %t48 = call ptr @lp_str_concat(ptr %t44, ptr %t47) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 %t51 = call ptr @fn_lbl(ptr @.str9060) store ptr %t51, ptr %t52 %t53 = call ptr @fn_lbl(ptr @.str9061) store ptr %t53, ptr %t54 call void @fn_emit(ptr @.str9062) %t55 = load ptr, ptr %t50 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str9063) %t56 = load ptr, ptr %t52 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str9064) %t57 = load ptr, ptr %t54 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str9065) %t58 = load ptr, ptr %t52 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str9066) %t59 = load ptr, ptr %t41 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str9067) %t60 = load ptr, ptr %t5 %t61 = getelementptr inbounds %Cmp_Val, ptr %t60, i32 0, i32 0 %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9068) %t63 = load ptr, ptr %t41 %t64 = call ptr @lp_str_concat(ptr @.str9069, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9070) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_find_event(ptr %t67) %t69 = icmp ne ptr %t68, null %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str9071) %t72 = load ptr, ptr %t66 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str9072) %t73 = load ptr, ptr %t5 %t74 = getelementptr inbounds %Cmp_Val, ptr %t73, i32 0, i32 0 %t75 = load ptr, ptr %t74 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9073) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9074) %t76 = load ptr, ptr %t54 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9075) %t77 = load ptr, ptr %t54 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str9076) %t78 = load i32, ptr %t25 %t79 = add i32 %t78, 1 store i32 %t79, ptr %t25 br label %wcond3 wend5: br label %ifend2 ifend2: %t80 = load ptr, ptr @g_g_events %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 %t82 = load i32, ptr %t81 %t83 = icmp sgt i32 %t82, 0 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then9, label %ifend11 then9: call void @fn_emit(ptr @.str9077) %t86 = load ptr, ptr %t5 %t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 0 %t88 = load ptr, ptr %t87 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str9078) br label %ifend11 ifend11: call void @fn_emit(ptr @.str9079) %t89 = load ptr, ptr %t5 %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 @.str9080) 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 @.str9081) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str9082) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str9083) %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 @.str9084) %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 @.str9085) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str9086, 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 @.str9087, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9088) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str9089) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str9090) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str9091) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9092) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str9093) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9094) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9095) 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 @.str9096) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9097) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9098) 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 @.str9099) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str9100) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str9101) %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 @.str9102) %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 @.str9103) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str9104, 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 @.str9105, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9106) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str9107) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str9108) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str9109) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9110) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str9111) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9112) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9113) store i32 0, ptr @g_g_term call void @fn_emit(ptr @.str9114) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9115) %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 @.str9116) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9117) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9118) %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 @.str9119) %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 @.str9120) %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 @.str9121) %t60 = call ptr @fn_emit_alloca(ptr @.str9122) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str9123) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9124) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9125) %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 @.str9126, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str9127) 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 @.str9128) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str9129) %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 @.str9130) 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 @.str9131) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str9132) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str9133) 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 @.str9134, 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 @.str9135, 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 @.str9136) %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 @.str9137) %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 @.str9138) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str9139) %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 @.str9140) %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 @.str9141, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str9142) 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 @.str9143, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str9144) 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 @.str9145) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9146) 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 @.str9147) %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str9148) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str9149) %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 @.str9150) %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 @.str9151) call void @fn_emit(ptr @.str9152) %t90 = load ptr, ptr %t1 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str9153) %t91 = load ptr, ptr %t81 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str9154) 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 @.str9155) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str9156) %t116 = load ptr, ptr %t79 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str9157) %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 @.str9158) %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 @.str9159) %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 @.str9160) %t126 = call ptr @fn_emit_alloca(ptr @.str9161) store ptr %t126, ptr %t127 call void @fn_emit(ptr @.str9162) %t128 = load ptr, ptr %t114 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str9163) %t129 = load ptr, ptr %t127 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str9164) %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 @.str9165, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str9166) 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 @.str9167, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9168) 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 @.str9169) %t161 = load ptr, ptr %t144 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str9170) %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 @.str9171) br label %ifend33 ifend33: br label %ifend21 else20: store ptr @.str9172, 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 @.str9173, 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 @.str9174) %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 @.str9175) %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 @.str9176) %t210 = load ptr, ptr %t1 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str9177) %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 @.str9178) br label %ifend21 ifend21: br label %ret ret: ret void } define void @fn_emit_system_fn(ptr %arg_sys) { entry: %t0 = alloca ptr %t5 = alloca ptr %t8 = alloca ptr store ptr %arg_sys, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 6 %t3 = load ptr, ptr %t2 store ptr %t3, 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 @.str9179, 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 %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 %t12 = load ptr, ptr %t11 call void @fn_emit_block(ptr %t12) %t13 = load i32, ptr @g_g_term %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: call void @fn_emit(ptr @.str9180) br label %ifend2 ifend2: call void @fn_emit(ptr @.str9181) %t17 = load ptr, ptr %t8 store ptr %t17, ptr @g_code call void @fn_emit(ptr @.str9182) %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9183) %t21 = load ptr, ptr @g_falloc %t22 = call ptr @fn_buf_str(ptr %t21) call void @fn_emit(ptr %t22) %t23 = load ptr, ptr %t5 %t24 = call ptr @fn_buf_str(ptr %t23) call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9184) 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 @.str9185, 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 @.str9186, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str9187) %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 @.str9188, 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 @.str9189, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str9190) %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 @.str9191, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str9192) %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 @.str9193) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr @.str9194, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str9195) %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 @.str9196, ptr %t62) %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str9197) %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 @.str9198) store ptr %t68, ptr %t69 %t70 = call ptr @fn_lbl(ptr @.str9199) store ptr %t70, ptr %t71 call void @fn_emit(ptr @.str9200) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str9201) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9202) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9203) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9204) %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 @.str9205) call void @fn_emit(ptr @.str9206) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9207) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9208) 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 @.str9209) %t20 = load ptr, ptr %t1 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9210) 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 @.str9211) %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 @.str9212) %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 @.str9213) 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 @.str9214) 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 @.str9215) %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 @.str9216) br label %ifend21 ifend21: br label %ifend8 ifend8: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str9217) %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 @.str9218) %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 @.str9219) 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 @.str9220) call void @fn_emit(ptr @.str9221) call void @fn_emit(ptr @.str9222) call void @fn_emit(ptr @.str9223) call void @fn_emit(ptr @.str9224) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str9225) call void @fn_emit(ptr @.str9226) 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 @.str9227) %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 @.str9228) %t59 = load ptr, ptr %t54 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str9229) call void @fn_emit(ptr @.str9230) %t60 = load ptr, ptr %t54 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str9231) %t61 = load ptr, ptr %t1 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str9232) %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 @.str9233) call void @fn_emit(ptr @.str9234) %t65 = load ptr, ptr %t54 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9235) %t66 = load ptr, ptr %t54 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9236) call void @fn_emit(ptr @.str9237) %t67 = load ptr, ptr %t54 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9238) %t68 = load ptr, ptr %t54 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str9239) call void @fn_emit(ptr @.str9240) %t69 = load ptr, ptr %t54 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str9241) %t70 = load ptr, ptr %t54 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9242) %t71 = load ptr, ptr %t58 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str9243) call void @fn_emit(ptr @.str9244) %t72 = load ptr, ptr %t54 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str9245) call void @fn_emit(ptr @.str9246) %t73 = load ptr, ptr %t54 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9247) %t74 = load ptr, ptr %t1 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9248) %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 @.str9249) %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 @.str9250) 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 @.str9251) %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 @.str9252) %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 @.str9253) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str9254) %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 @.str9255) %t112 = load ptr, ptr %t54 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str9256) %t113 = load i32, ptr %t26 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str9257) call void @fn_emit(ptr @.str9258) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str9259) %t116 = load ptr, ptr %t107 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str9260) call void @fn_emit(ptr @.str9261) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str9262) %t118 = load ptr, ptr %t107 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9263) call void @fn_emit(ptr @.str9264) %t119 = load ptr, ptr %t107 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9265) %t120 = load ptr, ptr %t107 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str9266) call void @fn_emit(ptr @.str9267) %t121 = load ptr, ptr %t107 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str9268) %t122 = load ptr, ptr %t107 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str9269) %t123 = load ptr, ptr %t107 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str9270) %t124 = load ptr, ptr %t107 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str9271) call void @fn_emit(ptr @.str9272) %t125 = load ptr, ptr %t107 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str9273) %t126 = load ptr, ptr %t107 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str9274) 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 @.str9275) %t129 = load ptr, ptr %t58 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str9276) %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 @.str9277) %t134 = load i32, ptr %t3 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str9278) call void @fn_emit(ptr @.str9279) 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 @.str9280, 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 @.str9281) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str9282) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code call void @fn_emit(ptr @.str9283) %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 @.str9284) %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 @.str9285) 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 @.str9286, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str9287) %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 @.str9288, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str9289) %t73 = call ptr @fn_emit_bind(ptr %t72) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str9290) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str9291) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str9292) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9293) %t80 = load ptr, ptr %t76 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9294) %t81 = load ptr, ptr %t78 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str9295) %t82 = load ptr, ptr %t76 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str9296) %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 @.str9297, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9298) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 call void @fn_emit(ptr @.str9299) %t90 = load ptr, ptr %t89 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str9300) %t91 = load ptr, ptr %t78 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str9301) 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 @.str9302) %t94 = load ptr, ptr %t31 store ptr %t94, ptr @g_code call void @fn_emit(ptr @.str9303) %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 @.str9304) 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 @.str9305) %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 @.str9306) %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 @.str9307) %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 @.str9308) %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 @.str9309) %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 @.str9310) %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 @.str9311) %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 @.str9312) %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 @.str9313, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str9314) 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 @.str9315) %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 @.str9316) %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 @.str9317) %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 @.str9318) %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 @.str9319) %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 @.str9320) %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 @.str9321) %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 @.str9322) call void @fn_emith(ptr @.str9323) call void @fn_emith(ptr @.str9324) call void @fn_emith(ptr @.str9325) call void @fn_emith(ptr @.str9326) call void @fn_emith(ptr @.str9327) call void @fn_emith(ptr @.str9328) call void @fn_emith(ptr @.str9329) call void @fn_emith(ptr @.str9330) call void @fn_emith(ptr @.str9331) call void @fn_emith(ptr @.str9332) call void @fn_emith(ptr @.str9333) call void @fn_emith(ptr @.str9334) call void @fn_emith(ptr @.str9335) call void @fn_emith(ptr @.str9336) call void @fn_emith(ptr @.str9337) call void @fn_emith(ptr @.str9338) call void @fn_emith(ptr @.str9339) call void @fn_emith(ptr @.str9340) call void @fn_emit(ptr @.str9341) %t0 = call ptr @fn_find_fn(ptr @.str9342) %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 @.str9343) 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 @.str9344) %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 @.str9345) %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 @.str9346) %t26 = load i32, ptr %t4 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t4 br label %wcond3 wend5: call void @fn_emit(ptr @.str9347) call void @fn_emith(ptr @.str9348) 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 @.str9349) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str9350) call void @fn_emith(ptr @.str9351) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) call void @fn_emith(ptr @.str9352) call void @fn_emith(ptr @.str9353) call void @fn_emit(ptr @.str9354) call void @fn_emit(ptr @.str9355) call void @fn_emit(ptr @.str9356) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str9357) call void @fn_emit(ptr @.str9358) call void @fn_emit(ptr @.str9359) call void @fn_emit(ptr @.str9360) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str9361) call void @fn_emit(ptr @.str9362) call void @fn_emit(ptr @.str9363) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str9364) call void @fn_emit(ptr @.str9365) call void @fn_emit(ptr @.str9366) call void @fn_emit(ptr @.str9367) 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 @.str9368) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str9369) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str9370) store ptr %t15, ptr %t16 %t17 = call ptr @fn_lbl(ptr @.str9371) store ptr %t17, ptr %t18 %t19 = call ptr @fn_lbl(ptr @.str9372) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str9373) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str9374) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9375) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9376) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9377) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9378) call void @fn_emit(ptr @.str9379) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9380) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9381) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9382) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9383) %t31 = call ptr @fn_emit_bind(ptr @.str9384) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 %t34 = call ptr @lp_str_concat(ptr @.str9385, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str9386) %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 @.str9387) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str9388) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9389) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str9390) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str9391) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str9392) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9393) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9394) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9395) %t49 = load ptr, ptr %t45 %t50 = call ptr @lp_str_concat(ptr @.str9396, 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 @.str9397, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str9398) %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 @.str9399) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str9400) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str9401) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9402) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9403) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 call void @fn_emit(ptr @.str9404) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9405) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9406) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str9407) %t69 = load ptr, ptr %t65 %t70 = call ptr @lp_str_concat(ptr @.str9408, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 call void @fn_emit(ptr @.str9409) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9410) call void @fn_emit(ptr @.str9411) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9412) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9413) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9414) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str9415) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9416) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9417) 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 @.str9418) 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 @.str9419, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str9420) %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 @.str9421) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str9422) store ptr %t152, ptr %t153 call void @fn_emit(ptr @.str9423) %t154 = load ptr, ptr %t149 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str9424) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str9425) %t156 = load ptr, ptr %t153 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str9426) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str9427) %t158 = load ptr, ptr %t109 call void @fn_emit_call_one(ptr %t158) call void @fn_emit(ptr @.str9428) %t159 = load ptr, ptr %t153 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str9429) %t160 = load ptr, ptr %t153 call void @fn_emit(ptr %t160) call void @fn_emit(ptr @.str9430) 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 @.str9431) %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 @.str9432) 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 @.str9433, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str9434) %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 @.str9435) store ptr %t58, ptr %t59 %t60 = call ptr @fn_lbl(ptr @.str9436) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str9437) %t62 = load ptr, ptr %t57 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9438) %t63 = load ptr, ptr %t59 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9439) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9440) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9441) call void @fn_emit(ptr @.str9442) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9443) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9444) 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 @.str9445, 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 @.str9446) %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 @.str9447) %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 @.str9448) br label %ifend7 ifend7: call void @fn_emit(ptr @.str9449) %t26 = load ptr, ptr %t3 %t27 = call ptr @lp_str_concat(ptr @.str9450, 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 @.str9451) 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 @.str9452) %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 @.str9453) 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 @.str9454, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9455) %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 @.str9456) %t67 = load ptr, ptr %t52 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9457) 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 @.str9458) br label %ifend23 ifend23: call void @fn_emit(ptr @.str9459) %t72 = load ptr, ptr %t8 store ptr %t72, ptr @g_code call void @fn_emit(ptr @.str9460) %t73 = load ptr, ptr %t1 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9461) %t74 = load ptr, ptr %t0 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9462) %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 @.str9463) 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 @.str9464, 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 @.str9465, 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 @.str9466) call void @fn_emit(ptr @.str9467) 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 @.str9468) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str9469) %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 @.str9470) call void @fn_emit(ptr @.str9471) %t23 = load ptr, ptr %t17 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9472) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9473) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9474) call void @fn_emit(ptr @.str9475) %t26 = load ptr, ptr %t17 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9476) %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 @.str9477) call void @fn_emit(ptr @.str9478) %t30 = load ptr, ptr %t17 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9479) %t31 = load i32, ptr %t0 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t0 br label %wcond0 wend2: call void @fn_emit(ptr @.str9480) 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 @.str9481, 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 @.str9482) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str9483) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9484) %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 @.str9485) br label %ifend5 ifend5: %t39 = load ptr, ptr %t19 call void @fn_emit_bind_props(ptr %t39, ptr @.str9486) %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 @.str9487) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9488) %t47 = load ptr, ptr %t24 store ptr %t47, ptr @g_code call void @fn_emit(ptr @.str9489) %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 @.str9490) %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 @.str9491) %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 @.str9492) %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 @.str9493) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str9494) call void @fn_emit(ptr @.str9495) 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 @.str9496) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9497) %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 @.str9498) call void @fn_emit(ptr @.str9499) %t33 = load ptr, ptr %t28 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9500) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9501) %t35 = load ptr, ptr %t28 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9502) call void @fn_emit(ptr @.str9503) %t36 = load ptr, ptr %t28 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str9504) %t37 = load ptr, ptr %t25 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str9505) %t38 = load ptr, ptr %t25 %t39 = call ptr @lp_str_concat(ptr @.str9506, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str9507) 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 @.str9508) %t47 = load ptr, ptr %t41 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9509) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9510) %t48 = load ptr, ptr %t28 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9511) call void @fn_emit(ptr @.str9512) %t49 = load ptr, ptr %t28 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9513) %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 @.str9514) br label %ifend11 ifend11: call void @fn_emit(ptr @.str9515) call void @fn_emit(ptr @.str9516) 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 @.str9517) call void @fn_emit(ptr @.str9518) call void @fn_emit(ptr @.str9519) call void @fn_emit(ptr @.str9520) call void @fn_emit(ptr @.str9521) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str9522) call void @fn_emit(ptr @.str9523) call void @fn_emit(ptr @.str9524) call void @fn_emit(ptr @.str9525) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) call void @fn_emit(ptr @.str9526) call void @fn_emit(ptr @.str9527) 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 @.str9528) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9529) %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 @.str9530) call void @fn_emit(ptr @.str9531) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9532) %t35 = load ptr, ptr %t29 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9533) %t36 = load ptr, ptr %t29 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str9534) call void @fn_emit(ptr @.str9535) %t37 = load ptr, ptr %t29 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str9536) %t38 = load ptr, ptr %t26 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str9537) %t39 = load ptr, ptr %t26 %t40 = call ptr @lp_str_concat(ptr @.str9538, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str9539) 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 @.str9540) %t48 = load ptr, ptr %t42 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9541) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9542) %t49 = load ptr, ptr %t29 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9543) call void @fn_emit(ptr @.str9544) %t50 = load ptr, ptr %t29 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9545) %t51 = load i32, ptr %t10 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t10 br label %wcond3 wend5: call void @fn_emit(ptr @.str9546) call void @fn_emit(ptr @.str9547) call void @fn_emit(ptr @.str9548) 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 @.str9549) 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 @.str9550) %t21 = load ptr, ptr %t18 call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str9551) 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 @.str9552) 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 @.str9553) br label %ifend14 ifend14: call void @fn_emith(ptr @.str9554) br label %ifend11 ifend11: call void @fn_emith(ptr @.str9555) call void @fn_emith(ptr @.str9556) %t63 = load ptr, ptr %t18 call void @fn_emith(ptr %t63) call void @fn_emith(ptr @.str9557) %t64 = load ptr, ptr %t20 call void @fn_emith(ptr %t64) call void @fn_emith(ptr @.str9558) call void @fn_emith(ptr @.str9559) %t65 = load ptr, ptr %t18 call void @fn_emith(ptr %t65) call void @fn_emith(ptr @.str9560) call void @fn_emith(ptr @.str9561) %t66 = load ptr, ptr %t18 call void @fn_emith(ptr %t66) call void @fn_emith(ptr @.str9562) %t67 = load ptr, ptr %t20 call void @fn_emith(ptr %t67) call void @fn_emith(ptr @.str9563) call void @fn_emit(ptr @.str9564) %t68 = load ptr, ptr %t18 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str9565) call void @fn_emit(ptr @.str9566) %t69 = load ptr, ptr %t18 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str9567) call void @fn_emit(ptr @.str9568) %t70 = load ptr, ptr %t20 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9569) call void @fn_emit(ptr @.str9570) call void @fn_emit(ptr @.str9571) %t71 = load ptr, ptr %t20 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str9572) %t72 = load ptr, ptr %t18 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str9573) call void @fn_emit(ptr @.str9574) call void @fn_emit(ptr @.str9575) %t73 = load ptr, ptr %t20 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9576) %t74 = load ptr, ptr %t18 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9577) call void @fn_emit(ptr @.str9578) call void @fn_emit(ptr @.str9579) %t75 = load ptr, ptr %t18 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9580) call void @fn_emit(ptr @.str9581) call void @fn_emit(ptr @.str9582) %t76 = load ptr, ptr %t18 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9583) call void @fn_emit(ptr @.str9584) %t77 = load ptr, ptr %t18 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str9585) call void @fn_emit(ptr @.str9586) %t78 = load ptr, ptr %t20 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9587) call void @fn_emit(ptr @.str9588) call void @fn_emit(ptr @.str9589) %t79 = load ptr, ptr %t20 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9590) %t80 = load ptr, ptr %t18 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9591) call void @fn_emit(ptr @.str9592) call void @fn_emit(ptr @.str9593) %t81 = load ptr, ptr %t20 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str9594) %t82 = load ptr, ptr %t18 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str9595) call void @fn_emit(ptr @.str9596) call void @fn_emit(ptr @.str9597) %t83 = load ptr, ptr %t18 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str9598) call void @fn_emit(ptr @.str9599) call void @fn_emit(ptr @.str9600) %t84 = load ptr, ptr %t18 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str9601) call void @fn_emit(ptr @.str9602) %t85 = load ptr, ptr %t18 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str9603) call void @fn_emit(ptr @.str9604) call void @fn_emit(ptr @.str9605) call void @fn_emit(ptr @.str9606) %t86 = load ptr, ptr %t20 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str9607) %t87 = load ptr, ptr %t18 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str9608) call void @fn_emit(ptr @.str9609) call void @fn_emit(ptr @.str9610) 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 @.str9611, 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 @.str9612) call void @fn_emit(ptr @.str9613) %t94 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str9614) call void @fn_emit(ptr @.str9615) call void @fn_emit(ptr @.str9616) %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 @.str9617) br label %ifend17 else16: call void @fn_emit(ptr @.str9618) br label %ifend17 ifend17: call void @fn_emit(ptr @.str9619) call void @fn_emit(ptr @.str9620) %t101 = load ptr, ptr %t18 %t102 = call ptr @lp_str_concat(ptr @.str9621, 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 @.str9622) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str9623) %t132 = load ptr, ptr %t18 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str9624) %t133 = load ptr, ptr %t104 call void @fn_emit(ptr %t133) call void @fn_emit(ptr @.str9625) %t134 = load i32, ptr %t105 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str9626) call void @fn_emit(ptr @.str9627) %t136 = load ptr, ptr %t128 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str9628) %t137 = load i32, ptr %t105 %t138 = call ptr @fn_itoa(i32 %t137) call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str9629) %t139 = load ptr, ptr %t130 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str9630) %t140 = load ptr, ptr %t128 %t141 = call ptr @fn_emit_alloca(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str9631) %t143 = load ptr, ptr %t128 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str9632) %t144 = load i32, ptr %t105 %t145 = call ptr @fn_itoa(i32 %t144) call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str9633) %t146 = load ptr, ptr %t142 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str9634) %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 @.str9635) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str9636) %t165 = load ptr, ptr %t18 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str9637) %t166 = load ptr, ptr %t104 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str9638) %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 @.str9639) call void @fn_emit(ptr @.str9640) %t173 = load ptr, ptr %t156 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str9641) %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 @.str9642) store ptr %t211, ptr %t212 call void @fn_emit(ptr @.str9643) %t213 = load ptr, ptr %t212 call void @fn_emit(ptr %t213) call void @fn_emit(ptr @.str9644) %t214 = call ptr @fn_lbl(ptr @.str9645) store ptr %t214, ptr %t215 %t216 = call ptr @fn_lbl(ptr @.str9646) store ptr %t216, ptr %t217 %t218 = call ptr @fn_lbl(ptr @.str9647) store ptr %t218, ptr %t219 call void @fn_emit(ptr @.str9648) %t220 = load ptr, ptr %t215 call void @fn_emit(ptr %t220) call void @fn_emit(ptr @.str9649) %t221 = load ptr, ptr %t215 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str9650) %t222 = load ptr, ptr %t212 %t223 = call ptr @lp_str_concat(ptr @.str9651, 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 @.str9652, 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 @.str9653, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str9654) %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 @.str9655) %t237 = load ptr, ptr %t236 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str9656) %t238 = load ptr, ptr %t217 call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str9657) %t239 = load ptr, ptr %t219 call void @fn_emit(ptr %t239) call void @fn_emit(ptr @.str9658) %t240 = load ptr, ptr %t217 call void @fn_emit(ptr %t240) call void @fn_emit(ptr @.str9659) %t241 = call ptr @fn_nreg() store ptr %t241, ptr %t242 call void @fn_emit(ptr @.str9660) %t243 = load ptr, ptr %t242 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str9661) %t244 = load ptr, ptr %t20 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str9662) %t245 = load ptr, ptr %t18 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str9663) %t246 = load ptr, ptr %t225 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str9664) %t247 = load ptr, ptr %t242 %t248 = call ptr @lp_str_concat(ptr @.str9665, 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 @.str9666, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str9667) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 %t256 = call ptr @fn_lbl(ptr @.str9668) store ptr %t256, ptr %t257 %t258 = call ptr @fn_lbl(ptr @.str9669) store ptr %t258, ptr %t259 call void @fn_emit(ptr @.str9670) %t260 = load ptr, ptr %t255 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str9671) %t261 = load ptr, ptr %t259 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str9672) %t262 = load ptr, ptr %t257 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str9673) %t263 = load ptr, ptr %t257 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str9674) call void @fn_emit(ptr @.str9675) %t264 = load ptr, ptr %t250 call void @fn_emit(ptr %t264) call void @fn_emit(ptr @.str9676) %t265 = load ptr, ptr %t104 call void @fn_emit(ptr %t265) call void @fn_emit(ptr @.str9677) call void @fn_emit(ptr @.str9678) %t266 = load ptr, ptr %t259 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str9679) %t267 = load ptr, ptr %t259 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str9680) %t268 = load ptr, ptr %t225 %t269 = call ptr @lp_str_concat(ptr @.str9681, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str9682) %t271 = call ptr @fn_emit_bind(ptr %t270) store ptr %t271, ptr %t272 call void @fn_emit(ptr @.str9683) %t273 = load ptr, ptr %t272 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str9684) %t274 = load ptr, ptr %t212 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str9685) call void @fn_emit(ptr @.str9686) %t275 = load ptr, ptr %t215 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str9687) %t276 = load ptr, ptr %t219 call void @fn_emit(ptr %t276) call void @fn_emit(ptr @.str9688) call void @fn_emit(ptr @.str9689) br label %ifend32 ifend32: call void @fn_emit(ptr @.str9690) call void @fn_emit(ptr @.str9691) %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 @.str9692, ptr %t283) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str9693) %t287 = load ptr, ptr %t286 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str9694) br label %ifend35 else34: call void @fn_emit(ptr @.str9695) 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 @.str9696, 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 @.str9697, ptr %t289 br label %ifend38 ifend38: call void @fn_emit(ptr @.str9698) %t296 = load ptr, ptr %t289 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str9699) %t297 = load ptr, ptr %t18 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str9700) 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 @.str9701) 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 @.str9702) %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 @.str9703) %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 @.str9704) %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 @.str9705) 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 @.str9706) %t355 = load ptr, ptr %t354 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str9707) call void @fn_emit(ptr @.str9708) %t356 = load ptr, ptr %t354 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str9709) call void @fn_emit(ptr @.str9710) %t357 = load ptr, ptr %t354 call void @fn_emit(ptr %t357) call void @fn_emit(ptr @.str9711) %t358 = load ptr, ptr %t351 call void @fn_emit(ptr %t358) call void @fn_emit(ptr @.str9712) call void @fn_emit(ptr @.str9713) %t359 = load ptr, ptr %t354 call void @fn_emit(ptr %t359) call void @fn_emit(ptr @.str9714) %t360 = load ptr, ptr %t354 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str9715) %t361 = load ptr, ptr %t354 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str9716) call void @fn_emit(ptr @.str9717) %t362 = load ptr, ptr %t354 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str9718) %t363 = load ptr, ptr %t354 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str9719) %t364 = load ptr, ptr %t354 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str9720) call void @fn_emit(ptr @.str9721) %t365 = load ptr, ptr %t354 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str9722) call void @fn_emit(ptr @.str9723) %t366 = load ptr, ptr %t354 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str9724) %t367 = load ptr, ptr %t334 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str9725) %t368 = load ptr, ptr %t351 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str9726) %t369 = load ptr, ptr %t354 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str9727) call void @fn_emit(ptr @.str9728) %t370 = load ptr, ptr %t354 call void @fn_emit(ptr %t370) call void @fn_emit(ptr @.str9729) %t371 = load ptr, ptr %t354 call void @fn_emit(ptr %t371) call void @fn_emit(ptr @.str9730) call void @fn_emit(ptr @.str9731) %t372 = load ptr, ptr %t354 call void @fn_emit(ptr %t372) call void @fn_emit(ptr @.str9732) %t373 = load ptr, ptr %t354 call void @fn_emit(ptr %t373) call void @fn_emit(ptr @.str9733) call void @fn_emit(ptr @.str9734) %t374 = load ptr, ptr %t354 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str9735) %t375 = load ptr, ptr %t354 call void @fn_emit(ptr %t375) call void @fn_emit(ptr @.str9736) %t376 = load ptr, ptr %t354 call void @fn_emit(ptr %t376) call void @fn_emit(ptr @.str9737) call void @fn_emit(ptr @.str9738) %t377 = load ptr, ptr %t354 call void @fn_emit(ptr %t377) call void @fn_emit(ptr @.str9739) call void @fn_emit(ptr @.str9740) %t378 = load ptr, ptr %t354 call void @fn_emit(ptr %t378) call void @fn_emit(ptr @.str9741) %t379 = load ptr, ptr %t334 call void @fn_emit(ptr %t379) call void @fn_emit(ptr @.str9742) %t380 = load ptr, ptr %t351 call void @fn_emit(ptr %t380) call void @fn_emit(ptr @.str9743) %t381 = load ptr, ptr %t354 call void @fn_emit(ptr %t381) call void @fn_emit(ptr @.str9744) call void @fn_emit(ptr @.str9745) %t382 = load ptr, ptr %t354 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str9746) %t383 = load ptr, ptr %t354 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str9747) call void @fn_emit(ptr @.str9748) %t384 = load ptr, ptr %t354 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str9749) call void @fn_emit(ptr @.str9750) %t385 = load ptr, ptr %t354 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str9751) %t386 = load ptr, ptr %t354 call void @fn_emit(ptr %t386) call void @fn_emit(ptr @.str9752) %t387 = load ptr, ptr %t354 call void @fn_emit(ptr %t387) call void @fn_emit(ptr @.str9753) %t388 = load ptr, ptr %t354 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str9754) call void @fn_emit(ptr @.str9755) %t389 = load ptr, ptr %t354 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str9756) %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 @.str9757) %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 @.str9758) br label %ifend50 else49: call void @fn_emit(ptr @.str9759) 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 @.str9760) 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 @.str9761) call void @fn_emith(ptr @.str9762) call void @fn_emith(ptr @.str9763) call void @fn_emith(ptr @.str9764) call void @fn_emith(ptr @.str9765) call void @fn_emit(ptr @.str9766) 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 @.str9767) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9768) %t63 = load ptr, ptr %t58 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9769) call void @fn_emit(ptr @.str9770) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9771) %t65 = load ptr, ptr %t61 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9772) call void @fn_emit(ptr @.str9773) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9774) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9775) %t68 = load ptr, ptr %t61 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str9776) call void @fn_emit(ptr @.str9777) %t69 = load ptr, ptr %t61 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str9778) %t70 = load ptr, ptr %t61 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9779) call void @fn_emit(ptr @.str9780) %t71 = load ptr, ptr %t61 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str9781) %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 @.str9782) call void @fn_emit(ptr @.str9783) call void @fn_emit(ptr @.str9784) call void @fn_emit(ptr @.str9785) %t76 = load ptr, ptr %t28 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9786) call void @fn_emit(ptr @.str9787) call void @fn_emit(ptr @.str9788) call void @fn_emit(ptr @.str9789) 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 @.str9790) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str9791) %t106 = load ptr, ptr %t104 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str9792) call void @fn_emit(ptr @.str9793) %t107 = load ptr, ptr %t104 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str9794) %t108 = load ptr, ptr %t104 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str9795) %t109 = load ptr, ptr %t104 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str9796) call void @fn_emit(ptr @.str9797) %t110 = load ptr, ptr %t104 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str9798) 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 @.str9799) %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 @.str9800) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str9801) %t140 = load ptr, ptr %t132 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str9802) call void @fn_emit(ptr @.str9803) %t141 = load ptr, ptr %t138 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str9804) %t142 = load ptr, ptr %t138 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str9805) call void @fn_emit(ptr @.str9806) %t143 = load ptr, ptr %t138 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str9807) %t144 = load ptr, ptr %t138 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str9808) %t145 = load ptr, ptr %t138 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str9809) call void @fn_emit(ptr @.str9810) %t146 = load ptr, ptr %t138 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str9811) %t147 = load i32, ptr %t111 %t148 = call ptr @fn_itoa(i32 %t147) call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str9812) call void @fn_emit(ptr @.str9813) %t149 = load ptr, ptr %t138 call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str9814) %t150 = load i32, ptr %t111 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t111 br label %wcond18 wend20: call void @fn_emit(ptr @.str9815) call void @fn_emit(ptr @.str9816) %t152 = load ptr, ptr %t104 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str9817) %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 @.str9818) call void @fn_emit(ptr @.str9819) 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 @.str9820) %t189 = load ptr, ptr %t188 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str9821) %t190 = load ptr, ptr %t188 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str9822) call void @fn_emit(ptr @.str9823) %t191 = load ptr, ptr %t188 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str9824) %t192 = load ptr, ptr %t188 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str9825) %t193 = load ptr, ptr %t188 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str9826) call void @fn_emit(ptr @.str9827) %t194 = load ptr, ptr %t188 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str9828) call void @fn_emit(ptr @.str9829) %t195 = load ptr, ptr %t188 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str9830) %t196 = load ptr, ptr %t1 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str9831) %t197 = load ptr, ptr %t185 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str9832) %t198 = load ptr, ptr %t185 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str9833) 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 @.str9834) %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 @.str9835) %t227 = load ptr, ptr %t226 call void @fn_emit(ptr %t227) call void @fn_emit(ptr @.str9836) %t228 = load i32, ptr %t199 %t229 = call ptr @fn_itoa(i32 %t228) call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str9837) call void @fn_emit(ptr @.str9838) %t230 = load ptr, ptr %t226 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str9839) %t231 = load ptr, ptr %t226 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str9840) %t232 = load ptr, ptr %t226 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str9841) call void @fn_emit(ptr @.str9842) %t233 = load ptr, ptr %t226 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str9843) call void @fn_emit(ptr @.str9844) %t234 = load ptr, ptr %t226 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str9845) %t235 = load ptr, ptr %t185 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str9846) %t236 = load ptr, ptr %t188 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str9847) %t237 = load i32, ptr %t199 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str9848) %t239 = load ptr, ptr %t220 %t240 = call i32 @lp_str_eq(ptr %t239, ptr @.str9849) %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then30, label %else31 then30: call void @fn_emit(ptr @.str9850) %t242 = load ptr, ptr %t226 call void @fn_emit(ptr %t242) call void @fn_emit(ptr @.str9851) %t243 = load ptr, ptr %t226 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str9852) call void @fn_emit(ptr @.str9853) %t244 = load ptr, ptr %t226 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str9854) %t245 = load ptr, ptr %t226 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str9855) %t246 = load ptr, ptr %t226 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str9856) br label %ifend32 else31: %t247 = load ptr, ptr %t220 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str9857) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then33, label %else34 then33: call void @fn_emit(ptr @.str9858) %t250 = load ptr, ptr %t226 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str9859) %t251 = load ptr, ptr %t226 call void @fn_emit(ptr %t251) call void @fn_emit(ptr @.str9860) call void @fn_emit(ptr @.str9861) %t252 = load ptr, ptr %t226 call void @fn_emit(ptr %t252) call void @fn_emit(ptr @.str9862) %t253 = load ptr, ptr %t226 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str9863) %t254 = load ptr, ptr %t226 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str9864) br label %ifend35 else34: call void @fn_emit(ptr @.str9865) %t255 = load ptr, ptr %t226 call void @fn_emit(ptr %t255) call void @fn_emit(ptr @.str9866) %t256 = load ptr, ptr %t226 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str9867) call void @fn_emit(ptr @.str9868) %t257 = load ptr, ptr %t226 call void @fn_emit(ptr %t257) call void @fn_emit(ptr @.str9869) %t258 = load ptr, ptr %t226 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str9870) %t259 = load ptr, ptr %t226 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str9871) br label %ifend35 ifend35: br label %ifend32 ifend32: call void @fn_emit(ptr @.str9872) %t260 = load ptr, ptr %t226 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str9873) %t261 = load i32, ptr %t199 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t199 br label %wcond27 wend29: call void @fn_emit(ptr @.str9874) call void @fn_emit(ptr @.str9875) %t263 = load ptr, ptr %t188 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str9876) %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 @.str9877) %t268 = load ptr, ptr %t28 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str9878) call void @fn_emit(ptr @.str9879) call void @fn_emit(ptr @.str9880) call void @fn_emit(ptr @.str9881) call void @fn_emit(ptr @.str9882) call void @fn_emit(ptr @.str9883) call void @fn_emit(ptr @.str9884) 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 @.str9885) %t301 = load ptr, ptr %t300 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str9886) %t302 = load ptr, ptr %t300 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str9887) call void @fn_emit(ptr @.str9888) %t303 = load ptr, ptr %t300 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str9889) %t304 = load ptr, ptr %t300 call void @fn_emit(ptr %t304) call void @fn_emit(ptr @.str9890) %t305 = load ptr, ptr %t300 call void @fn_emit(ptr %t305) call void @fn_emit(ptr @.str9891) call void @fn_emit(ptr @.str9892) %t306 = load ptr, ptr %t300 call void @fn_emit(ptr %t306) call void @fn_emit(ptr @.str9893) call void @fn_emit(ptr @.str9894) %t307 = load ptr, ptr %t300 call void @fn_emit(ptr %t307) call void @fn_emit(ptr @.str9895) %t308 = load ptr, ptr %t1 call void @fn_emit(ptr %t308) call void @fn_emit(ptr @.str9896) %t309 = load ptr, ptr %t297 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str9897) %t310 = load ptr, ptr %t297 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str9898) 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 @.str9899) %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 @.str9900) %t339 = load ptr, ptr %t338 call void @fn_emit(ptr %t339) call void @fn_emit(ptr @.str9901) %t340 = load i32, ptr %t311 %t341 = call ptr @fn_itoa(i32 %t340) call void @fn_emit(ptr %t341) call void @fn_emit(ptr @.str9902) call void @fn_emit(ptr @.str9903) %t342 = load ptr, ptr %t338 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str9904) %t343 = load ptr, ptr %t338 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str9905) %t344 = load ptr, ptr %t338 call void @fn_emit(ptr %t344) call void @fn_emit(ptr @.str9906) call void @fn_emit(ptr @.str9907) %t345 = load ptr, ptr %t338 call void @fn_emit(ptr %t345) call void @fn_emit(ptr @.str9908) call void @fn_emit(ptr @.str9909) %t346 = load ptr, ptr %t338 call void @fn_emit(ptr %t346) call void @fn_emit(ptr @.str9910) %t347 = load ptr, ptr %t297 call void @fn_emit(ptr %t347) call void @fn_emit(ptr @.str9911) %t348 = load ptr, ptr %t300 call void @fn_emit(ptr %t348) call void @fn_emit(ptr @.str9912) %t349 = load i32, ptr %t311 %t350 = call ptr @fn_itoa(i32 %t349) call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str9913) %t351 = load ptr, ptr %t332 %t352 = call i32 @lp_str_eq(ptr %t351, ptr @.str9914) %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then45, label %else46 then45: call void @fn_emit(ptr @.str9915) %t354 = load ptr, ptr %t338 call void @fn_emit(ptr %t354) call void @fn_emit(ptr @.str9916) call void @fn_emit(ptr @.str9917) %t355 = load ptr, ptr %t338 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str9918) %t356 = load ptr, ptr %t338 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str9919) br label %ifend47 else46: %t357 = load ptr, ptr %t332 %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str9920) %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then48, label %else49 then48: call void @fn_emit(ptr @.str9921) %t360 = load ptr, ptr %t338 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str9922) call void @fn_emit(ptr @.str9923) %t361 = load ptr, ptr %t338 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str9924) %t362 = load ptr, ptr %t338 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str9925) br label %ifend50 else49: call void @fn_emit(ptr @.str9926) %t363 = load ptr, ptr %t338 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str9927) call void @fn_emit(ptr @.str9928) %t364 = load ptr, ptr %t338 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str9929) %t365 = load ptr, ptr %t338 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str9930) br label %ifend50 ifend50: br label %ifend47 ifend47: call void @fn_emit(ptr @.str9931) %t366 = load ptr, ptr %t338 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str9932) %t367 = load i32, ptr %t311 %t368 = add i32 %t367, 1 store i32 %t368, ptr %t311 br label %wcond42 wend44: call void @fn_emit(ptr @.str9933) call void @fn_emit(ptr @.str9934) %t369 = load ptr, ptr %t300 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str9935) %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 @.str9936) %t374 = load ptr, ptr %t28 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str9937) call void @fn_emit(ptr @.str9938) call void @fn_emit(ptr @.str9939) call void @fn_emit(ptr @.str9940) call void @fn_emit(ptr @.str9941) call void @fn_emit(ptr @.str9942) call void @fn_emit(ptr @.str9943) 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 @.str9944) %t405 = load ptr, ptr %t404 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str9945) %t406 = load ptr, ptr %t404 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str9946) call void @fn_emit(ptr @.str9947) %t407 = load ptr, ptr %t404 call void @fn_emit(ptr %t407) call void @fn_emit(ptr @.str9948) %t408 = load ptr, ptr %t404 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str9949) %t409 = load ptr, ptr %t404 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str9950) call void @fn_emit(ptr @.str9951) %t410 = load ptr, ptr %t404 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str9952) call void @fn_emit(ptr @.str9953) %t411 = load ptr, ptr %t404 call void @fn_emit(ptr %t411) call void @fn_emit(ptr @.str9954) %t412 = load ptr, ptr %t1 call void @fn_emit(ptr %t412) call void @fn_emit(ptr @.str9955) %t413 = load ptr, ptr %t401 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str9956) call void @fn_emit(ptr @.str9957) %t414 = load ptr, ptr %t404 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str9958) %t415 = load ptr, ptr %t404 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str9959) call void @fn_emit(ptr @.str9960) %t416 = load ptr, ptr %t404 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str9961) %t417 = load ptr, ptr %t404 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str9962) %t418 = load ptr, ptr %t404 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str9963) call void @fn_emit(ptr @.str9964) %t419 = load ptr, ptr %t404 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str9965) %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 @.str9966) %t424 = load ptr, ptr %t28 call void @fn_emit(ptr %t424) call void @fn_emit(ptr @.str9967) call void @fn_emit(ptr @.str9968) call void @fn_emit(ptr @.str9969) call void @fn_emit(ptr @.str9970) call void @fn_emit(ptr @.str9971) call void @fn_emit(ptr @.str9972) call void @fn_emit(ptr @.str9973) %t425 = load ptr, ptr %t1 call void @fn_emit(ptr %t425) call void @fn_emit(ptr @.str9974) call void @fn_emit(ptr @.str9975) call void @fn_emit(ptr @.str9976) call void @fn_emit(ptr @.str9977) %t426 = load ptr, ptr %t1 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str9978) %t427 = load ptr, ptr %t1 call void @fn_emit(ptr %t427) call void @fn_emit(ptr @.str9979) call void @fn_emit(ptr @.str9980) call void @fn_emit(ptr @.str9981) call void @fn_emit(ptr @.str9982) call void @fn_emit(ptr @.str9983) %t428 = load ptr, ptr %t28 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str9984) call void @fn_emit(ptr @.str9985) call void @fn_emit(ptr @.str9986) call void @fn_emit(ptr @.str9987) %t429 = load ptr, ptr %t28 call void @fn_emit(ptr %t429) call void @fn_emit(ptr @.str9988) call void @fn_emit(ptr @.str9989) call void @fn_emit(ptr @.str9990) %t430 = load ptr, ptr %t28 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str9991) call void @fn_emit(ptr @.str9992) call void @fn_emit(ptr @.str9993) call void @fn_emit(ptr @.str9994) %t431 = load ptr, ptr %t1 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str9995) call void @fn_emit(ptr @.str9996) call void @fn_emit(ptr @.str9997) 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 @.str9998) %t463 = load ptr, ptr %t462 call void @fn_emit(ptr %t463) call void @fn_emit(ptr @.str9999) %t464 = load ptr, ptr %t459 call void @fn_emit(ptr %t464) call void @fn_emit(ptr @.str10000) call void @fn_emit(ptr @.str10001) %t465 = load ptr, ptr %t462 call void @fn_emit(ptr %t465) call void @fn_emit(ptr @.str10002) %t466 = load ptr, ptr %t462 call void @fn_emit(ptr %t466) call void @fn_emit(ptr @.str10003) call void @fn_emit(ptr @.str10004) %t467 = load ptr, ptr %t462 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str10005) %t468 = load ptr, ptr %t462 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str10006) %t469 = load ptr, ptr %t462 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str10007) call void @fn_emit(ptr @.str10008) %t470 = load ptr, ptr %t462 call void @fn_emit(ptr %t470) call void @fn_emit(ptr @.str10009) %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 @.str10010) call void @fn_emit(ptr @.str10011) %t481 = load ptr, ptr %t462 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str10012) %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 @.str10013) 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 @.str10014, 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 @.str10015) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) call void @fn_emit(ptr @.str10016) %t528 = load ptr, ptr %t517 store ptr %t528, ptr @g_code call void @fn_emit(ptr @.str10017) %t529 = load ptr, ptr %t512 call void @fn_emit(ptr %t529) call void @fn_emit(ptr @.str10018) %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 @.str10019) 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 @.str10020) 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 @.str10021) %t566 = load ptr, ptr %t565 call void @fn_emit(ptr %t566) call void @fn_emit(ptr @.str10022) %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 @.str10023) call void @fn_emit(ptr @.str10024) %t570 = load ptr, ptr %t565 call void @fn_emit(ptr %t570) call void @fn_emit(ptr @.str10025) %t571 = load ptr, ptr %t565 call void @fn_emit(ptr %t571) call void @fn_emit(ptr @.str10026) %t572 = load ptr, ptr %t565 call void @fn_emit(ptr %t572) call void @fn_emit(ptr @.str10027) call void @fn_emit(ptr @.str10028) %t573 = load ptr, ptr %t565 call void @fn_emit(ptr %t573) call void @fn_emit(ptr @.str10029) %t574 = load ptr, ptr %t565 call void @fn_emit(ptr %t574) call void @fn_emit(ptr @.str10030) %t575 = load ptr, ptr %t562 call void @fn_emit(ptr %t575) call void @fn_emit(ptr @.str10031) %t576 = load ptr, ptr %t565 call void @fn_emit(ptr %t576) call void @fn_emit(ptr @.str10032) call void @fn_emit(ptr @.str10033) %t577 = load ptr, ptr %t565 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str10034) %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 @.str10035) call void @fn_emit(ptr @.str10036) call void @fn_emit(ptr @.str10037) call void @fn_emit(ptr @.str10038) call void @fn_emit(ptr @.str10039) call void @fn_emit(ptr @.str10040) %t582 = load ptr, ptr %t1 call void @fn_emit(ptr %t582) call void @fn_emit(ptr @.str10041) call void @fn_emit(ptr @.str10042) call void @fn_emit(ptr @.str10043) call void @fn_emit(ptr @.str10044) call void @fn_emit(ptr @.str10045) call void @fn_emit(ptr @.str10046) 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 @.str10047) store ptr %t0, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str10048) 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 @.str10049) call void @fn_emit(ptr @.str10050) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10051) call void @fn_emit(ptr @.str10052) 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 @.str10053) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10054) %t65 = load ptr, ptr %t63 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10055) call void @fn_emit(ptr @.str10056) %t66 = load ptr, ptr %t63 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10057) %t67 = load ptr, ptr %t63 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10058) %t68 = load ptr, ptr %t63 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10059) call void @fn_emit(ptr @.str10060) %t69 = load ptr, ptr %t63 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10061) %t70 = load ptr, ptr %t60 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10062) call void @fn_emit(ptr @.str10063) %t71 = load ptr, ptr %t63 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10064) %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 @.str10065) %t76 = load ptr, ptr %t30 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10066) call void @fn_emit(ptr @.str10067) call void @fn_emit(ptr @.str10068) call void @fn_emit(ptr @.str10069) %t77 = load ptr, ptr %t1 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10070) call void @fn_emit(ptr @.str10071) 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 @.str10072) %t106 = load ptr, ptr %t105 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str10073) %t107 = load ptr, ptr %t105 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10074) call void @fn_emit(ptr @.str10075) %t108 = load ptr, ptr %t105 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10076) %t109 = load ptr, ptr %t105 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str10077) %t110 = load ptr, ptr %t105 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str10078) call void @fn_emit(ptr @.str10079) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str10080) %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 @.str10081) call void @fn_emit(ptr @.str10082) %t118 = load ptr, ptr %t105 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str10083) %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 @.str10084) %t123 = load ptr, ptr %t30 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str10085) call void @fn_emit(ptr @.str10086) call void @fn_emit(ptr @.str10087) call void @fn_emit(ptr @.str10088) call void @fn_emit(ptr @.str10089) 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 @.str10090) %t152 = load ptr, ptr %t151 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str10091) %t153 = load ptr, ptr %t151 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str10092) call void @fn_emit(ptr @.str10093) %t154 = load ptr, ptr %t151 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str10094) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str10095) %t156 = load ptr, ptr %t151 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str10096) call void @fn_emit(ptr @.str10097) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str10098) 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 @.str10099) %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 @.str10100) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str10101) %t187 = load i32, ptr %t158 %t188 = call ptr @fn_itoa(i32 %t187) call void @fn_emit(ptr %t188) call void @fn_emit(ptr @.str10102) call void @fn_emit(ptr @.str10103) %t189 = load ptr, ptr %t185 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str10104) %t190 = load ptr, ptr %t185 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str10105) %t191 = load ptr, ptr %t185 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str10106) call void @fn_emit(ptr @.str10107) %t192 = load ptr, ptr %t185 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str10108) %t193 = load ptr, ptr %t179 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str10109) call void @fn_emit(ptr @.str10110) %t194 = load ptr, ptr %t185 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str10111) %t195 = load i32, ptr %t158 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t158 br label %wcond24 wend26: call void @fn_emit(ptr @.str10112) %t197 = load ptr, ptr %t1 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str10113) call void @fn_emit(ptr @.str10114) %t198 = load ptr, ptr %t151 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str10115) %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 @.str10116) %t203 = load ptr, ptr %t1 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str10117) call void @fn_emit(ptr @.str10118) 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 @.str10119) %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str10120) %t233 = load ptr, ptr %t231 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str10121) call void @fn_emit(ptr @.str10122) %t234 = load ptr, ptr %t231 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str10123) %t235 = load ptr, ptr %t231 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str10124) %t236 = load ptr, ptr %t231 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str10125) call void @fn_emit(ptr @.str10126) %t237 = load ptr, ptr %t231 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str10127) 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 @.str10128) %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 @.str10129) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str10130) %t267 = load i32, ptr %t238 %t268 = call ptr @fn_itoa(i32 %t267) call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str10131) call void @fn_emit(ptr @.str10132) %t269 = load ptr, ptr %t265 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str10133) %t270 = load ptr, ptr %t265 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str10134) %t271 = load ptr, ptr %t265 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str10135) call void @fn_emit(ptr @.str10136) %t272 = load ptr, ptr %t265 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str10137) %t273 = load ptr, ptr %t259 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str10138) call void @fn_emit(ptr @.str10139) %t274 = load ptr, ptr %t265 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str10140) %t275 = load i32, ptr %t238 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t238 br label %wcond33 wend35: call void @fn_emit(ptr @.str10141) %t277 = load ptr, ptr %t3 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str10142) call void @fn_emit(ptr @.str10143) %t278 = load ptr, ptr %t231 call void @fn_emit(ptr %t278) call void @fn_emit(ptr @.str10144) %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 @.str10145) %t283 = load ptr, ptr %t3 call void @fn_emit(ptr %t283) call void @fn_emit(ptr @.str10146) br label %ret ret: ret void } define void @fn_emit_tick_helpers() { entry: call void @fn_emit(ptr @.str10147) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str10148) call void @fn_emit_calls_for_phase(ptr @.str10149) call void @fn_emit_calls_for_phase(ptr @.str10150) call void @fn_emit_calls_for_phase(ptr @.str10151) call void @fn_emit(ptr @.str10152) call void @fn_emit(ptr @.str10153) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str10154) call void @fn_emit_calls_for_phase(ptr @.str10155) call void @fn_emit(ptr @.str10156) 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 @.str10157) call void @fn_emit(ptr @.str10158) call void @fn_emit(ptr @.str10159) %t0 = call ptr @fn_find_fn(ptr @.str10160) %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 @.str10161) br label %ifend2 ifend2: call void @fn_emit(ptr @.str10162) call void @fn_emit_calls_for_phase(ptr @.str10163) %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 @.str10164) %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 @.str10165) 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 @.str10166) %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 @.str10167) 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 @.str10168) %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 @.str10169) br label %ifend14 ifend14: call void @fn_emit(ptr @.str10170) call void @fn_emit(ptr @.str10171) %t46 = call ptr @fn_emit_bind(ptr @.str10172) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = call ptr @lp_str_concat(ptr @.str10173, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str10174) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = call ptr @fn_find_fn(ptr @.str10175) %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 @.str10176) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr @.str10177, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10178) %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 @.str10179, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10180) %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 @.str10181) %t71 = load ptr, ptr %t70 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10182) br label %ifend17 else16: call void @fn_emit(ptr @.str10183) %t72 = load ptr, ptr %t52 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10184) br label %ifend17 ifend17: call void @fn_emit(ptr @.str10185) %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 @.str10186) %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 @.str10187) store ptr %t84, ptr %t85 call void @fn_emit(ptr @.str10188) %t86 = load ptr, ptr %t85 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str10189) br label %ifend22 else21: %t87 = call ptr @fn_find_fn(ptr @.str10190) %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 @.str10191) store ptr %t91, ptr %t92 call void @fn_emit(ptr @.str10192) %t93 = load ptr, ptr %t92 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10193) 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 @.str10194) %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 @.str10195) store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str10196) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10197) br label %ifend30 ifend30: call void @fn_emit_calls_for_phase(ptr @.str10198) call void @fn_emit_calls_for_phase(ptr @.str10199) call void @fn_emit_calls_for_phase(ptr @.str10200) call void @fn_emit_calls_for_phase(ptr @.str10201) %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 @.str10202) %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 @.str10203) %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 @.str10204) br label %ifend35 ifend35: call void @fn_emit_calls_for_phase(ptr @.str10205) call void @fn_emit_calls_for_phase(ptr @.str10206) %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 @.str10207) %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 @.str10208) br label %ifend40 ifend40: %t136 = call ptr @fn_emit_bind(ptr @.str10209) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t137 %t139 = call ptr @lp_str_concat(ptr @.str10210, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str10211) %t141 = call ptr @fn_emit_bind(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str10212) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10213) call void @fn_emit(ptr @.str10214) call void @fn_emit(ptr @.str10215) %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 @.str10216) br label %ifend43 ifend43: call void @fn_emit_calls_for_phase(ptr @.str10217) %t150 = call ptr @fn_find_event(ptr @.str10218) %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 @.str10219) br label %ifend46 ifend46: %t154 = call ptr @fn_find_fn(ptr @.str10220) %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 @.str10221) br label %ifend49 ifend49: call void @fn_emit(ptr @.str10222) 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 @.str10223, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str10224) %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 @.str10225, 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 @.str10226, 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 @.str10227, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10228) %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 @.str10229) 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 @.str10230, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str10231) %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 @.str10232) store ptr %t96, ptr %t97 %t98 = call ptr @fn_lbl(ptr @.str10233) store ptr %t98, ptr %t99 call void @fn_emit(ptr @.str10234) %t100 = load ptr, ptr %t95 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str10235) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str10236) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str10237) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str10238) 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 @.str10239) %t111 = load ptr, ptr %t65 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str10240) br label %ifend13 ifend13: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10241) 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 @.str10242) %t119 = load ptr, ptr %t65 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str10243) br label %ifend16 ifend16: %t120 = load ptr, ptr %t65 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str10244) 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 @.str10245) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10246) %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 @.str10247) 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 @.str10248) %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 @.str10249) %t80 = load ptr, ptr %t61 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10250) 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 @.str10251, 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 @.str10252) %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 @.str10253) br label %ifend20 else19: call void @fn_emit(ptr @.str10254) br label %ifend20 ifend20: call void @fn_emit(ptr @.str10255) %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 @.str10256) call void @fn_emit(ptr @.str10257) %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 @.str10258) 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 @.str10259) %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 @.str10260, 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 @.str10261) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str10262) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str10263) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str10264) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str10265) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str10266) %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 @.str10267, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str10268) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10269) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10270) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10271) %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 @.str10272, ptr %t30) store ptr %t31, ptr %t32 call void @fn_emit(ptr @.str10273) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10274) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10275) %t35 = load ptr, ptr @g_g_snap_mode %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str10276) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: call void @fn_emit(ptr @.str10277) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str10278) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str10279) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10280) br label %ifend8 else7: call void @fn_emit(ptr @.str10281) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str10282) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str10283) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str10284) 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 @.str10285, ptr %t45) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str10286) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10287) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10288) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10289) %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 @.str10290, 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 @.str10291, ptr @.str10292) %t4 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t4, ptr @.str10293, ptr @.str10294) call void @fn_emit(ptr @.str10295) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str10296) %t6 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t6, ptr @.str10297, ptr @.str10298) %t7 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t7, ptr @.str10299, ptr @.str10300) %t8 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t8, ptr @.str10301, ptr @.str10302) %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 @.str10303, ptr @.str10304) 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 @.str10305, ptr %t39) call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str10306) 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 @.str10307, ptr %t72) store ptr %t73, ptr %t74 call void @fn_emit(ptr @.str10308) %t75 = load ptr, ptr %t74 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10309) %t76 = load ptr, ptr %t70 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10310) %t77 = load ptr, ptr %t2 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10311) %t78 = load ptr, ptr %t0 %t79 = load ptr, ptr %t70 %t80 = call ptr @lp_str_concat(ptr @.str10312, 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 @.str10313, 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 @.str10314, ptr @g_g_snap_mode call void @fn_emith(ptr @.str10315) call void @fn_emith(ptr @.str10316) call void @fn_emith(ptr @.str10317) %t0 = call ptr @fn_find_fn(ptr @.str10318) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 %t4 = call ptr @fn_find_fn(ptr @.str10319) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 call void @fn_emit(ptr @.str10320) call void @fn_emit(ptr @.str10321) call void @fn_emit(ptr @.str10322) call void @fn_emit(ptr @.str10323) call void @fn_emit_snapshot_blocks(ptr @.str10324) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str10325) br label %ifend2 ifend2: call void @fn_emit(ptr @.str10326) call void @fn_emit(ptr @.str10327) call void @fn_emit(ptr @.str10328) call void @fn_emit(ptr @.str10329) call void @fn_emit(ptr @.str10330) call void @fn_emit_snapshot_blocks(ptr @.str10331) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str10332) br label %ifend5 ifend5: call void @fn_emit(ptr @.str10333) call void @fn_emit(ptr @.str10334) store ptr @.str10335, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str10336) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) %t14 = call ptr @lp_str_concat(ptr @.str10337, ptr %t13) store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str10338) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str10339) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10340) call void @fn_emit(ptr @.str10341) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str10342) call void @fn_emit(ptr @.str10343) store ptr @.str10344, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str10345) call void @fn_emit(ptr @.str10346) call void @fn_emit(ptr @.str10347) store ptr @.str10348, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str10349) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) %t21 = call ptr @lp_str_concat(ptr @.str10350, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str10351) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10352) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10353) call void @fn_emit(ptr @.str10354) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10355) store ptr @.str10356, 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 @.str10357) %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 @.str10358) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str10359, ptr %retval br label %ret ifend2: store ptr @.str10360, 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 @.str10361, 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 @.str10362, 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 @.str10363) %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 @.str10364, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str10365) %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 @.str10366) 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 @.str10367, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10368) %t130 = load ptr, ptr %t59 %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str10369) 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 @.str10370) %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 @.str10371) 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 @.str10372) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10373) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str10374) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str10375) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10376) 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 @.str10377) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10378) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str10379) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10380) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str10381) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str10382) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str10383) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str10384) call void @fn_emit(ptr @.str10385) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str10386) %t102 = load ptr, ptr %t90 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str10387) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str10388) %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 @.str10389) %t121 = load i32, ptr %t6 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str10390) 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 @.str10391) %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 @.str10392) 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 @.str10393) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10394) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str10395) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str10396) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10397) 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 @.str10398) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10399) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str10400) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10401) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str10402) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str10403) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str10404) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str10405) call void @fn_emit(ptr @.str10406) %t101 = load ptr, ptr %t90 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str10407) %t102 = load ptr, ptr %t97 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str10408) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str10409) %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 @.str10410) 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 @.str10411) call void @fn_emit(ptr @.str10412) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str10413) 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 @.str10414) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10415) %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 @.str10416) call void @fn_emit(ptr @.str10417) %t52 = load ptr, ptr %t47 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str10418) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10419) %t54 = load ptr, ptr %t47 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str10420) call void @fn_emit(ptr @.str10421) %t55 = load ptr, ptr %t47 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str10422) %t56 = load ptr, ptr %t47 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str10423) %t57 = load ptr, ptr %t44 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str10424) %t58 = load ptr, ptr %t47 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str10425) call void @fn_emit(ptr @.str10426) %t59 = load ptr, ptr %t47 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str10427) %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 @.str10428) call void @fn_emit(ptr @.str10429) call void @fn_emit(ptr @.str10430) %t64 = load ptr, ptr %t1 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10431) 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 @.str10432) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10433) %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 @.str10434) call void @fn_emit(ptr @.str10435) %t112 = load ptr, ptr %t107 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10436) %t113 = load ptr, ptr %t107 call void @fn_emit(ptr %t113) call void @fn_emit(ptr @.str10437) %t114 = load ptr, ptr %t107 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str10438) call void @fn_emit(ptr @.str10439) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10440) %t116 = load ptr, ptr %t104 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10441) call void @fn_emit(ptr @.str10442) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str10443) %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 @.str10444) call void @fn_emit(ptr @.str10445) call void @fn_emit(ptr @.str10446) %t122 = load ptr, ptr %t1 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str10447) 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 @.str10448) %t166 = load ptr, ptr %t165 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str10449) %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 @.str10450) call void @fn_emit(ptr @.str10451) %t170 = load ptr, ptr %t165 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str10452) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str10453) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str10454) call void @fn_emit(ptr @.str10455) %t173 = load ptr, ptr %t165 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str10456) %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 @.str10457) call void @fn_emit(ptr @.str10458) %t182 = load ptr, ptr %t165 call void @fn_emit(ptr %t182) call void @fn_emit(ptr @.str10459) %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 @.str10460) 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 @.str10461) call void @fn_emit(ptr @.str10462) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str10463) call void @fn_emit(ptr @.str10464) call void @fn_emit(ptr @.str10465) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str10466) call void @fn_emit(ptr @.str10467) call void @fn_emit(ptr @.str10468) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str10469) call void @fn_emit(ptr @.str10470) br label %ret ret: ret void } define void @fn_emit_loopback() { entry: call void @fn_emith(ptr @.str10471) call void @fn_emith(ptr @.str10472) call void @fn_emith(ptr @.str10473) call void @fn_emith(ptr @.str10474) call void @fn_emit(ptr @.str10475) call void @fn_emit(ptr @.str10476) call void @fn_emit(ptr @.str10477) call void @fn_emit(ptr @.str10478) call void @fn_emit(ptr @.str10479) call void @fn_emit(ptr @.str10480) call void @fn_emit(ptr @.str10481) call void @fn_emit(ptr @.str10482) call void @fn_emit(ptr @.str10483) call void @fn_emit(ptr @.str10484) call void @fn_emit(ptr @.str10485) call void @fn_emit(ptr @.str10486) call void @fn_emit(ptr @.str10487) call void @fn_emit(ptr @.str10488) call void @fn_emit(ptr @.str10489) call void @fn_emit(ptr @.str10490) call void @fn_emit(ptr @.str10491) call void @fn_emit(ptr @.str10492) call void @fn_emit(ptr @.str10493) call void @fn_emit(ptr @.str10494) call void @fn_emit(ptr @.str10495) call void @fn_emit(ptr @.str10496) 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 @.str10497) 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 @.str10498, 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 @.str10499) 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 @.str10500, 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 @.str10501) %t0 = call ptr @fn_find_extern(ptr @.str10502) %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 @.str10503) call void @fn_emit(ptr @.str10504) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str10505) call void @fn_emit(ptr @.str10506) call void @fn_emit(ptr @.str10507) 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 @.str10508) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10509) %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 @.str10510) call void @fn_emit(ptr @.str10511) %t37 = load ptr, ptr %t30 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str10512) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str10513) %t39 = load ptr, ptr %t30 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str10514) call void @fn_emit(ptr @.str10515) %t40 = load ptr, ptr %t30 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10516) 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 @.str10517) %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 @.str10518) %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10519) %t73 = load i32, ptr %t41 %t74 = call ptr @fn_itoa(i32 %t73) call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10520) call void @fn_emit(ptr @.str10521) %t75 = load ptr, ptr %t71 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10522) %t76 = load ptr, ptr %t65 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10523) %t77 = load ptr, ptr %t71 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10524) %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 @.str10525) 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 @.str10526) %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 @.str10527) %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 @.str10528) %t106 = load ptr, ptr %t44 %t107 = call ptr @fn_buf_str(ptr %t106) call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10529) call void @fn_emit(ptr @.str10530) call void @fn_emit(ptr @.str10531) %t108 = load ptr, ptr %t30 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10532) 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 @.str10533) call void @fn_emit(ptr @.str10534) 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 @.str10535) 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 @.str10536) %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 @.str10537) %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 @.str10538) %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 @.str10539) %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 @.str10540) %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 @.str10541) %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 @.str10542) %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 @.str10543, 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 @.str10544, 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 @.str10545, 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 @.str10546, 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 @.str10547) 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 @.str10548) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str10549) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str10550) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str10551) 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 @.str10552) %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 @.str10553) %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 @.str10554) %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 @.str10555) %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 @.str10556) %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 @.str10557) %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 @.str10558) %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 @.str10559) %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 @.str10560) %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 @.str10561) %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 @.str10562) %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 @.str10563) %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 @.str10564) %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 @.str10565) %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 @.str10566) %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 @.str10567) 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 @.str10568) 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 @.str10569) %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 @.str10570) %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 @.str10571) %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 @.str10572) %t89 = load i32, ptr %t10 %t90 = call ptr @fn_itoa(i32 %t89) call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10573) %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 @.str10574) br label %ifend16 else15: %t95 = load ptr, ptr %t65 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str10575) %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 @.str10576) %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 @.str10577, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str10578) %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 @.str10579) %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 @.str10580) %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 @.str10581) %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 @.str10582) %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 @.str10583) 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 @.str10584) %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 @.str10585) 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 @.str10586) 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 @.str10587) %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 %t5 = alloca ptr %t8 = alloca ptr %t12 = alloca ptr %t22 = alloca i32 %t40 = alloca ptr %t46 = alloca ptr %t78 = 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 null, ptr @g_g_cur_scene %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 3 %t3 = load ptr, ptr %t2 store ptr %t3, 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 %t10 = load ptr, ptr @g_ret_ty %t11 = call ptr @fn_llty(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str10588) %t15 = icmp eq i32 %t14, 0 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then0, label %ifend2 then0: %t18 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t18, ptr @.str10589) %t19 = load ptr, ptr @g_falloc %t20 = load ptr, ptr %t12 call void @fn_buf_puts(ptr %t19, ptr %t20) %t21 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t21, ptr @.str10590) br label %ifend2 ifend2: store i32 0, ptr %t22 br label %wcond3 wcond3: %t23 = load i32, ptr %t22 %t24 = load ptr, ptr %t0 %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 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 %t22 %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 %t39 = load ptr, ptr %t38 store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_llty(ptr %t43) %t45 = call ptr @fn_emit_alloca(ptr %t44) store ptr %t45, ptr %t46 call void @fn_emit(ptr @.str10591) %t47 = load ptr, ptr %t40 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_llty(ptr %t49) call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10592) %t51 = load ptr, ptr %t40 %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 @.str10593) %t54 = load ptr, ptr %t46 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str10594) %t55 = load ptr, ptr %t40 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 %t58 = load ptr, ptr %t46 %t59 = load ptr, ptr %t40 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3 %t61 = load ptr, ptr %t60 call void @fn_loc_push(ptr %t57, ptr %t58, ptr %t61) %t62 = load i32, ptr %t22 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t22 br label %wcond3 wend5: %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 %t66 = load ptr, ptr %t65 call void @fn_emit_block(ptr %t66) %t67 = load i32, ptr @g_g_term %t68 = icmp eq i32 %t67, 0 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str10595) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10596) %t71 = load ptr, ptr %t12 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str10597) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then9, label %else10 then9: call void @fn_emit(ptr @.str10598) br label %ifend11 else10: %t74 = load ptr, ptr %t12 %t75 = call ptr @lp_str_concat(ptr @.str10599, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str10600) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str10601) %t79 = load ptr, ptr %t12 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10602) %t80 = load ptr, ptr %t78 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10603) br label %ifend11 ifend11: %t81 = load ptr, ptr %t8 store ptr %t81, ptr @g_code call void @fn_emit(ptr @.str10604) %t82 = load ptr, ptr %t12 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10605) %t83 = load ptr, ptr %t0 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str10606) %t86 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t86) call void @fn_emit(ptr @.str10607) %t87 = load ptr, ptr @g_falloc %t88 = call ptr @fn_buf_str(ptr %t87) call void @fn_emit(ptr %t88) %t89 = load ptr, ptr %t5 %t90 = call ptr @fn_buf_str(ptr %t89) call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10608) 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 @.str10609, 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 @.str10610) call void @fn_emit(ptr @.str10611) call void @fn_emit(ptr @.str10612) call void @fn_emit(ptr @.str10613) %t8 = call ptr @fn_find_fn(ptr @.str10614) %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 @.str10615) br label %ifend2 ifend2: call void @fn_emit(ptr @.str10616) %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 @.str10617) br label %ifend5 ifend5: call void @fn_emit(ptr @.str10618) %t19 = call ptr @fn_emit_bind(ptr @.str10619) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str10620) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str10621) %t22 = load ptr, ptr %t5 store ptr %t22, ptr @g_code call void @fn_emit(ptr @.str10622) %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 @.str10623) 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 @.str10624, 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 @.str10625) br label %ifend2 ifend2: call void @fn_emit(ptr @.str10626) %t15 = load ptr, ptr %t6 store ptr %t15, ptr @g_code call void @fn_emit(ptr @.str10627) %t16 = load i32, ptr %t1 %t17 = call ptr @fn_itoa(i32 %t16) call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10628) %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 @.str10629) br label %ret ret: ret void } define void @fn_emit_test_runner() { entry: %t0 = alloca i32 %t38 = alloca ptr %t49 = alloca ptr %t55 = alloca ptr %t60 = alloca ptr %t62 = alloca ptr %t64 = alloca ptr %t66 = alloca ptr %t87 = alloca ptr %t92 = alloca ptr %t107 = alloca ptr %t117 = alloca ptr %t128 = alloca ptr %t133 = alloca ptr call void @fn_emith(ptr @.str10630) call void @fn_emith(ptr @.str10631) 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 @.str10632) br label %ifend5 ifend5: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit(ptr @.str10633) call void @fn_emit(ptr @.str10634) call void @fn_emit(ptr @.str10635) call void @fn_emit(ptr @.str10636) %t19 = call i32 @fn_has_ecs() %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str10637) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10638) store i32 0, ptr %t0 br label %wcond9 wcond9: %t21 = load i32, ptr %t0 %t22 = load ptr, ptr @g_g_tests %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp slt i32 %t21, %t24 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody10, label %wend11 wbody10: %t28 = load ptr, ptr @g_g_tests %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = load i32, ptr %t0 %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 ptr @lp_str_concat(ptr @.str10639, ptr %t35) %t37 = call ptr @fn_emit_str_const(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr @g_g_tests %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = load i32, ptr %t0 %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 %t47 = call ptr @lp_str_concat(ptr @.str10640, ptr %t46) %t48 = call ptr @fn_emit_str_const(ptr %t47) store ptr %t48, ptr %t49 call void @fn_emit(ptr @.str10641) %t50 = load i32, ptr %t0 %t51 = call ptr @fn_itoa(i32 %t50) %t52 = call ptr @lp_str_concat(ptr @.str10642, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10643) call void @fn_emit(ptr %t53) %t54 = call ptr @fn_emit_bind(ptr @.str10644) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 %t57 = call ptr @lp_str_concat(ptr @.str10645, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str10646) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 %t61 = call ptr @fn_lbl(ptr @.str10647) store ptr %t61, ptr %t62 %t63 = call ptr @fn_lbl(ptr @.str10648) store ptr %t63, ptr %t64 %t65 = call ptr @fn_lbl(ptr @.str10649) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t60 %t68 = call ptr @lp_str_concat(ptr @.str10650, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str10651) %t70 = load ptr, ptr %t64 %t71 = call ptr @lp_str_concat(ptr %t69, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str10652) %t73 = load ptr, ptr %t62 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str10653) call void @fn_emit(ptr %t75) %t76 = load ptr, ptr %t62 %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str10654) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t38 %t79 = call ptr @lp_str_concat(ptr @.str10655, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str10656) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t66 %t82 = call ptr @lp_str_concat(ptr @.str10657, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str10658) call void @fn_emit(ptr %t83) %t84 = load ptr, ptr %t64 %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str10659) call void @fn_emit(ptr %t85) %t86 = call ptr @fn_emit_bind(ptr @.str10660) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 %t89 = call ptr @lp_str_concat(ptr @.str10661, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str10662) %t91 = call ptr @fn_emit_bind(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t92 %t94 = call ptr @lp_str_concat(ptr @.str10663, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str10664) call void @fn_emit(ptr %t95) %t96 = load ptr, ptr %t49 %t97 = call ptr @lp_str_concat(ptr @.str10665, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str10666) call void @fn_emit(ptr %t98) %t99 = load ptr, ptr %t66 %t100 = call ptr @lp_str_concat(ptr @.str10667, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str10668) call void @fn_emit(ptr %t101) %t102 = load ptr, ptr %t66 %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10669) call void @fn_emit(ptr %t103) %t104 = load i32, ptr %t0 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t0 br label %wcond9 wend11: %t106 = call ptr @fn_emit_bind(ptr @.str10670) store ptr %t106, ptr %t107 %t108 = load ptr, ptr @g_g_tests %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = call ptr @fn_itoa(i32 %t110) %t112 = call ptr @lp_str_concat(ptr @.str10671, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str10672) %t114 = load ptr, ptr %t107 %t115 = call ptr @lp_str_concat(ptr %t113, ptr %t114) %t116 = call ptr @fn_emit_bind(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t117 %t119 = call ptr @lp_str_concat(ptr @.str10673, ptr %t118) %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str10674) %t121 = load ptr, ptr %t107 %t122 = call ptr @lp_str_concat(ptr %t120, ptr %t121) %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str10675) call void @fn_emit(ptr %t123) %t124 = load ptr, ptr %t107 %t125 = call ptr @lp_str_concat(ptr @.str10676, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str10677) %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 @.str10678, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str10679) %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 @.str10680, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str10681) call void @fn_emit(ptr %t136) 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 @.str10682, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str10683) %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 @.str10684) %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 @.str10685) 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: %t58 = alloca i32 %t111 = 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_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 %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_cov_lines store i32 1, ptr @g_g_cov_active %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_loc_name %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_loc_reg %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_ty %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_mut %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_brk_lbl %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_cnt_lbl %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_self_stk %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_mach_stk call void @fn_emit_header() call void @fn_emit_extern_decls() %t56 = call i32 @fn_has_ecs() %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then0, label %ifend2 then0: call void @fn_emit_ecs_storage() br label %ifend2 ifend2: store i32 0, ptr %t58 br label %wcond3 wcond3: %t59 = load i32, ptr %t58 %t60 = load ptr, ptr @g_prog %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp slt i32 %t59, %t62 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %wbody4, label %wend5 wbody4: %t66 = load ptr, ptr @g_prog %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = load i32, ptr %t58 %t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69 %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, 4 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then6, label %ifend8 then6: %t77 = load i32, ptr %t58 %t78 = load i32, ptr @g_g_prog_user_end %t79 = icmp slt i32 %t77, %t78 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr @g_g_cov_active %t81 = load ptr, ptr @g_prog %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = load i32, ptr %t58 %t85 = getelementptr inbounds ptr, ptr %t83, i32 %t84 %t86 = load ptr, ptr %t85 call void @fn_emit_fn(ptr %t86) store i32 1, ptr @g_g_cov_active br label %ifend8 ifend8: %t87 = load i32, ptr %t58 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t58 br label %wcond3 wend5: call void @fn_emit_global_init_fn() %t89 = load ptr, ptr @g_g_events %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp sgt i32 %t91, 0 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then9, label %ifend11 then9: call void @fn_emit_event_fns() br label %ifend11 ifend11: %t95 = call i32 @fn_has_ecs() %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then12, label %ifend14 then12: call void @fn_emit_world_table() br label %ifend14 ifend14: %t97 = call i32 @fn_has_ecs() %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then15, label %ifend17 then15: call void @fn_emit_ecs_allocator() call void @fn_emit_snapshot() br label %ifend17 ifend17: %t99 = call i32 @fn_has_ecs() %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then18, label %ifend20 then18: call void @fn_emit_net() br label %ifend20 ifend20: %t101 = call i32 @fn_has_ui() %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then21, label %ifend23 then21: call void @fn_emit_ui_build() br label %ifend23 ifend23: %t103 = load ptr, ptr @g_g_tests %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t105 = load i32, ptr %t104 %t106 = icmp sgt i32 %t105, 0 %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then24, label %else25 then24: %t109 = call i32 @fn_has_systems() %t110 = icmp ne i32 %t109, 0 br i1 %t110, 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: %t112 = call i32 @fn_has_systems() %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t111 br i1 %t113, label %sc30, label %scend31 sc30: %t115 = call i32 @fn_has_entry() %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t111 br label %scend31 scend31: %t118 = load i32, ptr %t111 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then32, label %else33 then32: call void @fn_emit_game_defs() store i32 0, ptr %t58 br label %wcond35 wcond35: %t120 = load i32, ptr %t58 %t121 = load ptr, ptr @g_prog %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp slt i32 %t120, %t123 %t125 = zext i1 %t124 to i32 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %wbody36, label %wend37 wbody36: %t127 = load ptr, ptr @g_prog %t128 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = load i32, ptr %t58 %t131 = getelementptr inbounds ptr, ptr %t129, i32 %t130 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 0 %t134 = load i32, ptr %t133 %t135 = icmp eq i32 %t134, 6 %t136 = zext i1 %t135 to i32 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then38, label %ifend40 then38: %t138 = load ptr, ptr @g_prog %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 %t140 = load ptr, ptr %t139 %t141 = load i32, ptr %t58 %t142 = getelementptr inbounds ptr, ptr %t140, i32 %t141 %t143 = load ptr, ptr %t142 call void @fn_emit_main(ptr %t143) br label %ifend40 ifend40: %t144 = load i32, ptr %t58 %t145 = add i32 %t144, 1 store i32 %t145, ptr %t58 br label %wcond35 wend37: br label %ifend34 else33: %t146 = call i32 @fn_has_systems() %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then41, label %else42 then41: call void @fn_emit_game_main() br label %ifend43 else42: store i32 0, ptr %t58 br label %wcond44 wcond44: %t148 = load i32, ptr %t58 %t149 = load ptr, ptr @g_prog %t150 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t151 = load i32, ptr %t150 %t152 = icmp slt i32 %t148, %t151 %t153 = zext i1 %t152 to i32 %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %wbody45, label %wend46 wbody45: %t155 = load ptr, ptr @g_prog %t156 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t157 = load ptr, ptr %t156 %t158 = load i32, ptr %t58 %t159 = getelementptr inbounds ptr, ptr %t157, i32 %t158 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 0 %t162 = load i32, ptr %t161 %t163 = icmp eq i32 %t162, 6 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then47, label %ifend49 then47: %t166 = load ptr, ptr @g_prog %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 %t169 = load i32, ptr %t58 %t170 = getelementptr inbounds ptr, ptr %t168, i32 %t169 %t171 = load ptr, ptr %t170 call void @fn_emit_main(ptr %t171) br label %ifend49 ifend49: %t172 = load i32, ptr %t58 %t173 = add i32 %t172, 1 store i32 %t173, ptr %t58 br label %wcond44 wend46: br label %ifend43 ifend43: br label %ifend34 ifend34: br label %ifend26 ifend26: %t174 = load i32, ptr @g_g_uses_world_despawn %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then50, label %ifend52 then50: call void @fn_emit_world_despawn_fn() br label %ifend52 ifend52: %t176 = load i32, ptr @g_g_uses_loopback %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then53, label %ifend55 then53: call void @fn_emit_loopback() br label %ifend55 ifend55: %t178 = load i32, ptr @g_g_uses_str %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then56, label %ifend58 then56: call void @fn_emit_str_prelude() br label %ifend58 ifend58: %t180 = load i32, ptr @g_g_uses_intstr %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %then59, label %ifend61 then59: call void @fn_emit_int_str() br label %ifend61 ifend61: %t182 = load i32, ptr @g_g_uses_longstr %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then62, label %ifend64 then62: call void @fn_emit_long_str() br label %ifend64 ifend64: %t184 = load i32, ptr @g_g_uses_strslice %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then65, label %ifend67 then65: call void @fn_emit_str_slice() br label %ifend67 ifend67: %t186 = load i32, ptr @g_g_uses_mathrt %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then68, label %ifend70 then68: call void @fn_emit_math_prelude() br label %ifend70 ifend70: %t188 = load i32, ptr @g_g_uses_textrt %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then71, label %ifend73 then71: call void @fn_emit_text_prelude() br label %ifend73 ifend73: %t190 = load i32, ptr @g_g_uses_textrt2 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then74, label %ifend76 then74: call void @fn_emit_text2_prelude() br label %ifend76 ifend76: %t192 = load i32, ptr @g_g_uses_hashrt %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %then77, label %ifend79 then77: call void @fn_emit_hash_prelude() br label %ifend79 ifend79: %t194 = load i32, ptr @g_g_uses_cryptort %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then80, label %ifend82 then80: call void @fn_emit_crypto_prelude() br label %ifend82 ifend82: %t196 = load i32, ptr @g_g_uses_uuidrt %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then83, label %ifend85 then83: call void @fn_emit_uuid_prelude() br label %ifend85 ifend85: %t198 = load i32, ptr @g_g_uses_noisert %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %then86, label %ifend88 then86: call void @fn_emit_noise_prelude() br label %ifend88 ifend88: %t200 = load i32, ptr @g_g_uses_logrt %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then89, label %ifend91 then89: call void @fn_emit_log_prelude() br label %ifend91 ifend91: %t202 = load i32, ptr @g_g_uses_osrt %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then92, label %ifend94 then92: call void @fn_emit_os_prelude() br label %ifend94 ifend94: %t204 = load i32, ptr @g_g_uses_pid %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then95, label %ifend97 then95: call void @fn_emith(ptr @.str10686) br label %ifend97 ifend97: %t206 = load i32, ptr @g_g_uses_unicodert %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then98, label %ifend100 then98: call void @fn_emit_unicode_prelude() br label %ifend100 ifend100: %t208 = load i32, ptr @g_g_uses_fsrt %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %then101, label %ifend103 then101: call void @fn_emit_fs_prelude() br label %ifend103 ifend103: %t210 = load i32, ptr @g_g_uses_datert %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then104, label %ifend106 then104: call void @fn_emit_datetime_prelude() br label %ifend106 ifend106: %t212 = load i32, ptr @g_g_uses_panic %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then107, label %ifend109 then107: call void @fn_emith(ptr @.str10687) call void @fn_emith(ptr @.str10688) br label %ifend109 ifend109: %t214 = load i32, ptr @g_g_uses_result %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then110, label %ifend112 then110: call void @fn_emith(ptr @.str10689) br label %ifend112 ifend112: %t216 = load i32, ptr @g_g_uses_option %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then113, label %ifend115 then113: call void @fn_emith(ptr @.str10690) br label %ifend115 ifend115: call void @fn_emit_cov_runtime() %t218 = load i32, ptr @g_g_emit_module %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then116, label %ifend118 then116: call void @fn_emit_module_glue() br label %ifend118 ifend118: 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 @.str10691) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) call void @fn_emith(ptr @.str10692) 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 @.str10693) br label %ifend11 ifend11: call void @fn_emith(ptr @.str10694) %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 @.str10695) call void @fn_emith(ptr @.str10696) %t35 = load ptr, ptr %t14 call void @fn_emith(ptr %t35) call void @fn_emith(ptr @.str10697) %t36 = load ptr, ptr %t14 %t37 = call ptr @lp_str_concat(ptr @.str10698, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str10699) 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 @.str10700) store ptr %t42, ptr %t43 %t44 = call ptr @fn_emit_str_const(ptr @.str10701) store ptr %t44, ptr %t45 %t46 = call ptr @fn_emit_str_const(ptr @.str10702) store ptr %t46, ptr %t47 call void @fn_emith(ptr @.str10703) call void @fn_emith(ptr @.str10704) %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 @.str10705) br label %ifend14 ifend14: call void @fn_emith(ptr @.str10706) call void @fn_emit(ptr @.str10707) %t52 = load ptr, ptr %t43 %t53 = call ptr @lp_str_concat(ptr @.str10708, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str10709) call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str10710) %t55 = load ptr, ptr %t45 %t56 = call ptr @lp_str_concat(ptr @.str10711, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str10712) call void @fn_emit(ptr %t57) %t58 = load ptr, ptr %t47 %t59 = call ptr @lp_str_concat(ptr @.str10713, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str10714) call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str10715) call void @fn_emit(ptr @.str10716) call void @fn_emit(ptr @.str10717) %t61 = load ptr, ptr %t41 %t62 = call ptr @lp_str_concat(ptr @.str10718, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str10719) call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10720) call void @fn_emit(ptr @.str10721) call void @fn_emit(ptr @.str10722) %t64 = load ptr, ptr %t14 %t65 = call ptr @lp_str_concat(ptr @.str10723, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10724) call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10725) call void @fn_emit(ptr @.str10726) call void @fn_emit(ptr @.str10727) %t67 = load ptr, ptr %t14 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10728) call void @fn_emit(ptr @.str10729) call void @fn_emit(ptr @.str10730) %t68 = load ptr, ptr %t14 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10731) call void @fn_emit(ptr @.str10732) call void @fn_emit(ptr @.str10733) call void @fn_emit(ptr @.str10734) call void @fn_emit(ptr @.str10735) call void @fn_emit(ptr @.str10736) call void @fn_emit(ptr @.str10737) call void @fn_emit(ptr @.str10738) call void @fn_emit(ptr @.str10739) call void @fn_emit(ptr @.str10740) call void @fn_emit(ptr @.str10741) call void @fn_emit(ptr @.str10742) call void @fn_emith(ptr @.str10743) 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 @fopen(ptr %t29, ptr @.str10744) 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 = icmp eq i32 %t16, 47 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %ifend5 then3: %t20 = load i32, ptr %t3 store i32 %t20, ptr %t2 br label %ifend5 ifend5: %t21 = load i32, ptr %t3 %t22 = add i32 %t21, 1 store i32 %t22, ptr %t3 br label %wcond0 wend2: %t23 = load ptr, ptr %t0 %t24 = load i32, ptr %t2 %t25 = add i32 %t24, 1 %t26 = load i32, ptr %t3 %t27 = call ptr @lp_str_slice(ptr %t23, i32 %t25, i32 %t26) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } 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 @.str10745) %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 @.str10746) 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 void @fn_show_version() { entry: %t3 = alloca ptr %t0 = call ptr @fn_ludic_home() %t1 = call ptr @fn_join_path(ptr %t0, ptr @.str10747) %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 @.str10748) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) %t10 = call ptr @lp_str_concat(ptr @.str10749, 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 @.str10750, ptr @g_g_parse_file store ptr @.str10751, ptr @g_g_err_file store ptr @.str10752, ptr @g_g_src_name 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 i32 %t17 = alloca ptr %t69 = alloca ptr %t87 = alloca ptr %t103 = alloca i32 %t113 = alloca i32 %t122 = alloca i32 %t139 = alloca i32 %t156 = alloca ptr %t168 = alloca ptr %t175 = alloca ptr %t177 = alloca ptr %t182 = alloca ptr %t187 = alloca ptr %t197 = alloca ptr %t207 = alloca ptr %t217 = alloca ptr %t220 = alloca ptr %t235 = alloca i32 %t251 = 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 i32 0, ptr @g_g_coverage store i32 1, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t7 %t9 = load i32, ptr @L_argc %t10 = icmp slt i32 %t8, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody1, label %wend2 wbody1: %t13 = load i32, ptr %t7 %t14 = load ptr, ptr @L_argv %t15 = getelementptr ptr, ptr %t14, i32 %t13 %t16 = load ptr, ptr %t15 store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str10753) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %else4 then3: call void @fn_show_version() br label %ifend5 else4: %t21 = load ptr, ptr %t17 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str10754) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then6, label %else7 then6: store i32 1, ptr %t2 br label %ifend8 else7: %t24 = load ptr, ptr %t17 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str10755) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then9, label %else10 then9: store i32 2, ptr %t2 br label %ifend11 else10: %t27 = load ptr, ptr %t17 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str10756) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then12, label %else13 then12: store i32 1, ptr %t3 br label %ifend14 else13: %t30 = load ptr, ptr %t17 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str10757) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then15, label %else16 then15: store i32 1, ptr @g_g_emit_module store i32 1, ptr %t3 br label %ifend17 else16: %t33 = load ptr, ptr %t17 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str10758) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then18, label %else19 then18: store i32 1, ptr %t4 br label %ifend20 else19: %t36 = load ptr, ptr %t17 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str10759) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then21, label %else22 then21: store i32 1, ptr %t5 br label %ifend23 else22: %t39 = load ptr, ptr %t17 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str10760) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then24, label %else25 then24: store i32 1, ptr %t6 br label %ifend26 else25: %t42 = load ptr, ptr %t17 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str10761) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then27, label %else28 then27: store i32 1, ptr @g_g_coverage br label %ifend29 else28: %t45 = load ptr, ptr %t17 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str10762) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then30, label %else31 then30: %t48 = load i32, ptr %t7 %t49 = add i32 %t48, 1 store i32 %t49, ptr %t7 %t50 = load i32, ptr %t7 %t51 = load i32, ptr @L_argc %t52 = icmp slt i32 %t50, %t51 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then33, label %ifend35 then33: %t55 = load i32, ptr %t7 %t56 = load ptr, ptr @L_argv %t57 = getelementptr ptr, ptr %t56, i32 %t55 %t58 = load ptr, ptr %t57 store ptr %t58, ptr %t1 br label %ifend35 ifend35: br label %ifend32 else31: %t59 = load ptr, ptr %t17 %t60 = getelementptr inbounds i8, ptr %t59, i32 0 %t61 = load i8, ptr %t60 %t62 = zext i8 %t61 to i32 %t63 = icmp eq i32 %t62, 45 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then36, label %else37 then36: %t66 = load ptr, ptr %t17 %t67 = call ptr @lp_str_concat(ptr @.str10763, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str10764) store ptr %t68, ptr %t69 %t70 = load ptr, ptr @__stderrp %t71 = load ptr, ptr %t69 %t72 = load ptr, ptr %t69 %t73 = call i64 @strlen(ptr %t72) %t74 = trunc i64 %t73 to i32 %t75 = zext i32 %t74 to i64 %t76 = call i64 @fwrite(ptr %t71, i64 1, i64 %t75, ptr %t70) %t77 = trunc i64 %t76 to i32 br label %ifend38 else37: %t78 = load ptr, ptr %t17 store ptr %t78, ptr %t0 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: %t79 = load i32, ptr %t7 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t7 br label %wcond0 wend2: %t81 = load ptr, ptr %t0 %t82 = icmp eq ptr %t81, null %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then39, label %ifend41 then39: call void @fn_die(ptr @.str10765) br label %ifend41 ifend41: %t85 = load ptr, ptr %t0 %t86 = call ptr @fn_read_file(ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 %t89 = icmp eq ptr %t88, null %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then42, label %ifend44 then42: call void @fn_die(ptr @.str10766) br label %ifend44 ifend44: %t92 = load ptr, ptr %t0 %t93 = call ptr @fn_dir_of(ptr %t92) store ptr %t93, ptr @g_cur_dir %t94 = load ptr, ptr %t0 %t95 = call ptr @fn_base_name(ptr %t94) store ptr %t95, ptr @g_g_src_name %t96 = load ptr, ptr %t0 store ptr %t96, ptr @g_g_parse_file %t97 = load ptr, ptr %t87 call void @fn_lex(ptr %t97) call void @fn_parse_program() %t98 = load ptr, ptr @g_prog %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t100 = load i32, ptr %t99 store i32 %t100, ptr @g_g_prog_user_end %t101 = load i32, ptr %t4 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then45, label %ifend47 then45: call void @exit(i32 0) unreachable ifend47: call void @fn_maybe_splice_runtime() call void @fn_ui_register_gotos() %t104 = load i32, ptr %t6 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t103 br i1 %t105, label %scend49, label %sc48 sc48: %t107 = load ptr, ptr %t1 %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 %t103 br label %scend49 scend49: %t112 = load i32, ptr %t103 store i32 %t112, ptr %t113 %t114 = load i32, ptr %t2 %t115 = icmp eq i32 %t114, 1 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then50, label %else51 then50: store i32 1, ptr @g_g_windowed br label %ifend52 else51: %t118 = load i32, ptr %t2 %t119 = icmp eq i32 %t118, 2 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then53, label %else54 then53: store i32 0, ptr @g_g_windowed br label %ifend55 else54: %t123 = load i32, ptr %t113 %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t122 br i1 %t124, label %sc56, label %scend57 sc56: %t126 = call i32 @fn_has_systems() %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t122 br label %scend57 scend57: %t129 = load i32, ptr %t122 store i32 %t129, ptr @g_g_windowed br label %ifend55 ifend55: br label %ifend52 ifend52: store i32 0, ptr @g_g_parsing call void @fn_emit_program() %t130 = load i32, ptr %t3 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then58, label %ifend60 then58: %t132 = load ptr, ptr %t1 %t133 = call i32 @fn_ir_flush(ptr %t132) br label %ret ifend60: %t134 = load i32, ptr %t113 %t135 = icmp eq i32 %t134, 0 %t136 = zext i1 %t135 to i32 %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then61, label %ifend63 then61: %t138 = call i32 @fn_ir_flush(ptr null) br label %ret ifend63: %t140 = load i32, ptr %t6 %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t139 br i1 %t141, label %sc64, label %scend65 sc64: %t143 = load ptr, ptr %t1 %t144 = icmp eq ptr %t143, null %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t139 br label %scend65 scend65: %t148 = load i32, ptr %t139 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then66, label %ifend68 then66: %t150 = load ptr, ptr %t0 %t151 = call ptr @fn_base_name(ptr %t150) %t152 = call ptr @fn_strip_ludic(ptr %t151) %t153 = call ptr @lp_str_concat(ptr @.str10767, ptr %t152) store ptr %t153, ptr %t1 br label %ifend68 ifend68: %t154 = load ptr, ptr %t1 %t155 = call ptr @fn_dir_of(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t156 %t158 = call i64 @strlen(ptr %t157) %t159 = trunc i64 %t158 to i32 %t160 = icmp sgt i32 %t159, 0 %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then69, label %ifend71 then69: %t163 = load ptr, ptr %t156 %t164 = call ptr @lp_str_concat(ptr @.str10768, ptr %t163) %t165 = call i32 @system(ptr %t164) br label %ifend71 ifend71: %t166 = load ptr, ptr %t1 %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str10769) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t168 %t170 = call i32 @fn_ir_flush(ptr %t169) %t171 = icmp eq i32 %t170, 0 %t172 = zext i1 %t171 to i32 %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then72, label %ifend74 then72: call void @fn_die(ptr @.str10770) br label %ifend74 ifend74: %t174 = call ptr @fn_getenv_or(ptr @.str10771, ptr @.str10772) store ptr %t174, ptr %t175 %t176 = call ptr @fn_ludic_home() store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t175 %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str10773) %t180 = load ptr, ptr %t168 %t181 = call ptr @lp_str_concat(ptr %t179, ptr %t180) store ptr %t181, ptr %t182 %t183 = load i32, ptr @g_g_windowed %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then75, label %ifend77 then75: %t185 = load ptr, ptr %t177 %t186 = call ptr @fn_join_path(ptr %t185, ptr @.str10774) store ptr %t186, ptr %t187 %t188 = load ptr, ptr %t182 %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str10775) %t190 = load ptr, ptr %t187 %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str10776) store ptr %t192, ptr %t182 %t193 = load i32, ptr @g_g_uses_audio %t194 = icmp ne i32 %t193, 0 br i1 %t194, label %then78, label %ifend80 then78: %t195 = load ptr, ptr %t177 %t196 = call ptr @fn_join_path(ptr %t195, ptr @.str10777) store ptr %t196, ptr %t197 %t198 = load ptr, ptr %t182 %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str10778) %t200 = load ptr, ptr %t197 %t201 = call ptr @lp_str_concat(ptr %t199, ptr %t200) %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str10779) store ptr %t202, ptr %t182 br label %ifend80 ifend80: br label %ifend77 ifend77: %t203 = load i32, ptr @g_g_uses_http %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then81, label %ifend83 then81: %t205 = load ptr, ptr %t177 %t206 = call ptr @fn_join_path(ptr %t205, ptr @.str10780) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t182 %t209 = call ptr @lp_str_concat(ptr %t208, ptr @.str10781) %t210 = load ptr, ptr %t207 %t211 = call ptr @lp_str_concat(ptr %t209, ptr %t210) %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str10782) store ptr %t212, ptr %t182 br label %ifend83 ifend83: %t213 = load i32, ptr @g_g_uses_gl %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then84, label %ifend86 then84: %t215 = load ptr, ptr %t177 %t216 = call ptr @fn_join_path(ptr %t215, ptr @.str10783) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t177 %t219 = call ptr @fn_join_path(ptr %t218, ptr @.str10784) store ptr %t219, ptr %t220 %t221 = load ptr, ptr %t182 %t222 = call ptr @lp_str_concat(ptr %t221, ptr @.str10785) %t223 = load ptr, ptr %t217 %t224 = call ptr @lp_str_concat(ptr %t222, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str10786) %t226 = load ptr, ptr %t220 %t227 = call ptr @lp_str_concat(ptr %t225, ptr %t226) %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str10787) store ptr %t228, ptr %t182 br label %ifend86 ifend86: %t229 = load ptr, ptr %t182 %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str10788) %t231 = load ptr, ptr %t1 %t232 = call ptr @lp_str_concat(ptr %t230, ptr %t231) store ptr %t232, ptr %t182 %t233 = load ptr, ptr %t182 %t234 = call i32 @system(ptr %t233) store i32 %t234, ptr %t235 %t236 = load i32, ptr %t5 %t237 = icmp eq i32 %t236, 0 %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then87, label %ifend89 then87: %t240 = load ptr, ptr %t168 %t241 = call ptr @lp_str_concat(ptr @.str10789, ptr %t240) %t242 = call i32 @system(ptr %t241) br label %ifend89 ifend89: %t243 = load i32, ptr %t235 %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then90, label %ifend92 then90: call void @fn_die(ptr @.str10790) br label %ifend92 ifend92: %t247 = load i32, ptr %t6 %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then93, label %ifend95 then93: %t249 = load ptr, ptr %t1 %t250 = call i32 @system(ptr %t249) store i32 %t250, ptr %t251 %t252 = load i32, ptr %t251 %t253 = lshr i32 %t252, 8 %t254 = and i32 %t253, 255 call void @exit(i32 %t254) unreachable ifend95: br label %ret ret: %t255 = load i32, ptr %retval ret i32 %t255 }