; Ludic (self-hosted) -> LLVM IR declare i32 @printf(ptr, ...) declare ptr @malloc(i64) declare ptr @realloc(ptr, i64) declare void @free(ptr) declare i64 @fread(ptr, i64, i64, ptr) declare i64 @fwrite(ptr, i64, i64, ptr) declare i32 @fclose(ptr) declare void @exit(i32) declare i32 @system(ptr) declare ptr @getenv(ptr) declare ptr @memcpy(ptr, ptr, i64) declare ptr @memset(ptr, i32, i64) declare i64 @strlen(ptr) declare i32 @strcmp(ptr, ptr) declare i32 @strncmp(ptr, ptr, i64) declare ptr @strstr(ptr, ptr) declare i32 @atoi(ptr) declare i32 @getchar() declare i32 @putchar(i32) declare void @win_open(i32, i32, i32, ptr) declare i32 @win_poll() declare void @win_present(ptr, i32, i32) declare i32 @win_running() declare void @win_close() declare void @win_held(ptr) declare void @win_mouse(ptr) declare void @win_pad(ptr) declare void @win_touch(ptr) declare void @win_cursor_mode(i32) declare ptr @snd_load(ptr) declare void @snd_play(ptr, i32, i32, i32) declare void @snd_stop(ptr) declare i32 @snd_playing(ptr) declare void @snd_set_volume(ptr, i32) declare void @snd_set_rate(ptr, i32) declare void @snd_set_pan(ptr, i32) declare ptr @hs_req_new(ptr, ptr) declare void @hs_req_header(ptr, ptr, ptr) declare void @hs_req_body(ptr, ptr, i32) declare void @hs_send(i32, ptr) declare i32 @hs_done(i32) declare i32 @hs_status(i32) declare ptr @hs_body(i32) declare i32 @hs_blen(i32) declare ptr @hs_header(i32, ptr) declare void @hs_free(i32) declare ptr @__acrt_iob_func(i32) declare i32 @_setmode(i32, i32) declare ptr @_fsopen(ptr, ptr, i32) declare i64 @_ftelli64(ptr) declare i32 @_fseeki64(ptr, i64, i32) declare i64 @_time64(ptr) declare i32 @_access(ptr, i32) declare i32 @_mkdir(ptr) declare i32 @_chdir(ptr) declare i32 @_getpid() declare i32 @_open(ptr, i32, ...) declare i32 @_close(i32) declare i64 @_lseeki64(i32, i64, i32) declare i32 @_putenv_s(ptr, ptr) declare i64 @_get_osfhandle(i32) declare i32 @_open_osfhandle(i64, i32) declare ptr @_fdopen(i32, ptr) declare i32 @MoveFileExA(ptr, ptr, i32) declare i32 @DeleteFileA(ptr) declare i32 @RemoveDirectoryA(ptr) declare ptr @FindFirstFileA(ptr, ptr) declare i32 @FindNextFileA(ptr, ptr) declare i32 @FindClose(ptr) declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr) declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64) declare i32 @CloseHandle(ptr) declare i32 @GetModuleFileNameA(ptr, ptr, i32) declare i32 @GetTempPathA(i32, ptr) declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr) declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr) declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr) declare i32 @SetFilePointer(ptr, i32, ptr, i32) @.win_rb = private unnamed_addr constant [3 x i8] c"rb\00" @.win_lpk = private unnamed_addr constant [4 x i8] c"lpk\00" @.win_empty = private unnamed_addr constant [1 x i8] c"\00" @.win_windows = private unnamed_addr constant [8 x i8] c"Windows\00" @.win_x64 = private unnamed_addr constant [7 x i8] c"x86_64\00" define internal void @lp_win_slashes(ptr %s) { entry: br label %lp lp: %p = phi ptr [ %s, %entry ], [ %p1, %nx ] %c = load i8, ptr %p %z = icmp eq i8 %c, 0 br i1 %z, label %done, label %chk chk: %bs = icmp eq i8 %c, 92 br i1 %bs, label %fix, label %nx fix: store i8 47, ptr %p br label %nx nx: %p1 = getelementptr i8, ptr %p, i64 1 br label %lp done: ret void } @L_win_stdio_bin = internal global i32 0 define internal ptr @lp_win_stdio(i32 %fd) { entry: %b = load i32, ptr @L_win_stdio_bin %done = icmp ne i32 %b, 0 br i1 %done, label %get, label %set set: store i32 1, ptr @L_win_stdio_bin %s1 = call i32 @_setmode(i32 1, i32 32768) %s2 = call i32 @_setmode(i32 2, i32 32768) br label %get get: %f = call ptr @__acrt_iob_func(i32 %fd) ret ptr %f } define internal ptr @fopen(ptr %p, ptr %m) { entry: %buf = alloca [8 x i8] %ip = alloca i32 %hb = alloca i32 store i32 0, ptr %ip store i32 0, ptr %hb br label %lp lp: %i = load i32, ptr %ip %src = getelementptr i8, ptr %m, i32 %i %c = load i8, ptr %src %z = icmp eq i8 %c, 0 %full = icmp sge i32 %i, 6 %stop = or i1 %z, %full br i1 %stop, label %fin, label %cp cp: %dst = getelementptr i8, ptr %buf, i32 %i store i8 %c, ptr %dst %isb = icmp eq i8 %c, 98 %hbv = load i32, ptr %hb %hbn = select i1 %isb, i32 1, i32 %hbv store i32 %hbn, ptr %hb %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %lp fin: %hbf = load i32, ptr %hb %need = icmp eq i32 %hbf, 0 br i1 %need, label %addb, label %term addb: %bp = getelementptr i8, ptr %buf, i32 %i store i8 98, ptr %bp %i2 = add i32 %i, 1 store i32 %i2, ptr %ip br label %term term: %ie = load i32, ptr %ip %ep = getelementptr i8, ptr %buf, i32 %ie store i8 0, ptr %ep %f = call ptr @_fsopen(ptr %p, ptr %buf, i32 64) ret ptr %f } define internal i64 @ftell(ptr %f) { entry: %r = call i64 @_ftelli64(ptr %f) ret i64 %r } define internal i32 @fseek(ptr %f, i64 %o, i32 %w) { entry: %r = call i32 @_fseeki64(ptr %f, i64 %o, i32 %w) ret i32 %r } define internal i32 @rename(ptr %a, ptr %b) { entry: %r = call i32 @MoveFileExA(ptr %a, ptr %b, i32 11) %ok = icmp ne i32 %r, 0 %v = select i1 %ok, i32 0, i32 -1 ret i32 %v } define internal i32 @remove(ptr %p) { entry: %d = call i32 @DeleteFileA(ptr %p) %ok = icmp ne i32 %d, 0 br i1 %ok, label %yes, label %dir dir: %r = call i32 @RemoveDirectoryA(ptr %p) %ok2 = icmp ne i32 %r, 0 br i1 %ok2, label %yes, label %no yes: ret i32 0 no: ret i32 -1 } define internal i32 @access(ptr %p, i32 %m) { entry: %r = call i32 @_access(ptr %p, i32 %m) ret i32 %r } define internal i32 @mkdir(ptr %p, i32 %mode) { entry: %r = call i32 @_mkdir(ptr %p) ret i32 %r } define internal i32 @open(ptr %p, i32 %fl, ...) { entry: %f2 = or i32 %fl, 32768 %r = call i32 (ptr, i32, ...) @_open(ptr %p, i32 %f2) ret i32 %r } define internal i32 @close(i32 %fd) { entry: %r = call i32 @_close(i32 %fd) ret i32 %r } define internal i64 @lseek(i32 %fd, i64 %o, i32 %w) { entry: %r = call i64 @_lseeki64(i32 %fd, i64 %o, i32 %w) ret i64 %r } define internal ptr @opendir(ptr %path) { entry: %l = call i64 @strlen(ptr %path) %cap = add i64 %l, 3 %pat = call ptr @malloc(i64 %cap) call ptr @memcpy(ptr %pat, ptr %path, i64 %l) %e0 = getelementptr i8, ptr %pat, i64 %l store i8 47, ptr %e0 %e1 = getelementptr i8, ptr %e0, i64 1 store i8 42, ptr %e1 %e2 = getelementptr i8, ptr %e0, i64 2 store i8 0, ptr %e2 %d = call ptr @malloc(i64 368) %fd = getelementptr i8, ptr %d, i64 16 %h = call ptr @FindFirstFileA(ptr %pat, ptr %fd) call void @free(ptr %pat) %bad = icmp eq ptr %h, inttoptr (i64 -1 to ptr) br i1 %bad, label %no, label %ok no: call void @free(ptr %d) ret ptr null ok: store ptr %h, ptr %d %fl = getelementptr i8, ptr %d, i64 8 store i32 1, ptr %fl ret ptr %d } define internal ptr @readdir(ptr %d) { entry: %fl = getelementptr i8, ptr %d, i64 8 %f = load i32, ptr %fl %first = icmp ne i32 %f, 0 br i1 %first, label %take, label %next take: store i32 0, ptr %fl br label %give next: %h = load ptr, ptr %d %fd = getelementptr i8, ptr %d, i64 16 %ok = call i32 @FindNextFileA(ptr %h, ptr %fd) %more = icmp ne i32 %ok, 0 br i1 %more, label %give, label %end give: %de = getelementptr i8, ptr %d, i64 39 ret ptr %de end: ret ptr null } define internal i32 @closedir(ptr %d) { entry: %h = load ptr, ptr %d %r = call i32 @FindClose(ptr %h) call void @free(ptr %d) ret i32 0 } define internal ptr @mmap(ptr %a, i64 %len, i32 %prot, i32 %flags, i32 %fd, i64 %off) { entry: %oh = call i64 @_get_osfhandle(i32 %fd) %h = inttoptr i64 %oh to ptr %m = call ptr @CreateFileMappingA(ptr %h, ptr null, i32 2, i32 0, i32 0, ptr null) %nm = icmp eq ptr %m, null br i1 %nm, label %bad, label %map map: %v = call ptr @MapViewOfFile(ptr %m, i32 4, i32 0, i32 0, i64 0) %c = call i32 @CloseHandle(ptr %m) %nv = icmp eq ptr %v, null br i1 %nv, label %bad, label %ok ok: ret ptr %v bad: ret ptr inttoptr (i64 -1 to ptr) } define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) { entry: %dir = alloca [270 x i8] %name = alloca [270 x i8] %wr = alloca i32 %n = call i32 @GetTempPathA(i32 260, ptr %dir) %z = icmp eq i32 %n, 0 br i1 %z, label %bad, label %mk mk: %u = call i32 @GetTempFileNameA(ptr %dir, ptr @.win_lpk, i32 0, ptr %name) %uz = icmp eq i32 %u, 0 br i1 %uz, label %bad, label %cr cr: %h = call ptr @CreateFileA(ptr %name, i32 -1073741824, i32 7, ptr null, i32 2, i32 67109120, ptr null) %hb = icmp eq ptr %h, inttoptr (i64 -1 to ptr) br i1 %hb, label %bad, label %wrt wrt: %l32 = trunc i64 %len to i32 %w = call i32 @WriteFile(ptr %h, ptr %buf, i32 %l32, ptr %wr, ptr null) %sp = call i32 @SetFilePointer(ptr %h, i32 0, ptr null, i32 0) %hi = ptrtoint ptr %h to i64 %fd = call i32 @_open_osfhandle(i64 %hi, i32 32768) %fdb = icmp slt i32 %fd, 0 br i1 %fdb, label %shut, label %fdo fdo: %f = call ptr @_fdopen(i32 %fd, ptr @.win_rb) ret ptr %f shut: %c = call i32 @CloseHandle(ptr %h) br label %bad bad: ret ptr null } define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) { entry: %sz = load i32, ptr %szp %n = call i32 @GetModuleFileNameA(ptr null, ptr %buf, i32 %sz) %bad = icmp eq i32 %n, 0 %full = icmp sge i32 %n, %sz %no = or i1 %bad, %full br i1 %no, label %fail, label %fix fix: call void @lp_win_slashes(ptr %buf) ret i32 0 fail: ret i32 -1 } define internal i32 @chdir(ptr %p) { entry: %r = call i32 @_chdir(ptr %p) ret i32 %r } define internal i32 @getpid() { entry: %r = call i32 @_getpid() ret i32 %r } define internal i64 @time(ptr %t) { entry: %r = call i64 @_time64(ptr %t) ret i64 %r } define internal i32 @setenv(ptr %n, ptr %v, i32 %o) { entry: %r = call i32 @_putenv_s(ptr %n, ptr %v) ret i32 %r } define internal i32 @unsetenv(ptr %n) { entry: %r = call i32 @_putenv_s(ptr %n, ptr @.win_empty) ret i32 %r } define internal i32 @uname(ptr %buf) { entry: call ptr @memcpy(ptr %buf, ptr @.win_windows, i64 8) %m = getelementptr i8, ptr %buf, i64 1024 call ptr @memcpy(ptr %m, ptr @.win_x64, i64 7) ret i32 0 } @.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_uses_vk = internal global i32 0 @g_g_mod_sys_fn = internal global ptr null @g_g_mod_sys_phase = internal global ptr null @g_g_esys_comp = internal global ptr null @g_g_esys_fn = internal global ptr null @g_g_esys_phase = internal global ptr null @g_g_namespaces = internal global ptr null @g_g_ns_blocks = internal global ptr null @g_g_ns_exports = internal global ptr null @g_g_disabled_sys = internal global ptr null @g_head = internal global ptr null @g_code = internal global ptr null @g_falloc = internal global ptr null @g_ll_t = internal global i32 0 @g_ll_lbl = internal global i32 0 @g_ll_str = internal global i32 0 @g_loc_name = internal global ptr null @g_loc_reg = internal global ptr null @g_loc_ty = internal global ptr null @g_loc_mut = internal global ptr null @g_nloc = internal global i32 0 @g_g_emit_module = internal global i32 0 @g_g_uses_str = internal global i32 0 @g_g_uses_intstr = internal global i32 0 @g_g_uses_strslice = internal global i32 0 @g_g_uses_mathrt = internal global i32 0 @g_g_uses_textrt = internal global i32 0 @g_g_uses_textrt2 = internal global i32 0 @g_g_uses_hashrt = internal global i32 0 @g_g_uses_cryptort = internal global i32 0 @g_g_uses_uuidrt = internal global i32 0 @g_g_uses_noisert = internal global i32 0 @g_g_uses_logrt = internal global i32 0 @g_g_uses_osrt = internal global i32 0 @g_g_uses_pid = internal global i32 0 @g_g_uses_unicodert = internal global i32 0 @g_g_uses_fsrt = internal global i32 0 @g_g_uses_pak = internal global i32 0 @g_g_uses_datert = internal global i32 0 @g_g_uses_expect = internal global i32 0 @g_g_uses_panic = internal global i32 0 @g_g_uses_result = internal global i32 0 @g_g_uses_option = internal global i32 0 @g_g_tests = internal global ptr null @g_g_src_name = internal global ptr null @g_g_uses_longstr = internal global i32 0 @g_g_coverage = internal global i32 0 @g_g_cov_active = internal global i32 1 @g_g_cov_lines = internal global ptr null @g_g_prog_user_end = internal global i32 0 @g_brk_lbl = internal global ptr null @g_cnt_lbl = internal global ptr null @g_nloop = internal global i32 0 @g_ret_ty = internal global ptr null @g_g_term = internal global i32 0 @g_self_stk = internal global ptr null @g_nself = internal global i32 0 @g_mach_stk = internal global ptr null @g_nmach = internal global i32 0 @g_g_scenes = internal global ptr null @g_g_scene_count = internal global i32 0 @g_g_start_scene = internal global i32 0 @g_g_cur_scene = internal global ptr null @g_g_var_ord = internal global i32 0 @g_g_computed = internal global ptr null @g_g_onspawn = internal global ptr null @g_g_ondespawn = internal global ptr null @g_g_onattach = internal global ptr null @g_g_ondetach = internal global ptr null @g_g_onenable = internal global ptr null @g_g_ondisable = internal global ptr null @g_g_events = internal global ptr null @g_g_onlisten = internal global ptr null @g_g_cancel_addr = internal global ptr null @g_g_toggled_layers = internal global ptr null @g_g_addr_ty = internal global ptr null @g_g_intrin_ok = internal global i32 0 @g_g_windowed = internal global i32 0 @g_g_target_win = internal global i32 0 @g_g_iok = internal global i32 0 @g_g_snap_mode = internal global ptr null @g_g_off = internal global ptr null @g_g_uses_loopback = internal global i32 0 @g_uiw = internal global ptr null @g_uiw_parent = internal global ptr null @g_ui_roots = internal global ptr null @.str0 = private unnamed_addr constant [3 x i8] c"rb\00" @.str1 = private unnamed_addr constant [23 x i8] c"unexpected character '\00" @.str2 = private unnamed_addr constant [9 x i8] c"' (byte \00" @.str3 = private unnamed_addr constant [2 x i8] c")\00" @.str4 = private unnamed_addr constant [2 x i8] c":\00" @.str5 = private unnamed_addr constant [10 x i8] c": error: \00" @.str6 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7 = private unnamed_addr constant [52 x i8] c"unterminated character literal (expected closing ')\00" @.str8 = private unnamed_addr constant [1 x i8] c"\00" @.str9 = private unnamed_addr constant [2 x i8] c":\00" @.str10 = private unnamed_addr constant [10 x i8] c": error: \00" @.str11 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12 = private unnamed_addr constant [12 x i8] c"end of file\00" @.str13 = private unnamed_addr constant [12 x i8] c"end of line\00" @.str14 = private unnamed_addr constant [8 x i8] c"number \00" @.str15 = private unnamed_addr constant [9 x i8] c"string \22\00" @.str16 = private unnamed_addr constant [2 x i8] c"\22\00" @.str17 = private unnamed_addr constant [2 x i8] c"'\00" @.str18 = private unnamed_addr constant [2 x i8] c"'\00" @.str19 = private unnamed_addr constant [11 x i8] c"expected '\00" @.str20 = private unnamed_addr constant [8 x i8] c"', got \00" @.str21 = private unnamed_addr constant [29 x i8] c"expected an identifier, got \00" @.str22 = private unnamed_addr constant [2 x i8] c"[\00" @.str23 = private unnamed_addr constant [2 x i8] c"]\00" @.str24 = private unnamed_addr constant [2 x i8] c"(\00" @.str25 = private unnamed_addr constant [2 x i8] c")\00" @.str26 = private unnamed_addr constant [2 x i8] c":\00" @.str27 = private unnamed_addr constant [2 x i8] c":\00" @.str28 = private unnamed_addr constant [2 x i8] c",\00" @.str29 = private unnamed_addr constant [2 x i8] c")\00" @.str30 = private unnamed_addr constant [2 x i8] c"+\00" @.str31 = private unnamed_addr constant [7 x i8] c"string\00" @.str32 = private unnamed_addr constant [2 x i8] c"(\00" @.str33 = private unnamed_addr constant [2 x i8] c")\00" @.str34 = private unnamed_addr constant [2 x i8] c":\00" @.str35 = private unnamed_addr constant [2 x i8] c",\00" @.str36 = private unnamed_addr constant [2 x i8] c")\00" @.str37 = private unnamed_addr constant [2 x i8] c"[\00" @.str38 = private unnamed_addr constant [2 x i8] c"]\00" @.str39 = private unnamed_addr constant [2 x i8] c",\00" @.str40 = private unnamed_addr constant [2 x i8] c"]\00" @.str41 = private unnamed_addr constant [2 x i8] c"[\00" @.str42 = private unnamed_addr constant [5 x i8] c"emit\00" @.str43 = private unnamed_addr constant [5 x i8] c"true\00" @.str44 = private unnamed_addr constant [6 x i8] c"false\00" @.str45 = private unnamed_addr constant [5 x i8] c"null\00" @.str46 = private unnamed_addr constant [4 x i8] c"new\00" @.str47 = private unnamed_addr constant [2 x i8] c"{\00" @.str48 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str49 = private unnamed_addr constant [3 x i8] c"fn\00" @.str50 = private unnamed_addr constant [4 x i8] c"try\00" @.str51 = private unnamed_addr constant [5 x i8] c"else\00" @.str52 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00" @.str53 = private unnamed_addr constant [2 x i8] c"(\00" @.str54 = private unnamed_addr constant [2 x i8] c")\00" @.str55 = private unnamed_addr constant [20 x i8] c"expected expression\00" @.str56 = private unnamed_addr constant [2 x i8] c".\00" @.str57 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str58 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str59 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str60 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str61 = private unnamed_addr constant [4 x i8] c"Set\00" @.str62 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str63 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str64 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str65 = private unnamed_addr constant [4 x i8] c"Job\00" @.str66 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str67 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str68 = private unnamed_addr constant [6 x i8] c"Query\00" @.str69 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str70 = private unnamed_addr constant [6 x i8] c"Light\00" @.str71 = private unnamed_addr constant [6 x i8] c"Value\00" @.str72 = private unnamed_addr constant [5 x i8] c"Json\00" @.str73 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str74 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str75 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str76 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str77 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str78 = private unnamed_addr constant [5 x i8] c"cell\00" @.str79 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str80 = private unnamed_addr constant [7 x i8] c"define\00" @.str81 = private unnamed_addr constant [6 x i8] c"named\00" @.str82 = private unnamed_addr constant [5 x i8] c"draw\00" @.str83 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str84 = private unnamed_addr constant [6 x i8] c"width\00" @.str85 = private unnamed_addr constant [7 x i8] c"height\00" @.str86 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str87 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str88 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str89 = private unnamed_addr constant [6 x i8] c"apply\00" @.str90 = private unnamed_addr constant [6 x i8] c"Input\00" @.str91 = private unnamed_addr constant [5 x i8] c"bind\00" @.str92 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str93 = private unnamed_addr constant [5 x i8] c"poll\00" @.str94 = private unnamed_addr constant [5 x i8] c"down\00" @.str95 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str96 = private unnamed_addr constant [7 x i8] c"record\00" @.str97 = private unnamed_addr constant [7 x i8] c"replay\00" @.str98 = private unnamed_addr constant [7 x i8] c"action\00" @.str99 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str100 = private unnamed_addr constant [7 x i8] c"active\00" @.str101 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str102 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str103 = private unnamed_addr constant [6 x i8] c"Input\00" @.str104 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str105 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str106 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str107 = private unnamed_addr constant [6 x i8] c"press\00" @.str108 = private unnamed_addr constant [8 x i8] c"release\00" @.str109 = private unnamed_addr constant [5 x i8] c"axis\00" @.str110 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str111 = private unnamed_addr constant [7 x i8] c"vector\00" @.str112 = private unnamed_addr constant [9 x i8] c"strength\00" @.str113 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str114 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str115 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str116 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str117 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str118 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str119 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str120 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str121 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str122 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str123 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str124 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str125 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str126 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str127 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str128 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str129 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str130 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str131 = private unnamed_addr constant [5 x i8] c"play\00" @.str132 = private unnamed_addr constant [5 x i8] c"clip\00" @.str133 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str134 = private unnamed_addr constant [6 x i8] c"fired\00" @.str135 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str136 = private unnamed_addr constant [3 x i8] c"to\00" @.str137 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str138 = private unnamed_addr constant [5 x i8] c"Http\00" @.str139 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str140 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str141 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str142 = private unnamed_addr constant [3 x i8] c"to\00" @.str143 = private unnamed_addr constant [6 x i8] c"chain\00" @.str144 = private unnamed_addr constant [6 x i8] c"delay\00" @.str145 = private unnamed_addr constant [6 x i8] c"value\00" @.str146 = private unnamed_addr constant [5 x i8] c"stop\00" @.str147 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str148 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str149 = private unnamed_addr constant [2 x i8] c"[\00" @.str150 = private unnamed_addr constant [3 x i8] c"..\00" @.str151 = private unnamed_addr constant [2 x i8] c"]\00" @.str152 = private unnamed_addr constant [2 x i8] c"]\00" @.str153 = private unnamed_addr constant [2 x i8] c"(\00" @.str154 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str155 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\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 [2 x i8] c"~\00" @.str159 = private unnamed_addr constant [2 x i8] c"~\00" @.str160 = private unnamed_addr constant [4 x i8] c"not\00" @.str161 = private unnamed_addr constant [4 x i8] c"not\00" @.str162 = private unnamed_addr constant [2 x i8] c"*\00" @.str163 = private unnamed_addr constant [2 x i8] c"/\00" @.str164 = private unnamed_addr constant [2 x i8] c"%\00" @.str165 = private unnamed_addr constant [3 x i8] c"<<\00" @.str166 = private unnamed_addr constant [3 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 [2 x i8] c"^\00" @.str172 = private unnamed_addr constant [2 x i8] c"<\00" @.str173 = private unnamed_addr constant [3 x i8] c"<=\00" @.str174 = private unnamed_addr constant [2 x i8] c">\00" @.str175 = private unnamed_addr constant [3 x i8] c">=\00" @.str176 = private unnamed_addr constant [3 x i8] c"==\00" @.str177 = private unnamed_addr constant [3 x i8] c"!=\00" @.str178 = private unnamed_addr constant [4 x i8] c"and\00" @.str179 = private unnamed_addr constant [4 x i8] c"and\00" @.str180 = private unnamed_addr constant [3 x i8] c"or\00" @.str181 = private unnamed_addr constant [3 x i8] c"or\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 [2 x i8] c"}\00" @.str189 = private unnamed_addr constant [2 x i8] c"}\00" @.str190 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" @.str191 = private unnamed_addr constant [2 x i8] c"}\00" @.str192 = private unnamed_addr constant [4 x i8] c"let\00" @.str193 = private unnamed_addr constant [4 x i8] c"var\00" @.str194 = private unnamed_addr constant [4 x i8] c"var\00" @.str195 = private unnamed_addr constant [2 x i8] c":\00" @.str196 = private unnamed_addr constant [2 x i8] c"=\00" @.str197 = private unnamed_addr constant [7 x i8] c"return\00" @.str198 = private unnamed_addr constant [2 x i8] c"}\00" @.str199 = private unnamed_addr constant [3 x i8] c"if\00" @.str200 = private unnamed_addr constant [5 x i8] c"else\00" @.str201 = private unnamed_addr constant [3 x i8] c"if\00" @.str202 = private unnamed_addr constant [6 x i8] c"while\00" @.str203 = private unnamed_addr constant [4 x i8] c"for\00" @.str204 = private unnamed_addr constant [2 x i8] c"(\00" @.str205 = private unnamed_addr constant [3 x i8] c"..\00" @.str206 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str207 = private unnamed_addr constant [8 x i8] c"machine\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 [2 x i8] c"=\00" @.str211 = private unnamed_addr constant [2 x i8] c"}\00" @.str212 = private unnamed_addr constant [5 x i8] c"emit\00" @.str213 = private unnamed_addr constant [7 x i8] c"become\00" @.str214 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str215 = private unnamed_addr constant [7 x i8] c"enable\00" @.str216 = private unnamed_addr constant [8 x i8] c"disable\00" @.str217 = private unnamed_addr constant [7 x i8] c"enable\00" @.str218 = private unnamed_addr constant [6 x i8] c"layer\00" @.str219 = private unnamed_addr constant [6 x i8] c"layer\00" @.str220 = private unnamed_addr constant [7 x i8] c"system\00" @.str221 = private unnamed_addr constant [7 x i8] c"system\00" @.str222 = private unnamed_addr constant [3 x i8] c"on\00" @.str223 = private unnamed_addr constant [7 x i8] c"attach\00" @.str224 = private unnamed_addr constant [3 x i8] c"on\00" @.str225 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" @.str226 = private unnamed_addr constant [2 x i8] c"{\00" @.str227 = private unnamed_addr constant [7 x i8] c"detach\00" @.str228 = private unnamed_addr constant [3 x i8] c"on\00" @.str229 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" @.str230 = private unnamed_addr constant [6 x i8] c"break\00" @.str231 = private unnamed_addr constant [9 x i8] c"continue\00" @.str232 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str233 = private unnamed_addr constant [6 x i8] c"match\00" @.str234 = private unnamed_addr constant [2 x i8] c"{\00" @.str235 = private unnamed_addr constant [2 x i8] c"}\00" @.str236 = private unnamed_addr constant [2 x i8] c",\00" @.str237 = private unnamed_addr constant [3 x i8] c"=>\00" @.str238 = private unnamed_addr constant [2 x i8] c"{\00" @.str239 = private unnamed_addr constant [2 x i8] c"}\00" @.str240 = private unnamed_addr constant [2 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 [3 x i8] c"*=\00" @.str244 = private unnamed_addr constant [3 x i8] c"/=\00" @.str245 = private unnamed_addr constant [2 x i8] c":\00" @.str246 = private unnamed_addr constant [2 x i8] c"=\00" @.str247 = private unnamed_addr constant [2 x i8] c":\00" @.str248 = private unnamed_addr constant [2 x i8] c"=\00" @.str249 = private unnamed_addr constant [4 x i8] c"new\00" @.str250 = private unnamed_addr constant [6 x i8] c"match\00" @.str251 = private unnamed_addr constant [8 x i8] c"machine\00" @.str252 = private unnamed_addr constant [7 x i8] c"become\00" @.str253 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str254 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str255 = private unnamed_addr constant [6 x i8] c"query\00" @.str256 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str257 = private unnamed_addr constant [6 x i8] c"scene\00" @.str258 = private unnamed_addr constant [6 x i8] c"layer\00" @.str259 = private unnamed_addr constant [8 x i8] c"handler\00" @.str260 = private unnamed_addr constant [9 x i8] c"property\00" @.str261 = private unnamed_addr constant [6 x i8] c"model\00" @.str262 = private unnamed_addr constant [5 x i8] c"enum\00" @.str263 = private unnamed_addr constant [6 x i8] c"event\00" @.str264 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str265 = private unnamed_addr constant [9 x i8] c"function\00" @.str266 = private unnamed_addr constant [4 x i8] c"let\00" @.str267 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str268 = private unnamed_addr constant [4 x i8] c"var\00" @.str269 = private unnamed_addr constant [6 x i8] c"const\00" @.str270 = private unnamed_addr constant [3 x i8] c"if\00" @.str271 = private unnamed_addr constant [5 x i8] c"else\00" @.str272 = private unnamed_addr constant [6 x i8] c"while\00" @.str273 = private unnamed_addr constant [4 x i8] c"for\00" @.str274 = private unnamed_addr constant [7 x i8] c"return\00" @.str275 = private unnamed_addr constant [7 x i8] c"import\00" @.str276 = private unnamed_addr constant [8 x i8] c"program\00" @.str277 = private unnamed_addr constant [6 x i8] c"entry\00" @.str278 = private unnamed_addr constant [3 x i8] c"ui\00" @.str279 = private unnamed_addr constant [6 x i8] c"break\00" @.str280 = private unnamed_addr constant [9 x i8] c"continue\00" @.str281 = private unnamed_addr constant [4 x i8] c"and\00" @.str282 = private unnamed_addr constant [3 x i8] c"or\00" @.str283 = private unnamed_addr constant [4 x i8] c"not\00" @.str284 = private unnamed_addr constant [5 x i8] c"true\00" @.str285 = private unnamed_addr constant [6 x i8] c"false\00" @.str286 = private unnamed_addr constant [5 x i8] c"null\00" @.str287 = private unnamed_addr constant [2 x i8] c"(\00" @.str288 = private unnamed_addr constant [2 x i8] c"'\00" @.str289 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\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 [2 x i8] c",\00" @.str293 = private unnamed_addr constant [2 x i8] c")\00" @.str294 = private unnamed_addr constant [5 x i8] c"void\00" @.str295 = private unnamed_addr constant [3 x i8] c"->\00" @.str296 = private unnamed_addr constant [2 x i8] c"{\00" @.str297 = private unnamed_addr constant [2 x i8] c"}\00" @.str298 = private unnamed_addr constant [7 x i8] c"export\00" @.str299 = private unnamed_addr constant [9 x i8] c"internal\00" @.str300 = private unnamed_addr constant [9 x i8] c"function\00" @.str301 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00" @.str302 = private unnamed_addr constant [2 x i8] c"}\00" @.str303 = private unnamed_addr constant [2 x i8] c"_\00" @.str304 = private unnamed_addr constant [3 x i8] c"OS\00" @.str305 = private unnamed_addr constant [11 x i8] c"Windows_NT\00" @.str306 = private unnamed_addr constant [1 x i8] c"\00" @.str307 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" @.str308 = private unnamed_addr constant [1 x i8] c"\00" @.str309 = private unnamed_addr constant [5 x i8] c"bin/\00" @.str310 = private unnamed_addr constant [5 x i8] c"PATH\00" @.str311 = private unnamed_addr constant [1 x i8] c"\00" @.str312 = private unnamed_addr constant [3 x i8] c"rb\00" @.str313 = private unnamed_addr constant [5 x i8] c".exe\00" @.str314 = private unnamed_addr constant [3 x i8] c"rb\00" @.str315 = private unnamed_addr constant [1 x i8] c"\00" @.str316 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" @.str317 = 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" @.str318 = private unnamed_addr constant [2 x i8] c"@\00" @.str319 = private unnamed_addr constant [7 x i8] c"export\00" @.str320 = private unnamed_addr constant [7 x i8] c"Public\00" @.str321 = private unnamed_addr constant [3 x i8] c"On\00" @.str322 = private unnamed_addr constant [2 x i8] c"(\00" @.str323 = private unnamed_addr constant [2 x i8] c")\00" @.str324 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str325 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" @.str326 = private unnamed_addr constant [2 x i8] c"(\00" @.str327 = private unnamed_addr constant [2 x i8] c")\00" @.str328 = private unnamed_addr constant [10 x i8] c"OnDespawn\00" @.str329 = private unnamed_addr constant [2 x i8] c"(\00" @.str330 = private unnamed_addr constant [2 x i8] c",\00" @.str331 = private unnamed_addr constant [2 x i8] c":\00" @.str332 = private unnamed_addr constant [2 x i8] c")\00" @.str333 = private unnamed_addr constant [9 x i8] c"OnAttach\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 [9 x i8] c"OnDetach\00" @.str337 = private unnamed_addr constant [2 x i8] c"(\00" @.str338 = private unnamed_addr constant [2 x i8] c")\00" @.str339 = private unnamed_addr constant [9 x i8] c"OnEnable\00" @.str340 = private unnamed_addr constant [2 x i8] c"(\00" @.str341 = private unnamed_addr constant [2 x i8] c")\00" @.str342 = private unnamed_addr constant [10 x i8] c"OnDisable\00" @.str343 = private unnamed_addr constant [2 x i8] c"(\00" @.str344 = private unnamed_addr constant [2 x i8] c")\00" @.str345 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str346 = private unnamed_addr constant [6 x i8] c"Start\00" @.str347 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str348 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str349 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str350 = private unnamed_addr constant [6 x i8] c"Owned\00" @.str351 = private unnamed_addr constant [7 x i8] c"Server\00" @.str352 = private unnamed_addr constant [7 x i8] c"server\00" @.str353 = private unnamed_addr constant [10 x i8] c"Predicted\00" @.str354 = private unnamed_addr constant [10 x i8] c"predicted\00" @.str355 = private unnamed_addr constant [9 x i8] c"ToServer\00" @.str356 = private unnamed_addr constant [9 x i8] c"toserver\00" @.str357 = private unnamed_addr constant [10 x i8] c"ToClients\00" @.str358 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str359 = private unnamed_addr constant [7 x i8] c"System\00" @.str360 = private unnamed_addr constant [7 x i8] c"Update\00" @.str361 = private unnamed_addr constant [2 x i8] c"(\00" @.str362 = private unnamed_addr constant [2 x i8] c")\00" @.str363 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" @.str364 = private unnamed_addr constant [2 x i8] c"(\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 [10 x i8] c"Namespace\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 [11 x i8] c"ClearColor\00" @.str371 = private unnamed_addr constant [2 x i8] c"(\00" @.str372 = private unnamed_addr constant [2 x i8] c")\00" @.str373 = private unnamed_addr constant [2 x i8] c"(\00" @.str374 = private unnamed_addr constant [2 x i8] c"(\00" @.str375 = private unnamed_addr constant [2 x i8] c")\00" @.str376 = private unnamed_addr constant [7 x i8] c"import\00" @.str377 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" @.str378 = private unnamed_addr constant [5 x i8] c"enum\00" @.str379 = private unnamed_addr constant [6 x i8] c"event\00" @.str380 = private unnamed_addr constant [9 x i8] c"property\00" @.str381 = private unnamed_addr constant [6 x i8] c"model\00" @.str382 = private unnamed_addr constant [6 x i8] c"scene\00" @.str383 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str384 = private unnamed_addr constant [8 x i8] c"handler\00" @.str385 = private unnamed_addr constant [7 x i8] c"server\00" @.str386 = private unnamed_addr constant [7 x i8] c"model_\00" @.str387 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str388 = private unnamed_addr constant [7 x i8] c"model_\00" @.str389 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str390 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str391 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str392 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str393 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str394 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str395 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str396 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str397 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str398 = private unnamed_addr constant [6 x i8] c"Start\00" @.str399 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str400 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str401 = private unnamed_addr constant [3 x i8] c"ui\00" @.str402 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str403 = private unnamed_addr constant [4 x i8] c"var\00" @.str404 = private unnamed_addr constant [6 x i8] c"const\00" @.str405 = private unnamed_addr constant [9 x i8] c"function\00" @.str406 = private unnamed_addr constant [7 x i8] c"extern\00" @.str407 = private unnamed_addr constant [6 x i8] c"entry\00" @.str408 = private unnamed_addr constant [5 x i8] c"test\00" @.str409 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00" @.str410 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" @.str411 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str412 = private unnamed_addr constant [22 x i8] c"import: no directory \00" @.str413 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str414 = private unnamed_addr constant [2 x i8] c"/\00" @.str415 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" @.str416 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str417 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str418 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str419 = private unnamed_addr constant [20 x i8] c"cannot open import \00" @.str420 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str421 = private unnamed_addr constant [1 x i8] c"\00" @.str422 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str423 = private unnamed_addr constant [1 x i8] c"\00" @.str424 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" @.str425 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" @.str426 = private unnamed_addr constant [1 x i8] c"\00" @.str427 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" @.str428 = private unnamed_addr constant [1 x i8] c"\00" @.str429 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" @.str430 = private unnamed_addr constant [1 x i8] c"\00" @.str431 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" @.str432 = private unnamed_addr constant [1 x i8] c"\00" @.str433 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" @.str434 = private unnamed_addr constant [1 x i8] c"\00" @.str435 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" @.str436 = private unnamed_addr constant [1 x i8] c"\00" @.str437 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str438 = private unnamed_addr constant [1 x i8] c"\00" @.str439 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str440 = private unnamed_addr constant [1 x i8] c"\00" @.str441 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str442 = private unnamed_addr constant [1 x i8] c"\00" @.str443 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str444 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str445 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" @.str446 = private unnamed_addr constant [1 x i8] c"\00" @.str447 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str448 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" @.str449 = private unnamed_addr constant [1 x i8] c"\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 [1 x i8] c"\00" @.str454 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str455 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str456 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str457 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str458 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str459 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str460 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" @.str461 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" @.str462 = private unnamed_addr constant [1 x i8] c"\00" @.str463 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" @.str464 = private unnamed_addr constant [1 x i8] c"\00" @.str465 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str466 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" @.str467 = private unnamed_addr constant [1 x i8] c"\00" @.str468 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str469 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" @.str470 = private unnamed_addr constant [1 x i8] c"\00" @.str471 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str472 = private unnamed_addr constant [1 x i8] c"\00" @.str473 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" @.str474 = private unnamed_addr constant [1 x i8] c"\00" @.str475 = private unnamed_addr constant [24 x i8] c"runtime/native/gl.ludic\00" @.str476 = private unnamed_addr constant [1 x i8] c"\00" @.str477 = private unnamed_addr constant [24 x i8] c"runtime/native/vk.ludic\00" @.str478 = private unnamed_addr constant [1 x i8] c"\00" @.str479 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str480 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str481 = private unnamed_addr constant [1 x i8] c"\00" @.str482 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str483 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str484 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str485 = private unnamed_addr constant [5 x i8] c"Body\00" @.str486 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str487 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" @.str488 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str489 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str490 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" @.str491 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str492 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str493 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" @.str494 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str495 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" @.str496 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str497 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str498 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str499 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" @.str500 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str501 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" @.str502 = private unnamed_addr constant [7 x i8] c"Update\00" @.str503 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str504 = private unnamed_addr constant [12 x i8] c"esys_motion\00" @.str505 = private unnamed_addr constant [7 x i8] c"Update\00" @.str506 = private unnamed_addr constant [5 x i8] c"Body\00" @.str507 = private unnamed_addr constant [10 x i8] c"esys_move\00" @.str508 = private unnamed_addr constant [7 x i8] c"Update\00" @.str509 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str510 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" @.str511 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str512 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str513 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" @.str514 = private unnamed_addr constant [7 x i8] c"Render\00" @.str515 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str516 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" @.str517 = private unnamed_addr constant [7 x i8] c"Render\00" @.str518 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str519 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" @.str520 = private unnamed_addr constant [7 x i8] c"Render\00" @.str521 = private unnamed_addr constant [6 x i8] c"Ludic\00" @.str522 = private unnamed_addr constant [7 x i8] c"import\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 [2 x i8] c"(\00" @.str526 = private unnamed_addr constant [2 x i8] c")\00" @.str527 = private unnamed_addr constant [8 x i8] c"program\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 [2 x i8] c"}\00" @.str532 = private unnamed_addr constant [2 x i8] c"@\00" @.str533 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str534 = private unnamed_addr constant [5 x i8] c"Sync\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 [2 x i8] c"}\00" @.str539 = private unnamed_addr constant [12 x i8] c"cancellable\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 [2 x i8] c"=\00" @.str544 = private unnamed_addr constant [2 x i8] c",\00" @.str545 = private unnamed_addr constant [2 x i8] c"}\00" @.str546 = private unnamed_addr constant [7 x i8] c"Update\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 [6 x i8] c"phase\00" @.str552 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str553 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\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 [2 x i8] c"}\00" @.str558 = private unnamed_addr constant [2 x i8] c",\00" @.str559 = private unnamed_addr constant [2 x i8] c"]\00" @.str560 = private unnamed_addr constant [6 x i8] c"where\00" @.str561 = private unnamed_addr constant [2 x i8] c"(\00" @.str562 = private unnamed_addr constant [2 x i8] c")\00" @.str563 = private unnamed_addr constant [2 x i8] c",\00" @.str564 = private unnamed_addr constant [2 x i8] c")\00" @.str565 = private unnamed_addr constant [6 x i8] c"query\00" @.str566 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" @.str567 = private unnamed_addr constant [4 x i8] c"and\00" @.str568 = private unnamed_addr constant [2 x i8] c"(\00" @.str569 = private unnamed_addr constant [2 x i8] c")\00" @.str570 = private unnamed_addr constant [2 x i8] c")\00" @.str571 = private unnamed_addr constant [2 x i8] c":\00" @.str572 = private unnamed_addr constant [6 x i8] c"these\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 [3 x i8] c"on\00" @.str580 = private unnamed_addr constant [2 x i8] c",\00" @.str581 = private unnamed_addr constant [2 x i8] c")\00" @.str582 = private unnamed_addr constant [2 x i8] c"{\00" @.str583 = private unnamed_addr constant [2 x i8] c"}\00" @.str584 = private unnamed_addr constant [2 x i8] c"}\00" @.str585 = private unnamed_addr constant [2 x i8] c",\00" @.str586 = private unnamed_addr constant [2 x i8] c":\00" @.str587 = private unnamed_addr constant [2 x i8] c"{\00" @.str588 = private unnamed_addr constant [2 x i8] c"}\00" @.str589 = private unnamed_addr constant [6 x i8] c"start\00" @.str590 = private unnamed_addr constant [7 x i8] c"public\00" @.str591 = private unnamed_addr constant [6 x i8] c"shows\00" @.str592 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str593 = private unnamed_addr constant [6 x i8] c"loads\00" @.str594 = private unnamed_addr constant [6 x i8] c"start\00" @.str595 = private unnamed_addr constant [6 x i8] c"shows\00" @.str596 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str597 = private unnamed_addr constant [5 x i8] c"then\00" @.str598 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" @.str599 = private unnamed_addr constant [6 x i8] c"loads\00" @.str600 = private unnamed_addr constant [5 x i8] c"then\00" @.str601 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" @.str602 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str603 = private unnamed_addr constant [7 x i8] c"_enter\00" @.str604 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str605 = private unnamed_addr constant [6 x i8] c"_exit\00" @.str606 = private unnamed_addr constant [2 x i8] c"{\00" @.str607 = private unnamed_addr constant [2 x i8] c"}\00" @.str608 = private unnamed_addr constant [3 x i8] c"on\00" @.str609 = private unnamed_addr constant [6 x i8] c"enter\00" @.str610 = private unnamed_addr constant [5 x i8] c"exit\00" @.str611 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" @.str612 = private unnamed_addr constant [6 x i8] c"layer\00" @.str613 = private unnamed_addr constant [7 x i8] c"public\00" @.str614 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str615 = private unnamed_addr constant [6 x i8] c"_show\00" @.str616 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str617 = private unnamed_addr constant [6 x i8] c"_hide\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 [2 x i8] c"@\00" @.str621 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str622 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" @.str623 = private unnamed_addr constant [2 x i8] c")\00" @.str624 = private unnamed_addr constant [8 x i8] c"handler\00" @.str625 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" @.str626 = private unnamed_addr constant [2 x i8] c"_\00" @.str627 = private unnamed_addr constant [2 x i8] c"}\00" @.str628 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" @.str629 = private unnamed_addr constant [2 x i8] c"}\00" @.str630 = private unnamed_addr constant [8 x i8] c"_Loader\00" @.str631 = private unnamed_addr constant [7 x i8] c"Update\00" @.str632 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str633 = private unnamed_addr constant [5 x i8] c"pump\00" @.str634 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str635 = private unnamed_addr constant [6 x i8] c"ready\00" @.str636 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" @.str637 = private unnamed_addr constant [7 x i8] c"Render\00" @.str638 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" @.str639 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str640 = private unnamed_addr constant [6 x i8] c"_left\00" @.str641 = private unnamed_addr constant [4 x i8] c"int\00" @.str642 = private unnamed_addr constant [2 x i8] c"=\00" @.str643 = private unnamed_addr constant [7 x i8] c"_Timer\00" @.str644 = private unnamed_addr constant [7 x i8] c"Update\00" @.str645 = private unnamed_addr constant [3 x i8] c"-=\00" @.str646 = private unnamed_addr constant [3 x i8] c"<=\00" @.str647 = private unnamed_addr constant [3 x i8] c"id\00" @.str648 = private unnamed_addr constant [5 x i8] c"goto\00" @.str649 = private unnamed_addr constant [3 x i8] c"==\00" @.str650 = private unnamed_addr constant [3 x i8] c"id\00" @.str651 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str652 = private unnamed_addr constant [10 x i8] c"UiClicked\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 [2 x i8] c")\00" @.str657 = private unnamed_addr constant [2 x i8] c",\00" @.str658 = private unnamed_addr constant [2 x i8] c")\00" @.str659 = private unnamed_addr constant [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"Sync\00" @.str665 = private unnamed_addr constant [2 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 [5 x i8] c"void\00" @.str673 = private unnamed_addr constant [3 x i8] c"->\00" @.str674 = private unnamed_addr constant [2 x i8] c"=\00" @.str675 = private unnamed_addr constant [2 x i8] c":\00" @.str676 = private unnamed_addr constant [2 x i8] c":\00" @.str677 = private unnamed_addr constant [2 x i8] c"{\00" @.str678 = private unnamed_addr constant [2 x i8] c"}\00" @.str679 = private unnamed_addr constant [2 x i8] c"}\00" @.str680 = private unnamed_addr constant [2 x i8] c"{\00" @.str681 = private unnamed_addr constant [2 x i8] c"}\00" @.str682 = private unnamed_addr constant [3 x i8] c" \00" @.str683 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" @.str684 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str685 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str686 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str687 = private unnamed_addr constant [4 x i8] c", 1\00" @.str688 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str689 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str690 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str691 = private unnamed_addr constant [3 x i8] c"%t\00" @.str692 = private unnamed_addr constant [3 x i8] c" \00" @.str693 = private unnamed_addr constant [11 x i8] c" = alloca \00" @.str694 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str695 = private unnamed_addr constant [3 x i8] c"%t\00" @.str696 = private unnamed_addr constant [4 x i8] c"int\00" @.str697 = private unnamed_addr constant [5 x i8] c"bool\00" @.str698 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str699 = private unnamed_addr constant [7 x i8] c"entity\00" @.str700 = private unnamed_addr constant [4 x i8] c"i32\00" @.str701 = private unnamed_addr constant [4 x i8] c"i32\00" @.str702 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str703 = private unnamed_addr constant [4 x i8] c"i32\00" @.str704 = private unnamed_addr constant [5 x i8] c"long\00" @.str705 = private unnamed_addr constant [4 x i8] c"i64\00" @.str706 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str707 = private unnamed_addr constant [4 x i8] c"i64\00" @.str708 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str709 = private unnamed_addr constant [4 x i8] c"i64\00" @.str710 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str711 = private unnamed_addr constant [5 x i8] c"i128\00" @.str712 = private unnamed_addr constant [5 x i8] c"byte\00" @.str713 = private unnamed_addr constant [3 x i8] c"i8\00" @.str714 = private unnamed_addr constant [6 x i8] c"words\00" @.str715 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str716 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str717 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str718 = private unnamed_addr constant [5 x i8] c"void\00" @.str719 = private unnamed_addr constant [5 x i8] c"void\00" @.str720 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str721 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" @.str722 = private unnamed_addr constant [4 x i8] c"int\00" @.str723 = private unnamed_addr constant [10 x i8] c"EndReason\00" @.str724 = private unnamed_addr constant [10 x i8] c"Despawned\00" @.str725 = private unnamed_addr constant [10 x i8] c"SceneExit\00" @.str726 = private unnamed_addr constant [5 x i8] c"Quit\00" @.str727 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str728 = private unnamed_addr constant [2 x i8] c".\00" @.str729 = private unnamed_addr constant [2 x i8] c".\00" @.str730 = private unnamed_addr constant [3 x i8] c"of\00" @.str731 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str732 = private unnamed_addr constant [5 x i8] c"make\00" @.str733 = private unnamed_addr constant [5 x i8] c"zero\00" @.str734 = private unnamed_addr constant [4 x i8] c"add\00" @.str735 = private unnamed_addr constant [4 x i8] c"sub\00" @.str736 = private unnamed_addr constant [6 x i8] c"scale\00" @.str737 = private unnamed_addr constant [6 x i8] c"along\00" @.str738 = private unnamed_addr constant [5 x i8] c"step\00" @.str739 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str740 = private unnamed_addr constant [4 x i8] c"Map\00" @.str741 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str742 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str743 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str744 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str745 = private unnamed_addr constant [9 x i8] c"Collider\00" @.str746 = private unnamed_addr constant [7 x i8] c"center\00" @.str747 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str748 = private unnamed_addr constant [6 x i8] c"Input\00" @.str749 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str750 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str751 = private unnamed_addr constant [2 x i8] c"_\00" @.str752 = private unnamed_addr constant [3 x i8] c"[]\00" @.str753 = private unnamed_addr constant [7 x i8] c"string\00" @.str754 = private unnamed_addr constant [4 x i8] c"int\00" @.str755 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str756 = private unnamed_addr constant [5 x i8] c"bool\00" @.str757 = private unnamed_addr constant [7 x i8] c"entity\00" @.str758 = private unnamed_addr constant [4 x i8] c"int\00" @.str759 = private unnamed_addr constant [7 x i8] c"reason\00" @.str760 = private unnamed_addr constant [4 x i8] c"int\00" @.str761 = private unnamed_addr constant [6 x i8] c"@.str\00" @.str762 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" @.str763 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str764 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str765 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str766 = private unnamed_addr constant [5 x i8] c"null\00" @.str767 = private unnamed_addr constant [2 x i8] c"0\00" @.str768 = private unnamed_addr constant [2 x i8] c"-\00" @.str769 = private unnamed_addr constant [2 x i8] c"-\00" @.str770 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str771 = private unnamed_addr constant [5 x i8] c"null\00" @.str772 = private unnamed_addr constant [2 x i8] c"0\00" @.str773 = private unnamed_addr constant [2 x i8] c"-\00" @.str774 = private unnamed_addr constant [5 x i8] c"void\00" @.str775 = private unnamed_addr constant [9 x i8] c" store \00" @.str776 = private unnamed_addr constant [2 x i8] c" \00" @.str777 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str778 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str779 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str780 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00" @.str781 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str782 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" @.str783 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" @.str784 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" @.str785 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" @.str786 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" @.str787 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" @.str788 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" @.str789 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" @.str790 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" @.str791 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" @.str792 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" @.str793 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" @.str794 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" @.str795 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" @.str796 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" @.str797 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" @.str798 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" @.str799 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" @.str800 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" @.str801 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" @.str802 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" @.str803 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" @.str804 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" @.str805 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" @.str806 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" @.str807 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" @.str808 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" @.str809 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" @.str810 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" @.str811 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" @.str812 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" @.str813 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" @.str814 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" @.str815 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" @.str816 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" @.str817 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" @.str818 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" @.str819 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" @.str820 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" @.str821 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" @.str822 = private unnamed_addr constant [37 x i8] c"declare void @snd_set_pan(ptr, i32)\0A\00" @.str823 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" @.str824 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" @.str825 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" @.str826 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" @.str827 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" @.str828 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" @.str829 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" @.str830 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" @.str831 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" @.str832 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" @.str833 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" @.str834 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" @.str835 = 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" @.str836 = 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" @.str837 = 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" @.str838 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" @.str839 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" @.str840 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" @.str841 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" @.str842 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str843 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str844 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" @.str845 = private unnamed_addr constant [10 x i8] c"property \00" @.str846 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" @.str847 = private unnamed_addr constant [10 x i8] c"property \00" @.str848 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str849 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str850 = private unnamed_addr constant [4 x i8] c"i32\00" @.str851 = private unnamed_addr constant [3 x i8] c", \00" @.str852 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str853 = private unnamed_addr constant [10 x i8] c"variable \00" @.str854 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" @.str855 = private unnamed_addr constant [10 x i8] c"variable \00" @.str856 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str857 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str858 = private unnamed_addr constant [20 x i8] c" = internal global \00" @.str859 = private unnamed_addr constant [2 x i8] c" \00" @.str860 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str861 = private unnamed_addr constant [9 x i8] c"declare \00" @.str862 = private unnamed_addr constant [3 x i8] c" @\00" @.str863 = private unnamed_addr constant [2 x i8] c"(\00" @.str864 = private unnamed_addr constant [3 x i8] c", \00" @.str865 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str866 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00" @.str867 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" @.str868 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str869 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" @.str870 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" @.str871 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" @.str872 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" @.str873 = 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" @.str874 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str875 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" @.str876 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00" @.str877 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" @.str878 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" @.str879 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" @.str880 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" @.str881 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" @.str882 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" @.str883 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" @.str884 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" @.str885 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" @.str886 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" @.str887 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" @.str888 = 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" @.str889 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" @.str890 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" @.str891 = 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" @.str892 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" @.str893 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" @.str894 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" @.str895 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" @.str896 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" @.str897 = 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" @.str898 = 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" @.str899 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" @.str900 = 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" @.str901 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00" @.str902 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str903 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" @.str904 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" @.str905 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str906 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str907 = 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" @.str908 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str909 = 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" @.str910 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str911 = 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" @.str912 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str913 = 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" @.str914 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str915 = 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" @.str916 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str917 = 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" @.str918 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00" @.str919 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str920 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" @.str921 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" @.str922 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str923 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str924 = 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" @.str925 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str926 = 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" @.str927 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str928 = 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" @.str929 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str930 = 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" @.str931 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str932 = 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" @.str933 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str934 = 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" @.str935 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" @.str936 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" @.str937 = 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" @.str938 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str939 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" @.str940 = 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" @.str941 = 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" @.str942 = 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" @.str943 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" @.str944 = private unnamed_addr constant [15 x i8] c"no such field \00" @.str945 = private unnamed_addr constant [3 x i8] c" \00" @.str946 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str947 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str948 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str949 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str950 = private unnamed_addr constant [6 x i8] c"words\00" @.str951 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str952 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str953 = private unnamed_addr constant [4 x i8] c"int\00" @.str954 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str955 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str956 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str957 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str958 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str959 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" @.str960 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str961 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str962 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str963 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str964 = private unnamed_addr constant [5 x i8] c"byte\00" @.str965 = private unnamed_addr constant [3 x i8] c" \00" @.str966 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str967 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str968 = private unnamed_addr constant [3 x i8] c" \00" @.str969 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" @.str970 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str971 = private unnamed_addr constant [3 x i8] c" \00" @.str972 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str973 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str974 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str975 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str976 = private unnamed_addr constant [7 x i8] c"resize\00" @.str977 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str978 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str979 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str980 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str981 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str982 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str983 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str984 = private unnamed_addr constant [4 x i8] c"arg\00" @.str985 = private unnamed_addr constant [5 x i8] c"exit\00" @.str986 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str987 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str988 = private unnamed_addr constant [4 x i8] c"run\00" @.str989 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str990 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str991 = private unnamed_addr constant [3 x i8] c" \00" @.str992 = private unnamed_addr constant [4 x i8] c" = \00" @.str993 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str994 = private unnamed_addr constant [7 x i8] c"resize\00" @.str995 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str996 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str997 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str998 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str999 = private unnamed_addr constant [2 x i8] c")\00" @.str1000 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1001 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str1002 = private unnamed_addr constant [27 x i8] c"call ptr @lp_pak_open(ptr \00" @.str1003 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1004 = private unnamed_addr constant [2 x i8] c")\00" @.str1005 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1006 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str1007 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1008 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1009 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1010 = private unnamed_addr constant [7 x i8] c"@fread\00" @.str1011 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1012 = private unnamed_addr constant [8 x i8] c"@fwrite\00" @.str1013 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str1014 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str1015 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str1016 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1017 = private unnamed_addr constant [2 x i8] c")\00" @.str1018 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1019 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1020 = private unnamed_addr constant [4 x i8] c"int\00" @.str1021 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1022 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1023 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1024 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" @.str1025 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1026 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1027 = private unnamed_addr constant [2 x i8] c")\00" @.str1028 = private unnamed_addr constant [4 x i8] c"int\00" @.str1029 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1030 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" @.str1031 = private unnamed_addr constant [2 x i8] c")\00" @.str1032 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1033 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1034 = private unnamed_addr constant [4 x i8] c"int\00" @.str1035 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1036 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" @.str1037 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1038 = private unnamed_addr constant [2 x i8] c"0\00" @.str1039 = private unnamed_addr constant [5 x i8] c"void\00" @.str1040 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1041 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" @.str1042 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1043 = private unnamed_addr constant [2 x i8] c"0\00" @.str1044 = private unnamed_addr constant [5 x i8] c"void\00" @.str1045 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1046 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str1047 = private unnamed_addr constant [4 x i8] c"int\00" @.str1048 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1049 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str1050 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str1051 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1052 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str1053 = private unnamed_addr constant [7 x i8] c"string\00" @.str1054 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1055 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str1056 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1057 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str1058 = private unnamed_addr constant [2 x i8] c"0\00" @.str1059 = private unnamed_addr constant [5 x i8] c"void\00" @.str1060 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1061 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1062 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1063 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1064 = private unnamed_addr constant [4 x i8] c"run\00" @.str1065 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" @.str1066 = private unnamed_addr constant [2 x i8] c")\00" @.str1067 = private unnamed_addr constant [4 x i8] c"int\00" @.str1068 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1069 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str1070 = private unnamed_addr constant [2 x i8] c")\00" @.str1071 = private unnamed_addr constant [7 x i8] c"string\00" @.str1072 = private unnamed_addr constant [2 x i8] c"0\00" @.str1073 = private unnamed_addr constant [5 x i8] c"void\00" @.str1074 = private unnamed_addr constant [28 x i8] c"call ptr @lp_win_stdio(i32 \00" @.str1075 = private unnamed_addr constant [2 x i8] c")\00" @.str1076 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str1077 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" @.str1078 = private unnamed_addr constant [5 x i8] c"free\00" @.str1079 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1080 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1081 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1082 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1083 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1084 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1085 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1086 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1087 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1088 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1089 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1090 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1091 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1092 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1093 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1094 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1095 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1096 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1097 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1098 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1099 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1100 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1101 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1102 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str1103 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1104 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1105 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1106 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1107 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1108 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1109 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1110 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1111 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1112 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1113 = private unnamed_addr constant [5 x i8] c"free\00" @.str1114 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str1115 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1116 = private unnamed_addr constant [2 x i8] c"0\00" @.str1117 = private unnamed_addr constant [5 x i8] c"void\00" @.str1118 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1119 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1120 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1121 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str1122 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1123 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1124 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1125 = private unnamed_addr constant [2 x i8] c"0\00" @.str1126 = private unnamed_addr constant [5 x i8] c"void\00" @.str1127 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1128 = private unnamed_addr constant [3 x i8] c" \00" @.str1129 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str1130 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1131 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1132 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1133 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1134 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" @.str1135 = private unnamed_addr constant [4 x i8] c"int\00" @.str1136 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1137 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1138 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1139 = private unnamed_addr constant [4 x i8] c"int\00" @.str1140 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1141 = private unnamed_addr constant [2 x i8] c"1\00" @.str1142 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1143 = private unnamed_addr constant [2 x i8] c"0\00" @.str1144 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1145 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1146 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" @.str1147 = private unnamed_addr constant [7 x i8] c"string\00" @.str1148 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1149 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" @.str1150 = private unnamed_addr constant [4 x i8] c"int\00" @.str1151 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1152 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" @.str1153 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1154 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1155 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" @.str1156 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1157 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1158 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1159 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1160 = private unnamed_addr constant [2 x i8] c"0\00" @.str1161 = private unnamed_addr constant [5 x i8] c"void\00" @.str1162 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1163 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" @.str1164 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1165 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1166 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1167 = private unnamed_addr constant [2 x i8] c"0\00" @.str1168 = private unnamed_addr constant [5 x i8] c"void\00" @.str1169 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1170 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" @.str1171 = private unnamed_addr constant [2 x i8] c"0\00" @.str1172 = private unnamed_addr constant [5 x i8] c"void\00" @.str1173 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1174 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" @.str1175 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1176 = private unnamed_addr constant [2 x i8] c"0\00" @.str1177 = private unnamed_addr constant [5 x i8] c"void\00" @.str1178 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1179 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" @.str1180 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1181 = private unnamed_addr constant [2 x i8] c"0\00" @.str1182 = private unnamed_addr constant [5 x i8] c"void\00" @.str1183 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1184 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" @.str1185 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1186 = private unnamed_addr constant [2 x i8] c"0\00" @.str1187 = private unnamed_addr constant [5 x i8] c"void\00" @.str1188 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1189 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" @.str1190 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1191 = private unnamed_addr constant [2 x i8] c"0\00" @.str1192 = private unnamed_addr constant [5 x i8] c"void\00" @.str1193 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1194 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(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_load\00" @.str1199 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" @.str1200 = private unnamed_addr constant [2 x i8] c")\00" @.str1201 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1202 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1203 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" @.str1204 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1205 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1206 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1207 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1208 = private unnamed_addr constant [2 x i8] c"0\00" @.str1209 = private unnamed_addr constant [5 x i8] c"void\00" @.str1210 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1211 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" @.str1212 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1213 = private unnamed_addr constant [2 x i8] c"0\00" @.str1214 = private unnamed_addr constant [5 x i8] c"void\00" @.str1215 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1216 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" @.str1217 = private unnamed_addr constant [2 x i8] c")\00" @.str1218 = private unnamed_addr constant [4 x i8] c"int\00" @.str1219 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1220 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" @.str1221 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1222 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1223 = private unnamed_addr constant [2 x i8] c"0\00" @.str1224 = private unnamed_addr constant [5 x i8] c"void\00" @.str1225 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1226 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" @.str1227 = private unnamed_addr constant [7 x i8] c", i32 \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"snd_set_pan\00" @.str1232 = private unnamed_addr constant [30 x i8] c" call void @snd_set_pan(ptr \00" @.str1233 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1234 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1235 = private unnamed_addr constant [2 x i8] c"0\00" @.str1236 = private unnamed_addr constant [5 x i8] c"void\00" @.str1237 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1238 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" @.str1239 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1240 = private unnamed_addr constant [2 x i8] c")\00" @.str1241 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1242 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1243 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" @.str1244 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1245 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1246 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1247 = private unnamed_addr constant [2 x i8] c"0\00" @.str1248 = private unnamed_addr constant [5 x i8] c"void\00" @.str1249 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1250 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" @.str1251 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1252 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1253 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1254 = private unnamed_addr constant [2 x i8] c"0\00" @.str1255 = private unnamed_addr constant [5 x i8] c"void\00" @.str1256 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1257 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" @.str1258 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1259 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1260 = private unnamed_addr constant [2 x i8] c"0\00" @.str1261 = private unnamed_addr constant [5 x i8] c"void\00" @.str1262 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1263 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" @.str1264 = private unnamed_addr constant [2 x i8] c")\00" @.str1265 = private unnamed_addr constant [4 x i8] c"int\00" @.str1266 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1267 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" @.str1268 = private unnamed_addr constant [2 x i8] c")\00" @.str1269 = private unnamed_addr constant [4 x i8] c"int\00" @.str1270 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1271 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" @.str1272 = private unnamed_addr constant [2 x i8] c")\00" @.str1273 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1274 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1275 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" @.str1276 = private unnamed_addr constant [2 x i8] c")\00" @.str1277 = private unnamed_addr constant [4 x i8] c"int\00" @.str1278 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1279 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" @.str1280 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1281 = private unnamed_addr constant [2 x i8] c")\00" @.str1282 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1283 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1284 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" @.str1285 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1286 = private unnamed_addr constant [2 x i8] c"0\00" @.str1287 = private unnamed_addr constant [5 x i8] c"void\00" @.str1288 = private unnamed_addr constant [2 x i8] c"0\00" @.str1289 = private unnamed_addr constant [5 x i8] c"void\00" @.str1290 = private unnamed_addr constant [4 x i8] c"min\00" @.str1291 = private unnamed_addr constant [4 x i8] c"max\00" @.str1292 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1293 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1294 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1295 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1296 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1297 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1298 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1299 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1300 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1301 = private unnamed_addr constant [4 x i8] c"min\00" @.str1302 = private unnamed_addr constant [4 x i8] c"max\00" @.str1303 = private unnamed_addr constant [4 x i8] c"slt\00" @.str1304 = private unnamed_addr constant [4 x i8] c"max\00" @.str1305 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str1306 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str1307 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str1308 = private unnamed_addr constant [3 x i8] c", \00" @.str1309 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1310 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1311 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1312 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1313 = private unnamed_addr constant [3 x i8] c", \00" @.str1314 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1315 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1316 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1317 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1318 = private unnamed_addr constant [3 x i8] c", \00" @.str1319 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1320 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1321 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1322 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1323 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1324 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1325 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1326 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str1327 = private unnamed_addr constant [3 x i8] c", \00" @.str1328 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str1329 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1330 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1331 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1332 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1333 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1334 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str1335 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1336 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1337 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1338 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str1339 = private unnamed_addr constant [3 x i8] c", \00" @.str1340 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1341 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1342 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1343 = private unnamed_addr constant [3 x i8] c", \00" @.str1344 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1345 = private unnamed_addr constant [3 x i8] c", \00" @.str1346 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1347 = private unnamed_addr constant [3 x i8] c", \00" @.str1348 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1349 = private unnamed_addr constant [3 x i8] c", \00" @.str1350 = private unnamed_addr constant [4 x i8] c"min\00" @.str1351 = private unnamed_addr constant [4 x i8] c"max\00" @.str1352 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1353 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1354 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1355 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1356 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1357 = private unnamed_addr constant [6 x i8] c"round\00" @.str1358 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1359 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1360 = private unnamed_addr constant [6 x i8] c"remap\00" @.str1361 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1362 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1363 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1364 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1365 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1366 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1367 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1368 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1369 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1370 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1371 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1372 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1373 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str1374 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str1375 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1376 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str1377 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1378 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1379 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1380 = private unnamed_addr constant [4 x i8] c"log\00" @.str1381 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1382 = private unnamed_addr constant [4 x i8] c"min\00" @.str1383 = private unnamed_addr constant [4 x i8] c"max\00" @.str1384 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1385 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1386 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1387 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1388 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1389 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1390 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1391 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1392 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1393 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1394 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1395 = private unnamed_addr constant [4 x i8] c"int\00" @.str1396 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1397 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1398 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1399 = private unnamed_addr constant [4 x i8] c"int\00" @.str1400 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1401 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1402 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str1403 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1404 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1405 = private unnamed_addr constant [4 x i8] c"int\00" @.str1406 = private unnamed_addr constant [6 x i8] c"round\00" @.str1407 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1408 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str1409 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1410 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1411 = private unnamed_addr constant [4 x i8] c"int\00" @.str1412 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1413 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1414 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1415 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1416 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1417 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(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 [4 x i8] c"sin\00" @.str1421 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1422 = private unnamed_addr constant [2 x i8] c")\00" @.str1423 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1424 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1425 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1426 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1427 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1428 = private unnamed_addr constant [2 x i8] c")\00" @.str1429 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1430 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1431 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1432 = private unnamed_addr constant [2 x i8] c")\00" @.str1433 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1434 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1435 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1436 = private unnamed_addr constant [2 x i8] c")\00" @.str1437 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1438 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1439 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1440 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1441 = private unnamed_addr constant [2 x i8] c")\00" @.str1442 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1443 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1444 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1445 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1446 = private unnamed_addr constant [2 x i8] c")\00" @.str1447 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1448 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1449 = private unnamed_addr constant [2 x i8] c")\00" @.str1450 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1451 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1452 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str1453 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1454 = private unnamed_addr constant [2 x i8] c")\00" @.str1455 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1456 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1457 = private unnamed_addr constant [2 x i8] c")\00" @.str1458 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1459 = private unnamed_addr constant [6 x i8] c"hypot\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 [6 x i8] c"dist2\00" @.str1466 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1467 = private unnamed_addr constant [3 x i8] c", \00" @.str1468 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1469 = private unnamed_addr constant [3 x i8] c", \00" @.str1470 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1471 = private unnamed_addr constant [3 x i8] c", \00" @.str1472 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1473 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1474 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1475 = private unnamed_addr constant [3 x i8] c", \00" @.str1476 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1477 = private unnamed_addr constant [3 x i8] c", \00" @.str1478 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1479 = private unnamed_addr constant [3 x i8] c", \00" @.str1480 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1481 = private unnamed_addr constant [2 x i8] c")\00" @.str1482 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1483 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1484 = private unnamed_addr constant [6 x i8] c"94548\00" @.str1485 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1486 = private unnamed_addr constant [2 x i8] c")\00" @.str1487 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1488 = private unnamed_addr constant [4 x i8] c"log\00" @.str1489 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1490 = private unnamed_addr constant [2 x i8] c")\00" @.str1491 = private unnamed_addr constant [6 x i8] c"45426\00" @.str1492 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1493 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1494 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str1495 = private unnamed_addr constant [2 x i8] c")\00" @.str1496 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str1497 = private unnamed_addr constant [2 x i8] c")\00" @.str1498 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1499 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1500 = private unnamed_addr constant [5 x i8] c"1144\00" @.str1501 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1502 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1503 = private unnamed_addr constant [8 x i8] c"3754936\00" @.str1504 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1505 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1506 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1507 = private unnamed_addr constant [3 x i8] c", \00" @.str1508 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1509 = private unnamed_addr constant [3 x i8] c", \00" @.str1510 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1511 = private unnamed_addr constant [3 x i8] c", \00" @.str1512 = private unnamed_addr constant [4 x i8] c"int\00" @.str1513 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1514 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1515 = private unnamed_addr constant [3 x i8] c", \00" @.str1516 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1517 = private unnamed_addr constant [3 x i8] c", \00" @.str1518 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1519 = private unnamed_addr constant [3 x i8] c", \00" @.str1520 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1521 = private unnamed_addr constant [3 x i8] c", \00" @.str1522 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1523 = private unnamed_addr constant [3 x i8] c", \00" @.str1524 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1525 = private unnamed_addr constant [3 x i8] c", \00" @.str1526 = private unnamed_addr constant [4 x i8] c"int\00" @.str1527 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str1528 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1529 = private unnamed_addr constant [4 x i8] c", 2\00" @.str1530 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1531 = private unnamed_addr constant [3 x i8] c", \00" @.str1532 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1533 = private unnamed_addr constant [3 x i8] c", \00" @.str1534 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str1535 = private unnamed_addr constant [3 x i8] c", \00" @.str1536 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1537 = private unnamed_addr constant [3 x i8] c", \00" @.str1538 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1539 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1540 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1541 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1542 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1543 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1544 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1545 = private unnamed_addr constant [3 x i8] c", \00" @.str1546 = private unnamed_addr constant [4 x i8] c"int\00" @.str1547 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str1548 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1549 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str1550 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1551 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1552 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1553 = private unnamed_addr constant [3 x i8] c", \00" @.str1554 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1555 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1556 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1557 = private unnamed_addr constant [3 x i8] c", \00" @.str1558 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1559 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1560 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1561 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1562 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1563 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1564 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1565 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1566 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1567 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1568 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1569 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1570 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1571 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1572 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1573 = private unnamed_addr constant [3 x i8] c", \00" @.str1574 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1575 = private unnamed_addr constant [3 x i8] c", \00" @.str1576 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str1577 = private unnamed_addr constant [3 x i8] c", \00" @.str1578 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1579 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1580 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1581 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1582 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str1583 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1584 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1585 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1586 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str1587 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1588 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str1589 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1590 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str1591 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1592 = private unnamed_addr constant [4 x i8] c", 2\00" @.str1593 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" @.str1594 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1595 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1596 = 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" @.str1597 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00" @.str1598 = 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" @.str1599 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" @.str1600 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" @.str1601 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" @.str1602 = 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" @.str1603 = 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" @.str1604 = 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" @.str1605 = 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" @.str1606 = 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" @.str1607 = 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" @.str1608 = 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" @.str1609 = 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" @.str1610 = 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" @.str1611 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00" @.str1612 = 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" @.str1613 = 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" @.str1614 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" @.str1615 = 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" @.str1616 = 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" @.str1617 = 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" @.str1618 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00" @.str1619 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str1620 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" @.str1621 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" @.str1622 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" @.str1623 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" @.str1624 = private unnamed_addr constant [4 x i8] c"z:\0A\00" @.str1625 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str1626 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str1627 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str1628 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" @.str1629 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" @.str1630 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" @.str1631 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" @.str1632 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" @.str1633 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" @.str1634 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" @.str1635 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" @.str1636 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str1637 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" @.str1638 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" @.str1639 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" @.str1640 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str1641 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" @.str1642 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" @.str1643 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" @.str1644 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" @.str1645 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" @.str1646 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" @.str1647 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" @.str1648 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" @.str1649 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" @.str1650 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" @.str1651 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" @.str1652 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" @.str1653 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" @.str1654 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" @.str1655 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" @.str1656 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" @.str1657 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" @.str1658 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" @.str1659 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" @.str1660 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" @.str1661 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" @.str1662 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" @.str1663 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" @.str1664 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" @.str1665 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" @.str1666 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" @.str1667 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" @.str1668 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" @.str1669 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" @.str1670 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" @.str1671 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" @.str1672 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" @.str1673 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str1674 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00" @.str1675 = 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" @.str1676 = 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" @.str1677 = 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" @.str1678 = 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" @.str1679 = 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" @.str1680 = 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" @.str1681 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" @.str1682 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" @.str1683 = 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" @.str1684 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" @.str1685 = 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" @.str1686 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" @.str1687 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" @.str1688 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" @.str1689 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00" @.str1690 = 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" @.str1691 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" @.str1692 = 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" @.str1693 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" @.str1694 = 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" @.str1695 = 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" @.str1696 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" @.str1697 = 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" @.str1698 = 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" @.str1699 = 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" @.str1700 = 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" @.str1701 = 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" @.str1702 = 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" @.str1703 = 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" @.str1704 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" @.str1705 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1706 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1707 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str1708 = private unnamed_addr constant [5 x i8] c", 32\00" @.str1709 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1710 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1711 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str1712 = private unnamed_addr constant [3 x i8] c", \00" @.str1713 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str1714 = private unnamed_addr constant [5 x i8] c", 32\00" @.str1715 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1716 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1717 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1718 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1719 = private unnamed_addr constant [5 x i8] c"make\00" @.str1720 = private unnamed_addr constant [5 x i8] c"zero\00" @.str1721 = private unnamed_addr constant [2 x i8] c"x\00" @.str1722 = private unnamed_addr constant [2 x i8] c"y\00" @.str1723 = private unnamed_addr constant [4 x i8] c"add\00" @.str1724 = private unnamed_addr constant [4 x i8] c"sub\00" @.str1725 = private unnamed_addr constant [6 x i8] c"scale\00" @.str1726 = private unnamed_addr constant [4 x i8] c"dot\00" @.str1727 = private unnamed_addr constant [7 x i8] c"length\00" @.str1728 = private unnamed_addr constant [9 x i8] c"distance\00" @.str1729 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str1730 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1731 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str1732 = private unnamed_addr constant [6 x i8] c"angle\00" @.str1733 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str1734 = private unnamed_addr constant [5 x i8] c"zero\00" @.str1735 = private unnamed_addr constant [2 x i8] c"0\00" @.str1736 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1737 = private unnamed_addr constant [5 x i8] c"make\00" @.str1738 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1739 = private unnamed_addr constant [2 x i8] c"x\00" @.str1740 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1741 = private unnamed_addr constant [2 x i8] c"y\00" @.str1742 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1743 = private unnamed_addr constant [4 x i8] c"add\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 [9 x i8] c"add i32 \00" @.str1747 = private unnamed_addr constant [3 x i8] c", \00" @.str1748 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1749 = private unnamed_addr constant [4 x i8] c"sub\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 [7 x i8] c"Vector\00" @.str1755 = private unnamed_addr constant [6 x i8] c"scale\00" @.str1756 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1757 = private unnamed_addr constant [4 x i8] c"dot\00" @.str1758 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1759 = private unnamed_addr constant [3 x i8] c", \00" @.str1760 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1761 = private unnamed_addr constant [7 x i8] c"length\00" @.str1762 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1763 = private unnamed_addr constant [3 x i8] c", \00" @.str1764 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1765 = private unnamed_addr constant [2 x i8] c")\00" @.str1766 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1767 = private unnamed_addr constant [9 x i8] c"distance\00" @.str1768 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1769 = private unnamed_addr constant [3 x i8] c", \00" @.str1770 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1771 = private unnamed_addr constant [3 x i8] c", \00" @.str1772 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1773 = private unnamed_addr constant [3 x i8] c", \00" @.str1774 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1775 = private unnamed_addr constant [2 x i8] c")\00" @.str1776 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1777 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str1778 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1779 = private unnamed_addr constant [3 x i8] c", \00" @.str1780 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str1781 = private unnamed_addr constant [2 x i8] c")\00" @.str1782 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str1783 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1784 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1785 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str1786 = private unnamed_addr constant [6 x i8] c"65536\00" @.str1787 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1788 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str1789 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1790 = private unnamed_addr constant [2 x i8] c")\00" @.str1791 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1792 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1793 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1794 = private unnamed_addr constant [2 x i8] c")\00" @.str1795 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1796 = private unnamed_addr constant [3 x i8] c", \00" @.str1797 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1798 = private unnamed_addr constant [3 x i8] c", \00" @.str1799 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1800 = private unnamed_addr constant [6 x i8] c"angle\00" @.str1801 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str1802 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1803 = private unnamed_addr constant [2 x i8] c")\00" @.str1804 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1805 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str1806 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1807 = private unnamed_addr constant [2 x i8] c")\00" @.str1808 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1809 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str1810 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str1811 = private unnamed_addr constant [2 x i8] c")\00" @.str1812 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1813 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1814 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1815 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1816 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1817 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1818 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1819 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1820 = private unnamed_addr constant [5 x i8] c"make\00" @.str1821 = private unnamed_addr constant [5 x i8] c"zero\00" @.str1822 = private unnamed_addr constant [2 x i8] c"x\00" @.str1823 = private unnamed_addr constant [2 x i8] c"y\00" @.str1824 = private unnamed_addr constant [4 x i8] c"add\00" @.str1825 = private unnamed_addr constant [4 x i8] c"sub\00" @.str1826 = private unnamed_addr constant [6 x i8] c"scale\00" @.str1827 = private unnamed_addr constant [4 x i8] c"dot\00" @.str1828 = private unnamed_addr constant [6 x i8] c"equal\00" @.str1829 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str1830 = private unnamed_addr constant [10 x i8] c"to_vector\00" @.str1831 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str1832 = private unnamed_addr constant [7 x i8] c"within\00" @.str1833 = private unnamed_addr constant [8 x i8] c"heading\00" @.str1834 = private unnamed_addr constant [6 x i8] c"along\00" @.str1835 = private unnamed_addr constant [5 x i8] c"step\00" @.str1836 = private unnamed_addr constant [5 x i8] c"zero\00" @.str1837 = private unnamed_addr constant [2 x i8] c"0\00" @.str1838 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1839 = private unnamed_addr constant [5 x i8] c"make\00" @.str1840 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1841 = private unnamed_addr constant [2 x i8] c"x\00" @.str1842 = private unnamed_addr constant [4 x i8] c"int\00" @.str1843 = private unnamed_addr constant [2 x i8] c"y\00" @.str1844 = private unnamed_addr constant [4 x i8] c"int\00" @.str1845 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str1846 = private unnamed_addr constant [7 x i8] c"within\00" @.str1847 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1848 = private unnamed_addr constant [3 x i8] c", \00" @.str1849 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1850 = private unnamed_addr constant [3 x i8] c", \00" @.str1851 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1852 = private unnamed_addr constant [3 x i8] c", \00" @.str1853 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1854 = private unnamed_addr constant [3 x i8] c", \00" @.str1855 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1856 = private unnamed_addr constant [3 x i8] c", \00" @.str1857 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str1858 = private unnamed_addr constant [4 x i8] c"int\00" @.str1859 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1860 = private unnamed_addr constant [3 x i8] c", \00" @.str1861 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str1862 = private unnamed_addr constant [3 x i8] c", \00" @.str1863 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1864 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1865 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1866 = private unnamed_addr constant [8 x i8] c"heading\00" @.str1867 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str1868 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" @.str1869 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00" @.str1870 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1871 = private unnamed_addr constant [2 x i8] c")\00" @.str1872 = private unnamed_addr constant [4 x i8] c"int\00" @.str1873 = private unnamed_addr constant [6 x i8] c"along\00" @.str1874 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str1875 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" @.str1876 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00" @.str1877 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1878 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1879 = private unnamed_addr constant [2 x i8] c")\00" @.str1880 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1881 = private unnamed_addr constant [5 x i8] c"step\00" @.str1882 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str1883 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" @.str1884 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(i32 \00" @.str1885 = private unnamed_addr constant [2 x i8] c")\00" @.str1886 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1887 = private unnamed_addr constant [4 x i8] c"add\00" @.str1888 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1889 = private unnamed_addr constant [3 x i8] c", \00" @.str1890 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1891 = private unnamed_addr constant [3 x i8] c", \00" @.str1892 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1893 = private unnamed_addr constant [4 x i8] c"sub\00" @.str1894 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1895 = private unnamed_addr constant [3 x i8] c", \00" @.str1896 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1897 = private unnamed_addr constant [3 x i8] c", \00" @.str1898 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1899 = private unnamed_addr constant [6 x i8] c"scale\00" @.str1900 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1901 = private unnamed_addr constant [3 x i8] c", \00" @.str1902 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1903 = private unnamed_addr constant [3 x i8] c", \00" @.str1904 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str1905 = private unnamed_addr constant [4 x i8] c"dot\00" @.str1906 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1907 = private unnamed_addr constant [3 x i8] c", \00" @.str1908 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1909 = private unnamed_addr constant [3 x i8] c", \00" @.str1910 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1911 = private unnamed_addr constant [3 x i8] c", \00" @.str1912 = private unnamed_addr constant [4 x i8] c"int\00" @.str1913 = private unnamed_addr constant [6 x i8] c"equal\00" @.str1914 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" @.str1915 = private unnamed_addr constant [3 x i8] c", \00" @.str1916 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1917 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1918 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1919 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str1920 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1921 = private unnamed_addr constant [3 x i8] c", \00" @.str1922 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str1923 = private unnamed_addr constant [3 x i8] c", \00" @.str1924 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1925 = private unnamed_addr constant [3 x i8] c", \00" @.str1926 = private unnamed_addr constant [4 x i8] c"int\00" @.str1927 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str1928 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1929 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str1930 = private unnamed_addr constant [5 x i8] c", 16\00" @.str1931 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str1932 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1933 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str1934 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str1935 = private unnamed_addr constant [5 x i8] c", 96\00" @.str1936 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1937 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str1938 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str1939 = private unnamed_addr constant [5 x i8] c", 64\00" @.str1940 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1941 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str1942 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str1943 = private unnamed_addr constant [5 x i8] c", 32\00" @.str1944 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1945 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str1946 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str1947 = private unnamed_addr constant [3 x i8] c", \00" @.str1948 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str1949 = private unnamed_addr constant [3 x i8] c", \00" @.str1950 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str1951 = private unnamed_addr constant [3 x i8] c", \00" @.str1952 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str1953 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1954 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" @.str1955 = private unnamed_addr constant [3 x i8] c", \00" @.str1956 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str1957 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1958 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str1959 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str1960 = private unnamed_addr constant [3 x i8] c", \00" @.str1961 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1962 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1963 = private unnamed_addr constant [5 x i8] c"make\00" @.str1964 = private unnamed_addr constant [2 x i8] c"x\00" @.str1965 = private unnamed_addr constant [2 x i8] c"y\00" @.str1966 = private unnamed_addr constant [2 x i8] c"w\00" @.str1967 = private unnamed_addr constant [2 x i8] c"h\00" @.str1968 = private unnamed_addr constant [6 x i8] c"right\00" @.str1969 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str1970 = private unnamed_addr constant [7 x i8] c"center\00" @.str1971 = private unnamed_addr constant [9 x i8] c"contains\00" @.str1972 = private unnamed_addr constant [11 x i8] c"intersects\00" @.str1973 = private unnamed_addr constant [5 x i8] c"make\00" @.str1974 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str1975 = private unnamed_addr constant [2 x i8] c"x\00" @.str1976 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1977 = private unnamed_addr constant [2 x i8] c"y\00" @.str1978 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1979 = private unnamed_addr constant [2 x i8] c"w\00" @.str1980 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1981 = private unnamed_addr constant [2 x i8] c"h\00" @.str1982 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1983 = private unnamed_addr constant [6 x i8] c"right\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 [6 x i8] c"fixed\00" @.str1987 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str1988 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1989 = private unnamed_addr constant [3 x i8] c", \00" @.str1990 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1991 = private unnamed_addr constant [7 x i8] c"center\00" @.str1992 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1993 = private unnamed_addr constant [4 x i8] c", 1\00" @.str1994 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str1995 = private unnamed_addr constant [4 x i8] c", 1\00" @.str1996 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1997 = private unnamed_addr constant [3 x i8] c", \00" @.str1998 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1999 = private unnamed_addr constant [3 x i8] c", \00" @.str2000 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2001 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2002 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2003 = private unnamed_addr constant [3 x i8] c", \00" @.str2004 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2005 = private unnamed_addr constant [3 x i8] c", \00" @.str2006 = private unnamed_addr constant [4 x i8] c"sge\00" @.str2007 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2008 = private unnamed_addr constant [4 x i8] c"sge\00" @.str2009 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2010 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2011 = private unnamed_addr constant [3 x i8] c", \00" @.str2012 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2013 = private unnamed_addr constant [3 x i8] c", \00" @.str2014 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2015 = private unnamed_addr constant [3 x i8] c", \00" @.str2016 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2017 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2018 = private unnamed_addr constant [3 x i8] c", \00" @.str2019 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2020 = private unnamed_addr constant [3 x i8] c", \00" @.str2021 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2022 = private unnamed_addr constant [3 x i8] c", \00" @.str2023 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2024 = private unnamed_addr constant [3 x i8] c", \00" @.str2025 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2026 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2027 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2028 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2029 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2030 = private unnamed_addr constant [3 x i8] c", \00" @.str2031 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2032 = private unnamed_addr constant [3 x i8] c", \00" @.str2033 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2034 = private unnamed_addr constant [3 x i8] c", \00" @.str2035 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2036 = private unnamed_addr constant [7 x i8] c"length\00" @.str2037 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2038 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2039 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2040 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2041 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2042 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2043 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2044 = private unnamed_addr constant [10 x i8] c"ends_with\00" @.str2045 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2046 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2047 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2048 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2049 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2050 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2051 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2052 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2053 = private unnamed_addr constant [6 x i8] c"split\00" @.str2054 = private unnamed_addr constant [5 x i8] c"join\00" @.str2055 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2056 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2057 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str2058 = private unnamed_addr constant [2 x i8] c")\00" @.str2059 = private unnamed_addr constant [7 x i8] c"string\00" @.str2060 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2061 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str2062 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2063 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2064 = private unnamed_addr constant [2 x i8] c")\00" @.str2065 = private unnamed_addr constant [7 x i8] c"string\00" @.str2066 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2067 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str2068 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2069 = private unnamed_addr constant [2 x i8] c")\00" @.str2070 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2071 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2072 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str2073 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2074 = private unnamed_addr constant [2 x i8] c")\00" @.str2075 = private unnamed_addr constant [7 x i8] c"string\00" @.str2076 = private unnamed_addr constant [7 x i8] c"length\00" @.str2077 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2078 = private unnamed_addr constant [2 x i8] c")\00" @.str2079 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2080 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2081 = private unnamed_addr constant [4 x i8] c"int\00" @.str2082 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2083 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2084 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2085 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str2086 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str2087 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2088 = private unnamed_addr constant [4 x i8] c"int\00" @.str2089 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2090 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" @.str2091 = private unnamed_addr constant [2 x i8] c")\00" @.str2092 = private unnamed_addr constant [4 x i8] c"int\00" @.str2093 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2094 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_upper(ptr \00" @.str2095 = private unnamed_addr constant [2 x i8] c")\00" @.str2096 = private unnamed_addr constant [7 x i8] c"string\00" @.str2097 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2098 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_lower(ptr \00" @.str2099 = private unnamed_addr constant [2 x i8] c")\00" @.str2100 = private unnamed_addr constant [7 x i8] c"string\00" @.str2101 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2102 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_trim(ptr \00" @.str2103 = private unnamed_addr constant [2 x i8] c")\00" @.str2104 = private unnamed_addr constant [7 x i8] c"string\00" @.str2105 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2106 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00" @.str2107 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2108 = private unnamed_addr constant [2 x i8] c")\00" @.str2109 = private unnamed_addr constant [7 x i8] c"string\00" @.str2110 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2111 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2112 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2113 = private unnamed_addr constant [8 x i8] c", i1 1)\00" @.str2114 = private unnamed_addr constant [7 x i8] c"string\00" @.str2115 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2116 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2117 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2118 = private unnamed_addr constant [8 x i8] c", i1 0)\00" @.str2119 = private unnamed_addr constant [7 x i8] c"string\00" @.str2120 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2121 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00" @.str2122 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2123 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2124 = private unnamed_addr constant [2 x i8] c")\00" @.str2125 = private unnamed_addr constant [7 x i8] c"string\00" @.str2126 = private unnamed_addr constant [6 x i8] c"split\00" @.str2127 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00" @.str2128 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2129 = private unnamed_addr constant [2 x i8] c")\00" @.str2130 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str2131 = private unnamed_addr constant [5 x i8] c"join\00" @.str2132 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00" @.str2133 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2134 = private unnamed_addr constant [2 x i8] c")\00" @.str2135 = private unnamed_addr constant [7 x i8] c"string\00" @.str2136 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2137 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2138 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" @.str2139 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2140 = private unnamed_addr constant [2 x i8] c")\00" @.str2141 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2142 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str2143 = private unnamed_addr constant [7 x i8] c", null\00" @.str2144 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2145 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2146 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2147 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str2148 = private unnamed_addr constant [7 x i8] c", null\00" @.str2149 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2150 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2151 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2152 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2153 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2154 = private unnamed_addr constant [3 x i8] c", \00" @.str2155 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2156 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2157 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2158 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str2159 = private unnamed_addr constant [4 x i8] c"int\00" @.str2160 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2161 = private unnamed_addr constant [2 x i8] c")\00" @.str2162 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2163 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2164 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2165 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2166 = private unnamed_addr constant [2 x i8] c")\00" @.str2167 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2168 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2169 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2170 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2171 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2172 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2173 = private unnamed_addr constant [2 x i8] c")\00" @.str2174 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2175 = private unnamed_addr constant [3 x i8] c", \00" @.str2176 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2177 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2178 = private unnamed_addr constant [2 x i8] c"0\00" @.str2179 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" @.str2180 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2181 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" @.str2182 = private unnamed_addr constant [7 x i8] c"ew_end\00" @.str2183 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str2184 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2185 = private unnamed_addr constant [10 x i8] c", label %\00" @.str2186 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2187 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2188 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2189 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2190 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str2191 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2192 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2193 = private unnamed_addr constant [2 x i8] c")\00" @.str2194 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2195 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2196 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2197 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2198 = private unnamed_addr constant [4 x i8] c"i32\00" @.str2199 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str2200 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str2201 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str2202 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str2203 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2204 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00" @.str2205 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2206 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2207 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2208 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2209 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2210 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2211 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2212 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2213 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2214 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2215 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2216 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2217 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2218 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2219 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" @.str2220 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" @.str2221 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2222 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" @.str2223 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2224 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2225 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2226 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2227 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2228 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2229 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2230 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2231 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2232 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2233 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2234 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00" @.str2235 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2236 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2237 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str2238 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2239 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2240 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2241 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2242 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2243 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2244 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2245 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2246 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2247 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2248 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str2249 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" @.str2250 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" @.str2251 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str2252 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" @.str2253 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str2254 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str2255 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str2256 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2257 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2258 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2259 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2260 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str2261 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2262 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2263 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2264 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00" @.str2265 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2266 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str2267 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" @.str2268 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" @.str2269 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" @.str2270 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" @.str2271 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2272 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" @.str2273 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" @.str2274 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" @.str2275 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" @.str2276 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" @.str2277 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" @.str2278 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" @.str2279 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" @.str2280 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00" @.str2281 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" @.str2282 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" @.str2283 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" @.str2284 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" @.str2285 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str2286 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" @.str2287 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" @.str2288 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" @.str2289 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" @.str2290 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" @.str2291 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" @.str2292 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" @.str2293 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" @.str2294 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" @.str2295 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00" @.str2296 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" @.str2297 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" @.str2298 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" @.str2299 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" @.str2300 = private unnamed_addr constant [8 x i8] c"build:\0A\00" @.str2301 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str2302 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" @.str2303 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" @.str2304 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" @.str2305 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2306 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" @.str2307 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" @.str2308 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" @.str2309 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2310 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2311 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2312 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00" @.str2313 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" @.str2314 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" @.str2315 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" @.str2316 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" @.str2317 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" @.str2318 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" @.str2319 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" @.str2320 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" @.str2321 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2322 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00" @.str2323 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2324 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" @.str2325 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" @.str2326 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" @.str2327 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2328 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" @.str2329 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" @.str2330 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2331 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2332 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2333 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2334 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2335 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2336 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str2337 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str2338 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2339 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" @.str2340 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" @.str2341 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" @.str2342 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2343 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2344 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2345 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str2346 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" @.str2347 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2348 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2349 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2350 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" @.str2351 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2352 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str2353 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" @.str2354 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" @.str2355 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" @.str2356 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str2357 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" @.str2358 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2359 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" @.str2360 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" @.str2361 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" @.str2362 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" @.str2363 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2364 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str2365 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" @.str2366 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" @.str2367 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str2368 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" @.str2369 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" @.str2370 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" @.str2371 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" @.str2372 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" @.str2373 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2374 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" @.str2375 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" @.str2376 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" @.str2377 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str2378 = private unnamed_addr constant [7 x i8] c"term:\0A\00" @.str2379 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" @.str2380 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2381 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2382 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2383 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" @.str2384 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2385 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2386 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2387 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2388 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2389 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2390 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" @.str2391 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" @.str2392 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2393 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" @.str2394 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" @.str2395 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" @.str2396 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2397 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2398 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2399 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2400 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str2401 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2402 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" @.str2403 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2404 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" @.str2405 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" @.str2406 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" @.str2407 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" @.str2408 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" @.str2409 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" @.str2410 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str2411 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" @.str2412 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str2413 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str2414 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" @.str2415 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" @.str2416 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str2417 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" @.str2418 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str2419 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str2420 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2421 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str2422 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str2423 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" @.str2424 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str2425 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" @.str2426 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str2427 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str2428 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str2429 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str2430 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" @.str2431 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str2432 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2433 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" @.str2434 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str2435 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" @.str2436 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" @.str2437 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" @.str2438 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" @.str2439 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2440 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str2441 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str2442 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2443 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2444 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2445 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" @.str2446 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str2447 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" @.str2448 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str2449 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" @.str2450 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" @.str2451 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str2452 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str2453 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str2454 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" @.str2455 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" @.str2456 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" @.str2457 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" @.str2458 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" @.str2459 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" @.str2460 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" @.str2461 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" @.str2462 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str2463 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str2464 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" @.str2465 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" @.str2466 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" @.str2467 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" @.str2468 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" @.str2469 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2470 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2471 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00" @.str2472 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2473 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" @.str2474 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" @.str2475 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" @.str2476 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" @.str2477 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" @.str2478 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str2479 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" @.str2480 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" @.str2481 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2482 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2483 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2484 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" @.str2485 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2486 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" @.str2487 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" @.str2488 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" @.str2489 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" @.str2490 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" @.str2491 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" @.str2492 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" @.str2493 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" @.str2494 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" @.str2495 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2496 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2497 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str2498 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" @.str2499 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" @.str2500 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" @.str2501 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" @.str2502 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" @.str2503 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" @.str2504 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" @.str2505 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" @.str2506 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str2507 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str2508 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str2509 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" @.str2510 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" @.str2511 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str2512 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" @.str2513 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" @.str2514 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" @.str2515 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" @.str2516 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" @.str2517 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" @.str2518 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" @.str2519 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" @.str2520 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" @.str2521 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" @.str2522 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" @.str2523 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" @.str2524 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" @.str2525 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" @.str2526 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" @.str2527 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" @.str2528 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" @.str2529 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" @.str2530 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" @.str2531 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" @.str2532 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" @.str2533 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" @.str2534 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" @.str2535 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str2536 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" @.str2537 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" @.str2538 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" @.str2539 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str2540 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2541 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00" @.str2542 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2543 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str2544 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str2545 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" @.str2546 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str2547 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str2548 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2549 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str2550 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str2551 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" @.str2552 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str2553 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" @.str2554 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str2555 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str2556 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str2557 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str2558 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" @.str2559 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str2560 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str2561 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" @.str2562 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str2563 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00" @.str2564 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" @.str2565 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00" @.str2566 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" @.str2567 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" @.str2568 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" @.str2569 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" @.str2570 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" @.str2571 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" @.str2572 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" @.str2573 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str2574 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str2575 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2576 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2577 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str2578 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" @.str2579 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2580 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" @.str2581 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" @.str2582 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" @.str2583 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str2584 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" @.str2585 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str2586 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" @.str2587 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" @.str2588 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str2589 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str2590 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str2591 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str2592 = private unnamed_addr constant [7 x i8] c"last:\0A\00" @.str2593 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" @.str2594 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str2595 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str2596 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" @.str2597 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" @.str2598 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00" @.str2599 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" @.str2600 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" @.str2601 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" @.str2602 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str2603 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" @.str2604 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" @.str2605 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" @.str2606 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" @.str2607 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2608 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2609 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str2610 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2611 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" @.str2612 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2613 = private unnamed_addr constant [3 x i8] c"of\00" @.str2614 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str2615 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str2616 = private unnamed_addr constant [4 x i8] c"mix\00" @.str2617 = private unnamed_addr constant [8 x i8] c"combine\00" @.str2618 = private unnamed_addr constant [5 x i8] c"of64\00" @.str2619 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str2620 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str2621 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str2622 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2623 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str2624 = private unnamed_addr constant [3 x i8] c", \00" @.str2625 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2626 = private unnamed_addr constant [14 x i8] c", -2048144789\00" @.str2627 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str2628 = private unnamed_addr constant [5 x i8] c", 13\00" @.str2629 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str2630 = private unnamed_addr constant [3 x i8] c", \00" @.str2631 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2632 = private unnamed_addr constant [14 x i8] c", -1028477387\00" @.str2633 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str2634 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2635 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str2636 = private unnamed_addr constant [3 x i8] c", \00" @.str2637 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2638 = private unnamed_addr constant [5 x i8] c", 33\00" @.str2639 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str2640 = private unnamed_addr constant [3 x i8] c", \00" @.str2641 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str2642 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" @.str2643 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2644 = private unnamed_addr constant [5 x i8] c", 33\00" @.str2645 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str2646 = private unnamed_addr constant [3 x i8] c", \00" @.str2647 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str2648 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" @.str2649 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2650 = private unnamed_addr constant [5 x i8] c", 33\00" @.str2651 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str2652 = private unnamed_addr constant [3 x i8] c", \00" @.str2653 = private unnamed_addr constant [3 x i8] c"of\00" @.str2654 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str2655 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00" @.str2656 = private unnamed_addr constant [2 x i8] c")\00" @.str2657 = private unnamed_addr constant [4 x i8] c"int\00" @.str2658 = private unnamed_addr constant [5 x i8] c"of64\00" @.str2659 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str2660 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00" @.str2661 = private unnamed_addr constant [2 x i8] c")\00" @.str2662 = private unnamed_addr constant [5 x i8] c"long\00" @.str2663 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str2664 = private unnamed_addr constant [5 x i8] c"long\00" @.str2665 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str2666 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00" @.str2667 = private unnamed_addr constant [2 x i8] c")\00" @.str2668 = private unnamed_addr constant [4 x i8] c"int\00" @.str2669 = private unnamed_addr constant [4 x i8] c"mix\00" @.str2670 = private unnamed_addr constant [4 x i8] c"int\00" @.str2671 = private unnamed_addr constant [2 x i8] c"0\00" @.str2672 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2673 = private unnamed_addr constant [14 x i8] c", -1640531527\00" @.str2674 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2675 = private unnamed_addr constant [4 x i8] c", 6\00" @.str2676 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str2677 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2678 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2679 = private unnamed_addr constant [3 x i8] c", \00" @.str2680 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2681 = private unnamed_addr constant [3 x i8] c", \00" @.str2682 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str2683 = private unnamed_addr constant [3 x i8] c", \00" @.str2684 = private unnamed_addr constant [4 x i8] c"int\00" @.str2685 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00" @.str2686 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2687 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" @.str2688 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" @.str2689 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2690 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2691 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2692 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2693 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2694 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2695 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str2696 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str2697 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str2698 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2699 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" @.str2700 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" @.str2701 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" @.str2702 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" @.str2703 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" @.str2704 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2705 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2706 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2707 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2708 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" @.str2709 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" @.str2710 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2711 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00" @.str2712 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2713 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" @.str2714 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" @.str2715 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2716 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2717 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2718 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2719 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2720 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2721 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str2722 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str2723 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str2724 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2725 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" @.str2726 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" @.str2727 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" @.str2728 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" @.str2729 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" @.str2730 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2731 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2732 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2733 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2734 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" @.str2735 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" @.str2736 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2737 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00" @.str2738 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2739 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" @.str2740 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" @.str2741 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2742 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str2743 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" @.str2744 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2745 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2746 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str2747 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str2748 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" @.str2749 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" @.str2750 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str2751 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str2752 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" @.str2753 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" @.str2754 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" @.str2755 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" @.str2756 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" @.str2757 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str2758 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" @.str2759 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str2760 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" @.str2761 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" @.str2762 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" @.str2763 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" @.str2764 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" @.str2765 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" @.str2766 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" @.str2767 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" @.str2768 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" @.str2769 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" @.str2770 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" @.str2771 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" @.str2772 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str2773 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" @.str2774 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str2775 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str2776 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str2777 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str2778 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" @.str2779 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" @.str2780 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str2781 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2782 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str2783 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str2784 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" @.str2785 = private unnamed_addr constant [4 x i8] c"hex\00" @.str2786 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str2787 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str2788 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str2789 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str2790 = private unnamed_addr constant [7 x i8] c"base64\00" @.str2791 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str2792 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00" @.str2793 = private unnamed_addr constant [2 x i8] c")\00" @.str2794 = private unnamed_addr constant [7 x i8] c"string\00" @.str2795 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str2796 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str2797 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2798 = private unnamed_addr constant [2 x i8] c")\00" @.str2799 = private unnamed_addr constant [7 x i8] c"string\00" @.str2800 = private unnamed_addr constant [4 x i8] c"hex\00" @.str2801 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00" @.str2802 = private unnamed_addr constant [2 x i8] c")\00" @.str2803 = private unnamed_addr constant [7 x i8] c"string\00" @.str2804 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str2805 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(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 [5 x i8] c"bool\00" @.str2809 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str2810 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str2811 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2812 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2813 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00" @.str2814 = private unnamed_addr constant [2 x i8] c")\00" @.str2815 = private unnamed_addr constant [7 x i8] c"string\00" @.str2816 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str2817 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00" @.str2818 = private unnamed_addr constant [4 x i8] c"int\00" @.str2819 = private unnamed_addr constant [7 x i8] c"base64\00" @.str2820 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00" @.str2821 = private unnamed_addr constant [2 x i8] c")\00" @.str2822 = private unnamed_addr constant [7 x i8] c"string\00" @.str2823 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str2824 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2825 = private unnamed_addr constant [2 x i8] c")\00" @.str2826 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str2827 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2828 = private unnamed_addr constant [2 x i8] c")\00" @.str2829 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2830 = 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" @.str2831 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00" @.str2832 = 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" @.str2833 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" @.str2834 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2835 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" @.str2836 = 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" @.str2837 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" @.str2838 = 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" @.str2839 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00" @.str2840 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" @.str2841 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" @.str2842 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" @.str2843 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" @.str2844 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" @.str2845 = 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" @.str2846 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" @.str2847 = 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" @.str2848 = 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" @.str2849 = 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" @.str2850 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" @.str2851 = 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" @.str2852 = 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" @.str2853 = 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" @.str2854 = 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" @.str2855 = 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" @.str2856 = 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" @.str2857 = 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" @.str2858 = 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" @.str2859 = 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" @.str2860 = 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" @.str2861 = 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" @.str2862 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" @.str2863 = 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" @.str2864 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" @.str2865 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" @.str2866 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" @.str2867 = 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" @.str2868 = 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" @.str2869 = 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" @.str2870 = 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" @.str2871 = 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" @.str2872 = 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" @.str2873 = 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" @.str2874 = 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" @.str2875 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" @.str2876 = 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" @.str2877 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" @.str2878 = 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" @.str2879 = 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" @.str2880 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" @.str2881 = 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" @.str2882 = 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" @.str2883 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" @.str2884 = 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" @.str2885 = 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" @.str2886 = 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" @.str2887 = 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" @.str2888 = 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" @.str2889 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" @.str2890 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" @.str2891 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" @.str2892 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" @.str2893 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" @.str2894 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" @.str2895 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" @.str2896 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" @.str2897 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" @.str2898 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" @.str2899 = 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" @.str2900 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str2901 = 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" @.str2902 = 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" @.str2903 = 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" @.str2904 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" @.str2905 = 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" @.str2906 = 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" @.str2907 = 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" @.str2908 = 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" @.str2909 = 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" @.str2910 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" @.str2911 = 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" @.str2912 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" @.str2913 = 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" @.str2914 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" @.str2915 = 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" @.str2916 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" @.str2917 = 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" @.str2918 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" @.str2919 = 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" @.str2920 = 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" @.str2921 = 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" @.str2922 = 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" @.str2923 = 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" @.str2924 = 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" @.str2925 = 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" @.str2926 = 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" @.str2927 = 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" @.str2928 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" @.str2929 = 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" @.str2930 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" @.str2931 = 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" @.str2932 = 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" @.str2933 = 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" @.str2934 = 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" @.str2935 = 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" @.str2936 = 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" @.str2937 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00" @.str2938 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00" @.str2939 = 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" @.str2940 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00" @.str2941 = 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" @.str2942 = 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" @.str2943 = 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" @.str2944 = 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" @.str2945 = 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" @.str2946 = 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" @.str2947 = 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" @.str2948 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00" @.str2949 = 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" @.str2950 = 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" @.str2951 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00" @.str2952 = 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" @.str2953 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" @.str2954 = 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" @.str2955 = 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" @.str2956 = 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" @.str2957 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str2958 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" @.str2959 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2960 = 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" @.str2961 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" @.str2962 = 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" @.str2963 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" @.str2964 = 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" @.str2965 = 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" @.str2966 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" @.str2967 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00" @.str2968 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" @.str2969 = 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" @.str2970 = 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" @.str2971 = 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" @.str2972 = 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" @.str2973 = 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" @.str2974 = 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" @.str2975 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00" @.str2976 = 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" @.str2977 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" @.str2978 = 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" @.str2979 = 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" @.str2980 = 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" @.str2981 = 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" @.str2982 = 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" @.str2983 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str2984 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" @.str2985 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str2986 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" @.str2987 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" @.str2988 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" @.str2989 = 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" @.str2990 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" @.str2991 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00" @.str2992 = 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" @.str2993 = 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" @.str2994 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00" @.str2995 = 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" @.str2996 = 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" @.str2997 = 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" @.str2998 = 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" @.str2999 = 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" @.str3000 = 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" @.str3001 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00" @.str3002 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3003 = 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" @.str3004 = 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" @.str3005 = 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" @.str3006 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" @.str3007 = 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" @.str3008 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" @.str3009 = 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" @.str3010 = 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" @.str3011 = 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" @.str3012 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" @.str3013 = 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" @.str3014 = 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" @.str3015 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" @.str3016 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" @.str3017 = 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" @.str3018 = 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" @.str3019 = 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" @.str3020 = 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" @.str3021 = 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" @.str3022 = 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" @.str3023 = 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" @.str3024 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" @.str3025 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" @.str3026 = 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" @.str3027 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" @.str3028 = 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" @.str3029 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" @.str3030 = private unnamed_addr constant [4 x i8] c"new\00" @.str3031 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3032 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3033 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3034 = private unnamed_addr constant [6 x i8] c"parse\00" @.str3035 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3036 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3037 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3038 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3039 = private unnamed_addr constant [4 x i8] c"new\00" @.str3040 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3041 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00" @.str3042 = private unnamed_addr constant [7 x i8] c"string\00" @.str3043 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3044 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3045 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00" @.str3046 = private unnamed_addr constant [7 x i8] c"string\00" @.str3047 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3048 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00" @.str3049 = private unnamed_addr constant [7 x i8] c"string\00" @.str3050 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3051 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00" @.str3052 = private unnamed_addr constant [2 x i8] c")\00" @.str3053 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3054 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3055 = private unnamed_addr constant [7 x i8] c"string\00" @.str3056 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3057 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00" @.str3058 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3059 = private unnamed_addr constant [2 x i8] c")\00" @.str3060 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3061 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00" @.str3062 = private unnamed_addr constant [2 x i8] c")\00" @.str3063 = private unnamed_addr constant [7 x i8] c"string\00" @.str3064 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00" @.str3065 = 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" @.str3066 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" @.str3067 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3068 = 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" @.str3069 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3070 = 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" @.str3071 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3072 = 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" @.str3073 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3074 = 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" @.str3075 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" @.str3076 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00" @.str3077 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00" @.str3078 = 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" @.str3079 = 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" @.str3080 = 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" @.str3081 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3082 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00" @.str3083 = 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" @.str3084 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" @.str3085 = 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" @.str3086 = 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" @.str3087 = 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" @.str3088 = 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" @.str3089 = 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" @.str3090 = 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" @.str3091 = 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" @.str3092 = 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" @.str3093 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3094 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00" @.str3095 = 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" @.str3096 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3097 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3098 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3099 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3100 = 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" @.str3101 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00" @.str3102 = 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" @.str3103 = 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" @.str3104 = 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" @.str3105 = 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" @.str3106 = 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" @.str3107 = 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" @.str3108 = 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" @.str3109 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" @.str3110 = 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" @.str3111 = 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" @.str3112 = 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" @.str3113 = 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" @.str3114 = 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" @.str3115 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" @.str3116 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" @.str3117 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00" @.str3118 = 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" @.str3119 = 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" @.str3120 = 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" @.str3121 = 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" @.str3122 = 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" @.str3123 = 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" @.str3124 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" @.str3125 = 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" @.str3126 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" @.str3127 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" @.str3128 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00" @.str3129 = 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" @.str3130 = 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" @.str3131 = 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" @.str3132 = 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" @.str3133 = 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" @.str3134 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" @.str3135 = 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" @.str3136 = 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" @.str3137 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00" @.str3138 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3139 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3140 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str3141 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str3142 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3143 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" @.str3144 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3145 = private unnamed_addr constant [5 x i8] c"unit\00" @.str3146 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str3147 = private unnamed_addr constant [4 x i8] c", 1\00" @.str3148 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3149 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str3150 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3151 = private unnamed_addr constant [7 x i8] c"value2\00" @.str3152 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(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 [2 x i8] c")\00" @.str3156 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3157 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str3158 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(i32 \00" @.str3159 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3160 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3161 = private unnamed_addr constant [2 x i8] c")\00" @.str3162 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3163 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str3164 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(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 [6 x i8] c"fixed\00" @.str3169 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str3170 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(i32 \00" @.str3171 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3172 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3173 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3174 = private unnamed_addr constant [2 x i8] c")\00" @.str3175 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3176 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str3177 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(i32 \00" @.str3178 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3179 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3180 = private unnamed_addr constant [2 x i8] c")\00" @.str3181 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str3182 = private unnamed_addr constant [37 x i8] c"call i32 @lp_noise_cellular2_id(i32 \00" @.str3183 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3184 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3185 = private unnamed_addr constant [2 x i8] c")\00" @.str3186 = private unnamed_addr constant [4 x i8] c"int\00" @.str3187 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00" @.str3188 = 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" @.str3189 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00" @.str3190 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" @.str3191 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3192 = 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" @.str3193 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" @.str3194 = 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" @.str3195 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00" @.str3196 = 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" @.str3197 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" @.str3198 = 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" @.str3199 = 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" @.str3200 = 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" @.str3201 = 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" @.str3202 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00" @.str3203 = 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" @.str3204 = 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" @.str3205 = 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" @.str3206 = 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" @.str3207 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3208 = 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" @.str3209 = 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" @.str3210 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3211 = 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" @.str3212 = 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" @.str3213 = 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" @.str3214 = 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" @.str3215 = 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" @.str3216 = 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" @.str3217 = 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" @.str3218 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3219 = 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" @.str3220 = 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" @.str3221 = 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" @.str3222 = 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" @.str3223 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3224 = 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" @.str3225 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" @.str3226 = 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" @.str3227 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str3228 = 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" @.str3229 = 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" @.str3230 = 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" @.str3231 = 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" @.str3232 = 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" @.str3233 = 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" @.str3234 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str3235 = 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" @.str3236 = 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" @.str3237 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str3238 = 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" @.str3239 = 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" @.str3240 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3241 = 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" @.str3242 = 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" @.str3243 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" @.str3244 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" @.str3245 = 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" @.str3246 = 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" @.str3247 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" @.str3248 = 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" @.str3249 = 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" @.str3250 = 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" @.str3251 = 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" @.str3252 = 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" @.str3253 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" @.str3254 = 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" @.str3255 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" @.str3256 = 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" @.str3257 = 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" @.str3258 = 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" @.str3259 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" @.str3260 = 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" @.str3261 = 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" @.str3262 = 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" @.str3263 = 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" @.str3264 = 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" @.str3265 = 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" @.str3266 = 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" @.str3267 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" @.str3268 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" @.str3269 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" @.str3270 = 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" @.str3271 = 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" @.str3272 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" @.str3273 = 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" @.str3274 = 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" @.str3275 = 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" @.str3276 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" @.str3277 = 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" @.str3278 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" @.str3279 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" @.str3280 = 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" @.str3281 = 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" @.str3282 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" @.str3283 = 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" @.str3284 = 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" @.str3285 = 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" @.str3286 = 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" @.str3287 = 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" @.str3288 = 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" @.str3289 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3290 = 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" @.str3291 = 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" @.str3292 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str3293 = 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" @.str3294 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" @.str3295 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3296 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3297 = private unnamed_addr constant [5 x i8] c"info\00" @.str3298 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3299 = private unnamed_addr constant [6 x i8] c"error\00" @.str3300 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3301 = private unnamed_addr constant [6 x i8] c"level\00" @.str3302 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str3303 = private unnamed_addr constant [4 x i8] c"i64\00" @.str3304 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str3305 = private unnamed_addr constant [2 x i8] c")\00" @.str3306 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str3307 = private unnamed_addr constant [2 x i8] c")\00" @.str3308 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str3309 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str3310 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" @.str3311 = private unnamed_addr constant [2 x i8] c"0\00" @.str3312 = private unnamed_addr constant [5 x i8] c"void\00" @.str3313 = private unnamed_addr constant [6 x i8] c"level\00" @.str3314 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str3315 = private unnamed_addr constant [4 x i8] c"int\00" @.str3316 = private unnamed_addr constant [2 x i8] c"2\00" @.str3317 = private unnamed_addr constant [8 x i8] c"[INFO] \00" @.str3318 = private unnamed_addr constant [6 x i8] c"trace\00" @.str3319 = private unnamed_addr constant [2 x i8] c"0\00" @.str3320 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" @.str3321 = private unnamed_addr constant [6 x i8] c"debug\00" @.str3322 = private unnamed_addr constant [2 x i8] c"1\00" @.str3323 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" @.str3324 = private unnamed_addr constant [5 x i8] c"warn\00" @.str3325 = private unnamed_addr constant [2 x i8] c"3\00" @.str3326 = private unnamed_addr constant [8 x i8] c"[WARN] \00" @.str3327 = private unnamed_addr constant [6 x i8] c"error\00" @.str3328 = private unnamed_addr constant [2 x i8] c"4\00" @.str3329 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" @.str3330 = private unnamed_addr constant [7 x i8] c"string\00" @.str3331 = private unnamed_addr constant [2 x i8] c"+\00" @.str3332 = private unnamed_addr constant [7 x i8] c"string\00" @.str3333 = private unnamed_addr constant [2 x i8] c"+\00" @.str3334 = private unnamed_addr constant [2 x i8] c" \00" @.str3335 = private unnamed_addr constant [7 x i8] c"string\00" @.str3336 = private unnamed_addr constant [2 x i8] c"+\00" @.str3337 = private unnamed_addr constant [7 x i8] c"string\00" @.str3338 = private unnamed_addr constant [2 x i8] c"+\00" @.str3339 = private unnamed_addr constant [2 x i8] c"=\00" @.str3340 = private unnamed_addr constant [7 x i8] c"string\00" @.str3341 = private unnamed_addr constant [2 x i8] c"+\00" @.str3342 = private unnamed_addr constant [7 x i8] c"string\00" @.str3343 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00" @.str3344 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3345 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3346 = private unnamed_addr constant [2 x i8] c"0\00" @.str3347 = private unnamed_addr constant [5 x i8] c"void\00" @.str3348 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" @.str3349 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" @.str3350 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00" @.str3351 = 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" @.str3352 = private unnamed_addr constant [12 x i8] c"go:\0A %e = \00" @.str3353 = private unnamed_addr constant [34 x i8] c"\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3354 = 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" @.str3355 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str3356 = private unnamed_addr constant [5 x i8] c"args\00" @.str3357 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3358 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3359 = private unnamed_addr constant [4 x i8] c"env\00" @.str3360 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3361 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3362 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3363 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3364 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3365 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3366 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3367 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3368 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3369 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3370 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3371 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3372 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3373 = private unnamed_addr constant [9 x i8] c"temp_dir\00" @.str3374 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str3375 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str3376 = private unnamed_addr constant [4 x i8] c"int\00" @.str3377 = private unnamed_addr constant [4 x i8] c"arg\00" @.str3378 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str3379 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str3380 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3381 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str3382 = private unnamed_addr constant [7 x i8] c"string\00" @.str3383 = private unnamed_addr constant [4 x i8] c"pid\00" @.str3384 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00" @.str3385 = private unnamed_addr constant [4 x i8] c"int\00" @.str3386 = private unnamed_addr constant [5 x i8] c"exit\00" @.str3387 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str3388 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3389 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str3390 = private unnamed_addr constant [2 x i8] c"0\00" @.str3391 = private unnamed_addr constant [5 x i8] c"void\00" @.str3392 = private unnamed_addr constant [4 x i8] c"env\00" @.str3393 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3394 = private unnamed_addr constant [2 x i8] c")\00" @.str3395 = private unnamed_addr constant [7 x i8] c"string\00" @.str3396 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str3397 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str3398 = private unnamed_addr constant [2 x i8] c")\00" @.str3399 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str3400 = private unnamed_addr constant [7 x i8] c", null\00" @.str3401 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3402 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3403 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3404 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str3405 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3406 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str3407 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str3408 = private unnamed_addr constant [2 x i8] c")\00" @.str3409 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" @.str3410 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str3411 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3412 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str3413 = private unnamed_addr constant [2 x i8] c"0\00" @.str3414 = private unnamed_addr constant [5 x i8] c"void\00" @.str3415 = private unnamed_addr constant [5 x i8] c"args\00" @.str3416 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00" @.str3417 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str3418 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str3419 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00" @.str3420 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3421 = private unnamed_addr constant [2 x i8] c")\00" @.str3422 = private unnamed_addr constant [7 x i8] c"string\00" @.str3423 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str3424 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" @.str3425 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3426 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str3427 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3428 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3429 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3430 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3431 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3432 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str3433 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" @.str3434 = private unnamed_addr constant [2 x i8] c")\00" @.str3435 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3436 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3437 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3438 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3439 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3440 = private unnamed_addr constant [9 x i8] c"platform\00" @.str3441 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00" @.str3442 = private unnamed_addr constant [7 x i8] c"string\00" @.str3443 = private unnamed_addr constant [5 x i8] c"arch\00" @.str3444 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00" @.str3445 = private unnamed_addr constant [7 x i8] c"string\00" @.str3446 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str3447 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00" @.str3448 = private unnamed_addr constant [2 x i8] c")\00" @.str3449 = private unnamed_addr constant [7 x i8] c"string\00" @.str3450 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str3451 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00" @.str3452 = private unnamed_addr constant [2 x i8] c")\00" @.str3453 = private unnamed_addr constant [7 x i8] c"string\00" @.str3454 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str3455 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00" @.str3456 = private unnamed_addr constant [2 x i8] c")\00" @.str3457 = private unnamed_addr constant [7 x i8] c"string\00" @.str3458 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str3459 = private unnamed_addr constant [7 x i8] c"string\00" @.str3460 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" @.str3461 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" @.str3462 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" @.str3463 = private unnamed_addr constant [5 x i8] c"HOME\00" @.str3464 = private unnamed_addr constant [2 x i8] c".\00" @.str3465 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" @.str3466 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" @.str3467 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str3468 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str3469 = private unnamed_addr constant [7 x i8] c"Darwin\00" @.str3470 = private unnamed_addr constant [14 x i8] c"XDG_DATA_HOME\00" @.str3471 = private unnamed_addr constant [16 x i8] c"XDG_CONFIG_HOME\00" @.str3472 = private unnamed_addr constant [15 x i8] c"XDG_CACHE_HOME\00" @.str3473 = private unnamed_addr constant [15 x i8] c"/.local/share/\00" @.str3474 = private unnamed_addr constant [10 x i8] c"/.config/\00" @.str3475 = private unnamed_addr constant [9 x i8] c"/.cache/\00" @.str3476 = private unnamed_addr constant [2 x i8] c"/\00" @.str3477 = private unnamed_addr constant [6 x i8] c"macos\00" @.str3478 = private unnamed_addr constant [6 x i8] c"Linux\00" @.str3479 = private unnamed_addr constant [6 x i8] c"linux\00" @.str3480 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00" @.str3481 = 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" @.str3482 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" @.str3483 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" @.str3484 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00" @.str3485 = 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" @.str3486 = 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" @.str3487 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" @.str3488 = 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" @.str3489 = 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" @.str3490 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" @.str3491 = 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" @.str3492 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str3493 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3494 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3495 = private unnamed_addr constant [39 x i8] c"@L_os_darwin = internal global i32 -1\0A\00" @.str3496 = private unnamed_addr constant [33 x i8] c"define i32 @lp_os_is_darwin() {\0A\00" @.str3497 = private unnamed_addr constant [114 x i8] c"entry:\0A %c = load i32, ptr @L_os_darwin\0A %known = icmp sge i32 %c, 0\0A br i1 %known, label %done, label %probe\0A\00" @.str3498 = private unnamed_addr constant [20 x i8] c"done:\0A ret i32 %c\0A\00" @.str3499 = private unnamed_addr constant [72 x i8] c"probe:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str3500 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str3501 = private unnamed_addr constant [38 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A\00" @.str3502 = private unnamed_addr constant [113 x i8] c" %r = select i1 %isd, i32 1, i32 0\0A call void @free(ptr %buf)\0A store i32 %r, ptr @L_os_darwin\0A ret i32 %r\0A}\0A\00" @.str3503 = private unnamed_addr constant [45 x i8] c"define ptr @lp_os_xdg(ptr %var, ptr %rel) {\0A\00" @.str3504 = private unnamed_addr constant [106 x i8] c"entry:\0A %v = call ptr @getenv(ptr %var)\0A %z = icmp eq ptr %v, null\0A br i1 %z, label %dflt, label %chk\0A\00" @.str3505 = private unnamed_addr constant [99 x i8] c"chk:\0A %c0 = load i8, ptr %v\0A %empty = icmp eq i8 %c0, 0\0A br i1 %empty, label %dflt, label %use\0A\00" @.str3506 = private unnamed_addr constant [47 x i8] c"use:\0A %u = call ptr @lp_os_join2(ptr %v, ptr \00" @.str3507 = private unnamed_addr constant [16 x i8] c")\0A ret ptr %u\0A\00" @.str3508 = private unnamed_addr constant [99 x i8] c"dflt:\0A %h = call ptr @lp_os_home()\0A %d = call ptr @lp_os_join2(ptr %h, ptr %rel)\0A ret ptr %d\0A}\0A\00" @.str3509 = private unnamed_addr constant [67 x i8] c"define ptr @lp_os_known(ptr %app, ptr %mac, ptr %var, ptr %rel) {\0A\00" @.str3510 = private unnamed_addr constant [103 x i8] c"entry:\0A %d = call i32 @lp_os_is_darwin()\0A %isd = icmp ne i32 %d, 0\0A br i1 %isd, label %m, label %x\0A\00" @.str3511 = private unnamed_addr constant [106 x i8] c"m:\0A %h = call ptr @lp_os_home()\0A %r1 = call ptr @lp_os_join3(ptr %h, ptr %mac, ptr %app)\0A ret ptr %r1\0A\00" @.str3512 = private unnamed_addr constant [115 x i8] c"x:\0A %b = call ptr @lp_os_xdg(ptr %var, ptr %rel)\0A %r2 = call ptr @lp_os_join2(ptr %b, ptr %app)\0A ret ptr %r2\0A}\0A\00" @.str3513 = private unnamed_addr constant [83 x i8] c"define ptr @lp_os_save_dir(ptr %app) {\0A %r = call ptr @lp_os_known(ptr %app, ptr \00" @.str3514 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3515 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3516 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3517 = private unnamed_addr constant [85 x i8] c"define ptr @lp_os_config_dir(ptr %app) {\0A %r = call ptr @lp_os_known(ptr %app, ptr \00" @.str3518 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3519 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3520 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3521 = private unnamed_addr constant [84 x i8] c"define ptr @lp_os_cache_dir(ptr %app) {\0A %r = call ptr @lp_os_known(ptr %app, ptr \00" @.str3522 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3523 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3524 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3525 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str3526 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3527 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str3528 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str3529 = 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" @.str3530 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str3531 = 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" @.str3532 = 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" @.str3533 = 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" @.str3534 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str3535 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00" @.str3536 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str3537 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str3538 = 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" @.str3539 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" @.str3540 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3541 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" @.str3542 = 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" @.str3543 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" @.str3544 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3545 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" @.str3546 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00" @.str3547 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str3548 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" @.str3549 = private unnamed_addr constant [4 x i8] c"len\00" @.str3550 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str3551 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str3552 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str3553 = private unnamed_addr constant [6 x i8] c"chars\00" @.str3554 = private unnamed_addr constant [6 x i8] c"upper\00" @.str3555 = private unnamed_addr constant [6 x i8] c"lower\00" @.str3556 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str3557 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" @.str3558 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str3559 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str3560 = private unnamed_addr constant [2 x i8] c")\00" @.str3561 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str3562 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3563 = private unnamed_addr constant [4 x i8] c"int\00" @.str3564 = private unnamed_addr constant [4 x i8] c"len\00" @.str3565 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00" @.str3566 = private unnamed_addr constant [2 x i8] c")\00" @.str3567 = private unnamed_addr constant [4 x i8] c"int\00" @.str3568 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str3569 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00" @.str3570 = private unnamed_addr constant [2 x i8] c")\00" @.str3571 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3572 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str3573 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00" @.str3574 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3575 = private unnamed_addr constant [2 x i8] c")\00" @.str3576 = private unnamed_addr constant [4 x i8] c"int\00" @.str3577 = private unnamed_addr constant [6 x i8] c"chars\00" @.str3578 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00" @.str3579 = private unnamed_addr constant [2 x i8] c")\00" @.str3580 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str3581 = private unnamed_addr constant [6 x i8] c"upper\00" @.str3582 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str3583 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str3584 = private unnamed_addr constant [7 x i8] c"string\00" @.str3585 = private unnamed_addr constant [6 x i8] c"lower\00" @.str3586 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str3587 = private unnamed_addr constant [9 x i8] c", i32 0)\00" @.str3588 = private unnamed_addr constant [7 x i8] c"string\00" @.str3589 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str3590 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00" @.str3591 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str3592 = private unnamed_addr constant [2 x i8] c")\00" @.str3593 = private unnamed_addr constant [7 x i8] c"string\00" @.str3594 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00" @.str3595 = private unnamed_addr constant [2 x i8] c")\00" @.str3596 = private unnamed_addr constant [4 x i8] c"int\00" @.str3597 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00" @.str3598 = 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" @.str3599 = 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" @.str3600 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3601 = 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" @.str3602 = 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" @.str3603 = 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" @.str3604 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str3605 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" @.str3606 = 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" @.str3607 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" @.str3608 = 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" @.str3609 = 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" @.str3610 = 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" @.str3611 = 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" @.str3612 = 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" @.str3613 = 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" @.str3614 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" @.str3615 = 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" @.str3616 = 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" @.str3617 = 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" @.str3618 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" @.str3619 = 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" @.str3620 = 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" @.str3621 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" @.str3622 = 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" @.str3623 = 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" @.str3624 = 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" @.str3625 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" @.str3626 = 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" @.str3627 = 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" @.str3628 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" @.str3629 = 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" @.str3630 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" @.str3631 = 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" @.str3632 = 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" @.str3633 = 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" @.str3634 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00" @.str3635 = 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" @.str3636 = 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" @.str3637 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" @.str3638 = 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" @.str3639 = 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" @.str3640 = 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" @.str3641 = 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" @.str3642 = 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" @.str3643 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str3644 = 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" @.str3645 = 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" @.str3646 = 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" @.str3647 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" @.str3648 = 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" @.str3649 = 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" @.str3650 = 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" @.str3651 = 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" @.str3652 = 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" @.str3653 = 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" @.str3654 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" @.str3655 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" @.str3656 = 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" @.str3657 = 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" @.str3658 = 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" @.str3659 = 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" @.str3660 = 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" @.str3661 = 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" @.str3662 = 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" @.str3663 = 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" @.str3664 = 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" @.str3665 = 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" @.str3666 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" @.str3667 = 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" @.str3668 = 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" @.str3669 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" @.str3670 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00" @.str3671 = 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" @.str3672 = 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" @.str3673 = 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" @.str3674 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00" @.str3675 = 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" @.str3676 = 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" @.str3677 = 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" @.str3678 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00" @.str3679 = 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" @.str3680 = 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" @.str3681 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" @.str3682 = 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" @.str3683 = 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" @.str3684 = 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" @.str3685 = 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" @.str3686 = 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" @.str3687 = 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" @.str3688 = 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" @.str3689 = 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" @.str3690 = 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" @.str3691 = 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" @.str3692 = 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" @.str3693 = 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" @.str3694 = 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" @.str3695 = 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" @.str3696 = 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" @.str3697 = 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" @.str3698 = 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" @.str3699 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00" @.str3700 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" @.str3701 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" @.str3702 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" @.str3703 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" @.str3704 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" @.str3705 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" @.str3706 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" @.str3707 = 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" @.str3708 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" @.str3709 = 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" @.str3710 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00" @.str3711 = 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" @.str3712 = 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" @.str3713 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" @.str3714 = 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" @.str3715 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" @.str3716 = 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" @.str3717 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" @.str3718 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00" @.str3719 = 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" @.str3720 = 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" @.str3721 = 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" @.str3722 = 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" @.str3723 = 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" @.str3724 = 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" @.str3725 = 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" @.str3726 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3727 = 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" @.str3728 = 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" @.str3729 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" @.str3730 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00" @.str3731 = 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" @.str3732 = 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" @.str3733 = 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" @.str3734 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3735 = 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" @.str3736 = 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" @.str3737 = 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" @.str3738 = 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" @.str3739 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00" @.str3740 = 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" @.str3741 = 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" @.str3742 = 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" @.str3743 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" @.str3744 = 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" @.str3745 = 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" @.str3746 = 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" @.str3747 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00" @.str3748 = 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" @.str3749 = 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" @.str3750 = 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" @.str3751 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3752 = 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" @.str3753 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" @.str3754 = 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" @.str3755 = 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" @.str3756 = 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" @.str3757 = 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" @.str3758 = 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" @.str3759 = 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" @.str3760 = 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" @.str3761 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str3762 = 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" @.str3763 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str3764 = 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" @.str3765 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str3766 = private unnamed_addr constant [7 x i8] c"exists\00" @.str3767 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str3768 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str3769 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str3770 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str3771 = private unnamed_addr constant [7 x i8] c"remove\00" @.str3772 = private unnamed_addr constant [5 x i8] c"size\00" @.str3773 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str3774 = private unnamed_addr constant [5 x i8] c"copy\00" @.str3775 = private unnamed_addr constant [5 x i8] c"list\00" @.str3776 = private unnamed_addr constant [5 x i8] c"join\00" @.str3777 = private unnamed_addr constant [4 x i8] c"dir\00" @.str3778 = private unnamed_addr constant [5 x i8] c"base\00" @.str3779 = private unnamed_addr constant [4 x i8] c"ext\00" @.str3780 = private unnamed_addr constant [5 x i8] c"stem\00" @.str3781 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str3782 = private unnamed_addr constant [3 x i8] c"of\00" @.str3783 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str3784 = private unnamed_addr constant [7 x i8] c"exists\00" @.str3785 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00" @.str3786 = private unnamed_addr constant [2 x i8] c")\00" @.str3787 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3788 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str3789 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00" @.str3790 = private unnamed_addr constant [2 x i8] c")\00" @.str3791 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3792 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str3793 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00" @.str3794 = private unnamed_addr constant [2 x i8] c")\00" @.str3795 = private unnamed_addr constant [7 x i8] c"string\00" @.str3796 = private unnamed_addr constant [7 x i8] c"remove\00" @.str3797 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00" @.str3798 = private unnamed_addr constant [2 x i8] c")\00" @.str3799 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3800 = private unnamed_addr constant [5 x i8] c"size\00" @.str3801 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00" @.str3802 = private unnamed_addr constant [2 x i8] c")\00" @.str3803 = private unnamed_addr constant [4 x i8] c"int\00" @.str3804 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str3805 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00" @.str3806 = private unnamed_addr constant [2 x i8] c")\00" @.str3807 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3808 = private unnamed_addr constant [5 x i8] c"list\00" @.str3809 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00" @.str3810 = private unnamed_addr constant [2 x i8] c")\00" @.str3811 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str3812 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str3813 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00" @.str3814 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3815 = private unnamed_addr constant [2 x i8] c")\00" @.str3816 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3817 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str3818 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00" @.str3819 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3820 = private unnamed_addr constant [2 x i8] c")\00" @.str3821 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3822 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00" @.str3823 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3824 = private unnamed_addr constant [2 x i8] c")\00" @.str3825 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3826 = private unnamed_addr constant [4 x i8] c"dir\00" @.str3827 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00" @.str3828 = private unnamed_addr constant [2 x i8] c")\00" @.str3829 = private unnamed_addr constant [7 x i8] c"string\00" @.str3830 = private unnamed_addr constant [5 x i8] c"base\00" @.str3831 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00" @.str3832 = private unnamed_addr constant [2 x i8] c")\00" @.str3833 = private unnamed_addr constant [7 x i8] c"string\00" @.str3834 = private unnamed_addr constant [4 x i8] c"ext\00" @.str3835 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00" @.str3836 = private unnamed_addr constant [2 x i8] c")\00" @.str3837 = private unnamed_addr constant [7 x i8] c"string\00" @.str3838 = private unnamed_addr constant [5 x i8] c"stem\00" @.str3839 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00" @.str3840 = private unnamed_addr constant [2 x i8] c")\00" @.str3841 = private unnamed_addr constant [7 x i8] c"string\00" @.str3842 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str3843 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00" @.str3844 = private unnamed_addr constant [2 x i8] c")\00" @.str3845 = private unnamed_addr constant [7 x i8] c"string\00" @.str3846 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00" @.str3847 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3848 = private unnamed_addr constant [2 x i8] c")\00" @.str3849 = private unnamed_addr constant [7 x i8] c"string\00" @.str3850 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str3851 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(ptr \00" @.str3852 = private unnamed_addr constant [2 x i8] c")\00" @.str3853 = private unnamed_addr constant [7 x i8] c"string\00" @.str3854 = private unnamed_addr constant [26 x i8] c"call ptr @lp_mime_of(ptr \00" @.str3855 = private unnamed_addr constant [2 x i8] c")\00" @.str3856 = private unnamed_addr constant [7 x i8] c"string\00" @.str3857 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" @.str3858 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" @.str3859 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" @.str3860 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" @.str3861 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" @.str3862 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" @.str3863 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" @.str3864 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00" @.str3865 = 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" @.str3866 = 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" @.str3867 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00" @.str3868 = 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" @.str3869 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00" @.str3870 = 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" @.str3871 = 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" @.str3872 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str3873 = 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" @.str3874 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" @.str3875 = 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" @.str3876 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" @.str3877 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00" @.str3878 = 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" @.str3879 = 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" @.str3880 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" @.str3881 = 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" @.str3882 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" @.str3883 = 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" @.str3884 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" @.str3885 = 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" @.str3886 = 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" @.str3887 = 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" @.str3888 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" @.str3889 = 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" @.str3890 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" @.str3891 = 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" @.str3892 = 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" @.str3893 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00" @.str3894 = 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" @.str3895 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" @.str3896 = 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" @.str3897 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00" @.str3898 = 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" @.str3899 = 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" @.str3900 = 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" @.str3901 = 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" @.str3902 = 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" @.str3903 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00" @.str3904 = 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" @.str3905 = 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" @.str3906 = 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" @.str3907 = 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" @.str3908 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" @.str3909 = 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" @.str3910 = 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" @.str3911 = 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" @.str3912 = 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" @.str3913 = 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" @.str3914 = 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" @.str3915 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00" @.str3916 = 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" @.str3917 = 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" @.str3918 = 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" @.str3919 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00" @.str3920 = 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" @.str3921 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00" @.str3922 = 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" @.str3923 = 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" @.str3924 = 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" @.str3925 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" @.str3926 = 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" @.str3927 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" @.str3928 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" @.str3929 = 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" @.str3930 = 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" @.str3931 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" @.str3932 = 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" @.str3933 = 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" @.str3934 = 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" @.str3935 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" @.str3936 = 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" @.str3937 = 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" @.str3938 = 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" @.str3939 = 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" @.str3940 = 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" @.str3941 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" @.str3942 = 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" @.str3943 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" @.str3944 = 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" @.str3945 = 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" @.str3946 = 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" @.str3947 = 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" @.str3948 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" @.str3949 = 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" @.str3950 = 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" @.str3951 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" @.str3952 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" @.str3953 = 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" @.str3954 = 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" @.str3955 = 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" @.str3956 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00" @.str3957 = private unnamed_addr constant [115 x i8] c"entry:\0A %ip = call i32 @lp_pak_has(ptr %p)\0A %inpak = icmp ne i32 %ip, 0\0A br i1 %inpak, label %yes, label %disk\0A\00" @.str3958 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 1\0A\00" @.str3959 = private unnamed_addr constant [113 x i8] c"disk:\0A %r = call i32 @access(ptr %p, i32 0)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00" @.str3960 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00" @.str3961 = 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" @.str3962 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" @.str3963 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str3964 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00" @.str3965 = private unnamed_addr constant [121 x i8] c"entry:\0A %pn = call i32 @lp_pak_bytes(ptr %p)\0A %inpak = icmp sge i32 %pn, 0\0A br i1 %inpak, label %packed, label %disk\0A\00" @.str3966 = private unnamed_addr constant [23 x i8] c"packed:\0A ret i32 %pn\0A\00" @.str3967 = private unnamed_addr constant [118 x i8] c"disk:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" @.str3968 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" @.str3969 = 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" @.str3970 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00" @.str3971 = private unnamed_addr constant [152 x i8] c"entry:\0A store i32 0, ptr %lenout\0A %f = call ptr @lp_pak_open(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" @.str3972 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" @.str3973 = 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" @.str3974 = 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" @.str3975 = 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" @.str3976 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00" @.str3977 = 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" @.str3978 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00" @.str3979 = 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" @.str3980 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str3981 = 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" @.str3982 = 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" @.str3983 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00" @.str3984 = 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" @.str3985 = 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" @.str3986 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00" @.str3987 = 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" @.str3988 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str3989 = 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" @.str3990 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00" @.str3991 = 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" @.str3992 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00" @.str3993 = 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" @.str3994 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str3995 = 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" @.str3996 = 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" @.str3997 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00" @.str3998 = 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" @.str3999 = 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" @.str4000 = 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" @.str4001 = 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" @.str4002 = 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" @.str4003 = 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" @.str4004 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00" @.str4005 = 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" @.str4006 = 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" @.str4007 = 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" @.str4008 = 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" @.str4009 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" @.str4010 = 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" @.str4011 = 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" @.str4012 = 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" @.str4013 = 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" @.str4014 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00" @.str4015 = 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" @.str4016 = 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" @.str4017 = 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" @.str4018 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" @.str4019 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" @.str4020 = 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" @.str4021 = 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" @.str4022 = 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" @.str4023 = 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" @.str4024 = 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" @.str4025 = 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" @.str4026 = 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" @.str4027 = 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" @.str4028 = private unnamed_addr constant [4 x i8] c"png\00" @.str4029 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str4030 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str4031 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4032 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str4033 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4034 = private unnamed_addr constant [4 x i8] c"gif\00" @.str4035 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str4036 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str4037 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str4038 = private unnamed_addr constant [5 x i8] c"webp\00" @.str4039 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str4040 = private unnamed_addr constant [4 x i8] c"svg\00" @.str4041 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str4042 = private unnamed_addr constant [4 x i8] c"txt\00" @.str4043 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str4044 = private unnamed_addr constant [3 x i8] c"md\00" @.str4045 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str4046 = private unnamed_addr constant [4 x i8] c"csv\00" @.str4047 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str4048 = private unnamed_addr constant [5 x i8] c"html\00" @.str4049 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4050 = private unnamed_addr constant [4 x i8] c"htm\00" @.str4051 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4052 = private unnamed_addr constant [4 x i8] c"css\00" @.str4053 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str4054 = private unnamed_addr constant [3 x i8] c"js\00" @.str4055 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str4056 = private unnamed_addr constant [5 x i8] c"json\00" @.str4057 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str4058 = private unnamed_addr constant [4 x i8] c"xml\00" @.str4059 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str4060 = private unnamed_addr constant [4 x i8] c"zip\00" @.str4061 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str4062 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str4063 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str4064 = private unnamed_addr constant [4 x i8] c"wav\00" @.str4065 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str4066 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str4067 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str4068 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str4069 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str4070 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str4071 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str4072 = private unnamed_addr constant [4 x i8] c"otf\00" @.str4073 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str4074 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str4075 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str4076 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" @.str4077 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" @.str4078 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" @.str4079 = private unnamed_addr constant [3 x i8] c", \00" @.str4080 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" @.str4081 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4082 = private unnamed_addr constant [3 x i8] c" }\00" @.str4083 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str4084 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00" @.str4085 = 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" @.str4086 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" @.str4087 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" @.str4088 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" @.str4089 = 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" @.str4090 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" @.str4091 = 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" @.str4092 = 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" @.str4093 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00" @.str4094 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00" @.str4095 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00" @.str4096 = 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" @.str4097 = 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" @.str4098 = 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" @.str4099 = 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" @.str4100 = 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" @.str4101 = 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" @.str4102 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00" @.str4103 = 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" @.str4104 = 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" @.str4105 = 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" @.str4106 = 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" @.str4107 = 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" @.str4108 = 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" @.str4109 = 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" @.str4110 = 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" @.str4111 = 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" @.str4112 = 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" @.str4113 = 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" @.str4114 = 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" @.str4115 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4116 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str4117 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" @.str4118 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" @.str4119 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" @.str4120 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str4121 = 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" @.str4122 = 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" @.str4123 = 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" @.str4124 = 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" @.str4125 = 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" @.str4126 = private unnamed_addr constant [34 x i8] c"declare i32 @open(ptr, i32, ...)\0A\00" @.str4127 = private unnamed_addr constant [25 x i8] c"declare i32 @close(i32)\0A\00" @.str4128 = private unnamed_addr constant [35 x i8] c"declare i64 @lseek(i32, i64, i32)\0A\00" @.str4129 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" @.str4130 = private unnamed_addr constant [38 x i8] c"declare ptr @fmemopen(ptr, i64, ptr)\0A\00" @.str4131 = private unnamed_addr constant [25 x i8] c"declare i32 @chdir(ptr)\0A\00" @.str4132 = private unnamed_addr constant [45 x i8] c"declare i32 @_NSGetExecutablePath(ptr, ptr)\0A\00" @.str4133 = private unnamed_addr constant [63 x i8] c"@.pak_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4134 = private unnamed_addr constant [73 x i8] c"@.pak_idx = private unnamed_addr constant [12 x i8] c\22packs.index\5C00\22\0A\00" @.str4135 = private unnamed_addr constant [74 x i8] c"@.pak_res = private unnamed_addr constant [13 x i8] c\22../Resources\5C00\22\0A\00" @.str4136 = private unnamed_addr constant [89 x i8] c"@.pak_appsup= private unnamed_addr constant [28 x i8] c\22Library/Application Support\5C00\22\0A\00" @.str4137 = private unnamed_addr constant [65 x i8] c"@.pak_home = private unnamed_addr constant [5 x i8] c\22HOME\5C00\22\0A\00" @.str4138 = private unnamed_addr constant [57 x i8] c"@L_pak_base = internal global [8 x ptr] zeroinitializer\0A\00" @.str4139 = private unnamed_addr constant [37 x i8] c"@L_pak_n = internal global i32 0\0A\00" @.str4140 = private unnamed_addr constant [44 x i8] c"@L_pak_splash = internal global ptr null\0A\00" @.str4141 = private unnamed_addr constant [41 x i8] c"@L_pak_splashbg = internal global i32 0\0A\00" @.str4142 = private unnamed_addr constant [42 x i8] c"declare void @splash_show(ptr, i32, i32)\0A\00" @.str4143 = private unnamed_addr constant [29 x i8] c"declare void @splash_hide()\0A\00" @.str4144 = private unnamed_addr constant [38 x i8] c"declare void @app_set_icon(ptr, i32)\0A\00" @.str4145 = private unnamed_addr constant [63 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] \00" @.str4146 = private unnamed_addr constant [61 x i8] c"[{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }]\0A\00" @.str4147 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_mount(ptr %path) {\0A\00" @.str4148 = private unnamed_addr constant [103 x i8] c"entry:\0A %n = load i32, ptr @L_pak_n\0A %full = icmp sge i32 %n, 8\0A br i1 %full, label %no, label %op\0A\00" @.str4149 = private unnamed_addr constant [126 x i8] c"op:\0A %fd = call i32 (ptr, i32, ...) @open(ptr %path, i32 0)\0A %bad = icmp slt i32 %fd, 0\0A br i1 %bad, label %no, label %sz\0A\00" @.str4150 = private unnamed_addr constant [124 x i8] c"sz:\0A %end = call i64 @lseek(i32 %fd, i64 0, i32 2)\0A %small = icmp slt i64 %end, 32\0A br i1 %small, label %clo, label %mp\0A\00" @.str4151 = private unnamed_addr constant [80 x i8] c"mp:\0A %base = call ptr @mmap(ptr null, i64 %end, i32 1, i32 2, i32 %fd, i64 0)\0A\00" @.str4152 = private unnamed_addr constant [93 x i8] c" %mbad = icmp eq ptr %base, inttoptr (i64 -1 to ptr)\0A br i1 %mbad, label %clo, label %chk\0A\00" @.str4153 = private unnamed_addr constant [107 x i8] c"chk:\0A %m = load i32, ptr %base\0A %okm = icmp eq i32 %m, 1262571596\0A br i1 %okm, label %keep, label %clo\0A\00" @.str4154 = private unnamed_addr constant [102 x i8] c"keep:\0A %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %n\0A store ptr %base, ptr %slot\0A\00" @.str4155 = private unnamed_addr constant [98 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @L_pak_n\0A %c1 = call i32 @close(i32 %fd)\0A ret i32 1\0A\00" @.str4156 = private unnamed_addr constant [51 x i8] c"clo:\0A %c2 = call i32 @close(i32 %fd)\0A ret i32 0\0A\00" @.str4157 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4158 = private unnamed_addr constant [35 x i8] c"define ptr @lp_pak_norm(ptr %p) {\0A\00" @.str4159 = private unnamed_addr constant [133 x i8] c"entry:\0A %c0 = load i8, ptr %p\0A %c0i = zext i8 %c0 to i32\0A %isdot = icmp eq i32 %c0i, 46\0A br i1 %isdot, label %chk2, label %same\0A\00" @.str4160 = private unnamed_addr constant [171 x i8] c"chk2:\0A %p1 = getelementptr i8, ptr %p, i32 1\0A %c1 = load i8, ptr %p1\0A %c1i = zext i8 %c1 to i32\0A %issl = icmp eq i32 %c1i, 47\0A br i1 %issl, label %skip, label %same\0A\00" @.str4161 = private unnamed_addr constant [98 x i8] c"skip:\0A %p2 = getelementptr i8, ptr %p, i32 2\0A %r = call ptr @lp_pak_norm(ptr %p2)\0A ret ptr %r\0A\00" @.str4162 = private unnamed_addr constant [22 x i8] c"same:\0A ret ptr %p\0A}\0A\00" @.str4163 = private unnamed_addr constant [63 x i8] c"define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) {\0A\00" @.str4164 = private unnamed_addr constant [82 x i8] c"entry:\0A %cntp = getelementptr i8, ptr %base, i32 8\0A %cnt = load i32, ptr %cntp\0A\00" @.str4165 = private unnamed_addr constant [132 x i8] c" %lop = alloca i32\0A %hip = alloca i32\0A store i32 0, ptr %lop\0A %h0 = sub i32 %cnt, 1\0A store i32 %h0, ptr %hip\0A br label %loop\0A\00" @.str4166 = private unnamed_addr constant [130 x i8] c"loop:\0A %lo = load i32, ptr %lop\0A %hi = load i32, ptr %hip\0A %fin = icmp sgt i32 %lo, %hi\0A br i1 %fin, label %miss, label %mid\0A\00" @.str4167 = private unnamed_addr constant [150 x i8] c"mid:\0A %sum = add i32 %lo, %hi\0A %m = sdiv i32 %sum, 2\0A %eo = mul i32 %m, 16\0A %eo2 = add i32 %eo, 32\0A %ep = getelementptr i8, ptr %base, i32 %eo2\0A\00" @.str4168 = private unnamed_addr constant [124 x i8] c" %noff = load i32, ptr %ep\0A %nptr = getelementptr i8, ptr %base, i32 %noff\0A %c = call i32 @strcmp(ptr %nptr, ptr %name)\0A\00" @.str4169 = private unnamed_addr constant [67 x i8] c" %iseq = icmp eq i32 %c, 0\0A br i1 %iseq, label %hit, label %cmp\0A\00" @.str4170 = private unnamed_addr constant [71 x i8] c"cmp:\0A %lt = icmp slt i32 %c, 0\0A br i1 %lt, label %goup, label %godn\0A\00" @.str4171 = private unnamed_addr constant [72 x i8] c"goup:\0A %m1 = add i32 %m, 1\0A store i32 %m1, ptr %lop\0A br label %loop\0A\00" @.str4172 = private unnamed_addr constant [72 x i8] c"godn:\0A %m2 = sub i32 %m, 1\0A store i32 %m2, ptr %hip\0A br label %loop\0A\00" @.str4173 = private unnamed_addr constant [148 x i8] c"hit:\0A %dop = getelementptr i8, ptr %ep, i32 4\0A %doff = load i32, ptr %dop\0A %dlp = getelementptr i8, ptr %ep, i32 8\0A %dlen = load i32, ptr %dlp\0A\00" @.str4174 = private unnamed_addr constant [93 x i8] c" store i32 %dlen, ptr %outlen\0A %dp = getelementptr i8, ptr %base, i32 %doff\0A ret ptr %dp\0A\00" @.str4175 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str4176 = private unnamed_addr constant [51 x i8] c"define ptr @lp_pak_find(ptr %path, ptr %outlen) {\0A\00" @.str4177 = private unnamed_addr constant [79 x i8] c"entry:\0A %p = call ptr @lp_pak_norm(ptr %path)\0A %np = load i32, ptr @L_pak_n\0A\00" @.str4178 = private unnamed_addr constant [85 x i8] c" %ip = alloca i32\0A %i0 = sub i32 %np, 1\0A store i32 %i0, ptr %ip\0A br label %loop\0A\00" @.str4179 = private unnamed_addr constant [101 x i8] c"loop:\0A %i = load i32, ptr %ip\0A %done = icmp slt i32 %i, 0\0A br i1 %done, label %miss, label %body\0A\00" @.str4180 = private unnamed_addr constant [103 x i8] c"body:\0A %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %i\0A %base = load ptr, ptr %slot\0A\00" @.str4181 = private unnamed_addr constant [131 x i8] c" %r = call ptr @lp_pak_find1(ptr %base, ptr %p, ptr %outlen)\0A %hit = icmp ne ptr %r, null\0A br i1 %hit, label %got, label %next\0A\00" @.str4182 = private unnamed_addr constant [19 x i8] c"got:\0A ret ptr %r\0A\00" @.str4183 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = sub i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %loop\0A\00" @.str4184 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str4185 = private unnamed_addr constant [37 x i8] c"define i32 @lp_pak_has(ptr %path) {\0A\00" @.str4186 = private unnamed_addr constant [99 x i8] c"entry:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %b = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" @.str4187 = private unnamed_addr constant [82 x i8] c" %hit = icmp ne ptr %b, null\0A %r = select i1 %hit, i32 1, i32 0\0A ret i32 %r\0A}\0A\00" @.str4188 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_bytes(ptr %path) {\0A\00" @.str4189 = private unnamed_addr constant [99 x i8] c"entry:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %b = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" @.str4190 = private unnamed_addr constant [67 x i8] c" %hit = icmp ne ptr %b, null\0A br i1 %hit, label %yes, label %no\0A\00" @.str4191 = private unnamed_addr constant [44 x i8] c"yes:\0A %l = load i32, ptr %lp\0A ret i32 %l\0A\00" @.str4192 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str4193 = private unnamed_addr constant [49 x i8] c"define ptr @lp_pak_open(ptr %path, ptr %mode) {\0A\00" @.str4194 = private unnamed_addr constant [132 x i8] c"entry:\0A %m0 = load i8, ptr %mode\0A %m0i = zext i8 %m0 to i32\0A %isr = icmp eq i32 %m0i, 114\0A br i1 %isr, label %try, label %real\0A\00" @.str4195 = private unnamed_addr constant [100 x i8] c"try:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %blob = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" @.str4196 = private unnamed_addr constant [72 x i8] c" %hit = icmp ne ptr %blob, null\0A br i1 %hit, label %mem, label %real\0A\00" @.str4197 = private unnamed_addr constant [135 x i8] c"mem:\0A %len = load i32, ptr %lp\0A %lz = zext i32 %len to i64\0A %f = call ptr @fmemopen(ptr %blob, i64 %lz, ptr @.pak_rb)\0A ret ptr %f\0A\00" @.str4198 = private unnamed_addr constant [69 x i8] c"real:\0A %rf = call ptr @fopen(ptr %path, ptr %mode)\0A ret ptr %rf\0A}\0A\00" @.str4199 = private unnamed_addr constant [39 x i8] c"define ptr @lp_pak_slurp(ptr %path) {\0A\00" @.str4200 = private unnamed_addr constant [121 x i8] c"entry:\0A %f = call ptr @fopen(ptr %path, ptr @.pak_rb)\0A %bad = icmp eq ptr %f, null\0A br i1 %bad, label %no, label %go\0A\00" @.str4201 = private unnamed_addr constant [130 x i8] c"go:\0A %s1 = call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A %s2 = call i32 @fseek(ptr %f, i64 0, i32 0)\0A\00" @.str4202 = private unnamed_addr constant [121 x i8] c" %cap = add i64 %n64, 1\0A %buf = call ptr @malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f)\0A\00" @.str4203 = private unnamed_addr constant [112 x i8] c" %e = getelementptr i8, ptr %buf, i64 %rd\0A store i8 0, ptr %e\0A %c = call i32 @fclose(ptr %f)\0A ret ptr %buf\0A\00" @.str4204 = private unnamed_addr constant [22 x i8] c"no:\0A ret ptr null\0A}\0A\00" @.str4205 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_boot_dir(ptr %dir) {\0A\00" @.str4206 = private unnamed_addr constant [105 x i8] c"entry:\0A %ix = call ptr @lp_path_join(ptr %dir, ptr @.pak_idx)\0A %txt = call ptr @lp_pak_slurp(ptr %ix)\0A\00" @.str4207 = private unnamed_addr constant [72 x i8] c" %none = icmp eq ptr %txt, null\0A br i1 %none, label %no, label %scan\0A\00" @.str4208 = private unnamed_addr constant [129 x i8] c"scan:\0A %ip = alloca i32\0A %got = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %got\0A %jp = alloca i32\0A br label %line\0A\00" @.str4209 = private unnamed_addr constant [128 x i8] c"line:\0A %i = load i32, ptr %ip\0A %lp = getelementptr i8, ptr %txt, i32 %i\0A %c0 = load i8, ptr %lp\0A %c0i = zext i8 %c0 to i32\0A\00" @.str4210 = private unnamed_addr constant [71 x i8] c" %atend = icmp eq i32 %c0i, 0\0A br i1 %atend, label %fin, label %eol\0A\00" @.str4211 = private unnamed_addr constant [48 x i8] c"eol:\0A store i32 %i, ptr %jp\0A br label %escan\0A\00" @.str4212 = private unnamed_addr constant [129 x i8] c"escan:\0A %j = load i32, ptr %jp\0A %jq = getelementptr i8, ptr %txt, i32 %j\0A %cj = load i8, ptr %jq\0A %cji = zext i8 %cj to i32\0A\00" @.str4213 = private unnamed_addr constant [130 x i8] c" %isnl = icmp eq i32 %cji, 10\0A %isz = icmp eq i32 %cji, 0\0A %stop = or i1 %isnl, %isz\0A br i1 %stop, label %ehave, label %eadv\0A\00" @.str4214 = private unnamed_addr constant [72 x i8] c"eadv:\0A %j1 = add i32 %j, 1\0A store i32 %j1, ptr %jp\0A br label %escan\0A\00" @.str4215 = private unnamed_addr constant [156 x i8] c"ehave:\0A %je = load i32, ptr %jp\0A %jep = getelementptr i8, ptr %txt, i32 %je\0A store i8 0, ptr %jep\0A %nexti = add i32 %je, 1\0A store i32 %nexti, ptr %ip\0A\00" @.str4216 = private unnamed_addr constant [177 x i8] c" %ln = getelementptr i8, ptr %txt, i32 %i\0A %isp = call i32 @strncmp(ptr %ln, ptr @.pak_kw_pack, i64 5)\0A %pk = icmp eq i32 %isp, 0\0A br i1 %pk, label %dopack, label %chkhome\0A\00" @.str4217 = private unnamed_addr constant [144 x i8] c"dopack:\0A %pv = getelementptr i8, ptr %ln, i32 5\0A %full = call ptr @lp_path_join(ptr %dir, ptr %pv)\0A %ok = call i32 @lp_pak_mount(ptr %full)\0A\00" @.str4218 = private unnamed_addr constant [94 x i8] c" %g = load i32, ptr %got\0A %g1 = add i32 %g, %ok\0A store i32 %g1, ptr %got\0A br label %line\0A\00" @.str4219 = private unnamed_addr constant [143 x i8] c"chkhome:\0A %ish = call i32 @strncmp(ptr %ln, ptr @.pak_kw_home, i64 5)\0A %hm = icmp eq i32 %ish, 0\0A br i1 %hm, label %dohome, label %chkspbg\0A\00" @.str4220 = private unnamed_addr constant [104 x i8] c"dohome:\0A %hv = getelementptr i8, ptr %ln, i32 5\0A call void @lp_pak_sethome(ptr %hv)\0A br label %line\0A\00" @.str4221 = private unnamed_addr constant [141 x i8] c"chkspbg:\0A %isb = call i32 @strncmp(ptr %ln, ptr @.pak_kw_spbg, i64 9)\0A %bg = icmp eq i32 %isb, 0\0A br i1 %bg, label %dospbg, label %chksp\0A\00" @.str4222 = private unnamed_addr constant [136 x i8] c"dospbg:\0A %bv = getelementptr i8, ptr %ln, i32 9\0A %bi = call i32 @atoi(ptr %bv)\0A store i32 %bi, ptr @L_pak_splashbg\0A br label %line\0A\00" @.str4223 = private unnamed_addr constant [138 x i8] c"chksp:\0A %isS = call i32 @strncmp(ptr %ln, ptr @.pak_kw_splash, i64 7)\0A %sp = icmp eq i32 %isS, 0\0A br i1 %sp, label %dosp, label %line\0A\00" @.str4224 = private unnamed_addr constant [100 x i8] c"dosp:\0A %sv = getelementptr i8, ptr %ln, i32 7\0A store ptr %sv, ptr @L_pak_splash\0A br label %line\0A\00" @.str4225 = private unnamed_addr constant [47 x i8] c"fin:\0A %gf = load i32, ptr %got\0A ret i32 %gf\0A\00" @.str4226 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4227 = private unnamed_addr constant [71 x i8] c"@.pak_kw_pack = private unnamed_addr constant [6 x i8] c\22pack \5C00\22\0A\00" @.str4228 = private unnamed_addr constant [71 x i8] c"@.pak_kw_home = private unnamed_addr constant [6 x i8] c\22home \5C00\22\0A\00" @.str4229 = private unnamed_addr constant [73 x i8] c"@.pak_kw_splash = private unnamed_addr constant [8 x i8] c\22splash \5C00\22\0A\00" @.str4230 = private unnamed_addr constant [75 x i8] c"@.pak_kw_spbg = private unnamed_addr constant [10 x i8] c\22splashbg \5C00\22\0A\00" @.str4231 = private unnamed_addr constant [42 x i8] c"define void @lp_pak_sethome(ptr %name) {\0A\00" @.str4232 = private unnamed_addr constant [115 x i8] c"entry:\0A %h = call ptr @getenv(ptr @.pak_appdata)\0A %nh = icmp eq ptr %h, null\0A br i1 %nh, label %out, label %go\0A\00" @.str4233 = private unnamed_addr constant [90 x i8] c"go:\0A %b = call ptr @lp_path_join(ptr %h, ptr %name)\0A call void @lp_win_slashes(ptr %b)\0A\00" @.str4234 = private unnamed_addr constant [112 x i8] c"entry:\0A %h = call ptr @getenv(ptr @.pak_home)\0A %nh = icmp eq ptr %h, null\0A br i1 %nh, label %out, label %go\0A\00" @.str4235 = private unnamed_addr constant [110 x i8] c"go:\0A %a = call ptr @lp_path_join(ptr %h, ptr @.pak_appsup)\0A %b = call ptr @lp_path_join(ptr %a, ptr %name)\0A\00" @.str4236 = private unnamed_addr constant [90 x i8] c" %mk = call i32 @mkdir(ptr %b, i32 493)\0A %cd = call i32 @chdir(ptr %b)\0A br label %out\0A\00" @.str4237 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4238 = private unnamed_addr constant [70 x i8] c"@.pak_appdata = private unnamed_addr constant [8 x i8] c\22APPDATA\5C00\22\0A\00" @.str4239 = private unnamed_addr constant [30 x i8] c"define void @lp_pak_boot() {\0A\00" @.str4240 = private unnamed_addr constant [83 x i8] c"entry:\0A %buf = alloca [1024 x i8]\0A %szp = alloca i32\0A store i32 1024, ptr %szp\0A\00" @.str4241 = private unnamed_addr constant [124 x i8] c" %rc = call i32 @_NSGetExecutablePath(ptr %buf, ptr %szp)\0A %bad = icmp ne i32 %rc, 0\0A br i1 %bad, label %out, label %go\0A\00" @.str4242 = private unnamed_addr constant [103 x i8] c"go:\0A %dir = call ptr @lp_path_dir(ptr %buf)\0A %res = call ptr @lp_path_join(ptr %dir, ptr @.pak_res)\0A\00" @.str4243 = private unnamed_addr constant [115 x i8] c" %n1 = call i32 @lp_pak_boot_dir(ptr %res)\0A %any = icmp sgt i32 %n1, 0\0A br i1 %any, label %splash, label %try2\0A\00" @.str4244 = private unnamed_addr constant [70 x i8] c"try2:\0A %n2 = call i32 @lp_pak_boot_dir(ptr %dir)\0A br label %splash\0A\00" @.str4245 = private unnamed_addr constant [9 x i8] c"splash:\0A\00" @.str4246 = private unnamed_addr constant [33 x i8] c" call void @lp_pak_splash_go()\0A\00" @.str4247 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str4248 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4249 = private unnamed_addr constant [35 x i8] c"define void @lp_pak_splash_go() {\0A\00" @.str4250 = private unnamed_addr constant [115 x i8] c"entry:\0A %sp = load ptr, ptr @L_pak_splash\0A %none = icmp eq ptr %sp, null\0A br i1 %none, label %out, label %find\0A\00" @.str4251 = private unnamed_addr constant [99 x i8] c"find:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %blob = call ptr @lp_pak_find(ptr %sp, ptr %lp)\0A\00" @.str4252 = private unnamed_addr constant [74 x i8] c" %miss = icmp eq ptr %blob, null\0A br i1 %miss, label %out, label %show\0A\00" @.str4253 = private unnamed_addr constant [72 x i8] c"show:\0A %len = load i32, ptr %lp\0A %bg = load i32, ptr @L_pak_splashbg\0A\00" @.str4254 = private unnamed_addr constant [72 x i8] c" call void @splash_show(ptr %blob, i32 %len, i32 %bg)\0A br label %out\0A\00" @.str4255 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4256 = private unnamed_addr constant [39 x i8] c"define void @lp_app_icon(ptr %path) {\0A\00" @.str4257 = private unnamed_addr constant [128 x i8] c"entry:\0A %f = call ptr @lp_pak_open(ptr %path, ptr @.pak_rb)\0A %bad = icmp eq ptr %f, null\0A br i1 %bad, label %out, label %go\0A\00" @.str4258 = private unnamed_addr constant [130 x i8] c"go:\0A %s1 = call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A %s2 = call i32 @fseek(ptr %f, i64 0, i32 0)\0A\00" @.str4259 = private unnamed_addr constant [72 x i8] c" %tiny = icmp sle i64 %n64, 0\0A br i1 %tiny, label %shut, label %read\0A\00" @.str4260 = private unnamed_addr constant [102 x i8] c"read:\0A %buf = call ptr @malloc(i64 %n64)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f)\0A\00" @.str4261 = private unnamed_addr constant [64 x i8] c" %c1 = call i32 @fclose(ptr %f)\0A %n32 = trunc i64 %rd to i32\0A\00" @.str4262 = private unnamed_addr constant [86 x i8] c" call void @app_set_icon(ptr %buf, i32 %n32)\0A call void @free(ptr %buf)\0A ret void\0A\00" @.str4263 = private unnamed_addr constant [51 x i8] c"shut:\0A %c2 = call i32 @fclose(ptr %f)\0A ret void\0A\00" @.str4264 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str4265 = private unnamed_addr constant [35 x i8] c"declare ptr @__acrt_iob_func(i32)\0A\00" @.str4266 = private unnamed_addr constant [33 x i8] c"declare i32 @_setmode(i32, i32)\0A\00" @.str4267 = private unnamed_addr constant [37 x i8] c"declare ptr @_fsopen(ptr, ptr, i32)\0A\00" @.str4268 = private unnamed_addr constant [29 x i8] c"declare i64 @_ftelli64(ptr)\0A\00" @.str4269 = private unnamed_addr constant [39 x i8] c"declare i32 @_fseeki64(ptr, i64, i32)\0A\00" @.str4270 = private unnamed_addr constant [27 x i8] c"declare i64 @_time64(ptr)\0A\00" @.str4271 = private unnamed_addr constant [32 x i8] c"declare i32 @_access(ptr, i32)\0A\00" @.str4272 = private unnamed_addr constant [26 x i8] c"declare i32 @_mkdir(ptr)\0A\00" @.str4273 = private unnamed_addr constant [26 x i8] c"declare i32 @_chdir(ptr)\0A\00" @.str4274 = private unnamed_addr constant [24 x i8] c"declare i32 @_getpid()\0A\00" @.str4275 = private unnamed_addr constant [35 x i8] c"declare i32 @_open(ptr, i32, ...)\0A\00" @.str4276 = private unnamed_addr constant [26 x i8] c"declare i32 @_close(i32)\0A\00" @.str4277 = private unnamed_addr constant [39 x i8] c"declare i64 @_lseeki64(i32, i64, i32)\0A\00" @.str4278 = private unnamed_addr constant [34 x i8] c"declare i32 @_putenv_s(ptr, ptr)\0A\00" @.str4279 = private unnamed_addr constant [34 x i8] c"declare i64 @_get_osfhandle(i32)\0A\00" @.str4280 = private unnamed_addr constant [40 x i8] c"declare i32 @_open_osfhandle(i64, i32)\0A\00" @.str4281 = private unnamed_addr constant [32 x i8] c"declare ptr @_fdopen(i32, ptr)\0A\00" @.str4282 = private unnamed_addr constant [41 x i8] c"declare i32 @MoveFileExA(ptr, ptr, i32)\0A\00" @.str4283 = private unnamed_addr constant [31 x i8] c"declare i32 @DeleteFileA(ptr)\0A\00" @.str4284 = private unnamed_addr constant [36 x i8] c"declare i32 @RemoveDirectoryA(ptr)\0A\00" @.str4285 = private unnamed_addr constant [39 x i8] c"declare ptr @FindFirstFileA(ptr, ptr)\0A\00" @.str4286 = private unnamed_addr constant [38 x i8] c"declare i32 @FindNextFileA(ptr, ptr)\0A\00" @.str4287 = private unnamed_addr constant [29 x i8] c"declare i32 @FindClose(ptr)\0A\00" @.str4288 = private unnamed_addr constant [63 x i8] c"declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr)\0A\00" @.str4289 = private unnamed_addr constant [53 x i8] c"declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64)\0A\00" @.str4290 = private unnamed_addr constant [31 x i8] c"declare i32 @CloseHandle(ptr)\0A\00" @.str4291 = private unnamed_addr constant [48 x i8] c"declare i32 @GetModuleFileNameA(ptr, ptr, i32)\0A\00" @.str4292 = private unnamed_addr constant [37 x i8] c"declare i32 @GetTempPathA(i32, ptr)\0A\00" @.str4293 = private unnamed_addr constant [51 x i8] c"declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr)\0A\00" @.str4294 = private unnamed_addr constant [61 x i8] c"declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr)\0A\00" @.str4295 = private unnamed_addr constant [49 x i8] c"declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr)\0A\00" @.str4296 = private unnamed_addr constant [49 x i8] c"declare i32 @SetFilePointer(ptr, i32, ptr, i32)\0A\00" @.str4297 = private unnamed_addr constant [65 x i8] c"@.win_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str4298 = private unnamed_addr constant [66 x i8] c"@.win_lpk = private unnamed_addr constant [4 x i8] c\22lpk\5C00\22\0A\00" @.str4299 = private unnamed_addr constant [63 x i8] c"@.win_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str4300 = private unnamed_addr constant [70 x i8] c"@.win_windows = private unnamed_addr constant [8 x i8] c\22Windows\5C00\22\0A\00" @.str4301 = private unnamed_addr constant [69 x i8] c"@.win_x64 = private unnamed_addr constant [7 x i8] c\22x86_64\5C00\22\0A\00" @.str4302 = private unnamed_addr constant [48 x i8] c"define internal void @lp_win_slashes(ptr %s) {\0A\00" @.str4303 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %lp\0A\00" @.str4304 = private unnamed_addr constant [132 x i8] c"lp:\0A %p = phi ptr [ %s, %entry ], [ %p1, %nx ]\0A %c = load i8, ptr %p\0A %z = icmp eq i8 %c, 0\0A br i1 %z, label %done, label %chk\0A\00" @.str4305 = private unnamed_addr constant [67 x i8] c"chk:\0A %bs = icmp eq i8 %c, 92\0A br i1 %bs, label %fix, label %nx\0A\00" @.str4306 = private unnamed_addr constant [43 x i8] c"fix:\0A store i8 47, ptr %p\0A br label %nx\0A\00" @.str4307 = private unnamed_addr constant [60 x i8] c"nx:\0A %p1 = getelementptr i8, ptr %p, i64 1\0A br label %lp\0A\00" @.str4308 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str4309 = private unnamed_addr constant [42 x i8] c"@L_win_stdio_bin = internal global i32 0\0A\00" @.str4310 = private unnamed_addr constant [46 x i8] c"define internal ptr @lp_win_stdio(i32 %fd) {\0A\00" @.str4311 = private unnamed_addr constant [112 x i8] c"entry:\0A %b = load i32, ptr @L_win_stdio_bin\0A %done = icmp ne i32 %b, 0\0A br i1 %done, label %get, label %set\0A\00" @.str4312 = private unnamed_addr constant [148 x i8] c"set:\0A store i32 1, ptr @L_win_stdio_bin\0A %s1 = call i32 @_setmode(i32 1, i32 32768)\0A %s2 = call i32 @_setmode(i32 2, i32 32768)\0A br label %get\0A\00" @.str4313 = private unnamed_addr constant [63 x i8] c"get:\0A %f = call ptr @__acrt_iob_func(i32 %fd)\0A ret ptr %f\0A}\0A\00" @.str4314 = private unnamed_addr constant [46 x i8] c"define internal ptr @fopen(ptr %p, ptr %m) {\0A\00" @.str4315 = private unnamed_addr constant [132 x i8] c"entry:\0A %buf = alloca [8 x i8]\0A %ip = alloca i32\0A %hb = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %hb\0A br label %lp\0A\00" @.str4316 = private unnamed_addr constant [213 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %src = getelementptr i8, ptr %m, i32 %i\0A %c = load i8, ptr %src\0A %z = icmp eq i8 %c, 0\0A %full = icmp sge i32 %i, 6\0A %stop = or i1 %z, %full\0A br i1 %stop, label %fin, label %cp\0A\00" @.str4317 = private unnamed_addr constant [256 x i8] c"cp:\0A %dst = getelementptr i8, ptr %buf, i32 %i\0A store i8 %c, ptr %dst\0A %isb = icmp eq i8 %c, 98\0A %hbv = load i32, ptr %hb\0A %hbn = select i1 %isb, i32 1, i32 %hbv\0A store i32 %hbn, ptr %hb\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" @.str4318 = private unnamed_addr constant [103 x i8] c"fin:\0A %hbf = load i32, ptr %hb\0A %need = icmp eq i32 %hbf, 0\0A br i1 %need, label %addb, label %term\0A\00" @.str4319 = private unnamed_addr constant [137 x i8] c"addb:\0A %bp = getelementptr i8, ptr %buf, i32 %i\0A store i8 98, ptr %bp\0A %i2 = add i32 %i, 1\0A store i32 %i2, ptr %ip\0A br label %term\0A\00" @.str4320 = private unnamed_addr constant [165 x i8] c"term:\0A %ie = load i32, ptr %ip\0A %ep = getelementptr i8, ptr %buf, i32 %ie\0A store i8 0, ptr %ep\0A %f = call ptr @_fsopen(ptr %p, ptr %buf, i32 64)\0A ret ptr %f\0A}\0A\00" @.str4321 = private unnamed_addr constant [95 x i8] c"define internal i64 @ftell(ptr %f) {\0Aentry:\0A %r = call i64 @_ftelli64(ptr %f)\0A ret i64 %r\0A}\0A\00" @.str4322 = private unnamed_addr constant [127 x i8] c"define internal i32 @fseek(ptr %f, i64 %o, i32 %w) {\0Aentry:\0A %r = call i32 @_fseeki64(ptr %f, i64 %o, i32 %w)\0A ret i32 %r\0A}\0A\00" @.str4323 = private unnamed_addr constant [184 x i8] c"define internal i32 @rename(ptr %a, ptr %b) {\0Aentry:\0A %r = call i32 @MoveFileExA(ptr %a, ptr %b, i32 11)\0A %ok = icmp ne i32 %r, 0\0A %v = select i1 %ok, i32 0, i32 -1\0A ret i32 %v\0A}\0A\00" @.str4324 = private unnamed_addr constant [39 x i8] c"define internal i32 @remove(ptr %p) {\0A\00" @.str4325 = private unnamed_addr constant [107 x i8] c"entry:\0A %d = call i32 @DeleteFileA(ptr %p)\0A %ok = icmp ne i32 %d, 0\0A br i1 %ok, label %yes, label %dir\0A\00" @.str4326 = private unnamed_addr constant [111 x i8] c"dir:\0A %r = call i32 @RemoveDirectoryA(ptr %p)\0A %ok2 = icmp ne i32 %r, 0\0A br i1 %ok2, label %yes, label %no\0A\00" @.str4327 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 0\0A\00" @.str4328 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str4329 = private unnamed_addr constant [110 x i8] c"define internal i32 @access(ptr %p, i32 %m) {\0Aentry:\0A %r = call i32 @_access(ptr %p, i32 %m)\0A ret i32 %r\0A}\0A\00" @.str4330 = private unnamed_addr constant [103 x i8] c"define internal i32 @mkdir(ptr %p, i32 %mode) {\0Aentry:\0A %r = call i32 @_mkdir(ptr %p)\0A ret i32 %r\0A}\0A\00" @.str4331 = private unnamed_addr constant [155 x i8] c"define internal i32 @open(ptr %p, i32 %fl, ...) {\0Aentry:\0A %f2 = or i32 %fl, 32768\0A %r = call i32 (ptr, i32, ...) @_open(ptr %p, i32 %f2)\0A ret i32 %r\0A}\0A\00" @.str4332 = private unnamed_addr constant [94 x i8] c"define internal i32 @close(i32 %fd) {\0Aentry:\0A %r = call i32 @_close(i32 %fd)\0A ret i32 %r\0A}\0A\00" @.str4333 = private unnamed_addr constant [129 x i8] c"define internal i64 @lseek(i32 %fd, i64 %o, i32 %w) {\0Aentry:\0A %r = call i64 @_lseeki64(i32 %fd, i64 %o, i32 %w)\0A ret i64 %r\0A}\0A\00" @.str4334 = private unnamed_addr constant [43 x i8] c"define internal ptr @opendir(ptr %path) {\0A\00" @.str4335 = private unnamed_addr constant [150 x i8] c"entry:\0A %l = call i64 @strlen(ptr %path)\0A %cap = add i64 %l, 3\0A %pat = call ptr @malloc(i64 %cap)\0A call ptr @memcpy(ptr %pat, ptr %path, i64 %l)\0A\00" @.str4336 = private unnamed_addr constant [194 x i8] c" %e0 = getelementptr i8, ptr %pat, i64 %l\0A store i8 47, ptr %e0\0A %e1 = getelementptr i8, ptr %e0, i64 1\0A store i8 42, ptr %e1\0A %e2 = getelementptr i8, ptr %e0, i64 2\0A store i8 0, ptr %e2\0A\00" @.str4337 = private unnamed_addr constant [154 x i8] c" %d = call ptr @malloc(i64 368)\0A %fd = getelementptr i8, ptr %d, i64 16\0A %h = call ptr @FindFirstFileA(ptr %pat, ptr %fd)\0A call void @free(ptr %pat)\0A\00" @.str4338 = private unnamed_addr constant [86 x i8] c" %bad = icmp eq ptr %h, inttoptr (i64 -1 to ptr)\0A br i1 %bad, label %no, label %ok\0A\00" @.str4339 = private unnamed_addr constant [46 x i8] c"no:\0A call void @free(ptr %d)\0A ret ptr null\0A\00" @.str4340 = private unnamed_addr constant [106 x i8] c"ok:\0A store ptr %h, ptr %d\0A %fl = getelementptr i8, ptr %d, i64 8\0A store i32 1, ptr %fl\0A ret ptr %d\0A}\0A\00" @.str4341 = private unnamed_addr constant [40 x i8] c"define internal ptr @readdir(ptr %d) {\0A\00" @.str4342 = private unnamed_addr constant [143 x i8] c"entry:\0A %fl = getelementptr i8, ptr %d, i64 8\0A %f = load i32, ptr %fl\0A %first = icmp ne i32 %f, 0\0A br i1 %first, label %take, label %next\0A\00" @.str4343 = private unnamed_addr constant [47 x i8] c"take:\0A store i32 0, ptr %fl\0A br label %give\0A\00" @.str4344 = private unnamed_addr constant [189 x i8] c"next:\0A %h = load ptr, ptr %d\0A %fd = getelementptr i8, ptr %d, i64 16\0A %ok = call i32 @FindNextFileA(ptr %h, ptr %fd)\0A %more = icmp ne i32 %ok, 0\0A br i1 %more, label %give, label %end\0A\00" @.str4345 = private unnamed_addr constant [62 x i8] c"give:\0A %de = getelementptr i8, ptr %d, i64 39\0A ret ptr %de\0A\00" @.str4346 = private unnamed_addr constant [23 x i8] c"end:\0A ret ptr null\0A}\0A\00" @.str4347 = private unnamed_addr constant [147 x i8] c"define internal i32 @closedir(ptr %d) {\0Aentry:\0A %h = load ptr, ptr %d\0A %r = call i32 @FindClose(ptr %h)\0A call void @free(ptr %d)\0A ret i32 0\0A}\0A\00" @.str4348 = private unnamed_addr constant [89 x i8] c"define internal ptr @mmap(ptr %a, i64 %len, i32 %prot, i32 %flags, i32 %fd, i64 %off) {\0A\00" @.str4349 = private unnamed_addr constant [166 x i8] c"entry:\0A %oh = call i64 @_get_osfhandle(i32 %fd)\0A %h = inttoptr i64 %oh to ptr\0A %m = call ptr @CreateFileMappingA(ptr %h, ptr null, i32 2, i32 0, i32 0, ptr null)\0A\00" @.str4350 = private unnamed_addr constant [66 x i8] c" %nm = icmp eq ptr %m, null\0A br i1 %nm, label %bad, label %map\0A\00" @.str4351 = private unnamed_addr constant [174 x i8] c"map:\0A %v = call ptr @MapViewOfFile(ptr %m, i32 4, i32 0, i32 0, i64 0)\0A %c = call i32 @CloseHandle(ptr %m)\0A %nv = icmp eq ptr %v, null\0A br i1 %nv, label %bad, label %ok\0A\00" @.str4352 = private unnamed_addr constant [18 x i8] c"ok:\0A ret ptr %v\0A\00" @.str4353 = private unnamed_addr constant [43 x i8] c"bad:\0A ret ptr inttoptr (i64 -1 to ptr)\0A}\0A\00" @.str4354 = private unnamed_addr constant [64 x i8] c"define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) {\0A\00" @.str4355 = private unnamed_addr constant [190 x i8] c"entry:\0A %dir = alloca [270 x i8]\0A %name = alloca [270 x i8]\0A %wr = alloca i32\0A %n = call i32 @GetTempPathA(i32 260, ptr %dir)\0A %z = icmp eq i32 %n, 0\0A br i1 %z, label %bad, label %mk\0A\00" @.str4356 = private unnamed_addr constant [143 x i8] c"mk:\0A %u = call i32 @GetTempFileNameA(ptr %dir, ptr @.win_lpk, i32 0, ptr %name)\0A %uz = icmp eq i32 %u, 0\0A br i1 %uz, label %bad, label %cr\0A\00" @.str4357 = private unnamed_addr constant [195 x i8] c"cr:\0A %h = call ptr @CreateFileA(ptr %name, i32 -1073741824, i32 7, ptr null, i32 2, i32 67109120, ptr null)\0A %hb = icmp eq ptr %h, inttoptr (i64 -1 to ptr)\0A br i1 %hb, label %bad, label %wrt\0A\00" @.str4358 = private unnamed_addr constant [176 x i8] c"wrt:\0A %l32 = trunc i64 %len to i32\0A %w = call i32 @WriteFile(ptr %h, ptr %buf, i32 %l32, ptr %wr, ptr null)\0A %sp = call i32 @SetFilePointer(ptr %h, i32 0, ptr null, i32 0)\0A\00" @.str4359 = private unnamed_addr constant [153 x i8] c" %hi = ptrtoint ptr %h to i64\0A %fd = call i32 @_open_osfhandle(i64 %hi, i32 32768)\0A %fdb = icmp slt i32 %fd, 0\0A br i1 %fdb, label %shut, label %fdo\0A\00" @.str4360 = private unnamed_addr constant [67 x i8] c"fdo:\0A %f = call ptr @_fdopen(i32 %fd, ptr @.win_rb)\0A ret ptr %f\0A\00" @.str4361 = private unnamed_addr constant [60 x i8] c"shut:\0A %c = call i32 @CloseHandle(ptr %h)\0A br label %bad\0A\00" @.str4362 = private unnamed_addr constant [23 x i8] c"bad:\0A ret ptr null\0A}\0A\00" @.str4363 = private unnamed_addr constant [65 x i8] c"define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) {\0A\00" @.str4364 = private unnamed_addr constant [221 x i8] c"entry:\0A %sz = load i32, ptr %szp\0A %n = call i32 @GetModuleFileNameA(ptr null, ptr %buf, i32 %sz)\0A %bad = icmp eq i32 %n, 0\0A %full = icmp sge i32 %n, %sz\0A %no = or i1 %bad, %full\0A br i1 %no, label %fail, label %fix\0A\00" @.str4365 = private unnamed_addr constant [56 x i8] c"fix:\0A call void @lp_win_slashes(ptr %buf)\0A ret i32 0\0A\00" @.str4366 = private unnamed_addr constant [22 x i8] c"fail:\0A ret i32 -1\0A}\0A\00" @.str4367 = private unnamed_addr constant [92 x i8] c"define internal i32 @chdir(ptr %p) {\0Aentry:\0A %r = call i32 @_chdir(ptr %p)\0A ret i32 %r\0A}\0A\00" @.str4368 = private unnamed_addr constant [82 x i8] c"define internal i32 @getpid() {\0Aentry:\0A %r = call i32 @_getpid()\0A ret i32 %r\0A}\0A\00" @.str4369 = private unnamed_addr constant [92 x i8] c"define internal i64 @time(ptr %t) {\0Aentry:\0A %r = call i64 @_time64(ptr %t)\0A ret i64 %r\0A}\0A\00" @.str4370 = private unnamed_addr constant [120 x i8] c"define internal i32 @setenv(ptr %n, ptr %v, i32 %o) {\0Aentry:\0A %r = call i32 @_putenv_s(ptr %n, ptr %v)\0A ret i32 %r\0A}\0A\00" @.str4371 = private unnamed_addr constant [115 x i8] c"define internal i32 @unsetenv(ptr %n) {\0Aentry:\0A %r = call i32 @_putenv_s(ptr %n, ptr @.win_empty)\0A ret i32 %r\0A}\0A\00" @.str4372 = private unnamed_addr constant [40 x i8] c"define internal i32 @uname(ptr %buf) {\0A\00" @.str4373 = private unnamed_addr constant [170 x i8] c"entry:\0A call ptr @memcpy(ptr %buf, ptr @.win_windows, i64 8)\0A %m = getelementptr i8, ptr %buf, i64 1024\0A call ptr @memcpy(ptr %m, ptr @.win_x64, i64 7)\0A ret i32 0\0A}\0A\00" @.str4374 = private unnamed_addr constant [12 x i8] c"USERPROFILE\00" @.str4375 = private unnamed_addr constant [8 x i8] c"APPDATA\00" @.str4376 = private unnamed_addr constant [13 x i8] c"LOCALAPPDATA\00" @.str4377 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str4378 = private unnamed_addr constant [1 x i8] c"\00" @.str4379 = private unnamed_addr constant [8 x i8] c"windows\00" @.str4380 = private unnamed_addr constant [7 x i8] c"x86_64\00" @.str4381 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str4382 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4383 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4384 = private unnamed_addr constant [50 x i8] c"define ptr @lp_os_winknown(ptr %var, ptr %app) {\0A\00" @.str4385 = private unnamed_addr constant [106 x i8] c"entry:\0A %v = call ptr @getenv(ptr %var)\0A %z = icmp eq ptr %v, null\0A br i1 %z, label %home, label %use\0A\00" @.str4386 = private unnamed_addr constant [54 x i8] c"home:\0A %h = call ptr @lp_os_home()\0A br label %join\0A\00" @.str4387 = private unnamed_addr constant [23 x i8] c"use:\0A br label %join\0A\00" @.str4388 = private unnamed_addr constant [91 x i8] c"join:\0A %b = phi ptr [ %h, %home ], [ %v, %use ]\0A %r = call ptr @lp_os_join3(ptr %b, ptr \00" @.str4389 = private unnamed_addr constant [64 x i8] c", ptr %app)\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" @.str4390 = private unnamed_addr constant [76 x i8] c"define ptr @lp_os_save_dir(ptr %app) {\0A %r = call ptr @lp_os_winknown(ptr \00" @.str4391 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4392 = private unnamed_addr constant [78 x i8] c"define ptr @lp_os_config_dir(ptr %app) {\0A %r = call ptr @lp_os_winknown(ptr \00" @.str4393 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4394 = private unnamed_addr constant [77 x i8] c"define ptr @lp_os_cache_dir(ptr %app) {\0A %r = call ptr @lp_os_winknown(ptr \00" @.str4395 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str4396 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %t = call ptr @lp_os_getenv_or(ptr \00" @.str4397 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4398 = private unnamed_addr constant [44 x i8] c")\0A %r = call ptr @lp_os_join2(ptr %t, ptr \00" @.str4399 = private unnamed_addr constant [54 x i8] c")\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" @.str4400 = private unnamed_addr constant [42 x i8] c"define ptr @lp_os_platform() {\0A ret ptr \00" @.str4401 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str4402 = private unnamed_addr constant [38 x i8] c"define ptr @lp_os_arch() {\0A ret ptr \00" @.str4403 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str4404 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str4405 = 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" @.str4406 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str4407 = 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" @.str4408 = 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" @.str4409 = 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" @.str4410 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str4411 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4412 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4413 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4414 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4415 = private unnamed_addr constant [4 x i8] c"len\00" @.str4416 = private unnamed_addr constant [5 x i8] c"push\00" @.str4417 = private unnamed_addr constant [6 x i8] c"clear\00" @.str4418 = private unnamed_addr constant [7 x i8] c"sample\00" @.str4419 = private unnamed_addr constant [6 x i8] c"first\00" @.str4420 = private unnamed_addr constant [5 x i8] c"last\00" @.str4421 = private unnamed_addr constant [4 x i8] c"pop\00" @.str4422 = private unnamed_addr constant [5 x i8] c"swap\00" @.str4423 = private unnamed_addr constant [9 x i8] c"contains\00" @.str4424 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4425 = private unnamed_addr constant [8 x i8] c"reverse\00" @.str4426 = private unnamed_addr constant [7 x i8] c"insert\00" @.str4427 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str4428 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4429 = private unnamed_addr constant [5 x i8] c"sort\00" @.str4430 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str4431 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str4432 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str4433 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4434 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4435 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4436 = private unnamed_addr constant [3 x i8] c", \00" @.str4437 = private unnamed_addr constant [3 x i8] c"ig\00" @.str4438 = private unnamed_addr constant [4 x i8] c"igd\00" @.str4439 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4440 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4441 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4442 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4443 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4444 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4445 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4446 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str4447 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4448 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4449 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str4450 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4451 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4452 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4453 = private unnamed_addr constant [3 x i8] c", \00" @.str4454 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4455 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str4456 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str4457 = private unnamed_addr constant [2 x i8] c")\00" @.str4458 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str4459 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4460 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4461 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4462 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4463 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4464 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4465 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4466 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4467 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str4468 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4469 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4470 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4471 = private unnamed_addr constant [2 x i8] c" \00" @.str4472 = private unnamed_addr constant [3 x i8] c", \00" @.str4473 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00" @.str4474 = private unnamed_addr constant [2 x i8] c"(\00" @.str4475 = private unnamed_addr constant [2 x i8] c" \00" @.str4476 = private unnamed_addr constant [3 x i8] c", \00" @.str4477 = private unnamed_addr constant [2 x i8] c" \00" @.str4478 = private unnamed_addr constant [2 x i8] c")\00" @.str4479 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4480 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4481 = private unnamed_addr constant [6 x i8] c"call \00" @.str4482 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str4483 = private unnamed_addr constant [2 x i8] c"(\00" @.str4484 = private unnamed_addr constant [2 x i8] c" \00" @.str4485 = private unnamed_addr constant [2 x i8] c")\00" @.str4486 = private unnamed_addr constant [6 x i8] c"call \00" @.str4487 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str4488 = private unnamed_addr constant [2 x i8] c"(\00" @.str4489 = private unnamed_addr constant [2 x i8] c" \00" @.str4490 = private unnamed_addr constant [2 x i8] c")\00" @.str4491 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str4492 = private unnamed_addr constant [2 x i8] c" \00" @.str4493 = private unnamed_addr constant [3 x i8] c", \00" @.str4494 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str4495 = private unnamed_addr constant [2 x i8] c" \00" @.str4496 = private unnamed_addr constant [3 x i8] c", \00" @.str4497 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4498 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4499 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str4500 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str4501 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str4502 = private unnamed_addr constant [3 x i8] c", \00" @.str4503 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str4504 = private unnamed_addr constant [2 x i8] c")\00" @.str4505 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4506 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4507 = private unnamed_addr constant [2 x i8] c"1\00" @.str4508 = private unnamed_addr constant [6 x i8] c"ms_wc\00" @.str4509 = private unnamed_addr constant [6 x i8] c"ms_wb\00" @.str4510 = private unnamed_addr constant [6 x i8] c"ms_we\00" @.str4511 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4512 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4513 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4514 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4515 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4516 = private unnamed_addr constant [3 x i8] c", \00" @.str4517 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4518 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4519 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4520 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4521 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4522 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str4523 = private unnamed_addr constant [4 x i8] c", 2\00" @.str4524 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4525 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4526 = private unnamed_addr constant [2 x i8] c"0\00" @.str4527 = private unnamed_addr constant [6 x i8] c"ms_ic\00" @.str4528 = private unnamed_addr constant [6 x i8] c"ms_ib\00" @.str4529 = private unnamed_addr constant [6 x i8] c"ms_ie\00" @.str4530 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4531 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4532 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4533 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4534 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4535 = private unnamed_addr constant [3 x i8] c", \00" @.str4536 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4537 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4538 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4539 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4540 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4541 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4542 = private unnamed_addr constant [3 x i8] c", \00" @.str4543 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4544 = private unnamed_addr constant [3 x i8] c", \00" @.str4545 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4546 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4547 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4548 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4549 = private unnamed_addr constant [3 x i8] c", \00" @.str4550 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4551 = private unnamed_addr constant [3 x i8] c", \00" @.str4552 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str4553 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4554 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4555 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4556 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4557 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4558 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4559 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4560 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4561 = private unnamed_addr constant [6 x i8] c"ms_mc\00" @.str4562 = private unnamed_addr constant [6 x i8] c"ms_mb\00" @.str4563 = private unnamed_addr constant [8 x i8] c"ms_mend\00" @.str4564 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4565 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4566 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4567 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4568 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4569 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4570 = private unnamed_addr constant [3 x i8] c", \00" @.str4571 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4572 = private unnamed_addr constant [3 x i8] c", \00" @.str4573 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str4574 = private unnamed_addr constant [3 x i8] c", \00" @.str4575 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4576 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4577 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4578 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4579 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4580 = private unnamed_addr constant [6 x i8] c"load \00" @.str4581 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4582 = private unnamed_addr constant [6 x i8] c"load \00" @.str4583 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4584 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4585 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" @.str4586 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" @.str4587 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" @.str4588 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4589 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4590 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4591 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4592 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4593 = private unnamed_addr constant [9 x i8] c" store \00" @.str4594 = private unnamed_addr constant [2 x i8] c" \00" @.str4595 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4596 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4597 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4598 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4599 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4600 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4601 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4602 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4603 = private unnamed_addr constant [9 x i8] c" store \00" @.str4604 = private unnamed_addr constant [2 x i8] c" \00" @.str4605 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4606 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4607 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4608 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4609 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4610 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4611 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4612 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4613 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4614 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4615 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4616 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4617 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4618 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4619 = private unnamed_addr constant [7 x i8] c"ms_dac\00" @.str4620 = private unnamed_addr constant [7 x i8] c"ms_dab\00" @.str4621 = private unnamed_addr constant [7 x i8] c"ms_dae\00" @.str4622 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4623 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4624 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4625 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4626 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4627 = private unnamed_addr constant [3 x i8] c", \00" @.str4628 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4629 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4630 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4631 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4632 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4633 = private unnamed_addr constant [6 x i8] c"load \00" @.str4634 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4635 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4636 = private unnamed_addr constant [9 x i8] c" store \00" @.str4637 = private unnamed_addr constant [2 x i8] c" \00" @.str4638 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4639 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4640 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4641 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4642 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4643 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4644 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4645 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4646 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4647 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4648 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4649 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" @.str4650 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" @.str4651 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" @.str4652 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4653 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4654 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4655 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4656 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4657 = private unnamed_addr constant [3 x i8] c", \00" @.str4658 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4659 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4660 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4661 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4662 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4663 = private unnamed_addr constant [6 x i8] c"load \00" @.str4664 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4665 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4666 = private unnamed_addr constant [9 x i8] c" store \00" @.str4667 = private unnamed_addr constant [2 x i8] c" \00" @.str4668 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4669 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4670 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4671 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4672 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4673 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4674 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4675 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4676 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4677 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4678 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4679 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4680 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4681 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" @.str4682 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" @.str4683 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" @.str4684 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4685 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4686 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4687 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4688 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4689 = private unnamed_addr constant [3 x i8] c", \00" @.str4690 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4691 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4692 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4693 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4694 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4695 = private unnamed_addr constant [6 x i8] c"load \00" @.str4696 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4697 = private unnamed_addr constant [9 x i8] c" store \00" @.str4698 = private unnamed_addr constant [2 x i8] c" \00" @.str4699 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4700 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4701 = private unnamed_addr constant [9 x i8] c"add 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 [13 x i8] c" br label %\00" @.str4705 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4706 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4707 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4708 = private unnamed_addr constant [3 x i8] c", \00" @.str4709 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4710 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4711 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4712 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4713 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4714 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4715 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4716 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4717 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str4718 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4719 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4720 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" @.str4721 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4722 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" @.str4723 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4724 = private unnamed_addr constant [22 x i8] c": no function named '\00" @.str4725 = private unnamed_addr constant [2 x i8] c"'\00" @.str4726 = private unnamed_addr constant [4 x i8] c"len\00" @.str4727 = private unnamed_addr constant [5 x i8] c"push\00" @.str4728 = private unnamed_addr constant [7 x i8] c"sample\00" @.str4729 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str4730 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" @.str4731 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00" @.str4732 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4733 = private unnamed_addr constant [2 x i8] c")\00" @.str4734 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str4735 = private unnamed_addr constant [6 x i8] c"List.\00" @.str4736 = private unnamed_addr constant [15 x i8] c" needs a slice\00" @.str4737 = private unnamed_addr constant [6 x i8] c"clear\00" @.str4738 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str4739 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4740 = private unnamed_addr constant [2 x i8] c"0\00" @.str4741 = private unnamed_addr constant [5 x i8] c"void\00" @.str4742 = private unnamed_addr constant [6 x i8] c"first\00" @.str4743 = private unnamed_addr constant [2 x i8] c"0\00" @.str4744 = private unnamed_addr constant [6 x i8] c"load \00" @.str4745 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4746 = private unnamed_addr constant [5 x i8] c"last\00" @.str4747 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4748 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4749 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4750 = private unnamed_addr constant [6 x i8] c"load \00" @.str4751 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4752 = private unnamed_addr constant [4 x i8] c"pop\00" @.str4753 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4754 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4755 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4756 = private unnamed_addr constant [6 x i8] c"load \00" @.str4757 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4758 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4759 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4760 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4761 = private unnamed_addr constant [5 x i8] c"swap\00" @.str4762 = private unnamed_addr constant [6 x i8] c"load \00" @.str4763 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4764 = private unnamed_addr constant [6 x i8] c"load \00" @.str4765 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4766 = private unnamed_addr constant [9 x i8] c" store \00" @.str4767 = private unnamed_addr constant [2 x i8] c" \00" @.str4768 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4769 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4770 = private unnamed_addr constant [9 x i8] c" store \00" @.str4771 = private unnamed_addr constant [2 x i8] c" \00" @.str4772 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4773 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4774 = private unnamed_addr constant [2 x i8] c"0\00" @.str4775 = private unnamed_addr constant [5 x i8] c"void\00" @.str4776 = private unnamed_addr constant [9 x i8] c"contains\00" @.str4777 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4778 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4779 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4780 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4781 = private unnamed_addr constant [3 x i8] c"-1\00" @.str4782 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4783 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4784 = private unnamed_addr constant [2 x i8] c"0\00" @.str4785 = private unnamed_addr constant [8 x i8] c"lc_cond\00" @.str4786 = private unnamed_addr constant [8 x i8] c"lc_body\00" @.str4787 = private unnamed_addr constant [7 x i8] c"lc_hit\00" @.str4788 = private unnamed_addr constant [8 x i8] c"lc_next\00" @.str4789 = private unnamed_addr constant [7 x i8] c"lc_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 [14 x i8] c"icmp slt i32 \00" @.str4795 = private unnamed_addr constant [3 x i8] c", \00" @.str4796 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4797 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4798 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4799 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4800 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4801 = private unnamed_addr constant [6 x i8] c"load \00" @.str4802 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4803 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str4804 = private unnamed_addr constant [2 x i8] c" \00" @.str4805 = private unnamed_addr constant [3 x i8] c", \00" @.str4806 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4807 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4808 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4809 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4810 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4811 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4812 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4813 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4814 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4815 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4816 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4817 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4818 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4819 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4820 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4821 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4822 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4823 = private unnamed_addr constant [4 x i8] c"int\00" @.str4824 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4825 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4826 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str4827 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4828 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4829 = private unnamed_addr constant [7 x i8] c"insert\00" @.str4830 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4831 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4832 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4833 = private unnamed_addr constant [5 x i8] c"li_c\00" @.str4834 = private unnamed_addr constant [5 x i8] c"li_b\00" @.str4835 = private unnamed_addr constant [5 x i8] c"li_e\00" @.str4836 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4837 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4838 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4839 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4840 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str4841 = private unnamed_addr constant [3 x i8] c", \00" @.str4842 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4843 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4844 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4845 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4846 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4847 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4848 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4849 = private unnamed_addr constant [6 x i8] c"load \00" @.str4850 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4851 = private unnamed_addr constant [9 x i8] c" store \00" @.str4852 = private unnamed_addr constant [2 x i8] c" \00" @.str4853 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4854 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4855 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4856 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4857 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4858 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4859 = private unnamed_addr constant [9 x i8] c" store \00" @.str4860 = private unnamed_addr constant [2 x i8] c" \00" @.str4861 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4862 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4863 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4864 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4865 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4866 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4867 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4868 = private unnamed_addr constant [2 x i8] c"0\00" @.str4869 = private unnamed_addr constant [5 x i8] c"void\00" @.str4870 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str4871 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4872 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4873 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4874 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4875 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4876 = private unnamed_addr constant [5 x i8] c"lr_c\00" @.str4877 = private unnamed_addr constant [5 x i8] c"lr_b\00" @.str4878 = private unnamed_addr constant [5 x i8] c"lr_e\00" @.str4879 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4880 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4881 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4882 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4883 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4884 = private unnamed_addr constant [3 x i8] c", \00" @.str4885 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4886 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4887 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4888 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4889 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4890 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4891 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4892 = private unnamed_addr constant [6 x i8] c"load \00" @.str4893 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4894 = private unnamed_addr constant [9 x i8] c" store \00" @.str4895 = private unnamed_addr constant [2 x i8] c" \00" @.str4896 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4897 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4898 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4899 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4900 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4901 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4902 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4903 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4904 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4905 = private unnamed_addr constant [2 x i8] c"0\00" @.str4906 = private unnamed_addr constant [5 x i8] c"void\00" @.str4907 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4908 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4909 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4910 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4911 = private unnamed_addr constant [3 x i8] c"-1\00" @.str4912 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4913 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4914 = private unnamed_addr constant [2 x i8] c"0\00" @.str4915 = private unnamed_addr constant [5 x i8] c"lv_c\00" @.str4916 = private unnamed_addr constant [5 x i8] c"lv_b\00" @.str4917 = private unnamed_addr constant [5 x i8] c"lv_h\00" @.str4918 = private unnamed_addr constant [5 x i8] c"lv_n\00" @.str4919 = private unnamed_addr constant [5 x i8] c"lv_e\00" @.str4920 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4921 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4922 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4923 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4924 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4925 = private unnamed_addr constant [3 x i8] c", \00" @.str4926 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4927 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4928 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4929 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str4930 = private unnamed_addr constant [3 x i8] c", \00" @.str4931 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4932 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4933 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4934 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4935 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4936 = private unnamed_addr constant [6 x i8] c"load \00" @.str4937 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4938 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str4939 = private unnamed_addr constant [2 x i8] c" \00" @.str4940 = private unnamed_addr constant [3 x i8] c", \00" @.str4941 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4942 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4943 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4944 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4945 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4946 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4947 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4948 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4949 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4950 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4951 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4952 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4953 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4954 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4955 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4956 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4957 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4958 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4959 = private unnamed_addr constant [6 x i8] c"lv_do\00" @.str4960 = private unnamed_addr constant [7 x i8] c"lv_end\00" @.str4961 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4962 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4963 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4964 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4965 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4966 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4967 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4968 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4969 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4970 = private unnamed_addr constant [6 x i8] c"lv_dc\00" @.str4971 = private unnamed_addr constant [6 x i8] c"lv_db\00" @.str4972 = private unnamed_addr constant [6 x i8] c"lv_de\00" @.str4973 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4974 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4975 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4976 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4977 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4978 = private unnamed_addr constant [3 x i8] c", \00" @.str4979 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str4980 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4981 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4982 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4983 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4984 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4985 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4986 = private unnamed_addr constant [6 x i8] c"load \00" @.str4987 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4988 = private unnamed_addr constant [9 x i8] c" store \00" @.str4989 = private unnamed_addr constant [2 x i8] c" \00" @.str4990 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4991 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4992 = private unnamed_addr constant [4 x i8] c"i32\00" @.str4993 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4994 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4995 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str4996 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4997 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4998 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4999 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5000 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5001 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5002 = private unnamed_addr constant [2 x i8] c"0\00" @.str5003 = private unnamed_addr constant [5 x i8] c"void\00" @.str5004 = private unnamed_addr constant [5 x i8] c"sort\00" @.str5005 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5006 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5007 = private unnamed_addr constant [5 x i8] c", 32\00" @.str5008 = private unnamed_addr constant [9 x i8] c"sort_ins\00" @.str5009 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" @.str5010 = private unnamed_addr constant [9 x i8] c"sort_end\00" @.str5011 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5012 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5013 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5014 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5015 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5016 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5017 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5018 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5019 = private unnamed_addr constant [2 x i8] c"1\00" @.str5020 = private unnamed_addr constant [6 x i8] c"ls_oc\00" @.str5021 = private unnamed_addr constant [6 x i8] c"ls_ob\00" @.str5022 = private unnamed_addr constant [6 x i8] c"ls_oe\00" @.str5023 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5024 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5025 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5026 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5027 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5028 = private unnamed_addr constant [3 x i8] c", \00" @.str5029 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5030 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5031 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5032 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5033 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5034 = private unnamed_addr constant [6 x i8] c"load \00" @.str5035 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5036 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5037 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5038 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5039 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5040 = private unnamed_addr constant [6 x i8] c"ls_ic\00" @.str5041 = private unnamed_addr constant [6 x i8] c"ls_ib\00" @.str5042 = private unnamed_addr constant [6 x i8] c"ls_ie\00" @.str5043 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5044 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5045 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5046 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5047 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5048 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5049 = private unnamed_addr constant [6 x i8] c"load \00" @.str5050 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5051 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str5052 = private unnamed_addr constant [2 x i8] c" \00" @.str5053 = private unnamed_addr constant [3 x i8] c", \00" @.str5054 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5055 = private unnamed_addr constant [3 x i8] c", \00" @.str5056 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5057 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5058 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5059 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5060 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5061 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5062 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5063 = private unnamed_addr constant [9 x i8] c" store \00" @.str5064 = private unnamed_addr constant [2 x i8] c" \00" @.str5065 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5066 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5067 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5068 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5069 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5070 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5071 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5072 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5073 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5074 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5075 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5076 = private unnamed_addr constant [9 x i8] c" store \00" @.str5077 = private unnamed_addr constant [2 x i8] c" \00" @.str5078 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5079 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5080 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5081 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5082 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5083 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5084 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5085 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5086 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5087 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5088 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5089 = private unnamed_addr constant [1 x i8] c"\00" @.str5090 = private unnamed_addr constant [1 x i8] c"\00" @.str5091 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5092 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5093 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5094 = private unnamed_addr constant [2 x i8] c"0\00" @.str5095 = private unnamed_addr constant [5 x i8] c"void\00" @.str5096 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str5097 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" @.str5098 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" @.str5099 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5100 = private unnamed_addr constant [2 x i8] c"0\00" @.str5101 = private unnamed_addr constant [5 x i8] c"void\00" @.str5102 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str5103 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str5104 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5105 = private unnamed_addr constant [8 x i8] c": key '\00" @.str5106 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" @.str5107 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str5108 = private unnamed_addr constant [5 x i8] c"void\00" @.str5109 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5110 = private unnamed_addr constant [8 x i8] c": key '\00" @.str5111 = private unnamed_addr constant [23 x i8] c"' must return a number\00" @.str5112 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str5113 = private unnamed_addr constant [2 x i8] c"0\00" @.str5114 = private unnamed_addr constant [5 x i8] c"void\00" @.str5115 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5116 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5117 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5118 = private unnamed_addr constant [2 x i8] c"0\00" @.str5119 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5120 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5121 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5122 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5123 = private unnamed_addr constant [8 x i8] c"lr_cond\00" @.str5124 = private unnamed_addr constant [8 x i8] c"lr_body\00" @.str5125 = private unnamed_addr constant [7 x i8] c"lr_end\00" @.str5126 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5127 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5128 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5129 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5130 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5131 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5132 = private unnamed_addr constant [3 x i8] c", \00" @.str5133 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5134 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5135 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5136 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5137 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5138 = private unnamed_addr constant [6 x i8] c"load \00" @.str5139 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5140 = private unnamed_addr constant [6 x i8] c"load \00" @.str5141 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5142 = private unnamed_addr constant [9 x i8] c" store \00" @.str5143 = private unnamed_addr constant [2 x i8] c" \00" @.str5144 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5145 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5146 = private unnamed_addr constant [9 x i8] c" store \00" @.str5147 = private unnamed_addr constant [2 x i8] c" \00" @.str5148 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5149 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5150 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5151 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5152 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5153 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5154 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5155 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5156 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5157 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5158 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5159 = private unnamed_addr constant [2 x i8] c"0\00" @.str5160 = private unnamed_addr constant [5 x i8] c"void\00" @.str5161 = private unnamed_addr constant [3 x i8] c"in\00" @.str5162 = private unnamed_addr constant [4 x i8] c"out\00" @.str5163 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str5164 = private unnamed_addr constant [5 x i8] c"back\00" @.str5165 = private unnamed_addr constant [7 x i8] c"bounce\00" @.str5166 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str5167 = private unnamed_addr constant [7 x i8] c"495616\00" @.str5168 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5169 = private unnamed_addr constant [8 x i8] c", 35747\00" @.str5170 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5171 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str5172 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5173 = private unnamed_addr constant [8 x i8] c", 53620\00" @.str5174 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5175 = private unnamed_addr constant [8 x i8] c", 61440\00" @.str5176 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5177 = private unnamed_addr constant [8 x i8] c", 62557\00" @.str5178 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5179 = private unnamed_addr constant [8 x i8] c", 64512\00" @.str5180 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5181 = private unnamed_addr constant [8 x i8] c", 59578\00" @.str5182 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5183 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5184 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5185 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5186 = private unnamed_addr constant [8 x i8] c", 47663\00" @.str5187 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5188 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5189 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5190 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5191 = private unnamed_addr constant [8 x i8] c", 23831\00" @.str5192 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5193 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5194 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5195 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str5196 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5197 = private unnamed_addr constant [4 x i8] c", 3\00" @.str5198 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5199 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5200 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5201 = private unnamed_addr constant [3 x i8] c", \00" @.str5202 = private unnamed_addr constant [7 x i8] c"177051\00" @.str5203 = private unnamed_addr constant [7 x i8] c"111515\00" @.str5204 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5205 = private unnamed_addr constant [3 x i8] c", \00" @.str5206 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5207 = private unnamed_addr constant [5 x i8] c", 10\00" @.str5208 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str5209 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str5210 = private unnamed_addr constant [2 x i8] c")\00" @.str5211 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5212 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str5213 = private unnamed_addr constant [7 x i8] c"137258\00" @.str5214 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str5215 = private unnamed_addr constant [2 x i8] c")\00" @.str5216 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5217 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5218 = private unnamed_addr constant [3 x i8] c"in\00" @.str5219 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5220 = private unnamed_addr constant [4 x i8] c"out\00" @.str5221 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5222 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str5223 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5224 = private unnamed_addr constant [5 x i8] c"back\00" @.str5225 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5226 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str5227 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5228 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5229 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5230 = private unnamed_addr constant [5 x i8] c"once\00" @.str5231 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str5232 = private unnamed_addr constant [9 x i8] c"finished\00" @.str5233 = private unnamed_addr constant [9 x i8] c"duration\00" @.str5234 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str5235 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str5236 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5237 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5238 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5239 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5240 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5241 = private unnamed_addr constant [3 x i8] c", \00" @.str5242 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str5243 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5244 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5245 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5246 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5247 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5248 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5249 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str5250 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5251 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5252 = private unnamed_addr constant [3 x i8] c", \00" @.str5253 = private unnamed_addr constant [4 x i8] c"int\00" @.str5254 = private unnamed_addr constant [5 x i8] c"once\00" @.str5255 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5256 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5257 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5258 = private unnamed_addr constant [3 x i8] c", \00" @.str5259 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5260 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5261 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5262 = private unnamed_addr constant [4 x i8] c"int\00" @.str5263 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str5264 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5265 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5266 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5267 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5268 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5269 = private unnamed_addr constant [3 x i8] c", \00" @.str5270 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5271 = private unnamed_addr constant [3 x i8] c", \00" @.str5272 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5273 = private unnamed_addr constant [3 x i8] c", \00" @.str5274 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5275 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5276 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5277 = private unnamed_addr constant [4 x i8] c"int\00" @.str5278 = private unnamed_addr constant [9 x i8] c"finished\00" @.str5279 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5280 = private unnamed_addr constant [3 x i8] c", \00" @.str5281 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5282 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5283 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5284 = private unnamed_addr constant [9 x i8] c"duration\00" @.str5285 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str5286 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5287 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5288 = private unnamed_addr constant [3 x i8] c", \00" @.str5289 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5290 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str5291 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5292 = private unnamed_addr constant [3 x i8] c", \00" @.str5293 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5294 = private unnamed_addr constant [3 x i8] c", \00" @.str5295 = private unnamed_addr constant [4 x i8] c"int\00" @.str5296 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5297 = private unnamed_addr constant [3 x i8] c", \00" @.str5298 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5299 = private unnamed_addr constant [3 x i8] c", \00" @.str5300 = private unnamed_addr constant [4 x i8] c"int\00" @.str5301 = private unnamed_addr constant [9 x i8] c"progress\00" @.str5302 = private unnamed_addr constant [5 x i8] c"loop\00" @.str5303 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str5304 = private unnamed_addr constant [5 x i8] c"done\00" @.str5305 = private unnamed_addr constant [5 x i8] c"ease\00" @.str5306 = private unnamed_addr constant [7 x i8] c"number\00" @.str5307 = private unnamed_addr constant [6 x i8] c"round\00" @.str5308 = private unnamed_addr constant [6 x i8] c"point\00" @.str5309 = private unnamed_addr constant [5 x i8] c"tint\00" @.str5310 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5311 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5312 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5313 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5314 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5315 = private unnamed_addr constant [9 x i8] c"progress\00" @.str5316 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5317 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5318 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5319 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5320 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5321 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5322 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5323 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5324 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str5325 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5326 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5327 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5328 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str5329 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5330 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5331 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str5332 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5333 = private unnamed_addr constant [5 x i8] c"loop\00" @.str5334 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str5335 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str5336 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5337 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str5338 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5339 = private unnamed_addr constant [9 x i8] c", 131072\00" @.str5340 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str5341 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str5342 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str5343 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5344 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5345 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5346 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5347 = private unnamed_addr constant [5 x i8] c"done\00" @.str5348 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00" @.str5349 = private unnamed_addr constant [2 x i8] c")\00" @.str5350 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5351 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5352 = private unnamed_addr constant [3 x i8] c", \00" @.str5353 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5354 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5355 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5356 = private unnamed_addr constant [5 x i8] c"ease\00" @.str5357 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" @.str5358 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5359 = private unnamed_addr constant [7 x i8] c"number\00" @.str5360 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5361 = private unnamed_addr constant [6 x i8] c"round\00" @.str5362 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5363 = private unnamed_addr constant [3 x i8] c", \00" @.str5364 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5365 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5366 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5367 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5368 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5369 = private unnamed_addr constant [3 x i8] c", \00" @.str5370 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5371 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str5372 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str5373 = private unnamed_addr constant [5 x i8] c", 16\00" @.str5374 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5375 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5376 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5377 = private unnamed_addr constant [3 x i8] c", \00" @.str5378 = private unnamed_addr constant [4 x i8] c"int\00" @.str5379 = private unnamed_addr constant [6 x i8] c"point\00" @.str5380 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str5381 = private unnamed_addr constant [3 x i8] c"16\00" @.str5382 = private unnamed_addr constant [3 x i8] c"16\00" @.str5383 = private unnamed_addr constant [2 x i8] c"8\00" @.str5384 = private unnamed_addr constant [2 x i8] c"8\00" @.str5385 = private unnamed_addr constant [2 x i8] c"0\00" @.str5386 = private unnamed_addr constant [2 x i8] c"0\00" @.str5387 = private unnamed_addr constant [4 x i8] c"int\00" @.str5388 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5389 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5390 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5391 = private unnamed_addr constant [12 x i8] c"rect_circle\00" @.str5392 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5393 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5394 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5395 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5396 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5397 = private unnamed_addr constant [3 x i8] c", \00" @.str5398 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5399 = private unnamed_addr constant [3 x i8] c", \00" @.str5400 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str5401 = private unnamed_addr constant [3 x i8] c", \00" @.str5402 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5403 = private unnamed_addr constant [3 x i8] c", \00" @.str5404 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5405 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5406 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5407 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5408 = private unnamed_addr constant [3 x i8] c", \00" @.str5409 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5410 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5411 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5412 = private unnamed_addr constant [6 x i8] c"rects\00" @.str5413 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5414 = private unnamed_addr constant [3 x i8] c", \00" @.str5415 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5416 = private unnamed_addr constant [3 x i8] c", \00" @.str5417 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5418 = private unnamed_addr constant [3 x i8] c", \00" @.str5419 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5420 = private unnamed_addr constant [3 x i8] c", \00" @.str5421 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5422 = private unnamed_addr constant [3 x i8] c", \00" @.str5423 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5424 = private unnamed_addr constant [3 x i8] c", \00" @.str5425 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5426 = private unnamed_addr constant [3 x i8] c", \00" @.str5427 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5428 = private unnamed_addr constant [3 x i8] c", \00" @.str5429 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5430 = private unnamed_addr constant [3 x i8] c", \00" @.str5431 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5432 = private unnamed_addr constant [3 x i8] c", \00" @.str5433 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5434 = private unnamed_addr constant [3 x i8] c", \00" @.str5435 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5436 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5437 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5438 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str5439 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5440 = private unnamed_addr constant [3 x i8] c", \00" @.str5441 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5442 = private unnamed_addr constant [3 x i8] c", \00" @.str5443 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5444 = private unnamed_addr constant [3 x i8] c", \00" @.str5445 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5446 = private unnamed_addr constant [3 x i8] c", \00" @.str5447 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5448 = private unnamed_addr constant [3 x i8] c", \00" @.str5449 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5450 = private unnamed_addr constant [3 x i8] c", \00" @.str5451 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5452 = private unnamed_addr constant [3 x i8] c", \00" @.str5453 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5454 = private unnamed_addr constant [3 x i8] c", \00" @.str5455 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5456 = private unnamed_addr constant [3 x i8] c", \00" @.str5457 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5458 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5459 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5460 = private unnamed_addr constant [8 x i8] c"circles\00" @.str5461 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5462 = private unnamed_addr constant [3 x i8] c", \00" @.str5463 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5464 = private unnamed_addr constant [3 x i8] c", \00" @.str5465 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5466 = private unnamed_addr constant [3 x i8] c", \00" @.str5467 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5468 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5469 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5470 = private unnamed_addr constant [3 x i8] c", \00" @.str5471 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5472 = private unnamed_addr constant [3 x i8] c", \00" @.str5473 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5474 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5475 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5476 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5477 = private unnamed_addr constant [3 x i8] c", \00" @.str5478 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5479 = private unnamed_addr constant [3 x i8] c", \00" @.str5480 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5481 = private unnamed_addr constant [3 x i8] c", \00" @.str5482 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5483 = private unnamed_addr constant [3 x i8] c", \00" @.str5484 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str5485 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5486 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5487 = private unnamed_addr constant [3 x i8] c", \00" @.str5488 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str5489 = private unnamed_addr constant [3 x i8] c", \00" @.str5490 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5491 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5492 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5493 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5494 = private unnamed_addr constant [6 x i8] c"words\00" @.str5495 = private unnamed_addr constant [5 x i8] c"copy\00" @.str5496 = private unnamed_addr constant [5 x i8] c"fill\00" @.str5497 = private unnamed_addr constant [5 x i8] c"peek\00" @.str5498 = private unnamed_addr constant [5 x i8] c"poke\00" @.str5499 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str5500 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5501 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5502 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5503 = private unnamed_addr constant [2 x i8] c")\00" @.str5504 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str5505 = private unnamed_addr constant [6 x i8] c"words\00" @.str5506 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5507 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5508 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5509 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5510 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5511 = private unnamed_addr constant [2 x i8] c")\00" @.str5512 = private unnamed_addr constant [6 x i8] c"words\00" @.str5513 = private unnamed_addr constant [5 x i8] c"copy\00" @.str5514 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5515 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5516 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str5517 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5518 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str5519 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5520 = private unnamed_addr constant [2 x i8] c"0\00" @.str5521 = private unnamed_addr constant [5 x i8] c"void\00" @.str5522 = private unnamed_addr constant [5 x i8] c"fill\00" @.str5523 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5524 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5525 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str5526 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5527 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str5528 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5529 = private unnamed_addr constant [2 x i8] c"0\00" @.str5530 = private unnamed_addr constant [5 x i8] c"void\00" @.str5531 = private unnamed_addr constant [5 x i8] c"peek\00" @.str5532 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str5533 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5534 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str5535 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str5536 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5537 = private unnamed_addr constant [4 x i8] c"int\00" @.str5538 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str5539 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5540 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str5541 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str5542 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str5543 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5544 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5545 = private unnamed_addr constant [2 x i8] c"0\00" @.str5546 = private unnamed_addr constant [5 x i8] c"void\00" @.str5547 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5548 = private unnamed_addr constant [6 x i8] c"delta\00" @.str5549 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str5550 = private unnamed_addr constant [4 x i8] c"now\00" @.str5551 = private unnamed_addr constant [6 x i8] c"since\00" @.str5552 = private unnamed_addr constant [6 x i8] c"frame\00" @.str5553 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str5554 = private unnamed_addr constant [4 x i8] c"int\00" @.str5555 = private unnamed_addr constant [6 x i8] c"delta\00" @.str5556 = private unnamed_addr constant [5 x i8] c"1092\00" @.str5557 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5558 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str5559 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str5560 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5561 = private unnamed_addr constant [7 x i8] c", 1092\00" @.str5562 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str5563 = private unnamed_addr constant [6 x i8] c"since\00" @.str5564 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str5565 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5566 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5567 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5568 = private unnamed_addr constant [3 x i8] c", \00" @.str5569 = private unnamed_addr constant [4 x i8] c"int\00" @.str5570 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str5571 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str5572 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5573 = private unnamed_addr constant [4 x i8] c"int\00" @.str5574 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str5575 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str5576 = private unnamed_addr constant [6 x i8] c"hours\00" @.str5577 = private unnamed_addr constant [5 x i8] c"days\00" @.str5578 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str5579 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str5580 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str5581 = private unnamed_addr constant [8 x i8] c"as_days\00" @.str5582 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str5583 = private unnamed_addr constant [4 x i8] c"int\00" @.str5584 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str5585 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5586 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5587 = private unnamed_addr constant [4 x i8] c"int\00" @.str5588 = private unnamed_addr constant [6 x i8] c"hours\00" @.str5589 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5590 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5591 = private unnamed_addr constant [4 x i8] c"int\00" @.str5592 = private unnamed_addr constant [5 x i8] c"days\00" @.str5593 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5594 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5595 = private unnamed_addr constant [4 x i8] c"int\00" @.str5596 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str5597 = private unnamed_addr constant [4 x i8] c"int\00" @.str5598 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str5599 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5600 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5601 = private unnamed_addr constant [4 x i8] c"int\00" @.str5602 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str5603 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5604 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5605 = private unnamed_addr constant [4 x i8] c"int\00" @.str5606 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5607 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5608 = private unnamed_addr constant [4 x i8] c"int\00" @.str5609 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5610 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5611 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5612 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str5613 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5614 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5615 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5616 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5617 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5618 = private unnamed_addr constant [4 x i8] c"new\00" @.str5619 = private unnamed_addr constant [5 x i8] c"year\00" @.str5620 = private unnamed_addr constant [6 x i8] c"month\00" @.str5621 = private unnamed_addr constant [4 x i8] c"day\00" @.str5622 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str5623 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str5624 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str5625 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str5626 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str5627 = private unnamed_addr constant [10 x i8] c"diff_days\00" @.str5628 = private unnamed_addr constant [4 x i8] c"new\00" @.str5629 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5630 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5631 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5632 = private unnamed_addr constant [2 x i8] c")\00" @.str5633 = private unnamed_addr constant [4 x i8] c"int\00" @.str5634 = private unnamed_addr constant [5 x i8] c"year\00" @.str5635 = private unnamed_addr constant [4 x i8] c"int\00" @.str5636 = private unnamed_addr constant [6 x i8] c"month\00" @.str5637 = private unnamed_addr constant [4 x i8] c"int\00" @.str5638 = private unnamed_addr constant [4 x i8] c"day\00" @.str5639 = private unnamed_addr constant [4 x i8] c"int\00" @.str5640 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str5641 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5642 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5643 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5644 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5645 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5646 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5647 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5648 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5649 = private unnamed_addr constant [4 x i8] c"int\00" @.str5650 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str5651 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5652 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5653 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str5654 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5655 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5656 = private unnamed_addr constant [6 x i8] c", 100\00" @.str5657 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str5658 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5659 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5660 = private unnamed_addr constant [6 x i8] c", 400\00" @.str5661 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str5662 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5663 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5664 = private unnamed_addr constant [3 x i8] c", \00" @.str5665 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str5666 = private unnamed_addr constant [3 x i8] c", \00" @.str5667 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5668 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5669 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5670 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str5671 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5672 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5673 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str5674 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str5675 = private unnamed_addr constant [5 x i8] c", 12\00" @.str5676 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5677 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5678 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5679 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5680 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5681 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5682 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5683 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5684 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str5685 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5686 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5687 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str5688 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5689 = private unnamed_addr constant [3 x i8] c", \00" @.str5690 = private unnamed_addr constant [4 x i8] c"int\00" @.str5691 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str5692 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5693 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5694 = private unnamed_addr constant [4 x i8] c"int\00" @.str5695 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str5696 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5697 = private unnamed_addr constant [3 x i8] c", \00" @.str5698 = private unnamed_addr constant [4 x i8] c"int\00" @.str5699 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5700 = private unnamed_addr constant [3 x i8] c", \00" @.str5701 = private unnamed_addr constant [4 x i8] c"int\00" @.str5702 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5703 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5704 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5705 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5706 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5707 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5708 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5709 = private unnamed_addr constant [3 x i8] c", \00" @.str5710 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5711 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5712 = private unnamed_addr constant [5 x i8] c"from\00" @.str5713 = private unnamed_addr constant [5 x i8] c"date\00" @.str5714 = private unnamed_addr constant [4 x i8] c"add\00" @.str5715 = private unnamed_addr constant [5 x i8] c"year\00" @.str5716 = private unnamed_addr constant [6 x i8] c"month\00" @.str5717 = private unnamed_addr constant [4 x i8] c"day\00" @.str5718 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str5719 = private unnamed_addr constant [5 x i8] c"hour\00" @.str5720 = private unnamed_addr constant [7 x i8] c"minute\00" @.str5721 = private unnamed_addr constant [7 x i8] c"second\00" @.str5722 = private unnamed_addr constant [7 x i8] c"format\00" @.str5723 = private unnamed_addr constant [6 x i8] c"parse\00" @.str5724 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str5725 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5726 = private unnamed_addr constant [2 x i8] c")\00" @.str5727 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" @.str5728 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5729 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5730 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5731 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str5732 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5733 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5734 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5735 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5736 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5737 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5738 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5739 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5740 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5741 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5742 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5743 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5744 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5745 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5746 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5747 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5748 = private unnamed_addr constant [6 x i8] c", 100\00" @.str5749 = private unnamed_addr constant [1 x i8] c"\00" @.str5750 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str5751 = private unnamed_addr constant [3 x i8] c"YY\00" @.str5752 = private unnamed_addr constant [3 x i8] c"MM\00" @.str5753 = private unnamed_addr constant [3 x i8] c"DD\00" @.str5754 = private unnamed_addr constant [3 x i8] c"HH\00" @.str5755 = private unnamed_addr constant [3 x i8] c"mm\00" @.str5756 = private unnamed_addr constant [3 x i8] c"ss\00" @.str5757 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00" @.str5758 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5759 = private unnamed_addr constant [2 x i8] c")\00" @.str5760 = private unnamed_addr constant [7 x i8] c"string\00" @.str5761 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" @.str5762 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5763 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5764 = private unnamed_addr constant [2 x i8] c"0\00" @.str5765 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5766 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5767 = private unnamed_addr constant [5 x i8] c"1970\00" @.str5768 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5769 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5770 = private unnamed_addr constant [2 x i8] c"1\00" @.str5771 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5772 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5773 = private unnamed_addr constant [2 x i8] c"1\00" @.str5774 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5775 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5776 = private unnamed_addr constant [2 x i8] c"0\00" @.str5777 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5778 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5779 = private unnamed_addr constant [2 x i8] c"0\00" @.str5780 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5781 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5782 = private unnamed_addr constant [2 x i8] c"0\00" @.str5783 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str5784 = private unnamed_addr constant [3 x i8] c"MM\00" @.str5785 = private unnamed_addr constant [3 x i8] c"DD\00" @.str5786 = private unnamed_addr constant [3 x i8] c"HH\00" @.str5787 = private unnamed_addr constant [3 x i8] c"mm\00" @.str5788 = private unnamed_addr constant [3 x i8] c"ss\00" @.str5789 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00" @.str5790 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5791 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5792 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5793 = private unnamed_addr constant [2 x i8] c")\00" @.str5794 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5795 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5796 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5797 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5798 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5799 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5800 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5801 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5802 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5803 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5804 = private unnamed_addr constant [2 x i8] c")\00" @.str5805 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5806 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5807 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5808 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5809 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5810 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5811 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5812 = private unnamed_addr constant [3 x i8] c", \00" @.str5813 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5814 = private unnamed_addr constant [3 x i8] c", \00" @.str5815 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5816 = private unnamed_addr constant [3 x i8] c", \00" @.str5817 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5818 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str5819 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5820 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5821 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str5822 = private unnamed_addr constant [4 x i8] c"int\00" @.str5823 = private unnamed_addr constant [7 x i8] c"format\00" @.str5824 = private unnamed_addr constant [6 x i8] c"parse\00" @.str5825 = private unnamed_addr constant [5 x i8] c"from\00" @.str5826 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str5827 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5828 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5829 = private unnamed_addr constant [2 x i8] c")\00" @.str5830 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5831 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str5832 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5833 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5834 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5835 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5836 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5837 = private unnamed_addr constant [3 x i8] c", \00" @.str5838 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5839 = private unnamed_addr constant [3 x i8] c", \00" @.str5840 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5841 = private unnamed_addr constant [3 x i8] c", \00" @.str5842 = private unnamed_addr constant [4 x i8] c"int\00" @.str5843 = private unnamed_addr constant [5 x i8] c"date\00" @.str5844 = private unnamed_addr constant [4 x i8] c"int\00" @.str5845 = private unnamed_addr constant [4 x i8] c"add\00" @.str5846 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5847 = private unnamed_addr constant [3 x i8] c", \00" @.str5848 = private unnamed_addr constant [4 x i8] c"int\00" @.str5849 = private unnamed_addr constant [5 x i8] c"year\00" @.str5850 = private unnamed_addr constant [4 x i8] c"int\00" @.str5851 = private unnamed_addr constant [6 x i8] c"month\00" @.str5852 = private unnamed_addr constant [4 x i8] c"int\00" @.str5853 = private unnamed_addr constant [4 x i8] c"day\00" @.str5854 = private unnamed_addr constant [4 x i8] c"int\00" @.str5855 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str5856 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5857 = private unnamed_addr constant [4 x i8] c", 4\00" @.str5858 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5859 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5860 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5861 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5862 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5863 = private unnamed_addr constant [4 x i8] c", 7\00" @.str5864 = private unnamed_addr constant [4 x i8] c"int\00" @.str5865 = private unnamed_addr constant [5 x i8] c"hour\00" @.str5866 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5867 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5868 = private unnamed_addr constant [4 x i8] c"int\00" @.str5869 = private unnamed_addr constant [7 x i8] c"minute\00" @.str5870 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5871 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5872 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str5873 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5874 = private unnamed_addr constant [4 x i8] c"int\00" @.str5875 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str5876 = private unnamed_addr constant [5 x i8] c", 60\00" @.str5877 = private unnamed_addr constant [4 x i8] c"int\00" @.str5878 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" @.str5879 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" @.str5880 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" @.str5881 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" @.str5882 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str5883 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" @.str5884 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" @.str5885 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" @.str5886 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str5887 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" @.str5888 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" @.str5889 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" @.str5890 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" @.str5891 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" @.str5892 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" @.str5893 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" @.str5894 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" @.str5895 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" @.str5896 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str5897 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str5898 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str5899 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" @.str5900 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" @.str5901 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" @.str5902 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" @.str5903 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" @.str5904 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" @.str5905 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str5906 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5907 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" @.str5908 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" @.str5909 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" @.str5910 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" @.str5911 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" @.str5912 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" @.str5913 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" @.str5914 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" @.str5915 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" @.str5916 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" @.str5917 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" @.str5918 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" @.str5919 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" @.str5920 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" @.str5921 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" @.str5922 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str5923 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" @.str5924 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str5925 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str5926 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str5927 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" @.str5928 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" @.str5929 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" @.str5930 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" @.str5931 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" @.str5932 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" @.str5933 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" @.str5934 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" @.str5935 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" @.str5936 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" @.str5937 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" @.str5938 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" @.str5939 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" @.str5940 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" @.str5941 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" @.str5942 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" @.str5943 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" @.str5944 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" @.str5945 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" @.str5946 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" @.str5947 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" @.str5948 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str5949 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str5950 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00" @.str5951 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" @.str5952 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" @.str5953 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00" @.str5954 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" @.str5955 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" @.str5956 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" @.str5957 = 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" @.str5958 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str5959 = 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" @.str5960 = 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" @.str5961 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" @.str5962 = 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" @.str5963 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" @.str5964 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" @.str5965 = 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" @.str5966 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str5967 = 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" @.str5968 = 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" @.str5969 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" @.str5970 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" @.str5971 = 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" @.str5972 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" @.str5973 = 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" @.str5974 = 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" @.str5975 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" @.str5976 = private unnamed_addr constant [4 x i8] c"now\00" @.str5977 = private unnamed_addr constant [4 x i8] c"set\00" @.str5978 = private unnamed_addr constant [8 x i8] c"advance\00" @.str5979 = private unnamed_addr constant [6 x i8] c"reset\00" @.str5980 = private unnamed_addr constant [4 x i8] c"now\00" @.str5981 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str5982 = private unnamed_addr constant [4 x i8] c"int\00" @.str5983 = private unnamed_addr constant [6 x i8] c"reset\00" @.str5984 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" @.str5985 = private unnamed_addr constant [2 x i8] c"0\00" @.str5986 = private unnamed_addr constant [5 x i8] c"void\00" @.str5987 = private unnamed_addr constant [4 x i8] c"set\00" @.str5988 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5989 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str5990 = private unnamed_addr constant [2 x i8] c"0\00" @.str5991 = private unnamed_addr constant [5 x i8] c"void\00" @.str5992 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str5993 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5994 = private unnamed_addr constant [3 x i8] c", \00" @.str5995 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5996 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str5997 = private unnamed_addr constant [2 x i8] c"0\00" @.str5998 = private unnamed_addr constant [5 x i8] c"void\00" @.str5999 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str6000 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str6001 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str6002 = private unnamed_addr constant [7 x i8] c"darken\00" @.str6003 = private unnamed_addr constant [8 x i8] c"lighten\00" @.str6004 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str6005 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str6006 = private unnamed_addr constant [3 x i8] c", \00" @.str6007 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6008 = private unnamed_addr constant [6 x i8] c", 255\00" @.str6009 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6010 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6011 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6012 = private unnamed_addr constant [4 x i8] c", 8\00" @.str6013 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6014 = private unnamed_addr constant [3 x i8] c", \00" @.str6015 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6016 = private unnamed_addr constant [3 x i8] c", \00" @.str6017 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6018 = private unnamed_addr constant [3 x i8] c", \00" @.str6019 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6020 = private unnamed_addr constant [3 x i8] c", \00" @.str6021 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6022 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6023 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6024 = private unnamed_addr constant [3 x i8] c", \00" @.str6025 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str6026 = private unnamed_addr constant [4 x i8] c"int\00" @.str6027 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str6028 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6029 = private unnamed_addr constant [5 x i8] c", 24\00" @.str6030 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6031 = private unnamed_addr constant [3 x i8] c", \00" @.str6032 = private unnamed_addr constant [4 x i8] c"int\00" @.str6033 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str6034 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6035 = private unnamed_addr constant [11 x i8] c", 16777215\00" @.str6036 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6037 = private unnamed_addr constant [5 x i8] c", 24\00" @.str6038 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str6039 = private unnamed_addr constant [3 x i8] c", \00" @.str6040 = private unnamed_addr constant [4 x i8] c"int\00" @.str6041 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str6042 = private unnamed_addr constant [3 x i8] c"16\00" @.str6043 = private unnamed_addr constant [3 x i8] c"16\00" @.str6044 = private unnamed_addr constant [2 x i8] c"8\00" @.str6045 = private unnamed_addr constant [2 x i8] c"8\00" @.str6046 = private unnamed_addr constant [2 x i8] c"0\00" @.str6047 = private unnamed_addr constant [2 x i8] c"0\00" @.str6048 = private unnamed_addr constant [4 x i8] c"int\00" @.str6049 = private unnamed_addr constant [7 x i8] c"darken\00" @.str6050 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str6051 = private unnamed_addr constant [3 x i8] c"16\00" @.str6052 = private unnamed_addr constant [2 x i8] c"8\00" @.str6053 = private unnamed_addr constant [2 x i8] c"0\00" @.str6054 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6055 = private unnamed_addr constant [3 x i8] c", \00" @.str6056 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6057 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6058 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6059 = private unnamed_addr constant [3 x i8] c", \00" @.str6060 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6061 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6062 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6063 = private unnamed_addr constant [3 x i8] c", \00" @.str6064 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6065 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6066 = private unnamed_addr constant [4 x i8] c"int\00" @.str6067 = private unnamed_addr constant [3 x i8] c"16\00" @.str6068 = private unnamed_addr constant [2 x i8] c"8\00" @.str6069 = private unnamed_addr constant [2 x i8] c"0\00" @.str6070 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6071 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6072 = private unnamed_addr constant [3 x i8] c", \00" @.str6073 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6074 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6075 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6076 = private unnamed_addr constant [3 x i8] c", \00" @.str6077 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6078 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6079 = private unnamed_addr constant [3 x i8] c", \00" @.str6080 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6081 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6082 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6083 = private unnamed_addr constant [3 x i8] c", \00" @.str6084 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str6085 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6086 = private unnamed_addr constant [3 x i8] c", \00" @.str6087 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str6088 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6089 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6090 = private unnamed_addr constant [3 x i8] c", \00" @.str6091 = private unnamed_addr constant [4 x i8] c"int\00" @.str6092 = private unnamed_addr constant [6 x i8] c"White\00" @.str6093 = private unnamed_addr constant [5 x i8] c"Snow\00" @.str6094 = private unnamed_addr constant [6 x i8] c"Ivory\00" @.str6095 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" @.str6096 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" @.str6097 = private unnamed_addr constant [9 x i8] c"SeaShell\00" @.str6098 = private unnamed_addr constant [6 x i8] c"Linen\00" @.str6099 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" @.str6100 = private unnamed_addr constant [8 x i8] c"OldLace\00" @.str6101 = private unnamed_addr constant [6 x i8] c"Beige\00" @.str6102 = private unnamed_addr constant [6 x i8] c"Cream\00" @.str6103 = private unnamed_addr constant [9 x i8] c"Honeydew\00" @.str6104 = private unnamed_addr constant [10 x i8] c"MintCream\00" @.str6105 = private unnamed_addr constant [6 x i8] c"Azure\00" @.str6106 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" @.str6107 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" @.str6108 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" @.str6109 = private unnamed_addr constant [9 x i8] c"Lavender\00" @.str6110 = private unnamed_addr constant [5 x i8] c"Bone\00" @.str6111 = private unnamed_addr constant [10 x i8] c"Parchment\00" @.str6112 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" @.str6113 = private unnamed_addr constant [10 x i8] c"LightGray\00" @.str6114 = private unnamed_addr constant [7 x i8] c"Silver\00" @.str6115 = private unnamed_addr constant [4 x i8] c"Ash\00" @.str6116 = private unnamed_addr constant [9 x i8] c"DarkGray\00" @.str6117 = private unnamed_addr constant [5 x i8] c"Gray\00" @.str6118 = private unnamed_addr constant [8 x i8] c"DimGray\00" @.str6119 = private unnamed_addr constant [7 x i8] c"Nickel\00" @.str6120 = private unnamed_addr constant [6 x i8] c"Slate\00" @.str6121 = private unnamed_addr constant [10 x i8] c"SlateGray\00" @.str6122 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" @.str6123 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" @.str6124 = private unnamed_addr constant [9 x i8] c"Charcoal\00" @.str6125 = private unnamed_addr constant [9 x i8] c"Graphite\00" @.str6126 = private unnamed_addr constant [5 x i8] c"Onyx\00" @.str6127 = private unnamed_addr constant [4 x i8] c"Jet\00" @.str6128 = private unnamed_addr constant [6 x i8] c"Black\00" @.str6129 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" @.str6130 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" @.str6131 = private unnamed_addr constant [6 x i8] c"Ebony\00" @.str6132 = private unnamed_addr constant [4 x i8] c"Red\00" @.str6133 = private unnamed_addr constant [8 x i8] c"Crimson\00" @.str6134 = private unnamed_addr constant [8 x i8] c"Scarlet\00" @.str6135 = private unnamed_addr constant [10 x i8] c"Vermilion\00" @.str6136 = private unnamed_addr constant [10 x i8] c"FireBrick\00" @.str6137 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" @.str6138 = private unnamed_addr constant [8 x i8] c"DarkRed\00" @.str6139 = private unnamed_addr constant [7 x i8] c"Maroon\00" @.str6140 = private unnamed_addr constant [5 x i8] c"Ruby\00" @.str6141 = private unnamed_addr constant [9 x i8] c"Cardinal\00" @.str6142 = private unnamed_addr constant [10 x i8] c"IndianRed\00" @.str6143 = private unnamed_addr constant [5 x i8] c"Rust\00" @.str6144 = private unnamed_addr constant [8 x i8] c"Sangria\00" @.str6145 = private unnamed_addr constant [8 x i8] c"Redwood\00" @.str6146 = private unnamed_addr constant [7 x i8] c"Cerise\00" @.str6147 = private unnamed_addr constant [9 x i8] c"Amaranth\00" @.str6148 = private unnamed_addr constant [8 x i8] c"Carmine\00" @.str6149 = private unnamed_addr constant [9 x i8] c"Chestnut\00" @.str6150 = private unnamed_addr constant [6 x i8] c"Brick\00" @.str6151 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" @.str6152 = private unnamed_addr constant [5 x i8] c"Pink\00" @.str6153 = private unnamed_addr constant [10 x i8] c"LightPink\00" @.str6154 = private unnamed_addr constant [8 x i8] c"HotPink\00" @.str6155 = private unnamed_addr constant [9 x i8] c"DeepPink\00" @.str6156 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" @.str6157 = private unnamed_addr constant [5 x i8] c"Rose\00" @.str6158 = private unnamed_addr constant [6 x i8] c"Blush\00" @.str6159 = private unnamed_addr constant [7 x i8] c"Salmon\00" @.str6160 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" @.str6161 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" @.str6162 = private unnamed_addr constant [6 x i8] c"Coral\00" @.str6163 = private unnamed_addr constant [11 x i8] c"Watermelon\00" @.str6164 = private unnamed_addr constant [9 x i8] c"Flamingo\00" @.str6165 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" @.str6166 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" @.str6167 = private unnamed_addr constant [8 x i8] c"Magenta\00" @.str6168 = private unnamed_addr constant [6 x i8] c"Mauve\00" @.str6169 = private unnamed_addr constant [5 x i8] c"Puce\00" @.str6170 = private unnamed_addr constant [8 x i8] c"Thistle\00" @.str6171 = private unnamed_addr constant [7 x i8] c"Orchid\00" @.str6172 = private unnamed_addr constant [7 x i8] c"Orange\00" @.str6173 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" @.str6174 = private unnamed_addr constant [10 x i8] c"Tangerine\00" @.str6175 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" @.str6176 = private unnamed_addr constant [8 x i8] c"Apricot\00" @.str6177 = private unnamed_addr constant [6 x i8] c"Peach\00" @.str6178 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" @.str6179 = private unnamed_addr constant [6 x i8] c"Amber\00" @.str6180 = private unnamed_addr constant [7 x i8] c"Bronze\00" @.str6181 = private unnamed_addr constant [7 x i8] c"Copper\00" @.str6182 = private unnamed_addr constant [9 x i8] c"Marigold\00" @.str6183 = private unnamed_addr constant [7 x i8] c"Carrot\00" @.str6184 = private unnamed_addr constant [10 x i8] c"Persimmon\00" @.str6185 = private unnamed_addr constant [7 x i8] c"Papaya\00" @.str6186 = private unnamed_addr constant [7 x i8] c"Sunset\00" @.str6187 = private unnamed_addr constant [7 x i8] c"Yellow\00" @.str6188 = private unnamed_addr constant [12 x i8] c"LightYellow\00" @.str6189 = private unnamed_addr constant [5 x i8] c"Gold\00" @.str6190 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" @.str6191 = private unnamed_addr constant [6 x i8] c"Lemon\00" @.str6192 = private unnamed_addr constant [7 x i8] c"Canary\00" @.str6193 = private unnamed_addr constant [8 x i8] c"Mustard\00" @.str6194 = private unnamed_addr constant [5 x i8] c"Flax\00" @.str6195 = private unnamed_addr constant [6 x i8] c"Wheat\00" @.str6196 = private unnamed_addr constant [5 x i8] c"Corn\00" @.str6197 = private unnamed_addr constant [10 x i8] c"Dandelion\00" @.str6198 = private unnamed_addr constant [8 x i8] c"Saffron\00" @.str6199 = private unnamed_addr constant [6 x i8] c"Khaki\00" @.str6200 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" @.str6201 = private unnamed_addr constant [6 x i8] c"Straw\00" @.str6202 = private unnamed_addr constant [6 x i8] c"Brown\00" @.str6203 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" @.str6204 = private unnamed_addr constant [7 x i8] c"Sienna\00" @.str6205 = private unnamed_addr constant [10 x i8] c"Chocolate\00" @.str6206 = private unnamed_addr constant [5 x i8] c"Peru\00" @.str6207 = private unnamed_addr constant [4 x i8] c"Tan\00" @.str6208 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" @.str6209 = private unnamed_addr constant [5 x i8] c"Sand\00" @.str6210 = private unnamed_addr constant [7 x i8] c"Coffee\00" @.str6211 = private unnamed_addr constant [9 x i8] c"Espresso\00" @.str6212 = private unnamed_addr constant [9 x i8] c"Mahogany\00" @.str6213 = private unnamed_addr constant [7 x i8] c"Walnut\00" @.str6214 = private unnamed_addr constant [6 x i8] c"Umber\00" @.str6215 = private unnamed_addr constant [6 x i8] c"Sepia\00" @.str6216 = private unnamed_addr constant [6 x i8] c"Taupe\00" @.str6217 = private unnamed_addr constant [5 x i8] c"Fawn\00" @.str6218 = private unnamed_addr constant [8 x i8] c"Caramel\00" @.str6219 = private unnamed_addr constant [6 x i8] c"Cocoa\00" @.str6220 = private unnamed_addr constant [6 x i8] c"Hazel\00" @.str6221 = private unnamed_addr constant [6 x i8] c"Wenge\00" @.str6222 = private unnamed_addr constant [6 x i8] c"Green\00" @.str6223 = private unnamed_addr constant [5 x i8] c"Lime\00" @.str6224 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" @.str6225 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" @.str6226 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" @.str6227 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" @.str6228 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" @.str6229 = private unnamed_addr constant [10 x i8] c"MintGreen\00" @.str6230 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" @.str6231 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" @.str6232 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" @.str6233 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" @.str6234 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" @.str6235 = private unnamed_addr constant [6 x i8] c"Olive\00" @.str6236 = private unnamed_addr constant [5 x i8] c"Moss\00" @.str6237 = private unnamed_addr constant [5 x i8] c"Fern\00" @.str6238 = private unnamed_addr constant [8 x i8] c"Emerald\00" @.str6239 = private unnamed_addr constant [5 x i8] c"Jade\00" @.str6240 = private unnamed_addr constant [10 x i8] c"Malachite\00" @.str6241 = private unnamed_addr constant [9 x i8] c"Shamrock\00" @.str6242 = private unnamed_addr constant [10 x i8] c"Pistachio\00" @.str6243 = private unnamed_addr constant [8 x i8] c"Avocado\00" @.str6244 = private unnamed_addr constant [5 x i8] c"Pine\00" @.str6245 = private unnamed_addr constant [5 x i8] c"Sage\00" @.str6246 = private unnamed_addr constant [6 x i8] c"Kelly\00" @.str6247 = private unnamed_addr constant [7 x i8] c"Hunter\00" @.str6248 = private unnamed_addr constant [6 x i8] c"Basil\00" @.str6249 = private unnamed_addr constant [7 x i8] c"Clover\00" @.str6250 = private unnamed_addr constant [8 x i8] c"Juniper\00" @.str6251 = private unnamed_addr constant [5 x i8] c"Neon\00" @.str6252 = private unnamed_addr constant [5 x i8] c"Cyan\00" @.str6253 = private unnamed_addr constant [5 x i8] c"Aqua\00" @.str6254 = private unnamed_addr constant [10 x i8] c"LightCyan\00" @.str6255 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" @.str6256 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" @.str6257 = private unnamed_addr constant [10 x i8] c"Turquoise\00" @.str6258 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" @.str6259 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" @.str6260 = private unnamed_addr constant [5 x i8] c"Teal\00" @.str6261 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" @.str6262 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" @.str6263 = private unnamed_addr constant [7 x i8] c"Lagoon\00" @.str6264 = private unnamed_addr constant [8 x i8] c"Seafoam\00" @.str6265 = private unnamed_addr constant [9 x i8] c"Cerulean\00" @.str6266 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" @.str6267 = private unnamed_addr constant [6 x i8] c"Robin\00" @.str6268 = private unnamed_addr constant [10 x i8] c"Verdigris\00" @.str6269 = private unnamed_addr constant [8 x i8] c"Celadon\00" @.str6270 = private unnamed_addr constant [5 x i8] c"Blue\00" @.str6271 = private unnamed_addr constant [10 x i8] c"LightBlue\00" @.str6272 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" @.str6273 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" @.str6274 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" @.str6275 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" @.str6276 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" @.str6277 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" @.str6278 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" @.str6279 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" @.str6280 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" @.str6281 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" @.str6282 = private unnamed_addr constant [5 x i8] c"Navy\00" @.str6283 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" @.str6284 = private unnamed_addr constant [7 x i8] c"Cobalt\00" @.str6285 = private unnamed_addr constant [9 x i8] c"Sapphire\00" @.str6286 = private unnamed_addr constant [6 x i8] c"Denim\00" @.str6287 = private unnamed_addr constant [7 x i8] c"Indigo\00" @.str6288 = private unnamed_addr constant [9 x i8] c"Prussian\00" @.str6289 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" @.str6290 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" @.str6291 = private unnamed_addr constant [5 x i8] c"Iris\00" @.str6292 = private unnamed_addr constant [9 x i8] c"Glaucous\00" @.str6293 = private unnamed_addr constant [7 x i8] c"Zaffre\00" @.str6294 = private unnamed_addr constant [6 x i8] c"Berry\00" @.str6295 = private unnamed_addr constant [7 x i8] c"Purple\00" @.str6296 = private unnamed_addr constant [7 x i8] c"Violet\00" @.str6297 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" @.str6298 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" @.str6299 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" @.str6300 = private unnamed_addr constant [9 x i8] c"Amethyst\00" @.str6301 = private unnamed_addr constant [5 x i8] c"Plum\00" @.str6302 = private unnamed_addr constant [9 x i8] c"Eggplant\00" @.str6303 = private unnamed_addr constant [6 x i8] c"Grape\00" @.str6304 = private unnamed_addr constant [5 x i8] c"Wine\00" @.str6305 = private unnamed_addr constant [9 x i8] c"Mulberry\00" @.str6306 = private unnamed_addr constant [6 x i8] c"Lilac\00" @.str6307 = private unnamed_addr constant [9 x i8] c"Wisteria\00" @.str6308 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" @.str6309 = private unnamed_addr constant [10 x i8] c"Byzantium\00" @.str6310 = private unnamed_addr constant [7 x i8] c"Tyrian\00" @.str6311 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" @.str6312 = private unnamed_addr constant [8 x i8] c"Orchid2\00" @.str6313 = private unnamed_addr constant [6 x i8] c"Space\00" @.str6314 = private unnamed_addr constant [6 x i8] c"Enter\00" @.str6315 = private unnamed_addr constant [7 x i8] c"Return\00" @.str6316 = private unnamed_addr constant [7 x i8] c"Escape\00" @.str6317 = private unnamed_addr constant [4 x i8] c"Esc\00" @.str6318 = private unnamed_addr constant [6 x i8] c"Shift\00" @.str6319 = private unnamed_addr constant [4 x i8] c"Tab\00" @.str6320 = private unnamed_addr constant [10 x i8] c"Backspace\00" @.str6321 = private unnamed_addr constant [3 x i8] c"Up\00" @.str6322 = private unnamed_addr constant [5 x i8] c"Down\00" @.str6323 = private unnamed_addr constant [5 x i8] c"Left\00" @.str6324 = private unnamed_addr constant [6 x i8] c"Right\00" @.str6325 = private unnamed_addr constant [7 x i8] c"Digit0\00" @.str6326 = private unnamed_addr constant [7 x i8] c"Digit1\00" @.str6327 = private unnamed_addr constant [7 x i8] c"Digit2\00" @.str6328 = private unnamed_addr constant [7 x i8] c"Digit3\00" @.str6329 = private unnamed_addr constant [7 x i8] c"Digit4\00" @.str6330 = private unnamed_addr constant [7 x i8] c"Digit5\00" @.str6331 = private unnamed_addr constant [7 x i8] c"Digit6\00" @.str6332 = private unnamed_addr constant [7 x i8] c"Digit7\00" @.str6333 = private unnamed_addr constant [7 x i8] c"Digit8\00" @.str6334 = private unnamed_addr constant [7 x i8] c"Digit9\00" @.str6335 = private unnamed_addr constant [15 x i8] c"getelementptr \00" @.str6336 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" @.str6337 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str6338 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6339 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" @.str6340 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6341 = private unnamed_addr constant [2 x i8] c")\00" @.str6342 = private unnamed_addr constant [3 x i8] c" \00" @.str6343 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6344 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6345 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6346 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6347 = private unnamed_addr constant [2 x i8] c"0\00" @.str6348 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6349 = private unnamed_addr constant [5 x i8] c"null\00" @.str6350 = private unnamed_addr constant [9 x i8] c" store \00" @.str6351 = private unnamed_addr constant [2 x i8] c" \00" @.str6352 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6353 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6354 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str6355 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6356 = private unnamed_addr constant [2 x i8] c")\00" @.str6357 = private unnamed_addr constant [3 x i8] c" \00" @.str6358 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6359 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str6360 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str6361 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6362 = private unnamed_addr constant [3 x i8] c" \00" @.str6363 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6364 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str6365 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6366 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6367 = private unnamed_addr constant [3 x i8] c" \00" @.str6368 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6369 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" @.str6370 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6371 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6372 = private unnamed_addr constant [3 x i8] c" \00" @.str6373 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str6374 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6375 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6376 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6377 = private unnamed_addr constant [4 x i8] c"int\00" @.str6378 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str6379 = private unnamed_addr constant [2 x i8] c")\00" @.str6380 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6381 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6382 = private unnamed_addr constant [4 x i8] c"int\00" @.str6383 = private unnamed_addr constant [2 x i8] c"0\00" @.str6384 = private unnamed_addr constant [5 x i8] c"void\00" @.str6385 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00" @.str6386 = private unnamed_addr constant [3 x i8] c"[]\00" @.str6387 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00" @.str6388 = private unnamed_addr constant [6 x i8] c" and \00" @.str6389 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6390 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6391 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str6392 = private unnamed_addr constant [3 x i8] c", \00" @.str6393 = private unnamed_addr constant [5 x i8] c"grow\00" @.str6394 = private unnamed_addr constant [4 x i8] c"put\00" @.str6395 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6396 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6397 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6398 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6399 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6400 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6401 = private unnamed_addr constant [4 x i8] c", 2\00" @.str6402 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6403 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6404 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6405 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str6406 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6407 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6408 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6409 = private unnamed_addr constant [3 x i8] c", \00" @.str6410 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6411 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str6412 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6413 = private unnamed_addr constant [2 x i8] c")\00" @.str6414 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6415 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6416 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6417 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6418 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6419 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6420 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6421 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6422 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6423 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6424 = private unnamed_addr constant [3 x i8] c" \00" @.str6425 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str6426 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6427 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6428 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6429 = private unnamed_addr constant [9 x i8] c" store \00" @.str6430 = private unnamed_addr constant [2 x i8] c" \00" @.str6431 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6432 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6433 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6434 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6435 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6436 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6437 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6438 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6439 = private unnamed_addr constant [4 x i8] c"int\00" @.str6440 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6441 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6442 = private unnamed_addr constant [7 x i8] c"result\00" @.str6443 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" @.str6444 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" @.str6445 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6446 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str6447 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6448 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6449 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str6450 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6451 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6452 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6453 = private unnamed_addr constant [6 x i8] c"tryok\00" @.str6454 = private unnamed_addr constant [8 x i8] c"tryelse\00" @.str6455 = private unnamed_addr constant [7 x i8] c"tryend\00" @.str6456 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6457 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6458 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6459 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6460 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6461 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6462 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str6463 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6464 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6465 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6466 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6467 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6468 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6469 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6470 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str6471 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str6472 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str6473 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6474 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str6475 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6476 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6477 = private unnamed_addr constant [6 x i8] c"error\00" @.str6478 = private unnamed_addr constant [7 x i8] c"string\00" @.str6479 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6480 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6481 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6482 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6483 = private unnamed_addr constant [4 x i8] c"int\00" @.str6484 = private unnamed_addr constant [6 x i8] c"load \00" @.str6485 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6486 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6487 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6488 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6489 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6490 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6491 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6492 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6493 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6494 = private unnamed_addr constant [3 x i8] c"sc\00" @.str6495 = private unnamed_addr constant [6 x i8] c"scend\00" @.str6496 = private unnamed_addr constant [4 x i8] c"and\00" @.str6497 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6498 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6499 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6500 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6501 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6502 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6503 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6504 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6505 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6506 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6507 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6508 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6509 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6510 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str6511 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6512 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6513 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6514 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6515 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6516 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6517 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6518 = private unnamed_addr constant [2 x i8] c"<\00" @.str6519 = private unnamed_addr constant [4 x i8] c"slt\00" @.str6520 = private unnamed_addr constant [3 x i8] c"<=\00" @.str6521 = private unnamed_addr constant [4 x i8] c"sle\00" @.str6522 = private unnamed_addr constant [2 x i8] c">\00" @.str6523 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str6524 = private unnamed_addr constant [3 x i8] c">=\00" @.str6525 = private unnamed_addr constant [4 x i8] c"sge\00" @.str6526 = private unnamed_addr constant [3 x i8] c"==\00" @.str6527 = private unnamed_addr constant [3 x i8] c"eq\00" @.str6528 = private unnamed_addr constant [3 x i8] c"ne\00" @.str6529 = private unnamed_addr constant [2 x i8] c"<\00" @.str6530 = private unnamed_addr constant [3 x i8] c"<=\00" @.str6531 = private unnamed_addr constant [2 x i8] c">\00" @.str6532 = private unnamed_addr constant [3 x i8] c">=\00" @.str6533 = private unnamed_addr constant [3 x i8] c"==\00" @.str6534 = private unnamed_addr constant [3 x i8] c"!=\00" @.str6535 = private unnamed_addr constant [2 x i8] c"+\00" @.str6536 = private unnamed_addr constant [4 x i8] c"add\00" @.str6537 = private unnamed_addr constant [2 x i8] c"-\00" @.str6538 = private unnamed_addr constant [4 x i8] c"sub\00" @.str6539 = private unnamed_addr constant [2 x i8] c"*\00" @.str6540 = private unnamed_addr constant [4 x i8] c"mul\00" @.str6541 = private unnamed_addr constant [2 x i8] c"/\00" @.str6542 = private unnamed_addr constant [5 x i8] c"sdiv\00" @.str6543 = private unnamed_addr constant [2 x i8] c"&\00" @.str6544 = private unnamed_addr constant [4 x i8] c"and\00" @.str6545 = private unnamed_addr constant [2 x i8] c"|\00" @.str6546 = private unnamed_addr constant [3 x i8] c"or\00" @.str6547 = private unnamed_addr constant [2 x i8] c"^\00" @.str6548 = private unnamed_addr constant [4 x i8] c"xor\00" @.str6549 = private unnamed_addr constant [3 x i8] c"<<\00" @.str6550 = private unnamed_addr constant [4 x i8] c"shl\00" @.str6551 = private unnamed_addr constant [3 x i8] c">>\00" @.str6552 = private unnamed_addr constant [5 x i8] c"lshr\00" @.str6553 = private unnamed_addr constant [5 x i8] c"srem\00" @.str6554 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6555 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6556 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6557 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6558 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6559 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6560 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6561 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6562 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6563 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6564 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6565 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6566 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6567 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6568 = private unnamed_addr constant [2 x i8] c"+\00" @.str6569 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str6570 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6571 = private unnamed_addr constant [2 x i8] c")\00" @.str6572 = private unnamed_addr constant [7 x i8] c"string\00" @.str6573 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str6574 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6575 = private unnamed_addr constant [2 x i8] c")\00" @.str6576 = private unnamed_addr constant [3 x i8] c"!=\00" @.str6577 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6578 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6579 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6580 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6581 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6582 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6583 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6584 = private unnamed_addr constant [5 x i8] c"long\00" @.str6585 = private unnamed_addr constant [4 x i8] c"int\00" @.str6586 = private unnamed_addr constant [4 x i8] c"and\00" @.str6587 = private unnamed_addr constant [3 x i8] c"or\00" @.str6588 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6589 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6590 = private unnamed_addr constant [2 x i8] c"+\00" @.str6591 = private unnamed_addr constant [2 x i8] c"+\00" @.str6592 = private unnamed_addr constant [3 x i8] c"==\00" @.str6593 = private unnamed_addr constant [3 x i8] c"!=\00" @.str6594 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6595 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6596 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6597 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6598 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6599 = private unnamed_addr constant [4 x i8] c"i64\00" @.str6600 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6601 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6602 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6603 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str6604 = private unnamed_addr constant [2 x i8] c" \00" @.str6605 = private unnamed_addr constant [2 x i8] c" \00" @.str6606 = private unnamed_addr constant [3 x i8] c", \00" @.str6607 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6608 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6609 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6610 = private unnamed_addr constant [6 x i8] c" i64 \00" @.str6611 = private unnamed_addr constant [3 x i8] c", \00" @.str6612 = private unnamed_addr constant [5 x i8] c"long\00" @.str6613 = private unnamed_addr constant [2 x i8] c"*\00" @.str6614 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6615 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6616 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6617 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6618 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6619 = private unnamed_addr constant [3 x i8] c", \00" @.str6620 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str6621 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6622 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6623 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6624 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6625 = private unnamed_addr constant [2 x i8] c"/\00" @.str6626 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6627 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6628 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str6629 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6630 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6631 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6632 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str6633 = private unnamed_addr constant [3 x i8] c", \00" @.str6634 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6635 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6636 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6637 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str6638 = private unnamed_addr constant [3 x i8] c", \00" @.str6639 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6640 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str6641 = private unnamed_addr constant [3 x i8] c", \00" @.str6642 = private unnamed_addr constant [4 x i8] c"int\00" @.str6643 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" @.str6644 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" @.str6645 = private unnamed_addr constant [19 x i8] c"no argument named \00" @.str6646 = private unnamed_addr constant [5 x i8] c"exok\00" @.str6647 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str6648 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6649 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6650 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6651 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6652 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6653 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str6654 = private unnamed_addr constant [1 x i8] c"\00" @.str6655 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str6656 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6657 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" @.str6658 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6659 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6660 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6661 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6662 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6663 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6664 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str6665 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" @.str6666 = private unnamed_addr constant [7 x i8] c"__each\00" @.str6667 = private unnamed_addr constant [5 x i8] c"self\00" @.str6668 = private unnamed_addr constant [2 x i8] c"0\00" @.str6669 = private unnamed_addr constant [5 x i8] c"void\00" @.str6670 = private unnamed_addr constant [6 x i8] c"count\00" @.str6671 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" @.str6672 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6673 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6674 = private unnamed_addr constant [2 x i8] c"0\00" @.str6675 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6676 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6677 = private unnamed_addr constant [2 x i8] c"0\00" @.str6678 = private unnamed_addr constant [3 x i8] c"cc\00" @.str6679 = private unnamed_addr constant [3 x i8] c"cb\00" @.str6680 = private unnamed_addr constant [3 x i8] c"cn\00" @.str6681 = private unnamed_addr constant [3 x i8] c"ce\00" @.str6682 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6683 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6684 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6685 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6686 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str6687 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6688 = private unnamed_addr constant [3 x i8] c", \00" @.str6689 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6690 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6691 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6692 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6693 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6694 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6695 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str6696 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6697 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6698 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str6699 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6700 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str6701 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str6702 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6703 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6704 = private unnamed_addr constant [3 x i8] c", \00" @.str6705 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6706 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6707 = private unnamed_addr constant [3 x i8] c", \00" @.str6708 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6709 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6710 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6711 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6712 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6713 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6714 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6715 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6716 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6717 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6718 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6719 = private unnamed_addr constant [4 x i8] c"int\00" @.str6720 = private unnamed_addr constant [2 x i8] c".\00" @.str6721 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" @.str6722 = private unnamed_addr constant [3 x i8] c"of\00" @.str6723 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6724 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str6725 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str6726 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6727 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str6728 = private unnamed_addr constant [3 x i8] c", \00" @.str6729 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6730 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6731 = private unnamed_addr constant [8 x i8] c", i32 0\00" @.str6732 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6733 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str6734 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6735 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6736 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6737 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str6738 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str6739 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6740 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str6741 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str6742 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6743 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6744 = private unnamed_addr constant [3 x i8] c", \00" @.str6745 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6746 = private unnamed_addr constant [3 x i8] c", \00" @.str6747 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6748 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6749 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6750 = private unnamed_addr constant [5 x i8] c"name\00" @.str6751 = private unnamed_addr constant [7 x i8] c"string\00" @.str6752 = private unnamed_addr constant [3 x i8] c"of\00" @.str6753 = private unnamed_addr constant [4 x i8] c"has\00" @.str6754 = private unnamed_addr constant [6 x i8] c"count\00" @.str6755 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str6756 = private unnamed_addr constant [2 x i8] c"_\00" @.str6757 = private unnamed_addr constant [5 x i8] c"Math\00" @.str6758 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00" @.str6759 = private unnamed_addr constant [5 x i8] c"Text\00" @.str6760 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00" @.str6761 = private unnamed_addr constant [5 x i8] c"List\00" @.str6762 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00" @.str6763 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str6764 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00" @.str6765 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str6766 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str6767 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str6768 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00" @.str6769 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str6770 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00" @.str6771 = private unnamed_addr constant [6 x i8] c"Color\00" @.str6772 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00" @.str6773 = private unnamed_addr constant [5 x i8] c"Time\00" @.str6774 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00" @.str6775 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str6776 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00" @.str6777 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str6778 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00" @.str6779 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str6780 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00" @.str6781 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str6782 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00" @.str6783 = private unnamed_addr constant [4 x i8] c"Log\00" @.str6784 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00" @.str6785 = private unnamed_addr constant [3 x i8] c"Os\00" @.str6786 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00" @.str6787 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str6788 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00" @.str6789 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str6790 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00" @.str6791 = private unnamed_addr constant [5 x i8] c"Path\00" @.str6792 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00" @.str6793 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str6794 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00" @.str6795 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str6796 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00" @.str6797 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str6798 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00" @.str6799 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str6800 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00" @.str6801 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str6802 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00" @.str6803 = private unnamed_addr constant [5 x i8] c"Date\00" @.str6804 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00" @.str6805 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str6806 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00" @.str6807 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str6808 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00" @.str6809 = private unnamed_addr constant [4 x i8] c"App\00" @.str6810 = private unnamed_addr constant [12 x i8] c"splash_hide\00" @.str6811 = private unnamed_addr constant [28 x i8] c" call void @splash_hide()\0A\00" @.str6812 = private unnamed_addr constant [2 x i8] c"0\00" @.str6813 = private unnamed_addr constant [5 x i8] c"void\00" @.str6814 = private unnamed_addr constant [9 x i8] c"set_icon\00" @.str6815 = private unnamed_addr constant [30 x i8] c" call void @lp_app_icon(ptr \00" @.str6816 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6817 = private unnamed_addr constant [2 x i8] c"0\00" @.str6818 = private unnamed_addr constant [5 x i8] c"void\00" @.str6819 = private unnamed_addr constant [21 x i8] c"unknown builtin App.\00" @.str6820 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str6821 = private unnamed_addr constant [9 x i8] c"capacity\00" @.str6822 = private unnamed_addr constant [4 x i8] c"int\00" @.str6823 = private unnamed_addr constant [9 x i8] c"reserved\00" @.str6824 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str6825 = private unnamed_addr constant [4 x i8] c"int\00" @.str6826 = private unnamed_addr constant [5 x i8] c"free\00" @.str6827 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str6828 = private unnamed_addr constant [4 x i8] c"int\00" @.str6829 = private unnamed_addr constant [5 x i8] c"live\00" @.str6830 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str6831 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str6832 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6833 = private unnamed_addr constant [3 x i8] c", \00" @.str6834 = private unnamed_addr constant [4 x i8] c"int\00" @.str6835 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00" @.str6836 = private unnamed_addr constant [7 x i8] c"Screen\00" @.str6837 = private unnamed_addr constant [6 x i8] c"clear\00" @.str6838 = private unnamed_addr constant [6 x i8] c"clear\00" @.str6839 = private unnamed_addr constant [6 x i8] c"color\00" @.str6840 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" @.str6841 = private unnamed_addr constant [10 x i8] c"fill_rect\00" @.str6842 = private unnamed_addr constant [2 x i8] c"x\00" @.str6843 = private unnamed_addr constant [2 x i8] c"y\00" @.str6844 = private unnamed_addr constant [6 x i8] c"width\00" @.str6845 = private unnamed_addr constant [7 x i8] c"height\00" @.str6846 = private unnamed_addr constant [6 x i8] c"color\00" @.str6847 = private unnamed_addr constant [4 x i8] c"bar\00" @.str6848 = private unnamed_addr constant [4 x i8] c"bar\00" @.str6849 = private unnamed_addr constant [2 x i8] c"x\00" @.str6850 = private unnamed_addr constant [2 x i8] c"y\00" @.str6851 = private unnamed_addr constant [6 x i8] c"width\00" @.str6852 = private unnamed_addr constant [7 x i8] c"height\00" @.str6853 = private unnamed_addr constant [6 x i8] c"value\00" @.str6854 = private unnamed_addr constant [4 x i8] c"max\00" @.str6855 = private unnamed_addr constant [6 x i8] c"color\00" @.str6856 = private unnamed_addr constant [5 x i8] c"back\00" @.str6857 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" @.str6858 = private unnamed_addr constant [11 x i8] c"frame_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"color\00" @.str6864 = private unnamed_addr constant [10 x i8] c"put_pixel\00" @.str6865 = private unnamed_addr constant [7 x i8] c"put_px\00" @.str6866 = private unnamed_addr constant [2 x i8] c"x\00" @.str6867 = private unnamed_addr constant [2 x i8] c"y\00" @.str6868 = private unnamed_addr constant [6 x i8] c"color\00" @.str6869 = private unnamed_addr constant [10 x i8] c"draw_text\00" @.str6870 = private unnamed_addr constant [5 x i8] c"text\00" @.str6871 = private unnamed_addr constant [2 x i8] c"x\00" @.str6872 = private unnamed_addr constant [2 x i8] c"y\00" @.str6873 = private unnamed_addr constant [5 x i8] c"text\00" @.str6874 = private unnamed_addr constant [6 x i8] c"color\00" @.str6875 = private unnamed_addr constant [6 x i8] c"scale\00" @.str6876 = private unnamed_addr constant [12 x i8] c"draw_number\00" @.str6877 = private unnamed_addr constant [9 x i8] c"text_int\00" @.str6878 = private unnamed_addr constant [2 x i8] c"x\00" @.str6879 = private unnamed_addr constant [2 x i8] c"y\00" @.str6880 = private unnamed_addr constant [6 x i8] c"value\00" @.str6881 = private unnamed_addr constant [6 x i8] c"color\00" @.str6882 = private unnamed_addr constant [6 x i8] c"scale\00" @.str6883 = private unnamed_addr constant [5 x i8] c"show\00" @.str6884 = private unnamed_addr constant [8 x i8] c"present\00" @.str6885 = private unnamed_addr constant [6 x i8] c"width\00" @.str6886 = private unnamed_addr constant [9 x i8] c"screen_w\00" @.str6887 = private unnamed_addr constant [7 x i8] c"height\00" @.str6888 = private unnamed_addr constant [9 x i8] c"screen_h\00" @.str6889 = private unnamed_addr constant [7 x i8] c"status\00" @.str6890 = private unnamed_addr constant [7 x i8] c"status\00" @.str6891 = private unnamed_addr constant [5 x i8] c"text\00" @.str6892 = private unnamed_addr constant [5 x i8] c"line\00" @.str6893 = private unnamed_addr constant [5 x i8] c"line\00" @.str6894 = private unnamed_addr constant [3 x i8] c"x1\00" @.str6895 = private unnamed_addr constant [3 x i8] c"y1\00" @.str6896 = private unnamed_addr constant [3 x i8] c"x2\00" @.str6897 = private unnamed_addr constant [3 x i8] c"y2\00" @.str6898 = private unnamed_addr constant [6 x i8] c"color\00" @.str6899 = private unnamed_addr constant [7 x i8] c"circle\00" @.str6900 = private unnamed_addr constant [7 x i8] c"circle\00" @.str6901 = private unnamed_addr constant [2 x i8] c"x\00" @.str6902 = private unnamed_addr constant [2 x i8] c"y\00" @.str6903 = private unnamed_addr constant [7 x i8] c"radius\00" @.str6904 = private unnamed_addr constant [6 x i8] c"color\00" @.str6905 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str6906 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str6907 = private unnamed_addr constant [2 x i8] c"x\00" @.str6908 = private unnamed_addr constant [2 x i8] c"y\00" @.str6909 = private unnamed_addr constant [7 x i8] c"radius\00" @.str6910 = private unnamed_addr constant [6 x i8] c"color\00" @.str6911 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str6912 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str6913 = private unnamed_addr constant [3 x i8] c"x1\00" @.str6914 = private unnamed_addr constant [3 x i8] c"y1\00" @.str6915 = private unnamed_addr constant [3 x i8] c"x2\00" @.str6916 = private unnamed_addr constant [3 x i8] c"y2\00" @.str6917 = private unnamed_addr constant [3 x i8] c"x3\00" @.str6918 = private unnamed_addr constant [3 x i8] c"y3\00" @.str6919 = private unnamed_addr constant [6 x i8] c"color\00" @.str6920 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str6921 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str6922 = private unnamed_addr constant [3 x i8] c"x1\00" @.str6923 = private unnamed_addr constant [3 x i8] c"y1\00" @.str6924 = private unnamed_addr constant [3 x i8] c"x2\00" @.str6925 = private unnamed_addr constant [3 x i8] c"y2\00" @.str6926 = private unnamed_addr constant [3 x i8] c"x3\00" @.str6927 = private unnamed_addr constant [3 x i8] c"y3\00" @.str6928 = private unnamed_addr constant [6 x i8] c"color\00" @.str6929 = private unnamed_addr constant [7 x i8] c"sprite\00" @.str6930 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str6931 = private unnamed_addr constant [3 x i8] c"id\00" @.str6932 = private unnamed_addr constant [2 x i8] c"x\00" @.str6933 = private unnamed_addr constant [2 x i8] c"y\00" @.str6934 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00" @.str6935 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str6936 = private unnamed_addr constant [3 x i8] c"id\00" @.str6937 = private unnamed_addr constant [2 x i8] c"x\00" @.str6938 = private unnamed_addr constant [2 x i8] c"y\00" @.str6939 = private unnamed_addr constant [6 x i8] c"scale\00" @.str6940 = private unnamed_addr constant [5 x i8] c"oval\00" @.str6941 = private unnamed_addr constant [5 x i8] c"oval\00" @.str6942 = private unnamed_addr constant [2 x i8] c"x\00" @.str6943 = private unnamed_addr constant [2 x i8] c"y\00" @.str6944 = private unnamed_addr constant [3 x i8] c"rx\00" @.str6945 = private unnamed_addr constant [3 x i8] c"ry\00" @.str6946 = private unnamed_addr constant [6 x i8] c"color\00" @.str6947 = private unnamed_addr constant [7 x i8] c"camera\00" @.str6948 = private unnamed_addr constant [7 x i8] c"camera\00" @.str6949 = private unnamed_addr constant [2 x i8] c"x\00" @.str6950 = private unnamed_addr constant [2 x i8] c"y\00" @.str6951 = private unnamed_addr constant [5 x i8] c"clip\00" @.str6952 = private unnamed_addr constant [5 x i8] c"clip\00" @.str6953 = private unnamed_addr constant [2 x i8] c"x\00" @.str6954 = private unnamed_addr constant [2 x i8] c"y\00" @.str6955 = private unnamed_addr constant [6 x i8] c"width\00" @.str6956 = private unnamed_addr constant [7 x i8] c"height\00" @.str6957 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str6958 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str6959 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str6960 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str6961 = private unnamed_addr constant [5 x i8] c"mode\00" @.str6962 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str6963 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str6964 = private unnamed_addr constant [5 x i8] c"text\00" @.str6965 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str6966 = private unnamed_addr constant [7 x i8] c"get_px\00" @.str6967 = private unnamed_addr constant [2 x i8] c"x\00" @.str6968 = private unnamed_addr constant [2 x i8] c"y\00" @.str6969 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str6970 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6971 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00" @.str6972 = private unnamed_addr constant [5 x i8] c"path\00" @.str6973 = private unnamed_addr constant [6 x i8] c"cellw\00" @.str6974 = private unnamed_addr constant [6 x i8] c"cellh\00" @.str6975 = private unnamed_addr constant [5 x i8] c"cell\00" @.str6976 = private unnamed_addr constant [11 x i8] c"atlas_cell\00" @.str6977 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6978 = private unnamed_addr constant [4 x i8] c"col\00" @.str6979 = private unnamed_addr constant [4 x i8] c"row\00" @.str6980 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str6981 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00" @.str6982 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6983 = private unnamed_addr constant [4 x i8] c"col\00" @.str6984 = private unnamed_addr constant [4 x i8] c"row\00" @.str6985 = private unnamed_addr constant [5 x i8] c"cols\00" @.str6986 = private unnamed_addr constant [5 x i8] c"rows\00" @.str6987 = private unnamed_addr constant [6 x i8] c"strip\00" @.str6988 = private unnamed_addr constant [12 x i8] c"atlas_strip\00" @.str6989 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6990 = private unnamed_addr constant [4 x i8] c"col\00" @.str6991 = private unnamed_addr constant [4 x i8] c"row\00" @.str6992 = private unnamed_addr constant [6 x i8] c"count\00" @.str6993 = private unnamed_addr constant [5 x i8] c"rows\00" @.str6994 = private unnamed_addr constant [7 x i8] c"define\00" @.str6995 = private unnamed_addr constant [13 x i8] c"atlas_define\00" @.str6996 = private unnamed_addr constant [5 x i8] c"name\00" @.str6997 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str6998 = private unnamed_addr constant [4 x i8] c"col\00" @.str6999 = private unnamed_addr constant [4 x i8] c"row\00" @.str7000 = private unnamed_addr constant [6 x i8] c"named\00" @.str7001 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str7002 = private unnamed_addr constant [5 x i8] c"name\00" @.str7003 = private unnamed_addr constant [5 x i8] c"draw\00" @.str7004 = private unnamed_addr constant [11 x i8] c"atlas_draw\00" @.str7005 = private unnamed_addr constant [3 x i8] c"id\00" @.str7006 = private unnamed_addr constant [2 x i8] c"x\00" @.str7007 = private unnamed_addr constant [2 x i8] c"y\00" @.str7008 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str7009 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00" @.str7010 = private unnamed_addr constant [3 x i8] c"id\00" @.str7011 = private unnamed_addr constant [2 x i8] c"x\00" @.str7012 = private unnamed_addr constant [2 x i8] c"y\00" @.str7013 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7014 = private unnamed_addr constant [11 x i8] c"draw_meter\00" @.str7015 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00" @.str7016 = private unnamed_addr constant [2 x i8] c"x\00" @.str7017 = private unnamed_addr constant [2 x i8] c"y\00" @.str7018 = private unnamed_addr constant [6 x i8] c"value\00" @.str7019 = private unnamed_addr constant [4 x i8] c"max\00" @.str7020 = private unnamed_addr constant [9 x i8] c"per_icon\00" @.str7021 = private unnamed_addr constant [8 x i8] c"spacing\00" @.str7022 = private unnamed_addr constant [5 x i8] c"full\00" @.str7023 = private unnamed_addr constant [5 x i8] c"half\00" @.str7024 = private unnamed_addr constant [6 x i8] c"empty\00" @.str7025 = private unnamed_addr constant [6 x i8] c"width\00" @.str7026 = private unnamed_addr constant [12 x i8] c"atlas_width\00" @.str7027 = private unnamed_addr constant [3 x i8] c"id\00" @.str7028 = private unnamed_addr constant [7 x i8] c"height\00" @.str7029 = private unnamed_addr constant [13 x i8] c"atlas_height\00" @.str7030 = private unnamed_addr constant [3 x i8] c"id\00" @.str7031 = private unnamed_addr constant [5 x i8] c"Font\00" @.str7032 = private unnamed_addr constant [5 x i8] c"load\00" @.str7033 = private unnamed_addr constant [10 x i8] c"font_load\00" @.str7034 = private unnamed_addr constant [5 x i8] c"path\00" @.str7035 = private unnamed_addr constant [3 x i8] c"Ui\00" @.str7036 = private unnamed_addr constant [6 x i8] c"build\00" @.str7037 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str7038 = private unnamed_addr constant [5 x i8] c"open\00" @.str7039 = private unnamed_addr constant [8 x i8] c"ui_open\00" @.str7040 = private unnamed_addr constant [3 x i8] c"id\00" @.str7041 = private unnamed_addr constant [6 x i8] c"close\00" @.str7042 = private unnamed_addr constant [9 x i8] c"ui_close\00" @.str7043 = private unnamed_addr constant [5 x i8] c"tick\00" @.str7044 = private unnamed_addr constant [8 x i8] c"ui_tick\00" @.str7045 = private unnamed_addr constant [4 x i8] c"key\00" @.str7046 = private unnamed_addr constant [8 x i8] c"clicked\00" @.str7047 = private unnamed_addr constant [11 x i8] c"ui_clicked\00" @.str7048 = private unnamed_addr constant [3 x i8] c"id\00" @.str7049 = private unnamed_addr constant [9 x i8] c"set_text\00" @.str7050 = private unnamed_addr constant [12 x i8] c"ui_set_text\00" @.str7051 = private unnamed_addr constant [3 x i8] c"id\00" @.str7052 = private unnamed_addr constant [5 x i8] c"text\00" @.str7053 = private unnamed_addr constant [7 x i8] c"render\00" @.str7054 = private unnamed_addr constant [10 x i8] c"ui_render\00" @.str7055 = private unnamed_addr constant [5 x i8] c"File\00" @.str7056 = private unnamed_addr constant [5 x i8] c"open\00" @.str7057 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7058 = private unnamed_addr constant [5 x i8] c"path\00" @.str7059 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7060 = private unnamed_addr constant [5 x i8] c"read\00" @.str7061 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7062 = private unnamed_addr constant [5 x i8] c"file\00" @.str7063 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str7064 = private unnamed_addr constant [6 x i8] c"count\00" @.str7065 = private unnamed_addr constant [6 x i8] c"write\00" @.str7066 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7067 = private unnamed_addr constant [5 x i8] c"file\00" @.str7068 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str7069 = private unnamed_addr constant [6 x i8] c"count\00" @.str7070 = private unnamed_addr constant [5 x i8] c"seek\00" @.str7071 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7072 = private unnamed_addr constant [5 x i8] c"file\00" @.str7073 = private unnamed_addr constant [7 x i8] c"offset\00" @.str7074 = private unnamed_addr constant [7 x i8] c"whence\00" @.str7075 = private unnamed_addr constant [5 x i8] c"tell\00" @.str7076 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7077 = private unnamed_addr constant [5 x i8] c"file\00" @.str7078 = private unnamed_addr constant [6 x i8] c"close\00" @.str7079 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7080 = private unnamed_addr constant [5 x i8] c"file\00" @.str7081 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str7082 = private unnamed_addr constant [7 x i8] c"sparks\00" @.str7083 = private unnamed_addr constant [10 x i8] c"fx_sparks\00" @.str7084 = private unnamed_addr constant [2 x i8] c"x\00" @.str7085 = private unnamed_addr constant [2 x i8] c"y\00" @.str7086 = private unnamed_addr constant [6 x i8] c"color\00" @.str7087 = private unnamed_addr constant [6 x i8] c"count\00" @.str7088 = private unnamed_addr constant [7 x i8] c"number\00" @.str7089 = private unnamed_addr constant [10 x i8] c"fx_number\00" @.str7090 = private unnamed_addr constant [2 x i8] c"x\00" @.str7091 = private unnamed_addr constant [2 x i8] c"y\00" @.str7092 = private unnamed_addr constant [6 x i8] c"value\00" @.str7093 = private unnamed_addr constant [6 x i8] c"color\00" @.str7094 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7095 = private unnamed_addr constant [9 x i8] c"fx_clear\00" @.str7096 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str7097 = private unnamed_addr constant [9 x i8] c"spawn_at\00" @.str7098 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" @.str7099 = private unnamed_addr constant [9 x i8] c"Position\00" @.str7100 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" @.str7101 = private unnamed_addr constant [5 x i8] c"name\00" @.str7102 = private unnamed_addr constant [3 x i8] c"at\00" @.str7103 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str7104 = private unnamed_addr constant [2 x i8] c")\00" @.str7105 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7106 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00" @.str7107 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str7108 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7109 = private unnamed_addr constant [2 x i8] c"x\00" @.str7110 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str7111 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7112 = private unnamed_addr constant [2 x i8] c"y\00" @.str7113 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7114 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7115 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7116 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7117 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7118 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7119 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7120 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str7121 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" @.str7122 = private unnamed_addr constant [5 x i8] c"name\00" @.str7123 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" @.str7124 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str7125 = private unnamed_addr constant [2 x i8] c")\00" @.str7126 = private unnamed_addr constant [7 x i8] c"entity\00" @.str7127 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00" @.str7128 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str7129 = private unnamed_addr constant [5 x i8] c"font\00" @.str7130 = private unnamed_addr constant [12 x i8] c"assets_font\00" @.str7131 = private unnamed_addr constant [5 x i8] c"name\00" @.str7132 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00" @.str7133 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00" @.str7134 = private unnamed_addr constant [5 x i8] c"path\00" @.str7135 = private unnamed_addr constant [6 x i8] c"image\00" @.str7136 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str7137 = private unnamed_addr constant [5 x i8] c"path\00" @.str7138 = private unnamed_addr constant [5 x i8] c"load\00" @.str7139 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str7140 = private unnamed_addr constant [5 x i8] c"path\00" @.str7141 = private unnamed_addr constant [4 x i8] c"get\00" @.str7142 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str7143 = private unnamed_addr constant [5 x i8] c"name\00" @.str7144 = private unnamed_addr constant [8 x i8] c"enqueue\00" @.str7145 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00" @.str7146 = private unnamed_addr constant [5 x i8] c"name\00" @.str7147 = private unnamed_addr constant [5 x i8] c"path\00" @.str7148 = private unnamed_addr constant [5 x i8] c"pump\00" @.str7149 = private unnamed_addr constant [12 x i8] c"assets_pump\00" @.str7150 = private unnamed_addr constant [4 x i8] c"max\00" @.str7151 = private unnamed_addr constant [6 x i8] c"total\00" @.str7152 = private unnamed_addr constant [13 x i8] c"assets_total\00" @.str7153 = private unnamed_addr constant [7 x i8] c"loaded\00" @.str7154 = private unnamed_addr constant [14 x i8] c"assets_loaded\00" @.str7155 = private unnamed_addr constant [6 x i8] c"ready\00" @.str7156 = private unnamed_addr constant [13 x i8] c"assets_ready\00" @.str7157 = private unnamed_addr constant [9 x i8] c"progress\00" @.str7158 = private unnamed_addr constant [16 x i8] c"assets_progress\00" @.str7159 = private unnamed_addr constant [7 x i8] c"Camera\00" @.str7160 = private unnamed_addr constant [4 x i8] c"set\00" @.str7161 = private unnamed_addr constant [7 x i8] c"camera\00" @.str7162 = private unnamed_addr constant [2 x i8] c"x\00" @.str7163 = private unnamed_addr constant [2 x i8] c"y\00" @.str7164 = private unnamed_addr constant [7 x i8] c"follow\00" @.str7165 = private unnamed_addr constant [14 x i8] c"camera_follow\00" @.str7166 = private unnamed_addr constant [2 x i8] c"x\00" @.str7167 = private unnamed_addr constant [2 x i8] c"y\00" @.str7168 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7169 = private unnamed_addr constant [6 x i8] c"shake\00" @.str7170 = private unnamed_addr constant [13 x i8] c"camera_shake\00" @.str7171 = private unnamed_addr constant [7 x i8] c"amount\00" @.str7172 = private unnamed_addr constant [10 x i8] c"shake_for\00" @.str7173 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00" @.str7174 = private unnamed_addr constant [7 x i8] c"amount\00" @.str7175 = private unnamed_addr constant [7 x i8] c"frames\00" @.str7176 = private unnamed_addr constant [5 x i8] c"zoom\00" @.str7177 = private unnamed_addr constant [12 x i8] c"camera_zoom\00" @.str7178 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7179 = private unnamed_addr constant [4 x i8] c"Map\00" @.str7180 = private unnamed_addr constant [5 x i8] c"size\00" @.str7181 = private unnamed_addr constant [9 x i8] c"map_size\00" @.str7182 = private unnamed_addr constant [6 x i8] c"width\00" @.str7183 = private unnamed_addr constant [7 x i8] c"height\00" @.str7184 = private unnamed_addr constant [4 x i8] c"row\00" @.str7185 = private unnamed_addr constant [8 x i8] c"map_row\00" @.str7186 = private unnamed_addr constant [2 x i8] c"y\00" @.str7187 = private unnamed_addr constant [6 x i8] c"cells\00" @.str7188 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7189 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7190 = private unnamed_addr constant [2 x i8] c"x\00" @.str7191 = private unnamed_addr constant [2 x i8] c"y\00" @.str7192 = private unnamed_addr constant [4 x i8] c"get\00" @.str7193 = private unnamed_addr constant [5 x i8] c"tile\00" @.str7194 = private unnamed_addr constant [2 x i8] c"x\00" @.str7195 = private unnamed_addr constant [2 x i8] c"y\00" @.str7196 = private unnamed_addr constant [4 x i8] c"set\00" @.str7197 = private unnamed_addr constant [8 x i8] c"map_set\00" @.str7198 = private unnamed_addr constant [2 x i8] c"x\00" @.str7199 = private unnamed_addr constant [2 x i8] c"y\00" @.str7200 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7201 = private unnamed_addr constant [5 x i8] c"fill\00" @.str7202 = private unnamed_addr constant [9 x i8] c"map_fill\00" @.str7203 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7204 = private unnamed_addr constant [5 x i8] c"rect\00" @.str7205 = private unnamed_addr constant [9 x i8] c"map_rect\00" @.str7206 = private unnamed_addr constant [2 x i8] c"x\00" @.str7207 = private unnamed_addr constant [2 x i8] c"y\00" @.str7208 = private unnamed_addr constant [6 x i8] c"width\00" @.str7209 = private unnamed_addr constant [7 x i8] c"height\00" @.str7210 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7211 = private unnamed_addr constant [7 x i8] c"border\00" @.str7212 = private unnamed_addr constant [11 x i8] c"map_border\00" @.str7213 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7214 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str7215 = private unnamed_addr constant [16 x i8] c"map_random_cell\00" @.str7216 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7217 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str7218 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00" @.str7219 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str7220 = private unnamed_addr constant [5 x i8] c"from\00" @.str7221 = private unnamed_addr constant [10 x i8] c"min_tiles\00" @.str7222 = private unnamed_addr constant [9 x i8] c"is_solid\00" @.str7223 = private unnamed_addr constant [13 x i8] c"map_is_solid\00" @.str7224 = private unnamed_addr constant [2 x i8] c"x\00" @.str7225 = private unnamed_addr constant [2 x i8] c"y\00" @.str7226 = private unnamed_addr constant [12 x i8] c"is_solid_at\00" @.str7227 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00" @.str7228 = private unnamed_addr constant [2 x i8] c"x\00" @.str7229 = private unnamed_addr constant [2 x i8] c"y\00" @.str7230 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str7231 = private unnamed_addr constant [12 x i8] c"map_to_tile\00" @.str7232 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str7233 = private unnamed_addr constant [6 x i8] c"width\00" @.str7234 = private unnamed_addr constant [10 x i8] c"map_width\00" @.str7235 = private unnamed_addr constant [7 x i8] c"height\00" @.str7236 = private unnamed_addr constant [11 x i8] c"map_height\00" @.str7237 = private unnamed_addr constant [7 x i8] c"Random\00" @.str7238 = private unnamed_addr constant [6 x i8] c"range\00" @.str7239 = private unnamed_addr constant [10 x i8] c"rng_range\00" @.str7240 = private unnamed_addr constant [4 x i8] c"low\00" @.str7241 = private unnamed_addr constant [5 x i8] c"high\00" @.str7242 = private unnamed_addr constant [9 x i8] c"weighted\00" @.str7243 = private unnamed_addr constant [13 x i8] c"rng_weighted\00" @.str7244 = private unnamed_addr constant [8 x i8] c"weights\00" @.str7245 = private unnamed_addr constant [7 x i8] c"chance\00" @.str7246 = private unnamed_addr constant [11 x i8] c"rng_chance\00" @.str7247 = private unnamed_addr constant [8 x i8] c"percent\00" @.str7248 = private unnamed_addr constant [5 x i8] c"seed\00" @.str7249 = private unnamed_addr constant [5 x i8] c"seed\00" @.str7250 = private unnamed_addr constant [6 x i8] c"value\00" @.str7251 = private unnamed_addr constant [6 x i8] c"value\00" @.str7252 = private unnamed_addr constant [10 x i8] c"rng_value\00" @.str7253 = private unnamed_addr constant [4 x i8] c"int\00" @.str7254 = private unnamed_addr constant [8 x i8] c"rng_int\00" @.str7255 = private unnamed_addr constant [4 x i8] c"max\00" @.str7256 = private unnamed_addr constant [5 x i8] c"sign\00" @.str7257 = private unnamed_addr constant [9 x i8] c"rng_sign\00" @.str7258 = private unnamed_addr constant [6 x i8] c"Input\00" @.str7259 = private unnamed_addr constant [4 x i8] c"key\00" @.str7260 = private unnamed_addr constant [4 x i8] c"key\00" @.str7261 = private unnamed_addr constant [5 x i8] c"bind\00" @.str7262 = private unnamed_addr constant [11 x i8] c"input_bind\00" @.str7263 = private unnamed_addr constant [7 x i8] c"action\00" @.str7264 = private unnamed_addr constant [4 x i8] c"key\00" @.str7265 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str7266 = private unnamed_addr constant [13 x i8] c"input_rebind\00" @.str7267 = private unnamed_addr constant [7 x i8] c"action\00" @.str7268 = private unnamed_addr constant [4 x i8] c"old\00" @.str7269 = private unnamed_addr constant [4 x i8] c"new\00" @.str7270 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7271 = private unnamed_addr constant [11 x i8] c"input_poll\00" @.str7272 = private unnamed_addr constant [5 x i8] c"down\00" @.str7273 = private unnamed_addr constant [11 x i8] c"input_down\00" @.str7274 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str7275 = private unnamed_addr constant [14 x i8] c"input_pressed\00" @.str7276 = private unnamed_addr constant [7 x i8] c"record\00" @.str7277 = private unnamed_addr constant [13 x i8] c"input_record\00" @.str7278 = private unnamed_addr constant [7 x i8] c"replay\00" @.str7279 = private unnamed_addr constant [13 x i8] c"input_replay\00" @.str7280 = private unnamed_addr constant [7 x i8] c"action\00" @.str7281 = private unnamed_addr constant [14 x i8] c"input_default\00" @.str7282 = private unnamed_addr constant [7 x i8] c"action\00" @.str7283 = private unnamed_addr constant [4 x i8] c"key\00" @.str7284 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str7285 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00" @.str7286 = private unnamed_addr constant [7 x i8] c"action\00" @.str7287 = private unnamed_addr constant [7 x i8] c"button\00" @.str7288 = private unnamed_addr constant [7 x i8] c"active\00" @.str7289 = private unnamed_addr constant [13 x i8] c"input_active\00" @.str7290 = private unnamed_addr constant [7 x i8] c"action\00" @.str7291 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str7292 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00" @.str7293 = private unnamed_addr constant [7 x i8] c"action\00" @.str7294 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str7295 = private unnamed_addr constant [20 x i8] c"input_just_released\00" @.str7296 = private unnamed_addr constant [7 x i8] c"action\00" @.str7297 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str7298 = private unnamed_addr constant [15 x i8] c"input_key_down\00" @.str7299 = private unnamed_addr constant [4 x i8] c"key\00" @.str7300 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str7301 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00" @.str7302 = private unnamed_addr constant [4 x i8] c"key\00" @.str7303 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str7304 = private unnamed_addr constant [19 x i8] c"input_key_released\00" @.str7305 = private unnamed_addr constant [4 x i8] c"key\00" @.str7306 = private unnamed_addr constant [6 x i8] c"press\00" @.str7307 = private unnamed_addr constant [12 x i8] c"input_press\00" @.str7308 = private unnamed_addr constant [4 x i8] c"key\00" @.str7309 = private unnamed_addr constant [8 x i8] c"release\00" @.str7310 = private unnamed_addr constant [14 x i8] c"input_release\00" @.str7311 = private unnamed_addr constant [4 x i8] c"key\00" @.str7312 = private unnamed_addr constant [5 x i8] c"axis\00" @.str7313 = private unnamed_addr constant [11 x i8] c"input_axis\00" @.str7314 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7315 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7316 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str7317 = private unnamed_addr constant [13 x i8] c"input_axis_i\00" @.str7318 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7319 = private unnamed_addr constant [4 x i8] c"pos\00" @.str7320 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str7321 = private unnamed_addr constant [13 x i8] c"input_move_i\00" @.str7322 = private unnamed_addr constant [7 x i8] c"vector\00" @.str7323 = private unnamed_addr constant [13 x i8] c"input_vector\00" @.str7324 = private unnamed_addr constant [5 x i8] c"left\00" @.str7325 = private unnamed_addr constant [6 x i8] c"right\00" @.str7326 = private unnamed_addr constant [3 x i8] c"up\00" @.str7327 = private unnamed_addr constant [5 x i8] c"down\00" @.str7328 = private unnamed_addr constant [9 x i8] c"strength\00" @.str7329 = private unnamed_addr constant [15 x i8] c"input_strength\00" @.str7330 = private unnamed_addr constant [7 x i8] c"action\00" @.str7331 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str7332 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00" @.str7333 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str7334 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00" @.str7335 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str7336 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00" @.str7337 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str7338 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00" @.str7339 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str7340 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00" @.str7341 = private unnamed_addr constant [7 x i8] c"button\00" @.str7342 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str7343 = private unnamed_addr constant [12 x i8] c"input_wheel\00" @.str7344 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str7345 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00" @.str7346 = private unnamed_addr constant [2 x i8] c"x\00" @.str7347 = private unnamed_addr constant [2 x i8] c"y\00" @.str7348 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7349 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str7350 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str7351 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00" @.str7352 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7353 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str7354 = private unnamed_addr constant [17 x i8] c"input_pad_button\00" @.str7355 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7356 = private unnamed_addr constant [7 x i8] c"button\00" @.str7357 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str7358 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00" @.str7359 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7360 = private unnamed_addr constant [5 x i8] c"axis\00" @.str7361 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str7362 = private unnamed_addr constant [14 x i8] c"input_set_pad\00" @.str7363 = private unnamed_addr constant [4 x i8] c"pad\00" @.str7364 = private unnamed_addr constant [10 x i8] c"connected\00" @.str7365 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str7366 = private unnamed_addr constant [3 x i8] c"lx\00" @.str7367 = private unnamed_addr constant [3 x i8] c"ly\00" @.str7368 = private unnamed_addr constant [3 x i8] c"rx\00" @.str7369 = private unnamed_addr constant [3 x i8] c"ry\00" @.str7370 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str7371 = private unnamed_addr constant [18 x i8] c"input_touch_count\00" @.str7372 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str7373 = private unnamed_addr constant [14 x i8] c"input_touch_x\00" @.str7374 = private unnamed_addr constant [6 x i8] c"index\00" @.str7375 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str7376 = private unnamed_addr constant [14 x i8] c"input_touch_y\00" @.str7377 = private unnamed_addr constant [6 x i8] c"index\00" @.str7378 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str7379 = private unnamed_addr constant [16 x i8] c"input_set_touch\00" @.str7380 = private unnamed_addr constant [6 x i8] c"index\00" @.str7381 = private unnamed_addr constant [2 x i8] c"x\00" @.str7382 = private unnamed_addr constant [2 x i8] c"y\00" @.str7383 = private unnamed_addr constant [7 x i8] c"active\00" @.str7384 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str7385 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str7386 = private unnamed_addr constant [5 x i8] c"mode\00" @.str7387 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str7388 = private unnamed_addr constant [5 x i8] c"load\00" @.str7389 = private unnamed_addr constant [11 x i8] c"audio_load\00" @.str7390 = private unnamed_addr constant [5 x i8] c"path\00" @.str7391 = private unnamed_addr constant [7 x i8] c"define\00" @.str7392 = private unnamed_addr constant [13 x i8] c"audio_define\00" @.str7393 = private unnamed_addr constant [5 x i8] c"name\00" @.str7394 = private unnamed_addr constant [5 x i8] c"path\00" @.str7395 = private unnamed_addr constant [6 x i8] c"named\00" @.str7396 = private unnamed_addr constant [12 x i8] c"audio_named\00" @.str7397 = private unnamed_addr constant [5 x i8] c"name\00" @.str7398 = private unnamed_addr constant [5 x i8] c"play\00" @.str7399 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" @.str7400 = private unnamed_addr constant [5 x i8] c"name\00" @.str7401 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7402 = private unnamed_addr constant [3 x i8] c"id\00" @.str7403 = private unnamed_addr constant [11 x i8] c"play_sound\00" @.str7404 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str7405 = private unnamed_addr constant [3 x i8] c"id\00" @.str7406 = private unnamed_addr constant [8 x i8] c"play_at\00" @.str7407 = private unnamed_addr constant [14 x i8] c"audio_play_at\00" @.str7408 = private unnamed_addr constant [3 x i8] c"id\00" @.str7409 = private unnamed_addr constant [5 x i8] c"gain\00" @.str7410 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str7411 = private unnamed_addr constant [4 x i8] c"pan\00" @.str7412 = private unnamed_addr constant [11 x i8] c"play_music\00" @.str7413 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" @.str7414 = private unnamed_addr constant [5 x i8] c"name\00" @.str7415 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" @.str7416 = private unnamed_addr constant [3 x i8] c"id\00" @.str7417 = private unnamed_addr constant [5 x i8] c"stop\00" @.str7418 = private unnamed_addr constant [11 x i8] c"audio_stop\00" @.str7419 = private unnamed_addr constant [3 x i8] c"id\00" @.str7420 = private unnamed_addr constant [11 x i8] c"stop_music\00" @.str7421 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00" @.str7422 = private unnamed_addr constant [9 x i8] c"stop_all\00" @.str7423 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00" @.str7424 = private unnamed_addr constant [7 x i8] c"volume\00" @.str7425 = private unnamed_addr constant [13 x i8] c"audio_volume\00" @.str7426 = private unnamed_addr constant [2 x i8] c"v\00" @.str7427 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str7428 = private unnamed_addr constant [12 x i8] c"audio_pitch\00" @.str7429 = private unnamed_addr constant [2 x i8] c"v\00" @.str7430 = private unnamed_addr constant [11 x i8] c"is_playing\00" @.str7431 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00" @.str7432 = private unnamed_addr constant [3 x i8] c"id\00" @.str7433 = private unnamed_addr constant [5 x i8] c"Http\00" @.str7434 = private unnamed_addr constant [4 x i8] c"get\00" @.str7435 = private unnamed_addr constant [9 x i8] c"http_get\00" @.str7436 = private unnamed_addr constant [4 x i8] c"url\00" @.str7437 = private unnamed_addr constant [5 x i8] c"post\00" @.str7438 = private unnamed_addr constant [10 x i8] c"http_post\00" @.str7439 = private unnamed_addr constant [4 x i8] c"url\00" @.str7440 = private unnamed_addr constant [5 x i8] c"body\00" @.str7441 = private unnamed_addr constant [8 x i8] c"request\00" @.str7442 = private unnamed_addr constant [13 x i8] c"http_request\00" @.str7443 = private unnamed_addr constant [7 x i8] c"method\00" @.str7444 = private unnamed_addr constant [4 x i8] c"url\00" @.str7445 = private unnamed_addr constant [5 x i8] c"body\00" @.str7446 = private unnamed_addr constant [5 x i8] c"open\00" @.str7447 = private unnamed_addr constant [10 x i8] c"http_open\00" @.str7448 = private unnamed_addr constant [7 x i8] c"method\00" @.str7449 = private unnamed_addr constant [4 x i8] c"url\00" @.str7450 = private unnamed_addr constant [4 x i8] c"set\00" @.str7451 = private unnamed_addr constant [16 x i8] c"http_set_header\00" @.str7452 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7453 = private unnamed_addr constant [5 x i8] c"name\00" @.str7454 = private unnamed_addr constant [6 x i8] c"value\00" @.str7455 = private unnamed_addr constant [5 x i8] c"body\00" @.str7456 = private unnamed_addr constant [10 x i8] c"http_body\00" @.str7457 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7458 = private unnamed_addr constant [5 x i8] c"body\00" @.str7459 = private unnamed_addr constant [11 x i8] c"body_bytes\00" @.str7460 = private unnamed_addr constant [12 x i8] c"http_body_n\00" @.str7461 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7462 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7463 = private unnamed_addr constant [4 x i8] c"len\00" @.str7464 = private unnamed_addr constant [5 x i8] c"send\00" @.str7465 = private unnamed_addr constant [14 x i8] c"http_send_req\00" @.str7466 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7467 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7468 = private unnamed_addr constant [10 x i8] c"http_poll\00" @.str7469 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7470 = private unnamed_addr constant [7 x i8] c"status\00" @.str7471 = private unnamed_addr constant [15 x i8] c"http_status_of\00" @.str7472 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7473 = private unnamed_addr constant [3 x i8] c"ok\00" @.str7474 = private unnamed_addr constant [8 x i8] c"http_ok\00" @.str7475 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7476 = private unnamed_addr constant [5 x i8] c"text\00" @.str7477 = private unnamed_addr constant [10 x i8] c"http_text\00" @.str7478 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7479 = private unnamed_addr constant [9 x i8] c"body_len\00" @.str7480 = private unnamed_addr constant [14 x i8] c"http_body_len\00" @.str7481 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7482 = private unnamed_addr constant [7 x i8] c"header\00" @.str7483 = private unnamed_addr constant [15 x i8] c"http_header_of\00" @.str7484 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7485 = private unnamed_addr constant [5 x i8] c"name\00" @.str7486 = private unnamed_addr constant [5 x i8] c"free\00" @.str7487 = private unnamed_addr constant [11 x i8] c"http_close\00" @.str7488 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7489 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7490 = private unnamed_addr constant [11 x i8] c"http_parse\00" @.str7491 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str7492 = private unnamed_addr constant [4 x i8] c"len\00" @.str7493 = private unnamed_addr constant [6 x i8] c"World\00" @.str7494 = private unnamed_addr constant [4 x i8] c"get\00" @.str7495 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str7496 = private unnamed_addr constant [4 x i8] c"set\00" @.str7497 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str7498 = private unnamed_addr constant [4 x i8] c"has\00" @.str7499 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str7500 = private unnamed_addr constant [6 x i8] c"count\00" @.str7501 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str7502 = private unnamed_addr constant [5 x i8] c"size\00" @.str7503 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str7504 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str7505 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str7506 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str7507 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str7508 = private unnamed_addr constant [5 x i8] c"save\00" @.str7509 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str7510 = private unnamed_addr constant [5 x i8] c"load\00" @.str7511 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str7512 = private unnamed_addr constant [8 x i8] c"prop_id\00" @.str7513 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str7514 = private unnamed_addr constant [9 x i8] c"field_id\00" @.str7515 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str7516 = private unnamed_addr constant [9 x i8] c"model_id\00" @.str7517 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str7518 = private unnamed_addr constant [5 x i8] c"kind\00" @.str7519 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str7520 = private unnamed_addr constant [14 x i8] c"register_prop\00" @.str7521 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str7522 = private unnamed_addr constant [7 x i8] c"attach\00" @.str7523 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str7524 = private unnamed_addr constant [7 x i8] c"detach\00" @.str7525 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str7526 = private unnamed_addr constant [11 x i8] c"query_next\00" @.str7527 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str7528 = private unnamed_addr constant [8 x i8] c"Network\00" @.str7529 = private unnamed_addr constant [5 x i8] c"send\00" @.str7530 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str7531 = private unnamed_addr constant [5 x i8] c"poll\00" @.str7532 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str7533 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str7534 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str7535 = private unnamed_addr constant [6 x i8] c"apply\00" @.str7536 = private unnamed_addr constant [6 x i8] c"apply\00" @.str7537 = private unnamed_addr constant [6 x i8] c"owner\00" @.str7538 = private unnamed_addr constant [6 x i8] c"owner\00" @.str7539 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str7540 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str7541 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str7542 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str7543 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str7544 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str7545 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str7546 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str7547 = private unnamed_addr constant [7 x i8] c"System\00" @.str7548 = private unnamed_addr constant [4 x i8] c"run\00" @.str7549 = private unnamed_addr constant [4 x i8] c"run\00" @.str7550 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str7551 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str7552 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7553 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str7554 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7555 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str7556 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7557 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str7558 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7559 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str7560 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7561 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str7562 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7563 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str7564 = private unnamed_addr constant [5 x i8] c"Save\00" @.str7565 = private unnamed_addr constant [6 x i8] c"write\00" @.str7566 = private unnamed_addr constant [5 x i8] c"save\00" @.str7567 = private unnamed_addr constant [5 x i8] c"read\00" @.str7568 = private unnamed_addr constant [5 x i8] c"load\00" @.str7569 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str7570 = private unnamed_addr constant [8 x i8] c"compile\00" @.str7571 = private unnamed_addr constant [14 x i8] c"regex_compile\00" @.str7572 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7573 = private unnamed_addr constant [6 x i8] c"valid\00" @.str7574 = private unnamed_addr constant [12 x i8] c"regex_valid\00" @.str7575 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7576 = private unnamed_addr constant [8 x i8] c"matches\00" @.str7577 = private unnamed_addr constant [14 x i8] c"regex_matches\00" @.str7578 = private unnamed_addr constant [5 x i8] c"text\00" @.str7579 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7580 = private unnamed_addr constant [5 x i8] c"test\00" @.str7581 = private unnamed_addr constant [11 x i8] c"regex_test\00" @.str7582 = private unnamed_addr constant [5 x i8] c"text\00" @.str7583 = private unnamed_addr constant [3 x i8] c"re\00" @.str7584 = private unnamed_addr constant [5 x i8] c"find\00" @.str7585 = private unnamed_addr constant [11 x i8] c"regex_find\00" @.str7586 = private unnamed_addr constant [5 x i8] c"text\00" @.str7587 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7588 = private unnamed_addr constant [5 x i8] c"exec\00" @.str7589 = private unnamed_addr constant [11 x i8] c"regex_exec\00" @.str7590 = private unnamed_addr constant [5 x i8] c"text\00" @.str7591 = private unnamed_addr constant [3 x i8] c"re\00" @.str7592 = private unnamed_addr constant [5 x i8] c"next\00" @.str7593 = private unnamed_addr constant [11 x i8] c"regex_next\00" @.str7594 = private unnamed_addr constant [5 x i8] c"text\00" @.str7595 = private unnamed_addr constant [3 x i8] c"re\00" @.str7596 = private unnamed_addr constant [5 x i8] c"from\00" @.str7597 = private unnamed_addr constant [8 x i8] c"replace\00" @.str7598 = private unnamed_addr constant [14 x i8] c"regex_replace\00" @.str7599 = private unnamed_addr constant [5 x i8] c"text\00" @.str7600 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str7601 = private unnamed_addr constant [12 x i8] c"replacement\00" @.str7602 = private unnamed_addr constant [6 x i8] c"group\00" @.str7603 = private unnamed_addr constant [12 x i8] c"regex_group\00" @.str7604 = private unnamed_addr constant [6 x i8] c"match\00" @.str7605 = private unnamed_addr constant [2 x i8] c"n\00" @.str7606 = private unnamed_addr constant [12 x i8] c"group_count\00" @.str7607 = private unnamed_addr constant [18 x i8] c"regex_group_count\00" @.str7608 = private unnamed_addr constant [6 x i8] c"match\00" @.str7609 = private unnamed_addr constant [6 x i8] c"start\00" @.str7610 = private unnamed_addr constant [12 x i8] c"regex_start\00" @.str7611 = private unnamed_addr constant [6 x i8] c"match\00" @.str7612 = private unnamed_addr constant [2 x i8] c"n\00" @.str7613 = private unnamed_addr constant [4 x i8] c"end\00" @.str7614 = private unnamed_addr constant [10 x i8] c"regex_end\00" @.str7615 = private unnamed_addr constant [6 x i8] c"match\00" @.str7616 = private unnamed_addr constant [2 x i8] c"n\00" @.str7617 = private unnamed_addr constant [3 x i8] c"ok\00" @.str7618 = private unnamed_addr constant [9 x i8] c"regex_ok\00" @.str7619 = private unnamed_addr constant [6 x i8] c"match\00" @.str7620 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str7621 = private unnamed_addr constant [5 x i8] c"from\00" @.str7622 = private unnamed_addr constant [12 x i8] c"bigint_from\00" @.str7623 = private unnamed_addr constant [6 x i8] c"value\00" @.str7624 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7625 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00" @.str7626 = private unnamed_addr constant [5 x i8] c"text\00" @.str7627 = private unnamed_addr constant [4 x i8] c"add\00" @.str7628 = private unnamed_addr constant [11 x i8] c"bigint_add\00" @.str7629 = private unnamed_addr constant [2 x i8] c"a\00" @.str7630 = private unnamed_addr constant [2 x i8] c"b\00" @.str7631 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7632 = private unnamed_addr constant [11 x i8] c"bigint_sub\00" @.str7633 = private unnamed_addr constant [2 x i8] c"a\00" @.str7634 = private unnamed_addr constant [2 x i8] c"b\00" @.str7635 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7636 = private unnamed_addr constant [11 x i8] c"bigint_mul\00" @.str7637 = private unnamed_addr constant [2 x i8] c"a\00" @.str7638 = private unnamed_addr constant [2 x i8] c"b\00" @.str7639 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7640 = private unnamed_addr constant [11 x i8] c"bigint_neg\00" @.str7641 = private unnamed_addr constant [2 x i8] c"a\00" @.str7642 = private unnamed_addr constant [4 x i8] c"pow\00" @.str7643 = private unnamed_addr constant [11 x i8] c"bigint_pow\00" @.str7644 = private unnamed_addr constant [2 x i8] c"a\00" @.str7645 = private unnamed_addr constant [4 x i8] c"exp\00" @.str7646 = private unnamed_addr constant [4 x i8] c"div\00" @.str7647 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00" @.str7648 = private unnamed_addr constant [2 x i8] c"a\00" @.str7649 = private unnamed_addr constant [2 x i8] c"d\00" @.str7650 = private unnamed_addr constant [4 x i8] c"mod\00" @.str7651 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00" @.str7652 = private unnamed_addr constant [2 x i8] c"a\00" @.str7653 = private unnamed_addr constant [2 x i8] c"d\00" @.str7654 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str7655 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00" @.str7656 = private unnamed_addr constant [2 x i8] c"a\00" @.str7657 = private unnamed_addr constant [2 x i8] c"b\00" @.str7658 = private unnamed_addr constant [3 x i8] c"eq\00" @.str7659 = private unnamed_addr constant [10 x i8] c"bigint_eq\00" @.str7660 = private unnamed_addr constant [2 x i8] c"a\00" @.str7661 = private unnamed_addr constant [2 x i8] c"b\00" @.str7662 = private unnamed_addr constant [8 x i8] c"is_zero\00" @.str7663 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00" @.str7664 = private unnamed_addr constant [2 x i8] c"a\00" @.str7665 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str7666 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00" @.str7667 = private unnamed_addr constant [2 x i8] c"a\00" @.str7668 = private unnamed_addr constant [4 x i8] c"str\00" @.str7669 = private unnamed_addr constant [11 x i8] c"bigint_str\00" @.str7670 = private unnamed_addr constant [2 x i8] c"a\00" @.str7671 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str7672 = private unnamed_addr constant [5 x i8] c"from\00" @.str7673 = private unnamed_addr constant [13 x i8] c"decimal_from\00" @.str7674 = private unnamed_addr constant [6 x i8] c"value\00" @.str7675 = private unnamed_addr constant [6 x i8] c"parse\00" @.str7676 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00" @.str7677 = private unnamed_addr constant [5 x i8] c"text\00" @.str7678 = private unnamed_addr constant [4 x i8] c"add\00" @.str7679 = private unnamed_addr constant [12 x i8] c"decimal_add\00" @.str7680 = private unnamed_addr constant [2 x i8] c"a\00" @.str7681 = private unnamed_addr constant [2 x i8] c"b\00" @.str7682 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7683 = private unnamed_addr constant [12 x i8] c"decimal_sub\00" @.str7684 = private unnamed_addr constant [2 x i8] c"a\00" @.str7685 = private unnamed_addr constant [2 x i8] c"b\00" @.str7686 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7687 = private unnamed_addr constant [12 x i8] c"decimal_mul\00" @.str7688 = private unnamed_addr constant [2 x i8] c"a\00" @.str7689 = private unnamed_addr constant [2 x i8] c"b\00" @.str7690 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7691 = private unnamed_addr constant [12 x i8] c"decimal_neg\00" @.str7692 = private unnamed_addr constant [2 x i8] c"a\00" @.str7693 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str7694 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00" @.str7695 = private unnamed_addr constant [2 x i8] c"a\00" @.str7696 = private unnamed_addr constant [2 x i8] c"b\00" @.str7697 = private unnamed_addr constant [3 x i8] c"eq\00" @.str7698 = private unnamed_addr constant [11 x i8] c"decimal_eq\00" @.str7699 = private unnamed_addr constant [2 x i8] c"a\00" @.str7700 = private unnamed_addr constant [2 x i8] c"b\00" @.str7701 = private unnamed_addr constant [6 x i8] c"scale\00" @.str7702 = private unnamed_addr constant [14 x i8] c"decimal_scale\00" @.str7703 = private unnamed_addr constant [2 x i8] c"d\00" @.str7704 = private unnamed_addr constant [8 x i8] c"rescale\00" @.str7705 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00" @.str7706 = private unnamed_addr constant [2 x i8] c"d\00" @.str7707 = private unnamed_addr constant [7 x i8] c"places\00" @.str7708 = private unnamed_addr constant [4 x i8] c"str\00" @.str7709 = private unnamed_addr constant [12 x i8] c"decimal_str\00" @.str7710 = private unnamed_addr constant [2 x i8] c"d\00" @.str7711 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str7712 = private unnamed_addr constant [4 x i8] c"new\00" @.str7713 = private unnamed_addr constant [9 x i8] c"dict_new\00" @.str7714 = private unnamed_addr constant [4 x i8] c"set\00" @.str7715 = private unnamed_addr constant [9 x i8] c"dict_set\00" @.str7716 = private unnamed_addr constant [2 x i8] c"d\00" @.str7717 = private unnamed_addr constant [4 x i8] c"key\00" @.str7718 = private unnamed_addr constant [6 x i8] c"value\00" @.str7719 = private unnamed_addr constant [4 x i8] c"get\00" @.str7720 = private unnamed_addr constant [9 x i8] c"dict_get\00" @.str7721 = private unnamed_addr constant [2 x i8] c"d\00" @.str7722 = private unnamed_addr constant [4 x i8] c"key\00" @.str7723 = private unnamed_addr constant [7 x i8] c"get_or\00" @.str7724 = private unnamed_addr constant [12 x i8] c"dict_get_or\00" @.str7725 = private unnamed_addr constant [2 x i8] c"d\00" @.str7726 = private unnamed_addr constant [4 x i8] c"key\00" @.str7727 = private unnamed_addr constant [9 x i8] c"fallback\00" @.str7728 = private unnamed_addr constant [4 x i8] c"has\00" @.str7729 = private unnamed_addr constant [9 x i8] c"dict_has\00" @.str7730 = private unnamed_addr constant [2 x i8] c"d\00" @.str7731 = private unnamed_addr constant [4 x i8] c"key\00" @.str7732 = private unnamed_addr constant [7 x i8] c"remove\00" @.str7733 = private unnamed_addr constant [12 x i8] c"dict_remove\00" @.str7734 = private unnamed_addr constant [2 x i8] c"d\00" @.str7735 = private unnamed_addr constant [4 x i8] c"key\00" @.str7736 = private unnamed_addr constant [5 x i8] c"size\00" @.str7737 = private unnamed_addr constant [10 x i8] c"dict_size\00" @.str7738 = private unnamed_addr constant [2 x i8] c"d\00" @.str7739 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7740 = private unnamed_addr constant [11 x i8] c"dict_clear\00" @.str7741 = private unnamed_addr constant [2 x i8] c"d\00" @.str7742 = private unnamed_addr constant [5 x i8] c"keys\00" @.str7743 = private unnamed_addr constant [10 x i8] c"dict_keys\00" @.str7744 = private unnamed_addr constant [2 x i8] c"d\00" @.str7745 = private unnamed_addr constant [4 x i8] c"Set\00" @.str7746 = private unnamed_addr constant [4 x i8] c"new\00" @.str7747 = private unnamed_addr constant [8 x i8] c"set_new\00" @.str7748 = private unnamed_addr constant [4 x i8] c"add\00" @.str7749 = private unnamed_addr constant [8 x i8] c"set_add\00" @.str7750 = private unnamed_addr constant [2 x i8] c"s\00" @.str7751 = private unnamed_addr constant [4 x i8] c"key\00" @.str7752 = private unnamed_addr constant [4 x i8] c"has\00" @.str7753 = private unnamed_addr constant [8 x i8] c"set_has\00" @.str7754 = private unnamed_addr constant [2 x i8] c"s\00" @.str7755 = private unnamed_addr constant [4 x i8] c"key\00" @.str7756 = private unnamed_addr constant [7 x i8] c"remove\00" @.str7757 = private unnamed_addr constant [11 x i8] c"set_remove\00" @.str7758 = private unnamed_addr constant [2 x i8] c"s\00" @.str7759 = private unnamed_addr constant [4 x i8] c"key\00" @.str7760 = private unnamed_addr constant [5 x i8] c"size\00" @.str7761 = private unnamed_addr constant [9 x i8] c"set_size\00" @.str7762 = private unnamed_addr constant [2 x i8] c"s\00" @.str7763 = private unnamed_addr constant [6 x i8] c"clear\00" @.str7764 = private unnamed_addr constant [10 x i8] c"set_clear\00" @.str7765 = private unnamed_addr constant [2 x i8] c"s\00" @.str7766 = private unnamed_addr constant [8 x i8] c"members\00" @.str7767 = private unnamed_addr constant [12 x i8] c"set_members\00" @.str7768 = private unnamed_addr constant [2 x i8] c"s\00" @.str7769 = private unnamed_addr constant [4 x i8] c"Job\00" @.str7770 = private unnamed_addr constant [6 x i8] c"defer\00" @.str7771 = private unnamed_addr constant [10 x i8] c"job_defer\00" @.str7772 = private unnamed_addr constant [4 x i8] c"run\00" @.str7773 = private unnamed_addr constant [8 x i8] c"job_run\00" @.str7774 = private unnamed_addr constant [5 x i8] c"kind\00" @.str7775 = private unnamed_addr constant [4 x i8] c"arg\00" @.str7776 = private unnamed_addr constant [8 x i8] c"fulfill\00" @.str7777 = private unnamed_addr constant [12 x i8] c"job_fulfill\00" @.str7778 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7779 = private unnamed_addr constant [6 x i8] c"value\00" @.str7780 = private unnamed_addr constant [5 x i8] c"fail\00" @.str7781 = private unnamed_addr constant [9 x i8] c"job_fail\00" @.str7782 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7783 = private unnamed_addr constant [6 x i8] c"error\00" @.str7784 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str7785 = private unnamed_addr constant [11 x i8] c"job_cancel\00" @.str7786 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7787 = private unnamed_addr constant [5 x i8] c"pump\00" @.str7788 = private unnamed_addr constant [9 x i8] c"job_pump\00" @.str7789 = private unnamed_addr constant [7 x i8] c"budget\00" @.str7790 = private unnamed_addr constant [5 x i8] c"done\00" @.str7791 = private unnamed_addr constant [9 x i8] c"job_done\00" @.str7792 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7793 = private unnamed_addr constant [3 x i8] c"ok\00" @.str7794 = private unnamed_addr constant [7 x i8] c"job_ok\00" @.str7795 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7796 = private unnamed_addr constant [7 x i8] c"failed\00" @.str7797 = private unnamed_addr constant [11 x i8] c"job_failed\00" @.str7798 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7799 = private unnamed_addr constant [10 x i8] c"cancelled\00" @.str7800 = private unnamed_addr constant [14 x i8] c"job_cancelled\00" @.str7801 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7802 = private unnamed_addr constant [7 x i8] c"result\00" @.str7803 = private unnamed_addr constant [11 x i8] c"job_result\00" @.str7804 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7805 = private unnamed_addr constant [6 x i8] c"error\00" @.str7806 = private unnamed_addr constant [10 x i8] c"job_error\00" @.str7807 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7808 = private unnamed_addr constant [8 x i8] c"pending\00" @.str7809 = private unnamed_addr constant [12 x i8] c"job_pending\00" @.str7810 = private unnamed_addr constant [5 x i8] c"free\00" @.str7811 = private unnamed_addr constant [9 x i8] c"job_free\00" @.str7812 = private unnamed_addr constant [7 x i8] c"handle\00" @.str7813 = private unnamed_addr constant [13 x i8] c"parallel_for\00" @.str7814 = private unnamed_addr constant [17 x i8] c"job_parallel_for\00" @.str7815 = private unnamed_addr constant [6 x i8] c"count\00" @.str7816 = private unnamed_addr constant [5 x i8] c"work\00" @.str7817 = private unnamed_addr constant [4 x i8] c"ctx\00" @.str7818 = private unnamed_addr constant [10 x i8] c"is_worker\00" @.str7819 = private unnamed_addr constant [14 x i8] c"job_is_worker\00" @.str7820 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str7821 = private unnamed_addr constant [4 x i8] c"all\00" @.str7822 = private unnamed_addr constant [9 x i8] c"prom_all\00" @.str7823 = private unnamed_addr constant [8 x i8] c"handles\00" @.str7824 = private unnamed_addr constant [5 x i8] c"race\00" @.str7825 = private unnamed_addr constant [10 x i8] c"prom_race\00" @.str7826 = private unnamed_addr constant [8 x i8] c"handles\00" @.str7827 = private unnamed_addr constant [11 x i8] c"count_done\00" @.str7828 = private unnamed_addr constant [16 x i8] c"prom_count_done\00" @.str7829 = private unnamed_addr constant [8 x i8] c"handles\00" @.str7830 = private unnamed_addr constant [9 x i8] c"all_done\00" @.str7831 = private unnamed_addr constant [14 x i8] c"prom_all_done\00" @.str7832 = private unnamed_addr constant [8 x i8] c"handles\00" @.str7833 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str7834 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str7835 = private unnamed_addr constant [11 x i8] c"sync_mutex\00" @.str7836 = private unnamed_addr constant [5 x i8] c"lock\00" @.str7837 = private unnamed_addr constant [10 x i8] c"sync_lock\00" @.str7838 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str7839 = private unnamed_addr constant [7 x i8] c"unlock\00" @.str7840 = private unnamed_addr constant [12 x i8] c"sync_unlock\00" @.str7841 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str7842 = private unnamed_addr constant [9 x i8] c"try_lock\00" @.str7843 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00" @.str7844 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str7845 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7846 = private unnamed_addr constant [12 x i8] c"sync_atomic\00" @.str7847 = private unnamed_addr constant [4 x i8] c"get\00" @.str7848 = private unnamed_addr constant [9 x i8] c"sync_get\00" @.str7849 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7850 = private unnamed_addr constant [4 x i8] c"set\00" @.str7851 = private unnamed_addr constant [9 x i8] c"sync_set\00" @.str7852 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7853 = private unnamed_addr constant [6 x i8] c"value\00" @.str7854 = private unnamed_addr constant [4 x i8] c"add\00" @.str7855 = private unnamed_addr constant [9 x i8] c"sync_add\00" @.str7856 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7857 = private unnamed_addr constant [6 x i8] c"delta\00" @.str7858 = private unnamed_addr constant [4 x i8] c"cas\00" @.str7859 = private unnamed_addr constant [9 x i8] c"sync_cas\00" @.str7860 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str7861 = private unnamed_addr constant [7 x i8] c"expect\00" @.str7862 = private unnamed_addr constant [5 x i8] c"next\00" @.str7863 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7864 = private unnamed_addr constant [13 x i8] c"sync_channel\00" @.str7865 = private unnamed_addr constant [5 x i8] c"send\00" @.str7866 = private unnamed_addr constant [10 x i8] c"sync_send\00" @.str7867 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7868 = private unnamed_addr constant [6 x i8] c"value\00" @.str7869 = private unnamed_addr constant [5 x i8] c"recv\00" @.str7870 = private unnamed_addr constant [10 x i8] c"sync_recv\00" @.str7871 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7872 = private unnamed_addr constant [9 x i8] c"can_recv\00" @.str7873 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00" @.str7874 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7875 = private unnamed_addr constant [4 x i8] c"len\00" @.str7876 = private unnamed_addr constant [9 x i8] c"sync_len\00" @.str7877 = private unnamed_addr constant [8 x i8] c"channel\00" @.str7878 = private unnamed_addr constant [10 x i8] c"cpu_count\00" @.str7879 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00" @.str7880 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str7881 = private unnamed_addr constant [5 x i8] c"from\00" @.str7882 = private unnamed_addr constant [10 x i8] c"huge_from\00" @.str7883 = private unnamed_addr constant [6 x i8] c"value\00" @.str7884 = private unnamed_addr constant [4 x i8] c"add\00" @.str7885 = private unnamed_addr constant [9 x i8] c"huge_add\00" @.str7886 = private unnamed_addr constant [2 x i8] c"a\00" @.str7887 = private unnamed_addr constant [2 x i8] c"b\00" @.str7888 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7889 = private unnamed_addr constant [9 x i8] c"huge_sub\00" @.str7890 = private unnamed_addr constant [2 x i8] c"a\00" @.str7891 = private unnamed_addr constant [2 x i8] c"b\00" @.str7892 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7893 = private unnamed_addr constant [9 x i8] c"huge_mul\00" @.str7894 = private unnamed_addr constant [2 x i8] c"a\00" @.str7895 = private unnamed_addr constant [2 x i8] c"b\00" @.str7896 = private unnamed_addr constant [4 x i8] c"neg\00" @.str7897 = private unnamed_addr constant [9 x i8] c"huge_neg\00" @.str7898 = private unnamed_addr constant [2 x i8] c"a\00" @.str7899 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str7900 = private unnamed_addr constant [9 x i8] c"huge_cmp\00" @.str7901 = private unnamed_addr constant [2 x i8] c"a\00" @.str7902 = private unnamed_addr constant [2 x i8] c"b\00" @.str7903 = private unnamed_addr constant [5 x i8] c"sign\00" @.str7904 = private unnamed_addr constant [10 x i8] c"huge_sign\00" @.str7905 = private unnamed_addr constant [2 x i8] c"a\00" @.str7906 = private unnamed_addr constant [9 x i8] c"mantissa\00" @.str7907 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00" @.str7908 = private unnamed_addr constant [2 x i8] c"a\00" @.str7909 = private unnamed_addr constant [4 x i8] c"exp\00" @.str7910 = private unnamed_addr constant [9 x i8] c"huge_exp\00" @.str7911 = private unnamed_addr constant [2 x i8] c"a\00" @.str7912 = private unnamed_addr constant [4 x i8] c"str\00" @.str7913 = private unnamed_addr constant [9 x i8] c"huge_str\00" @.str7914 = private unnamed_addr constant [2 x i8] c"a\00" @.str7915 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str7916 = private unnamed_addr constant [13 x i8] c"from_degrees\00" @.str7917 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00" @.str7918 = private unnamed_addr constant [2 x i8] c"d\00" @.str7919 = private unnamed_addr constant [11 x i8] c"to_degrees\00" @.str7920 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00" @.str7921 = private unnamed_addr constant [2 x i8] c"a\00" @.str7922 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str7923 = private unnamed_addr constant [11 x i8] c"angle_wrap\00" @.str7924 = private unnamed_addr constant [2 x i8] c"a\00" @.str7925 = private unnamed_addr constant [4 x i8] c"sin\00" @.str7926 = private unnamed_addr constant [10 x i8] c"angle_sin\00" @.str7927 = private unnamed_addr constant [2 x i8] c"a\00" @.str7928 = private unnamed_addr constant [4 x i8] c"cos\00" @.str7929 = private unnamed_addr constant [10 x i8] c"angle_cos\00" @.str7930 = private unnamed_addr constant [2 x i8] c"a\00" @.str7931 = private unnamed_addr constant [4 x i8] c"add\00" @.str7932 = private unnamed_addr constant [10 x i8] c"angle_add\00" @.str7933 = private unnamed_addr constant [2 x i8] c"a\00" @.str7934 = private unnamed_addr constant [2 x i8] c"b\00" @.str7935 = private unnamed_addr constant [5 x i8] c"diff\00" @.str7936 = private unnamed_addr constant [11 x i8] c"angle_diff\00" @.str7937 = private unnamed_addr constant [2 x i8] c"a\00" @.str7938 = private unnamed_addr constant [2 x i8] c"b\00" @.str7939 = private unnamed_addr constant [13 x i8] c"diff_degrees\00" @.str7940 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00" @.str7941 = private unnamed_addr constant [2 x i8] c"a\00" @.str7942 = private unnamed_addr constant [2 x i8] c"b\00" @.str7943 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7944 = private unnamed_addr constant [11 x i8] c"angle_lerp\00" @.str7945 = private unnamed_addr constant [2 x i8] c"a\00" @.str7946 = private unnamed_addr constant [2 x i8] c"b\00" @.str7947 = private unnamed_addr constant [2 x i8] c"t\00" @.str7948 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str7949 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str7950 = private unnamed_addr constant [14 x i8] c"percent_clamp\00" @.str7951 = private unnamed_addr constant [2 x i8] c"v\00" @.str7952 = private unnamed_addr constant [3 x i8] c"of\00" @.str7953 = private unnamed_addr constant [11 x i8] c"percent_of\00" @.str7954 = private unnamed_addr constant [4 x i8] c"num\00" @.str7955 = private unnamed_addr constant [4 x i8] c"den\00" @.str7956 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7957 = private unnamed_addr constant [13 x i8] c"percent_lerp\00" @.str7958 = private unnamed_addr constant [2 x i8] c"a\00" @.str7959 = private unnamed_addr constant [2 x i8] c"b\00" @.str7960 = private unnamed_addr constant [2 x i8] c"t\00" @.str7961 = private unnamed_addr constant [6 x i8] c"apply\00" @.str7962 = private unnamed_addr constant [14 x i8] c"percent_apply\00" @.str7963 = private unnamed_addr constant [6 x i8] c"value\00" @.str7964 = private unnamed_addr constant [2 x i8] c"p\00" @.str7965 = private unnamed_addr constant [5 x i8] c"Grid\00" @.str7966 = private unnamed_addr constant [5 x i8] c"line\00" @.str7967 = private unnamed_addr constant [10 x i8] c"grid_line\00" @.str7968 = private unnamed_addr constant [3 x i8] c"x0\00" @.str7969 = private unnamed_addr constant [3 x i8] c"y0\00" @.str7970 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7971 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7972 = private unnamed_addr constant [8 x i8] c"blocked\00" @.str7973 = private unnamed_addr constant [13 x i8] c"grid_blocked\00" @.str7974 = private unnamed_addr constant [2 x i8] c"x\00" @.str7975 = private unnamed_addr constant [2 x i8] c"y\00" @.str7976 = private unnamed_addr constant [5 x i8] c"wall\00" @.str7977 = private unnamed_addr constant [14 x i8] c"line_of_sight\00" @.str7978 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00" @.str7979 = private unnamed_addr constant [3 x i8] c"x0\00" @.str7980 = private unnamed_addr constant [3 x i8] c"y0\00" @.str7981 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7982 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7983 = private unnamed_addr constant [5 x i8] c"wall\00" @.str7984 = private unnamed_addr constant [6 x i8] c"flood\00" @.str7985 = private unnamed_addr constant [11 x i8] c"grid_flood\00" @.str7986 = private unnamed_addr constant [2 x i8] c"x\00" @.str7987 = private unnamed_addr constant [2 x i8] c"y\00" @.str7988 = private unnamed_addr constant [5 x i8] c"wall\00" @.str7989 = private unnamed_addr constant [7 x i8] c"a_star\00" @.str7990 = private unnamed_addr constant [12 x i8] c"path_a_star\00" @.str7991 = private unnamed_addr constant [3 x i8] c"x0\00" @.str7992 = private unnamed_addr constant [3 x i8] c"y0\00" @.str7993 = private unnamed_addr constant [3 x i8] c"x1\00" @.str7994 = private unnamed_addr constant [3 x i8] c"y1\00" @.str7995 = private unnamed_addr constant [5 x i8] c"wall\00" @.str7996 = private unnamed_addr constant [6 x i8] c"Light\00" @.str7997 = private unnamed_addr constant [8 x i8] c"ambient\00" @.str7998 = private unnamed_addr constant [14 x i8] c"light_ambient\00" @.str7999 = private unnamed_addr constant [6 x i8] c"color\00" @.str8000 = private unnamed_addr constant [6 x i8] c"point\00" @.str8001 = private unnamed_addr constant [12 x i8] c"light_point\00" @.str8002 = private unnamed_addr constant [2 x i8] c"x\00" @.str8003 = private unnamed_addr constant [2 x i8] c"y\00" @.str8004 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8005 = private unnamed_addr constant [6 x i8] c"color\00" @.str8006 = private unnamed_addr constant [7 x i8] c"energy\00" @.str8007 = private unnamed_addr constant [5 x i8] c"spot\00" @.str8008 = private unnamed_addr constant [11 x i8] c"light_spot\00" @.str8009 = private unnamed_addr constant [2 x i8] c"x\00" @.str8010 = private unnamed_addr constant [2 x i8] c"y\00" @.str8011 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8012 = private unnamed_addr constant [6 x i8] c"color\00" @.str8013 = private unnamed_addr constant [7 x i8] c"energy\00" @.str8014 = private unnamed_addr constant [10 x i8] c"direction\00" @.str8015 = private unnamed_addr constant [7 x i8] c"spread\00" @.str8016 = private unnamed_addr constant [8 x i8] c"occlude\00" @.str8017 = private unnamed_addr constant [14 x i8] c"light_occlude\00" @.str8018 = private unnamed_addr constant [2 x i8] c"x\00" @.str8019 = private unnamed_addr constant [2 x i8] c"y\00" @.str8020 = private unnamed_addr constant [6 x i8] c"width\00" @.str8021 = private unnamed_addr constant [7 x i8] c"height\00" @.str8022 = private unnamed_addr constant [16 x i8] c"clear_occluders\00" @.str8023 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00" @.str8024 = private unnamed_addr constant [8 x i8] c"falloff\00" @.str8025 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00" @.str8026 = private unnamed_addr constant [9 x i8] c"exponent\00" @.str8027 = private unnamed_addr constant [5 x i8] c"soft\00" @.str8028 = private unnamed_addr constant [15 x i8] c"light_set_soft\00" @.str8029 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8030 = private unnamed_addr constant [4 x i8] c"gel\00" @.str8031 = private unnamed_addr constant [14 x i8] c"light_set_gel\00" @.str8032 = private unnamed_addr constant [6 x i8] c"color\00" @.str8033 = private unnamed_addr constant [10 x i8] c"clear_gel\00" @.str8034 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00" @.str8035 = private unnamed_addr constant [7 x i8] c"height\00" @.str8036 = private unnamed_addr constant [17 x i8] c"light_set_height\00" @.str8037 = private unnamed_addr constant [7 x i8] c"height\00" @.str8038 = private unnamed_addr constant [7 x i8] c"normal\00" @.str8039 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00" @.str8040 = private unnamed_addr constant [2 x i8] c"x\00" @.str8041 = private unnamed_addr constant [2 x i8] c"y\00" @.str8042 = private unnamed_addr constant [6 x i8] c"width\00" @.str8043 = private unnamed_addr constant [7 x i8] c"height\00" @.str8044 = private unnamed_addr constant [3 x i8] c"nx\00" @.str8045 = private unnamed_addr constant [3 x i8] c"ny\00" @.str8046 = private unnamed_addr constant [14 x i8] c"clear_normals\00" @.str8047 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00" @.str8048 = private unnamed_addr constant [12 x i8] c"time_of_day\00" @.str8049 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00" @.str8050 = private unnamed_addr constant [2 x i8] c"t\00" @.str8051 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str8052 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8053 = private unnamed_addr constant [10 x i8] c"anim_clip\00" @.str8054 = private unnamed_addr constant [5 x i8] c"name\00" @.str8055 = private unnamed_addr constant [7 x i8] c"frames\00" @.str8056 = private unnamed_addr constant [4 x i8] c"fps\00" @.str8057 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8058 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str8059 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" @.str8060 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8061 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8062 = private unnamed_addr constant [6 x i8] c"fired\00" @.str8063 = private unnamed_addr constant [11 x i8] c"anim_fired\00" @.str8064 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8065 = private unnamed_addr constant [5 x i8] c"play\00" @.str8066 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" @.str8067 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8068 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8069 = private unnamed_addr constant [10 x i8] c"anim_play\00" @.str8070 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8071 = private unnamed_addr constant [4 x i8] c"fps\00" @.str8072 = private unnamed_addr constant [7 x i8] c"frames\00" @.str8073 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8074 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str8075 = private unnamed_addr constant [3 x i8] c"to\00" @.str8076 = private unnamed_addr constant [10 x i8] c"motion_to\00" @.str8077 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8078 = private unnamed_addr constant [5 x i8] c"from\00" @.str8079 = private unnamed_addr constant [3 x i8] c"to\00" @.str8080 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8081 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8082 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str8083 = private unnamed_addr constant [3 x i8] c"to\00" @.str8084 = private unnamed_addr constant [9 x i8] c"tween_to\00" @.str8085 = private unnamed_addr constant [5 x i8] c"from\00" @.str8086 = private unnamed_addr constant [3 x i8] c"to\00" @.str8087 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8088 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8089 = private unnamed_addr constant [6 x i8] c"chain\00" @.str8090 = private unnamed_addr constant [12 x i8] c"tween_chain\00" @.str8091 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8092 = private unnamed_addr constant [3 x i8] c"to\00" @.str8093 = private unnamed_addr constant [4 x i8] c"dur\00" @.str8094 = private unnamed_addr constant [5 x i8] c"ease\00" @.str8095 = private unnamed_addr constant [6 x i8] c"delay\00" @.str8096 = private unnamed_addr constant [12 x i8] c"tween_delay\00" @.str8097 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8098 = private unnamed_addr constant [6 x i8] c"ticks\00" @.str8099 = private unnamed_addr constant [6 x i8] c"value\00" @.str8100 = private unnamed_addr constant [12 x i8] c"tween_value\00" @.str8101 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8102 = private unnamed_addr constant [5 x i8] c"stop\00" @.str8103 = private unnamed_addr constant [11 x i8] c"tween_stop\00" @.str8104 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8105 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str8106 = private unnamed_addr constant [15 x i8] c"tween_parallel\00" @.str8107 = private unnamed_addr constant [2 x i8] c"a\00" @.str8108 = private unnamed_addr constant [2 x i8] c"b\00" @.str8109 = private unnamed_addr constant [6 x i8] c"Query\00" @.str8110 = private unnamed_addr constant [6 x i8] c"count\00" @.str8111 = private unnamed_addr constant [12 x i8] c"query_count\00" @.str8112 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8113 = private unnamed_addr constant [6 x i8] c"first\00" @.str8114 = private unnamed_addr constant [12 x i8] c"query_first\00" @.str8115 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8116 = private unnamed_addr constant [8 x i8] c"nearest\00" @.str8117 = private unnamed_addr constant [14 x i8] c"query_nearest\00" @.str8118 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8119 = private unnamed_addr constant [4 x i8] c"pos\00" @.str8120 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str8121 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str8122 = private unnamed_addr constant [2 x i8] c"x\00" @.str8123 = private unnamed_addr constant [2 x i8] c"y\00" @.str8124 = private unnamed_addr constant [7 x i8] c"within\00" @.str8125 = private unnamed_addr constant [13 x i8] c"query_within\00" @.str8126 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8127 = private unnamed_addr constant [4 x i8] c"pos\00" @.str8128 = private unnamed_addr constant [2 x i8] c"x\00" @.str8129 = private unnamed_addr constant [2 x i8] c"y\00" @.str8130 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8131 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str8132 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str8133 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str8134 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8135 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8136 = private unnamed_addr constant [5 x i8] c"name\00" @.str8137 = private unnamed_addr constant [6 x i8] c"field\00" @.str8138 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8139 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8140 = private unnamed_addr constant [5 x i8] c"name\00" @.str8141 = private unnamed_addr constant [11 x i8] c"prop_count\00" @.str8142 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str8143 = private unnamed_addr constant [10 x i8] c"prop_name\00" @.str8144 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str8145 = private unnamed_addr constant [6 x i8] c"index\00" @.str8146 = private unnamed_addr constant [12 x i8] c"field_count\00" @.str8147 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str8148 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8149 = private unnamed_addr constant [11 x i8] c"field_name\00" @.str8150 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str8151 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8152 = private unnamed_addr constant [6 x i8] c"index\00" @.str8153 = private unnamed_addr constant [11 x i8] c"field_type\00" @.str8154 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str8155 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8156 = private unnamed_addr constant [6 x i8] c"index\00" @.str8157 = private unnamed_addr constant [4 x i8] c"get\00" @.str8158 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str8159 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8160 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8161 = private unnamed_addr constant [6 x i8] c"field\00" @.str8162 = private unnamed_addr constant [4 x i8] c"set\00" @.str8163 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str8164 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8165 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8166 = private unnamed_addr constant [6 x i8] c"field\00" @.str8167 = private unnamed_addr constant [6 x i8] c"value\00" @.str8168 = private unnamed_addr constant [4 x i8] c"has\00" @.str8169 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str8170 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8171 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8172 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8173 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8174 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8175 = private unnamed_addr constant [6 x i8] c"model\00" @.str8176 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8177 = private unnamed_addr constant [5 x i8] c"name\00" @.str8178 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8179 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00" @.str8180 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8181 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8182 = private unnamed_addr constant [14 x i8] c"reflect_apply\00" @.str8183 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8184 = private unnamed_addr constant [6 x i8] c"value\00" @.str8185 = private unnamed_addr constant [6 x i8] c"Value\00" @.str8186 = private unnamed_addr constant [5 x i8] c"null\00" @.str8187 = private unnamed_addr constant [11 x i8] c"value_null\00" @.str8188 = private unnamed_addr constant [4 x i8] c"int\00" @.str8189 = private unnamed_addr constant [10 x i8] c"value_int\00" @.str8190 = private unnamed_addr constant [2 x i8] c"n\00" @.str8191 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8192 = private unnamed_addr constant [12 x i8] c"value_fixed\00" @.str8193 = private unnamed_addr constant [2 x i8] c"f\00" @.str8194 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8195 = private unnamed_addr constant [11 x i8] c"value_bool\00" @.str8196 = private unnamed_addr constant [2 x i8] c"b\00" @.str8197 = private unnamed_addr constant [4 x i8] c"str\00" @.str8198 = private unnamed_addr constant [10 x i8] c"value_str\00" @.str8199 = private unnamed_addr constant [2 x i8] c"s\00" @.str8200 = private unnamed_addr constant [5 x i8] c"list\00" @.str8201 = private unnamed_addr constant [11 x i8] c"value_list\00" @.str8202 = private unnamed_addr constant [7 x i8] c"object\00" @.str8203 = private unnamed_addr constant [13 x i8] c"value_object\00" @.str8204 = private unnamed_addr constant [4 x i8] c"add\00" @.str8205 = private unnamed_addr constant [10 x i8] c"value_add\00" @.str8206 = private unnamed_addr constant [5 x i8] c"list\00" @.str8207 = private unnamed_addr constant [5 x i8] c"item\00" @.str8208 = private unnamed_addr constant [4 x i8] c"put\00" @.str8209 = private unnamed_addr constant [10 x i8] c"value_put\00" @.str8210 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8211 = private unnamed_addr constant [4 x i8] c"key\00" @.str8212 = private unnamed_addr constant [5 x i8] c"item\00" @.str8213 = private unnamed_addr constant [4 x i8] c"get\00" @.str8214 = private unnamed_addr constant [10 x i8] c"value_get\00" @.str8215 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8216 = private unnamed_addr constant [4 x i8] c"key\00" @.str8217 = private unnamed_addr constant [4 x i8] c"has\00" @.str8218 = private unnamed_addr constant [10 x i8] c"value_has\00" @.str8219 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8220 = private unnamed_addr constant [4 x i8] c"key\00" @.str8221 = private unnamed_addr constant [3 x i8] c"at\00" @.str8222 = private unnamed_addr constant [9 x i8] c"value_at\00" @.str8223 = private unnamed_addr constant [5 x i8] c"list\00" @.str8224 = private unnamed_addr constant [6 x i8] c"index\00" @.str8225 = private unnamed_addr constant [7 x i8] c"key_at\00" @.str8226 = private unnamed_addr constant [13 x i8] c"value_key_at\00" @.str8227 = private unnamed_addr constant [4 x i8] c"obj\00" @.str8228 = private unnamed_addr constant [6 x i8] c"index\00" @.str8229 = private unnamed_addr constant [6 x i8] c"count\00" @.str8230 = private unnamed_addr constant [12 x i8] c"value_count\00" @.str8231 = private unnamed_addr constant [6 x i8] c"value\00" @.str8232 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8233 = private unnamed_addr constant [11 x i8] c"value_kind\00" @.str8234 = private unnamed_addr constant [6 x i8] c"value\00" @.str8235 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str8236 = private unnamed_addr constant [13 x i8] c"value_as_int\00" @.str8237 = private unnamed_addr constant [6 x i8] c"value\00" @.str8238 = private unnamed_addr constant [7 x i8] c"as_str\00" @.str8239 = private unnamed_addr constant [13 x i8] c"value_as_str\00" @.str8240 = private unnamed_addr constant [6 x i8] c"value\00" @.str8241 = private unnamed_addr constant [5 x i8] c"Json\00" @.str8242 = private unnamed_addr constant [7 x i8] c"encode\00" @.str8243 = private unnamed_addr constant [12 x i8] c"json_encode\00" @.str8244 = private unnamed_addr constant [6 x i8] c"value\00" @.str8245 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8246 = private unnamed_addr constant [11 x i8] c"json_parse\00" @.str8247 = private unnamed_addr constant [5 x i8] c"text\00" @.str8248 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str8249 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8250 = private unnamed_addr constant [10 x i8] c"xml_parse\00" @.str8251 = private unnamed_addr constant [5 x i8] c"text\00" @.str8252 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8253 = private unnamed_addr constant [8 x i8] c"xml_tag\00" @.str8254 = private unnamed_addr constant [5 x i8] c"node\00" @.str8255 = private unnamed_addr constant [5 x i8] c"text\00" @.str8256 = private unnamed_addr constant [9 x i8] c"xml_text\00" @.str8257 = private unnamed_addr constant [5 x i8] c"node\00" @.str8258 = private unnamed_addr constant [5 x i8] c"attr\00" @.str8259 = private unnamed_addr constant [9 x i8] c"xml_attr\00" @.str8260 = private unnamed_addr constant [5 x i8] c"node\00" @.str8261 = private unnamed_addr constant [4 x i8] c"key\00" @.str8262 = private unnamed_addr constant [9 x i8] c"attr_int\00" @.str8263 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00" @.str8264 = private unnamed_addr constant [5 x i8] c"node\00" @.str8265 = private unnamed_addr constant [4 x i8] c"key\00" @.str8266 = private unnamed_addr constant [5 x i8] c"dflt\00" @.str8267 = private unnamed_addr constant [4 x i8] c"has\00" @.str8268 = private unnamed_addr constant [8 x i8] c"xml_has\00" @.str8269 = private unnamed_addr constant [5 x i8] c"node\00" @.str8270 = private unnamed_addr constant [4 x i8] c"key\00" @.str8271 = private unnamed_addr constant [11 x i8] c"attr_count\00" @.str8272 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00" @.str8273 = private unnamed_addr constant [5 x i8] c"node\00" @.str8274 = private unnamed_addr constant [12 x i8] c"child_count\00" @.str8275 = private unnamed_addr constant [16 x i8] c"xml_child_count\00" @.str8276 = private unnamed_addr constant [5 x i8] c"node\00" @.str8277 = private unnamed_addr constant [6 x i8] c"child\00" @.str8278 = private unnamed_addr constant [10 x i8] c"xml_child\00" @.str8279 = private unnamed_addr constant [5 x i8] c"node\00" @.str8280 = private unnamed_addr constant [6 x i8] c"index\00" @.str8281 = private unnamed_addr constant [5 x i8] c"find\00" @.str8282 = private unnamed_addr constant [9 x i8] c"xml_find\00" @.str8283 = private unnamed_addr constant [5 x i8] c"node\00" @.str8284 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8285 = private unnamed_addr constant [6 x i8] c"count\00" @.str8286 = private unnamed_addr constant [10 x i8] c"xml_count\00" @.str8287 = private unnamed_addr constant [5 x i8] c"node\00" @.str8288 = private unnamed_addr constant [4 x i8] c"tag\00" @.str8289 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str8290 = private unnamed_addr constant [7 x i8] c"decode\00" @.str8291 = private unnamed_addr constant [14 x i8] c"base64_decode\00" @.str8292 = private unnamed_addr constant [4 x i8] c"src\00" @.str8293 = private unnamed_addr constant [7 x i8] c"encode\00" @.str8294 = private unnamed_addr constant [14 x i8] c"base64_encode\00" @.str8295 = private unnamed_addr constant [4 x i8] c"src\00" @.str8296 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str8297 = private unnamed_addr constant [5 x i8] c"read\00" @.str8298 = private unnamed_addr constant [11 x i8] c"tiled_read\00" @.str8299 = private unnamed_addr constant [5 x i8] c"path\00" @.str8300 = private unnamed_addr constant [9 x i8] c"read_tsx\00" @.str8301 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00" @.str8302 = private unnamed_addr constant [5 x i8] c"path\00" @.str8303 = private unnamed_addr constant [5 x i8] c"load\00" @.str8304 = private unnamed_addr constant [11 x i8] c"tiled_load\00" @.str8305 = private unnamed_addr constant [5 x i8] c"path\00" @.str8306 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8307 = private unnamed_addr constant [9 x i8] c"tmap_gid\00" @.str8308 = private unnamed_addr constant [4 x i8] c"map\00" @.str8309 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8310 = private unnamed_addr constant [2 x i8] c"x\00" @.str8311 = private unnamed_addr constant [2 x i8] c"y\00" @.str8312 = private unnamed_addr constant [8 x i8] c"resolve\00" @.str8313 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00" @.str8314 = private unnamed_addr constant [4 x i8] c"map\00" @.str8315 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8316 = private unnamed_addr constant [6 x i8] c"width\00" @.str8317 = private unnamed_addr constant [11 x i8] c"tmap_width\00" @.str8318 = private unnamed_addr constant [4 x i8] c"map\00" @.str8319 = private unnamed_addr constant [7 x i8] c"height\00" @.str8320 = private unnamed_addr constant [12 x i8] c"tmap_height\00" @.str8321 = private unnamed_addr constant [4 x i8] c"map\00" @.str8322 = private unnamed_addr constant [12 x i8] c"layer_count\00" @.str8323 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00" @.str8324 = private unnamed_addr constant [4 x i8] c"map\00" @.str8325 = private unnamed_addr constant [11 x i8] c"layer_name\00" @.str8326 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00" @.str8327 = private unnamed_addr constant [4 x i8] c"map\00" @.str8328 = private unnamed_addr constant [6 x i8] c"index\00" @.str8329 = private unnamed_addr constant [5 x i8] c"draw\00" @.str8330 = private unnamed_addr constant [10 x i8] c"tmap_draw\00" @.str8331 = private unnamed_addr constant [4 x i8] c"map\00" @.str8332 = private unnamed_addr constant [5 x i8] c"camx\00" @.str8333 = private unnamed_addr constant [5 x i8] c"camy\00" @.str8334 = private unnamed_addr constant [10 x i8] c"draw_anim\00" @.str8335 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00" @.str8336 = private unnamed_addr constant [4 x i8] c"map\00" @.str8337 = private unnamed_addr constant [5 x i8] c"camx\00" @.str8338 = private unnamed_addr constant [5 x i8] c"camy\00" @.str8339 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8340 = private unnamed_addr constant [10 x i8] c"frame_gid\00" @.str8341 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00" @.str8342 = private unnamed_addr constant [4 x i8] c"map\00" @.str8343 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8344 = private unnamed_addr constant [6 x i8] c"frame\00" @.str8345 = private unnamed_addr constant [9 x i8] c"animated\00" @.str8346 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00" @.str8347 = private unnamed_addr constant [4 x i8] c"map\00" @.str8348 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8349 = private unnamed_addr constant [8 x i8] c"project\00" @.str8350 = private unnamed_addr constant [13 x i8] c"tmap_project\00" @.str8351 = private unnamed_addr constant [4 x i8] c"map\00" @.str8352 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8353 = private unnamed_addr constant [8 x i8] c"collide\00" @.str8354 = private unnamed_addr constant [13 x i8] c"tmap_collide\00" @.str8355 = private unnamed_addr constant [4 x i8] c"map\00" @.str8356 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8357 = private unnamed_addr constant [15 x i8] c"collision_kind\00" @.str8358 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00" @.str8359 = private unnamed_addr constant [4 x i8] c"map\00" @.str8360 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8361 = private unnamed_addr constant [5 x i8] c"tree\00" @.str8362 = private unnamed_addr constant [10 x i8] c"tmap_tree\00" @.str8363 = private unnamed_addr constant [4 x i8] c"map\00" @.str8364 = private unnamed_addr constant [10 x i8] c"tile_prop\00" @.str8365 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00" @.str8366 = private unnamed_addr constant [4 x i8] c"map\00" @.str8367 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8368 = private unnamed_addr constant [5 x i8] c"name\00" @.str8369 = private unnamed_addr constant [12 x i8] c"tile_shapes\00" @.str8370 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00" @.str8371 = private unnamed_addr constant [4 x i8] c"map\00" @.str8372 = private unnamed_addr constant [4 x i8] c"gid\00" @.str8373 = private unnamed_addr constant [13 x i8] c"object_count\00" @.str8374 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00" @.str8375 = private unnamed_addr constant [4 x i8] c"map\00" @.str8376 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8377 = private unnamed_addr constant [7 x i8] c"object\00" @.str8378 = private unnamed_addr constant [12 x i8] c"tmap_object\00" @.str8379 = private unnamed_addr constant [4 x i8] c"map\00" @.str8380 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8381 = private unnamed_addr constant [6 x i8] c"index\00" @.str8382 = private unnamed_addr constant [13 x i8] c"object_shape\00" @.str8383 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00" @.str8384 = private unnamed_addr constant [7 x i8] c"object\00" @.str8385 = private unnamed_addr constant [5 x i8] c"prop\00" @.str8386 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00" @.str8387 = private unnamed_addr constant [10 x i8] c"container\00" @.str8388 = private unnamed_addr constant [5 x i8] c"name\00" @.str8389 = private unnamed_addr constant [9 x i8] c"prop_int\00" @.str8390 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00" @.str8391 = private unnamed_addr constant [10 x i8] c"container\00" @.str8392 = private unnamed_addr constant [5 x i8] c"name\00" @.str8393 = private unnamed_addr constant [10 x i8] c"prop_type\00" @.str8394 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00" @.str8395 = private unnamed_addr constant [10 x i8] c"container\00" @.str8396 = private unnamed_addr constant [5 x i8] c"name\00" @.str8397 = private unnamed_addr constant [11 x i8] c"load_types\00" @.str8398 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00" @.str8399 = private unnamed_addr constant [5 x i8] c"path\00" @.str8400 = private unnamed_addr constant [9 x i8] c"template\00" @.str8401 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00" @.str8402 = private unnamed_addr constant [5 x i8] c"path\00" @.str8403 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8404 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00" @.str8405 = private unnamed_addr constant [4 x i8] c"map\00" @.str8406 = private unnamed_addr constant [7 x i8] c"object\00" @.str8407 = private unnamed_addr constant [6 x i8] c"model\00" @.str8408 = private unnamed_addr constant [12 x i8] c"spawn_layer\00" @.str8409 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00" @.str8410 = private unnamed_addr constant [4 x i8] c"map\00" @.str8411 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8412 = private unnamed_addr constant [6 x i8] c"model\00" @.str8413 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str8414 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00" @.str8415 = private unnamed_addr constant [4 x i8] c"map\00" @.str8416 = private unnamed_addr constant [2 x i8] c"x\00" @.str8417 = private unnamed_addr constant [2 x i8] c"y\00" @.str8418 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str8419 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00" @.str8420 = private unnamed_addr constant [4 x i8] c"map\00" @.str8421 = private unnamed_addr constant [2 x i8] c"x\00" @.str8422 = private unnamed_addr constant [2 x i8] c"y\00" @.str8423 = private unnamed_addr constant [11 x i8] c"layer_kind\00" @.str8424 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00" @.str8425 = private unnamed_addr constant [4 x i8] c"map\00" @.str8426 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8427 = private unnamed_addr constant [14 x i8] c"layer_opacity\00" @.str8428 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00" @.str8429 = private unnamed_addr constant [4 x i8] c"map\00" @.str8430 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8431 = private unnamed_addr constant [11 x i8] c"layer_tint\00" @.str8432 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00" @.str8433 = private unnamed_addr constant [4 x i8] c"map\00" @.str8434 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8435 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00" @.str8436 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00" @.str8437 = private unnamed_addr constant [4 x i8] c"map\00" @.str8438 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8439 = private unnamed_addr constant [14 x i8] c"layer_offsety\00" @.str8440 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00" @.str8441 = private unnamed_addr constant [4 x i8] c"map\00" @.str8442 = private unnamed_addr constant [6 x i8] c"layer\00" @.str8443 = private unnamed_addr constant [6 x i8] c"world\00" @.str8444 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00" @.str8445 = private unnamed_addr constant [5 x i8] c"path\00" @.str8446 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str8447 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00" @.str8448 = private unnamed_addr constant [6 x i8] c"world\00" @.str8449 = private unnamed_addr constant [10 x i8] c"world_map\00" @.str8450 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00" @.str8451 = private unnamed_addr constant [6 x i8] c"world\00" @.str8452 = private unnamed_addr constant [6 x i8] c"index\00" @.str8453 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str8454 = private unnamed_addr constant [4 x i8] c"vk_\00" @.str8455 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str8456 = private unnamed_addr constant [4 x i8] c"gl_\00" @.str8457 = private unnamed_addr constant [2 x i8] c"_\00" @.str8458 = private unnamed_addr constant [2 x i8] c".\00" @.str8459 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" @.str8460 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str8461 = private unnamed_addr constant [2 x i8] c".\00" @.str8462 = private unnamed_addr constant [14 x i8] c"enum variant \00" @.str8463 = private unnamed_addr constant [8 x i8] c" takes \00" @.str8464 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" @.str8465 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str8466 = private unnamed_addr constant [2 x i8] c")\00" @.str8467 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8468 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8469 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8470 = private unnamed_addr constant [3 x i8] c" \00" @.str8471 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str8472 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8473 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8474 = private unnamed_addr constant [9 x i8] c" store \00" @.str8475 = private unnamed_addr constant [2 x i8] c" \00" @.str8476 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8477 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8478 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" @.str8479 = private unnamed_addr constant [5 x i8] c"self\00" @.str8480 = private unnamed_addr constant [2 x i8] c"0\00" @.str8481 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8482 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8483 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8484 = private unnamed_addr constant [4 x i8] c"key\00" @.str8485 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str8486 = private unnamed_addr constant [4 x i8] c"int\00" @.str8487 = private unnamed_addr constant [5 x i8] c"save\00" @.str8488 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" @.str8489 = private unnamed_addr constant [2 x i8] c"0\00" @.str8490 = private unnamed_addr constant [5 x i8] c"void\00" @.str8491 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str8492 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" @.str8493 = private unnamed_addr constant [2 x i8] c"0\00" @.str8494 = private unnamed_addr constant [5 x i8] c"void\00" @.str8495 = private unnamed_addr constant [5 x i8] c"load\00" @.str8496 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" @.str8497 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8498 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str8499 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" @.str8500 = private unnamed_addr constant [4 x i8] c"int\00" @.str8501 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str8502 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \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 [11 x i8] c"world_load\00" @.str8506 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \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 [5 x i8] c"quit\00" @.str8512 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" @.str8513 = private unnamed_addr constant [2 x i8] c"0\00" @.str8514 = private unnamed_addr constant [5 x i8] c"void\00" @.str8515 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8516 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" @.str8517 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8518 = private unnamed_addr constant [2 x i8] c")\00" @.str8519 = private unnamed_addr constant [4 x i8] c"int\00" @.str8520 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8521 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" @.str8522 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8523 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8524 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8525 = private unnamed_addr constant [2 x i8] c"0\00" @.str8526 = private unnamed_addr constant [5 x i8] c"void\00" @.str8527 = private unnamed_addr constant [10 x i8] c"sync_size\00" @.str8528 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" @.str8529 = private unnamed_addr constant [2 x i8] c")\00" @.str8530 = private unnamed_addr constant [4 x i8] c"int\00" @.str8531 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8532 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" @.str8533 = private unnamed_addr constant [2 x i8] c")\00" @.str8534 = private unnamed_addr constant [4 x i8] c"int\00" @.str8535 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8536 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" @.str8537 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8538 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8539 = private unnamed_addr constant [2 x i8] c"0\00" @.str8540 = private unnamed_addr constant [5 x i8] c"void\00" @.str8541 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8542 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" @.str8543 = private unnamed_addr constant [2 x i8] c")\00" @.str8544 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8545 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8546 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str8547 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8548 = private unnamed_addr constant [4 x i8] c", 1\00" @.str8549 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8550 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8551 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8552 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8553 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" @.str8554 = private unnamed_addr constant [4 x i8] c"int\00" @.str8555 = private unnamed_addr constant [9 x i8] c"net_pump\00" @.str8556 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" @.str8557 = private unnamed_addr constant [2 x i8] c"0\00" @.str8558 = private unnamed_addr constant [5 x i8] c"void\00" @.str8559 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" @.str8560 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" @.str8561 = private unnamed_addr constant [2 x i8] c"0\00" @.str8562 = private unnamed_addr constant [5 x i8] c"void\00" @.str8563 = private unnamed_addr constant [12 x i8] c"tick_render\00" @.str8564 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" @.str8565 = private unnamed_addr constant [2 x i8] c"0\00" @.str8566 = private unnamed_addr constant [5 x i8] c"void\00" @.str8567 = private unnamed_addr constant [9 x i8] c"set_role\00" @.str8568 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8569 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" @.str8570 = private unnamed_addr constant [2 x i8] c"0\00" @.str8571 = private unnamed_addr constant [5 x i8] c"void\00" @.str8572 = private unnamed_addr constant [13 x i8] c"set_local_id\00" @.str8573 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8574 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" @.str8575 = private unnamed_addr constant [2 x i8] c"0\00" @.str8576 = private unnamed_addr constant [5 x i8] c"void\00" @.str8577 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str8578 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str8579 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" @.str8580 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8581 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8582 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8583 = private unnamed_addr constant [2 x i8] c"0\00" @.str8584 = private unnamed_addr constant [5 x i8] c"void\00" @.str8585 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str8586 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str8587 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" @.str8588 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8589 = private unnamed_addr constant [2 x i8] c")\00" @.str8590 = private unnamed_addr constant [4 x i8] c"int\00" @.str8591 = private unnamed_addr constant [4 x i8] c"len\00" @.str8592 = private unnamed_addr constant [5 x i8] c"push\00" @.str8593 = private unnamed_addr constant [7 x i8] c"string\00" @.str8594 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8595 = private unnamed_addr constant [4 x i8] c"i64\00" @.str8596 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str8597 = private unnamed_addr constant [2 x i8] c")\00" @.str8598 = private unnamed_addr constant [7 x i8] c"string\00" @.str8599 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str8600 = private unnamed_addr constant [2 x i8] c")\00" @.str8601 = private unnamed_addr constant [7 x i8] c"string\00" @.str8602 = private unnamed_addr constant [6 x i8] c"print\00" @.str8603 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8604 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str8605 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8606 = private unnamed_addr constant [4 x i8] c"i64\00" @.str8607 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" @.str8608 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8609 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" @.str8610 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8611 = private unnamed_addr constant [2 x i8] c"0\00" @.str8612 = private unnamed_addr constant [5 x i8] c"void\00" @.str8613 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8614 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str8615 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8616 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str8617 = private unnamed_addr constant [2 x i8] c")\00" @.str8618 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8619 = private unnamed_addr constant [6 x i8] c"words\00" @.str8620 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str8621 = private unnamed_addr constant [4 x i8] c", 4\00" @.str8622 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str8623 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8624 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str8625 = private unnamed_addr constant [2 x i8] c")\00" @.str8626 = private unnamed_addr constant [6 x i8] c"words\00" @.str8627 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8628 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str8629 = private unnamed_addr constant [5 x i8] c", 16\00" @.str8630 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8631 = private unnamed_addr constant [6 x i8] c"floor\00" @.str8632 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str8633 = private unnamed_addr constant [5 x i8] c", 16\00" @.str8634 = private unnamed_addr constant [4 x i8] c"int\00" @.str8635 = private unnamed_addr constant [7 x i8] c"expect\00" @.str8636 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8637 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8638 = private unnamed_addr constant [2 x i8] c":\00" @.str8639 = private unnamed_addr constant [16 x i8] c": expect failed\00" @.str8640 = private unnamed_addr constant [1 x i8] c"\00" @.str8641 = private unnamed_addr constant [1 x i8] c"\00" @.str8642 = private unnamed_addr constant [2 x i8] c"0\00" @.str8643 = private unnamed_addr constant [5 x i8] c"void\00" @.str8644 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str8645 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8646 = private unnamed_addr constant [3 x i8] c", \00" @.str8647 = private unnamed_addr constant [2 x i8] c":\00" @.str8648 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str8649 = private unnamed_addr constant [2 x i8] c"0\00" @.str8650 = private unnamed_addr constant [5 x i8] c"void\00" @.str8651 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str8652 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8653 = private unnamed_addr constant [3 x i8] c", \00" @.str8654 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str8655 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str8656 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8657 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8658 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8659 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8660 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str8661 = private unnamed_addr constant [3 x i8] c", \00" @.str8662 = private unnamed_addr constant [2 x i8] c":\00" @.str8663 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" @.str8664 = private unnamed_addr constant [2 x i8] c"0\00" @.str8665 = private unnamed_addr constant [5 x i8] c"void\00" @.str8666 = private unnamed_addr constant [6 x i8] c"panic\00" @.str8667 = private unnamed_addr constant [2 x i8] c":\00" @.str8668 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str8669 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str8670 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str8671 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8672 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8673 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str8674 = private unnamed_addr constant [2 x i8] c"0\00" @.str8675 = private unnamed_addr constant [5 x i8] c"void\00" @.str8676 = private unnamed_addr constant [7 x i8] c"assert\00" @.str8677 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8678 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8679 = private unnamed_addr constant [5 x i8] c"asok\00" @.str8680 = private unnamed_addr constant [6 x i8] c"asbad\00" @.str8681 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str8682 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8683 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8684 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8685 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8686 = private unnamed_addr constant [2 x i8] c":\00" @.str8687 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" @.str8688 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str8689 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str8690 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8691 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8692 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str8693 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str8694 = private unnamed_addr constant [2 x i8] c"0\00" @.str8695 = private unnamed_addr constant [5 x i8] c"void\00" @.str8696 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8697 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8698 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str8699 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8700 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8701 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str8702 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8703 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8704 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8705 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8706 = private unnamed_addr constant [4 x i8] c"int\00" @.str8707 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8708 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8709 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8710 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str8711 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str8712 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8713 = private unnamed_addr constant [7 x i8] c"result\00" @.str8714 = private unnamed_addr constant [4 x i8] c"err\00" @.str8715 = private unnamed_addr constant [4 x i8] c"err\00" @.str8716 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str8717 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8718 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8719 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str8720 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8721 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8722 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8723 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str8724 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8725 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8726 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str8727 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str8728 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8729 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8730 = private unnamed_addr constant [7 x i8] c"result\00" @.str8731 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str8732 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str8733 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8734 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8735 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8736 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8737 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8738 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8739 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8740 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8741 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str8742 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str8743 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str8744 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8745 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8746 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8747 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8748 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8749 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8750 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8751 = private unnamed_addr constant [5 x i8] c"some\00" @.str8752 = private unnamed_addr constant [5 x i8] c"some\00" @.str8753 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str8754 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8755 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8756 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str8757 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8758 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8759 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8760 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8761 = private unnamed_addr constant [4 x i8] c"int\00" @.str8762 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8763 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8764 = private unnamed_addr constant [7 x i8] c"option\00" @.str8765 = private unnamed_addr constant [5 x i8] c"none\00" @.str8766 = private unnamed_addr constant [5 x i8] c"none\00" @.str8767 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str8768 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8769 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8770 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str8771 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8772 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8773 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8774 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str8775 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8776 = private unnamed_addr constant [7 x i8] c"option\00" @.str8777 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str8778 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str8779 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8780 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8781 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8782 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8783 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8784 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8785 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8786 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8787 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str8788 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str8789 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8790 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8791 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8792 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8793 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8794 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8795 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8796 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8797 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str8798 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str8799 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8800 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str8801 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8802 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str8803 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str8804 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str8805 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str8806 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8807 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str8808 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8809 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8810 = private unnamed_addr constant [4 x i8] c"int\00" @.str8811 = private unnamed_addr constant [4 x i8] c"int\00" @.str8812 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8813 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" @.str8814 = private unnamed_addr constant [2 x i8] c")\00" @.str8815 = private unnamed_addr constant [4 x i8] c"int\00" @.str8816 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8817 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" @.str8818 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8819 = private unnamed_addr constant [2 x i8] c")\00" @.str8820 = private unnamed_addr constant [4 x i8] c"int\00" @.str8821 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str8822 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" @.str8823 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8824 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8825 = private unnamed_addr constant [2 x i8] c")\00" @.str8826 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str8827 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8828 = private unnamed_addr constant [4 x i8] c"int\00" @.str8829 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str8830 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str8831 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str8832 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" @.str8833 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8834 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8835 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str8836 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8837 = private unnamed_addr constant [2 x i8] c"0\00" @.str8838 = private unnamed_addr constant [5 x i8] c"void\00" @.str8839 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str8840 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" @.str8841 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8842 = private unnamed_addr constant [2 x i8] c")\00" @.str8843 = private unnamed_addr constant [4 x i8] c"int\00" @.str8844 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str8845 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" @.str8846 = private unnamed_addr constant [4 x i8] c"int\00" @.str8847 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8848 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" @.str8849 = private unnamed_addr constant [2 x i8] c")\00" @.str8850 = private unnamed_addr constant [4 x i8] c"int\00" @.str8851 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8852 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" @.str8853 = private unnamed_addr constant [2 x i8] c")\00" @.str8854 = private unnamed_addr constant [4 x i8] c"int\00" @.str8855 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str8856 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" @.str8857 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8858 = private unnamed_addr constant [2 x i8] c")\00" @.str8859 = private unnamed_addr constant [4 x i8] c"int\00" @.str8860 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str8861 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" @.str8862 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8863 = private unnamed_addr constant [2 x i8] c")\00" @.str8864 = private unnamed_addr constant [4 x i8] c"int\00" @.str8865 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str8866 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" @.str8867 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8868 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8869 = private unnamed_addr constant [2 x i8] c"0\00" @.str8870 = private unnamed_addr constant [5 x i8] c"void\00" @.str8871 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str8872 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" @.str8873 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8874 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8875 = private unnamed_addr constant [2 x i8] c"0\00" @.str8876 = private unnamed_addr constant [5 x i8] c"void\00" @.str8877 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str8878 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" @.str8879 = private unnamed_addr constant [2 x i8] c")\00" @.str8880 = private unnamed_addr constant [4 x i8] c"int\00" @.str8881 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str8882 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" @.str8883 = private unnamed_addr constant [4 x i8] c"int\00" @.str8884 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str8885 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" @.str8886 = private unnamed_addr constant [2 x i8] c")\00" @.str8887 = private unnamed_addr constant [7 x i8] c"string\00" @.str8888 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str8889 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" @.str8890 = private unnamed_addr constant [2 x i8] c")\00" @.str8891 = private unnamed_addr constant [4 x i8] c"int\00" @.str8892 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str8893 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" @.str8894 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8895 = private unnamed_addr constant [2 x i8] c")\00" @.str8896 = private unnamed_addr constant [7 x i8] c"string\00" @.str8897 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str8898 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" @.str8899 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8900 = private unnamed_addr constant [2 x i8] c")\00" @.str8901 = private unnamed_addr constant [7 x i8] c"string\00" @.str8902 = private unnamed_addr constant [3 x i8] c" \00" @.str8903 = private unnamed_addr constant [2 x i8] c"0\00" @.str8904 = private unnamed_addr constant [5 x i8] c"void\00" @.str8905 = private unnamed_addr constant [4 x i8] c" = \00" @.str8906 = private unnamed_addr constant [6 x i8] c"call \00" @.str8907 = private unnamed_addr constant [3 x i8] c" @\00" @.str8908 = private unnamed_addr constant [2 x i8] c"(\00" @.str8909 = private unnamed_addr constant [3 x i8] c", \00" @.str8910 = private unnamed_addr constant [2 x i8] c" \00" @.str8911 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8912 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str8913 = private unnamed_addr constant [18 x i8] c"unknown function \00" @.str8914 = private unnamed_addr constant [3 x i8] c" \00" @.str8915 = private unnamed_addr constant [2 x i8] c"0\00" @.str8916 = private unnamed_addr constant [5 x i8] c"void\00" @.str8917 = private unnamed_addr constant [4 x i8] c" = \00" @.str8918 = private unnamed_addr constant [6 x i8] c"call \00" @.str8919 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str8920 = private unnamed_addr constant [2 x i8] c"(\00" @.str8921 = private unnamed_addr constant [3 x i8] c", \00" @.str8922 = private unnamed_addr constant [2 x i8] c" \00" @.str8923 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str8924 = private unnamed_addr constant [2 x i8] c"0\00" @.str8925 = private unnamed_addr constant [4 x i8] c"int\00" @.str8926 = private unnamed_addr constant [4 x i8] c"int\00" @.str8927 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str8928 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8929 = private unnamed_addr constant [5 x i8] c"null\00" @.str8930 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8931 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8932 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str8933 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8934 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str8935 = private unnamed_addr constant [2 x i8] c")\00" @.str8936 = private unnamed_addr constant [7 x i8] c"string\00" @.str8937 = private unnamed_addr constant [7 x i8] c"string\00" @.str8938 = private unnamed_addr constant [4 x i8] c"fn \00" @.str8939 = private unnamed_addr constant [22 x i8] c": no function called \00" @.str8940 = private unnamed_addr constant [5 x i8] c"void\00" @.str8941 = private unnamed_addr constant [4 x i8] c"i32\00" @.str8942 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str8943 = private unnamed_addr constant [4 x i8] c"fn \00" @.str8944 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" @.str8945 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str8946 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str8947 = private unnamed_addr constant [6 x i8] c"load \00" @.str8948 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str8949 = private unnamed_addr constant [4 x i8] c"int\00" @.str8950 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" @.str8951 = private unnamed_addr constant [6 x i8] c"Color\00" @.str8952 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" @.str8953 = private unnamed_addr constant [4 x i8] c"int\00" @.str8954 = private unnamed_addr constant [4 x i8] c"Key\00" @.str8955 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str8956 = private unnamed_addr constant [4 x i8] c"int\00" @.str8957 = private unnamed_addr constant [4 x i8] c"int\00" @.str8958 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str8959 = private unnamed_addr constant [2 x i8] c"x\00" @.str8960 = private unnamed_addr constant [2 x i8] c"y\00" @.str8961 = private unnamed_addr constant [2 x i8] c"x\00" @.str8962 = private unnamed_addr constant [4 x i8] c"int\00" @.str8963 = private unnamed_addr constant [4 x i8] c"int\00" @.str8964 = private unnamed_addr constant [5 x i8] c"byte\00" @.str8965 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str8966 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str8967 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8968 = private unnamed_addr constant [4 x i8] c"int\00" @.str8969 = private unnamed_addr constant [4 x i8] c"i64\00" @.str8970 = private unnamed_addr constant [2 x i8] c"-\00" @.str8971 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" @.str8972 = private unnamed_addr constant [5 x i8] c"long\00" @.str8973 = private unnamed_addr constant [2 x i8] c"~\00" @.str8974 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str8975 = private unnamed_addr constant [5 x i8] c", -1\00" @.str8976 = private unnamed_addr constant [5 x i8] c"long\00" @.str8977 = private unnamed_addr constant [2 x i8] c"-\00" @.str8978 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str8979 = private unnamed_addr constant [2 x i8] c"~\00" @.str8980 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str8981 = private unnamed_addr constant [5 x i8] c", -1\00" @.str8982 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str8983 = private unnamed_addr constant [4 x i8] c", 0\00" @.str8984 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str8985 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str8986 = private unnamed_addr constant [5 x i8] c"bool\00" @.str8987 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" @.str8988 = private unnamed_addr constant [2 x i8] c"0\00" @.str8989 = private unnamed_addr constant [4 x i8] c"int\00" @.str8990 = private unnamed_addr constant [9 x i8] c" store \00" @.str8991 = private unnamed_addr constant [2 x i8] c" \00" @.str8992 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8993 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8994 = private unnamed_addr constant [2 x i8] c"0\00" @.str8995 = private unnamed_addr constant [4 x i8] c"int\00" @.str8996 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" @.str8997 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" @.str8998 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" @.str8999 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str9000 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" @.str9001 = private unnamed_addr constant [2 x i8] c"=\00" @.str9002 = private unnamed_addr constant [6 x i8] c"load \00" @.str9003 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9004 = private unnamed_addr constant [3 x i8] c"i8\00" @.str9005 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str9006 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str9007 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9008 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9009 = private unnamed_addr constant [5 x i8] c"then\00" @.str9010 = private unnamed_addr constant [5 x i8] c"else\00" @.str9011 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str9012 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9013 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9014 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9015 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9016 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9017 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9018 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9019 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9020 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9021 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9022 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9023 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9024 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9025 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9026 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9027 = private unnamed_addr constant [6 x i8] c"wcond\00" @.str9028 = private unnamed_addr constant [6 x i8] c"wbody\00" @.str9029 = private unnamed_addr constant [5 x i8] c"wend\00" @.str9030 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9031 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9032 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9033 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9034 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9035 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9036 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9037 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9038 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9039 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9040 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9041 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9042 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9043 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9044 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9045 = private unnamed_addr constant [4 x i8] c"int\00" @.str9046 = private unnamed_addr constant [6 x i8] c"fcond\00" @.str9047 = private unnamed_addr constant [6 x i8] c"fbody\00" @.str9048 = private unnamed_addr constant [6 x i8] c"fcont\00" @.str9049 = private unnamed_addr constant [5 x i8] c"fend\00" @.str9050 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9051 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9052 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9053 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9054 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9055 = private unnamed_addr constant [3 x i8] c", \00" @.str9056 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9057 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9058 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9059 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9060 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9061 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9062 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9063 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9064 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9065 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9066 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9067 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9068 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9069 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9070 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9071 = private unnamed_addr constant [8 x i8] c"%retval\00" @.str9072 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9073 = private unnamed_addr constant [2 x i8] c"_\00" @.str9074 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9075 = private unnamed_addr constant [8 x i8] c" binds \00" @.str9076 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" @.str9077 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9078 = private unnamed_addr constant [10 x i8] c" payload \00" @.str9079 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" @.str9080 = private unnamed_addr constant [3 x i8] c" \00" @.str9081 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str9082 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9083 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9084 = private unnamed_addr constant [6 x i8] c"load \00" @.str9085 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9086 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9087 = private unnamed_addr constant [5 x i8] c"mend\00" @.str9088 = private unnamed_addr constant [2 x i8] c"0\00" @.str9089 = private unnamed_addr constant [8 x i8] c"match: \00" @.str9090 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str9091 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9092 = private unnamed_addr constant [3 x i8] c", \00" @.str9093 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str9094 = private unnamed_addr constant [3 x i8] c", \00" @.str9095 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str9096 = private unnamed_addr constant [5 x i8] c"marm\00" @.str9097 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9098 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9099 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9100 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9101 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9102 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9103 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9104 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9105 = private unnamed_addr constant [10 x i8] c"match on \00" @.str9106 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" @.str9107 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" @.str9108 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9109 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9110 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9111 = private unnamed_addr constant [5 x i8] c"mend\00" @.str9112 = private unnamed_addr constant [2 x i8] c"0\00" @.str9113 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9114 = private unnamed_addr constant [3 x i8] c", \00" @.str9115 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str9116 = private unnamed_addr constant [3 x i8] c", \00" @.str9117 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str9118 = private unnamed_addr constant [5 x i8] c"marm\00" @.str9119 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9120 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9121 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9122 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9123 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9124 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9125 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9126 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9127 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9128 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9129 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9130 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" @.str9131 = private unnamed_addr constant [2 x i8] c"0\00" @.str9132 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9133 = private unnamed_addr constant [5 x i8] c"null\00" @.str9134 = private unnamed_addr constant [3 x i8] c" \00" @.str9135 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" @.str9136 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9137 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9138 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9139 = private unnamed_addr constant [3 x i8] c" \00" @.str9140 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" @.str9141 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9142 = private unnamed_addr constant [9 x i8] c" store \00" @.str9143 = private unnamed_addr constant [2 x i8] c" \00" @.str9144 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9145 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9146 = private unnamed_addr constant [2 x i8] c"0\00" @.str9147 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str9148 = private unnamed_addr constant [3 x i8] c"-1\00" @.str9149 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9150 = private unnamed_addr constant [14 x i8] c" call void @\00" @.str9151 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9152 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" @.str9153 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9154 = private unnamed_addr constant [2 x i8] c"0\00" @.str9155 = private unnamed_addr constant [4 x i8] c"int\00" @.str9156 = private unnamed_addr constant [3 x i8] c", \00" @.str9157 = private unnamed_addr constant [2 x i8] c" \00" @.str9158 = private unnamed_addr constant [3 x i8] c" \00" @.str9159 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" @.str9160 = private unnamed_addr constant [2 x i8] c"(\00" @.str9161 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9162 = private unnamed_addr constant [4 x i8] c"int\00" @.str9163 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9164 = private unnamed_addr constant [2 x i8] c"(\00" @.str9165 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9166 = private unnamed_addr constant [2 x i8] c"0\00" @.str9167 = private unnamed_addr constant [4 x i8] c"int\00" @.str9168 = private unnamed_addr constant [2 x i8] c"0\00" @.str9169 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9170 = private unnamed_addr constant [5 x i8] c"null\00" @.str9171 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9172 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9173 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9174 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9175 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" @.str9176 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str9177 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9178 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" @.str9179 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str9180 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str9181 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" @.str9182 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" @.str9183 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" @.str9184 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" @.str9185 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" @.str9186 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9187 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" @.str9188 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9189 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" @.str9190 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9191 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" @.str9192 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" @.str9193 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" @.str9194 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" @.str9195 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9196 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str9197 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str9198 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9199 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" @.str9200 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str9201 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str9202 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" @.str9203 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str9204 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9205 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str9206 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9207 = private unnamed_addr constant [5 x i8] c"@LE_\00" @.str9208 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str9209 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" @.str9210 = private unnamed_addr constant [3 x i8] c"%h\00" @.str9211 = private unnamed_addr constant [3 x i8] c" \00" @.str9212 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9213 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9214 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str9215 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str9216 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9217 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" @.str9218 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str9219 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" @.str9220 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" @.str9221 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" @.str9222 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" @.str9223 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9224 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" @.str9225 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str9226 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" @.str9227 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" @.str9228 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" @.str9229 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" @.str9230 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str9231 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9232 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" @.str9233 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" @.str9234 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str9235 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" @.str9236 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" @.str9237 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" @.str9238 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" @.str9239 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str9240 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str9241 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" @.str9242 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str9243 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9244 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str9245 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" @.str9246 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" @.str9247 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" @.str9248 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9249 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str9250 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" @.str9251 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str9252 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str9253 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9254 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" @.str9255 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" @.str9256 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" @.str9257 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str9258 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9259 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9260 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9261 = private unnamed_addr constant [2 x i8] c"0\00" @.str9262 = private unnamed_addr constant [6 x i8] c"qcond\00" @.str9263 = private unnamed_addr constant [6 x i8] c"qbody\00" @.str9264 = private unnamed_addr constant [6 x i8] c"qnext\00" @.str9265 = private unnamed_addr constant [5 x i8] c"qend\00" @.str9266 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9267 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9268 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9269 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9270 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str9271 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9272 = private unnamed_addr constant [3 x i8] c", \00" @.str9273 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9274 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9275 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9276 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9277 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9278 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9279 = private unnamed_addr constant [3 x i8] c" \00" @.str9280 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9281 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str9282 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9283 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9284 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9285 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9286 = private unnamed_addr constant [3 x i8] c"qa\00" @.str9287 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9288 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9289 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9290 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9291 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9292 = private unnamed_addr constant [2 x i8] c"0\00" @.str9293 = private unnamed_addr constant [3 x i8] c" \00" @.str9294 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9295 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9296 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9297 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9298 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9299 = private unnamed_addr constant [3 x i8] c", \00" @.str9300 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" @.str9301 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9302 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9303 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str9304 = private unnamed_addr constant [3 x i8] c", \00" @.str9305 = private unnamed_addr constant [3 x i8] c" \00" @.str9306 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9307 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9308 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9309 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9310 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9311 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str9312 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9313 = private unnamed_addr constant [3 x i8] c"qt\00" @.str9314 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9315 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9316 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9317 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9318 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9319 = private unnamed_addr constant [3 x i8] c" \00" @.str9320 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9321 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9322 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9323 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9324 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9325 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9326 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9327 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9328 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9329 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9330 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9331 = private unnamed_addr constant [3 x i8] c"qw\00" @.str9332 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9333 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9334 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9335 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9336 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9337 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9338 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9339 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9340 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9341 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str9342 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9343 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9344 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9345 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9346 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9347 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9348 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9349 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9350 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9351 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" @.str9352 = private unnamed_addr constant [3 x i8] c" \00" @.str9353 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9354 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9355 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9356 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9357 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" @.str9358 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9359 = private unnamed_addr constant [3 x i8] c" \00" @.str9360 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9361 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9362 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9363 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9364 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9365 = private unnamed_addr constant [3 x i8] c" \00" @.str9366 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9367 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9368 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9369 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9370 = private unnamed_addr constant [2 x i8] c"0\00" @.str9371 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9372 = private unnamed_addr constant [5 x i8] c"null\00" @.str9373 = private unnamed_addr constant [9 x i8] c" store \00" @.str9374 = private unnamed_addr constant [2 x i8] c" \00" @.str9375 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9376 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9377 = private unnamed_addr constant [3 x i8] c" \00" @.str9378 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9379 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9380 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9381 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9382 = private unnamed_addr constant [9 x i8] c" store \00" @.str9383 = private unnamed_addr constant [2 x i8] c" \00" @.str9384 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9385 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9386 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9387 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9388 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9389 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9390 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9391 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str9392 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9393 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9394 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9395 = private unnamed_addr constant [3 x i8] c" \00" @.str9396 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9397 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9398 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9399 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9400 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9401 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9402 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9403 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9404 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9405 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str9406 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" @.str9407 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" @.str9408 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9409 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9410 = private unnamed_addr constant [5 x i8] c"wgok\00" @.str9411 = private unnamed_addr constant [6 x i8] c"wgbad\00" @.str9412 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9413 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9414 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9415 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9416 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9417 = private unnamed_addr constant [2 x i8] c":\00" @.str9418 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str9419 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" @.str9420 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9421 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9422 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9423 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9424 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9425 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9426 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str9427 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" @.str9428 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str9429 = private unnamed_addr constant [17 x i8] c": unknown model \00" @.str9430 = private unnamed_addr constant [3 x i8] c" \00" @.str9431 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9432 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9433 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9434 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9435 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9436 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9437 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9438 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str9439 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9440 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9441 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9442 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str9443 = private unnamed_addr constant [3 x i8] c" \00" @.str9444 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9445 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9446 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9447 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9448 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9449 = private unnamed_addr constant [3 x i8] c", \00" @.str9450 = private unnamed_addr constant [3 x i8] c"dh\00" @.str9451 = private unnamed_addr constant [4 x i8] c"dhn\00" @.str9452 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9453 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9454 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9455 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9456 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str9457 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9458 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str9459 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9460 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str9461 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9462 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9463 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str9464 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9465 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9466 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9467 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" @.str9468 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9469 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" @.str9470 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9471 = private unnamed_addr constant [3 x i8] c" \00" @.str9472 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9473 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9474 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9475 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9476 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9477 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" @.str9478 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9479 = private unnamed_addr constant [7 x i8] c"attach\00" @.str9480 = private unnamed_addr constant [8 x i8] c"attdone\00" @.str9481 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9482 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9483 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9484 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9485 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9486 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9487 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9488 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9489 = private unnamed_addr constant [3 x i8] c" \00" @.str9490 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9491 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9492 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9493 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9494 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str9495 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str9496 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9497 = private unnamed_addr constant [7 x i8] c"detach\00" @.str9498 = private unnamed_addr constant [8 x i8] c"detdone\00" @.str9499 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9500 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9501 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9502 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9503 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9504 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str9505 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9506 = private unnamed_addr constant [3 x i8] c" \00" @.str9507 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9508 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9509 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9510 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9511 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9512 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9513 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9514 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9515 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9516 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9517 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str9518 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9519 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9520 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9521 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9522 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9523 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9524 = private unnamed_addr constant [2 x i8] c"0\00" @.str9525 = private unnamed_addr constant [2 x i8] c"1\00" @.str9526 = private unnamed_addr constant [7 x i8] c"system\00" @.str9527 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9528 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9529 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" @.str9530 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9531 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str9532 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str9533 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str9534 = private unnamed_addr constant [6 x i8] c"_show\00" @.str9535 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9536 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9537 = private unnamed_addr constant [3 x i8] c" \00" @.str9538 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9539 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9540 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9541 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9542 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str9543 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9544 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9545 = private unnamed_addr constant [3 x i8] c" \00" @.str9546 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9547 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9548 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9549 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9550 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9551 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9552 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str9553 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9554 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9555 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9556 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str9557 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str9558 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str9559 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9560 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str9561 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9562 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str9563 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str9564 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str9565 = private unnamed_addr constant [2 x i8] c"_\00" @.str9566 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9567 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9568 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9569 = private unnamed_addr constant [5 x i8] c"void\00" @.str9570 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9571 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str9572 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" @.str9573 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str9574 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9575 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" @.str9576 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9577 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9578 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" @.str9579 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9580 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9581 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str9582 = private unnamed_addr constant [3 x i8] c", \00" @.str9583 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str9584 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9585 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9586 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str9587 = private unnamed_addr constant [3 x i8] c", \00" @.str9588 = private unnamed_addr constant [5 x i8] c"hrun\00" @.str9589 = private unnamed_addr constant [6 x i8] c"hskip\00" @.str9590 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9591 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9592 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9593 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9594 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" @.str9595 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9596 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9597 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9598 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9599 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" @.str9600 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9601 = private unnamed_addr constant [7 x i8] c"Update\00" @.str9602 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str9603 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" @.str9604 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" @.str9605 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str9606 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" @.str9607 = private unnamed_addr constant [7 x i8] c"Render\00" @.str9608 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str9609 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" @.str9610 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" @.str9611 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" @.str9612 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str9613 = 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" @.str9614 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str9615 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str9616 = 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" @.str9617 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str9618 = private unnamed_addr constant [2 x i8] c"c\00" @.str9619 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9620 = private unnamed_addr constant [5 x i8] c" %h\00" @.str9621 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9622 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str9623 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str9624 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str9625 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" @.str9626 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9627 = private unnamed_addr constant [7 x i8] c" %has\00" @.str9628 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" @.str9629 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str9630 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" @.str9631 = private unnamed_addr constant [11 x i8] c", label %t\00" @.str9632 = private unnamed_addr constant [11 x i8] c", label %c\00" @.str9633 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9634 = private unnamed_addr constant [2 x i8] c"t\00" @.str9635 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9636 = private unnamed_addr constant [5 x i8] c" %s\00" @.str9637 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9638 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str9639 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str9640 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str9641 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str9642 = private unnamed_addr constant [2 x i8] c"_\00" @.str9643 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str9644 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str9645 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str9646 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9647 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9648 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str9649 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" @.str9650 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9651 = private unnamed_addr constant [6 x i8] c" %fp\00" @.str9652 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" @.str9653 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str9654 = private unnamed_addr constant [6 x i8] c" %fd\00" @.str9655 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" @.str9656 = private unnamed_addr constant [5 x i8] c", 1\0A\00" @.str9657 = private unnamed_addr constant [6 x i8] c" %fn\00" @.str9658 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" @.str9659 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" @.str9660 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" @.str9661 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9662 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" @.str9663 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str9664 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9665 = private unnamed_addr constant [14 x i8] c" br label %c\00" @.str9666 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9667 = private unnamed_addr constant [2 x i8] c"c\00" @.str9668 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" @.str9669 = 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" @.str9670 = private unnamed_addr constant [4 x i8] c"int\00" @.str9671 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str9672 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9673 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" @.str9674 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str9675 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9676 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" @.str9677 = private unnamed_addr constant [2 x i8] c")\00" @.str9678 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9679 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9680 = private unnamed_addr constant [3 x i8] c"pf\00" @.str9681 = private unnamed_addr constant [4 x i8] c"pfn\00" @.str9682 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9683 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9684 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9685 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9686 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9687 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" @.str9688 = private unnamed_addr constant [3 x i8] c"()\00" @.str9689 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str9690 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9691 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9692 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str9693 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" @.str9694 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9695 = private unnamed_addr constant [6 x i8] c"Input\00" @.str9696 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str9697 = private unnamed_addr constant [7 x i8] c"Update\00" @.str9698 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str9699 = private unnamed_addr constant [7 x i8] c"Render\00" @.str9700 = private unnamed_addr constant [6 x i8] c"Start\00" @.str9701 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str9702 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str9703 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str9704 = private unnamed_addr constant [2 x i8] c"'\00" @.str9705 = private unnamed_addr constant [6 x i8] c"Start\00" @.str9706 = private unnamed_addr constant [6 x i8] c"Input\00" @.str9707 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str9708 = private unnamed_addr constant [7 x i8] c"Update\00" @.str9709 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str9710 = private unnamed_addr constant [7 x i8] c"Render\00" @.str9711 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str9712 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" @.str9713 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" @.str9714 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" @.str9715 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" @.str9716 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" @.str9717 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" @.str9718 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" @.str9719 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" @.str9720 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" @.str9721 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" @.str9722 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" @.str9723 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" @.str9724 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" @.str9725 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" @.str9726 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" @.str9727 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" @.str9728 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" @.str9729 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" @.str9730 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" @.str9731 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" @.str9732 = private unnamed_addr constant [12 x i8] c"module_init\00" @.str9733 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" @.str9734 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" @.str9735 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9736 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9737 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9738 = 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" @.str9739 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" @.str9740 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str9741 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" @.str9742 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9743 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" @.str9744 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" @.str9745 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" @.str9746 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str9747 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9748 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" @.str9749 = private unnamed_addr constant [6 x i8] c"add:\0A\00" @.str9750 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str9751 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" @.str9752 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" @.str9753 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" @.str9754 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" @.str9755 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" @.str9756 = 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" @.str9757 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str9758 = private unnamed_addr constant [4 x i8] c"dsp\00" @.str9759 = private unnamed_addr constant [4 x i8] c"dsh\00" @.str9760 = private unnamed_addr constant [4 x i8] c"dsb\00" @.str9761 = private unnamed_addr constant [5 x i8] c"dsdo\00" @.str9762 = private unnamed_addr constant [4 x i8] c"dsc\00" @.str9763 = private unnamed_addr constant [4 x i8] c"dsn\00" @.str9764 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9765 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9766 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" @.str9767 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9768 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9769 = private unnamed_addr constant [3 x i8] c" \00" @.str9770 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" @.str9771 = private unnamed_addr constant [7 x i8] c" ], [ \00" @.str9772 = private unnamed_addr constant [4 x i8] c", %\00" @.str9773 = private unnamed_addr constant [4 x i8] c" ]\0A\00" @.str9774 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" @.str9775 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9776 = private unnamed_addr constant [3 x i8] c", \00" @.str9777 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9778 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9779 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9780 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9781 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9782 = private unnamed_addr constant [3 x i8] c" \00" @.str9783 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9784 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" @.str9785 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9786 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9787 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9788 = private unnamed_addr constant [3 x i8] c", \00" @.str9789 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9790 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9791 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9792 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9793 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9794 = private unnamed_addr constant [3 x i8] c" \00" @.str9795 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str9796 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" @.str9797 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9798 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str9799 = private unnamed_addr constant [13 x i8] c" call void \00" @.str9800 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9801 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9802 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9803 = private unnamed_addr constant [5 x i8] c":\0A \00" @.str9804 = private unnamed_addr constant [12 x i8] c" = add i32 \00" @.str9805 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" @.str9806 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9807 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9808 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str9809 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9810 = private unnamed_addr constant [3 x i8] c", \00" @.str9811 = private unnamed_addr constant [6 x i8] c"scrun\00" @.str9812 = private unnamed_addr constant [7 x i8] c"scskip\00" @.str9813 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9814 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9815 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9816 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9817 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9818 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9819 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9820 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9821 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str9822 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str9823 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9824 = private unnamed_addr constant [3 x i8] c", \00" @.str9825 = private unnamed_addr constant [5 x i8] c"mrun\00" @.str9826 = private unnamed_addr constant [6 x i8] c"mskip\00" @.str9827 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str9828 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9829 = private unnamed_addr constant [10 x i8] c", label %\00" @.str9830 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9831 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" @.str9832 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9833 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9834 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9835 = private unnamed_addr constant [5 x i8] c"void\00" @.str9836 = private unnamed_addr constant [6 x i8] c"enter\00" @.str9837 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str9838 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" @.str9839 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" @.str9840 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str9841 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9842 = private unnamed_addr constant [5 x i8] c"exit\00" @.str9843 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" @.str9844 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str9845 = private unnamed_addr constant [2 x i8] c"_\00" @.str9846 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9847 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str9848 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9849 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str9850 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" @.str9851 = private unnamed_addr constant [2 x i8] c"_\00" @.str9852 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str9853 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9854 = private unnamed_addr constant [6 x i8] c"enter\00" @.str9855 = private unnamed_addr constant [5 x i8] c"exit\00" @.str9856 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" @.str9857 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" @.str9858 = private unnamed_addr constant [6 x i8] c" %is\00" @.str9859 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" @.str9860 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9861 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" @.str9862 = private unnamed_addr constant [15 x i8] c", label %leave\00" @.str9863 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str9864 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9865 = private unnamed_addr constant [6 x i8] c"leave\00" @.str9866 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" @.str9867 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" @.str9868 = private unnamed_addr constant [5 x i8] c"next\00" @.str9869 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9870 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9871 = private unnamed_addr constant [5 x i8] c"void\00" @.str9872 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9873 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" @.str9874 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9875 = private unnamed_addr constant [4 x i8] c"int\00" @.str9876 = private unnamed_addr constant [3 x i8] c"%e\00" @.str9877 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str9878 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str9879 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" @.str9880 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" @.str9881 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str9882 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" @.str9883 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str9884 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str9885 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str9886 = private unnamed_addr constant [5 x i8] c" %c\00" @.str9887 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str9888 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9889 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str9890 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str9891 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str9892 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9893 = private unnamed_addr constant [4 x i8] c"hit\00" @.str9894 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str9895 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str9896 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9897 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str9898 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9899 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str9900 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str9901 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9902 = private unnamed_addr constant [5 x i8] c"next\00" @.str9903 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9904 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" @.str9905 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" @.str9906 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str9907 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" @.str9908 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str9909 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" @.str9910 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" @.str9911 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str9912 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str9913 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" @.str9914 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" @.str9915 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" @.str9916 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" @.str9917 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str9918 = private unnamed_addr constant [5 x i8] c" %c\00" @.str9919 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str9920 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9921 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str9922 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str9923 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str9924 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9925 = private unnamed_addr constant [4 x i8] c"hit\00" @.str9926 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str9927 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str9928 = private unnamed_addr constant [7 x i8] c"model_\00" @.str9929 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str9930 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str9931 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str9932 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str9933 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9934 = private unnamed_addr constant [5 x i8] c"next\00" @.str9935 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str9936 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" @.str9937 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str9938 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str9939 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" @.str9940 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str9941 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str9942 = private unnamed_addr constant [3 x i8] c", \00" @.str9943 = private unnamed_addr constant [3 x i8] c", \00" @.str9944 = private unnamed_addr constant [4 x i8] c"i32\00" @.str9945 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str9946 = private unnamed_addr constant [6 x i8] c"@evL_\00" @.str9947 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str9948 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str9949 = private unnamed_addr constant [6 x i8] c"@evN_\00" @.str9950 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" @.str9951 = private unnamed_addr constant [6 x i8] c"@evO_\00" @.str9952 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str9953 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str9954 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" @.str9955 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" @.str9956 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str9957 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9958 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str9959 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9960 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str9961 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str9962 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str9963 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str9964 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str9965 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str9966 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str9967 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str9968 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" @.str9969 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str9970 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str9971 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str9972 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" @.str9973 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" @.str9974 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str9975 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9976 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str9977 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9978 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str9979 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str9980 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str9981 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str9982 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str9983 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str9984 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str9985 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str9986 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" @.str9987 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str9988 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str9989 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str9990 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" @.str9991 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" @.str9992 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str9993 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9994 = 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" @.str9995 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" @.str9996 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" @.str9997 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str9998 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" @.str9999 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" @.str10000 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" @.str10001 = private unnamed_addr constant [5 x i8] c"void\00" @.str10002 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" @.str10003 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" @.str10004 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10005 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" @.str10006 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" @.str10007 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str10008 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10009 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" @.str10010 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" @.str10011 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str10012 = private unnamed_addr constant [3 x i8] c" \00" @.str10013 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str10014 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10015 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10016 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10017 = private unnamed_addr constant [9 x i8] c" store \00" @.str10018 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10019 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10020 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10021 = private unnamed_addr constant [9 x i8] c" store \00" @.str10022 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10023 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10024 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10025 = private unnamed_addr constant [3 x i8] c" \00" @.str10026 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str10027 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10028 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10029 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10030 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10031 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10032 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10033 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10034 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10035 = private unnamed_addr constant [4 x i8] c"evl\00" @.str10036 = private unnamed_addr constant [4 x i8] c"evb\00" @.str10037 = private unnamed_addr constant [4 x i8] c"evd\00" @.str10038 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10039 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10040 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10041 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10042 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" @.str10043 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10044 = private unnamed_addr constant [3 x i8] c", \00" @.str10045 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10046 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10047 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10048 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10049 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10050 = private unnamed_addr constant [3 x i8] c" \00" @.str10051 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10052 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10053 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10054 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10055 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str10056 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str10057 = private unnamed_addr constant [7 x i8] c", null\00" @.str10058 = private unnamed_addr constant [5 x i8] c"evdo\00" @.str10059 = private unnamed_addr constant [5 x i8] c"evsk\00" @.str10060 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10061 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10062 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10063 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10064 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10065 = private unnamed_addr constant [13 x i8] c" call void \00" @.str10066 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str10067 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10068 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10069 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10070 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10071 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10072 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10073 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10074 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10075 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10076 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10077 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10078 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10079 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10080 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str10081 = 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" @.str10082 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10083 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10084 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10085 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10086 = private unnamed_addr constant [5 x i8] c"void\00" @.str10087 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10088 = private unnamed_addr constant [8 x i8] c"define \00" @.str10089 = private unnamed_addr constant [6 x i8] c" @ev_\00" @.str10090 = private unnamed_addr constant [2 x i8] c"(\00" @.str10091 = private unnamed_addr constant [3 x i8] c", \00" @.str10092 = private unnamed_addr constant [4 x i8] c" %p\00" @.str10093 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str10094 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10095 = 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" @.str10096 = private unnamed_addr constant [3 x i8] c"sw\00" @.str10097 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10098 = private unnamed_addr constant [7 x i8] c" %swi\00" @.str10099 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" @.str10100 = private unnamed_addr constant [7 x i8] c" %swn\00" @.str10101 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" @.str10102 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10103 = private unnamed_addr constant [7 x i8] c" %swg\00" @.str10104 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" @.str10105 = private unnamed_addr constant [7 x i8] c", %swn\00" @.str10106 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10107 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" @.str10108 = private unnamed_addr constant [13 x i8] c", label %swb\00" @.str10109 = private unnamed_addr constant [13 x i8] c", label %swd\00" @.str10110 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10111 = private unnamed_addr constant [4 x i8] c"swb\00" @.str10112 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10113 = private unnamed_addr constant [8 x i8] c" %swop\00" @.str10114 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10115 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str10116 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str10117 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10118 = private unnamed_addr constant [8 x i8] c" %swov\00" @.str10119 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str10120 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10121 = private unnamed_addr constant [7 x i8] c" %swm\00" @.str10122 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" @.str10123 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" @.str10124 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" @.str10125 = private unnamed_addr constant [13 x i8] c", label %swh\00" @.str10126 = private unnamed_addr constant [13 x i8] c", label %swx\00" @.str10127 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10128 = private unnamed_addr constant [4 x i8] c"swh\00" @.str10129 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10130 = private unnamed_addr constant [8 x i8] c" %swlp\00" @.str10131 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10132 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str10133 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str10134 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10135 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" @.str10136 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str10137 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10138 = private unnamed_addr constant [4 x i8] c"swx\00" @.str10139 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10140 = private unnamed_addr constant [9 x i8] c" %swinc\00" @.str10141 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" @.str10142 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" @.str10143 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" @.str10144 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10145 = private unnamed_addr constant [4 x i8] c"swd\00" @.str10146 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" @.str10147 = private unnamed_addr constant [15 x i8] c" br label %sw\00" @.str10148 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10149 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10150 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10151 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" @.str10152 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" @.str10153 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" @.str10154 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" @.str10155 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" @.str10156 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" @.str10157 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10158 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10159 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10160 = private unnamed_addr constant [5 x i8] c" %e\00" @.str10161 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" @.str10162 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10163 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" @.str10164 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10165 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10166 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10167 = private unnamed_addr constant [2 x i8] c"h\00" @.str10168 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10169 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10170 = private unnamed_addr constant [2 x i8] c"n\00" @.str10171 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10172 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" @.str10173 = 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" @.str10174 = 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" @.str10175 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" @.str10176 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" @.str10177 = 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" @.str10178 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" @.str10179 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" @.str10180 = private unnamed_addr constant [6 x i8] c" %pm\00" @.str10181 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10182 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10183 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" @.str10184 = private unnamed_addr constant [12 x i8] c", label %pk\00" @.str10185 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str10186 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10187 = private unnamed_addr constant [3 x i8] c"pk\00" @.str10188 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10189 = private unnamed_addr constant [2 x i8] c"_\00" @.str10190 = private unnamed_addr constant [6 x i8] c" %fc\00" @.str10191 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10192 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10193 = private unnamed_addr constant [6 x i8] c" %fe\00" @.str10194 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" @.str10195 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10196 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" @.str10197 = private unnamed_addr constant [12 x i8] c", label %fh\00" @.str10198 = private unnamed_addr constant [12 x i8] c", label %fn\00" @.str10199 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10200 = private unnamed_addr constant [3 x i8] c"fh\00" @.str10201 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10202 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10203 = private unnamed_addr constant [3 x i8] c"fn\00" @.str10204 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10205 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str10206 = private unnamed_addr constant [3 x i8] c"pn\00" @.str10207 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10208 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10209 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" @.str10210 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10211 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10212 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10213 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10214 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10215 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10216 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10217 = private unnamed_addr constant [2 x i8] c"g\00" @.str10218 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10219 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10220 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10221 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10222 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10223 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10224 = private unnamed_addr constant [2 x i8] c"_\00" @.str10225 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str10226 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10227 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10228 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" @.str10229 = private unnamed_addr constant [12 x i8] c", label %gf\00" @.str10230 = private unnamed_addr constant [12 x i8] c", label %gk\00" @.str10231 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10232 = private unnamed_addr constant [3 x i8] c"gf\00" @.str10233 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10234 = private unnamed_addr constant [6 x i8] c" %ga\00" @.str10235 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10236 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10237 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10238 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10239 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10240 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10241 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" @.str10242 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10243 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10244 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" @.str10245 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10246 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10247 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10248 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10249 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" @.str10250 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10251 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10252 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" @.str10253 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10254 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10255 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str10256 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" @.str10257 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10258 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str10259 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" @.str10260 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str10261 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10262 = private unnamed_addr constant [3 x i8] c"gk\00" @.str10263 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10264 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str10265 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10266 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10267 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" @.str10268 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10269 = 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" @.str10270 = 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" @.str10271 = 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" @.str10272 = 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" @.str10273 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" @.str10274 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" @.str10275 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10276 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10277 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10278 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10279 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10280 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10281 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10282 = private unnamed_addr constant [2 x i8] c"g\00" @.str10283 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10284 = private unnamed_addr constant [5 x i8] c" %s\00" @.str10285 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10286 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10287 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10288 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10289 = private unnamed_addr constant [2 x i8] c"_\00" @.str10290 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str10291 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10292 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10293 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str10294 = private unnamed_addr constant [12 x i8] c", label %sf\00" @.str10295 = private unnamed_addr constant [12 x i8] c", label %sk\00" @.str10296 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10297 = private unnamed_addr constant [3 x i8] c"sf\00" @.str10298 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10299 = private unnamed_addr constant [6 x i8] c" %sa\00" @.str10300 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10301 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str10302 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10303 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10304 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10305 = private unnamed_addr constant [6 x i8] c" %sp\00" @.str10306 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" @.str10307 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" @.str10308 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10309 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10310 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10311 = private unnamed_addr constant [6 x i8] c" %sb\00" @.str10312 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" @.str10313 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" @.str10314 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10315 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10316 = private unnamed_addr constant [6 x i8] c" %sw\00" @.str10317 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" @.str10318 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" @.str10319 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str10320 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str10321 = private unnamed_addr constant [3 x i8] c"sk\00" @.str10322 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10323 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10324 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10325 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10326 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" @.str10327 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10328 = 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" @.str10329 = 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" @.str10330 = 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" @.str10331 = 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" @.str10332 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" @.str10333 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10334 = private unnamed_addr constant [5 x i8] c" %m\00" @.str10335 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10336 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10337 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str10338 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str10339 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str10340 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10341 = private unnamed_addr constant [2 x i8] c"g\00" @.str10342 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10343 = private unnamed_addr constant [6 x i8] c" %hp\00" @.str10344 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10345 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10346 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10347 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str10348 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" @.str10349 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10350 = private unnamed_addr constant [6 x i8] c" %hr\00" @.str10351 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" @.str10352 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" @.str10353 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10354 = private unnamed_addr constant [3 x i8] c"gn\00" @.str10355 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10356 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str10357 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10358 = 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" @.str10359 = 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" @.str10360 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" @.str10361 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" @.str10362 = 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" @.str10363 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" @.str10364 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" @.str10365 = 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" @.str10366 = 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" @.str10367 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" @.str10368 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" @.str10369 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10370 = 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" @.str10371 = 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" @.str10372 = 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" @.str10373 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" @.str10374 = 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" @.str10375 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" @.str10376 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10377 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10378 = 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" @.str10379 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str10380 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10381 = 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" @.str10382 = 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" @.str10383 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" @.str10384 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10385 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str10386 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" @.str10387 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" @.str10388 = private unnamed_addr constant [7 x i8] c" %mdc\00" @.str10389 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str10390 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10391 = private unnamed_addr constant [7 x i8] c" %mde\00" @.str10392 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" @.str10393 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str10394 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" @.str10395 = private unnamed_addr constant [13 x i8] c", label %mdh\00" @.str10396 = private unnamed_addr constant [13 x i8] c", label %mdn\00" @.str10397 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10398 = private unnamed_addr constant [4 x i8] c"mdh\00" @.str10399 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10400 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10401 = private unnamed_addr constant [4 x i8] c"mdn\00" @.str10402 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10403 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10404 = private unnamed_addr constant [4 x i8] c"int\00" @.str10405 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10406 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10407 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" @.str10408 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str10409 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10410 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" @.str10411 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str10412 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" @.str10413 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10414 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str10415 = private unnamed_addr constant [12 x i8] c", label %sh\00" @.str10416 = private unnamed_addr constant [12 x i8] c", label %sn\00" @.str10417 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10418 = private unnamed_addr constant [3 x i8] c"sh\00" @.str10419 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" @.str10420 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" @.str10421 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" @.str10422 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10423 = private unnamed_addr constant [3 x i8] c"sn\00" @.str10424 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10425 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str10426 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" @.str10427 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" @.str10428 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" @.str10429 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" @.str10430 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str10431 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str10432 = 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" @.str10433 = 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" @.str10434 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" @.str10435 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" @.str10436 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" @.str10437 = private unnamed_addr constant [1 x i8] c"\00" @.str10438 = private unnamed_addr constant [4 x i8] c"int\00" @.str10439 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" @.str10440 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" @.str10441 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" @.str10442 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" @.str10443 = private unnamed_addr constant [6 x i8] c" %pe\00" @.str10444 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" @.str10445 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10446 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" @.str10447 = private unnamed_addr constant [12 x i8] c", label %ph\00" @.str10448 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str10449 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10450 = private unnamed_addr constant [3 x i8] c"ph\00" @.str10451 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str10452 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10453 = private unnamed_addr constant [3 x i8] c"pn\00" @.str10454 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10455 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" @.str10456 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str10457 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" @.str10458 = 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" @.str10459 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" @.str10460 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10461 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" @.str10462 = private unnamed_addr constant [7 x i8] c" %fce\00" @.str10463 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10464 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10465 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" @.str10466 = private unnamed_addr constant [13 x i8] c", label %fch\00" @.str10467 = private unnamed_addr constant [13 x i8] c", label %fcn\00" @.str10468 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10469 = private unnamed_addr constant [4 x i8] c"fch\00" @.str10470 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10471 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10472 = private unnamed_addr constant [4 x i8] c"fcn\00" @.str10473 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10474 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str10475 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str10476 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" @.str10477 = 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" @.str10478 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" @.str10479 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str10480 = private unnamed_addr constant [7 x i8] c" %fne\00" @.str10481 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10482 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10483 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" @.str10484 = private unnamed_addr constant [13 x i8] c", label %fnk\00" @.str10485 = private unnamed_addr constant [13 x i8] c", label %fnn\00" @.str10486 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10487 = private unnamed_addr constant [4 x i8] c"fnk\00" @.str10488 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10489 = private unnamed_addr constant [2 x i8] c"_\00" @.str10490 = private unnamed_addr constant [8 x i8] c" %fnfe\00" @.str10491 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10492 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10493 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" @.str10494 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" @.str10495 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" @.str10496 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10497 = private unnamed_addr constant [5 x i8] c"fnfh\00" @.str10498 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str10499 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10500 = private unnamed_addr constant [5 x i8] c"fnfn\00" @.str10501 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10502 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str10503 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10504 = private unnamed_addr constant [4 x i8] c"fnn\00" @.str10505 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10506 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str10507 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10508 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str10509 = private unnamed_addr constant [7 x i8] c" %fte\00" @.str10510 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10511 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10512 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" @.str10513 = private unnamed_addr constant [13 x i8] c", label %ftk\00" @.str10514 = private unnamed_addr constant [13 x i8] c", label %ftn\00" @.str10515 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10516 = private unnamed_addr constant [4 x i8] c"ftk\00" @.str10517 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10518 = private unnamed_addr constant [2 x i8] c"_\00" @.str10519 = private unnamed_addr constant [8 x i8] c" %ftfe\00" @.str10520 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str10521 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10522 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" @.str10523 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" @.str10524 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" @.str10525 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10526 = private unnamed_addr constant [5 x i8] c"ftfh\00" @.str10527 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str10528 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10529 = private unnamed_addr constant [5 x i8] c"ftfn\00" @.str10530 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10531 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str10532 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10533 = private unnamed_addr constant [4 x i8] c"ftn\00" @.str10534 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10535 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str10536 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10537 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" @.str10538 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10539 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10540 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10541 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10542 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10543 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" @.str10544 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10545 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10546 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10547 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str10548 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str10549 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str10550 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str10551 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str10552 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str10553 = private unnamed_addr constant [6 x i8] c"Start\00" @.str10554 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10555 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str10556 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str10557 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10558 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str10559 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" @.str10560 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10561 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str10562 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" @.str10563 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10564 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10565 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str10566 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" @.str10567 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10568 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10569 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str10570 = private unnamed_addr constant [3 x i8] c", \00" @.str10571 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10572 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str10573 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10574 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str10575 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str10576 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str10577 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" @.str10578 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10579 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str10580 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str10581 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" @.str10582 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10583 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str10584 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str10585 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str10586 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" @.str10587 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10588 = private unnamed_addr constant [6 x i8] c"Input\00" @.str10589 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str10590 = private unnamed_addr constant [7 x i8] c"Update\00" @.str10591 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str10592 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str10593 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" @.str10594 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10595 = private unnamed_addr constant [7 x i8] c"Render\00" @.str10596 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str10597 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str10598 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" @.str10599 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str10600 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10601 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10602 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10603 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" @.str10604 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10605 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str10606 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" @.str10607 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str10608 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str10609 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" @.str10610 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str10611 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" @.str10612 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" @.str10613 = private unnamed_addr constant [15 x i8] c"machine state \00" @.str10614 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str10615 = private unnamed_addr constant [1 x i8] c"\00" @.str10616 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" @.str10617 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" @.str10618 = private unnamed_addr constant [2 x i8] c")\00" @.str10619 = private unnamed_addr constant [6 x i8] c"smend\00" @.str10620 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10621 = private unnamed_addr constant [3 x i8] c", \00" @.str10622 = private unnamed_addr constant [6 x i8] c"sbody\00" @.str10623 = private unnamed_addr constant [5 x i8] c"sarm\00" @.str10624 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10625 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10626 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10627 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10628 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10629 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10630 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10631 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10632 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10633 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10634 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10635 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10636 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str10637 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10638 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" @.str10639 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10640 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10641 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" @.str10642 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" @.str10643 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10644 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" @.str10645 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10646 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str10647 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str10648 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10649 = private unnamed_addr constant [5 x i8] c"file\00" @.str10650 = private unnamed_addr constant [4 x i8] c"%io\00" @.str10651 = private unnamed_addr constant [3 x i8] c" \00" @.str10652 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" @.str10653 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str10654 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str10655 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" @.str10656 = private unnamed_addr constant [5 x i8] c"size\00" @.str10657 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str10658 = private unnamed_addr constant [3 x i8] c" \00" @.str10659 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str10660 = private unnamed_addr constant [3 x i8] c", \00" @.str10661 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10662 = private unnamed_addr constant [5 x i8] c"%ioa\00" @.str10663 = private unnamed_addr constant [3 x i8] c" \00" @.str10664 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" @.str10665 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10666 = private unnamed_addr constant [5 x i8] c"save\00" @.str10667 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str10668 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10669 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10670 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10671 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str10672 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10673 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10674 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10675 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str10676 = private unnamed_addr constant [3 x i8] c" \00" @.str10677 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str10678 = private unnamed_addr constant [3 x i8] c", \00" @.str10679 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10680 = private unnamed_addr constant [2 x i8] c"0\00" @.str10681 = private unnamed_addr constant [8 x i8] c"@L_entc\00" @.str10682 = private unnamed_addr constant [2 x i8] c"4\00" @.str10683 = private unnamed_addr constant [9 x i8] c"@L_freen\00" @.str10684 = private unnamed_addr constant [2 x i8] c"4\00" @.str10685 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" @.str10686 = private unnamed_addr constant [5 x i8] c", 4\0A\00" @.str10687 = private unnamed_addr constant [9 x i8] c"@L_alive\00" @.str10688 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str10689 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" @.str10690 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str10691 = private unnamed_addr constant [8 x i8] c"@L_kind\00" @.str10692 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str10693 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" @.str10694 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str10695 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str10696 = private unnamed_addr constant [2 x i8] c"4\00" @.str10697 = private unnamed_addr constant [5 x i8] c"%csz\00" @.str10698 = private unnamed_addr constant [3 x i8] c" \00" @.str10699 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str10700 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" @.str10701 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" @.str10702 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str10703 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str10704 = private unnamed_addr constant [5 x i8] c"file\00" @.str10705 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" @.str10706 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str10707 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str10708 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str10709 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str10710 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" @.str10711 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" @.str10712 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str10713 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" @.str10714 = private unnamed_addr constant [7 x i8] c"fwrite\00" @.str10715 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" @.str10716 = 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" @.str10717 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" @.str10718 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" @.str10719 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str10720 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" @.str10721 = private unnamed_addr constant [6 x i8] c"fread\00" @.str10722 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" @.str10723 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" @.str10724 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" @.str10725 = private unnamed_addr constant [5 x i8] c"save\00" @.str10726 = private unnamed_addr constant [1 x i8] c"\00" @.str10727 = private unnamed_addr constant [5 x i8] c"%wsn\00" @.str10728 = private unnamed_addr constant [3 x i8] c" \00" @.str10729 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str10730 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str10731 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10732 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10733 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str10734 = private unnamed_addr constant [5 x i8] c"load\00" @.str10735 = private unnamed_addr constant [1 x i8] c"\00" @.str10736 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10737 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" @.str10738 = private unnamed_addr constant [5 x i8] c"size\00" @.str10739 = private unnamed_addr constant [1 x i8] c"\00" @.str10740 = private unnamed_addr constant [5 x i8] c"%wzn\00" @.str10741 = private unnamed_addr constant [3 x i8] c" \00" @.str10742 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str10743 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str10744 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10745 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10746 = private unnamed_addr constant [5 x i8] c"file\00" @.str10747 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10748 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10749 = private unnamed_addr constant [2 x i8] c"1\00" @.str10750 = private unnamed_addr constant [2 x i8] c"4\00" @.str10751 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" @.str10752 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10753 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10754 = private unnamed_addr constant [13 x i8] c"@Sync field \00" @.str10755 = private unnamed_addr constant [2 x i8] c".\00" @.str10756 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" @.str10757 = private unnamed_addr constant [7 x i8] c"model \00" @.str10758 = private unnamed_addr constant [9 x i8] c" @Syncs \00" @.str10759 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" @.str10760 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" @.str10761 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str10762 = private unnamed_addr constant [3 x i8] c" \00" @.str10763 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10764 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10765 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10766 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10767 = private unnamed_addr constant [3 x i8] c" \00" @.str10768 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10769 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10770 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10771 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10772 = private unnamed_addr constant [3 x i8] c" \00" @.str10773 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str10774 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10775 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str10776 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10777 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10778 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10779 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str10780 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str10781 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" @.str10782 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str10783 = private unnamed_addr constant [3 x i8] c" \00" @.str10784 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10785 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10786 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10787 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10788 = private unnamed_addr constant [3 x i8] c" \00" @.str10789 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10790 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10791 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10792 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10793 = private unnamed_addr constant [3 x i8] c" \00" @.str10794 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str10795 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10796 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str10797 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10798 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10799 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10800 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10801 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str10802 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10803 = 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" @.str10804 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10805 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10806 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10807 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10808 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10809 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10810 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10811 = private unnamed_addr constant [2 x i8] c"h\00" @.str10812 = private unnamed_addr constant [7 x i8] c":\0A %r\00" @.str10813 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" @.str10814 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" @.str10815 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10816 = private unnamed_addr constant [2 x i8] c"n\00" @.str10817 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10818 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str10819 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str10820 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10821 = 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" @.str10822 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10823 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10824 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10825 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10826 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10827 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10828 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10829 = private unnamed_addr constant [2 x i8] c"h\00" @.str10830 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" @.str10831 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" @.str10832 = private unnamed_addr constant [2 x i8] c"n\00" @.str10833 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10834 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10835 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" @.str10836 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str10837 = 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" @.str10838 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10839 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str10840 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10841 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10842 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10843 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str10844 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10845 = private unnamed_addr constant [2 x i8] c"h\00" @.str10846 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str10847 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10848 = private unnamed_addr constant [2 x i8] c"n\00" @.str10849 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10850 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str10851 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" @.str10852 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str10853 = 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" @.str10854 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" @.str10855 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str10856 = 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" @.str10857 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" @.str10858 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str10859 = 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" @.str10860 = 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" @.str10861 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" @.str10862 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" @.str10863 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" @.str10864 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" @.str10865 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str10866 = 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" @.str10867 = 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" @.str10868 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" @.str10869 = 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" @.str10870 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" @.str10871 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str10872 = 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" @.str10873 = 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" @.str10874 = 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" @.str10875 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" @.str10876 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" @.str10877 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" @.str10878 = 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" @.str10879 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" @.str10880 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str10881 = 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" @.str10882 = 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" @.str10883 = 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" @.str10884 = 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" @.str10885 = 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" @.str10886 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" @.str10887 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str10888 = private unnamed_addr constant [11 x i8] c"L_net_send\00" @.str10889 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str10890 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" @.str10891 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str10892 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str10893 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" @.str10894 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" @.str10895 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" @.str10896 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" @.str10897 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" @.str10898 = private unnamed_addr constant [5 x i8] c" %c\00" @.str10899 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" @.str10900 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10901 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str10902 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str10903 = private unnamed_addr constant [11 x i8] c", label %x\00" @.str10904 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10905 = private unnamed_addr constant [2 x i8] c"h\00" @.str10906 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10907 = private unnamed_addr constant [2 x i8] c"_\00" @.str10908 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str10909 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" @.str10910 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10911 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str10912 = private unnamed_addr constant [9 x i8] c" = load \00" @.str10913 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str10914 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10915 = private unnamed_addr constant [3 x i8] c", \00" @.str10916 = private unnamed_addr constant [5 x i8] c" %fv\00" @.str10917 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10918 = private unnamed_addr constant [2 x i8] c"(\00" @.str10919 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10920 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10921 = private unnamed_addr constant [2 x i8] c"x\00" @.str10922 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10923 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str10924 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str10925 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str10926 = private unnamed_addr constant [6 x i8] c"panel\00" @.str10927 = private unnamed_addr constant [4 x i8] c"col\00" @.str10928 = private unnamed_addr constant [4 x i8] c"row\00" @.str10929 = private unnamed_addr constant [6 x i8] c"label\00" @.str10930 = private unnamed_addr constant [7 x i8] c"button\00" @.str10931 = private unnamed_addr constant [6 x i8] c"image\00" @.str10932 = private unnamed_addr constant [7 x i8] c"spacer\00" @.str10933 = private unnamed_addr constant [5 x i8] c"font\00" @.str10934 = private unnamed_addr constant [5 x i8] c"size\00" @.str10935 = private unnamed_addr constant [3 x i8] c"fg\00" @.str10936 = private unnamed_addr constant [6 x i8] c"align\00" @.str10937 = private unnamed_addr constant [3 x i8] c"id\00" @.str10938 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" @.str10939 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10940 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10941 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10942 = private unnamed_addr constant [2 x i8] c"w\00" @.str10943 = private unnamed_addr constant [2 x i8] c"h\00" @.str10944 = private unnamed_addr constant [2 x i8] c"x\00" @.str10945 = private unnamed_addr constant [2 x i8] c"y\00" @.str10946 = private unnamed_addr constant [4 x i8] c"pad\00" @.str10947 = private unnamed_addr constant [4 x i8] c"gap\00" @.str10948 = private unnamed_addr constant [3 x i8] c"bg\00" @.str10949 = private unnamed_addr constant [3 x i8] c"fg\00" @.str10950 = private unnamed_addr constant [7 x i8] c"border\00" @.str10951 = private unnamed_addr constant [5 x i8] c"grow\00" @.str10952 = private unnamed_addr constant [5 x i8] c"font\00" @.str10953 = private unnamed_addr constant [5 x i8] c"size\00" @.str10954 = private unnamed_addr constant [6 x i8] c"inset\00" @.str10955 = private unnamed_addr constant [6 x i8] c"focus\00" @.str10956 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" @.str10957 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10958 = private unnamed_addr constant [2 x i8] c"1\00" @.str10959 = private unnamed_addr constant [3 x i8] c"id\00" @.str10960 = private unnamed_addr constant [5 x i8] c"goto\00" @.str10961 = private unnamed_addr constant [5 x i8] c"text\00" @.str10962 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" @.str10963 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10964 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10965 = private unnamed_addr constant [5 x i8] c"skin\00" @.str10966 = private unnamed_addr constant [6 x i8] c"image\00" @.str10967 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" @.str10968 = private unnamed_addr constant [2 x i8] c")\00" @.str10969 = private unnamed_addr constant [5 x i8] c"skin\00" @.str10970 = private unnamed_addr constant [6 x i8] c"align\00" @.str10971 = private unnamed_addr constant [7 x i8] c"center\00" @.str10972 = private unnamed_addr constant [4 x i8] c"end\00" @.str10973 = private unnamed_addr constant [2 x i8] c"1\00" @.str10974 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" @.str10975 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10976 = private unnamed_addr constant [3 x i8] c", \00" @.str10977 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str10978 = private unnamed_addr constant [5 x i8] c"void\00" @.str10979 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" @.str10980 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10981 = private unnamed_addr constant [9 x i8] c" store \00" @.str10982 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str10983 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10984 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10985 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str10986 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str10987 = private unnamed_addr constant [5 x i8] c"void\00" @.str10988 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str10989 = private unnamed_addr constant [6 x i8] c"load \00" @.str10990 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" @.str10991 = private unnamed_addr constant [7 x i8] c" ret \00" @.str10992 = private unnamed_addr constant [2 x i8] c" \00" @.str10993 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10994 = private unnamed_addr constant [8 x i8] c"define \00" @.str10995 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str10996 = private unnamed_addr constant [2 x i8] c"(\00" @.str10997 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str10998 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str10999 = private unnamed_addr constant [4 x i8] c"int\00" @.str11000 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" @.str11001 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11002 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11003 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" @.str11004 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str11005 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str11006 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11007 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11008 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str11009 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" @.str11010 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11011 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11012 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11013 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str11014 = private unnamed_addr constant [5 x i8] c"void\00" @.str11015 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11016 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str11017 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" @.str11018 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str11019 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11020 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" @.str11021 = 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" @.str11022 = 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" @.str11023 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str11024 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str11025 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str11026 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" @.str11027 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" @.str11028 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str11029 = private unnamed_addr constant [8 x i8] c"ok - \00" @.str11030 = private unnamed_addr constant [8 x i8] c"FAIL - \00" @.str11031 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" @.str11032 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" @.str11033 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11034 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" @.str11035 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11036 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11037 = private unnamed_addr constant [6 x i8] c"tpass\00" @.str11038 = private unnamed_addr constant [6 x i8] c"tfail\00" @.str11039 = private unnamed_addr constant [6 x i8] c"tdone\00" @.str11040 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11041 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11042 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11043 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11044 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11045 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str11046 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11047 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11048 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11049 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11050 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str11051 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11052 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11053 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11054 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" @.str11055 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str11056 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11057 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11058 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11059 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11060 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str11061 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str11062 = private unnamed_addr constant [3 x i8] c", \00" @.str11063 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" @.str11064 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11065 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11066 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11067 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11068 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str11069 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str11070 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11071 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str11072 = private unnamed_addr constant [11 x i8] c"function '\00" @.str11073 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str11074 = private unnamed_addr constant [2 x i8] c":\00" @.str11075 = private unnamed_addr constant [2 x i8] c")\00" @.str11076 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" @.str11077 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str11078 = 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" @.str11079 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" @.str11080 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" @.str11081 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" @.str11082 = private unnamed_addr constant [10 x i8] c" x i32] [\00" @.str11083 = private unnamed_addr constant [3 x i8] c", \00" @.str11084 = private unnamed_addr constant [5 x i8] c"i32 \00" @.str11085 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str11086 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" @.str11087 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str11088 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" @.str11089 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11090 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" @.str11091 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" @.str11092 = private unnamed_addr constant [2 x i8] c"w\00" @.str11093 = 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" @.str11094 = 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" @.str11095 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str11096 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str11097 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" @.str11098 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" @.str11099 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11100 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" @.str11101 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" @.str11102 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" @.str11103 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" @.str11104 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11105 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str11106 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" @.str11107 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str11108 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" @.str11109 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11110 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11111 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str11112 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" @.str11113 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" @.str11114 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11115 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" @.str11116 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str11117 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" @.str11118 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" @.str11119 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" @.str11120 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" @.str11121 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" @.str11122 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" @.str11123 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" @.str11124 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str11125 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str11126 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str11127 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" @.str11128 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str11129 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" @.str11130 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" @.str11131 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" @.str11132 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11133 = 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" @.str11134 = private unnamed_addr constant [3 x i8] c"wb\00" @.str11135 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str11136 = private unnamed_addr constant [2 x i8] c"/\00" @.str11137 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" @.str11138 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" @.str11139 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11140 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" @.str11141 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" @.str11142 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" @.str11143 = private unnamed_addr constant [7 x i8] c"rm -f \00" @.str11144 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" @.str11145 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" @.str11146 = private unnamed_addr constant [3 x i8] c"rb\00" @.str11147 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11148 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11149 = private unnamed_addr constant [6 x i8] c"clang\00" @.str11150 = private unnamed_addr constant [8 x i8] c"VERSION\00" @.str11151 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" @.str11152 = private unnamed_addr constant [7 x i8] c"ludic \00" @.str11153 = private unnamed_addr constant [1 x i8] c"\00" @.str11154 = private unnamed_addr constant [1 x i8] c"\00" @.str11155 = private unnamed_addr constant [2 x i8] c"?\00" @.str11156 = private unnamed_addr constant [10 x i8] c"--version\00" @.str11157 = private unnamed_addr constant [11 x i8] c"--windowed\00" @.str11158 = private unnamed_addr constant [11 x i8] c"--headless\00" @.str11159 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" @.str11160 = private unnamed_addr constant [14 x i8] c"--emit-module\00" @.str11161 = private unnamed_addr constant [6 x i8] c"--fmt\00" @.str11162 = private unnamed_addr constant [13 x i8] c"--save-temps\00" @.str11163 = private unnamed_addr constant [6 x i8] c"--run\00" @.str11164 = private unnamed_addr constant [11 x i8] c"--coverage\00" @.str11165 = private unnamed_addr constant [9 x i8] c"--target\00" @.str11166 = private unnamed_addr constant [6 x i8] c"--gui\00" @.str11167 = private unnamed_addr constant [7 x i8] c"--link\00" @.str11168 = private unnamed_addr constant [3 x i8] c"-o\00" @.str11169 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" @.str11170 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11171 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" @.str11172 = private unnamed_addr constant [8 x i8] c"windows\00" @.str11173 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" @.str11174 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str11175 = private unnamed_addr constant [2 x i8] c".\00" @.str11176 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" @.str11177 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" @.str11178 = private unnamed_addr constant [5 x i8] c".exe\00" @.str11179 = private unnamed_addr constant [5 x i8] c".exe\00" @.str11180 = private unnamed_addr constant [4 x i8] c".ll\00" @.str11181 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" @.str11182 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" @.str11183 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" @.str11184 = private unnamed_addr constant [2 x i8] c" \00" @.str11185 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" @.str11186 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" @.str11187 = private unnamed_addr constant [2 x i8] c" \00" @.str11188 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" @.str11189 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" @.str11190 = private unnamed_addr constant [2 x i8] c" \00" @.str11191 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" @.str11192 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" @.str11193 = private unnamed_addr constant [2 x i8] c" \00" @.str11194 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" @.str11195 = private unnamed_addr constant [2 x i8] c" \00" @.str11196 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" @.str11197 = private unnamed_addr constant [2 x i8] c" \00" @.str11198 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" @.str11199 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" @.str11200 = private unnamed_addr constant [2 x i8] c" \00" @.str11201 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" @.str11202 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" @.str11203 = private unnamed_addr constant [2 x i8] c" \00" @.str11204 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" @.str11205 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" @.str11206 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" @.str11207 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" @.str11208 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" @.str11209 = private unnamed_addr constant [2 x i8] c" \00" @.str11210 = private unnamed_addr constant [2 x i8] c" \00" @.str11211 = private unnamed_addr constant [2 x i8] c" \00" @.str11212 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" @.str11213 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" @.str11214 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" @.str11215 = private unnamed_addr constant [2 x i8] c" \00" @.str11216 = private unnamed_addr constant [2 x i8] c" \00" @.str11217 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" @.str11218 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" @.str11219 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" @.str11220 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" @.str11221 = private unnamed_addr constant [2 x i8] c" \00" @.str11222 = private unnamed_addr constant [2 x i8] c" \00" @.str11223 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" @.str11224 = private unnamed_addr constant [3 x i8] c" \22\00" @.str11225 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11226 = private unnamed_addr constant [5 x i8] c" -o \00" @.str11227 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11228 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11229 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" @.str11230 = private unnamed_addr constant [2 x i8] c"\22\00" @.str11231 = private unnamed_addr constant [2 x i8] c"\22\00" define i32 @lp_str_eq(ptr %a, ptr %b) { entry: br label %loop loop: %i = phi i32 [ 0, %entry ], [ %i1, %cont ] %pa = getelementptr inbounds i8, ptr %a, i32 %i %pb = getelementptr inbounds i8, ptr %b, i32 %i %ca = load i8, ptr %pa %cb = load i8, ptr %pb %df = icmp ne i8 %ca, %cb br i1 %df, label %ret0, label %chk chk: %zt = icmp eq i8 %ca, 0 br i1 %zt, label %ret1, label %cont cont: %i1 = add i32 %i, 1 br label %loop ret1: ret i32 1 ret0: ret i32 0 } define ptr @lp_str_concat(ptr %a, ptr %b) { entry: br label %al al: %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ] %pa = getelementptr inbounds i8, ptr %a, i32 %ia %cca = load i8, ptr %pa %za = icmp eq i8 %cca, 0 br i1 %za, label %bl0, label %alb alb: %ia1 = add i32 %ia, 1 br label %al bl0: br label %bl bl: %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ] %pb = getelementptr inbounds i8, ptr %b, i32 %ib %ccb = load i8, ptr %pb %zb = icmp eq i8 %ccb, 0 br i1 %zb, label %alloc, label %blb blb: %ib1 = add i32 %ib, 1 br label %bl alloc: %sum = add i32 %ia, %ib %sz = add i32 %sum, 1 %sz64 = sext i32 %sz to i64 %out = call ptr @malloc(i64 %sz64) br label %c1 c1: %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ] %d1 = icmp slt i32 %i, %ia br i1 %d1, label %c1b, label %c2i c1b: %s1 = getelementptr inbounds i8, ptr %a, i32 %i %v1 = load i8, ptr %s1 %o1 = getelementptr inbounds i8, ptr %out, i32 %i store i8 %v1, ptr %o1 %i1 = add i32 %i, 1 br label %c1 c2i: br label %c2 c2: %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ] %d2 = icmp slt i32 %j, %ib br i1 %d2, label %c2b, label %fin c2b: %s2 = getelementptr inbounds i8, ptr %b, i32 %j %v2 = load i8, ptr %s2 %oj = add i32 %ia, %j %o2 = getelementptr inbounds i8, ptr %out, i32 %oj store i8 %v2, ptr %o2 %j1 = add i32 %j, 1 br label %c2 fin: %pe = getelementptr inbounds i8, ptr %out, i32 %sum store i8 0, ptr %pe ret ptr %out } define ptr @lp_int_str(i32 %n0) { entry: %buf = call ptr @malloc(i64 24) %isneg = icmp slt i32 %n0, 0 %neg = sub i32 0, %n0 %n = select i1 %isneg, i32 %neg, i32 %n0 %term = getelementptr inbounds i8, ptr %buf, i32 23 store i8 0, ptr %term %iszero = icmp eq i32 %n0, 0 br i1 %iszero, label %zc, label %dl zc: %zp = getelementptr inbounds i8, ptr %buf, i32 22 store i8 48, ptr %zp ret ptr %zp dl: br label %dloop dloop: %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ] %cur = phi i32 [ %n, %dl ], [ %cur2, %dbody ] %done = icmp eq i32 %cur, 0 br i1 %done, label %sign, label %dbody dbody: %d = urem i32 %cur, 10 %ch = add i32 %d, 48 %ch8 = trunc i32 %ch to i8 %pp = getelementptr inbounds i8, ptr %buf, i32 %pos store i8 %ch8, ptr %pp %cur2 = udiv i32 %cur, 10 %pos2 = sub i32 %pos, 1 br label %dloop sign: br i1 %isneg, label %addneg, label %fin addneg: %sp = getelementptr inbounds i8, ptr %buf, i32 %pos store i8 45, ptr %sp %posn = sub i32 %pos, 1 br label %fin fin: %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ] %rpos = add i32 %fpos, 1 %res = getelementptr inbounds i8, ptr %buf, i32 %rpos ret ptr %res } define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) { entry: %len = sub i32 %end, %start %sz = add i32 %len, 1 %sz64 = sext i32 %sz to i64 %out = call ptr @malloc(i64 %sz64) br label %loop loop: %i = phi i32 [ 0, %entry ], [ %i1, %body ] %d = icmp slt i32 %i, %len br i1 %d, label %body, label %fin body: %si = add i32 %start, %i %sp = getelementptr inbounds i8, ptr %s, i32 %si %c = load i8, ptr %sp %op = getelementptr inbounds i8, ptr %out, i32 %i store i8 %c, ptr %op %i1 = add i32 %i, 1 br label %loop fin: %tp = getelementptr inbounds i8, ptr %out, i32 %len store i8 0, ptr %tp ret ptr %out } define ptr @lp_fs_dup(ptr %s, i32 %n) { entry: %nz = zext i32 %n to i64 %t = add i64 %nz, 1 %m = call ptr @malloc(i64 %t) call ptr @memcpy(ptr %m, ptr %s, i64 %nz) %end = getelementptr i8, ptr %m, i32 %n store i8 0, ptr %end ret ptr %m } define ptr @lp_fs_strdup(ptr %s) { entry: %l = call i64 @strlen(ptr %s) %li = trunc i64 %l to i32 %r = call ptr @lp_fs_dup(ptr %s, i32 %li) ret ptr %r } define i32 @lp_fs_lastslash(ptr %s) { entry: %ip = alloca i32 %rp = alloca i32 store i32 0, ptr %ip store i32 -1, ptr %rp br label %lp lp: %i = load i32, ptr %ip %p = getelementptr i8, ptr %s, i32 %i %b = load i8, ptr %p %c = zext i8 %b to i32 %z = icmp eq i32 %c, 0 br i1 %z, label %done, label %go go: %sl = icmp eq i32 %c, 47 br i1 %sl, label %set, label %nx set: store i32 %i, ptr %rp br label %nx nx: %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %lp done: %r = load i32, ptr %rp ret i32 %r } define ptr @lp_path_join(ptr %a, ptr %b) { entry: %la64 = call i64 @strlen(ptr %a) %la = trunc i64 %la64 to i32 %lb64 = call i64 @strlen(ptr %b) %lb = trunc i64 %lb64 to i32 %b0 = load i8, ptr %b %b0i = zext i8 %b0 to i32 %babs = icmp eq i32 %b0i, 47 br i1 %babs, label %retb, label %ka retb: %rb = call ptr @lp_fs_strdup(ptr %b) ret ptr %rb ka: %aemp = icmp eq i32 %la, 0 br i1 %aemp, label %retb2, label %kb retb2: %rb2 = call ptr @lp_fs_strdup(ptr %b) ret ptr %rb2 kb: %bemp = icmp eq i32 %lb, 0 br i1 %bemp, label %reta, label %chk reta: %ra = call ptr @lp_fs_strdup(ptr %a) ret ptr %ra chk: %lam1 = sub i32 %la, 1 %pe = getelementptr i8, ptr %a, i32 %lam1 %ae = load i8, ptr %pe %aei = zext i8 %ae to i32 %ends = icmp eq i32 %aei, 47 %sep = select i1 %ends, i32 0, i32 1 %tot = add i32 %la, %lb %tot2 = add i32 %tot, %sep %tot3 = add i32 %tot2, 1 %totz = zext i32 %tot3 to i64 %m = call ptr @malloc(i64 %totz) %laz = zext i32 %la to i64 call ptr @memcpy(ptr %m, ptr %a, i64 %laz) br i1 %ends, label %nosep, label %wsep wsep: %sp = getelementptr i8, ptr %m, i32 %la store i8 47, ptr %sp br label %after nosep: br label %after after: %boff = add i32 %la, %sep %dp = getelementptr i8, ptr %m, i32 %boff %lbz = zext i32 %lb to i64 call ptr @memcpy(ptr %dp, ptr %b, i64 %lbz) %endoff = add i32 %boff, %lb %ep = getelementptr i8, ptr %m, i32 %endoff store i8 0, ptr %ep ret ptr %m } define ptr @lp_path_base(ptr %s) { entry: %ls = call i32 @lp_fs_lastslash(ptr %s) %none = icmp eq i32 %ls, -1 br i1 %none, label %whole, label %tail whole: %r = call ptr @lp_fs_strdup(ptr %s) ret ptr %r tail: %st = add i32 %ls, 1 %p = getelementptr i8, ptr %s, i32 %st %r2 = call ptr @lp_fs_strdup(ptr %p) ret ptr %r2 } define ptr @lp_path_dir(ptr %s) { entry: %ls = call i32 @lp_fs_lastslash(ptr %s) %none = icmp eq i32 %ls, -1 br i1 %none, label %dot, label %chk0 dot: %d = call ptr @lp_fs_strdup(ptr @fn_str_dot) ret ptr %d chk0: %isroot = icmp eq i32 %ls, 0 br i1 %isroot, label %root, label %cut root: %r = call ptr @lp_fs_strdup(ptr @fn_str_slash) ret ptr %r cut: %r2 = call ptr @lp_fs_dup(ptr %s, i32 %ls) ret ptr %r2 } define ptr @lp_path_ext(ptr %s) { entry: %ls = call i32 @lp_fs_lastslash(ptr %s) %bstart = add i32 %ls, 1 %dp = alloca i32 %ip = alloca i32 store i32 -1, ptr %dp store i32 %bstart, ptr %ip br label %lp lp: %i = load i32, ptr %ip %p = getelementptr i8, ptr %s, i32 %i %b = load i8, ptr %p %c = zext i8 %b to i32 %z = icmp eq i32 %c, 0 br i1 %z, label %done, label %go go: %dot = icmp eq i32 %c, 46 br i1 %dot, label %sd, label %nx sd: store i32 %i, ptr %dp br label %nx nx: %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %lp done: %d = load i32, ptr %dp %nod = icmp eq i32 %d, -1 br i1 %nod, label %empty, label %chkpos empty: %e = call ptr @lp_fs_strdup(ptr @fn_str_empty) ret ptr %e chkpos: %atstart = icmp eq i32 %d, %bstart br i1 %atstart, label %empty2, label %take empty2: %e2 = call ptr @lp_fs_strdup(ptr @fn_str_empty) ret ptr %e2 take: %pp = getelementptr i8, ptr %s, i32 %d %r = call ptr @lp_fs_strdup(ptr %pp) ret ptr %r } define ptr @lp_path_stem(ptr %s) { entry: %base = call ptr @lp_path_base(ptr %s) %ext = call ptr @lp_path_ext(ptr %s) %bl64 = call i64 @strlen(ptr %base) %bl = trunc i64 %bl64 to i32 %el64 = call i64 @strlen(ptr %ext) %el = trunc i64 %el64 to i32 %keep = sub i32 %bl, %el %r = call ptr @lp_fs_dup(ptr %base, i32 %keep) ret ptr %r } define ptr @lp_path_norm(ptr %s) { entry: %len64 = call i64 @strlen(ptr %s) %len = trunc i64 %len64 to i32 %cap = add i32 %len, 2 %capz = zext i32 %cap to i64 %out = call ptr @malloc(i64 %capz) %stz = mul i32 %cap, 4 %stzz = zext i32 %stz to i64 %segst = call ptr @malloc(i64 %stzz) %b0 = load i8, ptr %s %b0i = zext i8 %b0 to i32 %abs = icmp eq i32 %b0i, 47 %ip = alloca i32 %op = alloca i32 %scp = alloca i32 store i32 0, ptr %ip store i32 0, ptr %scp br i1 %abs, label %ldr, label %noldr ldr: store i8 47, ptr %out store i32 1, ptr %op br label %seg noldr: store i32 0, ptr %op br label %seg seg: br label %sksl sksl: %i = load i32, ptr %ip %pp = getelementptr i8, ptr %s, i32 %i %cc = load i8, ptr %pp %cci = zext i8 %cc to i32 %issl = icmp eq i32 %cci, 47 br i1 %issl, label %adv, label %segstart adv: %i2 = add i32 %i, 1 store i32 %i2, ptr %ip br label %sksl segstart: %ss = load i32, ptr %ip br label %scan scan: %j = load i32, ptr %ip %pj = getelementptr i8, ptr %s, i32 %j %cj = load i8, ptr %pj %cji = zext i8 %cj to i32 %endc = icmp eq i32 %cji, 0 %slc = icmp eq i32 %cji, 47 %stop = or i1 %endc, %slc br i1 %stop, label %seghave, label %scanadv scanadv: %j1 = add i32 %j, 1 store i32 %j1, ptr %ip br label %scan seghave: %se = load i32, ptr %ip %slen = sub i32 %se, %ss %emptyseg = icmp eq i32 %slen, 0 br i1 %emptyseg, label %atend, label %classify classify: %is1 = icmp eq i32 %slen, 1 %c0p = getelementptr i8, ptr %s, i32 %ss %c0 = load i8, ptr %c0p %c0i = zext i8 %c0 to i32 %isdotchar = icmp eq i32 %c0i, 46 %isdot = and i1 %is1, %isdotchar br i1 %isdot, label %contseg, label %chkdd chkdd: %is2 = icmp eq i32 %slen, 2 %d0p = getelementptr i8, ptr %s, i32 %ss %d0 = load i8, ptr %d0p %d0i = zext i8 %d0 to i32 %d1o = add i32 %ss, 1 %d1p = getelementptr i8, ptr %s, i32 %d1o %d1 = load i8, ptr %d1p %d1i = zext i8 %d1 to i32 %dd0 = icmp eq i32 %d0i, 46 %dd1 = icmp eq i32 %d1i, 46 %ddx = and i1 %dd0, %dd1 %isdd = and i1 %is2, %ddx br i1 %isdd, label %dotdot, label %keepseg dotdot: %sc = load i32, ptr %scp %has = icmp sgt i32 %sc, 0 br i1 %has, label %pop, label %chkrel pop: %sc1 = sub i32 %sc, 1 %stp = getelementptr i32, ptr %segst, i32 %sc1 %newop = load i32, ptr %stp store i32 %newop, ptr %op store i32 %sc1, ptr %scp br label %contseg chkrel: br i1 %abs, label %contseg, label %keepseg keepseg: %sc2 = load i32, ptr %scp %o0 = load i32, ptr %op %stp2 = getelementptr i32, ptr %segst, i32 %sc2 store i32 %o0, ptr %stp2 %sc2n = add i32 %sc2, 1 store i32 %sc2n, ptr %scp %cpp = alloca i32 store i32 %ss, ptr %cpp br label %cpy cpy: %k = load i32, ptr %cpp %klt = icmp slt i32 %k, %se br i1 %klt, label %cpyb, label %cpysl cpyb: %skp = getelementptr i8, ptr %s, i32 %k %sk = load i8, ptr %skp %oo = load i32, ptr %op %dkp = getelementptr i8, ptr %out, i32 %oo store i8 %sk, ptr %dkp %oo1 = add i32 %oo, 1 store i32 %oo1, ptr %op %k1 = add i32 %k, 1 store i32 %k1, ptr %cpp br label %cpy cpysl: %oc = load i32, ptr %op %scp3 = getelementptr i8, ptr %out, i32 %oc store i8 47, ptr %scp3 %oc1 = add i32 %oc, 1 store i32 %oc1, ptr %op br label %contseg contseg: %ci = load i32, ptr %ip %cip = getelementptr i8, ptr %s, i32 %ci %cic = load i8, ptr %cip %cici = zext i8 %cic to i32 %atz = icmp eq i32 %cici, 0 br i1 %atz, label %finish, label %seg atend: br label %finish finish: %fo = load i32, ptr %op %gt1 = icmp sgt i32 %fo, 1 br i1 %gt1, label %trimchk, label %fdefault trimchk: %lasto = sub i32 %fo, 1 %lop = getelementptr i8, ptr %out, i32 %lasto %lc = load i8, ptr %lop %lci = zext i8 %lc to i32 %istsl = icmp eq i32 %lci, 47 br i1 %istsl, label %trim, label %term trim: store i32 %lasto, ptr %op br label %term fdefault: br label %term term: %eo = load i32, ptr %op %ez = icmp eq i32 %eo, 0 br i1 %ez, label %emptyout, label %putnul emptyout: store i8 46, ptr %out %e1 = getelementptr i8, ptr %out, i32 1 store i8 0, ptr %e1 ret ptr %out putnul: %ep = getelementptr i8, ptr %out, i32 %eo store i8 0, ptr %ep ret ptr %out } define i32 @lp_fs_exists(ptr %p) { entry: %ip = call i32 @lp_pak_has(ptr %p) %inpak = icmp ne i32 %ip, 0 br i1 %inpak, label %yes, label %disk yes: ret i32 1 disk: %r = call i32 @access(ptr %p, i32 0) %ok = icmp eq i32 %r, 0 %z = zext i1 %ok to i32 ret i32 %z } define i32 @lp_fs_is_dir(ptr %p) { entry: %d = call ptr @opendir(ptr %p) %nz = icmp ne ptr %d, null br i1 %nz, label %yes, label %no yes: call i32 @closedir(ptr %d) ret i32 1 no: ret i32 0 } define i32 @lp_fs_size(ptr %p) { entry: %pn = call i32 @lp_pak_bytes(ptr %p) %inpak = icmp sge i32 %pn, 0 br i1 %inpak, label %packed, label %disk packed: ret i32 %pn disk: %f = call ptr @fopen(ptr %p, ptr @fn_str_rb) %nz = icmp ne ptr %f, null br i1 %nz, label %ok, label %bad bad: ret i32 -1 ok: call i32 @fseek(ptr %f, i64 0, i32 2) %n = call i64 @ftell(ptr %f) call i32 @fclose(ptr %f) %ni = trunc i64 %n to i32 ret i32 %ni } define ptr @lp_fs_readall(ptr %p, ptr %lenout) { entry: store i32 0, ptr %lenout %f = call ptr @lp_pak_open(ptr %p, ptr @fn_str_rb) %nz = icmp ne ptr %f, null br i1 %nz, label %ok, label %bad bad: ret ptr null ok: call i32 @fseek(ptr %f, i64 0, i32 2) %n64 = call i64 @ftell(ptr %f) call i32 @fseek(ptr %f, i64 0, i32 0) %n = trunc i64 %n64 to i32 %cap = add i64 %n64, 1 %m = call ptr @malloc(i64 %cap) %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f) call i32 @fclose(ptr %f) %rdi = trunc i64 %rd to i32 %endp = getelementptr i8, ptr %m, i32 %rdi store i8 0, ptr %endp store i32 %rdi, ptr %lenout ret ptr %m } define ptr @lp_fs_read_text(ptr %p) { entry: %lp = alloca i32 %r = call ptr @lp_fs_readall(ptr %p, ptr %lp) ret ptr %r } define i32 @lp_fs_write_text(ptr %p, ptr %s) { entry: %tmp = call ptr @lp_path_join_ext(ptr %p, ptr @fn_str_dottmp) %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb) %nz = icmp ne ptr %f, null br i1 %nz, label %ok, label %bad bad: ret i32 0 ok: %n = call i64 @strlen(ptr %s) %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f) call i32 @fclose(ptr %f) %rr = call i32 @rename(ptr %tmp, ptr %p) %ok2 = icmp eq i32 %rr, 0 %z = zext i1 %ok2 to i32 ret i32 %z } define ptr @lp_path_join_ext(ptr %a, ptr %b) { entry: %la = call i64 @strlen(ptr %a) %lb = call i64 @strlen(ptr %b) %sum = add i64 %la, %lb %tot = add i64 %sum, 1 %m = call ptr @malloc(i64 %tot) call ptr @memcpy(ptr %m, ptr %a, i64 %la) %m2 = getelementptr i8, ptr %m, i64 %la call ptr @memcpy(ptr %m2, ptr %b, i64 %lb) %ep = getelementptr i8, ptr %m, i64 %sum store i8 0, ptr %ep ret ptr %m } define i32 @lp_fs_append_text(ptr %p, ptr %s) { entry: %f = call ptr @fopen(ptr %p, ptr @fn_str_ab) %nz = icmp ne ptr %f, null br i1 %nz, label %ok, label %bad bad: ret i32 0 ok: %n = call i64 @strlen(ptr %s) call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f) call i32 @fclose(ptr %f) ret i32 1 } define i32 @lp_fs_remove(ptr %p) { entry: %r = call i32 @remove(ptr %p) %ok = icmp eq i32 %r, 0 %z = zext i1 %ok to i32 ret i32 %z } define i32 @lp_fs_copy(ptr %src, ptr %dst) { entry: %lp = alloca i32 %buf = call ptr @lp_fs_readall(ptr %src, ptr %lp) %nz = icmp ne ptr %buf, null br i1 %nz, label %ok, label %bad bad: ret i32 0 ok: %tmp = call ptr @lp_path_join_ext(ptr %dst, ptr @fn_str_dottmp) %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb) %fnz = icmp ne ptr %f, null br i1 %fnz, label %w, label %bad w: %n = load i32, ptr %lp %nz64 = zext i32 %n to i64 call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f) call i32 @fclose(ptr %f) %rr = call i32 @rename(ptr %tmp, ptr %dst) %ok2 = icmp eq i32 %rr, 0 %z = zext i1 %ok2 to i32 ret i32 %z } define i32 @lp_fs_mkdir(ptr %p) { entry: %dup = call ptr @lp_fs_strdup(ptr %p) %ip = alloca i32 store i32 1, ptr %ip br label %lp lp: %i = load i32, ptr %ip %pp = getelementptr i8, ptr %dup, i32 %i %c = load i8, ptr %pp %ci = zext i8 %c to i32 %z = icmp eq i32 %ci, 0 br i1 %z, label %fin, label %go go: %sl = icmp eq i32 %ci, 47 br i1 %sl, label %cut, label %nx cut: store i8 0, ptr %pp call i32 @mkdir(ptr %dup, i32 493) store i8 47, ptr %pp br label %nx nx: %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %lp fin: call i32 @mkdir(ptr %dup, i32 493) %r = call i32 @lp_fs_is_dir(ptr %p) ret i32 %r } define ptr @lp_fs_list(ptr %path) { entry: %h = call ptr @malloc(i64 16) %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0 %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1 %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2 %datap = alloca ptr %cntp = alloca i32 %capp = alloca i32 %init = call ptr @malloc(i64 128) store ptr %init, ptr %datap store i32 0, ptr %cntp store i32 16, ptr %capp %dir = call ptr @opendir(ptr %path) %dnz = icmp ne ptr %dir, null br i1 %dnz, label %rd, label %empty rd: %de = call ptr @readdir(ptr %dir) %denz = icmp ne ptr %de, null br i1 %denz, label %ent, label %closed ent: %namep = getelementptr i8, ptr %de, i32 21 %n0 = load i8, ptr %namep %n0i = zext i8 %n0 to i32 %isdot0 = icmp eq i32 %n0i, 46 br i1 %isdot0, label %chkdots, label %keep chkdots: %n1p = getelementptr i8, ptr %namep, i32 1 %n1 = load i8, ptr %n1p %n1i = zext i8 %n1 to i32 %n1z = icmp eq i32 %n1i, 0 br i1 %n1z, label %rd, label %chkdd chkdd: %isdot1 = icmp eq i32 %n1i, 46 br i1 %isdot1, label %chkdd2, label %keep chkdd2: %n2p = getelementptr i8, ptr %namep, i32 2 %n2 = load i8, ptr %n2p %n2i = zext i8 %n2 to i32 %n2z = icmp eq i32 %n2i, 0 br i1 %n2z, label %rd, label %keep keep: %nm = call ptr @lp_fs_strdup(ptr %namep) %cnt = load i32, ptr %cntp %cap = load i32, ptr %capp %full = icmp sge i32 %cnt, %cap br i1 %full, label %grow, label %put grow: %nc = mul i32 %cap, 2 store i32 %nc, ptr %capp %ncz = zext i32 %nc to i64 %nb = mul i64 %ncz, 8 %old = load ptr, ptr %datap %new = call ptr @realloc(ptr %old, i64 %nb) store ptr %new, ptr %datap br label %put put: %data = load ptr, ptr %datap %cnt2 = load i32, ptr %cntp %slot = getelementptr ptr, ptr %data, i32 %cnt2 store ptr %nm, ptr %slot %cnt3 = add i32 %cnt2, 1 store i32 %cnt3, ptr %cntp br label %rd closed: call i32 @closedir(ptr %dir) br label %sortit empty: br label %sortit sortit: %fdata = load ptr, ptr %datap %fcnt = load i32, ptr %cntp %aip = alloca i32 store i32 1, ptr %aip br label %so so: %ai = load i32, ptr %aip %ailt = icmp slt i32 %ai, %fcnt br i1 %ailt, label %sob, label %sod sob: %kp = getelementptr ptr, ptr %fdata, i32 %ai %key = load ptr, ptr %kp %jp = alloca i32 %aim1 = sub i32 %ai, 1 store i32 %aim1, ptr %jp br label %si si: %jj = load i32, ptr %jp %jge = icmp sge i32 %jj, 0 br i1 %jge, label %sic, label %sins sic: %ejp = getelementptr ptr, ptr %fdata, i32 %jj %ej = load ptr, ptr %ejp %cmp = call i32 @strcmp(ptr %ej, ptr %key) %gt = icmp sgt i32 %cmp, 0 br i1 %gt, label %shift, label %sins shift: %j1 = add i32 %jj, 1 %dp1 = getelementptr ptr, ptr %fdata, i32 %j1 store ptr %ej, ptr %dp1 %jm = sub i32 %jj, 1 store i32 %jm, ptr %jp br label %si sins: %jf = load i32, ptr %jp %jf1 = add i32 %jf, 1 %insp = getelementptr ptr, ptr %fdata, i32 %jf1 store ptr %key, ptr %insp %ai1 = add i32 %ai, 1 store i32 %ai1, ptr %aip br label %so sod: store ptr %fdata, ptr %d0 store i32 %fcnt, ptr %d1 store i32 %fcnt, ptr %d2 ret ptr %h } @.str11232 = private unnamed_addr constant [4 x i8] c"png\00" @.str11233 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str11234 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str11235 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11236 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str11237 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str11238 = private unnamed_addr constant [4 x i8] c"gif\00" @.str11239 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str11240 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str11241 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str11242 = private unnamed_addr constant [5 x i8] c"webp\00" @.str11243 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str11244 = private unnamed_addr constant [4 x i8] c"svg\00" @.str11245 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str11246 = private unnamed_addr constant [4 x i8] c"txt\00" @.str11247 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str11248 = private unnamed_addr constant [3 x i8] c"md\00" @.str11249 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str11250 = private unnamed_addr constant [4 x i8] c"csv\00" @.str11251 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str11252 = private unnamed_addr constant [5 x i8] c"html\00" @.str11253 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11254 = private unnamed_addr constant [4 x i8] c"htm\00" @.str11255 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str11256 = private unnamed_addr constant [4 x i8] c"css\00" @.str11257 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str11258 = private unnamed_addr constant [3 x i8] c"js\00" @.str11259 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str11260 = private unnamed_addr constant [5 x i8] c"json\00" @.str11261 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str11262 = private unnamed_addr constant [4 x i8] c"xml\00" @.str11263 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str11264 = private unnamed_addr constant [4 x i8] c"zip\00" @.str11265 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str11266 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str11267 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str11268 = private unnamed_addr constant [4 x i8] c"wav\00" @.str11269 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str11270 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str11271 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str11272 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str11273 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str11274 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str11275 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str11276 = private unnamed_addr constant [4 x i8] c"otf\00" @.str11277 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str11278 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str11279 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str11280 = 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 @.str11232, ptr @.str11233 }, { ptr, ptr } { ptr @.str11234, ptr @.str11235 }, { ptr, ptr } { ptr @.str11236, ptr @.str11237 }, { ptr, ptr } { ptr @.str11238, ptr @.str11239 }, { ptr, ptr } { ptr @.str11240, ptr @.str11241 }, { ptr, ptr } { ptr @.str11242, ptr @.str11243 }, { ptr, ptr } { ptr @.str11244, ptr @.str11245 }, { ptr, ptr } { ptr @.str11246, ptr @.str11247 }, { ptr, ptr } { ptr @.str11248, ptr @.str11249 }, { ptr, ptr } { ptr @.str11250, ptr @.str11251 }, { ptr, ptr } { ptr @.str11252, ptr @.str11253 }, { ptr, ptr } { ptr @.str11254, ptr @.str11255 }, { ptr, ptr } { ptr @.str11256, ptr @.str11257 }, { ptr, ptr } { ptr @.str11258, ptr @.str11259 }, { ptr, ptr } { ptr @.str11260, ptr @.str11261 }, { ptr, ptr } { ptr @.str11262, ptr @.str11263 }, { ptr, ptr } { ptr @.str11264, ptr @.str11265 }, { ptr, ptr } { ptr @.str11266, ptr @.str11267 }, { ptr, ptr } { ptr @.str11268, ptr @.str11269 }, { ptr, ptr } { ptr @.str11270, ptr @.str11271 }, { ptr, ptr } { ptr @.str11272, ptr @.str11273 }, { ptr, ptr } { ptr @.str11274, ptr @.str11275 }, { ptr, ptr } { ptr @.str11276, ptr @.str11277 }, { ptr, ptr } { ptr @.str11278, ptr @.str11279 }] 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 @.str11280) 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" @.pak_rb = private unnamed_addr constant [3 x i8] c"rb\00" @.pak_idx = private unnamed_addr constant [12 x i8] c"packs.index\00" @.pak_res = private unnamed_addr constant [13 x i8] c"../Resources\00" @.pak_appsup= private unnamed_addr constant [28 x i8] c"Library/Application Support\00" @.pak_home = private unnamed_addr constant [5 x i8] c"HOME\00" @L_pak_base = internal global [8 x ptr] zeroinitializer @L_pak_n = internal global i32 0 @L_pak_splash = internal global ptr null @L_pak_splashbg = internal global i32 0 define i32 @lp_pak_mount(ptr %path) { entry: %n = load i32, ptr @L_pak_n %full = icmp sge i32 %n, 8 br i1 %full, label %no, label %op op: %fd = call i32 (ptr, i32, ...) @open(ptr %path, i32 0) %bad = icmp slt i32 %fd, 0 br i1 %bad, label %no, label %sz sz: %end = call i64 @lseek(i32 %fd, i64 0, i32 2) %small = icmp slt i64 %end, 32 br i1 %small, label %clo, label %mp mp: %base = call ptr @mmap(ptr null, i64 %end, i32 1, i32 2, i32 %fd, i64 0) %mbad = icmp eq ptr %base, inttoptr (i64 -1 to ptr) br i1 %mbad, label %clo, label %chk chk: %m = load i32, ptr %base %okm = icmp eq i32 %m, 1262571596 br i1 %okm, label %keep, label %clo keep: %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %n store ptr %base, ptr %slot %n1 = add i32 %n, 1 store i32 %n1, ptr @L_pak_n %c1 = call i32 @close(i32 %fd) ret i32 1 clo: %c2 = call i32 @close(i32 %fd) ret i32 0 no: ret i32 0 } define ptr @lp_pak_norm(ptr %p) { entry: %c0 = load i8, ptr %p %c0i = zext i8 %c0 to i32 %isdot = icmp eq i32 %c0i, 46 br i1 %isdot, label %chk2, label %same chk2: %p1 = getelementptr i8, ptr %p, i32 1 %c1 = load i8, ptr %p1 %c1i = zext i8 %c1 to i32 %issl = icmp eq i32 %c1i, 47 br i1 %issl, label %skip, label %same skip: %p2 = getelementptr i8, ptr %p, i32 2 %r = call ptr @lp_pak_norm(ptr %p2) ret ptr %r same: ret ptr %p } define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) { entry: %cntp = getelementptr i8, ptr %base, i32 8 %cnt = load i32, ptr %cntp %lop = alloca i32 %hip = alloca i32 store i32 0, ptr %lop %h0 = sub i32 %cnt, 1 store i32 %h0, ptr %hip br label %loop loop: %lo = load i32, ptr %lop %hi = load i32, ptr %hip %fin = icmp sgt i32 %lo, %hi br i1 %fin, label %miss, label %mid mid: %sum = add i32 %lo, %hi %m = sdiv i32 %sum, 2 %eo = mul i32 %m, 16 %eo2 = add i32 %eo, 32 %ep = getelementptr i8, ptr %base, i32 %eo2 %noff = load i32, ptr %ep %nptr = getelementptr i8, ptr %base, i32 %noff %c = call i32 @strcmp(ptr %nptr, ptr %name) %iseq = icmp eq i32 %c, 0 br i1 %iseq, label %hit, label %cmp cmp: %lt = icmp slt i32 %c, 0 br i1 %lt, label %goup, label %godn goup: %m1 = add i32 %m, 1 store i32 %m1, ptr %lop br label %loop godn: %m2 = sub i32 %m, 1 store i32 %m2, ptr %hip br label %loop hit: %dop = getelementptr i8, ptr %ep, i32 4 %doff = load i32, ptr %dop %dlp = getelementptr i8, ptr %ep, i32 8 %dlen = load i32, ptr %dlp store i32 %dlen, ptr %outlen %dp = getelementptr i8, ptr %base, i32 %doff ret ptr %dp miss: ret ptr null } define ptr @lp_pak_find(ptr %path, ptr %outlen) { entry: %p = call ptr @lp_pak_norm(ptr %path) %np = load i32, ptr @L_pak_n %ip = alloca i32 %i0 = sub i32 %np, 1 store i32 %i0, ptr %ip br label %loop loop: %i = load i32, ptr %ip %done = icmp slt i32 %i, 0 br i1 %done, label %miss, label %body body: %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %i %base = load ptr, ptr %slot %r = call ptr @lp_pak_find1(ptr %base, ptr %p, ptr %outlen) %hit = icmp ne ptr %r, null br i1 %hit, label %got, label %next got: ret ptr %r next: %i1 = sub i32 %i, 1 store i32 %i1, ptr %ip br label %loop miss: ret ptr null } define i32 @lp_pak_has(ptr %path) { entry: %lp = alloca i32 store i32 0, ptr %lp %b = call ptr @lp_pak_find(ptr %path, ptr %lp) %hit = icmp ne ptr %b, null %r = select i1 %hit, i32 1, i32 0 ret i32 %r } define i32 @lp_pak_bytes(ptr %path) { entry: %lp = alloca i32 store i32 0, ptr %lp %b = call ptr @lp_pak_find(ptr %path, ptr %lp) %hit = icmp ne ptr %b, null br i1 %hit, label %yes, label %no yes: %l = load i32, ptr %lp ret i32 %l no: ret i32 -1 } define ptr @lp_pak_open(ptr %path, ptr %mode) { entry: %m0 = load i8, ptr %mode %m0i = zext i8 %m0 to i32 %isr = icmp eq i32 %m0i, 114 br i1 %isr, label %try, label %real try: %lp = alloca i32 store i32 0, ptr %lp %blob = call ptr @lp_pak_find(ptr %path, ptr %lp) %hit = icmp ne ptr %blob, null br i1 %hit, label %mem, label %real mem: %len = load i32, ptr %lp %lz = zext i32 %len to i64 %f = call ptr @fmemopen(ptr %blob, i64 %lz, ptr @.pak_rb) ret ptr %f real: %rf = call ptr @fopen(ptr %path, ptr %mode) ret ptr %rf } define ptr @lp_pak_slurp(ptr %path) { entry: %f = call ptr @fopen(ptr %path, ptr @.pak_rb) %bad = icmp eq ptr %f, null br i1 %bad, label %no, label %go go: %s1 = call i32 @fseek(ptr %f, i64 0, i32 2) %n64 = call i64 @ftell(ptr %f) %s2 = call i32 @fseek(ptr %f, i64 0, i32 0) %cap = add i64 %n64, 1 %buf = call ptr @malloc(i64 %cap) %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f) %e = getelementptr i8, ptr %buf, i64 %rd store i8 0, ptr %e %c = call i32 @fclose(ptr %f) ret ptr %buf no: ret ptr null } define i32 @lp_pak_boot_dir(ptr %dir) { entry: %ix = call ptr @lp_path_join(ptr %dir, ptr @.pak_idx) %txt = call ptr @lp_pak_slurp(ptr %ix) %none = icmp eq ptr %txt, null br i1 %none, label %no, label %scan scan: %ip = alloca i32 %got = alloca i32 store i32 0, ptr %ip store i32 0, ptr %got %jp = alloca i32 br label %line line: %i = load i32, ptr %ip %lp = getelementptr i8, ptr %txt, i32 %i %c0 = load i8, ptr %lp %c0i = zext i8 %c0 to i32 %atend = icmp eq i32 %c0i, 0 br i1 %atend, label %fin, label %eol eol: store i32 %i, ptr %jp br label %escan escan: %j = load i32, ptr %jp %jq = getelementptr i8, ptr %txt, i32 %j %cj = load i8, ptr %jq %cji = zext i8 %cj to i32 %isnl = icmp eq i32 %cji, 10 %isz = icmp eq i32 %cji, 0 %stop = or i1 %isnl, %isz br i1 %stop, label %ehave, label %eadv eadv: %j1 = add i32 %j, 1 store i32 %j1, ptr %jp br label %escan ehave: %je = load i32, ptr %jp %jep = getelementptr i8, ptr %txt, i32 %je store i8 0, ptr %jep %nexti = add i32 %je, 1 store i32 %nexti, ptr %ip %ln = getelementptr i8, ptr %txt, i32 %i %isp = call i32 @strncmp(ptr %ln, ptr @.pak_kw_pack, i64 5) %pk = icmp eq i32 %isp, 0 br i1 %pk, label %dopack, label %chkhome dopack: %pv = getelementptr i8, ptr %ln, i32 5 %full = call ptr @lp_path_join(ptr %dir, ptr %pv) %ok = call i32 @lp_pak_mount(ptr %full) %g = load i32, ptr %got %g1 = add i32 %g, %ok store i32 %g1, ptr %got br label %line chkhome: %ish = call i32 @strncmp(ptr %ln, ptr @.pak_kw_home, i64 5) %hm = icmp eq i32 %ish, 0 br i1 %hm, label %dohome, label %chkspbg dohome: %hv = getelementptr i8, ptr %ln, i32 5 call void @lp_pak_sethome(ptr %hv) br label %line chkspbg: %isb = call i32 @strncmp(ptr %ln, ptr @.pak_kw_spbg, i64 9) %bg = icmp eq i32 %isb, 0 br i1 %bg, label %dospbg, label %chksp dospbg: %bv = getelementptr i8, ptr %ln, i32 9 %bi = call i32 @atoi(ptr %bv) store i32 %bi, ptr @L_pak_splashbg br label %line chksp: %isS = call i32 @strncmp(ptr %ln, ptr @.pak_kw_splash, i64 7) %sp = icmp eq i32 %isS, 0 br i1 %sp, label %dosp, label %line dosp: %sv = getelementptr i8, ptr %ln, i32 7 store ptr %sv, ptr @L_pak_splash br label %line fin: %gf = load i32, ptr %got ret i32 %gf no: ret i32 0 } @.pak_kw_pack = private unnamed_addr constant [6 x i8] c"pack \00" @.pak_kw_home = private unnamed_addr constant [6 x i8] c"home \00" @.pak_kw_splash = private unnamed_addr constant [8 x i8] c"splash \00" @.pak_kw_spbg = private unnamed_addr constant [10 x i8] c"splashbg \00" define void @lp_pak_sethome(ptr %name) { entry: %h = call ptr @getenv(ptr @.pak_appdata) %nh = icmp eq ptr %h, null br i1 %nh, label %out, label %go go: %b = call ptr @lp_path_join(ptr %h, ptr %name) call void @lp_win_slashes(ptr %b) %mk = call i32 @mkdir(ptr %b, i32 493) %cd = call i32 @chdir(ptr %b) br label %out out: ret void } @.pak_appdata = private unnamed_addr constant [8 x i8] c"APPDATA\00" define void @lp_pak_boot() { entry: %buf = alloca [1024 x i8] %szp = alloca i32 store i32 1024, ptr %szp %rc = call i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) %bad = icmp ne i32 %rc, 0 br i1 %bad, label %out, label %go go: %dir = call ptr @lp_path_dir(ptr %buf) %res = call ptr @lp_path_join(ptr %dir, ptr @.pak_res) %n1 = call i32 @lp_pak_boot_dir(ptr %res) %any = icmp sgt i32 %n1, 0 br i1 %any, label %splash, label %try2 try2: %n2 = call i32 @lp_pak_boot_dir(ptr %dir) br label %splash splash: br label %out out: ret void } @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }] define i32 @fn_char_is_digit(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_c, ptr %t0 %t2 = load i32, ptr %t0 %t3 = icmp sge i32 %t2, 48 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t1 br i1 %t5, label %sc0, label %scend1 sc0: %t7 = load i32, ptr %t0 %t8 = icmp sle i32 %t7, 57 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t1 br label %scend1 scend1: %t12 = load i32, ptr %t1 store i32 %t12, ptr %retval br label %ret ret: %t13 = load i32, ptr %retval ret i32 %t13 } define i32 @fn_char_is_alpha(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t14 = alloca i32 store i32 %arg_c, ptr %t0 %t2 = load i32, ptr %t0 %t3 = icmp sge i32 %t2, 65 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t1 br i1 %t5, label %sc0, label %scend1 sc0: %t7 = load i32, ptr %t0 %t8 = icmp sle i32 %t7, 90 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t1 br label %scend1 scend1: %t12 = load i32, ptr %t1 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then2, label %ifend4 then2: store i32 1, ptr %retval br label %ret ifend4: %t15 = load i32, ptr %t0 %t16 = icmp sge i32 %t15, 97 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t14 br i1 %t18, label %sc5, label %scend6 sc5: %t20 = load i32, ptr %t0 %t21 = icmp sle i32 %t20, 122 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t14 br label %scend6 scend6: %t25 = load i32, ptr %t14 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then7, label %ifend9 then7: store i32 1, ptr %retval br label %ret ifend9: %t27 = load i32, ptr %t0 %t28 = icmp eq i32 %t27, 95 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %retval br label %ret ret: %t30 = load i32, ptr %retval ret i32 %t30 } define i32 @fn_char_is_alnum(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_c, ptr %t0 %t2 = load i32, ptr %t0 %t3 = call i32 @fn_char_is_alpha(i32 %t2) %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t1 br i1 %t4, label %scend1, label %sc0 sc0: %t6 = load i32, ptr %t0 %t7 = call i32 @fn_char_is_digit(i32 %t6) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br label %scend1 scend1: %t10 = load i32, ptr %t1 store i32 %t10, ptr %retval br label %ret ret: %t11 = load i32, ptr %retval ret i32 %t11 } define i32 @fn_str_starts(ptr %arg_s, ptr %arg_prefix) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_prefix, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load ptr, ptr %t1 %t4 = load i32, ptr %t2 %t5 = getelementptr inbounds i8, ptr %t3, i32 %t4 %t6 = load i8, ptr %t5 %t7 = zext i8 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t2 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 %t16 = load ptr, ptr %t1 %t17 = load i32, ptr %t2 %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 %t21 = icmp ne i32 %t15, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: %t24 = load i32, ptr %t2 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t2 br label %wcond0 wend2: store i32 1, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define ptr @fn_itoa(i32 %arg_v) { entry: %retval = alloca ptr %t0 = alloca i32 %t7 = alloca ptr %t15 = alloca i32 %t17 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t44 = alloca i32 %t53 = alloca ptr %t54 = alloca i32 %t60 = alloca i32 store i32 %arg_v, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp eq i32 %t1, 0 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = zext i32 2 to i64 %t6 = call ptr @malloc(i64 %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds i8, ptr %t8, i32 0 %t10 = trunc i32 48 to i8 store i8 %t10, ptr %t9 %t11 = load ptr, ptr %t7 %t12 = getelementptr inbounds i8, ptr %t11, i32 1 %t13 = trunc i32 0 to i8 store i8 %t13, ptr %t12 %t14 = load ptr, ptr %t7 store ptr %t14, ptr %retval br label %ret ifend2: store i32 0, ptr %t15 %t16 = load i32, ptr %t0 store i32 %t16, ptr %t17 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t18, 0 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then3, label %ifend5 then3: store i32 1, ptr %t15 %t22 = load i32, ptr %t17 %t23 = sub i32 0, %t22 store i32 %t23, ptr %t17 br label %ifend5 ifend5: %t24 = zext i32 16 to i64 %t25 = call ptr @malloc(i64 %t24) store ptr %t25, ptr %t26 store i32 0, ptr %t27 br label %wcond6 wcond6: %t28 = load i32, ptr %t17 %t29 = icmp sgt i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %wbody7, label %wend8 wbody7: %t32 = load ptr, ptr %t26 %t33 = load i32, ptr %t27 %t34 = getelementptr inbounds i8, ptr %t32, i32 %t33 %t35 = load i32, ptr %t17 %t36 = srem i32 %t35, 10 %t37 = add i32 48, %t36 %t38 = trunc i32 %t37 to i8 store i8 %t38, ptr %t34 %t39 = load i32, ptr %t17 %t40 = sdiv i32 %t39, 10 store i32 %t40, ptr %t17 %t41 = load i32, ptr %t27 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t27 br label %wcond6 wend8: %t43 = load i32, ptr %t27 store i32 %t43, ptr %t44 %t45 = load i32, ptr %t15 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then9, label %ifend11 then9: %t47 = load i32, ptr %t44 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t44 br label %ifend11 ifend11: %t49 = load i32, ptr %t44 %t50 = add i32 %t49, 1 %t51 = zext i32 %t50 to i64 %t52 = call ptr @malloc(i64 %t51) store ptr %t52, ptr %t53 store i32 0, ptr %t54 %t55 = load i32, ptr %t15 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then12, label %ifend14 then12: %t57 = load ptr, ptr %t53 %t58 = getelementptr inbounds i8, ptr %t57, i32 0 %t59 = trunc i32 45 to i8 store i8 %t59, ptr %t58 store i32 1, ptr %t54 br label %ifend14 ifend14: store i32 0, ptr %t60 br label %wcond15 wcond15: %t61 = load i32, ptr %t60 %t62 = load i32, ptr %t27 %t63 = icmp slt i32 %t61, %t62 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %wbody16, label %wend17 wbody16: %t66 = load ptr, ptr %t53 %t67 = load i32, ptr %t54 %t68 = load i32, ptr %t60 %t69 = add i32 %t67, %t68 %t70 = getelementptr inbounds i8, ptr %t66, i32 %t69 %t71 = load ptr, ptr %t26 %t72 = load i32, ptr %t27 %t73 = sub i32 %t72, 1 %t74 = load i32, ptr %t60 %t75 = sub i32 %t73, %t74 %t76 = getelementptr inbounds i8, ptr %t71, i32 %t75 %t77 = load i8, ptr %t76 %t78 = zext i8 %t77 to i32 %t79 = trunc i32 %t78 to i8 store i8 %t79, ptr %t70 %t80 = load i32, ptr %t60 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t60 br label %wcond15 wend17: %t82 = load ptr, ptr %t53 %t83 = load i32, ptr %t44 %t84 = getelementptr inbounds i8, ptr %t82, i32 %t83 %t85 = trunc i32 0 to i8 store i8 %t85, ptr %t84 %t86 = load ptr, ptr %t53 store ptr %t86, ptr %retval br label %ret ret: %t87 = load ptr, ptr %retval ret ptr %t87 } define ptr @fn_buf_new() { entry: %retval = alloca ptr %t6 = alloca ptr %t0 = getelementptr %Cmp_Buf, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) %t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Buf, ptr %t7, i32 0, i32 2 store i32 256, ptr %t8 %t9 = load ptr, ptr %t6 %t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t6 %t12 = getelementptr inbounds %Cmp_Buf, ptr %t11, i32 0, i32 2 %t13 = load i32, ptr %t12 %t14 = zext i32 %t13 to i64 %t15 = call ptr @malloc(i64 %t14) store ptr %t15, ptr %t10 %t16 = load ptr, ptr %t6 %t17 = getelementptr inbounds %Cmp_Buf, ptr %t16, i32 0, i32 1 store i32 0, ptr %t17 %t18 = load ptr, ptr %t6 store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } define void @fn_buf_ensure(ptr %arg_b, i32 %arg_extra) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_extra, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = load i32, ptr %t1 %t6 = add i32 %t4, %t5 %t7 = add i32 %t6, 1 %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Buf, ptr %t8, i32 0, i32 2 %t10 = load i32, ptr %t9 %t11 = icmp sle i32 %t7, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: br label %ret ifend2: br label %wcond3 wcond3: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Buf, ptr %t14, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = load i32, ptr %t1 %t18 = add i32 %t16, %t17 %t19 = add i32 %t18, 1 %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Buf, ptr %t20, i32 0, i32 2 %t22 = load i32, ptr %t21 %t23 = icmp sgt i32 %t19, %t22 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %wbody4, label %wend5 wbody4: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Buf, ptr %t26, i32 0, i32 2 %t28 = load i32, ptr %t27 %t29 = mul i32 %t28, 2 store i32 %t29, ptr %t27 br label %wcond3 wend5: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Buf, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t0 %t33 = getelementptr inbounds %Cmp_Buf, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Buf, ptr %t35, i32 0, i32 2 %t37 = load i32, ptr %t36 %t38 = zext i32 %t37 to i64 %t39 = call ptr @realloc(ptr %t34, i64 %t38) store ptr %t39, ptr %t31 br label %ret ret: ret void } define void @fn_buf_putc(ptr %arg_b, i32 %arg_c) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_c, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_buf_ensure(ptr %t2, i32 1) %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Buf, ptr %t3, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Buf, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = getelementptr inbounds i8, ptr %t5, i32 %t8 %t10 = load i32, ptr %t1 %t11 = trunc i32 %t10 to i8 store i8 %t11, ptr %t9 %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Buf, ptr %t12, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = add i32 %t14, 1 store i32 %t15, ptr %t13 br label %ret ret: ret void } define void @fn_buf_puts(ptr %arg_b, ptr %arg_s) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_s, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load ptr, ptr %t1 %t4 = load i32, ptr %t2 %t5 = getelementptr inbounds i8, ptr %t3, i32 %t4 %t6 = load i8, ptr %t5 %t7 = zext i8 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load ptr, ptr %t0 %t12 = load ptr, ptr %t1 %t13 = load i32, ptr %t2 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 call void @fn_buf_putc(ptr %t11, i32 %t16) %t17 = load i32, ptr %t2 %t18 = add i32 %t17, 1 store i32 %t18, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_buf_puti(ptr %arg_b, i32 %arg_n) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_n, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load i32, ptr %t1 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_buf_puts(ptr %t2, ptr %t4) br label %ret ret: ret void } define ptr @fn_buf_str(ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Buf, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Buf, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = getelementptr inbounds i8, ptr %t3, i32 %t6 %t8 = trunc i32 0 to i8 store i8 %t8, ptr %t7 %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define ptr @fn_read_file(ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t14 = alloca i32 %t22 = alloca ptr store ptr %arg_path, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_pak_open(ptr %t1, ptr @.str0) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t3 %t9 = sext i32 0 to i64 %t10 = call i32 @fseek(ptr %t8, i64 %t9, i32 2) %t11 = load ptr, ptr %t3 %t12 = call i64 @ftell(ptr %t11) %t13 = trunc i64 %t12 to i32 store i32 %t13, ptr %t14 %t15 = load ptr, ptr %t3 %t16 = sext i32 0 to i64 %t17 = call i32 @fseek(ptr %t15, i64 %t16, i32 0) %t18 = load i32, ptr %t14 %t19 = add i32 %t18, 1 %t20 = zext i32 %t19 to i64 %t21 = call ptr @malloc(i64 %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t3 %t24 = load ptr, ptr %t22 %t25 = load i32, ptr %t14 %t26 = zext i32 %t25 to i64 %t27 = call i64 @fread(ptr %t24, i64 1, i64 %t26, ptr %t23) %t28 = trunc i64 %t27 to i32 %t29 = load ptr, ptr %t22 %t30 = load i32, ptr %t14 %t31 = getelementptr inbounds i8, ptr %t29, i32 %t30 %t32 = trunc i32 0 to i8 store i8 %t32, ptr %t31 %t33 = load ptr, ptr %t3 call i32 @fclose(ptr %t33) %t34 = load ptr, ptr %t22 store ptr %t34, ptr %retval br label %ret ret: %t35 = load ptr, ptr %retval ret ptr %t35 } define i32 @fn_cstr_len(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_s, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load ptr, ptr %t0 %t3 = load i32, ptr %t1 %t4 = getelementptr inbounds i8, ptr %t2, i32 %t3 %t5 = load i8, ptr %t4 %t6 = zext i8 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load i32, ptr %t1 %t11 = add i32 %t10, 1 store i32 %t11, ptr %t1 br label %wcond0 wend2: %t12 = load i32, ptr %t1 store i32 %t12, ptr %retval br label %ret ret: %t13 = load i32, ptr %retval ret i32 %t13 } define ptr @fn_node(i32 %arg_kind) { entry: %retval = alloca ptr %t0 = alloca i32 %t14 = alloca ptr %t29 = alloca i32 store i32 %arg_kind, ptr %t0 %t1 = getelementptr %Cmp_Node, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 %t3 = call ptr @malloc(i64 %t2) %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0 store i32 0, ptr %t4 %t5 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 store ptr null, ptr %t5 %t6 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 2 store i32 0, ptr %t6 %t7 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 3 store ptr null, ptr %t7 %t8 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 store ptr null, ptr %t8 %t9 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 5 store ptr null, ptr %t9 %t10 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 6 store ptr null, ptr %t10 %t11 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 store ptr null, ptr %t11 %t12 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 8 store i32 0, ptr %t12 %t13 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 9 store ptr null, ptr %t13 store ptr %t3, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t0 store i32 %t17, ptr %t16 %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = getelementptr %LSlice, ptr null, i32 1 %t21 = ptrtoint ptr %t20 to i64 %t22 = call ptr @malloc(i64 %t21) %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 store ptr null, ptr %t23 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 store i32 0, ptr %t24 %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 store i32 0, ptr %t25 store ptr %t22, ptr %t19 %t26 = load ptr, ptr %t14 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 9 %t28 = load ptr, ptr @g_g_parse_file store ptr %t28, ptr %t27 %t30 = load i32, ptr @g_g_parsing %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t29 br i1 %t31, label %sc0, label %scend1 sc0: %t33 = load i32, ptr @g_pi %t34 = load ptr, ptr @g_toks %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp slt i32 %t33, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t29 br label %scend1 scend1: %t41 = load i32, ptr %t29 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then2, label %ifend4 then2: %t43 = load ptr, ptr %t14 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 8 %t45 = load ptr, ptr @g_toks %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = load i32, ptr @g_pi %t49 = getelementptr inbounds ptr, ptr %t47, i32 %t48 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %Cmp_Tok, ptr %t50, i32 0, i32 3 %t52 = load i32, ptr %t51 store i32 %t52, ptr %t44 br label %ifend4 ifend4: %t53 = load ptr, ptr %t14 store ptr %t53, ptr %retval br label %ret ret: %t54 = load ptr, ptr %retval ret ptr %t54 } define void @fn_tok_push(i32 %arg_kind, ptr %arg_text, i32 %arg_ival, i32 %arg_line) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t11 = alloca ptr store i32 %arg_kind, ptr %t0 store ptr %arg_text, ptr %t1 store i32 %arg_ival, ptr %t2 store i32 %arg_line, ptr %t3 %t4 = getelementptr %Cmp_Tok, ptr null, i32 1 %t5 = ptrtoint ptr %t4 to i64 %t6 = call ptr @malloc(i64 %t5) %t7 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 0 store i32 0, ptr %t7 %t8 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 1 store ptr null, ptr %t8 %t9 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 2 store i32 0, ptr %t9 %t10 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 3 store i32 0, ptr %t10 store ptr %t6, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %Cmp_Tok, ptr %t12, i32 0, i32 0 %t14 = load i32, ptr %t0 store i32 %t14, ptr %t13 %t15 = load ptr, ptr %t11 %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t1 store ptr %t17, ptr %t16 %t18 = load ptr, ptr %t11 %t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 2 %t20 = load i32, ptr %t2 store i32 %t20, ptr %t19 %t21 = load ptr, ptr %t11 %t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 3 %t23 = load i32, ptr %t3 store i32 %t23, ptr %t22 %t24 = load ptr, ptr @g_toks %t25 = load ptr, ptr %t11 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t29 = load i32, ptr %t26 %t30 = load i32, ptr %t27 %t31 = icmp sge i32 %t29, %t30 br i1 %t31, label %grow0, label %put1 grow0: %t32 = mul i32 %t30, 2 %t33 = icmp eq i32 %t30, 0 %t34 = select i1 %t33, i32 8, i32 %t32 %t35 = getelementptr ptr, ptr null, i32 1 %t36 = ptrtoint ptr %t35 to i64 %t37 = zext i32 %t34 to i64 %t38 = mul i64 %t37, %t36 %t39 = load ptr, ptr %t28 %t40 = call ptr @realloc(ptr %t39, i64 %t38) store ptr %t40, ptr %t28 store i32 %t34, ptr %t27 br label %put1 put1: %t41 = load ptr, ptr %t28 %t42 = getelementptr inbounds ptr, ptr %t41, i32 %t29 store ptr %t25, ptr %t42 %t43 = add i32 %t29, 1 store i32 %t43, ptr %t26 br label %ret ret: ret void } define i32 @fn_two_at(ptr %arg_src, i32 %arg_i, i32 %arg_a, i32 %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_src, ptr %t0 store i32 %arg_i, ptr %t1 store i32 %arg_a, ptr %t2 store i32 %arg_b, ptr %t3 %t5 = load ptr, ptr %t0 %t6 = load i32, ptr %t1 %t7 = getelementptr inbounds i8, ptr %t5, i32 %t6 %t8 = load i8, ptr %t7 %t9 = zext i8 %t8 to i32 %t10 = load i32, ptr %t2 %t11 = icmp eq i32 %t9, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t4 br i1 %t13, label %sc0, label %scend1 sc0: %t15 = load ptr, ptr %t0 %t16 = load i32, ptr %t1 %t17 = add i32 %t16, 1 %t18 = getelementptr inbounds i8, ptr %t15, i32 %t17 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 %t21 = load i32, ptr %t3 %t22 = icmp eq i32 %t20, %t21 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t4 br label %scend1 scend1: %t26 = load i32, ptr %t4 store i32 %t26, ptr %retval br label %ret ret: %t27 = load i32, ptr %retval ret i32 %t27 } define i32 @fn_is_op1(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t41 = alloca i32 %t42 = alloca i32 %t63 = alloca i32 %t64 = alloca i32 %t65 = alloca i32 %t94 = alloca i32 %t95 = alloca i32 %t96 = alloca i32 %t97 = alloca i32 %t134 = alloca i32 %t147 = alloca i32 %t148 = alloca i32 %t149 = alloca i32 store i32 %arg_c, ptr %t0 %t5 = load i32, ptr %t0 %t6 = icmp eq i32 %t5, 43 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t4 br i1 %t8, label %scend1, label %sc0 sc0: %t10 = load i32, ptr %t0 %t11 = icmp eq i32 %t10, 45 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t4 br label %scend1 scend1: %t15 = load i32, ptr %t4 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t3 br i1 %t16, label %scend3, label %sc2 sc2: %t18 = load i32, ptr %t0 %t19 = icmp eq i32 %t18, 42 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t3 br label %scend3 scend3: %t23 = load i32, ptr %t3 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t2 br i1 %t24, label %scend5, label %sc4 sc4: %t26 = load i32, ptr %t0 %t27 = icmp eq i32 %t26, 47 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t2 br label %scend5 scend5: %t31 = load i32, ptr %t2 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t1 br i1 %t32, label %scend7, label %sc6 sc6: %t34 = load i32, ptr %t0 %t35 = icmp eq i32 %t34, 37 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t1 br label %scend7 scend7: %t39 = load i32, ptr %t1 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t43 = load i32, ptr %t0 %t44 = icmp eq i32 %t43, 60 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t42 br i1 %t46, label %scend12, label %sc11 sc11: %t48 = load i32, ptr %t0 %t49 = icmp eq i32 %t48, 62 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t42 br label %scend12 scend12: %t53 = load i32, ptr %t42 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t41 br i1 %t54, label %scend14, label %sc13 sc13: %t56 = load i32, ptr %t0 %t57 = icmp eq i32 %t56, 61 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t41 br label %scend14 scend14: %t61 = load i32, ptr %t41 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: %t66 = load i32, ptr %t0 %t67 = icmp eq i32 %t66, 40 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t65 br i1 %t69, label %scend19, label %sc18 sc18: %t71 = load i32, ptr %t0 %t72 = icmp eq i32 %t71, 41 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t65 br label %scend19 scend19: %t76 = load i32, ptr %t65 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t64 br i1 %t77, label %scend21, label %sc20 sc20: %t79 = load i32, ptr %t0 %t80 = icmp eq i32 %t79, 123 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t64 br label %scend21 scend21: %t84 = load i32, ptr %t64 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t63 br i1 %t85, label %scend23, label %sc22 sc22: %t87 = load i32, ptr %t0 %t88 = icmp eq i32 %t87, 125 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t63 br label %scend23 scend23: %t92 = load i32, ptr %t63 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then24, label %ifend26 then24: store i32 1, ptr %retval br label %ret ifend26: %t98 = load i32, ptr %t0 %t99 = icmp eq i32 %t98, 91 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t97 br i1 %t101, label %scend28, label %sc27 sc27: %t103 = load i32, ptr %t0 %t104 = icmp eq i32 %t103, 93 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t97 br label %scend28 scend28: %t108 = load i32, ptr %t97 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t96 br i1 %t109, label %scend30, label %sc29 sc29: %t111 = load i32, ptr %t0 %t112 = icmp eq i32 %t111, 44 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t96 br label %scend30 scend30: %t116 = load i32, ptr %t96 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t95 br i1 %t117, label %scend32, label %sc31 sc31: %t119 = load i32, ptr %t0 %t120 = icmp eq i32 %t119, 58 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t95 br label %scend32 scend32: %t124 = load i32, ptr %t95 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t94 br i1 %t125, label %scend34, label %sc33 sc33: %t127 = load i32, ptr %t0 %t128 = icmp eq i32 %t127, 46 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t94 br label %scend34 scend34: %t132 = load i32, ptr %t94 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then35, label %ifend37 then35: store i32 1, ptr %retval br label %ret ifend37: %t135 = load i32, ptr %t0 %t136 = icmp eq i32 %t135, 33 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t134 br i1 %t138, label %scend39, label %sc38 sc38: %t140 = load i32, ptr %t0 %t141 = icmp eq i32 %t140, 64 %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t134 br label %scend39 scend39: %t145 = load i32, ptr %t134 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then40, label %ifend42 then40: store i32 1, ptr %retval br label %ret ifend42: %t150 = load i32, ptr %t0 %t151 = icmp eq i32 %t150, 38 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t149 br i1 %t153, label %scend44, label %sc43 sc43: %t155 = load i32, ptr %t0 %t156 = icmp eq i32 %t155, 124 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t149 br label %scend44 scend44: %t160 = load i32, ptr %t149 %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t148 br i1 %t161, label %scend46, label %sc45 sc45: %t163 = load i32, ptr %t0 %t164 = icmp eq i32 %t163, 94 %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t148 br label %scend46 scend46: %t168 = load i32, ptr %t148 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t147 br i1 %t169, label %scend48, label %sc47 sc47: %t171 = load i32, ptr %t0 %t172 = icmp eq i32 %t171, 126 %t173 = zext i1 %t172 to i32 %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t147 br label %scend48 scend48: %t176 = load i32, ptr %t147 %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then49, label %ifend51 then49: store i32 1, ptr %retval br label %ret ifend51: store i32 0, ptr %retval br label %ret ret: %t178 = load i32, ptr %retval ret i32 %t178 } define i32 @fn_unescape(i32 %arg_e) { entry: %retval = alloca i32 %t0 = alloca i32 store i32 %arg_e, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp eq i32 %t1, 110 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store i32 10, ptr %retval br label %ret ifend2: %t5 = load i32, ptr %t0 %t6 = icmp eq i32 %t5, 114 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: store i32 13, ptr %retval br label %ret ifend5: %t9 = load i32, ptr %t0 %t10 = icmp eq i32 %t9, 116 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then6, label %ifend8 then6: store i32 9, ptr %retval br label %ret ifend8: %t13 = load i32, ptr %t0 %t14 = icmp eq i32 %t13, 48 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then9, label %ifend11 then9: store i32 0, ptr %retval br label %ret ifend11: %t17 = load i32, ptr %t0 store i32 %t17, ptr %retval br label %ret ret: %t18 = load i32, ptr %retval ret i32 %t18 } define void @fn_lex_error(i32 %arg_line, i32 %arg_c) { entry: %t0 = alloca i32 %t1 = alloca i32 %t4 = alloca ptr store i32 %arg_line, ptr %t0 store i32 %arg_c, ptr %t1 %t2 = zext i32 2 to i64 %t3 = call ptr @malloc(i64 %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds i8, ptr %t5, i32 0 %t7 = load i32, ptr %t1 %t8 = trunc i32 %t7 to i8 store i8 %t8, ptr %t6 %t9 = load ptr, ptr %t4 %t10 = getelementptr inbounds i8, ptr %t9, i32 1 %t11 = trunc i32 0 to i8 store i8 %t11, ptr %t10 %t12 = load i32, ptr %t0 %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr @.str1, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2) %t16 = load i32, ptr %t1 %t17 = call ptr @lp_int_str(i32 %t16) %t18 = call ptr @lp_str_concat(ptr %t15, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str3) call void @fn_lex_fail(i32 %t12, ptr %t19) br label %ret ret: ret void } define void @fn_lex_fail(i32 %arg_line, ptr %arg_msg) { entry: %t0 = alloca i32 %t1 = alloca ptr %t11 = alloca ptr store i32 %arg_line, ptr %t0 store ptr %arg_msg, ptr %t1 %t2 = load ptr, ptr @g_g_parse_file %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str4) %t4 = load i32, ptr %t0 %t5 = call ptr @lp_int_str(i32 %t4) %t6 = call ptr @lp_str_concat(ptr %t3, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str5) %t8 = load ptr, ptr %t1 %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6) store ptr %t10, ptr %t11 %t12 = call ptr @lp_win_stdio(i32 2) %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 = call ptr @lp_win_stdio(i32 2) %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 %t169 = alloca i32 %t194 = alloca ptr %t212 = alloca ptr %t232 = alloca ptr %t246 = 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: %t170 = load ptr, ptr %t6 %t171 = getelementptr inbounds %Cmp_Tok, ptr %t170, i32 0, i32 1 %t172 = load ptr, ptr %t171 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str49) %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t169 br i1 %t174, label %sc43, label %scend44 sc43: %t176 = load ptr, ptr @g_toks %t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 0 %t178 = load ptr, ptr %t177 %t179 = load i32, ptr @g_pi %t180 = add i32 %t179, 1 %t181 = getelementptr inbounds ptr, ptr %t178, i32 %t180 %t182 = load ptr, ptr %t181 %t183 = getelementptr inbounds %Cmp_Tok, ptr %t182, i32 0, i32 0 %t184 = load i32, ptr %t183 %t185 = icmp eq i32 %t184, 0 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t169 br label %scend44 scend44: %t189 = load i32, ptr %t169 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then45, label %ifend47 then45: %t191 = load i32, ptr @g_pi %t192 = add i32 %t191, 1 store i32 %t192, ptr @g_pi %t193 = call ptr @fn_node(i32 55) store ptr %t193, ptr %t194 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 8 %t197 = load ptr, ptr %t6 %t198 = getelementptr inbounds %Cmp_Tok, ptr %t197, i32 0, i32 3 %t199 = load i32, ptr %t198 store i32 %t199, ptr %t196 %t200 = load ptr, ptr %t194 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 %t202 = call ptr @fn_eat_id() store ptr %t202, ptr %t201 %t203 = load ptr, ptr %t194 store ptr %t203, ptr %retval br label %ret ifend47: %t204 = load ptr, ptr %t6 %t205 = getelementptr inbounds %Cmp_Tok, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t205 %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str50) %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then48, label %ifend50 then48: %t209 = load i32, ptr @g_pi %t210 = add i32 %t209, 1 store i32 %t210, ptr @g_pi %t211 = call ptr @fn_node(i32 52) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t212 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 8 %t215 = load ptr, ptr %t6 %t216 = getelementptr inbounds %Cmp_Tok, ptr %t215, i32 0, i32 3 %t217 = load i32, ptr %t216 store i32 %t217, ptr %t214 %t218 = load ptr, ptr %t212 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 4 %t220 = call ptr @fn_expr() store ptr %t220, ptr %t219 call void @fn_skipnl() %t221 = call i32 @fn_is_id(ptr @.str51) %t222 = icmp eq i32 %t221, 0 %t223 = zext i1 %t222 to i32 %t224 = icmp ne i32 %t223, 0 br i1 %t224, label %then51, label %ifend53 then51: call void @fn_perr(ptr @.str52) br label %ifend53 ifend53: %t225 = load i32, ptr @g_pi %t226 = add i32 %t225, 1 store i32 %t226, ptr @g_pi call void @fn_skipnl() %t227 = load ptr, ptr %t212 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 5 %t229 = call ptr @fn_block() store ptr %t229, ptr %t228 %t230 = load ptr, ptr %t212 store ptr %t230, ptr %retval br label %ret ifend50: %t231 = call ptr @fn_node(i32 33) store ptr %t231, ptr %t232 %t233 = load ptr, ptr %t232 %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 1 %t235 = load ptr, ptr %t6 %t236 = getelementptr inbounds %Cmp_Tok, ptr %t235, i32 0, i32 1 %t237 = load ptr, ptr %t236 store ptr %t237, ptr %t234 %t238 = load i32, ptr @g_pi %t239 = add i32 %t238, 1 store i32 %t239, ptr @g_pi %t240 = load ptr, ptr %t232 store ptr %t240, ptr %retval br label %ret ifend24: %t241 = call i32 @fn_is_op(ptr @.str53) %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then54, label %ifend56 then54: %t243 = load i32, ptr @g_pi %t244 = add i32 %t243, 1 store i32 %t244, ptr @g_pi call void @fn_skipnl() %t245 = call ptr @fn_expr() store ptr %t245, ptr %t246 call void @fn_skipnl() call void @fn_eat_op(ptr @.str54) %t247 = load ptr, ptr %t246 store ptr %t247, ptr %retval br label %ret ifend56: call void @fn_perr(ptr @.str55) %t248 = call ptr @fn_node(i32 30) store ptr %t248, ptr %retval br label %ret ret: %t249 = load ptr, ptr %retval ret ptr %t249 } 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 %t1100 = alloca i32 %t1101 = alloca i32 %t1122 = alloca i32 %t1123 = alloca i32 %t1124 = alloca i32 %t1125 = alloca i32 %t1126 = alloca i32 %t1180 = alloca i32 %t1205 = alloca ptr %t1211 = alloca ptr %t1223 = alloca ptr %t1234 = alloca ptr %t1250 = alloca i32 %t1260 = 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 @.str56) %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 @.str57) %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 @.str58) %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 @.str59) %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 @.str60) %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 @.str61) %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 @.str62) %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 @.str63) %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 @.str64) %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 @.str65) %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 @.str66) %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 @.str67) %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 @.str68) %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 @.str69) %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 @.str70) %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 @.str71) %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 @.str72) %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 @.str73) %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 @.str74) %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 @.str75) %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 @.str76) %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 @.str77) %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 @.str78) %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 @.str79) %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 @.str80) %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 @.str81) %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 @.str82) %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 @.str83) %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 @.str84) %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 @.str85) %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 @.str86) %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 @.str87) %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 @.str88) %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 @.str89) %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 @.str90) %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 @.str91) %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 @.str92) %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 @.str93) %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 @.str94) %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 @.str95) %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 @.str96) %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 @.str97) %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 @.str98) %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 @.str99) %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 @.str100) %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 @.str101) %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 @.str102) %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 @.str103) %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 @.str104) %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 @.str105) %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 @.str106) %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 @.str107) %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 @.str108) %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 @.str109) %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 @.str110) %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 @.str111) %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 @.str112) %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 @.str113) %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 @.str114) %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 @.str115) %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 @.str116) %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 @.str117) %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 @.str118) %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 @.str119) %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 @.str120) %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 @.str121) %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 @.str122) %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 @.str123) %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 @.str124) %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 @.str125) %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 @.str126) %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 @.str127) %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 @.str128) %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 @.str129) %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 @.str130) %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 @.str131) %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 @.str132) %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 @.str133) %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 @.str134) %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 @.str135) %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 @.str136) %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 @.str137) %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 @.str138) %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 @.str139) %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: %t1081 = load ptr, ptr %t1 %t1082 = getelementptr inbounds %Cmp_Node, ptr %t1081, i32 0, i32 4 %t1083 = load ptr, ptr %t1082 %t1084 = getelementptr inbounds %Cmp_Node, ptr %t1083, i32 0, i32 0 %t1085 = load i32, ptr %t1084 %t1086 = icmp eq i32 %t1085, 33 %t1087 = zext i1 %t1086 to i32 %t1088 = icmp ne i32 %t1087, 0 %t1089 = zext i1 %t1088 to i32 store i32 %t1089, ptr %t1080 br i1 %t1088, label %sc238, label %scend239 sc238: %t1090 = load ptr, ptr %t1 %t1091 = getelementptr inbounds %Cmp_Node, ptr %t1090, i32 0, i32 4 %t1092 = load ptr, ptr %t1091 %t1093 = getelementptr inbounds %Cmp_Node, ptr %t1092, i32 0, i32 1 %t1094 = load ptr, ptr %t1093 %t1095 = call i32 @lp_str_eq(ptr %t1094, ptr @.str140) %t1096 = icmp ne i32 %t1095, 0 %t1097 = zext i1 %t1096 to i32 store i32 %t1097, ptr %t1080 br label %scend239 scend239: %t1098 = load i32, ptr %t1080 %t1099 = icmp ne i32 %t1098, 0 br i1 %t1099, label %then240, label %ifend242 then240: store i32 1, ptr @g_g_uses_vk br label %ifend242 ifend242: %t1102 = load ptr, ptr %t1 %t1103 = getelementptr inbounds %Cmp_Node, ptr %t1102, i32 0, i32 4 %t1104 = load ptr, ptr %t1103 %t1105 = getelementptr inbounds %Cmp_Node, ptr %t1104, i32 0, i32 0 %t1106 = load i32, ptr %t1105 %t1107 = icmp eq i32 %t1106, 33 %t1108 = zext i1 %t1107 to i32 %t1109 = icmp ne i32 %t1108, 0 %t1110 = zext i1 %t1109 to i32 store i32 %t1110, ptr %t1101 br i1 %t1109, label %sc243, label %scend244 sc243: %t1111 = load ptr, ptr %t1 %t1112 = getelementptr inbounds %Cmp_Node, ptr %t1111, i32 0, i32 4 %t1113 = load ptr, ptr %t1112 %t1114 = getelementptr inbounds %Cmp_Node, ptr %t1113, i32 0, i32 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 %t1101 br label %scend244 scend244: %t1119 = load i32, ptr %t1101 %t1120 = icmp ne i32 %t1119, 0 %t1121 = zext i1 %t1120 to i32 store i32 %t1121, ptr %t1100 br i1 %t1120, label %sc245, label %scend246 sc245: %t1127 = load ptr, ptr %t1 %t1128 = getelementptr inbounds %Cmp_Node, ptr %t1127, i32 0, i32 1 %t1129 = load ptr, ptr %t1128 %t1130 = call i32 @lp_str_eq(ptr %t1129, ptr @.str142) %t1131 = icmp ne i32 %t1130, 0 %t1132 = zext i1 %t1131 to i32 store i32 %t1132, ptr %t1126 br i1 %t1131, label %scend248, label %sc247 sc247: %t1133 = load ptr, ptr %t1 %t1134 = getelementptr inbounds %Cmp_Node, ptr %t1133, i32 0, i32 1 %t1135 = load ptr, ptr %t1134 %t1136 = call i32 @lp_str_eq(ptr %t1135, ptr @.str143) %t1137 = icmp ne i32 %t1136, 0 %t1138 = zext i1 %t1137 to i32 store i32 %t1138, ptr %t1126 br label %scend248 scend248: %t1139 = load i32, ptr %t1126 %t1140 = icmp ne i32 %t1139, 0 %t1141 = zext i1 %t1140 to i32 store i32 %t1141, ptr %t1125 br i1 %t1140, label %scend250, label %sc249 sc249: %t1142 = load ptr, ptr %t1 %t1143 = getelementptr inbounds %Cmp_Node, ptr %t1142, i32 0, i32 1 %t1144 = load ptr, ptr %t1143 %t1145 = call i32 @lp_str_eq(ptr %t1144, ptr @.str144) %t1146 = icmp ne i32 %t1145, 0 %t1147 = zext i1 %t1146 to i32 store i32 %t1147, ptr %t1125 br label %scend250 scend250: %t1148 = load i32, ptr %t1125 %t1149 = icmp ne i32 %t1148, 0 %t1150 = zext i1 %t1149 to i32 store i32 %t1150, ptr %t1124 br i1 %t1149, label %scend252, label %sc251 sc251: %t1151 = load ptr, ptr %t1 %t1152 = getelementptr inbounds %Cmp_Node, ptr %t1151, i32 0, i32 1 %t1153 = load ptr, ptr %t1152 %t1154 = call i32 @lp_str_eq(ptr %t1153, ptr @.str145) %t1155 = icmp ne i32 %t1154, 0 %t1156 = zext i1 %t1155 to i32 store i32 %t1156, ptr %t1124 br label %scend252 scend252: %t1157 = load i32, ptr %t1124 %t1158 = icmp ne i32 %t1157, 0 %t1159 = zext i1 %t1158 to i32 store i32 %t1159, ptr %t1123 br i1 %t1158, label %scend254, label %sc253 sc253: %t1160 = load ptr, ptr %t1 %t1161 = getelementptr inbounds %Cmp_Node, ptr %t1160, i32 0, i32 1 %t1162 = load ptr, ptr %t1161 %t1163 = call i32 @lp_str_eq(ptr %t1162, ptr @.str146) %t1164 = icmp ne i32 %t1163, 0 %t1165 = zext i1 %t1164 to i32 store i32 %t1165, ptr %t1123 br label %scend254 scend254: %t1166 = load i32, ptr %t1123 %t1167 = icmp ne i32 %t1166, 0 %t1168 = zext i1 %t1167 to i32 store i32 %t1168, ptr %t1122 br i1 %t1167, label %scend256, label %sc255 sc255: %t1169 = load ptr, ptr %t1 %t1170 = getelementptr inbounds %Cmp_Node, ptr %t1169, i32 0, i32 1 %t1171 = load ptr, ptr %t1170 %t1172 = call i32 @lp_str_eq(ptr %t1171, ptr @.str147) %t1173 = icmp ne i32 %t1172, 0 %t1174 = zext i1 %t1173 to i32 store i32 %t1174, ptr %t1122 br label %scend256 scend256: %t1175 = load i32, ptr %t1122 %t1176 = icmp ne i32 %t1175, 0 %t1177 = zext i1 %t1176 to i32 store i32 %t1177, ptr %t1100 br label %scend246 scend246: %t1178 = load i32, ptr %t1100 %t1179 = icmp ne i32 %t1178, 0 br i1 %t1179, label %then257, label %ifend259 then257: store i32 1, ptr @g_g_uses_tween_rt br label %ifend259 ifend259: %t1181 = load ptr, ptr %t1 %t1182 = getelementptr inbounds %Cmp_Node, ptr %t1181, i32 0, i32 4 %t1183 = load ptr, ptr %t1182 %t1184 = getelementptr inbounds %Cmp_Node, ptr %t1183, i32 0, i32 0 %t1185 = load i32, ptr %t1184 %t1186 = icmp eq i32 %t1185, 33 %t1187 = zext i1 %t1186 to i32 %t1188 = icmp ne i32 %t1187, 0 %t1189 = zext i1 %t1188 to i32 store i32 %t1189, ptr %t1180 br i1 %t1188, label %sc260, label %scend261 sc260: %t1190 = load ptr, ptr %t1 %t1191 = getelementptr inbounds %Cmp_Node, ptr %t1190, i32 0, i32 4 %t1192 = load ptr, ptr %t1191 %t1193 = getelementptr inbounds %Cmp_Node, ptr %t1192, i32 0, i32 1 %t1194 = load ptr, ptr %t1193 %t1195 = call i32 @lp_str_eq(ptr %t1194, ptr @.str148) %t1196 = icmp ne i32 %t1195, 0 %t1197 = zext i1 %t1196 to i32 store i32 %t1197, ptr %t1180 br label %scend261 scend261: %t1198 = load i32, ptr %t1180 %t1199 = icmp ne i32 %t1198, 0 br i1 %t1199, label %then262, label %ifend264 then262: store i32 1, ptr @g_g_uses_fx br label %ifend264 ifend264: br label %ifend5 else4: %t1200 = call i32 @fn_is_op(ptr @.str149) %t1201 = icmp ne i32 %t1200, 0 br i1 %t1201, label %then265, label %else266 then265: %t1202 = load i32, ptr @g_pi %t1203 = add i32 %t1202, 1 store i32 %t1203, ptr @g_pi %t1204 = call ptr @fn_expr() store ptr %t1204, ptr %t1205 %t1206 = call i32 @fn_is_op(ptr @.str150) %t1207 = icmp ne i32 %t1206, 0 br i1 %t1207, label %then268, label %else269 then268: %t1208 = load i32, ptr @g_pi %t1209 = add i32 %t1208, 1 store i32 %t1209, ptr @g_pi %t1210 = call ptr @fn_node(i32 44) store ptr %t1210, ptr %t1211 %t1212 = load ptr, ptr %t1211 %t1213 = getelementptr inbounds %Cmp_Node, ptr %t1212, i32 0, i32 4 %t1214 = load ptr, ptr %t1 store ptr %t1214, ptr %t1213 %t1215 = load ptr, ptr %t1211 %t1216 = getelementptr inbounds %Cmp_Node, ptr %t1215, i32 0, i32 5 %t1217 = load ptr, ptr %t1205 store ptr %t1217, ptr %t1216 %t1218 = load ptr, ptr %t1211 %t1219 = getelementptr inbounds %Cmp_Node, ptr %t1218, i32 0, i32 6 %t1220 = call ptr @fn_expr() store ptr %t1220, ptr %t1219 call void @fn_eat_op(ptr @.str151) %t1221 = load ptr, ptr %t1211 store ptr %t1221, ptr %t1 br label %ifend270 else269: %t1222 = call ptr @fn_node(i32 36) store ptr %t1222, ptr %t1223 %t1224 = load ptr, ptr %t1223 %t1225 = getelementptr inbounds %Cmp_Node, ptr %t1224, i32 0, i32 4 %t1226 = load ptr, ptr %t1 store ptr %t1226, ptr %t1225 %t1227 = load ptr, ptr %t1223 %t1228 = getelementptr inbounds %Cmp_Node, ptr %t1227, i32 0, i32 5 %t1229 = load ptr, ptr %t1205 store ptr %t1229, ptr %t1228 call void @fn_eat_op(ptr @.str152) %t1230 = load ptr, ptr %t1223 store ptr %t1230, ptr %t1 br label %ifend270 ifend270: br label %ifend267 else266: %t1231 = call i32 @fn_is_op(ptr @.str153) %t1232 = icmp ne i32 %t1231, 0 br i1 %t1232, label %then271, label %else272 then271: %t1233 = call ptr @fn_node(i32 34) store ptr %t1233, ptr %t1234 %t1235 = load ptr, ptr %t1234 %t1236 = getelementptr inbounds %Cmp_Node, ptr %t1235, i32 0, i32 4 %t1237 = load ptr, ptr %t1 store ptr %t1237, ptr %t1236 %t1238 = load ptr, ptr %t1234 %t1239 = getelementptr inbounds %Cmp_Node, ptr %t1238, i32 0, i32 8 %t1240 = load ptr, ptr @g_toks %t1241 = getelementptr inbounds %LSlice, ptr %t1240, i32 0, i32 0 %t1242 = load ptr, ptr %t1241 %t1243 = load i32, ptr @g_pi %t1244 = getelementptr inbounds ptr, ptr %t1242, i32 %t1243 %t1245 = load ptr, ptr %t1244 %t1246 = getelementptr inbounds %Cmp_Tok, ptr %t1245, i32 0, i32 3 %t1247 = load i32, ptr %t1246 store i32 %t1247, ptr %t1239 %t1248 = load ptr, ptr %t1234 call void @fn_args_call(ptr %t1248) %t1249 = load ptr, ptr %t1234 store ptr %t1249, ptr %t1 %t1251 = load ptr, ptr %t1234 %t1252 = getelementptr inbounds %Cmp_Node, ptr %t1251, i32 0, i32 4 %t1253 = load ptr, ptr %t1252 %t1254 = getelementptr inbounds %Cmp_Node, ptr %t1253, i32 0, i32 0 %t1255 = load i32, ptr %t1254 %t1256 = icmp eq i32 %t1255, 33 %t1257 = zext i1 %t1256 to i32 %t1258 = icmp ne i32 %t1257, 0 %t1259 = zext i1 %t1258 to i32 store i32 %t1259, ptr %t1250 br i1 %t1258, label %sc274, label %scend275 sc274: %t1261 = load ptr, ptr %t1234 %t1262 = getelementptr inbounds %Cmp_Node, ptr %t1261, i32 0, i32 4 %t1263 = load ptr, ptr %t1262 %t1264 = getelementptr inbounds %Cmp_Node, ptr %t1263, i32 0, i32 1 %t1265 = load ptr, ptr %t1264 %t1266 = call i32 @lp_str_eq(ptr %t1265, ptr @.str154) %t1267 = icmp ne i32 %t1266, 0 %t1268 = zext i1 %t1267 to i32 store i32 %t1268, ptr %t1260 br i1 %t1267, label %scend277, label %sc276 sc276: %t1269 = load ptr, ptr %t1234 %t1270 = getelementptr inbounds %Cmp_Node, ptr %t1269, i32 0, i32 4 %t1271 = load ptr, ptr %t1270 %t1272 = getelementptr inbounds %Cmp_Node, ptr %t1271, i32 0, i32 1 %t1273 = load ptr, ptr %t1272 %t1274 = call i32 @lp_str_eq(ptr %t1273, ptr @.str155) %t1275 = icmp ne i32 %t1274, 0 %t1276 = zext i1 %t1275 to i32 store i32 %t1276, ptr %t1260 br label %scend277 scend277: %t1277 = load i32, ptr %t1260 %t1278 = icmp ne i32 %t1277, 0 %t1279 = zext i1 %t1278 to i32 store i32 %t1279, ptr %t1250 br label %scend275 scend275: %t1280 = load i32, ptr %t1250 %t1281 = icmp ne i32 %t1280, 0 br i1 %t1281, label %then278, label %ifend280 then278: %t1282 = load ptr, ptr %t1234 %t1283 = getelementptr inbounds %Cmp_Node, ptr %t1282, i32 0, i32 4 %t1284 = load ptr, ptr %t1283 %t1285 = getelementptr inbounds %Cmp_Node, ptr %t1284, i32 0, i32 1 %t1286 = load ptr, ptr %t1285 call void @fn_warn_draw_sprite(ptr %t1286) br label %ifend280 ifend280: br label %ifend273 else272: br label %wend2 ifend273: br label %ifend267 ifend267: br label %ifend5 ifend5: br label %wcond0 wend2: %t1287 = load ptr, ptr %t1 store ptr %t1287, ptr %retval br label %ret ret: %t1288 = load ptr, ptr %retval ret ptr %t1288 } 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 @.str156) %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 @.str157, 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 @.str158) %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 @.str159, 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 @.str160) %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 @.str161, 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 @.str162) %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 @.str163) %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 @.str164) %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 @.str165) %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 @.str166) %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 @.str167) %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 @.str168) %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 @.str169) %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 @.str170) %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 @.str171) %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 @.str172) %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 @.str173) %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 @.str174) %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 @.str175) %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 @.str176) %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 @.str177) %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 @.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_cmp() %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_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 @.str180) %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 @.str181, 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 @.str182) %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 @.str183) %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 @.str184) %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 @.str185) %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 @.str186) %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 @.str187) %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 @.str188) %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 @.str189) %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 @.str190) br label %ifend13 ifend13: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str191) %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 @.str192) %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 @.str193) %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 @.str194) %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 @.str195) %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 @.str196) %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 @.str197) %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 @.str198) %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 @.str199) %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 @.str200) %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 @.str201) %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 @.str202) %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 @.str203) %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 @.str204) %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 @.str205) %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 @.str206) %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 @.str207) %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 @.str208) 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 @.str209) %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 @.str210) %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 @.str211) %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 @.str212) %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 @.str213) %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 @.str214) %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 @.str215) %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 @.str216) %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 @.str217) %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 @.str218) %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 @.str219, 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 @.str220) %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 @.str221, 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 @.str222) %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 @.str223) %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 @.str224) %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 @.str225) 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 @.str226) %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 @.str227) %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 @.str228) %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 @.str229) 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 @.str230) %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 @.str231) %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 @.str232) %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 @.str233) %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 @.str234) 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 @.str235) %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 @.str236) %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 @.str237) call void @fn_skipnl() %t497 = call i32 @fn_is_op(ptr @.str238) %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 @.str239) %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 @.str240) %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 @.str241) %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 @.str242) %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 @.str243) %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 @.str244) %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 @.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 %t10 = call i32 @fn_is_op(ptr @.str246) %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 @.str247) %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 @.str248) %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 @.str249) %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 @.str250) %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 @.str251) %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 @.str252) %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 @.str253) %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 @.str254) %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 @.str255) %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 @.str256) %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 @.str257) %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 @.str258) %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 @.str259) %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 @.str260) %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 @.str261) %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 @.str262) %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 @.str263) %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 @.str264) %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 @.str265) %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 @.str266) %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 @.str267) %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 @.str268) %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 @.str269) %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 @.str270) %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 @.str271) %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 @.str272) %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 @.str273) %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 @.str274) %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 @.str275) %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 @.str276) %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 @.str277) %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 @.str278) %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 @.str279) %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 @.str280) %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 @.str281) %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 @.str282) %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 @.str283) %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 @.str284) %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 @.str285) %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 @.str286) %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 @.str287) %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 @.str288, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str289) call void @fn_perr(ptr %t16) br label %ifend2 ifend2: br label %wcond3 wcond3: %t17 = call i32 @fn_is_op(ptr @.str290) %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 @.str291) %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 @.str292) %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 @.str293) %t55 = load ptr, ptr %t3 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 store ptr @.str294, ptr %t56 %t57 = call i32 @fn_is_op(ptr @.str295) %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 @.str296) 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 @.str297) %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 @.str298) %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 @.str299) %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 @.str300) %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 @.str301) 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 @.str302) %t106 = load ptr, ptr %t3 %t107 = call ptr @fn_ns_lower(ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str303) store ptr %t108, ptr %t109 store i32 0, ptr %t110 br label %wcond18 wcond18: %t111 = load i32, ptr %t110 %t112 = load ptr, ptr %t10 %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp slt i32 %t111, %t114 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %wbody19, label %wend20 wbody19: %t118 = load ptr, ptr %t10 %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = load i32, ptr %t110 %t122 = getelementptr inbounds ptr, ptr %t120, i32 %t121 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t109 %t126 = load ptr, ptr %t17 %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = load i32, ptr %t110 %t130 = getelementptr inbounds ptr, ptr %t128, i32 %t129 %t131 = load ptr, ptr %t130 %t132 = call ptr @lp_str_concat(ptr %t125, ptr %t131) store ptr %t132, ptr %t124 %t133 = load i32, ptr %t110 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t110 br label %wcond18 wend20: store i32 0, ptr %t110 br label %wcond21 wcond21: %t135 = load i32, ptr %t110 %t136 = load ptr, ptr %t10 %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t138 = load i32, ptr %t137 %t139 = icmp slt i32 %t135, %t138 %t140 = zext i1 %t139 to i32 %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %wbody22, label %wend23 wbody22: %t142 = load ptr, ptr %t10 %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = load i32, ptr %t110 %t146 = getelementptr inbounds ptr, ptr %t144, i32 %t145 %t147 = load ptr, ptr %t146 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 4 %t149 = load ptr, ptr %t148 %t150 = load ptr, ptr %t17 %t151 = load ptr, ptr %t109 call void @fn_ns_rewrite_calls(ptr %t149, ptr %t150, ptr %t151) %t152 = load i32, ptr %t110 %t153 = add i32 %t152, 1 store i32 %t153, ptr %t110 br label %wcond21 wend23: %t154 = load ptr, ptr %t3 call void @fn_register_namespace(ptr %t154) %t155 = load ptr, ptr @g_g_ns_blocks %t156 = load ptr, ptr %t3 %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t158 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 2 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t160 = load i32, ptr %t157 %t161 = load i32, ptr %t158 %t162 = icmp sge i32 %t160, %t161 br i1 %t162, label %grow24, label %put25 grow24: %t163 = mul i32 %t161, 2 %t164 = icmp eq i32 %t161, 0 %t165 = select i1 %t164, i32 8, i32 %t163 %t166 = getelementptr ptr, ptr null, i32 1 %t167 = ptrtoint ptr %t166 to i64 %t168 = zext i32 %t165 to i64 %t169 = mul i64 %t168, %t167 %t170 = load ptr, ptr %t159 %t171 = call ptr @realloc(ptr %t170, i64 %t169) store ptr %t171, ptr %t159 store i32 %t165, ptr %t158 br label %put25 put25: %t172 = load ptr, ptr %t159 %t173 = getelementptr inbounds ptr, ptr %t172, i32 %t160 store ptr %t156, ptr %t173 %t174 = add i32 %t160, 1 store i32 %t174, ptr %t157 store i32 0, ptr %t110 br label %wcond26 wcond26: %t175 = load i32, ptr %t110 %t176 = load ptr, ptr %t10 %t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp slt i32 %t175, %t178 %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %wbody27, label %wend28 wbody27: %t182 = load ptr, ptr %t24 %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = load i32, ptr %t110 %t186 = getelementptr inbounds i32, ptr %t184, i32 %t185 %t187 = load i32, ptr %t186 %t188 = icmp eq i32 %t187, 1 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then29, label %ifend31 then29: %t191 = load ptr, ptr @g_g_ns_exports %t192 = load ptr, ptr %t10 %t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = load i32, ptr %t110 %t196 = getelementptr inbounds ptr, ptr %t194, i32 %t195 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t201 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 2 %t202 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t203 = load i32, ptr %t200 %t204 = load i32, ptr %t201 %t205 = icmp sge i32 %t203, %t204 br i1 %t205, label %grow32, label %put33 grow32: %t206 = mul i32 %t204, 2 %t207 = icmp eq i32 %t204, 0 %t208 = select i1 %t207, i32 8, i32 %t206 %t209 = getelementptr ptr, ptr null, i32 1 %t210 = ptrtoint ptr %t209 to i64 %t211 = zext i32 %t208 to i64 %t212 = mul i64 %t211, %t210 %t213 = load ptr, ptr %t202 %t214 = call ptr @realloc(ptr %t213, i64 %t212) store ptr %t214, ptr %t202 store i32 %t208, ptr %t201 br label %put33 put33: %t215 = load ptr, ptr %t202 %t216 = getelementptr inbounds ptr, ptr %t215, i32 %t203 store ptr %t199, ptr %t216 %t217 = add i32 %t203, 1 store i32 %t217, ptr %t200 br label %ifend31 ifend31: %t218 = load ptr, ptr @g_prog %t219 = load ptr, ptr %t10 %t220 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = load i32, ptr %t110 %t223 = getelementptr inbounds ptr, ptr %t221, i32 %t222 %t224 = load ptr, ptr %t223 %t225 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 %t226 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 2 %t227 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 %t228 = load i32, ptr %t225 %t229 = load i32, ptr %t226 %t230 = icmp sge i32 %t228, %t229 br i1 %t230, label %grow34, label %put35 grow34: %t231 = mul i32 %t229, 2 %t232 = icmp eq i32 %t229, 0 %t233 = select i1 %t232, i32 8, i32 %t231 %t234 = getelementptr ptr, ptr null, i32 1 %t235 = ptrtoint ptr %t234 to i64 %t236 = zext i32 %t233 to i64 %t237 = mul i64 %t236, %t235 %t238 = load ptr, ptr %t227 %t239 = call ptr @realloc(ptr %t238, i64 %t237) store ptr %t239, ptr %t227 store i32 %t233, ptr %t226 br label %put35 put35: %t240 = load ptr, ptr %t227 %t241 = getelementptr inbounds ptr, ptr %t240, i32 %t228 store ptr %t224, ptr %t241 %t242 = add i32 %t228, 1 store i32 %t242, ptr %t225 %t243 = load i32, ptr %t110 %t244 = add i32 %t243, 1 store i32 %t244, ptr %t110 br label %wcond26 wend28: br label %ret ret: ret void } define i32 @fn_host_is_windows() { entry: %retval = alloca i32 %t1 = alloca ptr %t0 = call ptr @getenv(ptr @.str304) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp eq ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t1 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str305) store i32 %t7, ptr %retval br label %ret ret: %t8 = load i32, ptr %retval ret i32 %t8 } define i32 @fn_is_sep(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_c, ptr %t0 %t2 = load i32, ptr %t0 %t3 = icmp eq i32 %t2, 47 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t1 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load i32, ptr %t0 %t8 = icmp eq i32 %t7, 92 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t1 br label %scend1 scend1: %t12 = load i32, ptr %t1 store i32 %t12, ptr %retval br label %ret ret: %t13 = load i32, ptr %retval ret i32 %t13 } define ptr @fn_fwd_slashes(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t9 = alloca ptr %t10 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = add i32 %t5, 1 %t7 = zext i32 %t6 to i64 %t8 = call ptr @malloc(i64 %t7) store ptr %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load i32, ptr %t4 %t13 = icmp slt i32 %t11, %t12 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %wbody1, label %wend2 wbody1: %t16 = load ptr, ptr %t0 %t17 = load i32, ptr %t10 %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 %t21 = icmp eq i32 %t20, 92 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %else4 then3: %t24 = load ptr, ptr %t9 %t25 = load i32, ptr %t10 %t26 = getelementptr inbounds i8, ptr %t24, i32 %t25 %t27 = trunc i32 47 to i8 store i8 %t27, ptr %t26 br label %ifend5 else4: %t28 = load ptr, ptr %t9 %t29 = load i32, ptr %t10 %t30 = getelementptr inbounds i8, ptr %t28, i32 %t29 %t31 = load ptr, ptr %t0 %t32 = load i32, ptr %t10 %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 %t34 = load i8, ptr %t33 %t35 = zext i8 %t34 to i32 %t36 = trunc i32 %t35 to i8 store i8 %t36, ptr %t30 br label %ifend5 ifend5: %t37 = load i32, ptr %t10 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t10 br label %wcond0 wend2: %t39 = load ptr, ptr %t9 %t40 = load i32, ptr %t4 %t41 = getelementptr inbounds i8, ptr %t39, i32 %t40 %t42 = trunc i32 0 to i8 store i8 %t42, ptr %t41 %t43 = load ptr, ptr %t9 store ptr %t43, ptr %retval br label %ret ret: %t44 = load ptr, ptr %retval ret ptr %t44 } define ptr @fn_dir_of(ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_path, ptr %t0 %t1 = sub i32 0, 1 store i32 %t1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load ptr, ptr %t0 %t5 = load i32, ptr %t3 %t6 = getelementptr inbounds i8, ptr %t4, i32 %t5 %t7 = load i8, ptr %t6 %t8 = zext i8 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = load i32, ptr %t3 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 %t17 = call i32 @fn_is_sep(i32 %t16) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load i32, ptr %t3 store i32 %t19, ptr %t2 br label %ifend5 ifend5: %t20 = load i32, ptr %t3 %t21 = add i32 %t20, 1 store i32 %t21, ptr %t3 br label %wcond0 wend2: %t22 = load i32, ptr %t2 %t23 = icmp slt i32 %t22, 0 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %ifend8 then6: store ptr @.str306, ptr %retval br label %ret ifend8: %t26 = load ptr, ptr %t0 %t27 = load i32, ptr %t2 %t28 = add i32 %t27, 1 %t29 = call ptr @lp_str_slice(ptr %t26, i32 0, i32 %t28) store ptr %t29, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } define ptr @fn_join_path(ptr %arg_dir, ptr %arg_rel) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_dir, ptr %t0 store ptr %arg_rel, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds i8, ptr %t2, i32 0 %t4 = load i8, ptr %t3 %t5 = zext i8 %t4 to i32 %t6 = call i32 @fn_is_sep(i32 %t5) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t1 store ptr %t8, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds i8, ptr %t9, i32 0 %t11 = load i8, ptr %t10 %t12 = zext i8 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: %t16 = load ptr, ptr %t1 %t17 = getelementptr inbounds i8, ptr %t16, i32 1 %t18 = load i8, ptr %t17 %t19 = zext i8 %t18 to i32 %t20 = icmp eq i32 %t19, 58 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then6, label %ifend8 then6: %t23 = load ptr, ptr %t1 store ptr %t23, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: %t24 = load ptr, ptr %t0 %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) store ptr %t26, ptr %retval br label %ret ret: %t27 = load ptr, ptr %retval ret ptr %t27 } define ptr @fn_ludic_home() { entry: %retval = alloca ptr %t1 = alloca ptr %t14 = alloca ptr %t32 = alloca i32 %t0 = call ptr @getenv(ptr @.str307) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 %t7 = call ptr @fn_fwd_slashes(ptr %t6) %t8 = call ptr @fn_ensure_slash(ptr %t7) store ptr %t8, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr @L_argv %t10 = getelementptr ptr, ptr %t9, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_dir_of(ptr %t11) %t13 = call ptr @fn_fwd_slashes(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = call i64 @strlen(ptr %t15) %t17 = trunc i64 %t16 to i32 %t18 = icmp eq i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr @L_argv %t22 = getelementptr ptr, ptr %t21, i32 0 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_base_name(ptr %t23) %t25 = call ptr @fn_path_lookup_dir(ptr %t24) store ptr %t25, ptr %t14 br label %ifend5 ifend5: %t26 = load ptr, ptr %t14 %t27 = call i64 @strlen(ptr %t26) %t28 = trunc i64 %t27 to i32 %t29 = icmp eq i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then6, label %ifend8 then6: store ptr @.str308, ptr %retval br label %ret ifend8: %t33 = load ptr, ptr %t14 %t34 = call i64 @strlen(ptr %t33) %t35 = trunc i64 %t34 to i32 %t36 = icmp sge i32 %t35, 4 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t32 br i1 %t38, label %sc9, label %scend10 sc9: %t40 = load ptr, ptr %t14 %t41 = load ptr, ptr %t14 %t42 = call i64 @strlen(ptr %t41) %t43 = trunc i64 %t42 to i32 %t44 = sub i32 %t43, 4 %t45 = load ptr, ptr %t14 %t46 = call i64 @strlen(ptr %t45) %t47 = trunc i64 %t46 to i32 %t48 = call ptr @lp_str_slice(ptr %t40, i32 %t44, i32 %t47) %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str309) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t32 br label %scend10 scend10: %t52 = load i32, ptr %t32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then11, label %ifend13 then11: %t54 = load ptr, ptr %t14 %t55 = load ptr, ptr %t14 %t56 = call i64 @strlen(ptr %t55) %t57 = trunc i64 %t56 to i32 %t58 = sub i32 %t57, 4 %t59 = call ptr @lp_str_slice(ptr %t54, i32 0, i32 %t58) store ptr %t59, ptr %retval br label %ret ifend13: %t60 = load ptr, ptr %t14 store ptr %t60, ptr %retval br label %ret ret: %t61 = load ptr, ptr %retval ret ptr %t61 } define ptr @fn_path_lookup_dir(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t15 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t23 = alloca i32 %t53 = alloca ptr %t58 = alloca ptr %t72 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = call ptr @getenv(ptr @.str310) 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 @.str311, ptr %retval br label %ret ifend2: %t7 = call i32 @fn_host_is_windows() store i32 %t7, ptr %t8 store i32 58, ptr %t9 %t10 = load i32, ptr %t8 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: store i32 59, ptr %t9 br label %ifend5 ifend5: %t12 = load ptr, ptr %t2 %t13 = call i64 @strlen(ptr %t12) %t14 = trunc i64 %t13 to i32 store i32 %t14, ptr %t15 store i32 0, ptr %t16 store i32 0, ptr %t17 br label %wcond6 wcond6: %t18 = load i32, ptr %t17 %t19 = load i32, ptr %t15 %t20 = icmp sle i32 %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody7, label %wend8 wbody7: %t24 = load i32, ptr %t17 %t25 = load i32, ptr %t15 %t26 = icmp eq i32 %t24, %t25 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t23 br i1 %t28, label %scend10, label %sc9 sc9: %t30 = load ptr, ptr %t2 %t31 = load i32, ptr %t17 %t32 = getelementptr inbounds i8, ptr %t30, i32 %t31 %t33 = load i8, ptr %t32 %t34 = zext i8 %t33 to i32 %t35 = load i32, ptr %t9 %t36 = icmp eq i32 %t34, %t35 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t23 br label %scend10 scend10: %t40 = load i32, ptr %t23 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then11, label %ifend13 then11: %t42 = load i32, ptr %t17 %t43 = load i32, ptr %t16 %t44 = icmp sgt i32 %t42, %t43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then14, label %ifend16 then14: %t47 = load ptr, ptr %t2 %t48 = load i32, ptr %t16 %t49 = load i32, ptr %t17 %t50 = call ptr @lp_str_slice(ptr %t47, i32 %t48, i32 %t49) %t51 = call ptr @fn_fwd_slashes(ptr %t50) %t52 = call ptr @fn_ensure_slash(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = load ptr, ptr %t0 %t56 = call ptr @lp_str_concat(ptr %t54, ptr %t55) %t57 = call ptr @lp_pak_open(ptr %t56, ptr @.str312) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = icmp ne ptr %t59, null %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then17, label %ifend19 then17: %t63 = load ptr, ptr %t58 call i32 @fclose(ptr %t63) %t64 = load ptr, ptr %t53 store ptr %t64, ptr %retval br label %ret ifend19: %t65 = load i32, ptr %t8 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then20, label %ifend22 then20: %t67 = load ptr, ptr %t53 %t68 = load ptr, ptr %t0 %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str313) %t71 = call ptr @lp_pak_open(ptr %t70, ptr @.str314) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t72 %t74 = icmp ne ptr %t73, null %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then23, label %ifend25 then23: %t77 = load ptr, ptr %t72 call i32 @fclose(ptr %t77) %t78 = load ptr, ptr %t53 store ptr %t78, ptr %retval br label %ret ifend25: br label %ifend22 ifend22: br label %ifend16 ifend16: %t79 = load i32, ptr %t17 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t16 br label %ifend13 ifend13: %t81 = load i32, ptr %t17 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t17 br label %wcond6 wend8: store ptr @.str315, ptr %retval br label %ret ret: %t83 = load ptr, ptr %retval ret ptr %t83 } define void @fn_warn_draw_sprite(ptr %arg_name) { entry: %t0 = alloca ptr %t6 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load i32, ptr @g_g_warned_draw_sprite %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: br label %ret ifend2: store i32 1, ptr @g_g_warned_draw_sprite %t3 = load ptr, ptr %t0 %t4 = call ptr @lp_str_concat(ptr @.str316, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str317) store ptr %t5, ptr %t6 %t7 = call ptr @lp_win_stdio(i32 2) %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 @.str318) %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 @.str319) %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 @.str320) %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 @.str321) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then9, label %else10 then9: call void @fn_eat_op(ptr @.str322) %t35 = call ptr @fn_eat_id() store ptr %t35, ptr %t9 call void @fn_eat_op(ptr @.str323) br label %ifend11 else10: %t36 = load ptr, ptr %t25 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str324) %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 @.str325) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then15, label %else16 then15: call void @fn_eat_op(ptr @.str326) %t43 = call ptr @fn_eat_id() store ptr %t43, ptr %t2 call void @fn_eat_op(ptr @.str327) br label %ifend17 else16: %t44 = load ptr, ptr %t25 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str328) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then18, label %else19 then18: call void @fn_eat_op(ptr @.str329) %t47 = call ptr @fn_eat_id() store ptr %t47, ptr %t3 %t48 = call i32 @fn_is_op(ptr @.str330) %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 @.str331) %t53 = call ptr @fn_eat_id() store ptr %t53, ptr %t4 br label %ifend23 ifend23: call void @fn_eat_op(ptr @.str332) br label %ifend20 else19: %t54 = load ptr, ptr %t25 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str333) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then24, label %else25 then24: call void @fn_eat_op(ptr @.str334) %t57 = call ptr @fn_eat_id() store ptr %t57, ptr %t5 call void @fn_eat_op(ptr @.str335) br label %ifend26 else25: %t58 = load ptr, ptr %t25 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str336) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then27, label %else28 then27: call void @fn_eat_op(ptr @.str337) %t61 = call ptr @fn_eat_id() store ptr %t61, ptr %t6 call void @fn_eat_op(ptr @.str338) br label %ifend29 else28: %t62 = load ptr, ptr %t25 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str339) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then30, label %else31 then30: call void @fn_eat_op(ptr @.str340) %t65 = call ptr @fn_eat_id() store ptr %t65, ptr %t7 call void @fn_eat_op(ptr @.str341) br label %ifend32 else31: %t66 = load ptr, ptr %t25 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str342) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then33, label %else34 then33: call void @fn_eat_op(ptr @.str343) %t69 = call ptr @fn_eat_id() store ptr %t69, ptr %t8 call void @fn_eat_op(ptr @.str344) br label %ifend35 else34: %t70 = load ptr, ptr %t25 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str345) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then36, label %else37 then36: store ptr @.str346, ptr %t11 br label %ifend38 else37: %t73 = load ptr, ptr %t25 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str347) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then39, label %else40 then39: store ptr @.str348, ptr %t11 br label %ifend41 else40: %t76 = load ptr, ptr %t25 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str349) %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 @.str350) %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 @.str351) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then48, label %else49 then48: store ptr @.str352, ptr %t14 br label %ifend50 else49: %t85 = load ptr, ptr %t25 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str353) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then51, label %else52 then51: store ptr @.str354, ptr %t14 br label %ifend53 else52: %t88 = load ptr, ptr %t25 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str355) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then54, label %else55 then54: store ptr @.str356, ptr %t15 br label %ifend56 else55: %t91 = load ptr, ptr %t25 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str357) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then57, label %else58 then57: store ptr @.str358, ptr %t15 br label %ifend59 else58: %t94 = load ptr, ptr %t25 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str359) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then60, label %else61 then60: store ptr @.str360, ptr %t16 %t97 = call i32 @fn_is_op(ptr @.str361) %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 @.str362) br label %ifend65 ifend65: br label %ifend62 else61: %t102 = load ptr, ptr %t25 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str363) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then66, label %else67 then66: call void @fn_eat_op(ptr @.str364) %t105 = call ptr @fn_eat_id() store ptr %t105, ptr %t17 call void @fn_eat_op(ptr @.str365) %t106 = call ptr @fn_eat_id() store ptr %t106, ptr %t18 call void @fn_eat_op(ptr @.str366) br label %ifend68 else67: %t107 = load ptr, ptr %t25 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str367) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then69, label %else70 then69: call void @fn_eat_op(ptr @.str368) %t110 = call ptr @fn_eat_id() store ptr %t110, ptr %t19 call void @fn_eat_op(ptr @.str369) br label %ifend71 else70: %t111 = load ptr, ptr %t25 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str370) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then72, label %else73 then72: call void @fn_eat_op(ptr @.str371) %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 @.str372) br label %ifend74 else73: %t115 = call i32 @fn_is_op(ptr @.str373) %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 @.str374) %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 @.str375) %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 @.str376) %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 @.str377) 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 @.str378) %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 @.str379) %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 @.str380) %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 @.str381) %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 @.str382) %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 @.str383) %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 @.str384) %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 @.str385) %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 @.str386, ptr %t323) %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str387) 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 @.str388, ptr %t337) %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str389) 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 @.str390, ptr %t350) %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str391) 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 @.str392, ptr %t363) %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str393) 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 @.str394, ptr %t376) %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str395) 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 @.str396, ptr %t389) %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str397) 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 @.str398) %t403 = icmp ne i32 %t402, 0 br i1 %t403, label %then188, label %else189 then188: call void @fn_ensure_event_empty(ptr @.str399) br label %ifend190 else189: call void @fn_ensure_event_empty(ptr @.str400) 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 @.str401) %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 @.str402) %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 @.str403) %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 @.str404) %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 @.str405) %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 @.str406) %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 @.str407) %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 @.str408) %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 @.str409, 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 @.str410) 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 @.str411) 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 @.str412, 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 @.str413) %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 @.str414) %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 @.str415) %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 @.str416, ptr @.str417) %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 @.str418) %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 @.str419, ptr %t155) call void @fn_perr(ptr %t156) br label %ifend38 ifend38: store ptr @.str420, 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 %t72 = alloca i32 %t101 = alloca i32 %t0 = load ptr, ptr @g_cur_dir store ptr %t0, ptr %t1 %t2 = call i32 @fn_has_ecs() %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str421, ptr @g_cur_dir call void @fn_do_import(ptr @.str422) %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 @.str423, ptr @g_cur_dir call void @fn_do_import(ptr @.str424) call void @fn_do_import(ptr @.str425) %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 @.str426, ptr @g_cur_dir call void @fn_do_import(ptr @.str427) %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 @.str428, ptr @g_cur_dir call void @fn_do_import(ptr @.str429) %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 @.str430, ptr @g_cur_dir call void @fn_do_import(ptr @.str431) %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 @.str432, ptr @g_cur_dir call void @fn_do_import(ptr @.str433) %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 @.str434, ptr @g_cur_dir call void @fn_do_import(ptr @.str435) %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 @.str436, ptr @g_cur_dir call void @fn_do_import(ptr @.str437) %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 @.str438, ptr @g_cur_dir call void @fn_do_import(ptr @.str439) %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 @.str440, ptr @g_cur_dir call void @fn_do_import(ptr @.str441) %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 @.str442, ptr @g_cur_dir call void @fn_do_import(ptr @.str443) call void @fn_do_import(ptr @.str444) call void @fn_do_import(ptr @.str445) %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 @.str446, ptr @g_cur_dir call void @fn_do_import(ptr @.str447) call void @fn_do_import(ptr @.str448) %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 @.str449, ptr @g_cur_dir call void @fn_do_import(ptr @.str450) call void @fn_do_import(ptr @.str451) call void @fn_do_import(ptr @.str452) %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 @.str453, ptr @g_cur_dir call void @fn_do_import(ptr @.str454) call void @fn_do_import(ptr @.str455) call void @fn_do_import(ptr @.str456) call void @fn_do_import(ptr @.str457) call void @fn_do_import(ptr @.str458) call void @fn_do_import(ptr @.str459) call void @fn_do_import(ptr @.str460) %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 @.str461) 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 @.str462, ptr @g_cur_dir call void @fn_do_import(ptr @.str463) %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 @.str464, ptr @g_cur_dir call void @fn_do_import(ptr @.str465) call void @fn_do_import(ptr @.str466) %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 @.str467, ptr @g_cur_dir call void @fn_do_import(ptr @.str468) call void @fn_do_import(ptr @.str469) %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 @.str470, ptr @g_cur_dir call void @fn_do_import(ptr @.str471) %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 @.str472, ptr @g_cur_dir call void @fn_do_import(ptr @.str473) %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 @.str474, ptr @g_cur_dir call void @fn_do_import(ptr @.str475) %t63 = load ptr, ptr %t1 store ptr %t63, ptr @g_cur_dir br label %ifend62 ifend62: %t64 = load i32, ptr @g_g_uses_vk %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then63, label %ifend65 then63: store ptr @.str476, ptr @g_cur_dir call void @fn_do_import(ptr @.str477) %t66 = load ptr, ptr %t1 store ptr %t66, ptr @g_cur_dir br label %ifend65 ifend65: %t67 = load i32, ptr @g_g_uses_anim_rt %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then66, label %ifend68 then66: store i32 1, ptr @g_g_uses_esys store ptr @.str478, ptr @g_cur_dir call void @fn_do_import(ptr @.str479) call void @fn_do_import(ptr @.str480) %t69 = load ptr, ptr %t1 store ptr %t69, ptr @g_cur_dir br label %ifend68 ifend68: %t70 = call i32 @fn_uses_engine_systems() %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then69, label %ifend71 then69: store i32 1, ptr @g_g_uses_esys store ptr @.str481, ptr @g_cur_dir %t73 = call ptr @fn_find_comp(ptr @.str482) %t74 = icmp ne ptr %t73, null %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t72 br i1 %t76, label %scend73, label %sc72 sc72: %t78 = call ptr @fn_find_comp(ptr @.str483) %t79 = icmp ne ptr %t78, null %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t72 br label %scend73 scend73: %t83 = load i32, ptr %t72 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then74, label %ifend76 then74: call void @fn_do_import(ptr @.str484) br label %ifend76 ifend76: %t85 = call ptr @fn_find_comp(ptr @.str485) %t86 = icmp ne ptr %t85, null %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then77, label %ifend79 then77: call void @fn_do_import(ptr @.str486) call void @fn_do_import(ptr @.str487) br label %ifend79 ifend79: %t89 = call ptr @fn_find_comp(ptr @.str488) %t90 = icmp ne ptr %t89, null %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then80, label %ifend82 then80: call void @fn_do_import(ptr @.str489) call void @fn_do_import(ptr @.str490) br label %ifend82 ifend82: %t93 = call ptr @fn_find_comp(ptr @.str491) %t94 = icmp ne ptr %t93, null %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then83, label %ifend85 then83: call void @fn_do_import(ptr @.str492) call void @fn_do_import(ptr @.str493) br label %ifend85 ifend85: %t97 = call ptr @fn_find_comp(ptr @.str494) %t98 = icmp ne ptr %t97, null %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then86, label %ifend88 then86: call void @fn_do_import(ptr @.str495) br label %ifend88 ifend88: %t102 = call ptr @fn_find_comp(ptr @.str496) %t103 = icmp ne ptr %t102, null %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t101 br i1 %t105, label %scend90, label %sc89 sc89: %t107 = call ptr @fn_find_comp(ptr @.str497) %t108 = icmp ne ptr %t107, null %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t101 br label %scend90 scend90: %t112 = load i32, ptr %t101 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then91, label %ifend93 then91: call void @fn_do_import(ptr @.str498) call void @fn_do_import(ptr @.str499) store i32 1, ptr @g_g_uses_light br label %ifend93 ifend93: %t114 = load ptr, ptr %t1 store ptr %t114, ptr @g_cur_dir br label %ifend71 ifend71: br label %ret ret: ret void } define void @fn_parse_program() { entry: %t547 = alloca ptr %t551 = alloca ptr %t560 = alloca ptr %t563 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_prog %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 %t8 = call ptr @malloc(i64 %t7) %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 store ptr null, ptr %t9 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 store i32 0, ptr %t10 %t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2 store i32 0, ptr %t11 store ptr %t8, ptr @g_g_computed %t12 = getelementptr %LSlice, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 %t14 = call ptr @malloc(i64 %t13) %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 store ptr null, ptr %t15 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 store i32 0, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 store i32 0, ptr %t17 store ptr %t14, ptr @g_g_onspawn %t18 = getelementptr %LSlice, ptr null, i32 1 %t19 = ptrtoint ptr %t18 to i64 %t20 = call ptr @malloc(i64 %t19) %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 store ptr null, ptr %t21 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 store i32 0, ptr %t22 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 store i32 0, ptr %t23 store ptr %t20, ptr @g_g_ondespawn %t24 = getelementptr %LSlice, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 %t26 = call ptr @malloc(i64 %t25) %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 store ptr null, ptr %t27 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 store i32 0, ptr %t28 %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 store i32 0, ptr %t29 store ptr %t26, ptr @g_g_onattach %t30 = getelementptr %LSlice, ptr null, i32 1 %t31 = ptrtoint ptr %t30 to i64 %t32 = call ptr @malloc(i64 %t31) %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 store ptr null, ptr %t33 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 store i32 0, ptr %t34 %t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2 store i32 0, ptr %t35 store ptr %t32, ptr @g_g_ondetach %t36 = getelementptr %LSlice, ptr null, i32 1 %t37 = ptrtoint ptr %t36 to i64 %t38 = call ptr @malloc(i64 %t37) %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 store ptr null, ptr %t39 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 store i32 0, ptr %t40 %t41 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2 store i32 0, ptr %t41 store ptr %t38, ptr @g_g_onenable %t42 = getelementptr %LSlice, ptr null, i32 1 %t43 = ptrtoint ptr %t42 to i64 %t44 = call ptr @malloc(i64 %t43) %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 store ptr null, ptr %t45 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 store i32 0, ptr %t46 %t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 store i32 0, ptr %t47 store ptr %t44, ptr @g_g_ondisable %t48 = getelementptr %LSlice, ptr null, i32 1 %t49 = ptrtoint ptr %t48 to i64 %t50 = call ptr @malloc(i64 %t49) %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 store ptr null, ptr %t51 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 store i32 0, ptr %t52 %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 store i32 0, ptr %t53 store ptr %t50, ptr @g_g_scenes store i32 0, ptr @g_g_scene_count store i32 0, ptr @g_g_start_scene %t54 = getelementptr %LSlice, ptr null, i32 1 %t55 = ptrtoint ptr %t54 to i64 %t56 = call ptr @malloc(i64 %t55) %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 store ptr null, ptr %t57 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 store i32 0, ptr %t58 %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2 store i32 0, ptr %t59 store ptr %t56, ptr @g_g_events %t60 = getelementptr %LSlice, ptr null, i32 1 %t61 = ptrtoint ptr %t60 to i64 %t62 = call ptr @malloc(i64 %t61) %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 store ptr null, ptr %t63 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 store i32 0, ptr %t64 %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 store i32 0, ptr %t65 store ptr %t62, ptr @g_g_onlisten %t66 = getelementptr %LSlice, ptr null, i32 1 %t67 = ptrtoint ptr %t66 to i64 %t68 = call ptr @malloc(i64 %t67) %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 store ptr null, ptr %t69 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 store i32 0, ptr %t70 %t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2 store i32 0, ptr %t71 store ptr %t68, ptr @g_g_toggled_layers store i32 0, ptr @g_g_uses_regex store i32 0, ptr @g_g_uses_gl store i32 0, ptr @g_g_uses_vk store i32 0, ptr @g_g_uses_bignum store i32 0, ptr @g_g_uses_dict store i32 0, ptr @g_g_uses_numeric store i32 0, ptr @g_g_uses_jobs store i32 0, ptr @g_g_uses_query store i32 0, ptr @g_g_uses_reflect store i32 0, ptr @g_g_uses_esys store i32 0, ptr @g_g_uses_input store i32 0, ptr @g_g_has_clear_color store ptr null, ptr @g_g_clear_color store i32 0, ptr @g_g_warned_draw_sprite store i32 0, ptr @g_g_uses_world_despawn store i32 0, ptr @g_g_uses_light store i32 0, ptr @g_g_uses_value store i32 0, ptr @g_g_uses_xml store i32 0, ptr @g_g_uses_base64 store i32 0, ptr @g_g_uses_tiled store i32 0, ptr @g_g_uses_atlas store i32 0, ptr @g_g_uses_fx store i32 0, ptr @g_g_uses_reflect_io %t72 = getelementptr %LSlice, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 %t74 = call ptr @malloc(i64 %t73) %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 store ptr null, ptr %t75 %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 store i32 0, ptr %t76 %t77 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 2 store i32 0, ptr %t77 store ptr %t74, ptr @g_g_tests %t78 = getelementptr %LSlice, ptr null, i32 1 %t79 = ptrtoint ptr %t78 to i64 %t80 = call ptr @malloc(i64 %t79) %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 store ptr null, ptr %t81 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 store i32 0, ptr %t82 %t83 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 2 store i32 0, ptr %t83 store ptr %t80, ptr @g_g_mod_sys_fn %t84 = getelementptr %LSlice, ptr null, i32 1 %t85 = ptrtoint ptr %t84 to i64 %t86 = call ptr @malloc(i64 %t85) %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 store ptr null, ptr %t87 %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 store i32 0, ptr %t88 %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 2 store i32 0, ptr %t89 store ptr %t86, ptr @g_g_mod_sys_phase %t90 = getelementptr %LSlice, ptr null, i32 1 %t91 = ptrtoint ptr %t90 to i64 %t92 = call ptr @malloc(i64 %t91) %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 store ptr null, ptr %t93 %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 store i32 0, ptr %t94 %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 store i32 0, ptr %t95 store ptr %t92, ptr @g_g_esys_comp %t96 = getelementptr %LSlice, ptr null, i32 1 %t97 = ptrtoint ptr %t96 to i64 %t98 = call ptr @malloc(i64 %t97) %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 store ptr null, ptr %t99 %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 store i32 0, ptr %t100 %t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 2 store i32 0, ptr %t101 store ptr %t98, ptr @g_g_esys_fn %t102 = getelementptr %LSlice, ptr null, i32 1 %t103 = ptrtoint ptr %t102 to i64 %t104 = call ptr @malloc(i64 %t103) %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 store ptr null, ptr %t105 %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 store i32 0, ptr %t106 %t107 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 2 store i32 0, ptr %t107 store ptr %t104, ptr @g_g_esys_phase %t108 = getelementptr %LSlice, ptr null, i32 1 %t109 = ptrtoint ptr %t108 to i64 %t110 = call ptr @malloc(i64 %t109) %t111 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 store ptr null, ptr %t111 %t112 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 store i32 0, ptr %t112 %t113 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 2 store i32 0, ptr %t113 store ptr %t110, ptr @g_g_disabled_sys %t114 = load ptr, ptr @g_g_esys_comp %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 2 %t117 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t118 = load i32, ptr %t115 %t119 = load i32, ptr %t116 %t120 = icmp sge i32 %t118, %t119 br i1 %t120, label %grow0, label %put1 grow0: %t121 = mul i32 %t119, 2 %t122 = icmp eq i32 %t119, 0 %t123 = select i1 %t122, i32 8, i32 %t121 %t124 = getelementptr ptr, ptr null, i32 1 %t125 = ptrtoint ptr %t124 to i64 %t126 = zext i32 %t123 to i64 %t127 = mul i64 %t126, %t125 %t128 = load ptr, ptr %t117 %t129 = call ptr @realloc(ptr %t128, i64 %t127) store ptr %t129, ptr %t117 store i32 %t123, ptr %t116 br label %put1 put1: %t130 = load ptr, ptr %t117 %t131 = getelementptr inbounds ptr, ptr %t130, i32 %t118 store ptr @.str500, 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 @.str501, 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 @.str502, 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 @.str503, 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 @.str504, 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 @.str505, 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 @.str506, 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 @.str507, 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 @.str508, 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 @.str509, 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 @.str510, 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 @.str511, 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 @.str512, 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 @.str513, 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 @.str514, 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 @.str515, 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 @.str516, 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 @.str517, 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 @.str518, 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 @.str519, 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 @.str520, 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 @.str521, ptr @g_g_game_name br label %wcond42 wcond42: %t537 = call i32 @fn_is_id(ptr @.str522) %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 @.str523) %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 @.str524) %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 @.str525) %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 @.str526) %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 @.str527) %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 @.str528) 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 @.str529) %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 @.str530) 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 @.str531) %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 @.str532) %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 @.str533) %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 @.str534) %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 @.str535) %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 @.str536) %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 @.str537) %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 @.str538) %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 @.str539) %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 @.str540) 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 @.str541) %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 @.str542) %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 @.str543) %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 @.str544) %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 @.str545) %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 @.str546, 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 @.str547) %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 @.str548) %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 @.str549) %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 @.str550) %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 @.str551) %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 @.str552, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str553) 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 @.str554) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str555) %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 @.str556) %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 @.str557) 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 @.str558) %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 @.str559) %t72 = call i32 @fn_is_id(ptr @.str560) %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 @.str561) br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str562) %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 @.str563) %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 @.str564) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 %t39 = call i32 @fn_is_id(ptr @.str565) %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 @.str566) 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 @.str567, 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 @.str568) %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 @.str569) %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 @.str570) %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 @.str571) %t13 = load ptr, ptr %t12 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str572) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: call void @fn_eat_op(ptr @.str573) call void @fn_skipnl() br label %wcond9 wcond9: %t16 = call i32 @fn_is_op(ptr @.str574) %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 @.str575) %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 @.str576) %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 @.str577) %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 @.str578) br label %ifend8 else7: %t98 = load ptr, ptr %t12 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str579) %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 @.str580) %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 @.str581) %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 @.str582) %t7 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t7) call void @fn_eat_op(ptr @.str583) %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 @.str584) %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 @.str585) %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 @.str586) %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 @.str587) %t10 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t10) call void @fn_eat_op(ptr @.str588) %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 @.str589) %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 @.str590) %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 @.str591) %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 @.str592) %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 @.str593) %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 @.str594) %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 @.str595) %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 @.str596) %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 @.str597) %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 @.str598) 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 @.str599) %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 @.str600) %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 @.str601) 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 @.str602, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str603) 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 @.str604, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str605) call void @fn_ensure_event_empty(ptr %t94) br label %ifend31 ifend31: call void @fn_skipnl() call void @fn_eat_op(ptr @.str606) 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 @.str607) %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 @.str608) %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 @.str609) %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 @.str610) %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 @.str611) br label %ifend46 ifend46: br label %ifend43 ifend43: br label %wcond32 ifend40: %t116 = call i32 @fn_is_id(ptr @.str612) %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 @.str613) %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 @.str614, ptr %t126) %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str615) call void @fn_ensure_event_empty(ptr %t128) %t129 = load ptr, ptr %t121 %t130 = call ptr @lp_str_concat(ptr @.str616, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str617) call void @fn_ensure_event_empty(ptr %t131) br label %ifend52 ifend52: call void @fn_skipnl() call void @fn_eat_op(ptr @.str618) %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 @.str619) %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 @.str620) %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 @.str621) %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 @.str622, ptr %t151) %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str623) 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 @.str624) %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 @.str625) 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 @.str626) %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 @.str627) br label %wcond32 ifend49: call void @fn_perr(ptr @.str628) br label %wcond32 wend34: call void @fn_eat_op(ptr @.str629) %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 @.str630) store ptr %t9, ptr %t5 %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 store ptr @.str631, 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 @.str632, 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 @.str633, 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 @.str634, 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 @.str635, 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 @.str636) store ptr %t191, ptr %t187 %t192 = load ptr, ptr %t185 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 store ptr @.str637, 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 @.str638, 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 @.str639, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str640) 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 @.str641, 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 @.str642, 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 @.str643) store ptr %t142, ptr %t138 %t143 = load ptr, ptr %t136 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 3 store ptr @.str644, 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 @.str645, 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 @.str646, 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 @.str647) %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 @.str648) %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 @.str649, 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 @.str650, 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 @.str651, 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 @.str652, 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 @.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 = 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 @.str655) %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 @.str656) %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 @.str657) %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 @.str658) 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 @.str659) %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 @.str660) %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 @.str661) 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 @.str662) %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 @.str663) %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 @.str664) %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 @.str665) %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 @.str666) %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 @.str667) br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str668) %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 @.str669) %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 @.str670) %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 @.str671) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 store ptr @.str672, ptr %t48 %t49 = call i32 @fn_is_op(ptr @.str673) %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 @.str674) %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 @.str675) %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 @.str676) %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 @.str677) %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 @.str678) %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 @.str679) 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 @.str680) 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 @.str681) %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 @.str682) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str683) %t19 = load i32, ptr %t15 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str684) %t21 = load ptr, ptr %t17 %t22 = call ptr @lp_str_concat(ptr @.str685, 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 @.str686, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str687) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str688) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str689) %t31 = load ptr, ptr %t17 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str690) 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 @.str691, 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 @.str692) %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 @.str693) %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 @.str694) %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 @.str695, 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 @.str696) %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 @.str697) %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 @.str698) %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 @.str699) %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 @.str700, 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 @.str701, ptr %retval br label %ret ifend11: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str702) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: store ptr @.str703, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str704) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: store ptr @.str705, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str706) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then18, label %ifend20 then18: store ptr @.str707, ptr %retval br label %ret ifend20: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str708) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then21, label %ifend23 then21: store ptr @.str709, ptr %retval br label %ret ifend23: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str710) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then24, label %ifend26 then24: store ptr @.str711, ptr %retval br label %ret ifend26: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str712) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then27, label %ifend29 then27: store ptr @.str713, ptr %retval br label %ret ifend29: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str714) %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 @.str715) %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 @.str716) %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 @.str717, ptr %retval br label %ret ifend36: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str718) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then37, label %ifend39 then37: store ptr @.str719, ptr %retval br label %ret ifend39: store ptr @.str720, 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 @.str721, 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 @.str722, 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 @.str723) %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 @.str724) %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 @.str725) %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 @.str726) %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 @.str727) %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 @.str728) %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 @.str729) %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 @.str730) %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 @.str731) %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 @.str732) %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 @.str733) %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 @.str734) %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 @.str735) %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 @.str736) %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 @.str737) %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 @.str738) %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 @.str739, 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 @.str740) %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 @.str741) %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 @.str742) %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 @.str743) %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 @.str744, 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 @.str745) %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 @.str746) %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 @.str747, 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 @.str748) %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 @.str749) %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 @.str750, 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 @.str751) %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 @.str752, 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 @.str753, 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 @.str754, 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 @.str755, 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 @.str756, 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 @.str757, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 store ptr @.str758, 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 @.str759, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 store ptr @.str760, 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 @.str761, 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 @.str762) %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 @.str763) 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 @.str764) %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 @.str765) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: store ptr @.str766, ptr %retval br label %ret ifend5: store ptr @.str767, 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 @.str768) %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 @.str769, 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 @.str770) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then28, label %ifend30 then28: store ptr @.str771, ptr %retval br label %ret ifend30: store ptr @.str772, 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 @.str773) %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 @.str774, 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 @.str775) %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 @.str776) %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 @.str777) %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 @.str778) 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 @.str779) %t54 = load ptr, ptr %t4 store ptr %t54, ptr @g_code call void @fn_emit(ptr @.str780) %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 @.str781) br label %ret ret: ret void } define void @fn_emit_header() { entry: %t12 = alloca i32 %t26 = alloca ptr %t33 = alloca i32 %t39 = alloca i32 %t68 = alloca i32 %t107 = alloca i32 %t149 = alloca ptr %t156 = alloca i32 %t162 = alloca i32 %t191 = alloca i32 call void @fn_emith(ptr @.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) %t0 = load i32, ptr @g_g_target_win %t1 = icmp eq i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.str790) call void @fn_emith(ptr @.str791) call void @fn_emith(ptr @.str792) call void @fn_emith(ptr @.str793) br label %ifend2 ifend2: 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) %t4 = load i32, ptr @g_g_target_win %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then3, label %else4 then3: call void @fn_emit_win_prelude() br label %ifend5 else4: call void @fn_emith(ptr @.str833) call void @fn_emith(ptr @.str834) br label %ifend5 ifend5: call void @fn_emith(ptr @.str835) call void @fn_emith(ptr @.str836) call void @fn_emith(ptr @.str837) call void @fn_emith(ptr @.str838) call void @fn_emith(ptr @.str839) call void @fn_emith(ptr @.str840) call void @fn_emith(ptr @.str841) %t6 = load ptr, ptr @g_g_game_name %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %t9 = add i32 %t8, 1 %t10 = call ptr @fn_itoa(i32 %t9) call void @fn_emith(ptr %t10) call void @fn_emith(ptr @.str842) %t11 = load ptr, ptr @g_g_game_name call void @fn_emith(ptr %t11) call void @fn_emith(ptr @.str843) call void @fn_emith(ptr @.str844) store i32 0, ptr %t12 br label %wcond6 wcond6: %t13 = load i32, ptr %t12 %t14 = load ptr, ptr @g_prog %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp slt i32 %t13, %t16 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody7, label %wend8 wbody7: %t20 = load ptr, ptr @g_prog %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t12 %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 0 %t29 = load i32, ptr %t28 %t30 = icmp eq i32 %t29, 8 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: store i32 0, ptr %t33 br label %wcond12 wcond12: %t34 = load i32, ptr %t33 %t35 = load i32, ptr %t12 %t36 = icmp slt i32 %t34, %t35 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %wbody13, label %wend14 wbody13: %t40 = load ptr, ptr @g_prog %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t33 %t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 0 %t47 = load i32, ptr %t46 %t48 = icmp eq i32 %t47, 8 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t39 br i1 %t50, label %sc15, label %scend16 sc15: %t52 = load ptr, ptr @g_prog %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = load i32, ptr %t33 %t56 = getelementptr inbounds ptr, ptr %t54, i32 %t55 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t26 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t61 %t63 = call i32 @lp_str_eq(ptr %t59, ptr %t62) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t39 br label %scend16 scend16: %t66 = load i32, ptr %t39 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then17, label %ifend19 then17: %t69 = load i32, ptr %t33 %t70 = load i32, ptr @g_g_prog_user_end %t71 = icmp slt i32 %t69, %t70 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t68 br i1 %t73, label %sc20, label %scend21 sc20: %t75 = load i32, ptr %t12 %t76 = load i32, ptr @g_g_prog_user_end %t77 = icmp sge i32 %t75, %t76 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t68 br label %scend21 scend21: %t81 = load i32, ptr %t68 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then22, label %ifend24 then22: %t83 = load ptr, ptr %t26 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 %t86 = call ptr @lp_str_concat(ptr @.str845, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str846) call void @fn_perr(ptr %t87) br label %ifend24 ifend24: %t88 = load ptr, ptr %t26 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 %t90 = load ptr, ptr %t89 %t91 = call ptr @lp_str_concat(ptr @.str847, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str848) call void @fn_perr(ptr %t92) br label %ifend19 ifend19: %t93 = load i32, ptr %t33 %t94 = add i32 %t93, 1 store i32 %t94, ptr %t33 br label %wcond12 wend14: %t95 = load ptr, ptr %t26 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_layout_ty(ptr %t97) call void @fn_emith(ptr %t98) call void @fn_emith(ptr @.str849) %t99 = load ptr, ptr %t26 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 7 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp eq i32 %t103, 0 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then25, label %ifend27 then25: call void @fn_emith(ptr @.str850) br label %ifend27 ifend27: store i32 0, ptr %t107 br label %wcond28 wcond28: %t108 = load i32, ptr %t107 %t109 = load ptr, ptr %t26 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 7 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t113 = load i32, ptr %t112 %t114 = icmp slt i32 %t108, %t113 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %wbody29, label %wend30 wbody29: %t117 = load i32, ptr %t107 %t118 = icmp sgt i32 %t117, 0 %t119 = zext i1 %t118 to i32 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then31, label %ifend33 then31: call void @fn_emith(ptr @.str851) br label %ifend33 ifend33: %t121 = load ptr, ptr %t26 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = load i32, ptr %t107 %t127 = getelementptr inbounds ptr, ptr %t125, i32 %t126 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 3 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_llty(ptr %t130) call void @fn_emith(ptr %t131) %t132 = load i32, ptr %t107 %t133 = add i32 %t132, 1 store i32 %t133, ptr %t107 br label %wcond28 wend30: call void @fn_emith(ptr @.str852) br label %ifend11 ifend11: %t134 = load i32, ptr %t12 %t135 = add i32 %t134, 1 store i32 %t135, ptr %t12 br label %wcond6 wend8: store i32 0, ptr %t12 br label %wcond34 wcond34: %t136 = load i32, ptr %t12 %t137 = load ptr, ptr @g_prog %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 1 %t139 = load i32, ptr %t138 %t140 = icmp slt i32 %t136, %t139 %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %wbody35, label %wend36 wbody35: %t143 = load ptr, ptr @g_prog %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = load i32, ptr %t12 %t147 = getelementptr inbounds ptr, ptr %t145, i32 %t146 %t148 = load ptr, ptr %t147 store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 0 %t152 = load i32, ptr %t151 %t153 = icmp eq i32 %t152, 2 %t154 = zext i1 %t153 to i32 %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then37, label %ifend39 then37: store i32 0, ptr %t156 br label %wcond40 wcond40: %t157 = load i32, ptr %t156 %t158 = load i32, ptr %t12 %t159 = icmp slt i32 %t157, %t158 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %wbody41, label %wend42 wbody41: %t163 = load ptr, ptr @g_prog %t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t165 = load ptr, ptr %t164 %t166 = load i32, ptr %t156 %t167 = getelementptr inbounds ptr, ptr %t165, i32 %t166 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 0 %t170 = load i32, ptr %t169 %t171 = icmp eq i32 %t170, 2 %t172 = zext i1 %t171 to i32 %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t162 br i1 %t173, label %sc43, label %scend44 sc43: %t175 = load ptr, ptr @g_prog %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 %t177 = load ptr, ptr %t176 %t178 = load i32, ptr %t156 %t179 = getelementptr inbounds ptr, ptr %t177, i32 %t178 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 %t183 = load ptr, ptr %t149 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 1 %t185 = load ptr, ptr %t184 %t186 = call i32 @lp_str_eq(ptr %t182, ptr %t185) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t162 br label %scend44 scend44: %t189 = load i32, ptr %t162 %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then45, label %ifend47 then45: %t192 = load i32, ptr %t156 %t193 = load i32, ptr @g_g_prog_user_end %t194 = icmp slt i32 %t192, %t193 %t195 = zext i1 %t194 to i32 %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t191 br i1 %t196, label %sc48, label %scend49 sc48: %t198 = load i32, ptr %t12 %t199 = load i32, ptr @g_g_prog_user_end %t200 = icmp sge i32 %t198, %t199 %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t191 br label %scend49 scend49: %t204 = load i32, ptr %t191 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then50, label %ifend52 then50: %t206 = load ptr, ptr %t149 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 1 %t208 = load ptr, ptr %t207 %t209 = call ptr @lp_str_concat(ptr @.str853, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str854) call void @fn_perr(ptr %t210) br label %ifend52 ifend52: %t211 = load ptr, ptr %t149 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 1 %t213 = load ptr, ptr %t212 %t214 = call ptr @lp_str_concat(ptr @.str855, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str856) call void @fn_perr(ptr %t215) br label %ifend47 ifend47: %t216 = load i32, ptr %t156 %t217 = add i32 %t216, 1 store i32 %t217, ptr %t156 br label %wcond40 wend42: call void @fn_emith(ptr @.str857) %t218 = load ptr, ptr %t149 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 1 %t220 = load ptr, ptr %t219 call void @fn_emith(ptr %t220) call void @fn_emith(ptr @.str858) %t221 = load ptr, ptr %t149 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 3 %t223 = load ptr, ptr %t222 %t224 = call ptr @fn_llty(ptr %t223) call void @fn_emith(ptr %t224) call void @fn_emith(ptr @.str859) %t225 = load ptr, ptr %t149 %t226 = call ptr @fn_global_init(ptr %t225) call void @fn_emith(ptr %t226) call void @fn_emith(ptr @.str860) br label %ifend39 ifend39: %t227 = load i32, ptr %t12 %t228 = add i32 %t227, 1 store i32 %t228, ptr %t12 br label %wcond34 wend36: br label %ret ret: ret void } define void @fn_emit_extern_decls() { entry: %t0 = alloca i32 %t14 = alloca ptr %t30 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 11 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str861) %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 @.str862) %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 @.str863) 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 @.str864) 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 @.str865) 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 @.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) 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) br label %ret ret: ret void } define void @fn_emit_int_str() { entry: call void @fn_emith(ptr @.str901) call void @fn_emith(ptr @.str902) call void @fn_emith(ptr @.str903) call void @fn_emith(ptr @.str904) call void @fn_emith(ptr @.str905) call void @fn_emith(ptr @.str906) call void @fn_emith(ptr @.str907) call void @fn_emith(ptr @.str908) call void @fn_emith(ptr @.str909) call void @fn_emith(ptr @.str910) call void @fn_emith(ptr @.str911) call void @fn_emith(ptr @.str912) call void @fn_emith(ptr @.str913) call void @fn_emith(ptr @.str914) call void @fn_emith(ptr @.str915) call void @fn_emith(ptr @.str916) call void @fn_emith(ptr @.str917) br label %ret ret: ret void } define void @fn_emit_long_str() { entry: 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) call void @fn_emith(ptr @.str926) call void @fn_emith(ptr @.str927) call void @fn_emith(ptr @.str928) call void @fn_emith(ptr @.str929) call void @fn_emith(ptr @.str930) call void @fn_emith(ptr @.str931) call void @fn_emith(ptr @.str932) call void @fn_emith(ptr @.str933) call void @fn_emith(ptr @.str934) br label %ret ret: ret void } define void @fn_emit_str_slice() { entry: call void @fn_emith(ptr @.str935) call void @fn_emith(ptr @.str936) call void @fn_emith(ptr @.str937) call void @fn_emith(ptr @.str938) call void @fn_emith(ptr @.str939) call void @fn_emith(ptr @.str940) call void @fn_emith(ptr @.str941) call void @fn_emith(ptr @.str942) br label %ret ret: ret void } define 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 @.str943, 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 @.str944, 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 @.str945) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str946) %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 @.str947) %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 @.str948) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str949) %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 @.str950) %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 @.str951, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str952) %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 @.str953, 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 @.str954) %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 @.str955, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str956) %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 @.str957, 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 @.str958) %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 @.str959, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str960) %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 @.str961, 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 @.str962, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str963) %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 @.str964, 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 @.str965) %t88 = load ptr, ptr %t87 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str966) %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 @.str967) %t92 = call ptr @fn_nreg() store ptr %t92, ptr %t93 call void @fn_emit(ptr @.str968) %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str969) %t95 = load ptr, ptr %t87 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str970) %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 @.str971) %t103 = load ptr, ptr %t102 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str972) %t104 = load ptr, ptr %t85 %t105 = call ptr @fn_llty(ptr %t104) call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str973) %t106 = load ptr, ptr %t93 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str974) %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 @.str975) %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 @.str976) %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 @.str977) %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 @.str978) %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 @.str979) %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 @.str980) %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 @.str981) %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 @.str982) %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 @.str983) %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 @.str984) %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 @.str985) %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 @.str986) %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 @.str987) %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 @.str988) %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 @.str989) %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 @.str990) %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 @.str991) %t3 = load ptr, ptr %t2 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str992) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str993) %t5 = load ptr, ptr %t2 store ptr %t5, ptr %retval br label %ret ret: %t6 = load ptr, ptr %retval ret ptr %t6 } define ptr @fn_arg_code(ptr %arg_e, i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t11 = alloca ptr store ptr %arg_e, ptr %t0 store i32 %arg_i, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = load i32, ptr %t1 %t8 = getelementptr inbounds ptr, ptr %t6, i32 %t7 %t9 = load ptr, ptr %t8 %t10 = call ptr @fn_emit_expr(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %Cmp_Val, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define ptr @fn_emit_intrinsic(ptr %arg_name, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t7 = alloca ptr %t10 = alloca ptr %t15 = alloca ptr %t29 = alloca ptr %t32 = alloca ptr %t41 = alloca i32 %t54 = alloca ptr %t57 = alloca ptr %t60 = alloca ptr %t65 = alloca ptr %t66 = alloca ptr %t83 = alloca ptr %t94 = alloca ptr %t97 = alloca ptr %t100 = alloca ptr %t105 = alloca ptr %t122 = alloca ptr %t127 = alloca ptr %t138 = alloca ptr %t146 = alloca ptr %t159 = alloca ptr %t161 = alloca ptr %t168 = alloca ptr %t178 = alloca ptr %t198 = alloca ptr %t209 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_e, ptr %t1 store i32 1, ptr @g_g_intrin_ok %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str994) %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 @.str995, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str996) %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 @.str997, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str998) %t19 = load ptr, ptr %t15 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str999) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str1000) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str1001) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: call void @fn_use_pak() %t27 = load ptr, ptr %t1 %t28 = call ptr @fn_arg_code(ptr %t27, i32 0) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t1 %t31 = call ptr @fn_arg_code(ptr %t30, i32 1) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t29 %t34 = call ptr @lp_str_concat(ptr @.str1002, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1003) %t36 = load ptr, ptr %t32 %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1004) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str1005) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1006) %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 @.str1007) %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 @.str1008, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1009) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 store ptr @.str1010, ptr %t66 %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str1011) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then11, label %ifend13 then11: store ptr @.str1012, ptr %t66 br label %ifend13 ifend13: %t70 = load ptr, ptr %t66 %t71 = call ptr @lp_str_concat(ptr @.str1013, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str1014) %t73 = load ptr, ptr %t57 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1015) %t76 = load ptr, ptr %t65 %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1016) %t79 = load ptr, ptr %t54 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1017) %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 @.str1018, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1019) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1020) store ptr %t88, ptr %retval br label %ret ifend10: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1021) %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 @.str1022, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1023) %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 @.str1024, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1025) %t109 = load ptr, ptr %t105 %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1026) %t112 = load ptr, ptr %t100 %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str1027) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str1028) store ptr %t116, ptr %retval br label %ret ifend16: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str1029) %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 @.str1030, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1031) %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 @.str1032, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1033) %t131 = call ptr @fn_emit_bind(ptr %t130) %t132 = call ptr @fn_val(ptr %t131, ptr @.str1034) store ptr %t132, ptr %retval br label %ret ifend19: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1035) %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 @.str1036) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1037) %t140 = call ptr @fn_val(ptr @.str1038, ptr @.str1039) store ptr %t140, ptr %retval br label %ret ifend22: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1040) %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 @.str1041) %t147 = load ptr, ptr %t146 call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str1042) %t148 = call ptr @fn_val(ptr @.str1043, ptr @.str1044) store ptr %t148, ptr %retval br label %ret ifend25: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1045) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then26, label %ifend28 then26: %t152 = call ptr @fn_emit_bind(ptr @.str1046) %t153 = call ptr @fn_val(ptr %t152, ptr @.str1047) store ptr %t153, ptr %retval br label %ret ifend28: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str1048) %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 @.str1049) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = call ptr @lp_str_concat(ptr @.str1050, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str1051) %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 @.str1052, ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) %t172 = call ptr @fn_val(ptr %t171, ptr @.str1053) store ptr %t172, ptr %retval br label %ret ifend31: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str1054) %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 @.str1055) %t179 = load ptr, ptr %t178 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str1056) call void @fn_emit(ptr @.str1057) store i32 1, ptr @g_g_term %t180 = call ptr @fn_val(ptr @.str1058, ptr @.str1059) store ptr %t180, ptr %retval br label %ret ifend34: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1060) %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then35, label %ifend37 then35: %t184 = call ptr @fn_stdstream_rhs(i32 2) %t185 = call ptr @fn_emit_bind(ptr %t184) %t186 = call ptr @fn_val(ptr %t185, ptr @.str1061) store ptr %t186, ptr %retval br label %ret ifend37: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1062) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then38, label %ifend40 then38: %t190 = call ptr @fn_stdstream_rhs(i32 1) %t191 = call ptr @fn_emit_bind(ptr %t190) %t192 = call ptr @fn_val(ptr %t191, ptr @.str1063) store ptr %t192, ptr %retval br label %ret ifend40: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str1064) %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then41, label %ifend43 then41: %t196 = load ptr, ptr %t1 %t197 = call ptr @fn_arg_code(ptr %t196, i32 0) store ptr %t197, ptr %t198 %t199 = load ptr, ptr %t198 %t200 = call ptr @lp_str_concat(ptr @.str1065, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str1066) %t202 = call ptr @fn_emit_bind(ptr %t201) %t203 = call ptr @fn_val(ptr %t202, ptr @.str1067) store ptr %t203, ptr %retval br label %ret ifend43: %t204 = load ptr, ptr %t0 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str1068) %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then44, label %ifend46 then44: %t207 = load ptr, ptr %t1 %t208 = call ptr @fn_arg_code(ptr %t207, i32 0) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t209 %t211 = call ptr @lp_str_concat(ptr @.str1069, ptr %t210) %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str1070) %t213 = call ptr @fn_emit_bind(ptr %t212) %t214 = call ptr @fn_val(ptr %t213, ptr @.str1071) store ptr %t214, ptr %retval br label %ret ifend46: store i32 0, ptr @g_g_intrin_ok %t215 = call ptr @fn_val(ptr @.str1072, ptr @.str1073) store ptr %t215, ptr %retval br label %ret ret: %t216 = load ptr, ptr %retval ret ptr %t216 } define ptr @fn_stdstream_rhs(i32 %arg_fd) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_fd, ptr %t0 %t1 = load i32, ptr @g_g_target_win %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) %t5 = call ptr @lp_str_concat(ptr @.str1074, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1075) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load i32, ptr %t0 %t8 = icmp eq i32 %t7, 2 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: store ptr @.str1076, ptr %retval br label %ret ifend5: store ptr @.str1077, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval ret ptr %t11 } define i32 @fn_is_intrinsic2(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t12 = alloca i32 %t23 = alloca i32 %t34 = alloca i32 %t45 = alloca i32 %t46 = alloca i32 %t64 = alloca i32 %t75 = alloca i32 %t86 = alloca i32 %t100 = alloca i32 %t101 = alloca i32 %t119 = alloca i32 %t120 = alloca i32 %t121 = alloca i32 %t146 = alloca i32 %t147 = alloca i32 %t165 = alloca i32 %t166 = alloca i32 %t167 = alloca i32 %t192 = alloca i32 %t193 = alloca i32 store ptr %arg_name, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1078) %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 @.str1079) %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 @.str1080) %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 @.str1081) %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 @.str1082) %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 @.str1083) %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 @.str1084) %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 @.str1085) %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 @.str1086) %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 @.str1087) %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 @.str1088) %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 @.str1089) %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 @.str1090) %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 @.str1091) %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 @.str1092) %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 @.str1093) %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 @.str1094) %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 @.str1095) %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 @.str1096) %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 @.str1097) %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 @.str1098) %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: %t122 = load ptr, ptr %t0 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str1099) %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t121 br i1 %t124, label %scend53, label %sc52 sc52: %t126 = load ptr, ptr %t0 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str1100) %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t121 br label %scend53 scend53: %t130 = load i32, ptr %t121 %t131 = icmp ne i32 %t130, 0 %t132 = zext i1 %t131 to i32 store i32 %t132, ptr %t120 br i1 %t131, label %scend55, label %sc54 sc54: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1101) %t135 = icmp ne i32 %t134, 0 %t136 = zext i1 %t135 to i32 store i32 %t136, ptr %t120 br label %scend55 scend55: %t137 = load i32, ptr %t120 %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t119 br i1 %t138, label %scend57, label %sc56 sc56: %t140 = load ptr, ptr %t0 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str1102) %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t119 br label %scend57 scend57: %t144 = load i32, ptr %t119 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then58, label %ifend60 then58: store i32 1, ptr %retval br label %ret ifend60: %t148 = load ptr, ptr %t0 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str1103) %t150 = icmp ne i32 %t149, 0 %t151 = zext i1 %t150 to i32 store i32 %t151, ptr %t147 br i1 %t150, label %scend62, label %sc61 sc61: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str1104) %t154 = icmp ne i32 %t153, 0 %t155 = zext i1 %t154 to i32 store i32 %t155, ptr %t147 br label %scend62 scend62: %t156 = load i32, ptr %t147 %t157 = icmp ne i32 %t156, 0 %t158 = zext i1 %t157 to i32 store i32 %t158, ptr %t146 br i1 %t157, label %scend64, label %sc63 sc63: %t159 = load ptr, ptr %t0 %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str1105) %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t146 br label %scend64 scend64: %t163 = load i32, ptr %t146 %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then65, label %ifend67 then65: store i32 1, ptr %retval br label %ret ifend67: %t168 = load ptr, ptr %t0 %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str1106) %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t167 br i1 %t170, label %scend69, label %sc68 sc68: %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str1107) %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t167 br label %scend69 scend69: %t176 = load i32, ptr %t167 %t177 = icmp ne i32 %t176, 0 %t178 = zext i1 %t177 to i32 store i32 %t178, ptr %t166 br i1 %t177, label %scend71, label %sc70 sc70: %t179 = load ptr, ptr %t0 %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str1108) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t166 br label %scend71 scend71: %t183 = load i32, ptr %t166 %t184 = icmp ne i32 %t183, 0 %t185 = zext i1 %t184 to i32 store i32 %t185, ptr %t165 br i1 %t184, label %scend73, label %sc72 sc72: %t186 = load ptr, ptr %t0 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str1109) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t165 br label %scend73 scend73: %t190 = load i32, ptr %t165 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then74, label %ifend76 then74: store i32 1, ptr %retval br label %ret ifend76: %t194 = load ptr, ptr %t0 %t195 = call i32 @lp_str_eq(ptr %t194, ptr @.str1110) %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t193 br i1 %t196, label %scend78, label %sc77 sc77: %t198 = load ptr, ptr %t0 %t199 = call i32 @lp_str_eq(ptr %t198, ptr @.str1111) %t200 = icmp ne i32 %t199, 0 %t201 = zext i1 %t200 to i32 store i32 %t201, ptr %t193 br label %scend78 scend78: %t202 = load i32, ptr %t193 %t203 = icmp ne i32 %t202, 0 %t204 = zext i1 %t203 to i32 store i32 %t204, ptr %t192 br i1 %t203, label %scend80, label %sc79 sc79: %t205 = load ptr, ptr %t0 %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str1112) %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 store i32 %t208, ptr %t192 br label %scend80 scend80: %t209 = load i32, ptr %t192 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then81, label %ifend83 then81: store i32 1, ptr %retval br label %ret ifend83: store i32 0, ptr %retval br label %ret ret: %t211 = load i32, ptr %retval ret i32 %t211 } 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 %t276 = alloca ptr %t279 = alloca ptr %t293 = alloca ptr %t296 = alloca ptr %t299 = alloca ptr %t309 = alloca ptr %t312 = alloca ptr %t315 = alloca ptr %t325 = alloca ptr %t328 = alloca ptr %t337 = alloca ptr %t348 = alloca ptr %t359 = alloca ptr %t370 = alloca ptr %t381 = alloca ptr %t384 = alloca ptr %t398 = 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 @.str1113) %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 @.str1114) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str1115) %t9 = call ptr @fn_val(ptr @.str1116, ptr @.str1117) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1118) %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 @.str1119, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1120) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 call void @fn_emit(ptr @.str1121) %t27 = load ptr, ptr %t15 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str1122) %t28 = load ptr, ptr %t18 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str1123) %t29 = load ptr, ptr %t26 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str1124) %t30 = call ptr @fn_val(ptr @.str1125, ptr @.str1126) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1127) %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 @.str1128) %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str1129) %t43 = load ptr, ptr %t36 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str1130) %t44 = load ptr, ptr %t39 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str1131) %t45 = load ptr, ptr %t41 %t46 = call ptr @fn_val(ptr %t45, ptr @.str1132) store ptr %t46, ptr %retval br label %ret ifend8: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1133) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: %t50 = call ptr @fn_emit_bind(ptr @.str1134) %t51 = call ptr @fn_val(ptr %t50, ptr @.str1135) store ptr %t51, ptr %retval br label %ret ifend11: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1136) %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 @.str1137) store ptr %t67, ptr %retval br label %ret ifend14: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1138) %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 @.str1139) store ptr %t83, ptr %retval br label %ret ifend17: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1140) %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 @.str1141, ptr @.str1142) store ptr %t89, ptr %retval br label %ret ifend23: %t90 = call ptr @fn_val(ptr @.str1143, ptr @.str1144) store ptr %t90, ptr %retval br label %ret ifend20: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1145) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then24, label %ifend26 then24: %t94 = call ptr @fn_val(ptr @.str1146, ptr @.str1147) store ptr %t94, ptr %retval br label %ret ifend26: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str1148) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then27, label %ifend29 then27: %t98 = call ptr @fn_emit_bind(ptr @.str1149) %t99 = call ptr @fn_val(ptr %t98, ptr @.str1150) store ptr %t99, ptr %retval br label %ret ifend29: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str1151) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then30, label %ifend32 then30: %t103 = call ptr @fn_emit_bind(ptr @.str1152) %t104 = call ptr @fn_val(ptr %t103, ptr @.str1153) store ptr %t104, ptr %retval br label %ret ifend32: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str1154) %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 @.str1155) %t120 = load ptr, ptr %t110 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str1156) %t121 = load ptr, ptr %t113 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str1157) %t122 = load ptr, ptr %t116 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str1158) %t123 = load ptr, ptr %t119 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str1159) %t124 = call ptr @fn_val(ptr @.str1160, ptr @.str1161) store ptr %t124, ptr %retval br label %ret ifend35: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1162) %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 @.str1163) %t137 = load ptr, ptr %t130 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str1164) %t138 = load ptr, ptr %t133 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str1165) %t139 = load ptr, ptr %t136 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1166) %t140 = call ptr @fn_val(ptr @.str1167, ptr @.str1168) store ptr %t140, ptr %retval br label %ret ifend38: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1169) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then39, label %ifend41 then39: call void @fn_emit(ptr @.str1170) %t144 = call ptr @fn_val(ptr @.str1171, ptr @.str1172) store ptr %t144, ptr %retval br label %ret ifend41: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str1173) %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 @.str1174) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str1175) %t152 = call ptr @fn_val(ptr @.str1176, ptr @.str1177) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1178) %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 @.str1179) %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str1180) %t160 = call ptr @fn_val(ptr @.str1181, ptr @.str1182) store ptr %t160, ptr %retval br label %ret ifend47: %t161 = load ptr, ptr %t0 %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str1183) %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 @.str1184) %t167 = load ptr, ptr %t166 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str1185) %t168 = call ptr @fn_val(ptr @.str1186, ptr @.str1187) store ptr %t168, ptr %retval br label %ret ifend50: %t169 = load ptr, ptr %t0 %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str1188) %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 @.str1189) %t175 = load ptr, ptr %t174 call void @fn_emit(ptr %t175) call void @fn_emit(ptr @.str1190) %t176 = call ptr @fn_val(ptr @.str1191, ptr @.str1192) store ptr %t176, ptr %retval br label %ret ifend53: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str1193) %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 @.str1194) %t183 = load ptr, ptr %t182 call void @fn_emit(ptr %t183) call void @fn_emit(ptr @.str1195) %t184 = call ptr @fn_val(ptr @.str1196, ptr @.str1197) store ptr %t184, ptr %retval br label %ret ifend56: %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str1198) %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 @.str1199, ptr %t191) %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str1200) %t194 = call ptr @fn_emit_bind(ptr %t193) %t195 = call ptr @fn_val(ptr %t194, ptr @.str1201) store ptr %t195, ptr %retval br label %ret ifend59: %t196 = load ptr, ptr %t0 %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str1202) %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 @.str1203) %t211 = load ptr, ptr %t201 call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str1204) %t212 = load ptr, ptr %t204 call void @fn_emit(ptr %t212) call void @fn_emit(ptr @.str1205) %t213 = load ptr, ptr %t207 call void @fn_emit(ptr %t213) call void @fn_emit(ptr @.str1206) %t214 = load ptr, ptr %t210 call void @fn_emit(ptr %t214) call void @fn_emit(ptr @.str1207) %t215 = call ptr @fn_val(ptr @.str1208, ptr @.str1209) store ptr %t215, ptr %retval br label %ret ifend62: %t216 = load ptr, ptr %t0 %t217 = call i32 @lp_str_eq(ptr %t216, ptr @.str1210) %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 @.str1211) %t222 = load ptr, ptr %t221 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str1212) %t223 = call ptr @fn_val(ptr @.str1213, ptr @.str1214) store ptr %t223, ptr %retval br label %ret ifend65: %t224 = load ptr, ptr %t0 %t225 = call i32 @lp_str_eq(ptr %t224, ptr @.str1215) %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 @.str1216, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str1217) %t233 = call ptr @fn_emit_bind(ptr %t232) %t234 = call ptr @fn_val(ptr %t233, ptr @.str1218) store ptr %t234, ptr %retval br label %ret ifend68: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str1219) %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 @.str1220) %t244 = load ptr, ptr %t240 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str1221) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str1222) %t246 = call ptr @fn_val(ptr @.str1223, ptr @.str1224) store ptr %t246, ptr %retval br label %ret ifend71: %t247 = load ptr, ptr %t0 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str1225) %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 @.str1226) %t256 = load ptr, ptr %t252 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str1227) %t257 = load ptr, ptr %t255 call void @fn_emit(ptr %t257) call void @fn_emit(ptr @.str1228) %t258 = call ptr @fn_val(ptr @.str1229, ptr @.str1230) store ptr %t258, ptr %retval br label %ret ifend74: %t259 = load ptr, ptr %t0 %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str1231) %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 call void @fn_emit(ptr @.str1232) %t268 = load ptr, ptr %t264 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str1233) %t269 = load ptr, ptr %t267 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str1234) %t270 = call ptr @fn_val(ptr @.str1235, ptr @.str1236) store ptr %t270, ptr %retval br label %ret ifend77: %t271 = load ptr, ptr %t0 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str1237) %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then78, label %ifend80 then78: %t274 = load ptr, ptr %t1 %t275 = call ptr @fn_arg_code(ptr %t274, i32 0) store ptr %t275, ptr %t276 %t277 = load ptr, ptr %t1 %t278 = call ptr @fn_arg_code(ptr %t277, i32 1) store ptr %t278, ptr %t279 %t280 = load ptr, ptr %t276 %t281 = call ptr @lp_str_concat(ptr @.str1238, ptr %t280) %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str1239) %t283 = load ptr, ptr %t279 %t284 = call ptr @lp_str_concat(ptr %t282, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1240) %t286 = call ptr @fn_emit_bind(ptr %t285) %t287 = call ptr @fn_val(ptr %t286, ptr @.str1241) store ptr %t287, ptr %retval br label %ret ifend80: %t288 = load ptr, ptr %t0 %t289 = call i32 @lp_str_eq(ptr %t288, ptr @.str1242) %t290 = icmp ne i32 %t289, 0 br i1 %t290, label %then81, label %ifend83 then81: %t291 = load ptr, ptr %t1 %t292 = call ptr @fn_arg_code(ptr %t291, i32 0) store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t1 %t295 = call ptr @fn_arg_code(ptr %t294, i32 1) store ptr %t295, ptr %t296 %t297 = load ptr, ptr %t1 %t298 = call ptr @fn_arg_code(ptr %t297, i32 2) store ptr %t298, ptr %t299 call void @fn_emit(ptr @.str1243) %t300 = load ptr, ptr %t293 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str1244) %t301 = load ptr, ptr %t296 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str1245) %t302 = load ptr, ptr %t299 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str1246) %t303 = call ptr @fn_val(ptr @.str1247, ptr @.str1248) store ptr %t303, ptr %retval br label %ret ifend83: %t304 = load ptr, ptr %t0 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str1249) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then84, label %ifend86 then84: %t307 = load ptr, ptr %t1 %t308 = call ptr @fn_arg_code(ptr %t307, i32 0) store ptr %t308, ptr %t309 %t310 = load ptr, ptr %t1 %t311 = call ptr @fn_arg_code(ptr %t310, i32 1) store ptr %t311, ptr %t312 %t313 = load ptr, ptr %t1 %t314 = call ptr @fn_arg_code(ptr %t313, i32 2) store ptr %t314, ptr %t315 call void @fn_emit(ptr @.str1250) %t316 = load ptr, ptr %t309 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str1251) %t317 = load ptr, ptr %t312 call void @fn_emit(ptr %t317) call void @fn_emit(ptr @.str1252) %t318 = load ptr, ptr %t315 call void @fn_emit(ptr %t318) call void @fn_emit(ptr @.str1253) %t319 = call ptr @fn_val(ptr @.str1254, ptr @.str1255) store ptr %t319, ptr %retval br label %ret ifend86: %t320 = load ptr, ptr %t0 %t321 = call i32 @lp_str_eq(ptr %t320, ptr @.str1256) %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 %t1 %t327 = call ptr @fn_arg_code(ptr %t326, i32 1) store ptr %t327, ptr %t328 call void @fn_emit(ptr @.str1257) %t329 = load ptr, ptr %t325 call void @fn_emit(ptr %t329) call void @fn_emit(ptr @.str1258) %t330 = load ptr, ptr %t328 call void @fn_emit(ptr %t330) call void @fn_emit(ptr @.str1259) %t331 = call ptr @fn_val(ptr @.str1260, ptr @.str1261) store ptr %t331, ptr %retval br label %ret ifend89: %t332 = load ptr, ptr %t0 %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str1262) %t334 = icmp ne i32 %t333, 0 br i1 %t334, label %then90, label %ifend92 then90: %t335 = load ptr, ptr %t1 %t336 = call ptr @fn_arg_code(ptr %t335, i32 0) store ptr %t336, ptr %t337 %t338 = load ptr, ptr %t337 %t339 = call ptr @lp_str_concat(ptr @.str1263, ptr %t338) %t340 = call ptr @lp_str_concat(ptr %t339, ptr @.str1264) %t341 = call ptr @fn_emit_bind(ptr %t340) %t342 = call ptr @fn_val(ptr %t341, ptr @.str1265) store ptr %t342, ptr %retval br label %ret ifend92: %t343 = load ptr, ptr %t0 %t344 = call i32 @lp_str_eq(ptr %t343, ptr @.str1266) %t345 = icmp ne i32 %t344, 0 br i1 %t345, label %then93, label %ifend95 then93: %t346 = load ptr, ptr %t1 %t347 = call ptr @fn_arg_code(ptr %t346, i32 0) store ptr %t347, ptr %t348 %t349 = load ptr, ptr %t348 %t350 = call ptr @lp_str_concat(ptr @.str1267, ptr %t349) %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str1268) %t352 = call ptr @fn_emit_bind(ptr %t351) %t353 = call ptr @fn_val(ptr %t352, ptr @.str1269) store ptr %t353, ptr %retval br label %ret ifend95: %t354 = load ptr, ptr %t0 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str1270) %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then96, label %ifend98 then96: %t357 = load ptr, ptr %t1 %t358 = call ptr @fn_arg_code(ptr %t357, i32 0) store ptr %t358, ptr %t359 %t360 = load ptr, ptr %t359 %t361 = call ptr @lp_str_concat(ptr @.str1271, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str1272) %t363 = call ptr @fn_emit_bind(ptr %t362) %t364 = call ptr @fn_val(ptr %t363, ptr @.str1273) store ptr %t364, ptr %retval br label %ret ifend98: %t365 = load ptr, ptr %t0 %t366 = call i32 @lp_str_eq(ptr %t365, ptr @.str1274) %t367 = icmp ne i32 %t366, 0 br i1 %t367, label %then99, label %ifend101 then99: %t368 = load ptr, ptr %t1 %t369 = call ptr @fn_arg_code(ptr %t368, i32 0) store ptr %t369, ptr %t370 %t371 = load ptr, ptr %t370 %t372 = call ptr @lp_str_concat(ptr @.str1275, ptr %t371) %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str1276) %t374 = call ptr @fn_emit_bind(ptr %t373) %t375 = call ptr @fn_val(ptr %t374, ptr @.str1277) store ptr %t375, ptr %retval br label %ret ifend101: %t376 = load ptr, ptr %t0 %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str1278) %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %then102, label %ifend104 then102: %t379 = load ptr, ptr %t1 %t380 = call ptr @fn_arg_code(ptr %t379, i32 0) store ptr %t380, ptr %t381 %t382 = load ptr, ptr %t1 %t383 = call ptr @fn_arg_code(ptr %t382, i32 1) store ptr %t383, ptr %t384 %t385 = load ptr, ptr %t381 %t386 = call ptr @lp_str_concat(ptr @.str1279, ptr %t385) %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str1280) %t388 = load ptr, ptr %t384 %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str1281) %t391 = call ptr @fn_emit_bind(ptr %t390) %t392 = call ptr @fn_val(ptr %t391, ptr @.str1282) store ptr %t392, ptr %retval br label %ret ifend104: %t393 = load ptr, ptr %t0 %t394 = call i32 @lp_str_eq(ptr %t393, ptr @.str1283) %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %then105, label %ifend107 then105: %t396 = load ptr, ptr %t1 %t397 = call ptr @fn_arg_code(ptr %t396, i32 0) store ptr %t397, ptr %t398 call void @fn_emit(ptr @.str1284) %t399 = load ptr, ptr %t398 call void @fn_emit(ptr %t399) call void @fn_emit(ptr @.str1285) %t400 = call ptr @fn_val(ptr @.str1286, ptr @.str1287) store ptr %t400, ptr %retval br label %ret ifend107: %t401 = call ptr @fn_val(ptr @.str1288, ptr @.str1289) store ptr %t401, ptr %retval br label %ret ret: %t402 = load ptr, ptr %retval ret ptr %t402 } 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 @.str1290) %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 @.str1291) %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 @.str1292) %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 @.str1293) %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 @.str1294) %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 @.str1295, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1296) %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 @.str1297, 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 @.str1298, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1299) %t30 = load ptr, ptr %t26 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1300) %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 @.str1301) %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 @.str1302) %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 @.str1303, ptr %t71 %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1304) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then8, label %ifend10 then8: store ptr @.str1305, ptr %t71 br label %ifend10 ifend10: %t75 = load ptr, ptr %t71 %t76 = call ptr @lp_str_concat(ptr @.str1306, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str1307) %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 @.str1308) %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 @.str1309, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str1310) %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 @.str1311) %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 @.str1312, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str1313) %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 @.str1314, ptr %t144) %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str1315) %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 @.str1316) %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 @.str1317, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1318) %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 @.str1319, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1320) %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 @.str1321) %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 @.str1322, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1323) %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 @.str1324, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1325) %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 @.str1326, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1327) %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 @.str1328, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1329) %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 @.str1330, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1331) %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 @.str1332, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1333) %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 @.str1334, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1335) %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 @.str1336, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1337) %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 @.str1338, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1339) %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 @.str1340, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1341) %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 @.str1342, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1343) %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 @.str1344, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1345) %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 @.str1346, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1347) %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 @.str1348, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1349) %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 @.str1350) %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 @.str1351) %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 @.str1352) %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 @.str1353) %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 @.str1354) %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 @.str1355) %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 @.str1356) %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 @.str1357) %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 @.str1358) %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 @.str1359) %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 @.str1360) %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 @.str1361) %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 @.str1362) %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 @.str1363) %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 @.str1364) %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 @.str1365) %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 @.str1366) %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 @.str1367) %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 @.str1368) %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 @.str1369) %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 @.str1370) %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 @.str1371) %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 @.str1372) %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 @.str1373) %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 @.str1374) %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 @.str1375) %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 @.str1376) %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 @.str1377) %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 @.str1378) %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 @.str1379) %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 @.str1380) %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 @.str1381) %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 @.str1382) %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 @.str1383) %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 @.str1384) %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 @.str1385) %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 @.str1386) %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 @.str1387, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1388) %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 @.str1389, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1390) %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 @.str1391, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1392) %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 @.str1393, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str1394) %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 @.str1395) store ptr %t69, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1396) %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 @.str1397, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1398) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1399) store ptr %t88, ptr %retval br label %ret ifend14: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1400) %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 @.str1401, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1402) %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 @.str1403, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1404) %t111 = call ptr @fn_emit_bind(ptr %t110) %t112 = call ptr @fn_val(ptr %t111, ptr @.str1405) store ptr %t112, ptr %retval br label %ret ifend17: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1406) %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 @.str1407, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str1408) %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 @.str1409, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1410) %t135 = call ptr @fn_emit_bind(ptr %t134) %t136 = call ptr @fn_val(ptr %t135, ptr @.str1411) store ptr %t136, ptr %retval br label %ret ifend20: %t137 = load ptr, ptr %t0 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str1412) %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 @.str1413) store ptr %t177, ptr %retval br label %ret ifend23: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1414) %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 @.str1415) store ptr %t218, ptr %retval br label %ret ifend26: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1416) %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 @.str1417, ptr %t233) %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str1418) %t236 = call ptr @fn_emit_bind(ptr %t235) %t237 = call ptr @fn_val(ptr %t236, ptr @.str1419) store ptr %t237, ptr %retval br label %ret ifend29: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str1420) %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 @.str1421, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str1422) %t255 = call ptr @fn_emit_bind(ptr %t254) %t256 = call ptr @fn_val(ptr %t255, ptr @.str1423) store ptr %t256, ptr %retval br label %ret ifend32: %t257 = load ptr, ptr %t0 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str1424) %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 @.str1425, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str1426) %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 @.str1427, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1428) %t279 = call ptr @fn_emit_bind(ptr %t278) %t280 = call ptr @fn_val(ptr %t279, ptr @.str1429) store ptr %t280, ptr %retval br label %ret ifend35: %t281 = load ptr, ptr %t0 %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str1430) %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 @.str1431, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str1432) %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 @.str1433, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str1434) %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 @.str1435, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str1436) %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 @.str1437) store ptr %t315, ptr %retval br label %ret ifend38: %t316 = load ptr, ptr %t0 %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str1438) %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 @.str1439, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str1440) %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 @.str1441) %t347 = call ptr @fn_emit_bind(ptr %t346) %t348 = call ptr @fn_val(ptr %t347, ptr @.str1442) store ptr %t348, ptr %retval br label %ret ifend41: %t349 = load ptr, ptr %t0 %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str1443) %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 @.str1444, 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 @.str1445, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1446) %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 @.str1447, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1448) %t383 = load ptr, ptr %t377 %t384 = call ptr @lp_str_concat(ptr %t382, ptr %t383) %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str1449) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str1450) store ptr %t387, ptr %retval br label %ret ifend44: %t388 = load ptr, ptr %t0 %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str1451) %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 @.str1452, 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 @.str1453, ptr %t412) %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str1454) %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 @.str1455, ptr %t417) %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str1456) %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 @.str1457) %t425 = call ptr @fn_emit_bind(ptr %t424) %t426 = call ptr @fn_val(ptr %t425, ptr @.str1458) store ptr %t426, ptr %retval br label %ret ifend47: %t427 = load ptr, ptr %t0 %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str1459) %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 @.str1460, ptr %t464) %t466 = call ptr @lp_str_concat(ptr %t465, ptr @.str1461) %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 @.str1462, ptr %t471) %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str1463) %t474 = call ptr @fn_emit_bind(ptr %t473) %t475 = call ptr @fn_val(ptr %t474, ptr @.str1464) store ptr %t475, ptr %retval br label %ret ifend50: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1465) %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 @.str1466, ptr %t517) %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str1467) %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 @.str1468, ptr %t528) %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str1469) %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 @.str1470, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str1471) %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 @.str1472) store ptr %t551, ptr %retval br label %ret ifend53: %t552 = load ptr, ptr %t0 %t553 = call i32 @lp_str_eq(ptr %t552, ptr @.str1473) %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 @.str1474, ptr %t593) %t595 = call ptr @lp_str_concat(ptr %t594, ptr @.str1475) %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 @.str1476, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1477) %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 @.str1478, ptr %t621) %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str1479) %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 @.str1480, ptr %t628) %t630 = call ptr @lp_str_concat(ptr %t629, ptr @.str1481) %t631 = call ptr @fn_emit_bind(ptr %t630) %t632 = call ptr @fn_val(ptr %t631, ptr @.str1482) store ptr %t632, ptr %retval br label %ret ifend56: %t633 = load ptr, ptr %t0 %t634 = call i32 @lp_str_eq(ptr %t633, ptr @.str1483) %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 @.str1484) store ptr %t648, ptr %t649 %t650 = load ptr, ptr %t649 %t651 = call ptr @lp_str_concat(ptr @.str1485, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1486) %t653 = call ptr @fn_emit_bind(ptr %t652) %t654 = call ptr @fn_val(ptr %t653, ptr @.str1487) store ptr %t654, ptr %retval br label %ret ifend59: %t655 = load ptr, ptr %t0 %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str1488) %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 @.str1489, ptr %t669) %t671 = call ptr @lp_str_concat(ptr %t670, ptr @.str1490) %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 @.str1491) %t676 = call ptr @fn_val(ptr %t675, ptr @.str1492) store ptr %t676, ptr %retval br label %ret ifend62: %t677 = load ptr, ptr %t0 %t678 = call i32 @lp_str_eq(ptr %t677, ptr @.str1493) %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 @.str1494, ptr %t700) %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str1495) %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 @.str1496, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1497) %t714 = call ptr @fn_emit_bind(ptr %t713) %t715 = call ptr @fn_val(ptr %t714, ptr @.str1498) store ptr %t715, ptr %retval br label %ret ifend65: %t716 = load ptr, ptr %t0 %t717 = call i32 @lp_str_eq(ptr %t716, ptr @.str1499) %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 @.str1500) %t732 = call ptr @fn_val(ptr %t731, ptr @.str1501) store ptr %t732, ptr %retval br label %ret ifend68: %t733 = load ptr, ptr %t0 %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str1502) %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 @.str1503) %t749 = call ptr @fn_val(ptr %t748, ptr @.str1504) store ptr %t749, ptr %retval br label %ret ifend71: %t750 = load ptr, ptr %t0 %t751 = call i32 @lp_str_eq(ptr %t750, ptr @.str1505) %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 @.str1506, ptr %t773) %t775 = call ptr @lp_str_concat(ptr %t774, ptr @.str1507) %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 @.str1508, ptr %t782) %t784 = call ptr @lp_str_concat(ptr %t783, ptr @.str1509) %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 @.str1510, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str1511) %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 @.str1512) store ptr %t799, ptr %retval br label %ret ifend74: %t800 = load ptr, ptr %t0 %t801 = call i32 @lp_str_eq(ptr %t800, ptr @.str1513) %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 @.str1514, ptr %t832) %t834 = call ptr @lp_str_concat(ptr %t833, ptr @.str1515) %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 @.str1516, ptr %t843) %t845 = call ptr @lp_str_concat(ptr %t844, ptr @.str1517) %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 @.str1518, ptr %t852) %t854 = call ptr @lp_str_concat(ptr %t853, ptr @.str1519) %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 @.str1520, ptr %t859) %t861 = call ptr @lp_str_concat(ptr %t860, ptr @.str1521) %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 @.str1522, ptr %t866) %t868 = call ptr @lp_str_concat(ptr %t867, ptr @.str1523) %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 @.str1524, ptr %t875) %t877 = call ptr @lp_str_concat(ptr %t876, ptr @.str1525) %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 @.str1526) store ptr %t881, ptr %retval br label %ret ifend77: %t882 = load ptr, ptr %t0 %t883 = call i32 @lp_str_eq(ptr %t882, ptr @.str1527) %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 @.str1528, ptr %t905) %t907 = call ptr @lp_str_concat(ptr %t906, ptr @.str1529) %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 @.str1530, ptr %t912) %t914 = call ptr @lp_str_concat(ptr %t913, ptr @.str1531) %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 @.str1532, ptr %t919) %t921 = call ptr @lp_str_concat(ptr %t920, ptr @.str1533) %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 @.str1534, ptr %t926) %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str1535) %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 @.str1536, ptr %t933) %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str1537) %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 @.str1538, 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 @.str1539, ptr %t946) %t948 = call ptr @lp_str_concat(ptr %t947, ptr @.str1540) %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 @.str1541, ptr %t951) %t953 = call ptr @lp_str_concat(ptr %t952, ptr @.str1542) %t954 = load ptr, ptr %t945 %t955 = call ptr @lp_str_concat(ptr %t953, ptr %t954) %t956 = call ptr @lp_str_concat(ptr %t955, ptr @.str1543) %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 @.str1544, ptr %t963) %t965 = call ptr @lp_str_concat(ptr %t964, ptr @.str1545) %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 @.str1546) store ptr %t969, ptr %retval br label %ret ifend80: %t970 = load ptr, ptr %t0 %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str1547) %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 @.str1548, ptr %t999) %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str1549) %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 @.str1550, ptr %t1004) %t1006 = call ptr @lp_str_concat(ptr %t1005, ptr @.str1551) %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 @.str1552, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str1553) %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 @.str1554) store ptr %t1017, ptr %retval br label %ret ifend83: %t1018 = load ptr, ptr %t0 %t1019 = call i32 @lp_str_eq(ptr %t1018, ptr @.str1555) %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 @.str1556, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str1557) %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 @.str1558, 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 @.str1559, ptr %t1063) %t1065 = call ptr @lp_str_concat(ptr %t1064, ptr @.str1560) %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 @.str1561, ptr %t1068) %t1070 = call ptr @lp_str_concat(ptr %t1069, ptr @.str1562) %t1071 = load ptr, ptr %t1062 %t1072 = call ptr @lp_str_concat(ptr %t1070, ptr %t1071) %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str1563) %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 @.str1564, ptr %t1078) %t1080 = call ptr @lp_str_concat(ptr %t1079, ptr @.str1565) %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 @.str1566, ptr %t1083) %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str1567) %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 @.str1568, ptr %t1088) %t1090 = call ptr @lp_str_concat(ptr %t1089, ptr @.str1569) %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 @.str1570, ptr %t1093) %t1095 = call ptr @lp_str_concat(ptr %t1094, ptr @.str1571) %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 @.str1572, ptr %t1100) %t1102 = call ptr @lp_str_concat(ptr %t1101, ptr @.str1573) %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 @.str1574, ptr %t1111) %t1113 = call ptr @lp_str_concat(ptr %t1112, ptr @.str1575) %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 @.str1576, ptr %t1118) %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str1577) %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 @.str1578, ptr %t1127) %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str1579) %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 @.str1580) %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 @.str1581) store ptr %t1138, ptr %retval br label %ret ifend86: %t1139 = load ptr, ptr %t0 %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str1582) %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 @.str1583, ptr %t1180) %t1182 = call ptr @lp_str_concat(ptr %t1181, ptr @.str1584) %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 @.str1585, ptr %t1185) %t1187 = call ptr @lp_str_concat(ptr %t1186, ptr @.str1586) %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 @.str1587, ptr %t1192) %t1194 = call ptr @lp_str_concat(ptr %t1193, ptr @.str1588) %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 @.str1589, ptr %t1197) %t1199 = call ptr @lp_str_concat(ptr %t1198, ptr @.str1590) %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 @.str1591, ptr %t1204) %t1206 = call ptr @lp_str_concat(ptr %t1205, ptr @.str1592) %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 @.str1593, 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 @.str1594) 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 @.str1595) 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 @.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) call void @fn_emith(ptr @.str1687) call void @fn_emith(ptr @.str1688) call void @fn_emith(ptr @.str1689) call void @fn_emith(ptr @.str1690) call void @fn_emith(ptr @.str1691) call void @fn_emith(ptr @.str1692) call void @fn_emith(ptr @.str1693) call void @fn_emith(ptr @.str1694) call void @fn_emith(ptr @.str1695) call void @fn_emith(ptr @.str1696) call void @fn_emith(ptr @.str1697) call void @fn_emith(ptr @.str1698) call void @fn_emith(ptr @.str1699) call void @fn_emith(ptr @.str1700) call void @fn_emith(ptr @.str1701) call void @fn_emith(ptr @.str1702) call void @fn_emith(ptr @.str1703) call void @fn_emith(ptr @.str1704) 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 @.str1705, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1706) %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 @.str1707, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1708) %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 @.str1709, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1710) %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 @.str1711, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1712) %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 @.str1713, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str1714) %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 @.str1715, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1716) %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 @.str1717, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str1718) %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 @.str1719) %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 @.str1720) %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 @.str1721) %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 @.str1722) %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 @.str1723) %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 @.str1724) %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 @.str1725) %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 @.str1726) %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 @.str1727) %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 @.str1728) %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 @.str1729) %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 @.str1730) %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 @.str1731) %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 @.str1732) %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 @.str1733) %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 @.str1734) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str1735, ptr @.str1736) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1737) %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 @.str1738) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1739) %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 @.str1740) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1741) %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 @.str1742) store ptr %t68, ptr %retval br label %ret ifend11: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1743) %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 @.str1744, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str1745) %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 @.str1746, ptr %t117) %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str1747) %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 @.str1748) store ptr %t127, ptr %retval br label %ret ifend14: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str1749) %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 @.str1750, ptr %t169) %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str1751) %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 @.str1752, ptr %t176) %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str1753) %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 @.str1754) store ptr %t186, ptr %retval br label %ret ifend17: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1755) %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 @.str1756) store ptr %t233, ptr %retval br label %ret ifend20: %t234 = load ptr, ptr %t0 %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str1757) %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 @.str1758, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1759) %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 @.str1760) store ptr %t289, ptr %retval br label %ret ifend23: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str1761) %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 @.str1762, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str1763) %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 @.str1764, ptr %t327) %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str1765) %t330 = call ptr @fn_emit_bind(ptr %t329) %t331 = call ptr @fn_val(ptr %t330, ptr @.str1766) store ptr %t331, ptr %retval br label %ret ifend26: %t332 = load ptr, ptr %t0 %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str1767) %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 @.str1768, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1769) %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 @.str1770, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1771) %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 @.str1772, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str1773) %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 @.str1774, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str1775) %t405 = call ptr @fn_emit_bind(ptr %t404) %t406 = call ptr @fn_val(ptr %t405, ptr @.str1776) store ptr %t406, ptr %retval br label %ret ifend29: %t407 = load ptr, ptr %t0 %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str1777) %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 @.str1778, ptr %t437) %t439 = call ptr @lp_str_concat(ptr %t438, ptr @.str1779) %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 @.str1780, ptr %t444) %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str1781) %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 @.str1782, ptr %t449) %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str1783) %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 @.str1784, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str1785) %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 @.str1786, 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 @.str1787) store ptr %t475, ptr %retval br label %ret ifend32: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1788) %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 @.str1789, ptr %t499) %t501 = call ptr @lp_str_concat(ptr %t500, ptr @.str1790) %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 @.str1791, ptr %t506) %t508 = call ptr @lp_str_concat(ptr %t507, ptr @.str1792) %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 @.str1793, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str1794) %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 @.str1795, ptr %t542) %t544 = call ptr @lp_str_concat(ptr %t543, ptr @.str1796) %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 @.str1797, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str1798) %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 @.str1799) store ptr %t559, ptr %retval br label %ret ifend35: %t560 = load ptr, ptr %t0 %t561 = call i32 @lp_str_eq(ptr %t560, ptr @.str1800) %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 @.str1801, ptr %t582) %t584 = call ptr @lp_str_concat(ptr %t583, ptr @.str1802) %t585 = load ptr, ptr %t576 %t586 = call ptr @lp_str_concat(ptr %t584, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str1803) %t588 = call ptr @fn_emit_bind(ptr %t587) %t589 = call ptr @fn_val(ptr %t588, ptr @.str1804) store ptr %t589, ptr %retval br label %ret ifend38: %t590 = load ptr, ptr %t0 %t591 = call i32 @lp_str_eq(ptr %t590, ptr @.str1805) %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 @.str1806, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1807) %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 @.str1808, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str1809) %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 @.str1810, ptr %t616) %t618 = call ptr @lp_str_concat(ptr %t617, ptr @.str1811) %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 @.str1812) 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 @.str1813) 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 @.str1814, 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 @.str1815, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str1816) %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 @.str1817, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1818) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1819) %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 @.str1820) %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 @.str1821) %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 @.str1822) %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 @.str1823) %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 @.str1824) %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 @.str1825) %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 @.str1826) %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 @.str1827) %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 @.str1828) %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 @.str1829) %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 @.str1830) %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 @.str1831) %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 @.str1832) %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 @.str1833) %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 @.str1834) %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 @.str1835) %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 @.str1836) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str1837, ptr @.str1838) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1839) %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 @.str1840) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1841) %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 @.str1842) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1843) %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 @.str1844) store ptr %t68, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1845) %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 @.str1846) %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 @.str1847, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1848) %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 @.str1849, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str1850) %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 @.str1851, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str1852) %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 @.str1853, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str1854) %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 @.str1855, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str1856) %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 @.str1857) %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 @.str1858) 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 @.str1859, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str1860) %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 @.str1861, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str1862) %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 @.str1863, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str1864) %t180 = call ptr @fn_emit_bind(ptr %t179) %t181 = call ptr @fn_val(ptr %t180, ptr @.str1865) store ptr %t181, ptr %retval br label %ret ifend16: %t182 = load ptr, ptr %t0 %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str1866) %t184 = icmp ne i32 %t183, 0 br i1 %t184, label %then20, label %ifend22 then20: %t185 = call ptr @fn_find_fn(ptr @.str1867) %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 @.str1868) 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 @.str1869, ptr %t209) %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str1870) %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 @.str1871) %t217 = call ptr @fn_emit_bind(ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str1872) store ptr %t218, ptr %retval br label %ret ifend22: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1873) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then26, label %ifend28 then26: %t222 = call ptr @fn_find_fn(ptr @.str1874) %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 @.str1875) 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 @.str1876, ptr %t255) %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str1877) %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 @.str1878) %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 @.str1879) %t268 = call ptr @fn_emit_bind(ptr %t267) %t269 = call ptr @fn_val(ptr %t268, ptr @.str1880) store ptr %t269, ptr %retval br label %ret ifend28: %t270 = load ptr, ptr %t0 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str1881) %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then32, label %ifend34 then32: %t273 = call ptr @fn_find_fn(ptr @.str1882) %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 @.str1883) 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 @.str1884, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str1885) %t291 = call ptr @fn_emit_bind(ptr %t290) %t292 = call ptr @fn_val(ptr %t291, ptr @.str1886) store ptr %t292, ptr %retval br label %ret ifend34: %t293 = load ptr, ptr %t0 %t294 = call i32 @lp_str_eq(ptr %t293, ptr @.str1887) %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 @.str1888, ptr %t334) %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str1889) %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 @.str1890, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str1891) %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 @.str1892) store ptr %t351, ptr %retval br label %ret ifend40: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str1893) %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 @.str1894, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str1895) %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 @.str1896, ptr %t400) %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str1897) %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 @.str1898) store ptr %t410, ptr %retval br label %ret ifend43: %t411 = load ptr, ptr %t0 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str1899) %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 @.str1900, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str1901) %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 @.str1902, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str1903) %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 @.str1904) store ptr %t463, ptr %retval br label %ret ifend46: %t464 = load ptr, ptr %t0 %t465 = call i32 @lp_str_eq(ptr %t464, ptr @.str1905) %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 @.str1906, ptr %t505) %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str1907) %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 @.str1908, ptr %t512) %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str1909) %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 @.str1910, ptr %t519) %t521 = call ptr @lp_str_concat(ptr %t520, ptr @.str1911) %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 @.str1912) store ptr %t525, ptr %retval br label %ret ifend49: %t526 = load ptr, ptr %t0 %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str1913) %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 @.str1914, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str1915) %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 @.str1916, ptr %t558) %t560 = call ptr @lp_str_concat(ptr %t559, ptr @.str1917) %t561 = call ptr @fn_emit_bind(ptr %t560) %t562 = call ptr @fn_val(ptr %t561, ptr @.str1918) store ptr %t562, ptr %retval br label %ret ifend52: %t563 = load ptr, ptr %t0 %t564 = call i32 @lp_str_eq(ptr %t563, ptr @.str1919) %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 @.str1920, ptr %t604) %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1921) %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 @.str1922, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str1923) %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 @.str1924, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str1925) %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 @.str1926) 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 @.str1927, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1928) %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 @.str1929, ptr %t655) %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str1930) %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 @.str1931) 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 @.str1932, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1933) %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 @.str1934, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1935) %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 @.str1936, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1937) %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 @.str1938, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1939) %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 @.str1940, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1941) %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 @.str1942, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1943) %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 @.str1944, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str1945) %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 @.str1946, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1947) %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 @.str1948, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1949) %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 @.str1950, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1951) %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 @.str1952, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1953) %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 @.str1954, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1955) %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 @.str1956, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str1957) %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 @.str1958, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1959) %t6 = load ptr, ptr %t1 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1960) %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 @.str1961, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1962) %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 @.str1963) %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 @.str1964) %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 @.str1965) %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 @.str1966) %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 @.str1967) %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 @.str1968) %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 @.str1969) %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 @.str1970) %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 @.str1971) %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 @.str1972) %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 @.str1973) %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 @.str1974) store ptr %t54, ptr %retval br label %ret ifend2: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str1975) %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 @.str1976) store ptr %t71, ptr %retval br label %ret ifend5: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1977) %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 @.str1978) store ptr %t88, ptr %retval br label %ret ifend8: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1979) %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 @.str1980) store ptr %t105, ptr %retval br label %ret ifend11: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str1981) %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 @.str1982) store ptr %t122, ptr %retval br label %ret ifend14: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str1983) %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 @.str1984, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str1985) %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 @.str1986) store ptr %t151, ptr %retval br label %ret ifend17: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str1987) %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 @.str1988, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str1989) %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 @.str1990) store ptr %t180, ptr %retval br label %ret ifend20: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1991) %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 @.str1992, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str1993) %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 @.str1994, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str1995) %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 @.str1996, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str1997) %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 @.str1998, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str1999) %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 @.str2000) store ptr %t240, ptr %retval br label %ret ifend23: %t241 = load ptr, ptr %t0 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str2001) %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 @.str2002, ptr %t291) %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str2003) %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 @.str2004, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str2005) %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 @.str2006, 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 @.str2007, 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 @.str2008, 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 @.str2009, ptr %t325, ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t310 %t330 = call ptr @lp_str_concat(ptr @.str2010, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str2011) %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 @.str2012, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str2013) %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 @.str2014, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str2015) %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 @.str2016) 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 @.str2017, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str2018) %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 @.str2019, ptr %t415) %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str2020) %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 @.str2021, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str2022) %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 @.str2023, ptr %t429) %t431 = call ptr @lp_str_concat(ptr %t430, ptr @.str2024) %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 @.str2025, 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 @.str2026, 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 @.str2027, 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 @.str2028, ptr %t448, ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t439 %t453 = call ptr @lp_str_concat(ptr @.str2029, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str2030) %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 @.str2031, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str2032) %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 @.str2033, ptr %t466) %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str2034) %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 @.str2035) 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 @.str2036) %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 @.str2037) %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 @.str2038) %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 @.str2039) %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 @.str2040) %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 @.str2041) %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 @.str2042) %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 @.str2043) %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 @.str2044) %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 @.str2045) %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 @.str2046) %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 @.str2047) %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 @.str2048) %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 @.str2049) %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 @.str2050) %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 @.str2051) %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 @.str2052) %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 @.str2053) %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 @.str2054) %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 @.str2055) %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 @.str2056) %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 @.str2057, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2058) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str2059) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2060) %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 @.str2061, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2062) %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 @.str2063) %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 @.str2064) %t66 = call ptr @fn_emit_bind(ptr %t65) %t67 = call ptr @fn_val(ptr %t66, ptr @.str2065) store ptr %t67, ptr %retval br label %ret ifend5: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str2066) %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 @.str2067, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str2068) %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 @.str2069) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str2070) store ptr %t100, ptr %retval br label %ret ifend8: %t101 = load ptr, ptr %t0 %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2071) %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 @.str2072, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2073) %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 @.str2074) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str2075) 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 @.str2076) %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 @.str2077, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str2078) %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 @.str2079, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2080) %t156 = call ptr @fn_emit_bind(ptr %t155) %t157 = call ptr @fn_val(ptr %t156, ptr @.str2081) store ptr %t157, ptr %retval br label %ret ifend14: %t158 = load ptr, ptr %t0 %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str2082) %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 @.str2083, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str2084) %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 @.str2085, 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 @.str2086, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str2087) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str2088) store ptr %t189, ptr %retval br label %ret ifend17: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str2089) %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 @.str2090, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str2091) %t198 = call ptr @fn_emit_bind(ptr %t197) %t199 = call ptr @fn_val(ptr %t198, ptr @.str2092) store ptr %t199, ptr %retval br label %ret ifend20: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str2093) %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 @.str2094, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str2095) %t208 = call ptr @fn_emit_bind(ptr %t207) %t209 = call ptr @fn_val(ptr %t208, ptr @.str2096) store ptr %t209, ptr %retval br label %ret ifend23: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str2097) %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 @.str2098, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str2099) %t218 = call ptr @fn_emit_bind(ptr %t217) %t219 = call ptr @fn_val(ptr %t218, ptr @.str2100) store ptr %t219, ptr %retval br label %ret ifend26: %t220 = load ptr, ptr %t0 %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str2101) %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 @.str2102, ptr %t225) %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str2103) %t228 = call ptr @fn_emit_bind(ptr %t227) %t229 = call ptr @fn_val(ptr %t228, ptr @.str2104) store ptr %t229, ptr %retval br label %ret ifend29: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str2105) %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 @.str2106, ptr %t244) %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str2107) %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 @.str2108) %t252 = call ptr @fn_emit_bind(ptr %t251) %t253 = call ptr @fn_val(ptr %t252, ptr @.str2109) store ptr %t253, ptr %retval br label %ret ifend32: %t254 = load ptr, ptr %t0 %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str2110) %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 @.str2111, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str2112) %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 @.str2113) %t276 = call ptr @fn_emit_bind(ptr %t275) %t277 = call ptr @fn_val(ptr %t276, ptr @.str2114) store ptr %t277, ptr %retval br label %ret ifend35: %t278 = load ptr, ptr %t0 %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str2115) %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 @.str2116, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str2117) %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 @.str2118) %t300 = call ptr @fn_emit_bind(ptr %t299) %t301 = call ptr @fn_val(ptr %t300, ptr @.str2119) store ptr %t301, ptr %retval br label %ret ifend38: %t302 = load ptr, ptr %t0 %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str2120) %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 @.str2121, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str2122) %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 @.str2123) %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 @.str2124) %t338 = call ptr @fn_emit_bind(ptr %t337) %t339 = call ptr @fn_val(ptr %t338, ptr @.str2125) store ptr %t339, ptr %retval br label %ret ifend41: %t340 = load ptr, ptr %t0 %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str2126) %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 @.str2127, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str2128) %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 @.str2129) %t362 = call ptr @fn_emit_bind(ptr %t361) %t363 = call ptr @fn_val(ptr %t362, ptr @.str2130) store ptr %t363, ptr %retval br label %ret ifend44: %t364 = load ptr, ptr %t0 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str2131) %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 @.str2132, ptr %t378) %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2133) %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 @.str2134) %t386 = call ptr @fn_emit_bind(ptr %t385) %t387 = call ptr @fn_val(ptr %t386, ptr @.str2135) store ptr %t387, ptr %retval br label %ret ifend47: %t389 = load ptr, ptr %t0 %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str2136) %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 @.str2137) %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 @.str2138, ptr %t410) %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str2139) %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 @.str2140) %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 @.str2141) %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 @.str2142, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str2143) %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 @.str2144, ptr %t428) %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str2145) %t431 = call ptr @fn_emit_bind(ptr %t430) %t432 = call ptr @fn_val(ptr %t431, ptr @.str2146) store ptr %t432, ptr %retval br label %ret ifend55: %t433 = load ptr, ptr %t419 %t434 = call ptr @lp_str_concat(ptr @.str2147, ptr %t433) %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str2148) %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 @.str2149, ptr %t438) %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str2150) %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 @.str2151, ptr %t445) %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str2152) %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 @.str2153, ptr %t450) %t452 = call ptr @lp_str_concat(ptr %t451, ptr @.str2154) %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 @.str2155, ptr %t457) %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str2156) %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 @.str2157, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str2158) %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 @.str2159) 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 @.str2160, ptr %t480) %t482 = call ptr @lp_str_concat(ptr %t481, ptr @.str2161) %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 @.str2162) %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 @.str2163, ptr %t490) %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str2164) %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 @.str2165) %t498 = load ptr, ptr %t484 %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498) %t500 = call ptr @lp_str_concat(ptr %t499, ptr @.str2166) %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 @.str2167, ptr %t503) %t505 = call ptr @lp_str_concat(ptr %t504, ptr @.str2168) %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 @.str2169, ptr %t508) %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str2170) %t511 = call ptr @fn_emit_bind(ptr %t510) %t512 = call ptr @fn_val(ptr %t511, ptr @.str2171) 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 @.str2172, ptr %t515) %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str2173) %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 @.str2174, ptr %t520) %t522 = call ptr @lp_str_concat(ptr %t521, ptr @.str2175) %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 @.str2176) store ptr %t527, ptr %t528 %t529 = load ptr, ptr %t528 call void @fn_store_at(ptr @.str2177, ptr @.str2178, ptr %t529) %t530 = load ptr, ptr %t526 %t531 = call ptr @lp_str_concat(ptr @.str2179, ptr %t530) %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str2180) %t533 = call ptr @fn_emit_bind(ptr %t532) store ptr %t533, ptr %t534 %t535 = call ptr @fn_lbl(ptr @.str2181) store ptr %t535, ptr %t536 %t537 = call ptr @fn_lbl(ptr @.str2182) store ptr %t537, ptr %t538 call void @fn_emit(ptr @.str2183) %t539 = load ptr, ptr %t534 call void @fn_emit(ptr %t539) call void @fn_emit(ptr @.str2184) %t540 = load ptr, ptr %t538 call void @fn_emit(ptr %t540) call void @fn_emit(ptr @.str2185) %t541 = load ptr, ptr %t536 call void @fn_emit(ptr %t541) call void @fn_emit(ptr @.str2186) %t542 = load ptr, ptr %t536 call void @fn_emit(ptr %t542) call void @fn_emit(ptr @.str2187) %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 @.str2188, ptr %t545) %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str2189) %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 @.str2190, ptr %t552) %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str2191) %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 @.str2192) %t560 = load ptr, ptr %t484 %t561 = call ptr @lp_str_concat(ptr %t559, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str2193) %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 @.str2194, ptr %t565) %t567 = call ptr @lp_str_concat(ptr %t566, ptr @.str2195) %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 @.str2196, ptr %t570) %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str2197) %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 @.str2198, ptr %t575, ptr %t576) call void @fn_emit(ptr @.str2199) %t577 = load ptr, ptr %t538 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str2200) %t578 = load ptr, ptr %t538 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str2201) %t579 = load ptr, ptr %t528 %t580 = call ptr @lp_str_concat(ptr @.str2202, ptr %t579) %t581 = call ptr @fn_emit_bind(ptr %t580) %t582 = call ptr @fn_val(ptr %t581, ptr @.str2203) 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 @.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) 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) br label %ret ret: ret void } define void @fn_emit_text2_prelude() { entry: 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) call void @fn_emith(ptr @.str2595) call void @fn_emith(ptr @.str2596) call void @fn_emith(ptr @.str2597) call void @fn_emith(ptr @.str2598) call void @fn_emith(ptr @.str2599) call void @fn_emith(ptr @.str2600) call void @fn_emith(ptr @.str2601) call void @fn_emith(ptr @.str2602) call void @fn_emith(ptr @.str2603) call void @fn_emith(ptr @.str2604) call void @fn_emith(ptr @.str2605) call void @fn_emith(ptr @.str2606) call void @fn_emith(ptr @.str2607) call void @fn_emith(ptr @.str2608) call void @fn_emith(ptr @.str2609) call void @fn_emith(ptr @.str2610) call void @fn_emith(ptr @.str2611) call void @fn_emith(ptr @.str2612) 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 @.str2613) %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 @.str2614) %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 @.str2615) %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 @.str2616) %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 @.str2617) %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 @.str2618) %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 @.str2619) %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 @.str2620) %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 @.str2621, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2622) %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 @.str2623, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2624) %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 @.str2625, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2626) %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 @.str2627, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2628) %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 @.str2629, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str2630) %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 @.str2631, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str2632) %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 @.str2633, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str2634) %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 @.str2635, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2636) %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 @.str2637, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2638) %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 @.str2639, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2640) %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 @.str2641, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2642) %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 @.str2643, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2644) %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 @.str2645, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str2646) %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 @.str2647, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str2648) %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 @.str2649, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str2650) %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 @.str2651, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2652) %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 @.str2653) %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 @.str2654) %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 @.str2655, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2656) %t27 = call ptr @fn_emit_bind(ptr %t26) %t28 = call ptr @fn_val(ptr %t27, ptr @.str2657) store ptr %t28, ptr %retval br label %ret ifend4: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str2658) %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 @.str2659) %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 @.str2660, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str2661) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str2662) store ptr %t55, ptr %retval br label %ret ifend9: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str2663) %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 @.str2664) store ptr %t71, ptr %retval br label %ret ifend12: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2665) %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 @.str2666, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str2667) %t89 = call ptr @fn_emit_bind(ptr %t88) %t90 = call ptr @fn_val(ptr %t89, ptr @.str2668) store ptr %t90, ptr %retval br label %ret ifend15: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str2669) %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 @.str2670) store ptr %t107, ptr %retval br label %ret ifend18: store ptr @.str2671, 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 @.str2672, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str2673) %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 @.str2674, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str2675) %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 @.str2676, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str2677) %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 @.str2678, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str2679) %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 @.str2680, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2681) %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 @.str2682, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str2683) %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 @.str2684) 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 @.str2685) call void @fn_emith(ptr @.str2686) call void @fn_emith(ptr @.str2687) call void @fn_emith(ptr @.str2688) call void @fn_emith(ptr @.str2689) call void @fn_emith(ptr @.str2690) call void @fn_emith(ptr @.str2691) call void @fn_emith(ptr @.str2692) call void @fn_emith(ptr @.str2693) call void @fn_emith(ptr @.str2694) call void @fn_emith(ptr @.str2695) call void @fn_emith(ptr @.str2696) call void @fn_emith(ptr @.str2697) call void @fn_emith(ptr @.str2698) call void @fn_emith(ptr @.str2699) call void @fn_emith(ptr @.str2700) call void @fn_emith(ptr @.str2701) call void @fn_emith(ptr @.str2702) call void @fn_emith(ptr @.str2703) call void @fn_emith(ptr @.str2704) call void @fn_emith(ptr @.str2705) call void @fn_emith(ptr @.str2706) call void @fn_emith(ptr @.str2707) call void @fn_emith(ptr @.str2708) call void @fn_emith(ptr @.str2709) call void @fn_emith(ptr @.str2710) call void @fn_emith(ptr @.str2711) call void @fn_emith(ptr @.str2712) call void @fn_emith(ptr @.str2713) call void @fn_emith(ptr @.str2714) call void @fn_emith(ptr @.str2715) call void @fn_emith(ptr @.str2716) call void @fn_emith(ptr @.str2717) call void @fn_emith(ptr @.str2718) call void @fn_emith(ptr @.str2719) call void @fn_emith(ptr @.str2720) call void @fn_emith(ptr @.str2721) call void @fn_emith(ptr @.str2722) call void @fn_emith(ptr @.str2723) call void @fn_emith(ptr @.str2724) call void @fn_emith(ptr @.str2725) call void @fn_emith(ptr @.str2726) call void @fn_emith(ptr @.str2727) call void @fn_emith(ptr @.str2728) call void @fn_emith(ptr @.str2729) call void @fn_emith(ptr @.str2730) call void @fn_emith(ptr @.str2731) call void @fn_emith(ptr @.str2732) call void @fn_emith(ptr @.str2733) call void @fn_emith(ptr @.str2734) call void @fn_emith(ptr @.str2735) call void @fn_emith(ptr @.str2736) call void @fn_emith(ptr @.str2737) call void @fn_emith(ptr @.str2738) call void @fn_emith(ptr @.str2739) call void @fn_emith(ptr @.str2740) call void @fn_emith(ptr @.str2741) call void @fn_emith(ptr @.str2742) call void @fn_emith(ptr @.str2743) call void @fn_emith(ptr @.str2744) call void @fn_emith(ptr @.str2745) call void @fn_emith(ptr @.str2746) call void @fn_emith(ptr @.str2747) call void @fn_emith(ptr @.str2748) call void @fn_emith(ptr @.str2749) call void @fn_emith(ptr @.str2750) call void @fn_emith(ptr @.str2751) call void @fn_emith(ptr @.str2752) call void @fn_emith(ptr @.str2753) call void @fn_emith(ptr @.str2754) call void @fn_emith(ptr @.str2755) call void @fn_emith(ptr @.str2756) call void @fn_emith(ptr @.str2757) call void @fn_emith(ptr @.str2758) call void @fn_emith(ptr @.str2759) call void @fn_emith(ptr @.str2760) call void @fn_emith(ptr @.str2761) call void @fn_emith(ptr @.str2762) call void @fn_emith(ptr @.str2763) call void @fn_emith(ptr @.str2764) call void @fn_emith(ptr @.str2765) call void @fn_emith(ptr @.str2766) call void @fn_emith(ptr @.str2767) call void @fn_emith(ptr @.str2768) call void @fn_emith(ptr @.str2769) call void @fn_emith(ptr @.str2770) call void @fn_emith(ptr @.str2771) call void @fn_emith(ptr @.str2772) call void @fn_emith(ptr @.str2773) call void @fn_emith(ptr @.str2774) call void @fn_emith(ptr @.str2775) call void @fn_emith(ptr @.str2776) call void @fn_emith(ptr @.str2777) call void @fn_emith(ptr @.str2778) call void @fn_emith(ptr @.str2779) call void @fn_emith(ptr @.str2780) call void @fn_emith(ptr @.str2781) 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 @.str2782) %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 @.str2783) %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 @.str2784) %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 @.str2785) %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 @.str2786) %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 @.str2787) %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 @.str2788) %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 @.str2789) %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 @.str2790) %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 @.str2791) %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 @.str2792, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2793) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str2794) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2795) %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 @.str2796, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str2797) %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 @.str2798) %t52 = call ptr @fn_emit_bind(ptr %t51) %t53 = call ptr @fn_val(ptr %t52, ptr @.str2799) store ptr %t53, ptr %retval br label %ret ifend5: %t54 = load ptr, ptr %t0 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str2800) %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 @.str2801, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str2802) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str2803) store ptr %t72, ptr %retval br label %ret ifend8: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str2804) %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 @.str2805, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str2806) %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 @.str2807) %t104 = call ptr @fn_emit_bind(ptr %t103) %t105 = call ptr @fn_val(ptr %t104, ptr @.str2808) store ptr %t105, ptr %retval br label %ret ifend11: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str2809) %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 @.str2810) %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 @.str2811, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str2812) %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 @.str2813, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str2814) %t136 = call ptr @fn_emit_bind(ptr %t135) %t137 = call ptr @fn_val(ptr %t136, ptr @.str2815) store ptr %t137, ptr %retval br label %ret ifend16: %t138 = load ptr, ptr %t0 %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str2816) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then17, label %ifend19 then17: %t141 = call ptr @fn_emit_bind(ptr @.str2817) %t142 = call ptr @fn_val(ptr %t141, ptr @.str2818) store ptr %t142, ptr %retval br label %ret ifend19: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str2819) %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 @.str2820, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str2821) %t160 = call ptr @fn_emit_bind(ptr %t159) %t161 = call ptr @fn_val(ptr %t160, ptr @.str2822) 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 @.str2823, ptr %t191) %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str2824) %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 @.str2825) %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 @.str2826, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str2827) %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 @.str2828) %t209 = call ptr @fn_emit_bind(ptr %t208) %t210 = call ptr @fn_val(ptr %t209, ptr @.str2829) 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 @.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_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_emit_secure_rand_prelude() br label %ret ret: ret void } define void @fn_emit_secure_rand_prelude() { entry: call void @fn_emith(ptr @.str2982) call void @fn_emith(ptr @.str2983) call void @fn_emith(ptr @.str2984) call void @fn_emith(ptr @.str2985) call void @fn_emith(ptr @.str2986) call void @fn_emith(ptr @.str2987) call void @fn_emith(ptr @.str2988) call void @fn_emith(ptr @.str2989) call void @fn_emith(ptr @.str2990) call void @fn_emith(ptr @.str2991) call void @fn_emith(ptr @.str2992) call void @fn_emith(ptr @.str2993) call void @fn_emith(ptr @.str2994) call void @fn_emith(ptr @.str2995) call void @fn_emith(ptr @.str2996) call void @fn_emith(ptr @.str2997) call void @fn_emith(ptr @.str2998) call void @fn_emith(ptr @.str2999) call void @fn_emith(ptr @.str3000) call void @fn_emith(ptr @.str3001) call void @fn_emith(ptr @.str3002) call void @fn_emith(ptr @.str3003) call void @fn_emith(ptr @.str3004) call void @fn_emith(ptr @.str3005) call void @fn_emith(ptr @.str3006) call void @fn_emith(ptr @.str3007) call void @fn_emith(ptr @.str3008) call void @fn_emith(ptr @.str3009) call void @fn_emith(ptr @.str3010) call void @fn_emith(ptr @.str3011) call void @fn_emith(ptr @.str3012) call void @fn_emith(ptr @.str3013) call void @fn_emith(ptr @.str3014) call void @fn_emith(ptr @.str3015) call void @fn_emith(ptr @.str3016) call void @fn_emith(ptr @.str3017) call void @fn_emith(ptr @.str3018) call void @fn_emith(ptr @.str3019) call void @fn_emith(ptr @.str3020) call void @fn_emith(ptr @.str3021) call void @fn_emith(ptr @.str3022) call void @fn_emith(ptr @.str3023) call void @fn_emith(ptr @.str3024) call void @fn_emith(ptr @.str3025) call void @fn_emith(ptr @.str3026) call void @fn_emith(ptr @.str3027) call void @fn_emith(ptr @.str3028) call void @fn_emith(ptr @.str3029) 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 @.str3030) %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 @.str3031) %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 @.str3032) %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 @.str3033) %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 @.str3034) %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 @.str3035) %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 @.str3036) %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 @.str3037) %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 @.str3038) %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 @.str3039) %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 @.str3040) %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 @.str3041) %t14 = call ptr @fn_val(ptr %t13, ptr @.str3042) store ptr %t14, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str3043) %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 @.str3044) %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 @.str3045) %t27 = call ptr @fn_val(ptr %t26, ptr @.str3046) store ptr %t27, ptr %retval br label %ret ifend9: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str3047) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then10, label %ifend12 then10: %t31 = call ptr @fn_emit_bind(ptr @.str3048) %t32 = call ptr @fn_val(ptr %t31, ptr @.str3049) store ptr %t32, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3050) %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 @.str3051, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3052) %t50 = call ptr @fn_emit_bind(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str3053) store ptr %t51, ptr %retval br label %ret ifend15: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3054) %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 @.str3055) store ptr %t67, ptr %retval br label %ret ifend18: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str3056) %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 @.str3057, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3058) %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 @.str3059) %t99 = call ptr @fn_emit_bind(ptr %t98) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3060) 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 @.str3061, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3062) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str3063) 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 @.str3064) call void @fn_emith(ptr @.str3065) call void @fn_emith(ptr @.str3066) call void @fn_emith(ptr @.str3067) call void @fn_emith(ptr @.str3068) call void @fn_emith(ptr @.str3069) call void @fn_emith(ptr @.str3070) call void @fn_emith(ptr @.str3071) call void @fn_emith(ptr @.str3072) call void @fn_emith(ptr @.str3073) call void @fn_emith(ptr @.str3074) call void @fn_emith(ptr @.str3075) call void @fn_emith(ptr @.str3076) call void @fn_emith(ptr @.str3077) call void @fn_emith(ptr @.str3078) call void @fn_emith(ptr @.str3079) call void @fn_emith(ptr @.str3080) call void @fn_emith(ptr @.str3081) call void @fn_emith(ptr @.str3082) call void @fn_emith(ptr @.str3083) call void @fn_emith(ptr @.str3084) call void @fn_emith(ptr @.str3085) call void @fn_emith(ptr @.str3086) call void @fn_emith(ptr @.str3087) call void @fn_emith(ptr @.str3088) call void @fn_emith(ptr @.str3089) call void @fn_emith(ptr @.str3090) call void @fn_emith(ptr @.str3091) call void @fn_emith(ptr @.str3092) call void @fn_emith(ptr @.str3093) call void @fn_emith(ptr @.str3094) call void @fn_emith(ptr @.str3095) call void @fn_emith(ptr @.str3096) call void @fn_emith(ptr @.str3097) call void @fn_emith(ptr @.str3098) call void @fn_emith(ptr @.str3099) call void @fn_emith(ptr @.str3100) call void @fn_emith(ptr @.str3101) call void @fn_emith(ptr @.str3102) call void @fn_emith(ptr @.str3103) call void @fn_emith(ptr @.str3104) call void @fn_emith(ptr @.str3105) call void @fn_emith(ptr @.str3106) call void @fn_emith(ptr @.str3107) call void @fn_emith(ptr @.str3108) call void @fn_emith(ptr @.str3109) call void @fn_emith(ptr @.str3110) call void @fn_emith(ptr @.str3111) call void @fn_emith(ptr @.str3112) call void @fn_emith(ptr @.str3113) call void @fn_emith(ptr @.str3114) call void @fn_emith(ptr @.str3115) call void @fn_emith(ptr @.str3116) call void @fn_emith(ptr @.str3117) call void @fn_emith(ptr @.str3118) call void @fn_emith(ptr @.str3119) call void @fn_emith(ptr @.str3120) call void @fn_emith(ptr @.str3121) call void @fn_emith(ptr @.str3122) call void @fn_emith(ptr @.str3123) call void @fn_emith(ptr @.str3124) call void @fn_emith(ptr @.str3125) call void @fn_emith(ptr @.str3126) call void @fn_emith(ptr @.str3127) call void @fn_emith(ptr @.str3128) call void @fn_emith(ptr @.str3129) call void @fn_emith(ptr @.str3130) call void @fn_emith(ptr @.str3131) call void @fn_emith(ptr @.str3132) call void @fn_emith(ptr @.str3133) call void @fn_emith(ptr @.str3134) call void @fn_emith(ptr @.str3135) call void @fn_emith(ptr @.str3136) call void @fn_emith(ptr @.str3137) 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 @.str3138) %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 @.str3139) %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 @.str3140) %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 @.str3141) %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 @.str3142) %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 @.str3143) %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 @.str3144) %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 @.str3145) %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 @.str3146, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3147) %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 @.str3148, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3149) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str3150) 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 @.str3151) %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 @.str3152, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str3153) %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 @.str3154) %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 @.str3155) %t71 = call ptr @fn_emit_bind(ptr %t70) %t72 = call ptr @fn_val(ptr %t71, ptr @.str3156) store ptr %t72, ptr %retval br label %ret ifend5: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3157) %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 @.str3158, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3159) %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 @.str3160) %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 @.str3161) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str3162) store ptr %t119, ptr %retval br label %ret ifend8: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str3163) %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 @.str3164, ptr %t152) %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str3165) %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 @.str3166) %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 @.str3167) %t165 = call ptr @fn_emit_bind(ptr %t164) %t166 = call ptr @fn_val(ptr %t165, ptr @.str3168) store ptr %t166, ptr %retval br label %ret ifend11: %t167 = load ptr, ptr %t0 %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str3169) %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 @.str3170, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str3171) %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 @.str3172) %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 @.str3173) %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 @.str3174) %t226 = call ptr @fn_emit_bind(ptr %t225) %t227 = call ptr @fn_val(ptr %t226, ptr @.str3175) store ptr %t227, ptr %retval br label %ret ifend14: %t228 = load ptr, ptr %t0 %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str3176) %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 @.str3177, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str3178) %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 @.str3179) %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 @.str3180) %t273 = call ptr @fn_emit_bind(ptr %t272) %t274 = call ptr @fn_val(ptr %t273, ptr @.str3181) 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 @.str3182, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str3183) %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 @.str3184) %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 @.str3185) %t317 = call ptr @fn_emit_bind(ptr %t316) %t318 = call ptr @fn_val(ptr %t317, ptr @.str3186) 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 @.str3187) call void @fn_emith(ptr @.str3188) call void @fn_emith(ptr @.str3189) call void @fn_emith(ptr @.str3190) call void @fn_emith(ptr @.str3191) call void @fn_emith(ptr @.str3192) call void @fn_emith(ptr @.str3193) call void @fn_emith(ptr @.str3194) call void @fn_emith(ptr @.str3195) call void @fn_emith(ptr @.str3196) call void @fn_emith(ptr @.str3197) call void @fn_emith(ptr @.str3198) call void @fn_emith(ptr @.str3199) call void @fn_emith(ptr @.str3200) call void @fn_emith(ptr @.str3201) call void @fn_emith(ptr @.str3202) call void @fn_emith(ptr @.str3203) call void @fn_emith(ptr @.str3204) call void @fn_emith(ptr @.str3205) call void @fn_emith(ptr @.str3206) call void @fn_emith(ptr @.str3207) call void @fn_emith(ptr @.str3208) call void @fn_emith(ptr @.str3209) call void @fn_emith(ptr @.str3210) call void @fn_emith(ptr @.str3211) call void @fn_emith(ptr @.str3212) call void @fn_emith(ptr @.str3213) call void @fn_emith(ptr @.str3214) call void @fn_emith(ptr @.str3215) call void @fn_emith(ptr @.str3216) call void @fn_emith(ptr @.str3217) call void @fn_emith(ptr @.str3218) call void @fn_emith(ptr @.str3219) call void @fn_emith(ptr @.str3220) call void @fn_emith(ptr @.str3221) call void @fn_emith(ptr @.str3222) call void @fn_emith(ptr @.str3223) call void @fn_emith(ptr @.str3224) call void @fn_emith(ptr @.str3225) call void @fn_emith(ptr @.str3226) call void @fn_emith(ptr @.str3227) call void @fn_emith(ptr @.str3228) call void @fn_emith(ptr @.str3229) call void @fn_emith(ptr @.str3230) call void @fn_emith(ptr @.str3231) call void @fn_emith(ptr @.str3232) call void @fn_emith(ptr @.str3233) call void @fn_emith(ptr @.str3234) call void @fn_emith(ptr @.str3235) call void @fn_emith(ptr @.str3236) call void @fn_emith(ptr @.str3237) call void @fn_emith(ptr @.str3238) call void @fn_emith(ptr @.str3239) call void @fn_emith(ptr @.str3240) call void @fn_emith(ptr @.str3241) call void @fn_emith(ptr @.str3242) call void @fn_emith(ptr @.str3243) call void @fn_emith(ptr @.str3244) call void @fn_emith(ptr @.str3245) call void @fn_emith(ptr @.str3246) call void @fn_emith(ptr @.str3247) call void @fn_emith(ptr @.str3248) call void @fn_emith(ptr @.str3249) call void @fn_emith(ptr @.str3250) call void @fn_emith(ptr @.str3251) call void @fn_emith(ptr @.str3252) call void @fn_emith(ptr @.str3253) call void @fn_emith(ptr @.str3254) call void @fn_emith(ptr @.str3255) call void @fn_emith(ptr @.str3256) call void @fn_emith(ptr @.str3257) call void @fn_emith(ptr @.str3258) call void @fn_emith(ptr @.str3259) call void @fn_emith(ptr @.str3260) call void @fn_emith(ptr @.str3261) call void @fn_emith(ptr @.str3262) call void @fn_emith(ptr @.str3263) call void @fn_emith(ptr @.str3264) call void @fn_emith(ptr @.str3265) call void @fn_emith(ptr @.str3266) call void @fn_emith(ptr @.str3267) call void @fn_emith(ptr @.str3268) call void @fn_emith(ptr @.str3269) call void @fn_emith(ptr @.str3270) call void @fn_emit_noise_cellular() br label %ret ret: ret void } define void @fn_emit_noise_cellular() { entry: call void @fn_emith(ptr @.str3271) call void @fn_emith(ptr @.str3272) call void @fn_emith(ptr @.str3273) call void @fn_emith(ptr @.str3274) call void @fn_emith(ptr @.str3275) call void @fn_emith(ptr @.str3276) call void @fn_emith(ptr @.str3277) call void @fn_emith(ptr @.str3278) call void @fn_emith(ptr @.str3279) call void @fn_emith(ptr @.str3280) call void @fn_emith(ptr @.str3281) call void @fn_emith(ptr @.str3282) call void @fn_emith(ptr @.str3283) call void @fn_emith(ptr @.str3284) call void @fn_emith(ptr @.str3285) call void @fn_emith(ptr @.str3286) call void @fn_emith(ptr @.str3287) call void @fn_emith(ptr @.str3288) call void @fn_emith(ptr @.str3289) call void @fn_emith(ptr @.str3290) call void @fn_emith(ptr @.str3291) call void @fn_emith(ptr @.str3292) call void @fn_emith(ptr @.str3293) call void @fn_emith(ptr @.str3294) 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 @.str3295) %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 @.str3296) %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 @.str3297) %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 @.str3298) %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 @.str3299) %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 @.str3300) %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 @.str3301) %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 @.str3302) %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 @.str3303) %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 @.str3304, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3305) %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 @.str3306, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3307) %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 @.str3308) %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 @.str3309, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3310) call void @fn_emit(ptr %t18) %t19 = call ptr @fn_val(ptr @.str3311, ptr @.str3312) store ptr %t19, ptr %retval br label %ret ifend2: %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3313) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = call ptr @fn_emit_bind(ptr @.str3314) %t24 = call ptr @fn_val(ptr %t23, ptr @.str3315) store ptr %t24, ptr %retval br label %ret ifend5: store ptr @.str3316, ptr %t25 store ptr @.str3317, ptr %t26 %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str3318) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: store ptr @.str3319, ptr %t25 store ptr @.str3320, ptr %t26 br label %ifend8 ifend8: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3321) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: store ptr @.str3322, ptr %t25 store ptr @.str3323, ptr %t26 br label %ifend11 ifend11: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3324) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then12, label %ifend14 then12: store ptr @.str3325, ptr %t25 store ptr @.str3326, ptr %t26 br label %ifend14 ifend14: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str3327) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then15, label %ifend17 then15: store ptr @.str3328, ptr %t25 store ptr @.str3329, 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 @.str3330) 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 @.str3332) %t56 = call ptr @fn_emit_str_op(ptr @.str3331, 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 @.str3334) %t91 = call ptr @fn_val(ptr %t90, ptr @.str3335) %t92 = call ptr @fn_emit_str_op(ptr @.str3333, 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 @.str3337) %t97 = call ptr @fn_emit_str_op(ptr @.str3336, ptr %t93, ptr %t96) store ptr %t97, ptr %t42 %t98 = load ptr, ptr %t42 %t99 = call ptr @fn_emit_str_const(ptr @.str3339) %t100 = call ptr @fn_val(ptr %t99, ptr @.str3340) %t101 = call ptr @fn_emit_str_op(ptr @.str3338, 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 @.str3342) %t106 = call ptr @fn_emit_str_op(ptr @.str3341, 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 @.str3343, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3344) %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 @.str3345) call void @fn_emit(ptr %t116) %t117 = call ptr @fn_val(ptr @.str3346, ptr @.str3347) 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 @.str3348) call void @fn_emith(ptr @.str3349) call void @fn_emith(ptr @.str3350) call void @fn_emith(ptr @.str3351) %t0 = call ptr @fn_stdstream_rhs(i32 2) %t1 = call ptr @lp_str_concat(ptr @.str3352, ptr %t0) %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str3353) call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str3354) call void @fn_emith(ptr @.str3355) 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 @.str3356) %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 @.str3357) %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 @.str3358) %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 @.str3359) %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 @.str3360) %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 @.str3361) %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 @.str3362) %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 @.str3363) %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 @.str3364) %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 @.str3365) %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 @.str3366) %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 @.str3367) %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 @.str3368) %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 @.str3369) %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 @.str3370) %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 @.str3371) %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 @.str3372) %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 @.str3373) %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t88 br label %scend38 scend38: %t113 = load i32, ptr %t88 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then39, label %ifend41 then39: store i32 1, ptr %retval br label %ret ifend41: store i32 0, ptr %retval br label %ret ret: %t115 = load i32, ptr %retval ret i32 %t115 } define ptr @fn_emit_os_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t18 = alloca ptr %t20 = alloca ptr %t29 = alloca ptr %t50 = alloca ptr %t68 = alloca ptr %t87 = alloca ptr %t94 = alloca ptr %t99 = alloca ptr %t105 = alloca i32 %t116 = alloca i32 %t128 = alloca ptr %t132 = alloca ptr %t139 = alloca ptr %t168 = alloca ptr %t177 = alloca ptr %t201 = alloca ptr %t210 = alloca ptr %t222 = alloca ptr %t227 = alloca ptr %t244 = alloca ptr %t251 = alloca ptr %t256 = alloca ptr %t283 = alloca ptr %t302 = alloca ptr %t321 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3374) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str3375) %t6 = call ptr @fn_val(ptr %t5, ptr @.str3376) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3377) %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 @.str3378) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = call ptr @lp_str_concat(ptr @.str3379, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3380) %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 @.str3381, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) %t33 = call ptr @fn_val(ptr %t32, ptr @.str3382) store ptr %t33, ptr %retval br label %ret ifend5: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3383) %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 @.str3384) %t38 = call ptr @fn_val(ptr %t37, ptr @.str3385) store ptr %t38, ptr %retval br label %ret ifend8: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str3386) %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 @.str3387, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str3388) call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str3389) store i32 1, ptr @g_g_term %t56 = call ptr @fn_val(ptr @.str3390, ptr @.str3391) store ptr %t56, ptr %retval br label %ret ifend11: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3392) %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 @.str3393, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3394) %t74 = call ptr @fn_emit_bind(ptr %t73) %t75 = call ptr @fn_val(ptr %t74, ptr @.str3395) store ptr %t75, ptr %retval br label %ret ifend14: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str3396) %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 @.str3397, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str3398) %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 @.str3399, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3400) %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 @.str3401, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3402) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str3403) store ptr %t104, ptr %retval br label %ret ifend17: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str3404) %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 @.str3405) %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t105 br label %scend19 scend19: %t114 = load i32, ptr %t105 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then20, label %ifend22 then20: store i32 1, ptr %t116 %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str3406) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then23, label %ifend25 then23: store i32 2, ptr %t116 br label %ifend25 ifend25: %t120 = load ptr, ptr %t1 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 7 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds ptr, ptr %t124, i32 0 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_emit_expr(ptr %t126) store ptr %t127, ptr %t128 %t129 = load i32, ptr %t116 %t130 = call ptr @fn_stdstream_rhs(i32 %t129) %t131 = call ptr @fn_emit_bind(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t128 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = call ptr @lp_str_concat(ptr @.str3407, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str3408) %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 @.str3409, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str3410) %t145 = load ptr, ptr %t139 %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str3411) %t148 = load ptr, ptr %t132 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str3412) call void @fn_emit(ptr %t150) %t151 = call ptr @fn_val(ptr @.str3413, ptr @.str3414) 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 @.str3415) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then26, label %ifend28 then26: %t155 = call ptr @fn_emit_bind(ptr @.str3416) %t156 = call ptr @fn_val(ptr %t155, ptr @.str3417) store ptr %t156, ptr %retval br label %ret ifend28: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str3418) %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 @.str3419, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str3420) %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 @.str3421) %t188 = call ptr @fn_emit_bind(ptr %t187) %t189 = call ptr @fn_val(ptr %t188, ptr @.str3422) store ptr %t189, ptr %retval br label %ret ifend31: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str3423) %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 @.str3424, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3425) %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 @.str3426) %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 @.str3427, ptr %t223) %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3428) %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 @.str3429, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str3430) %t231 = call ptr @fn_emit_bind(ptr %t230) %t232 = call ptr @fn_val(ptr %t231, ptr @.str3431) store ptr %t232, ptr %retval br label %ret ifend34: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str3432) %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 @.str3433, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str3434) %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 @.str3435, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str3436) %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 @.str3437, ptr %t257) %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str3438) %t260 = call ptr @fn_emit_bind(ptr %t259) %t261 = call ptr @fn_val(ptr %t260, ptr @.str3439) store ptr %t261, ptr %retval br label %ret ifend37: %t262 = load ptr, ptr %t0 %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str3440) %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then38, label %ifend40 then38: %t265 = call ptr @fn_emit_bind(ptr @.str3441) %t266 = call ptr @fn_val(ptr %t265, ptr @.str3442) store ptr %t266, ptr %retval br label %ret ifend40: %t267 = load ptr, ptr %t0 %t268 = call i32 @lp_str_eq(ptr %t267, ptr @.str3443) %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then41, label %ifend43 then41: %t270 = call ptr @fn_emit_bind(ptr @.str3444) %t271 = call ptr @fn_val(ptr %t270, ptr @.str3445) store ptr %t271, ptr %retval br label %ret ifend43: %t272 = load ptr, ptr %t0 %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str3446) %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 @.str3447, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str3448) %t289 = call ptr @fn_emit_bind(ptr %t288) %t290 = call ptr @fn_val(ptr %t289, ptr @.str3449) store ptr %t290, ptr %retval br label %ret ifend46: %t291 = load ptr, ptr %t0 %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str3450) %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 @.str3451, ptr %t305) %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str3452) %t308 = call ptr @fn_emit_bind(ptr %t307) %t309 = call ptr @fn_val(ptr %t308, ptr @.str3453) store ptr %t309, ptr %retval br label %ret ifend49: %t310 = load ptr, ptr %t0 %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str3454) %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 @.str3455, ptr %t324) %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str3456) %t327 = call ptr @fn_emit_bind(ptr %t326) %t328 = call ptr @fn_val(ptr %t327, ptr @.str3457) store ptr %t328, ptr %retval br label %ret ifend52: %t329 = call ptr @fn_emit_bind(ptr @.str3458) %t330 = call ptr @fn_val(ptr %t329, ptr @.str3459) store ptr %t330, ptr %retval br label %ret ret: %t331 = load ptr, ptr %retval ret ptr %t331 } define void @fn_emit_os_prelude() { entry: %t5 = alloca ptr %t7 = alloca ptr %t9 = alloca ptr %t11 = alloca ptr %t13 = alloca ptr %t15 = alloca ptr %t17 = alloca ptr %t19 = alloca ptr %t21 = alloca ptr %t23 = alloca ptr %t25 = alloca ptr %t27 = alloca ptr %t29 = alloca ptr %t31 = alloca ptr %t33 = alloca ptr %t35 = alloca ptr %t37 = alloca ptr %t0 = load i32, ptr @g_g_target_win %t1 = icmp eq i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.str3460) call void @fn_emith(ptr @.str3461) call void @fn_emith(ptr @.str3462) br label %ifend2 ifend2: %t4 = call ptr @fn_emit_str_const(ptr @.str3463) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str3464) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str3465) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str3466) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str3467) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str3468) store ptr %t14, ptr %t15 %t16 = call ptr @fn_emit_str_const(ptr @.str3469) store ptr %t16, ptr %t17 %t18 = call ptr @fn_emit_str_const(ptr @.str3470) store ptr %t18, ptr %t19 %t20 = call ptr @fn_emit_str_const(ptr @.str3471) store ptr %t20, ptr %t21 %t22 = call ptr @fn_emit_str_const(ptr @.str3472) store ptr %t22, ptr %t23 %t24 = call ptr @fn_emit_str_const(ptr @.str3473) store ptr %t24, ptr %t25 %t26 = call ptr @fn_emit_str_const(ptr @.str3474) store ptr %t26, ptr %t27 %t28 = call ptr @fn_emit_str_const(ptr @.str3475) store ptr %t28, ptr %t29 %t30 = call ptr @fn_emit_str_const(ptr @.str3476) store ptr %t30, ptr %t31 %t32 = call ptr @fn_emit_str_const(ptr @.str3477) store ptr %t32, ptr %t33 %t34 = call ptr @fn_emit_str_const(ptr @.str3478) store ptr %t34, ptr %t35 %t36 = call ptr @fn_emit_str_const(ptr @.str3479) store ptr %t36, ptr %t37 call void @fn_emith(ptr @.str3480) call void @fn_emith(ptr @.str3481) call void @fn_emith(ptr @.str3482) call void @fn_emith(ptr @.str3483) call void @fn_emith(ptr @.str3484) call void @fn_emith(ptr @.str3485) call void @fn_emith(ptr @.str3486) call void @fn_emith(ptr @.str3487) call void @fn_emith(ptr @.str3488) call void @fn_emith(ptr @.str3489) call void @fn_emith(ptr @.str3490) call void @fn_emith(ptr @.str3491) %t38 = load i32, ptr @g_g_target_win %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then3, label %ifend5 then3: %t40 = load ptr, ptr %t7 %t41 = load ptr, ptr %t31 call void @fn_emit_os_win_known(ptr %t40, ptr %t41) br label %ret ifend5: %t42 = load ptr, ptr %t5 %t43 = call ptr @lp_str_concat(ptr @.str3492, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str3493) %t45 = load ptr, ptr %t7 %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str3494) call void @fn_emith(ptr %t47) call void @fn_emith(ptr @.str3495) call void @fn_emith(ptr @.str3496) call void @fn_emith(ptr @.str3497) call void @fn_emith(ptr @.str3498) call void @fn_emith(ptr @.str3499) %t48 = load ptr, ptr %t17 %t49 = call ptr @lp_str_concat(ptr @.str3500, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str3501) call void @fn_emith(ptr %t50) call void @fn_emith(ptr @.str3502) call void @fn_emith(ptr @.str3503) call void @fn_emith(ptr @.str3504) call void @fn_emith(ptr @.str3505) %t51 = load ptr, ptr %t31 %t52 = call ptr @lp_str_concat(ptr @.str3506, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3507) call void @fn_emith(ptr %t53) call void @fn_emith(ptr @.str3508) call void @fn_emith(ptr @.str3509) call void @fn_emith(ptr @.str3510) call void @fn_emith(ptr @.str3511) call void @fn_emith(ptr @.str3512) %t54 = load ptr, ptr %t9 %t55 = call ptr @lp_str_concat(ptr @.str3513, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str3514) %t57 = load ptr, ptr %t19 %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str3515) %t60 = load ptr, ptr %t25 %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str3516) call void @fn_emith(ptr %t62) %t63 = load ptr, ptr %t9 %t64 = call ptr @lp_str_concat(ptr @.str3517, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str3518) %t66 = load ptr, ptr %t21 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str3519) %t69 = load ptr, ptr %t27 %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str3520) call void @fn_emith(ptr %t71) %t72 = load ptr, ptr %t11 %t73 = call ptr @lp_str_concat(ptr @.str3521, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str3522) %t75 = load ptr, ptr %t23 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str3523) %t78 = load ptr, ptr %t29 %t79 = call ptr @lp_str_concat(ptr %t77, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str3524) call void @fn_emith(ptr %t80) %t81 = load ptr, ptr %t13 %t82 = call ptr @lp_str_concat(ptr @.str3525, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str3526) %t84 = load ptr, ptr %t15 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str3527) call void @fn_emith(ptr %t86) call void @fn_emith(ptr @.str3528) call void @fn_emith(ptr @.str3529) call void @fn_emith(ptr @.str3530) call void @fn_emith(ptr @.str3531) call void @fn_emith(ptr @.str3532) call void @fn_emith(ptr @.str3533) call void @fn_emith(ptr @.str3534) call void @fn_emith(ptr @.str3535) call void @fn_emith(ptr @.str3536) %t87 = load ptr, ptr %t17 %t88 = call ptr @lp_str_concat(ptr @.str3537, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3538) call void @fn_emith(ptr %t89) %t90 = load ptr, ptr %t33 %t91 = call ptr @lp_str_concat(ptr @.str3539, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str3540) call void @fn_emith(ptr %t92) %t93 = load ptr, ptr %t35 %t94 = call ptr @lp_str_concat(ptr @.str3541, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str3542) call void @fn_emith(ptr %t95) %t96 = load ptr, ptr %t37 %t97 = call ptr @lp_str_concat(ptr @.str3543, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3544) call void @fn_emith(ptr %t98) call void @fn_emith(ptr @.str3545) call void @fn_emith(ptr @.str3546) call void @fn_emith(ptr @.str3547) call void @fn_emith(ptr @.str3548) 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 @.str3549) %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 @.str3550) %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 @.str3551) %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 @.str3552) %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 @.str3553) %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 @.str3554) %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 @.str3555) %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 @.str3556) %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 @.str3557) %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 @.str3558) %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 @.str3559, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3560) %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 @.str3561, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3562) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str3563) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3564) %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 @.str3565, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3566) %t43 = call ptr @fn_emit_bind(ptr %t42) %t44 = call ptr @fn_val(ptr %t43, ptr @.str3567) store ptr %t44, ptr %retval br label %ret ifend5: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str3568) %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 @.str3569, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str3570) %t62 = call ptr @fn_emit_bind(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str3571) store ptr %t63, ptr %retval br label %ret ifend8: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str3572) %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 @.str3573, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3574) %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 @.str3575) %t95 = call ptr @fn_emit_bind(ptr %t94) %t96 = call ptr @fn_val(ptr %t95, ptr @.str3576) store ptr %t96, ptr %retval br label %ret ifend11: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str3577) %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 @.str3578, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str3579) %t114 = call ptr @fn_emit_bind(ptr %t113) %t115 = call ptr @fn_val(ptr %t114, ptr @.str3580) store ptr %t115, ptr %retval br label %ret ifend14: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str3581) %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 @.str3582, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str3583) %t133 = call ptr @fn_emit_bind(ptr %t132) %t134 = call ptr @fn_val(ptr %t133, ptr @.str3584) store ptr %t134, ptr %retval br label %ret ifend17: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str3585) %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 @.str3586, ptr %t149) %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str3587) %t152 = call ptr @fn_emit_bind(ptr %t151) %t153 = call ptr @fn_val(ptr %t152, ptr @.str3588) store ptr %t153, ptr %retval br label %ret ifend20: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str3589) %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 @.str3590, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str3591) %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 @.str3592) %t185 = call ptr @fn_emit_bind(ptr %t184) %t186 = call ptr @fn_val(ptr %t185, ptr @.str3593) 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 @.str3594, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str3595) %t201 = call ptr @fn_emit_bind(ptr %t200) %t202 = call ptr @fn_val(ptr %t201, ptr @.str3596) 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 @.str3597) call void @fn_emith(ptr @.str3598) call void @fn_emith(ptr @.str3599) call void @fn_emith(ptr @.str3600) call void @fn_emith(ptr @.str3601) call void @fn_emith(ptr @.str3602) call void @fn_emith(ptr @.str3603) call void @fn_emith(ptr @.str3604) call void @fn_emith(ptr @.str3605) call void @fn_emith(ptr @.str3606) call void @fn_emith(ptr @.str3607) call void @fn_emith(ptr @.str3608) call void @fn_emith(ptr @.str3609) call void @fn_emith(ptr @.str3610) call void @fn_emith(ptr @.str3611) call void @fn_emith(ptr @.str3612) call void @fn_emith(ptr @.str3613) call void @fn_emith(ptr @.str3614) call void @fn_emith(ptr @.str3615) call void @fn_emith(ptr @.str3616) call void @fn_emith(ptr @.str3617) call void @fn_emith(ptr @.str3618) call void @fn_emith(ptr @.str3619) call void @fn_emith(ptr @.str3620) call void @fn_emith(ptr @.str3621) call void @fn_emith(ptr @.str3622) call void @fn_emith(ptr @.str3623) call void @fn_emith(ptr @.str3624) call void @fn_emith(ptr @.str3625) call void @fn_emith(ptr @.str3626) call void @fn_emith(ptr @.str3627) call void @fn_emith(ptr @.str3628) call void @fn_emith(ptr @.str3629) 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) 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) br label %ret ret: ret void } define void @fn_emit_uni_case_fns() { entry: call void @fn_emith(ptr @.str3670) call void @fn_emith(ptr @.str3671) call void @fn_emith(ptr @.str3672) call void @fn_emith(ptr @.str3673) call void @fn_emith(ptr @.str3674) call void @fn_emith(ptr @.str3675) call void @fn_emith(ptr @.str3676) call void @fn_emith(ptr @.str3677) call void @fn_emith(ptr @.str3678) call void @fn_emith(ptr @.str3679) call void @fn_emith(ptr @.str3680) call void @fn_emith(ptr @.str3681) call void @fn_emith(ptr @.str3682) call void @fn_emith(ptr @.str3683) call void @fn_emith(ptr @.str3684) call void @fn_emith(ptr @.str3685) call void @fn_emith(ptr @.str3686) call void @fn_emith(ptr @.str3687) call void @fn_emith(ptr @.str3688) call void @fn_emith(ptr @.str3689) call void @fn_emith(ptr @.str3690) call void @fn_emith(ptr @.str3691) call void @fn_emith(ptr @.str3692) call void @fn_emith(ptr @.str3693) call void @fn_emith(ptr @.str3694) call void @fn_emith(ptr @.str3695) call void @fn_emith(ptr @.str3696) call void @fn_emith(ptr @.str3697) call void @fn_emith(ptr @.str3698) call void @fn_emith(ptr @.str3699) call void @fn_emith(ptr @.str3700) call void @fn_emith(ptr @.str3701) call void @fn_emith(ptr @.str3702) call void @fn_emith(ptr @.str3703) call void @fn_emith(ptr @.str3704) call void @fn_emith(ptr @.str3705) call void @fn_emith(ptr @.str3706) call void @fn_emith(ptr @.str3707) call void @fn_emith(ptr @.str3708) call void @fn_emith(ptr @.str3709) br label %ret ret: ret void } define void @fn_emit_uni_str_fns() { entry: call void @fn_emith(ptr @.str3710) call void @fn_emith(ptr @.str3711) call void @fn_emith(ptr @.str3712) call void @fn_emith(ptr @.str3713) call void @fn_emith(ptr @.str3714) call void @fn_emith(ptr @.str3715) call void @fn_emith(ptr @.str3716) call void @fn_emith(ptr @.str3717) call void @fn_emith(ptr @.str3718) call void @fn_emith(ptr @.str3719) call void @fn_emith(ptr @.str3720) call void @fn_emith(ptr @.str3721) call void @fn_emith(ptr @.str3722) call void @fn_emith(ptr @.str3723) call void @fn_emith(ptr @.str3724) call void @fn_emith(ptr @.str3725) call void @fn_emith(ptr @.str3726) call void @fn_emith(ptr @.str3727) call void @fn_emith(ptr @.str3728) call void @fn_emith(ptr @.str3729) call void @fn_emith(ptr @.str3730) call void @fn_emith(ptr @.str3731) call void @fn_emith(ptr @.str3732) call void @fn_emith(ptr @.str3733) call void @fn_emith(ptr @.str3734) call void @fn_emith(ptr @.str3735) call void @fn_emith(ptr @.str3736) call void @fn_emith(ptr @.str3737) call void @fn_emith(ptr @.str3738) call void @fn_emith(ptr @.str3739) call void @fn_emith(ptr @.str3740) call void @fn_emith(ptr @.str3741) call void @fn_emith(ptr @.str3742) call void @fn_emith(ptr @.str3743) call void @fn_emith(ptr @.str3744) call void @fn_emith(ptr @.str3745) call void @fn_emith(ptr @.str3746) call void @fn_emit_uni_grapheme() br label %ret ret: ret void } define void @fn_emit_uni_grapheme() { entry: call void @fn_emith(ptr @.str3747) call void @fn_emith(ptr @.str3748) call void @fn_emith(ptr @.str3749) call void @fn_emith(ptr @.str3750) call void @fn_emith(ptr @.str3751) call void @fn_emith(ptr @.str3752) call void @fn_emith(ptr @.str3753) call void @fn_emith(ptr @.str3754) call void @fn_emith(ptr @.str3755) call void @fn_emith(ptr @.str3756) call void @fn_emith(ptr @.str3757) call void @fn_emith(ptr @.str3758) call void @fn_emith(ptr @.str3759) call void @fn_emith(ptr @.str3760) call void @fn_emith(ptr @.str3761) call void @fn_emith(ptr @.str3762) call void @fn_emith(ptr @.str3763) call void @fn_emith(ptr @.str3764) call void @fn_emith(ptr @.str3765) 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 @.str3766) %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 @.str3767) %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 @.str3768) %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 @.str3769) %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 @.str3770) %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 @.str3771) %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 @.str3772) %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 @.str3773) %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 @.str3774) %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 @.str3775) %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 @.str3776) %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 @.str3777) %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 @.str3778) %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 @.str3779) %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 @.str3780) %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 @.str3781) %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 @.str3782) %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 @.str3783) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br label %scend1 scend1: %t10 = load i32, ptr %t1 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then2, label %ifend4 then2: store i32 1, ptr %retval br label %ret ifend4: store i32 0, ptr %retval br label %ret ret: %t12 = load i32, ptr %retval ret i32 %t12 } define ptr @fn_emit_fs_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t10 = alloca ptr %t89 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 call void @fn_use_pak() %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds ptr, ptr %t6, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str3784) %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 @.str3785, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3786) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str3787) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3788) %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 @.str3789, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3790) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str3791) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str3792) %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 @.str3793, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3794) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str3795) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3796) %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 @.str3797, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str3798) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str3799) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str3800) %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 @.str3801, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3802) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str3803) store ptr %t60, ptr %retval br label %ret ifend14: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str3804) %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 @.str3805, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str3806) %t69 = call ptr @fn_emit_bind(ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str3807) store ptr %t70, ptr %retval br label %ret ifend17: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str3808) %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 @.str3809, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str3810) %t79 = call ptr @fn_emit_bind(ptr %t78) %t80 = call ptr @fn_val(ptr %t79, ptr @.str3811) 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 @.str3812) %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 @.str3813, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3814) %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 @.str3815) %t103 = call ptr @fn_emit_bind(ptr %t102) %t104 = call ptr @fn_val(ptr %t103, ptr @.str3816) store ptr %t104, ptr %retval br label %ret ifend23: %t105 = load ptr, ptr %t0 %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str3817) %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 @.str3818, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str3819) %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 @.str3820) %t118 = call ptr @fn_emit_bind(ptr %t117) %t119 = call ptr @fn_val(ptr %t118, ptr @.str3821) 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 @.str3822, ptr %t122) %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str3823) %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 @.str3824) %t130 = call ptr @fn_emit_bind(ptr %t129) %t131 = call ptr @fn_val(ptr %t130, ptr @.str3825) store ptr %t131, ptr %retval br label %ret ret: %t132 = load ptr, ptr %retval ret ptr %t132 } define ptr @fn_emit_path_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t10 = alloca ptr %t69 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 call void @fn_use_pak() %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds ptr, ptr %t6, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str3826) %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 @.str3827, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3828) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str3829) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3830) %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 @.str3831, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3832) %t29 = call ptr @fn_emit_bind(ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str3833) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str3834) %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 @.str3835, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3836) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str3837) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3838) %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 @.str3839, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str3840) %t49 = call ptr @fn_emit_bind(ptr %t48) %t50 = call ptr @fn_val(ptr %t49, ptr @.str3841) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str3842) %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 @.str3843, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3844) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str3845) 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 @.str3846, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str3847) %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 @.str3848) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str3849) store ptr %t81, ptr %retval br label %ret ret: %t82 = load ptr, ptr %retval ret ptr %t82 } define ptr @fn_emit_mime_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t10 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 call void @fn_use_pak() %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds ptr, ptr %t6, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str3850) %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 @.str3851, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3852) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str3853) 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 @.str3854, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3855) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str3856) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define void @fn_emit_fs_prelude() { entry: %t0 = load i32, ptr @g_g_target_win %t1 = icmp eq i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.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) br label %ifend2 ifend2: call void @fn_emit_fs_common() call void @fn_emit_fs_path() call void @fn_emit_fs_io() call void @fn_emit_fs_dir() call void @fn_emit_fs_mime() br label %ret ret: ret void } define void @fn_emit_fs_common() { entry: call void @fn_emith(ptr @.str3864) call void @fn_emith(ptr @.str3865) call void @fn_emith(ptr @.str3866) call void @fn_emith(ptr @.str3867) call void @fn_emith(ptr @.str3868) call void @fn_emith(ptr @.str3869) call void @fn_emith(ptr @.str3870) call void @fn_emith(ptr @.str3871) call void @fn_emith(ptr @.str3872) call void @fn_emith(ptr @.str3873) call void @fn_emith(ptr @.str3874) call void @fn_emith(ptr @.str3875) call void @fn_emith(ptr @.str3876) br label %ret ret: ret void } define void @fn_emit_fs_path() { entry: 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) 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_emit_fs_normalize() br label %ret ret: ret void } define void @fn_emit_fs_normalize() { entry: 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) call void @fn_emith(ptr @.str3953) call void @fn_emith(ptr @.str3954) call void @fn_emith(ptr @.str3955) br label %ret ret: ret void } define void @fn_emit_fs_io() { entry: call void @fn_emith(ptr @.str3956) call void @fn_emith(ptr @.str3957) call void @fn_emith(ptr @.str3958) call void @fn_emith(ptr @.str3959) call void @fn_emith(ptr @.str3960) call void @fn_emith(ptr @.str3961) call void @fn_emith(ptr @.str3962) call void @fn_emith(ptr @.str3963) call void @fn_emith(ptr @.str3964) call void @fn_emith(ptr @.str3965) call void @fn_emith(ptr @.str3966) call void @fn_emith(ptr @.str3967) call void @fn_emith(ptr @.str3968) call void @fn_emith(ptr @.str3969) call void @fn_emith(ptr @.str3970) call void @fn_emith(ptr @.str3971) call void @fn_emith(ptr @.str3972) call void @fn_emith(ptr @.str3973) call void @fn_emith(ptr @.str3974) call void @fn_emith(ptr @.str3975) call void @fn_emith(ptr @.str3976) call void @fn_emith(ptr @.str3977) call void @fn_emith(ptr @.str3978) call void @fn_emith(ptr @.str3979) call void @fn_emith(ptr @.str3980) call void @fn_emith(ptr @.str3981) call void @fn_emith(ptr @.str3982) call void @fn_emith(ptr @.str3983) call void @fn_emith(ptr @.str3984) call void @fn_emith(ptr @.str3985) call void @fn_emith(ptr @.str3986) call void @fn_emith(ptr @.str3987) call void @fn_emith(ptr @.str3988) call void @fn_emith(ptr @.str3989) call void @fn_emith(ptr @.str3990) call void @fn_emith(ptr @.str3991) call void @fn_emith(ptr @.str3992) call void @fn_emith(ptr @.str3993) call void @fn_emith(ptr @.str3994) call void @fn_emith(ptr @.str3995) call void @fn_emith(ptr @.str3996) call void @fn_emith(ptr @.str3997) call void @fn_emith(ptr @.str3998) call void @fn_emith(ptr @.str3999) call void @fn_emith(ptr @.str4000) call void @fn_emith(ptr @.str4001) call void @fn_emith(ptr @.str4002) call void @fn_emith(ptr @.str4003) br label %ret ret: ret void } define void @fn_emit_fs_dir() { entry: call void @fn_emith(ptr @.str4004) call void @fn_emith(ptr @.str4005) call void @fn_emith(ptr @.str4006) call void @fn_emith(ptr @.str4007) call void @fn_emith(ptr @.str4008) call void @fn_emith(ptr @.str4009) call void @fn_emith(ptr @.str4010) call void @fn_emith(ptr @.str4011) call void @fn_emith(ptr @.str4012) call void @fn_emith(ptr @.str4013) call void @fn_emith(ptr @.str4014) call void @fn_emith(ptr @.str4015) call void @fn_emith(ptr @.str4016) call void @fn_emith(ptr @.str4017) call void @fn_emith(ptr @.str4018) call void @fn_emith(ptr @.str4019) call void @fn_emith(ptr @.str4020) call void @fn_emith(ptr @.str4021) call void @fn_emith(ptr @.str4022) call void @fn_emith(ptr @.str4023) call void @fn_emith(ptr @.str4024) call void @fn_emith(ptr @.str4025) call void @fn_emith(ptr @.str4026) call void @fn_emith(ptr @.str4027) 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 @.str4028, 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 @.str4029, 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 @.str4030, 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 @.str4031, 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 @.str4032, 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 @.str4033, 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 @.str4034, 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 @.str4035, 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 @.str4036, 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 @.str4037, 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 @.str4038, 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 @.str4039, 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 @.str4040, 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 @.str4041, 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 @.str4042, 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 @.str4043, 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 @.str4044, 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 @.str4045, 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 @.str4046, 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 @.str4047, 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 @.str4048, 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 @.str4049, 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 @.str4050, 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 @.str4051, 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 @.str4052, 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 @.str4053, 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 @.str4054, 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 @.str4055, 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 @.str4056, 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 @.str4057, 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 @.str4058, 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 @.str4059, 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 @.str4060, 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 @.str4061, 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 @.str4062, 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 @.str4063, 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 @.str4064, 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 @.str4065, 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 @.str4066, 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 @.str4067, 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 @.str4068, 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 @.str4069, 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 @.str4070, 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 @.str4071, 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 @.str4072, 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 @.str4073, 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 @.str4074, 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 @.str4075, 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 @.str4076) 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 @.str4077, ptr %t1009) %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str4078) 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 @.str4079) 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 @.str4080, ptr %t1028) %t1030 = call ptr @lp_str_concat(ptr %t1029, ptr @.str4081) %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 @.str4082) 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 @.str4083) call void @fn_emith(ptr @.str4084) call void @fn_emith(ptr @.str4085) %t1041 = load i32, ptr %t1007 %t1042 = call ptr @fn_itoa(i32 %t1041) %t1043 = call ptr @lp_str_concat(ptr @.str4086, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str4087) 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 @.str4088, ptr %t1046) %t1048 = call ptr @lp_str_concat(ptr %t1047, ptr @.str4089) 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 @.str4090, ptr %t1050) %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str4091) call void @fn_emith(ptr %t1052) call void @fn_emith(ptr @.str4092) %t1053 = load ptr, ptr %t1003 %t1054 = call ptr @lp_str_concat(ptr @.str4093, ptr %t1053) %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str4094) call void @fn_emith(ptr %t1055) call void @fn_emith(ptr @.str4095) call void @fn_emith(ptr @.str4096) call void @fn_emith(ptr @.str4097) call void @fn_emith(ptr @.str4098) call void @fn_emith(ptr @.str4099) call void @fn_emith(ptr @.str4100) call void @fn_emith(ptr @.str4101) call void @fn_emit_fs_sniff() br label %ret ret: ret void } define void @fn_emit_fs_sniff() { entry: call void @fn_emith(ptr @.str4102) call void @fn_emith(ptr @.str4103) call void @fn_emith(ptr @.str4104) call void @fn_emith(ptr @.str4105) call void @fn_emith(ptr @.str4106) call void @fn_emith(ptr @.str4107) call void @fn_emith(ptr @.str4108) call void @fn_emith(ptr @.str4109) call void @fn_emith(ptr @.str4110) call void @fn_emith(ptr @.str4111) call void @fn_emith(ptr @.str4112) call void @fn_emith(ptr @.str4113) call void @fn_emith(ptr @.str4114) call void @fn_emith(ptr @.str4115) call void @fn_emith(ptr @.str4116) call void @fn_emith(ptr @.str4117) call void @fn_emith(ptr @.str4118) call void @fn_emith(ptr @.str4119) call void @fn_emith(ptr @.str4120) call void @fn_emith(ptr @.str4121) call void @fn_emith(ptr @.str4122) call void @fn_emith(ptr @.str4123) call void @fn_emith(ptr @.str4124) call void @fn_emith(ptr @.str4125) br label %ret ret: ret void } define void @fn_use_pak() { entry: store i32 1, ptr @g_g_uses_pak store i32 1, ptr @g_g_uses_fsrt br label %ret ret: ret void } define void @fn_emit_pak_prelude() { entry: %t0 = load i32, ptr @g_g_target_win %t1 = icmp eq i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.str4126) call void @fn_emith(ptr @.str4127) call void @fn_emith(ptr @.str4128) call void @fn_emith(ptr @.str4129) call void @fn_emith(ptr @.str4130) call void @fn_emith(ptr @.str4131) call void @fn_emith(ptr @.str4132) br label %ifend2 ifend2: call void @fn_emith(ptr @.str4133) call void @fn_emith(ptr @.str4134) call void @fn_emith(ptr @.str4135) call void @fn_emith(ptr @.str4136) call void @fn_emith(ptr @.str4137) call void @fn_emith(ptr @.str4138) call void @fn_emith(ptr @.str4139) call void @fn_emith(ptr @.str4140) call void @fn_emith(ptr @.str4141) %t4 = load i32, ptr @g_g_windowed %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str4142) call void @fn_emith(ptr @.str4143) call void @fn_emith(ptr @.str4144) br label %ifend5 ifend5: call void @fn_emit_pak_mount() call void @fn_emit_pak_lookup() call void @fn_emit_pak_open() call void @fn_emit_pak_boot() call void @fn_emith(ptr @.str4145) call void @fn_emith(ptr @.str4146) br label %ret ret: ret void } define void @fn_emit_pak_mount() { entry: call void @fn_emith(ptr @.str4147) call void @fn_emith(ptr @.str4148) call void @fn_emith(ptr @.str4149) call void @fn_emith(ptr @.str4150) call void @fn_emith(ptr @.str4151) call void @fn_emith(ptr @.str4152) call void @fn_emith(ptr @.str4153) call void @fn_emith(ptr @.str4154) call void @fn_emith(ptr @.str4155) call void @fn_emith(ptr @.str4156) call void @fn_emith(ptr @.str4157) br label %ret ret: ret void } define void @fn_emit_pak_lookup() { entry: call void @fn_emith(ptr @.str4158) call void @fn_emith(ptr @.str4159) call void @fn_emith(ptr @.str4160) call void @fn_emith(ptr @.str4161) call void @fn_emith(ptr @.str4162) call void @fn_emith(ptr @.str4163) call void @fn_emith(ptr @.str4164) call void @fn_emith(ptr @.str4165) call void @fn_emith(ptr @.str4166) call void @fn_emith(ptr @.str4167) call void @fn_emith(ptr @.str4168) call void @fn_emith(ptr @.str4169) call void @fn_emith(ptr @.str4170) call void @fn_emith(ptr @.str4171) call void @fn_emith(ptr @.str4172) call void @fn_emith(ptr @.str4173) call void @fn_emith(ptr @.str4174) call void @fn_emith(ptr @.str4175) call void @fn_emith(ptr @.str4176) call void @fn_emith(ptr @.str4177) call void @fn_emith(ptr @.str4178) call void @fn_emith(ptr @.str4179) call void @fn_emith(ptr @.str4180) call void @fn_emith(ptr @.str4181) call void @fn_emith(ptr @.str4182) call void @fn_emith(ptr @.str4183) call void @fn_emith(ptr @.str4184) call void @fn_emith(ptr @.str4185) call void @fn_emith(ptr @.str4186) call void @fn_emith(ptr @.str4187) call void @fn_emith(ptr @.str4188) call void @fn_emith(ptr @.str4189) call void @fn_emith(ptr @.str4190) call void @fn_emith(ptr @.str4191) call void @fn_emith(ptr @.str4192) br label %ret ret: ret void } define void @fn_emit_pak_open() { entry: call void @fn_emith(ptr @.str4193) call void @fn_emith(ptr @.str4194) call void @fn_emith(ptr @.str4195) call void @fn_emith(ptr @.str4196) call void @fn_emith(ptr @.str4197) call void @fn_emith(ptr @.str4198) br label %ret ret: ret void } define void @fn_emit_pak_boot() { entry: call void @fn_emith(ptr @.str4199) call void @fn_emith(ptr @.str4200) call void @fn_emith(ptr @.str4201) call void @fn_emith(ptr @.str4202) call void @fn_emith(ptr @.str4203) call void @fn_emith(ptr @.str4204) call void @fn_emith(ptr @.str4205) call void @fn_emith(ptr @.str4206) call void @fn_emith(ptr @.str4207) call void @fn_emith(ptr @.str4208) call void @fn_emith(ptr @.str4209) call void @fn_emith(ptr @.str4210) call void @fn_emith(ptr @.str4211) call void @fn_emith(ptr @.str4212) call void @fn_emith(ptr @.str4213) call void @fn_emith(ptr @.str4214) call void @fn_emith(ptr @.str4215) call void @fn_emith(ptr @.str4216) call void @fn_emith(ptr @.str4217) call void @fn_emith(ptr @.str4218) call void @fn_emith(ptr @.str4219) call void @fn_emith(ptr @.str4220) call void @fn_emith(ptr @.str4221) call void @fn_emith(ptr @.str4222) call void @fn_emith(ptr @.str4223) call void @fn_emith(ptr @.str4224) call void @fn_emith(ptr @.str4225) call void @fn_emith(ptr @.str4226) call void @fn_emith(ptr @.str4227) call void @fn_emith(ptr @.str4228) call void @fn_emith(ptr @.str4229) call void @fn_emith(ptr @.str4230) call void @fn_emith(ptr @.str4231) %t0 = load i32, ptr @g_g_target_win %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %else1 then0: call void @fn_emith(ptr @.str4232) call void @fn_emith(ptr @.str4233) br label %ifend2 else1: call void @fn_emith(ptr @.str4234) call void @fn_emith(ptr @.str4235) br label %ifend2 ifend2: call void @fn_emith(ptr @.str4236) call void @fn_emith(ptr @.str4237) call void @fn_emith(ptr @.str4238) call void @fn_emith(ptr @.str4239) call void @fn_emith(ptr @.str4240) call void @fn_emith(ptr @.str4241) call void @fn_emith(ptr @.str4242) call void @fn_emith(ptr @.str4243) call void @fn_emith(ptr @.str4244) call void @fn_emith(ptr @.str4245) %t2 = load i32, ptr @g_g_windowed %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str4246) br label %ifend5 ifend5: call void @fn_emith(ptr @.str4247) call void @fn_emith(ptr @.str4248) %t4 = load i32, ptr @g_g_windowed %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then6, label %ifend8 then6: call void @fn_emith(ptr @.str4249) call void @fn_emith(ptr @.str4250) call void @fn_emith(ptr @.str4251) call void @fn_emith(ptr @.str4252) call void @fn_emith(ptr @.str4253) call void @fn_emith(ptr @.str4254) call void @fn_emith(ptr @.str4255) call void @fn_emith(ptr @.str4256) call void @fn_emith(ptr @.str4257) call void @fn_emith(ptr @.str4258) call void @fn_emith(ptr @.str4259) call void @fn_emith(ptr @.str4260) call void @fn_emith(ptr @.str4261) call void @fn_emith(ptr @.str4262) call void @fn_emith(ptr @.str4263) call void @fn_emith(ptr @.str4264) br label %ifend8 ifend8: br label %ret ret: ret void } define void @fn_emit_win_prelude() { entry: call void @fn_emith(ptr @.str4265) call void @fn_emith(ptr @.str4266) call void @fn_emith(ptr @.str4267) call void @fn_emith(ptr @.str4268) call void @fn_emith(ptr @.str4269) call void @fn_emith(ptr @.str4270) call void @fn_emith(ptr @.str4271) call void @fn_emith(ptr @.str4272) call void @fn_emith(ptr @.str4273) call void @fn_emith(ptr @.str4274) call void @fn_emith(ptr @.str4275) call void @fn_emith(ptr @.str4276) call void @fn_emith(ptr @.str4277) call void @fn_emith(ptr @.str4278) call void @fn_emith(ptr @.str4279) call void @fn_emith(ptr @.str4280) call void @fn_emith(ptr @.str4281) call void @fn_emith(ptr @.str4282) call void @fn_emith(ptr @.str4283) call void @fn_emith(ptr @.str4284) call void @fn_emith(ptr @.str4285) call void @fn_emith(ptr @.str4286) call void @fn_emith(ptr @.str4287) call void @fn_emith(ptr @.str4288) call void @fn_emith(ptr @.str4289) call void @fn_emith(ptr @.str4290) call void @fn_emith(ptr @.str4291) call void @fn_emith(ptr @.str4292) call void @fn_emith(ptr @.str4293) call void @fn_emith(ptr @.str4294) call void @fn_emith(ptr @.str4295) call void @fn_emith(ptr @.str4296) call void @fn_emith(ptr @.str4297) call void @fn_emith(ptr @.str4298) call void @fn_emith(ptr @.str4299) call void @fn_emith(ptr @.str4300) call void @fn_emith(ptr @.str4301) call void @fn_emit_win_stdio() call void @fn_emit_win_files() call void @fn_emit_win_dirs() call void @fn_emit_win_maps() call void @fn_emit_win_process() br label %ret ret: ret void } define void @fn_emit_win_stdio() { entry: call void @fn_emith(ptr @.str4302) call void @fn_emith(ptr @.str4303) call void @fn_emith(ptr @.str4304) call void @fn_emith(ptr @.str4305) call void @fn_emith(ptr @.str4306) call void @fn_emith(ptr @.str4307) call void @fn_emith(ptr @.str4308) call void @fn_emith(ptr @.str4309) call void @fn_emith(ptr @.str4310) call void @fn_emith(ptr @.str4311) call void @fn_emith(ptr @.str4312) call void @fn_emith(ptr @.str4313) br label %ret ret: ret void } define void @fn_emit_win_files() { entry: call void @fn_emith(ptr @.str4314) call void @fn_emith(ptr @.str4315) call void @fn_emith(ptr @.str4316) call void @fn_emith(ptr @.str4317) call void @fn_emith(ptr @.str4318) call void @fn_emith(ptr @.str4319) call void @fn_emith(ptr @.str4320) call void @fn_emith(ptr @.str4321) call void @fn_emith(ptr @.str4322) call void @fn_emith(ptr @.str4323) call void @fn_emith(ptr @.str4324) call void @fn_emith(ptr @.str4325) call void @fn_emith(ptr @.str4326) call void @fn_emith(ptr @.str4327) call void @fn_emith(ptr @.str4328) call void @fn_emith(ptr @.str4329) call void @fn_emith(ptr @.str4330) call void @fn_emith(ptr @.str4331) call void @fn_emith(ptr @.str4332) call void @fn_emith(ptr @.str4333) br label %ret ret: ret void } define void @fn_emit_win_dirs() { entry: call void @fn_emith(ptr @.str4334) call void @fn_emith(ptr @.str4335) call void @fn_emith(ptr @.str4336) call void @fn_emith(ptr @.str4337) call void @fn_emith(ptr @.str4338) call void @fn_emith(ptr @.str4339) call void @fn_emith(ptr @.str4340) call void @fn_emith(ptr @.str4341) call void @fn_emith(ptr @.str4342) call void @fn_emith(ptr @.str4343) call void @fn_emith(ptr @.str4344) call void @fn_emith(ptr @.str4345) call void @fn_emith(ptr @.str4346) call void @fn_emith(ptr @.str4347) br label %ret ret: ret void } define void @fn_emit_win_maps() { entry: call void @fn_emith(ptr @.str4348) call void @fn_emith(ptr @.str4349) call void @fn_emith(ptr @.str4350) call void @fn_emith(ptr @.str4351) call void @fn_emith(ptr @.str4352) call void @fn_emith(ptr @.str4353) call void @fn_emith(ptr @.str4354) call void @fn_emith(ptr @.str4355) call void @fn_emith(ptr @.str4356) call void @fn_emith(ptr @.str4357) call void @fn_emith(ptr @.str4358) call void @fn_emith(ptr @.str4359) call void @fn_emith(ptr @.str4360) call void @fn_emith(ptr @.str4361) call void @fn_emith(ptr @.str4362) br label %ret ret: ret void } define void @fn_emit_win_process() { entry: call void @fn_emith(ptr @.str4363) call void @fn_emith(ptr @.str4364) call void @fn_emith(ptr @.str4365) call void @fn_emith(ptr @.str4366) call void @fn_emith(ptr @.str4367) call void @fn_emith(ptr @.str4368) call void @fn_emith(ptr @.str4369) call void @fn_emith(ptr @.str4370) call void @fn_emith(ptr @.str4371) call void @fn_emith(ptr @.str4372) call void @fn_emith(ptr @.str4373) br label %ret ret: ret void } define void @fn_emit_os_win_known(ptr %arg_k_dot, ptr %arg_k_slash) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr %t5 = alloca ptr %t7 = alloca ptr %t9 = alloca ptr %t11 = alloca ptr %t13 = alloca ptr %t15 = alloca ptr store ptr %arg_k_dot, ptr %t0 store ptr %arg_k_slash, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str4374) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_str_const(ptr @.str4375) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str4376) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str4377) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str4378) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str4379) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str4380) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t3 %t17 = call ptr @lp_str_concat(ptr @.str4381, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4382) %t19 = load ptr, ptr %t0 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4383) call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str4384) call void @fn_emith(ptr @.str4385) call void @fn_emith(ptr @.str4386) call void @fn_emith(ptr @.str4387) %t22 = load ptr, ptr %t1 %t23 = call ptr @lp_str_concat(ptr @.str4388, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4389) call void @fn_emith(ptr %t24) %t25 = load ptr, ptr %t5 %t26 = call ptr @lp_str_concat(ptr @.str4390, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4391) call void @fn_emith(ptr %t27) %t28 = load ptr, ptr %t5 %t29 = call ptr @lp_str_concat(ptr @.str4392, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str4393) call void @fn_emith(ptr %t30) %t31 = load ptr, ptr %t7 %t32 = call ptr @lp_str_concat(ptr @.str4394, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4395) call void @fn_emith(ptr %t33) %t34 = load ptr, ptr %t9 %t35 = call ptr @lp_str_concat(ptr @.str4396, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4397) %t37 = load ptr, ptr %t0 %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str4398) %t40 = load ptr, ptr %t11 %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4399) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr %t13 %t44 = call ptr @lp_str_concat(ptr @.str4400, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4401) call void @fn_emith(ptr %t45) %t46 = load ptr, ptr %t15 %t47 = call ptr @lp_str_concat(ptr @.str4402, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4403) call void @fn_emith(ptr %t48) call void @fn_emith(ptr @.str4404) call void @fn_emith(ptr @.str4405) call void @fn_emith(ptr @.str4406) call void @fn_emith(ptr @.str4407) call void @fn_emith(ptr @.str4408) call void @fn_emith(ptr @.str4409) call void @fn_emith(ptr @.str4410) 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 @.str4411, 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 @.str4412, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4413) %t13 = load ptr, ptr %t9 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4414) %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 @.str4415) %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 @.str4416) %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 @.str4417) %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 @.str4418) %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 @.str4419) %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 @.str4420) %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 @.str4421) %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 @.str4422) %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 @.str4423) %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 @.str4424) %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 @.str4425) %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 @.str4426) %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 @.str4427) %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 @.str4428) %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 @.str4429) %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 @.str4430) %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 @.str4431) %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 @.str4432) %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 @.str4433, 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 @.str4434, 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 @.str4435, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4436) %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 @.str4437) store ptr %t26, ptr %t27 %t28 = call ptr @fn_lbl(ptr @.str4438) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str4439) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str4440) %t31 = load ptr, ptr %t27 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str4441) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str4442) %t33 = load ptr, ptr %t27 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str4443) %t34 = load ptr, ptr %t18 %t35 = call ptr @lp_str_concat(ptr @.str4444, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4445) %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 @.str4446, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4447) %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 @.str4448, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4449) %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 @.str4450, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4451) %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 @.str4452, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4453) %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 @.str4454, 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 @.str4455, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4456) %t73 = load ptr, ptr %t65 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4457) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 call void @fn_emit(ptr @.str4458) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str4459) %t79 = load ptr, ptr %t10 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str4460) call void @fn_emit(ptr @.str4461) %t80 = load ptr, ptr %t50 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str4462) %t81 = load ptr, ptr %t7 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str4463) call void @fn_emit(ptr @.str4464) %t82 = load ptr, ptr %t29 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str4465) %t83 = load ptr, ptr %t29 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str4466) 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 @.str4467, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str4468) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4469) %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 @.str4470, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4471) %t13 = load ptr, ptr %t5 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4472) %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 @.str4473, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4474) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4475) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str4476) %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str4477) %t35 = load ptr, ptr %t5 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4478) %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 @.str4479, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4480) %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 @.str4481, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4482) %t47 = load ptr, ptr %t2 %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4483) %t50 = load ptr, ptr %t0 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4484) %t53 = load ptr, ptr %t4 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str4485) %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 @.str4486, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4487) %t61 = load ptr, ptr %t2 %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4488) %t64 = load ptr, ptr %t0 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str4489) %t67 = load ptr, ptr %t5 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str4490) %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 @.str4491, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4492) %t79 = load ptr, ptr %t57 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4493) %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 @.str4494, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4495) %t88 = load ptr, ptr %t57 %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4496) %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 @.str4497, 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 @.str4498, 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 @.str4499, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4500) %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 @.str4501, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4502) %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 @.str4503, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4504) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = call ptr @fn_emit_alloca(ptr @.str4505) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str4506, ptr @.str4507, ptr %t41) %t42 = call ptr @fn_lbl(ptr @.str4508) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str4509) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str4510) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str4511) %t48 = load ptr, ptr %t43 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str4512) %t49 = load ptr, ptr %t43 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str4513) %t50 = load ptr, ptr %t40 %t51 = call ptr @lp_str_concat(ptr @.str4514, 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 @.str4515, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4516) %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 @.str4517) %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str4518) %t62 = load ptr, ptr %t45 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str4519) %t63 = load ptr, ptr %t47 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str4520) %t64 = load ptr, ptr %t45 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str4521) %t65 = load ptr, ptr %t53 %t66 = call ptr @lp_str_concat(ptr @.str4522, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4523) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = call ptr @fn_emit_alloca(ptr @.str4524) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 call void @fn_store_at(ptr @.str4525, ptr @.str4526, ptr %t72) %t73 = call ptr @fn_lbl(ptr @.str4527) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str4528) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str4529) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str4530) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str4531) %t80 = load ptr, ptr %t74 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str4532) %t81 = load ptr, ptr %t71 %t82 = call ptr @lp_str_concat(ptr @.str4533, 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 @.str4534, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4535) %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 @.str4536) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str4537) %t93 = load ptr, ptr %t76 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str4538) %t94 = load ptr, ptr %t78 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str4539) %t95 = load ptr, ptr %t76 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str4540) %t96 = load ptr, ptr %t84 %t97 = call ptr @lp_str_concat(ptr @.str4541, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str4542) %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 @.str4543, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str4544) %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 @.str4545, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4546) %t113 = load ptr, ptr %t102 %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str4547) %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 @.str4548, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4549) %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 @.str4550, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str4551) %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 @.str4552, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str4553) %t137 = load ptr, ptr %t126 %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str4554) %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 @.str4555) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t84 %t147 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str4556, ptr %t146, ptr %t147) %t148 = call ptr @fn_emit_alloca(ptr @.str4557) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t119 %t151 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str4558, ptr %t150, ptr %t151) %t152 = call ptr @fn_emit_alloca(ptr @.str4559) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t84 %t155 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str4560, ptr %t154, ptr %t155) %t156 = call ptr @fn_lbl(ptr @.str4561) store ptr %t156, ptr %t157 %t158 = call ptr @fn_lbl(ptr @.str4562) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str4563) store ptr %t160, ptr %t161 call void @fn_emit(ptr @.str4564) %t162 = load ptr, ptr %t157 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str4565) %t163 = load ptr, ptr %t157 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str4566) %t164 = load ptr, ptr %t145 %t165 = call ptr @lp_str_concat(ptr @.str4567, 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 @.str4568, 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 @.str4569, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str4570) %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 @.str4571, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str4572) %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 @.str4573, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str4574) %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 @.str4575) %t193 = load ptr, ptr %t192 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str4576) %t194 = load ptr, ptr %t159 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str4577) %t195 = load ptr, ptr %t161 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str4578) %t196 = load ptr, ptr %t159 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str4579) %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 @.str4580, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str4581) %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 @.str4582, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str4583) %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 @.str4584, 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 @.str4585) store ptr %t238, ptr %t239 %t240 = call ptr @fn_lbl(ptr @.str4586) store ptr %t240, ptr %t241 %t242 = call ptr @fn_lbl(ptr @.str4587) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str4588) %t244 = load ptr, ptr %t228 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str4589) %t245 = load ptr, ptr %t239 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str4590) %t246 = load ptr, ptr %t241 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str4591) %t247 = load ptr, ptr %t239 call void @fn_emit(ptr %t247) call void @fn_emit(ptr @.str4592) call void @fn_emit(ptr @.str4593) %t248 = load ptr, ptr %t1 call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str4594) %t249 = load ptr, ptr %t220 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str4595) %t250 = load ptr, ptr %t237 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str4596) %t251 = load ptr, ptr %t171 %t252 = call ptr @lp_str_concat(ptr @.str4597, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str4598) %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 @.str4599, ptr %t256, ptr %t257) call void @fn_emit(ptr @.str4600) %t258 = load ptr, ptr %t243 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str4601) %t259 = load ptr, ptr %t241 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str4602) call void @fn_emit(ptr @.str4603) %t260 = load ptr, ptr %t1 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str4604) %t261 = load ptr, ptr %t208 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str4605) %t262 = load ptr, ptr %t237 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str4606) %t263 = load ptr, ptr %t167 %t264 = call ptr @lp_str_concat(ptr @.str4607, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str4608) %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 @.str4609, ptr %t268, ptr %t269) call void @fn_emit(ptr @.str4610) %t270 = load ptr, ptr %t243 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str4611) %t271 = load ptr, ptr %t243 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str4612) %t272 = load ptr, ptr %t232 %t273 = call ptr @lp_str_concat(ptr @.str4613, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str4614) %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 @.str4615, ptr %t277, ptr %t278) call void @fn_emit(ptr @.str4616) %t279 = load ptr, ptr %t157 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str4617) %t280 = load ptr, ptr %t161 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str4618) %t281 = call ptr @fn_lbl(ptr @.str4619) store ptr %t281, ptr %t282 %t283 = call ptr @fn_lbl(ptr @.str4620) store ptr %t283, ptr %t284 %t285 = call ptr @fn_lbl(ptr @.str4621) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str4622) %t287 = load ptr, ptr %t282 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str4623) %t288 = load ptr, ptr %t282 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str4624) %t289 = load ptr, ptr %t145 %t290 = call ptr @lp_str_concat(ptr @.str4625, 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 @.str4626, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str4627) %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 @.str4628) %t300 = load ptr, ptr %t299 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str4629) %t301 = load ptr, ptr %t284 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str4630) %t302 = load ptr, ptr %t286 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str4631) %t303 = load ptr, ptr %t284 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str4632) %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 @.str4633, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str4634) %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 @.str4635, 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 @.str4636) %t325 = load ptr, ptr %t1 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str4637) %t326 = load ptr, ptr %t315 call void @fn_emit(ptr %t326) call void @fn_emit(ptr @.str4638) %t327 = load ptr, ptr %t324 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str4639) %t328 = load ptr, ptr %t292 %t329 = call ptr @lp_str_concat(ptr @.str4640, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str4641) %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 @.str4642, ptr %t333, ptr %t334) %t335 = load ptr, ptr %t319 %t336 = call ptr @lp_str_concat(ptr @.str4643, ptr %t335) %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str4644) %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 @.str4645, ptr %t340, ptr %t341) call void @fn_emit(ptr @.str4646) %t342 = load ptr, ptr %t282 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str4647) %t343 = load ptr, ptr %t286 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str4648) %t344 = call ptr @fn_lbl(ptr @.str4649) store ptr %t344, ptr %t345 %t346 = call ptr @fn_lbl(ptr @.str4650) store ptr %t346, ptr %t347 %t348 = call ptr @fn_lbl(ptr @.str4651) store ptr %t348, ptr %t349 call void @fn_emit(ptr @.str4652) %t350 = load ptr, ptr %t345 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str4653) %t351 = load ptr, ptr %t345 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str4654) %t352 = load ptr, ptr %t149 %t353 = call ptr @lp_str_concat(ptr @.str4655, 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 @.str4656, ptr %t356) %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str4657) %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 @.str4658) %t363 = load ptr, ptr %t362 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str4659) %t364 = load ptr, ptr %t347 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str4660) %t365 = load ptr, ptr %t349 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str4661) %t366 = load ptr, ptr %t347 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str4662) %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 @.str4663, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str4664) %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 @.str4665, 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 @.str4666) %t388 = load ptr, ptr %t1 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str4667) %t389 = load ptr, ptr %t378 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str4668) %t390 = load ptr, ptr %t387 call void @fn_emit(ptr %t390) call void @fn_emit(ptr @.str4669) %t391 = load ptr, ptr %t355 %t392 = call ptr @lp_str_concat(ptr @.str4670, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str4671) %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 @.str4672, ptr %t396, ptr %t397) %t398 = load ptr, ptr %t382 %t399 = call ptr @lp_str_concat(ptr @.str4673, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str4674) %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 @.str4675, ptr %t403, ptr %t404) call void @fn_emit(ptr @.str4676) %t405 = load ptr, ptr %t345 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str4677) %t406 = load ptr, ptr %t349 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str4678) %t407 = call ptr @fn_emit_alloca(ptr @.str4679) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t84 %t410 = load ptr, ptr %t408 call void @fn_store_at(ptr @.str4680, ptr %t409, ptr %t410) %t411 = call ptr @fn_lbl(ptr @.str4681) store ptr %t411, ptr %t412 %t413 = call ptr @fn_lbl(ptr @.str4682) store ptr %t413, ptr %t414 %t415 = call ptr @fn_lbl(ptr @.str4683) store ptr %t415, ptr %t416 call void @fn_emit(ptr @.str4684) %t417 = load ptr, ptr %t412 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str4685) %t418 = load ptr, ptr %t412 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str4686) %t419 = load ptr, ptr %t408 %t420 = call ptr @lp_str_concat(ptr @.str4687, 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 @.str4688, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str4689) %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 @.str4690) %t430 = load ptr, ptr %t429 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str4691) %t431 = load ptr, ptr %t414 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str4692) %t432 = load ptr, ptr %t416 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str4693) %t433 = load ptr, ptr %t414 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str4694) %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 @.str4695, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str4696) %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 @.str4697) %t451 = load ptr, ptr %t1 call void @fn_emit(ptr %t451) call void @fn_emit(ptr @.str4698) %t452 = load ptr, ptr %t445 call void @fn_emit(ptr %t452) call void @fn_emit(ptr @.str4699) %t453 = load ptr, ptr %t450 call void @fn_emit(ptr %t453) call void @fn_emit(ptr @.str4700) %t454 = load ptr, ptr %t422 %t455 = call ptr @lp_str_concat(ptr @.str4701, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str4702) %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 @.str4703, ptr %t459, ptr %t460) call void @fn_emit(ptr @.str4704) %t461 = load ptr, ptr %t412 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str4705) %t462 = load ptr, ptr %t416 call void @fn_emit(ptr %t462) call void @fn_emit(ptr @.str4706) %t463 = load ptr, ptr %t84 %t464 = call ptr @lp_str_concat(ptr @.str4707, ptr %t463) %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str4708) %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 @.str4709, ptr %t470, ptr %t471) call void @fn_emit(ptr @.str4710) %t472 = load ptr, ptr %t74 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str4711) %t473 = load ptr, ptr %t78 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str4712) %t474 = load ptr, ptr %t69 %t475 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str4713, ptr %t474, ptr %t475) call void @fn_emit(ptr @.str4714) %t476 = load ptr, ptr %t43 call void @fn_emit(ptr %t476) call void @fn_emit(ptr @.str4715) %t477 = load ptr, ptr %t47 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str4716) call void @fn_emit(ptr @.str4717) %t478 = load ptr, ptr %t38 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str4718) 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 @.str4719, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4720) 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 @.str4721, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4722) 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 @.str4723, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4724) %t46 = load ptr, ptr %t37 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4725) 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 @.str4726) %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 @.str4727) %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 @.str4728) %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 @.str4729) %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 @.str4730) 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 @.str4731, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4732) %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 @.str4733) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str4734) 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 @.str4735, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4736) 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 @.str4737) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str4738) %t86 = load ptr, ptr %t82 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str4739) %t87 = call ptr @fn_val(ptr @.str4740, ptr @.str4741) store ptr %t87, ptr %retval br label %ret ifend17: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str4742) %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 @.str4743) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t75 %t96 = call ptr @lp_str_concat(ptr @.str4744, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4745) %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 @.str4746) %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 @.str4747, 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 @.str4748, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4749) %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 @.str4750, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4751) %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 @.str4752) %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 @.str4753, 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 @.str4754, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str4755) %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 @.str4756, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str4757) %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 @.str4758) %t152 = load ptr, ptr %t139 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str4759) %t153 = load ptr, ptr %t82 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str4760) %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 @.str4761) %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 @.str4762, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str4763) %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 @.str4764, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str4765) %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 @.str4766) %t206 = load ptr, ptr %t75 call void @fn_emit(ptr %t206) call void @fn_emit(ptr @.str4767) %t207 = load ptr, ptr %t205 call void @fn_emit(ptr %t207) call void @fn_emit(ptr @.str4768) %t208 = load ptr, ptr %t184 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str4769) call void @fn_emit(ptr @.str4770) %t209 = load ptr, ptr %t75 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str4771) %t210 = load ptr, ptr %t198 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str4772) %t211 = load ptr, ptr %t191 call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str4773) %t212 = call ptr @fn_val(ptr @.str4774, ptr @.str4775) store ptr %t212, ptr %retval br label %ret ifend29: %t214 = load ptr, ptr %t0 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str4776) %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 @.str4777) %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 @.str4778, ptr %t233) %t235 = call ptr @fn_emit_bind(ptr %t234) store ptr %t235, ptr %t236 %t237 = call ptr @fn_emit_alloca(ptr @.str4779) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str4780, ptr @.str4781, ptr %t239) %t240 = call ptr @fn_emit_alloca(ptr @.str4782) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t241 call void @fn_store_at(ptr @.str4783, ptr @.str4784, ptr %t242) %t243 = call ptr @fn_lbl(ptr @.str4785) store ptr %t243, ptr %t244 %t245 = call ptr @fn_lbl(ptr @.str4786) store ptr %t245, ptr %t246 %t247 = call ptr @fn_lbl(ptr @.str4787) store ptr %t247, ptr %t248 %t249 = call ptr @fn_lbl(ptr @.str4788) store ptr %t249, ptr %t250 %t251 = call ptr @fn_lbl(ptr @.str4789) store ptr %t251, ptr %t252 call void @fn_emit(ptr @.str4790) %t253 = load ptr, ptr %t244 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str4791) %t254 = load ptr, ptr %t244 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str4792) %t255 = load ptr, ptr %t241 %t256 = call ptr @lp_str_concat(ptr @.str4793, 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 @.str4794, ptr %t259) %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str4795) %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 @.str4796) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str4797) %t267 = load ptr, ptr %t246 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str4798) %t268 = load ptr, ptr %t252 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str4799) %t269 = load ptr, ptr %t246 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str4800) %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 @.str4801, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str4802) %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 @.str4803, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str4804) %t285 = load ptr, ptr %t281 %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str4805) %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 @.str4806) %t294 = load ptr, ptr %t293 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str4807) %t295 = load ptr, ptr %t248 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str4808) %t296 = load ptr, ptr %t250 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str4809) %t297 = load ptr, ptr %t248 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str4810) %t298 = load ptr, ptr %t258 %t299 = load ptr, ptr %t238 call void @fn_store_at(ptr @.str4811, ptr %t298, ptr %t299) call void @fn_emit(ptr @.str4812) %t300 = load ptr, ptr %t252 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str4813) %t301 = load ptr, ptr %t250 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str4814) %t302 = load ptr, ptr %t258 %t303 = call ptr @lp_str_concat(ptr @.str4815, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str4816) %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 @.str4817, ptr %t307, ptr %t308) call void @fn_emit(ptr @.str4818) %t309 = load ptr, ptr %t244 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str4819) %t310 = load ptr, ptr %t252 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str4820) %t311 = load ptr, ptr %t238 %t312 = call ptr @lp_str_concat(ptr @.str4821, 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 @.str4822) %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 @.str4823) store ptr %t319, ptr %retval br label %ret ifend37: %t320 = load ptr, ptr %t314 %t321 = call ptr @lp_str_concat(ptr @.str4824, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str4825) %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 @.str4826, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str4827) %t328 = call ptr @fn_emit_bind(ptr %t327) %t329 = call ptr @fn_val(ptr %t328, ptr @.str4828) store ptr %t329, ptr %retval br label %ret ifend34: %t330 = load ptr, ptr %t0 %t331 = call i32 @lp_str_eq(ptr %t330, ptr @.str4829) %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 @.str4830, ptr %t353) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = call ptr @fn_emit_alloca(ptr @.str4831) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t356 %t360 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str4832, ptr %t359, ptr %t360) %t361 = call ptr @fn_lbl(ptr @.str4833) store ptr %t361, ptr %t362 %t363 = call ptr @fn_lbl(ptr @.str4834) store ptr %t363, ptr %t364 %t365 = call ptr @fn_lbl(ptr @.str4835) store ptr %t365, ptr %t366 call void @fn_emit(ptr @.str4836) %t367 = load ptr, ptr %t362 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str4837) %t368 = load ptr, ptr %t362 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str4838) %t369 = load ptr, ptr %t358 %t370 = call ptr @lp_str_concat(ptr @.str4839, 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 @.str4840, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str4841) %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 @.str4842) %t382 = load ptr, ptr %t381 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str4843) %t383 = load ptr, ptr %t364 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str4844) %t384 = load ptr, ptr %t366 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str4845) %t385 = load ptr, ptr %t364 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str4846) %t386 = load ptr, ptr %t372 %t387 = call ptr @lp_str_concat(ptr @.str4847, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str4848) %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 @.str4849, ptr %t396) %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str4850) %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 @.str4851) %t408 = load ptr, ptr %t75 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str4852) %t409 = load ptr, ptr %t402 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str4853) %t410 = load ptr, ptr %t407 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str4854) %t411 = load ptr, ptr %t390 %t412 = load ptr, ptr %t358 call void @fn_store_at(ptr @.str4855, ptr %t411, ptr %t412) call void @fn_emit(ptr @.str4856) %t413 = load ptr, ptr %t362 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str4857) %t414 = load ptr, ptr %t366 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str4858) %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 @.str4859) %t422 = load ptr, ptr %t75 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str4860) %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 @.str4861) %t426 = load ptr, ptr %t421 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str4862) %t427 = load ptr, ptr %t356 %t428 = call ptr @lp_str_concat(ptr @.str4863, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str4864) %t430 = call ptr @fn_emit_bind(ptr %t429) store ptr %t430, ptr %t431 call void @fn_emit(ptr @.str4865) %t432 = load ptr, ptr %t431 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str4866) %t433 = load ptr, ptr %t82 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str4867) %t434 = call ptr @fn_val(ptr @.str4868, ptr @.str4869) store ptr %t434, ptr %retval br label %ret ifend40: %t435 = load ptr, ptr %t0 %t436 = call i32 @lp_str_eq(ptr %t435, ptr @.str4870) %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 @.str4871, 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 @.str4872, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str4873) %t454 = call ptr @fn_emit_bind(ptr %t453) store ptr %t454, ptr %t455 %t456 = call ptr @fn_emit_alloca(ptr @.str4874) 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 @.str4875, ptr %t460, ptr %t461) %t462 = call ptr @fn_lbl(ptr @.str4876) store ptr %t462, ptr %t463 %t464 = call ptr @fn_lbl(ptr @.str4877) store ptr %t464, ptr %t465 %t466 = call ptr @fn_lbl(ptr @.str4878) store ptr %t466, ptr %t467 call void @fn_emit(ptr @.str4879) %t468 = load ptr, ptr %t463 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str4880) %t469 = load ptr, ptr %t463 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str4881) %t470 = load ptr, ptr %t457 %t471 = call ptr @lp_str_concat(ptr @.str4882, 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 @.str4883, ptr %t474) %t476 = call ptr @lp_str_concat(ptr %t475, ptr @.str4884) %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 @.str4885) %t481 = load ptr, ptr %t480 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str4886) %t482 = load ptr, ptr %t465 call void @fn_emit(ptr %t482) call void @fn_emit(ptr @.str4887) %t483 = load ptr, ptr %t467 call void @fn_emit(ptr %t483) call void @fn_emit(ptr @.str4888) %t484 = load ptr, ptr %t465 call void @fn_emit(ptr %t484) call void @fn_emit(ptr @.str4889) %t485 = load ptr, ptr %t473 %t486 = call ptr @lp_str_concat(ptr @.str4890, ptr %t485) %t487 = call ptr @lp_str_concat(ptr %t486, ptr @.str4891) %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 @.str4892, ptr %t495) %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str4893) %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 @.str4894) %t507 = load ptr, ptr %t75 call void @fn_emit(ptr %t507) call void @fn_emit(ptr @.str4895) %t508 = load ptr, ptr %t501 call void @fn_emit(ptr %t508) call void @fn_emit(ptr @.str4896) %t509 = load ptr, ptr %t506 call void @fn_emit(ptr %t509) call void @fn_emit(ptr @.str4897) %t510 = load ptr, ptr %t489 %t511 = load ptr, ptr %t457 call void @fn_store_at(ptr @.str4898, ptr %t510, ptr %t511) call void @fn_emit(ptr @.str4899) %t512 = load ptr, ptr %t463 call void @fn_emit(ptr %t512) call void @fn_emit(ptr @.str4900) %t513 = load ptr, ptr %t467 call void @fn_emit(ptr %t513) call void @fn_emit(ptr @.str4901) call void @fn_emit(ptr @.str4902) %t514 = load ptr, ptr %t455 call void @fn_emit(ptr %t514) call void @fn_emit(ptr @.str4903) %t515 = load ptr, ptr %t82 call void @fn_emit(ptr %t515) call void @fn_emit(ptr @.str4904) %t516 = call ptr @fn_val(ptr @.str4905, ptr @.str4906) store ptr %t516, ptr %retval br label %ret ifend43: %t517 = load ptr, ptr %t0 %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str4907) %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 @.str4908, ptr %t529) %t531 = call ptr @fn_emit_bind(ptr %t530) store ptr %t531, ptr %t532 %t533 = call ptr @fn_emit_alloca(ptr @.str4909) store ptr %t533, ptr %t534 %t535 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str4910, ptr @.str4911, ptr %t535) %t536 = call ptr @fn_emit_alloca(ptr @.str4912) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t537 call void @fn_store_at(ptr @.str4913, ptr @.str4914, ptr %t538) %t539 = call ptr @fn_lbl(ptr @.str4915) store ptr %t539, ptr %t540 %t541 = call ptr @fn_lbl(ptr @.str4916) store ptr %t541, ptr %t542 %t543 = call ptr @fn_lbl(ptr @.str4917) store ptr %t543, ptr %t544 %t545 = call ptr @fn_lbl(ptr @.str4918) store ptr %t545, ptr %t546 %t547 = call ptr @fn_lbl(ptr @.str4919) store ptr %t547, ptr %t548 call void @fn_emit(ptr @.str4920) %t549 = load ptr, ptr %t540 call void @fn_emit(ptr %t549) call void @fn_emit(ptr @.str4921) %t550 = load ptr, ptr %t540 call void @fn_emit(ptr %t550) call void @fn_emit(ptr @.str4922) %t551 = load ptr, ptr %t537 %t552 = call ptr @lp_str_concat(ptr @.str4923, 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 @.str4924, ptr %t555) %t557 = call ptr @lp_str_concat(ptr %t556, ptr @.str4925) %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 @.str4926, 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 @.str4927, ptr %t566) %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str4928) %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 @.str4929, ptr %t571) %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str4930) %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 @.str4931) %t578 = load ptr, ptr %t577 call void @fn_emit(ptr %t578) call void @fn_emit(ptr @.str4932) %t579 = load ptr, ptr %t542 call void @fn_emit(ptr %t579) call void @fn_emit(ptr @.str4933) %t580 = load ptr, ptr %t548 call void @fn_emit(ptr %t580) call void @fn_emit(ptr @.str4934) %t581 = load ptr, ptr %t542 call void @fn_emit(ptr %t581) call void @fn_emit(ptr @.str4935) %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 @.str4936, ptr %t587) %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str4937) %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 @.str4938, ptr %t594) %t596 = call ptr @lp_str_concat(ptr %t595, ptr @.str4939) %t597 = load ptr, ptr %t593 %t598 = call ptr @lp_str_concat(ptr %t596, ptr %t597) %t599 = call ptr @lp_str_concat(ptr %t598, ptr @.str4940) %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 @.str4941) %t606 = load ptr, ptr %t605 call void @fn_emit(ptr %t606) call void @fn_emit(ptr @.str4942) %t607 = load ptr, ptr %t544 call void @fn_emit(ptr %t607) call void @fn_emit(ptr @.str4943) %t608 = load ptr, ptr %t546 call void @fn_emit(ptr %t608) call void @fn_emit(ptr @.str4944) %t609 = load ptr, ptr %t544 call void @fn_emit(ptr %t609) call void @fn_emit(ptr @.str4945) %t610 = load ptr, ptr %t554 %t611 = load ptr, ptr %t534 call void @fn_store_at(ptr @.str4946, ptr %t610, ptr %t611) call void @fn_emit(ptr @.str4947) %t612 = load ptr, ptr %t540 call void @fn_emit(ptr %t612) call void @fn_emit(ptr @.str4948) %t613 = load ptr, ptr %t546 call void @fn_emit(ptr %t613) call void @fn_emit(ptr @.str4949) %t614 = load ptr, ptr %t554 %t615 = call ptr @lp_str_concat(ptr @.str4950, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str4951) %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 @.str4952, ptr %t619, ptr %t620) call void @fn_emit(ptr @.str4953) %t621 = load ptr, ptr %t540 call void @fn_emit(ptr %t621) call void @fn_emit(ptr @.str4954) %t622 = load ptr, ptr %t548 call void @fn_emit(ptr %t622) call void @fn_emit(ptr @.str4955) %t623 = load ptr, ptr %t534 %t624 = call ptr @lp_str_concat(ptr @.str4956, 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 @.str4957, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str4958) %t630 = call ptr @fn_emit_bind(ptr %t629) store ptr %t630, ptr %t631 %t632 = call ptr @fn_lbl(ptr @.str4959) store ptr %t632, ptr %t633 %t634 = call ptr @fn_lbl(ptr @.str4960) store ptr %t634, ptr %t635 call void @fn_emit(ptr @.str4961) %t636 = load ptr, ptr %t631 call void @fn_emit(ptr %t636) call void @fn_emit(ptr @.str4962) %t637 = load ptr, ptr %t633 call void @fn_emit(ptr %t637) call void @fn_emit(ptr @.str4963) %t638 = load ptr, ptr %t635 call void @fn_emit(ptr %t638) call void @fn_emit(ptr @.str4964) %t639 = load ptr, ptr %t633 call void @fn_emit(ptr %t639) call void @fn_emit(ptr @.str4965) %t640 = load ptr, ptr %t532 %t641 = call ptr @lp_str_concat(ptr @.str4966, ptr %t640) %t642 = call ptr @lp_str_concat(ptr %t641, ptr @.str4967) %t643 = call ptr @fn_emit_bind(ptr %t642) store ptr %t643, ptr %t644 %t645 = call ptr @fn_emit_alloca(ptr @.str4968) store ptr %t645, ptr %t646 %t647 = load ptr, ptr %t626 %t648 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str4969, ptr %t647, ptr %t648) %t649 = call ptr @fn_lbl(ptr @.str4970) store ptr %t649, ptr %t650 %t651 = call ptr @fn_lbl(ptr @.str4971) store ptr %t651, ptr %t652 %t653 = call ptr @fn_lbl(ptr @.str4972) store ptr %t653, ptr %t654 call void @fn_emit(ptr @.str4973) %t655 = load ptr, ptr %t650 call void @fn_emit(ptr %t655) call void @fn_emit(ptr @.str4974) %t656 = load ptr, ptr %t650 call void @fn_emit(ptr %t656) call void @fn_emit(ptr @.str4975) %t657 = load ptr, ptr %t646 %t658 = call ptr @lp_str_concat(ptr @.str4976, 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 @.str4977, ptr %t661) %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str4978) %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 @.str4979) %t668 = load ptr, ptr %t667 call void @fn_emit(ptr %t668) call void @fn_emit(ptr @.str4980) %t669 = load ptr, ptr %t652 call void @fn_emit(ptr %t669) call void @fn_emit(ptr @.str4981) %t670 = load ptr, ptr %t654 call void @fn_emit(ptr %t670) call void @fn_emit(ptr @.str4982) %t671 = load ptr, ptr %t652 call void @fn_emit(ptr %t671) call void @fn_emit(ptr @.str4983) %t672 = load ptr, ptr %t660 %t673 = call ptr @lp_str_concat(ptr @.str4984, ptr %t672) %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str4985) %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 @.str4986, ptr %t682) %t684 = call ptr @lp_str_concat(ptr %t683, ptr @.str4987) %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 @.str4988) %t694 = load ptr, ptr %t75 call void @fn_emit(ptr %t694) call void @fn_emit(ptr @.str4989) %t695 = load ptr, ptr %t688 call void @fn_emit(ptr %t695) call void @fn_emit(ptr @.str4990) %t696 = load ptr, ptr %t693 call void @fn_emit(ptr %t696) call void @fn_emit(ptr @.str4991) %t697 = load ptr, ptr %t676 %t698 = load ptr, ptr %t646 call void @fn_store_at(ptr @.str4992, ptr %t697, ptr %t698) call void @fn_emit(ptr @.str4993) %t699 = load ptr, ptr %t650 call void @fn_emit(ptr %t699) call void @fn_emit(ptr @.str4994) %t700 = load ptr, ptr %t654 call void @fn_emit(ptr %t700) call void @fn_emit(ptr @.str4995) call void @fn_emit(ptr @.str4996) %t701 = load ptr, ptr %t644 call void @fn_emit(ptr %t701) call void @fn_emit(ptr @.str4997) %t702 = load ptr, ptr %t82 call void @fn_emit(ptr %t702) call void @fn_emit(ptr @.str4998) call void @fn_emit(ptr @.str4999) %t703 = load ptr, ptr %t635 call void @fn_emit(ptr %t703) call void @fn_emit(ptr @.str5000) %t704 = load ptr, ptr %t635 call void @fn_emit(ptr %t704) call void @fn_emit(ptr @.str5001) %t705 = call ptr @fn_val(ptr @.str5002, ptr @.str5003) store ptr %t705, ptr %retval br label %ret ifend46: %t706 = load ptr, ptr %t0 %t707 = call i32 @lp_str_eq(ptr %t706, ptr @.str5004) %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 @.str5005, 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 @.str5006, ptr %t713) %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str5007) %t716 = call ptr @fn_emit_bind(ptr %t715) store ptr %t716, ptr %t717 %t718 = call ptr @fn_lbl(ptr @.str5008) store ptr %t718, ptr %t719 %t720 = call ptr @fn_lbl(ptr @.str5009) store ptr %t720, ptr %t721 %t722 = call ptr @fn_lbl(ptr @.str5010) store ptr %t722, ptr %t723 call void @fn_emit(ptr @.str5011) %t724 = load ptr, ptr %t717 call void @fn_emit(ptr %t724) call void @fn_emit(ptr @.str5012) %t725 = load ptr, ptr %t719 call void @fn_emit(ptr %t725) call void @fn_emit(ptr @.str5013) %t726 = load ptr, ptr %t721 call void @fn_emit(ptr %t726) call void @fn_emit(ptr @.str5014) %t727 = load ptr, ptr %t719 call void @fn_emit(ptr %t727) call void @fn_emit(ptr @.str5015) %t728 = load ptr, ptr %t82 %t729 = call ptr @lp_str_concat(ptr @.str5016, ptr %t728) %t730 = call ptr @fn_emit_bind(ptr %t729) store ptr %t730, ptr %t731 %t732 = call ptr @fn_emit_alloca(ptr @.str5017) store ptr %t732, ptr %t733 %t734 = load ptr, ptr %t733 call void @fn_store_at(ptr @.str5018, ptr @.str5019, ptr %t734) %t735 = call ptr @fn_lbl(ptr @.str5020) store ptr %t735, ptr %t736 %t737 = call ptr @fn_lbl(ptr @.str5021) store ptr %t737, ptr %t738 %t739 = call ptr @fn_lbl(ptr @.str5022) store ptr %t739, ptr %t740 call void @fn_emit(ptr @.str5023) %t741 = load ptr, ptr %t736 call void @fn_emit(ptr %t741) call void @fn_emit(ptr @.str5024) %t742 = load ptr, ptr %t736 call void @fn_emit(ptr %t742) call void @fn_emit(ptr @.str5025) %t743 = load ptr, ptr %t733 %t744 = call ptr @lp_str_concat(ptr @.str5026, 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 @.str5027, ptr %t747) %t749 = call ptr @lp_str_concat(ptr %t748, ptr @.str5028) %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 @.str5029) %t754 = load ptr, ptr %t753 call void @fn_emit(ptr %t754) call void @fn_emit(ptr @.str5030) %t755 = load ptr, ptr %t738 call void @fn_emit(ptr %t755) call void @fn_emit(ptr @.str5031) %t756 = load ptr, ptr %t740 call void @fn_emit(ptr %t756) call void @fn_emit(ptr @.str5032) %t757 = load ptr, ptr %t738 call void @fn_emit(ptr %t757) call void @fn_emit(ptr @.str5033) %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 @.str5034, ptr %t763) %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str5035) %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 @.str5036) store ptr %t770, ptr %t771 %t772 = load ptr, ptr %t746 %t773 = call ptr @lp_str_concat(ptr @.str5037, ptr %t772) %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str5038) %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 @.str5039, ptr %t777, ptr %t778) %t779 = call ptr @fn_lbl(ptr @.str5040) store ptr %t779, ptr %t780 %t781 = call ptr @fn_lbl(ptr @.str5041) store ptr %t781, ptr %t782 %t783 = call ptr @fn_lbl(ptr @.str5042) store ptr %t783, ptr %t784 call void @fn_emit(ptr @.str5043) %t785 = load ptr, ptr %t780 call void @fn_emit(ptr %t785) call void @fn_emit(ptr @.str5044) %t786 = load ptr, ptr %t780 call void @fn_emit(ptr %t786) call void @fn_emit(ptr @.str5045) %t787 = load ptr, ptr %t771 %t788 = call ptr @lp_str_concat(ptr @.str5046, 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 @.str5047, ptr %t791) %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str5048) %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 @.str5049, ptr %t801) %t803 = call ptr @lp_str_concat(ptr %t802, ptr @.str5050) %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 @.str5051, ptr %t808) %t810 = call ptr @lp_str_concat(ptr %t809, ptr @.str5052) %t811 = load ptr, ptr %t807 %t812 = call ptr @lp_str_concat(ptr %t810, ptr %t811) %t813 = call ptr @lp_str_concat(ptr %t812, ptr @.str5053) %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 @.str5054, ptr %t818) %t820 = call ptr @lp_str_concat(ptr %t819, ptr @.str5055) %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 @.str5056) %t825 = load ptr, ptr %t824 call void @fn_emit(ptr %t825) call void @fn_emit(ptr @.str5057) %t826 = load ptr, ptr %t782 call void @fn_emit(ptr %t826) call void @fn_emit(ptr @.str5058) %t827 = load ptr, ptr %t784 call void @fn_emit(ptr %t827) call void @fn_emit(ptr @.str5059) %t828 = load ptr, ptr %t782 call void @fn_emit(ptr %t828) call void @fn_emit(ptr @.str5060) %t829 = load ptr, ptr %t790 %t830 = call ptr @lp_str_concat(ptr @.str5061, ptr %t829) %t831 = call ptr @lp_str_concat(ptr %t830, ptr @.str5062) %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 @.str5063) %t839 = load ptr, ptr %t75 call void @fn_emit(ptr %t839) call void @fn_emit(ptr @.str5064) %t840 = load ptr, ptr %t807 call void @fn_emit(ptr %t840) call void @fn_emit(ptr @.str5065) %t841 = load ptr, ptr %t838 call void @fn_emit(ptr %t841) call void @fn_emit(ptr @.str5066) %t842 = load ptr, ptr %t790 %t843 = call ptr @lp_str_concat(ptr @.str5067, ptr %t842) %t844 = call ptr @lp_str_concat(ptr %t843, ptr @.str5068) %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 @.str5069, ptr %t847, ptr %t848) call void @fn_emit(ptr @.str5070) %t849 = load ptr, ptr %t780 call void @fn_emit(ptr %t849) call void @fn_emit(ptr @.str5071) %t850 = load ptr, ptr %t784 call void @fn_emit(ptr %t850) call void @fn_emit(ptr @.str5072) %t851 = load ptr, ptr %t771 %t852 = call ptr @lp_str_concat(ptr @.str5073, 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 @.str5074, ptr %t855) %t857 = call ptr @lp_str_concat(ptr %t856, ptr @.str5075) %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 @.str5076) %t865 = load ptr, ptr %t75 call void @fn_emit(ptr %t865) call void @fn_emit(ptr @.str5077) %t866 = load ptr, ptr %t769 call void @fn_emit(ptr %t866) call void @fn_emit(ptr @.str5078) %t867 = load ptr, ptr %t864 call void @fn_emit(ptr %t867) call void @fn_emit(ptr @.str5079) %t868 = load ptr, ptr %t746 %t869 = call ptr @lp_str_concat(ptr @.str5080, ptr %t868) %t870 = call ptr @lp_str_concat(ptr %t869, ptr @.str5081) %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 @.str5082, ptr %t873, ptr %t874) call void @fn_emit(ptr @.str5083) %t875 = load ptr, ptr %t736 call void @fn_emit(ptr %t875) call void @fn_emit(ptr @.str5084) %t876 = load ptr, ptr %t740 call void @fn_emit(ptr %t876) call void @fn_emit(ptr @.str5085) call void @fn_emit(ptr @.str5086) %t877 = load ptr, ptr %t723 call void @fn_emit(ptr %t877) call void @fn_emit(ptr @.str5087) %t878 = load ptr, ptr %t721 call void @fn_emit(ptr %t878) call void @fn_emit(ptr @.str5088) %t879 = load ptr, ptr %t79 %t880 = load ptr, ptr %t75 call void @fn_emit_merge_sort(ptr %t879, ptr %t880, i32 3, ptr @.str5089, ptr @.str5090) call void @fn_emit(ptr @.str5091) %t881 = load ptr, ptr %t723 call void @fn_emit(ptr %t881) call void @fn_emit(ptr @.str5092) %t882 = load ptr, ptr %t723 call void @fn_emit(ptr %t882) call void @fn_emit(ptr @.str5093) %t883 = call ptr @fn_val(ptr @.str5094, ptr @.str5095) store ptr %t883, ptr %retval br label %ret ifend49: %t884 = load ptr, ptr %t0 %t885 = call i32 @lp_str_eq(ptr %t884, ptr @.str5096) %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 @.str5097, ptr %t899) %t901 = call ptr @lp_str_concat(ptr %t900, ptr @.str5098) 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 @.str5099) %t905 = call ptr @fn_val(ptr @.str5100, ptr @.str5101) store ptr %t905, ptr %retval br label %ret ifend52: %t907 = load ptr, ptr %t0 %t908 = call i32 @lp_str_eq(ptr %t907, ptr @.str5102) %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 @.str5103) %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 @.str5104, ptr %t931) %t933 = call ptr @lp_str_concat(ptr %t932, ptr @.str5105) %t934 = load ptr, ptr %t920 %t935 = call ptr @lp_str_concat(ptr %t933, ptr %t934) %t936 = call ptr @lp_str_concat(ptr %t935, ptr @.str5106) 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 @.str5107) %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 @.str5108) %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 @.str5109, ptr %t953) %t955 = call ptr @lp_str_concat(ptr %t954, ptr @.str5110) %t956 = load ptr, ptr %t920 %t957 = call ptr @lp_str_concat(ptr %t955, ptr %t956) %t958 = call ptr @lp_str_concat(ptr %t957, ptr @.str5111) 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 @.str5112) %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 @.str5113, ptr @.str5114) store ptr %t968, ptr %retval br label %ret ifend60: %t969 = load ptr, ptr %t82 %t970 = call ptr @lp_str_concat(ptr @.str5115, ptr %t969) %t971 = call ptr @fn_emit_bind(ptr %t970) store ptr %t971, ptr %t972 %t973 = call ptr @fn_emit_alloca(ptr @.str5116) store ptr %t973, ptr %t974 %t975 = load ptr, ptr %t974 call void @fn_store_at(ptr @.str5117, ptr @.str5118, ptr %t975) %t976 = call ptr @fn_emit_alloca(ptr @.str5119) store ptr %t976, ptr %t977 %t978 = load ptr, ptr %t972 %t979 = call ptr @lp_str_concat(ptr @.str5120, ptr %t978) %t980 = call ptr @lp_str_concat(ptr %t979, ptr @.str5121) %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 @.str5122, ptr %t983, ptr %t984) %t985 = call ptr @fn_lbl(ptr @.str5123) store ptr %t985, ptr %t986 %t987 = call ptr @fn_lbl(ptr @.str5124) store ptr %t987, ptr %t988 %t989 = call ptr @fn_lbl(ptr @.str5125) store ptr %t989, ptr %t990 call void @fn_emit(ptr @.str5126) %t991 = load ptr, ptr %t986 call void @fn_emit(ptr %t991) call void @fn_emit(ptr @.str5127) %t992 = load ptr, ptr %t986 call void @fn_emit(ptr %t992) call void @fn_emit(ptr @.str5128) %t993 = load ptr, ptr %t974 %t994 = call ptr @lp_str_concat(ptr @.str5129, 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 @.str5130, 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 @.str5131, ptr %t1001) %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str5132) %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 @.str5133) %t1008 = load ptr, ptr %t1007 call void @fn_emit(ptr %t1008) call void @fn_emit(ptr @.str5134) %t1009 = load ptr, ptr %t988 call void @fn_emit(ptr %t1009) call void @fn_emit(ptr @.str5135) %t1010 = load ptr, ptr %t990 call void @fn_emit(ptr %t1010) call void @fn_emit(ptr @.str5136) %t1011 = load ptr, ptr %t988 call void @fn_emit(ptr %t1011) call void @fn_emit(ptr @.str5137) %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 @.str5138, ptr %t1022) %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str5139) %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 @.str5140, ptr %t1029) %t1031 = call ptr @lp_str_concat(ptr %t1030, ptr @.str5141) %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 @.str5142) %t1036 = load ptr, ptr %t75 call void @fn_emit(ptr %t1036) call void @fn_emit(ptr @.str5143) %t1037 = load ptr, ptr %t1035 call void @fn_emit(ptr %t1037) call void @fn_emit(ptr @.str5144) %t1038 = load ptr, ptr %t1016 call void @fn_emit(ptr %t1038) call void @fn_emit(ptr @.str5145) call void @fn_emit(ptr @.str5146) %t1039 = load ptr, ptr %t75 call void @fn_emit(ptr %t1039) call void @fn_emit(ptr @.str5147) %t1040 = load ptr, ptr %t1028 call void @fn_emit(ptr %t1040) call void @fn_emit(ptr @.str5148) %t1041 = load ptr, ptr %t1021 call void @fn_emit(ptr %t1041) call void @fn_emit(ptr @.str5149) %t1042 = load ptr, ptr %t996 %t1043 = call ptr @lp_str_concat(ptr @.str5150, ptr %t1042) %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str5151) %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 @.str5152, ptr %t1047, ptr %t1048) %t1049 = load ptr, ptr %t1000 %t1050 = call ptr @lp_str_concat(ptr @.str5153, ptr %t1049) %t1051 = call ptr @lp_str_concat(ptr %t1050, ptr @.str5154) %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 @.str5155, ptr %t1054, ptr %t1055) call void @fn_emit(ptr @.str5156) %t1056 = load ptr, ptr %t986 call void @fn_emit(ptr %t1056) call void @fn_emit(ptr @.str5157) %t1057 = load ptr, ptr %t990 call void @fn_emit(ptr %t1057) call void @fn_emit(ptr @.str5158) %t1058 = call ptr @fn_val(ptr @.str5159, ptr @.str5160) 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 @.str5161) %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 @.str5162) %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 @.str5163) %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 @.str5164) %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 @.str5165) %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 @.str5166) %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 @.str5167) 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 @.str5168, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5169) %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 @.str5170, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5171) %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 @.str5172, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5173) %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 @.str5174, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5175) %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 @.str5176, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5177) %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 @.str5178, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str5179) %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 @.str5180, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5181) %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 @.str5182, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str5183) %t51 = load ptr, ptr %t29 %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5184) %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 @.str5185, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5186) %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 @.str5187, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5188) %t66 = load ptr, ptr %t16 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str5189) %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 @.str5190, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5191) %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 @.str5192, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str5193) %t81 = load ptr, ptr %t3 %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5194) %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 @.str5195, 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 @.str5196, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str5197) %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 @.str5198, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str5199) %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 @.str5200, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5201) %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 @.str5202) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t60 %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str5203) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t67 %t72 = call ptr @lp_str_concat(ptr @.str5204, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5205) %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 @.str5206, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5207) %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 @.str5208, 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 @.str5209, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5210) %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 @.str5211, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5212) %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 @.str5213) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str5214, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5215) %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 @.str5216, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5217) %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 @.str5218) %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 @.str5219) store ptr %t18, ptr %retval br label %ret ifend2: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str5220) %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 @.str5221) store ptr %t26, ptr %retval br label %ret ifend5: %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str5222) %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 @.str5223) store ptr %t34, ptr %retval br label %ret ifend8: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str5224) %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 @.str5225) store ptr %t42, ptr %retval br label %ret ifend11: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str5226) %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 @.str5227) 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 @.str5228) 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 @.str5229) %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 @.str5230) %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 @.str5231) %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 @.str5232) %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 @.str5233) %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 @.str5234) %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 @.str5235) %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 @.str5236, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5237) %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 @.str5238, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5239) %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 @.str5240, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5241) %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 @.str5242, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5243) %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 @.str5244, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str5245) %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 @.str5246, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5247) %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 @.str5248, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5249) %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 @.str5250) %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 @.str5251, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5252) %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 @.str5253) store ptr %t51, ptr %retval br label %ret ifend2: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str5254) %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 @.str5255, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str5256) %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 @.str5257, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str5258) %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 @.str5259, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str5260) %t107 = load ptr, ptr %t89 %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str5261) %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 @.str5262) store ptr %t113, ptr %retval br label %ret ifend5: %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str5263) %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 @.str5264, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str5265) %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 @.str5266, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str5267) %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 @.str5268, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str5269) %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 @.str5270, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str5271) %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 @.str5272, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5273) %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 @.str5274, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str5275) %t193 = load ptr, ptr %t173 %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5276) %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 @.str5277) store ptr %t199, ptr %retval br label %ret ifend8: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str5278) %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 @.str5279, ptr %t238) %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str5280) %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 @.str5281, ptr %t247) %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str5282) %t250 = call ptr @fn_emit_bind(ptr %t249) %t251 = call ptr @fn_val(ptr %t250, ptr @.str5283) store ptr %t251, ptr %retval br label %ret ifend11: %t252 = load ptr, ptr %t0 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str5284) %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 @.str5285, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5286) %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 @.str5287, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5288) %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 @.str5289) store ptr %t291, ptr %retval br label %ret ifend14: %t292 = load ptr, ptr %t0 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str5290) %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 @.str5291, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str5292) %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 @.str5293, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str5294) %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 @.str5295) 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 @.str5296, ptr %t379) %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str5297) %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 @.str5298, ptr %t386) %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str5299) %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 @.str5300) 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 @.str5301) %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 @.str5302) %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 @.str5303) %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 @.str5304) %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 @.str5305) %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 @.str5306) %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 @.str5307) %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 @.str5308) %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 @.str5309) %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 @.str5310, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5311) %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 @.str5312, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5313) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5314) %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 @.str5315) %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 @.str5316, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5317) %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 @.str5318, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5319) %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 @.str5320) %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 @.str5321, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5322) %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 @.str5323, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5324) %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 @.str5325, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5326) %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 @.str5327, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5328) %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 @.str5329, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5330) %t73 = load ptr, ptr %t69 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5331) %t76 = call ptr @fn_emit_bind(ptr %t75) %t77 = call ptr @fn_val(ptr %t76, ptr @.str5332) store ptr %t77, ptr %retval br label %ret ifend2: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str5333) %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 @.str5334, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5335) %t113 = call ptr @fn_emit_bind(ptr %t112) %t114 = call ptr @fn_val(ptr %t113, ptr @.str5336) store ptr %t114, ptr %retval br label %ret ifend5: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str5337) %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 @.str5338, ptr %t147) %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str5339) %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 @.str5340, 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 @.str5341, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str5342) %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 @.str5343, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5344) %t164 = load ptr, ptr %t151 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5345) %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 @.str5346) store ptr %t170, ptr %retval br label %ret ifend8: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str5347) %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 @.str5348, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5349) %t196 = call ptr @fn_emit_bind(ptr %t195) %t197 = call ptr @fn_val(ptr %t196, ptr @.str5350) 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 @.str5351, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str5352) %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 @.str5353, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str5354) %t230 = call ptr @fn_emit_bind(ptr %t229) %t231 = call ptr @fn_val(ptr %t230, ptr @.str5355) store ptr %t231, ptr %retval br label %ret ifend11: %t232 = load ptr, ptr %t0 %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str5356) %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 @.str5357) 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 @.str5358) store ptr %t265, ptr %retval br label %ret ifend17: %t266 = load ptr, ptr %t0 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str5359) %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 @.str5360) store ptr %t306, ptr %retval br label %ret ifend23: %t307 = load ptr, ptr %t0 %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str5361) %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 @.str5362, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str5363) %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 @.str5364, ptr %t348) %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str5365) %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 @.str5366, ptr %t355) %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str5367) %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 @.str5368, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5369) %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 @.str5370, ptr %t367) %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str5371) %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 @.str5372, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5373) %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 @.str5374, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str5375) %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 @.str5376, ptr %t384) %t386 = call ptr @lp_str_concat(ptr %t385, ptr @.str5377) %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 @.str5378) store ptr %t390, ptr %retval br label %ret ifend26: %t391 = load ptr, ptr %t0 %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str5379) %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 @.str5380) 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 @.str5381) %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 @.str5382) %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 @.str5383) %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 @.str5384) %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 @.str5385) %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 @.str5386) %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 @.str5387) 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 @.str5388) %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 @.str5389) %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 @.str5390) %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 @.str5391) %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 @.str5392, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5393) %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 @.str5394, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5395) %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 @.str5396, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5397) %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 @.str5398, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5399) %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 @.str5400, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5401) %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 @.str5402, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5403) %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 @.str5404, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5405) %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5406) %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 @.str5407, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5408) %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 @.str5409, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str5410) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5411) %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 @.str5412) %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 @.str5413, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str5414) %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 @.str5415, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5416) %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 @.str5417, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str5418) %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 @.str5419, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5420) %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 @.str5421, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str5422) %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 @.str5423, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5424) %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 @.str5425, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str5426) %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 @.str5427, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str5428) %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 @.str5429, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str5430) %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 @.str5431, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5432) %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 @.str5433, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str5434) %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 @.str5435, ptr %t178) %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str5436) %t181 = call ptr @fn_emit_bind(ptr %t180) %t182 = call ptr @fn_val(ptr %t181, ptr @.str5437) store ptr %t182, ptr %retval br label %ret ifend2: %t183 = load ptr, ptr %t0 %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str5438) %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 @.str5439, ptr %t242) %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str5440) %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 @.str5441, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5442) %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 @.str5443, ptr %t264) %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str5444) %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 @.str5445, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5446) %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 @.str5447, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str5448) %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 @.str5449, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str5450) %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 @.str5451, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5452) %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 @.str5453, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5454) %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 @.str5455, ptr %t316) %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str5456) %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 @.str5457, ptr %t323) %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str5458) %t326 = call ptr @fn_emit_bind(ptr %t325) %t327 = call ptr @fn_val(ptr %t326, ptr @.str5459) store ptr %t327, ptr %retval br label %ret ifend5: %t328 = load ptr, ptr %t0 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str5460) %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 @.str5461, ptr %t387) %t389 = call ptr @lp_str_concat(ptr %t388, ptr @.str5462) %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 @.str5463, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5464) %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 @.str5465, ptr %t413) %t415 = call ptr @lp_str_concat(ptr %t414, ptr @.str5466) %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 @.str5467, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str5468) %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 @.str5469, ptr %t427) %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5470) %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 @.str5471, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str5472) %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 @.str5473, ptr %t441) %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str5474) %t444 = call ptr @fn_emit_bind(ptr %t443) %t445 = call ptr @fn_val(ptr %t444, ptr @.str5475) 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 @.str5476, ptr %t511) %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str5477) %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 @.str5478, ptr %t522) %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str5479) %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 @.str5480, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str5481) %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 @.str5482, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str5483) %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 @.str5484, ptr %t573) %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str5485) %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 @.str5486, ptr %t578) %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str5487) %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 @.str5488, ptr %t585) %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str5489) %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 @.str5490, ptr %t592) %t594 = call ptr @lp_str_concat(ptr %t593, ptr @.str5491) %t595 = call ptr @fn_emit_bind(ptr %t594) %t596 = call ptr @fn_val(ptr %t595, ptr @.str5492) 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 @.str5493) %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 @.str5494) %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 @.str5495) %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 @.str5496) %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 @.str5497) %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 @.str5498) %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 @.str5499) %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 @.str5500, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5501) %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 @.str5502, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str5503) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = call ptr @fn_val(ptr %t24, ptr @.str5504) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5505) %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 @.str5506, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5507) %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 @.str5508, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5509) %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 @.str5510, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5511) %t53 = call ptr @fn_emit_bind(ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str5512) store ptr %t54, ptr %retval br label %ret ifend5: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5513) %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 @.str5514, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str5515) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str5516) %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 @.str5517) %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 @.str5518) %t98 = load ptr, ptr %t91 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str5519) %t99 = call ptr @fn_val(ptr @.str5520, ptr @.str5521) store ptr %t99, ptr %retval br label %ret ifend8: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5522) %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 @.str5523, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5524) %t135 = call ptr @fn_emit_bind(ptr %t134) store ptr %t135, ptr %t136 call void @fn_emit(ptr @.str5525) %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 @.str5526) %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 @.str5527) %t143 = load ptr, ptr %t136 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str5528) %t144 = call ptr @fn_val(ptr @.str5529, ptr @.str5530) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str5531) %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 @.str5532, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str5533) %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 @.str5534, 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 @.str5535, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5536) %t184 = call ptr @fn_emit_bind(ptr %t183) %t185 = call ptr @fn_val(ptr %t184, ptr @.str5537) 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 @.str5538, ptr %t215) %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str5539) %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 @.str5540, ptr %t226) %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str5541) %t229 = call ptr @fn_emit_bind(ptr %t228) store ptr %t229, ptr %t230 call void @fn_emit(ptr @.str5542) %t231 = load ptr, ptr %t230 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str5543) %t232 = load ptr, ptr %t223 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str5544) %t233 = call ptr @fn_val(ptr @.str5545, ptr @.str5546) 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 @.str5547) %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 @.str5548) %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 @.str5549) %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 @.str5550) %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 @.str5551) %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 @.str5552) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str5553) %t6 = call ptr @fn_val(ptr %t5, ptr @.str5554) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5555) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_val(ptr @.str5556, ptr @.str5557) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5558) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = call ptr @fn_emit_bind(ptr @.str5559) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str5560, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5561) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str5562) store ptr %t20, ptr %retval br label %ret ifend8: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str5563) %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 @.str5564) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr @.str5565, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5566) %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 @.str5567, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5568) %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 @.str5569) store ptr %t48, ptr %retval br label %ret ifend11: %t49 = call ptr @fn_emit_bind(ptr @.str5570) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = call ptr @lp_str_concat(ptr @.str5571, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5572) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str5573) 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 @.str5574) %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 @.str5575) %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 @.str5576) %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 @.str5577) %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 @.str5578) %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 @.str5579) %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 @.str5580) %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 @.str5581) %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 @.str5582) %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 @.str5583) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str5584) %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 @.str5585, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str5586) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str5587) store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str5588) %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 @.str5589, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str5590) %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = call ptr @fn_val(ptr %t36, ptr @.str5591) store ptr %t37, ptr %retval br label %ret ifend8: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str5592) %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 @.str5593, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5594) %t46 = call ptr @fn_emit_bind(ptr %t45) %t47 = call ptr @fn_val(ptr %t46, ptr @.str5595) store ptr %t47, ptr %retval br label %ret ifend11: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str5596) %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 @.str5597) store ptr %t54, ptr %retval br label %ret ifend14: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5598) %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 @.str5599, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str5600) %t63 = call ptr @fn_emit_bind(ptr %t62) %t64 = call ptr @fn_val(ptr %t63, ptr @.str5601) store ptr %t64, ptr %retval br label %ret ifend17: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str5602) %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 @.str5603, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5604) %t73 = call ptr @fn_emit_bind(ptr %t72) %t74 = call ptr @fn_val(ptr %t73, ptr @.str5605) 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 @.str5606, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str5607) %t80 = call ptr @fn_emit_bind(ptr %t79) %t81 = call ptr @fn_val(ptr %t80, ptr @.str5608) 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 @.str5609) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_alloca(ptr @.str5610) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_alloca(ptr @.str5611) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str5612, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5613) %t11 = load ptr, ptr %t3 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5614) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str5615) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5616) 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 @.str5617, 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 @.str5618) %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 @.str5619) %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 @.str5620) %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 @.str5621) %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 @.str5622) %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 @.str5623) %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 @.str5624) %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 @.str5625) %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 @.str5626) %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 @.str5627) %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 @.str5628) %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 @.str5629, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str5630) %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 @.str5631) %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 @.str5632) %t47 = call ptr @fn_emit_bind(ptr %t46) %t48 = call ptr @fn_val(ptr %t47, ptr @.str5633) store ptr %t48, ptr %retval br label %ret ifend2: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5634) %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 @.str5635) store ptr %t65, ptr %retval br label %ret ifend5: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str5636) %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 @.str5637) store ptr %t82, ptr %retval br label %ret ifend8: %t83 = load ptr, ptr %t0 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str5638) %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 @.str5639) store ptr %t99, ptr %retval br label %ret ifend11: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5640) %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 @.str5641, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str5642) %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 @.str5643, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str5644) %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 @.str5645, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5646) %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 @.str5647, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str5648) %t132 = call ptr @fn_emit_bind(ptr %t131) %t133 = call ptr @fn_val(ptr %t132, ptr @.str5649) store ptr %t133, ptr %retval br label %ret ifend14: %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str5650) %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 @.str5651, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str5652) %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 @.str5653, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str5654) %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 @.str5655, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str5656) %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 @.str5657, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str5658) %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 @.str5659, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5660) %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 @.str5661, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str5662) %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 @.str5663, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str5664) %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 @.str5665, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str5666) %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 @.str5667, ptr %t196) %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str5668) %t199 = call ptr @fn_emit_bind(ptr %t198) %t200 = call ptr @fn_val(ptr %t199, ptr @.str5669) store ptr %t200, ptr %retval br label %ret ifend17: %t201 = load ptr, ptr %t0 %t202 = call i32 @lp_str_eq(ptr %t201, ptr @.str5670) %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 @.str5671, ptr %t224) %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str5672) %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 @.str5673) %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 @.str5674, ptr %t236) %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str5675) %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 @.str5676, ptr %t243) %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str5677) %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 @.str5678, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str5679) %t251 = load ptr, ptr %t247 %t252 = call ptr @lp_str_concat(ptr %t250, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str5680) %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 @.str5681, ptr %t262) %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str5682) %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 @.str5683, ptr %t267) %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str5684) %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 @.str5685, ptr %t274) %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str5686) %t277 = load ptr, ptr %t273 %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str5687) %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 @.str5688, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str5689) %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 @.str5690) store ptr %t288, ptr %retval br label %ret ifend20: %t289 = load ptr, ptr %t0 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str5691) %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 @.str5692, ptr %t303) %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str5693) %t306 = call ptr @fn_emit_bind(ptr %t305) %t307 = call ptr @fn_val(ptr %t306, ptr @.str5694) store ptr %t307, ptr %retval br label %ret ifend23: %t308 = load ptr, ptr %t0 %t309 = call i32 @lp_str_eq(ptr %t308, ptr @.str5695) %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 @.str5696, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str5697) %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 @.str5698) 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 @.str5699, ptr %t360) %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5700) %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 @.str5701) 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 @.str5702, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5703) %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 @.str5704, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5705) %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 @.str5706, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5707) %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 @.str5708, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5709) %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 @.str5710, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5711) %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 @.str5712) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5713) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str5714) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str5715) %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 @.str5716) %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 @.str5717) %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 @.str5718) %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 @.str5719) %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 @.str5720) %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 @.str5721) %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 @.str5722) %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 @.str5723) %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 @.str5724, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5725) %t5 = load ptr, ptr %t1 %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str5726) %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 @.str5727) 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 @.str5728) store ptr %t41, ptr %t42 %t43 = call ptr @fn_emit_alloca(ptr @.str5729) store ptr %t43, ptr %t44 %t45 = call ptr @fn_emit_alloca(ptr @.str5730) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t40 %t48 = call ptr @lp_str_concat(ptr @.str5731, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5732) %t50 = load ptr, ptr %t42 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5733) %t53 = load ptr, ptr %t44 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str5734) %t56 = load ptr, ptr %t46 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str5735) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t42 %t60 = call ptr @lp_str_concat(ptr @.str5736, 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 @.str5737, 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 @.str5738, 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 @.str5739, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str5740) %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 @.str5741, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5742) %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 @.str5743, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str5744) %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 @.str5745, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str5746) %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 @.str5747, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5748) %t99 = call ptr @fn_emit_bind(ptr %t98) store ptr %t99, ptr %t100 %t101 = call ptr @fn_emit_str_const(ptr @.str5749) 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 @.str5750, 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 @.str5751, 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 @.str5752, 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 @.str5753, 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 @.str5754, 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 @.str5755, 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 @.str5756, 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 @.str5757, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5758) %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 @.str5759) %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 @.str5760) 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 @.str5761) 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 @.str5762) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 call void @fn_store_at(ptr @.str5763, ptr @.str5764, ptr %t38) %t39 = call ptr @fn_emit_alloca(ptr @.str5765) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str5766, ptr @.str5767, ptr %t41) %t42 = call ptr @fn_emit_alloca(ptr @.str5768) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 call void @fn_store_at(ptr @.str5769, ptr @.str5770, ptr %t44) %t45 = call ptr @fn_emit_alloca(ptr @.str5771) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 call void @fn_store_at(ptr @.str5772, ptr @.str5773, ptr %t47) %t48 = call ptr @fn_emit_alloca(ptr @.str5774) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 call void @fn_store_at(ptr @.str5775, ptr @.str5776, ptr %t50) %t51 = call ptr @fn_emit_alloca(ptr @.str5777) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 call void @fn_store_at(ptr @.str5778, ptr @.str5779, ptr %t53) %t54 = call ptr @fn_emit_alloca(ptr @.str5780) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 call void @fn_store_at(ptr @.str5781, ptr @.str5782, 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 @.str5783, 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 @.str5784, 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 @.str5785, 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 @.str5786, 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 @.str5787, 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 @.str5788, 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 @.str5789, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5790) %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 @.str5791) %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 @.str5792) %t124 = load ptr, ptr %t37 %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5793) %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 @.str5794, 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 @.str5795, 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 @.str5796, 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 @.str5797, 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 @.str5798, 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 @.str5799, 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 @.str5800, 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 @.str5801, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5802) %t164 = load ptr, ptr %t144 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5803) %t167 = load ptr, ptr %t148 %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str5804) %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 @.str5805, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5806) %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 @.str5807, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str5808) %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 @.str5809, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str5810) %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 @.str5811, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str5812) %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 @.str5813, ptr %t194) %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str5814) %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 @.str5815, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str5816) %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 @.str5817, 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 @.str5818, ptr %t212) %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str5819) %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 @.str5820, ptr %t217) %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str5821) %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 @.str5822) 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 @.str5823) %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 @.str5824) %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 @.str5825) %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 @.str5826, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5827) %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 @.str5828) %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 @.str5829) %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 @.str5830, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str5831) %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 @.str5832, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str5833) %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 @.str5834, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str5835) %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 @.str5836, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str5837) %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 @.str5838, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5839) %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 @.str5840, ptr %t119) %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str5841) %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 @.str5842) store ptr %t127, ptr %retval br label %ret ifend8: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str5843) %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 @.str5844) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str5845) %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 @.str5846, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str5847) %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 @.str5848) store ptr %t176, ptr %retval br label %ret ifend14: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str5849) %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 @.str5850) store ptr %t194, ptr %retval br label %ret ifend17: %t195 = load ptr, ptr %t0 %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str5851) %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 @.str5852) store ptr %t212, ptr %retval br label %ret ifend20: %t213 = load ptr, ptr %t0 %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str5853) %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 @.str5854) store ptr %t230, ptr %retval br label %ret ifend23: %t231 = load ptr, ptr %t0 %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str5855) %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 @.str5856, ptr %t248) %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str5857) %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 @.str5858, ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5859) %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 @.str5860, ptr %t258) %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str5861) %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 @.str5862, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str5863) %t266 = call ptr @fn_emit_bind(ptr %t265) %t267 = call ptr @fn_val(ptr %t266, ptr @.str5864) store ptr %t267, ptr %retval br label %ret ifend26: %t268 = load ptr, ptr %t0 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str5865) %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 @.str5866, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5867) %t288 = call ptr @fn_emit_bind(ptr %t287) %t289 = call ptr @fn_val(ptr %t288, ptr @.str5868) store ptr %t289, ptr %retval br label %ret ifend29: %t290 = load ptr, ptr %t0 %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str5869) %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 @.str5870, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str5871) %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 @.str5872, ptr %t312) %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str5873) %t315 = call ptr @fn_emit_bind(ptr %t314) %t316 = call ptr @fn_val(ptr %t315, ptr @.str5874) 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 @.str5875, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str5876) %t334 = call ptr @fn_emit_bind(ptr %t333) %t335 = call ptr @fn_val(ptr %t334, ptr @.str5877) 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 @.str5878) call void @fn_emith(ptr @.str5879) call void @fn_emith(ptr @.str5880) call void @fn_emith(ptr @.str5881) call void @fn_emith(ptr @.str5882) call void @fn_emith(ptr @.str5883) call void @fn_emith(ptr @.str5884) call void @fn_emith(ptr @.str5885) call void @fn_emith(ptr @.str5886) call void @fn_emith(ptr @.str5887) call void @fn_emith(ptr @.str5888) call void @fn_emith(ptr @.str5889) call void @fn_emith(ptr @.str5890) call void @fn_emith(ptr @.str5891) call void @fn_emith(ptr @.str5892) call void @fn_emith(ptr @.str5893) call void @fn_emith(ptr @.str5894) call void @fn_emith(ptr @.str5895) call void @fn_emith(ptr @.str5896) call void @fn_emith(ptr @.str5897) call void @fn_emith(ptr @.str5898) call void @fn_emith(ptr @.str5899) call void @fn_emith(ptr @.str5900) call void @fn_emith(ptr @.str5901) call void @fn_emith(ptr @.str5902) call void @fn_emith(ptr @.str5903) call void @fn_emith(ptr @.str5904) call void @fn_emith(ptr @.str5905) call void @fn_emith(ptr @.str5906) call void @fn_emith(ptr @.str5907) call void @fn_emith(ptr @.str5908) call void @fn_emith(ptr @.str5909) call void @fn_emith(ptr @.str5910) call void @fn_emith(ptr @.str5911) call void @fn_emith(ptr @.str5912) call void @fn_emith(ptr @.str5913) call void @fn_emith(ptr @.str5914) call void @fn_emith(ptr @.str5915) call void @fn_emith(ptr @.str5916) call void @fn_emith(ptr @.str5917) call void @fn_emith(ptr @.str5918) call void @fn_emith(ptr @.str5919) call void @fn_emith(ptr @.str5920) call void @fn_emith(ptr @.str5921) call void @fn_emith(ptr @.str5922) call void @fn_emith(ptr @.str5923) call void @fn_emith(ptr @.str5924) call void @fn_emith(ptr @.str5925) call void @fn_emith(ptr @.str5926) call void @fn_emith(ptr @.str5927) call void @fn_emith(ptr @.str5928) call void @fn_emith(ptr @.str5929) call void @fn_emith(ptr @.str5930) call void @fn_emith(ptr @.str5931) call void @fn_emith(ptr @.str5932) call void @fn_emith(ptr @.str5933) call void @fn_emith(ptr @.str5934) call void @fn_emith(ptr @.str5935) call void @fn_emith(ptr @.str5936) call void @fn_emith(ptr @.str5937) call void @fn_emith(ptr @.str5938) call void @fn_emith(ptr @.str5939) call void @fn_emith(ptr @.str5940) call void @fn_emith(ptr @.str5941) call void @fn_emith(ptr @.str5942) call void @fn_emith(ptr @.str5943) call void @fn_emith(ptr @.str5944) call void @fn_emith(ptr @.str5945) call void @fn_emith(ptr @.str5946) call void @fn_emith(ptr @.str5947) call void @fn_emith(ptr @.str5948) call void @fn_emith(ptr @.str5949) call void @fn_emith(ptr @.str5950) call void @fn_emith(ptr @.str5951) call void @fn_emith(ptr @.str5952) call void @fn_emith(ptr @.str5953) call void @fn_emith(ptr @.str5954) call void @fn_emith(ptr @.str5955) call void @fn_emith(ptr @.str5956) call void @fn_emith(ptr @.str5957) call void @fn_emith(ptr @.str5958) call void @fn_emith(ptr @.str5959) call void @fn_emith(ptr @.str5960) call void @fn_emith(ptr @.str5961) call void @fn_emith(ptr @.str5962) call void @fn_emith(ptr @.str5963) call void @fn_emith(ptr @.str5964) call void @fn_emith(ptr @.str5965) call void @fn_emith(ptr @.str5966) call void @fn_emith(ptr @.str5967) call void @fn_emith(ptr @.str5968) call void @fn_emith(ptr @.str5969) call void @fn_emith(ptr @.str5970) call void @fn_emith(ptr @.str5971) call void @fn_emith(ptr @.str5972) call void @fn_emith(ptr @.str5973) call void @fn_emith(ptr @.str5974) call void @fn_emith(ptr @.str5975) 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 @.str5976) %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 @.str5977) %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 @.str5978) %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 @.str5979) %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 @.str5980) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str5981) %t6 = call ptr @fn_val(ptr %t5, ptr @.str5982) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5983) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str5984) %t10 = call ptr @fn_val(ptr @.str5985, ptr @.str5986) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5987) %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 @.str5988, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5989) call void @fn_emit(ptr %t27) %t28 = call ptr @fn_val(ptr @.str5990, ptr @.str5991) 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 @.str5992) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str5993, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5994) %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 @.str5995, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str5996) call void @fn_emit(ptr %t51) %t52 = call ptr @fn_val(ptr @.str5997, ptr @.str5998) 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 @.str5999) %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 @.str6000) %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 @.str6001) %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 @.str6002) %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 @.str6003) %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 @.str6004) %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 @.str6005, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6006) %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 @.str6007, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str6008) %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 @.str6009, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6010) %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 @.str6011, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6012) %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 @.str6013, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str6014) %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 @.str6015, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6016) %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 @.str6017, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6018) %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 @.str6019, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6020) %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 @.str6021, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6022) %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 @.str6023, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str6024) %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 @.str6025) %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 @.str6026) store ptr %t42, ptr %retval br label %ret ifend2: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str6027) %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 @.str6028, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str6029) %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 @.str6030, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6031) %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 @.str6032) store ptr %t106, ptr %retval br label %ret ifend5: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str6033) %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 @.str6034, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str6035) %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 @.str6036, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str6037) %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 @.str6038, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str6039) %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 @.str6040) store ptr %t148, ptr %retval br label %ret ifend8: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str6041) %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 @.str6042) %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 @.str6043) %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 @.str6044) %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 @.str6045) %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 @.str6046) %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 @.str6047) %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 @.str6048) store ptr %t222, ptr %retval br label %ret ifend11: %t223 = load ptr, ptr %t0 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str6049) %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 @.str6050, 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 @.str6051) 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 @.str6052) 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 @.str6053) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t254 %t266 = call ptr @lp_str_concat(ptr @.str6054, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str6055) %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 @.str6056, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str6057) %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 @.str6058, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str6059) %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 @.str6060, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str6061) %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 @.str6062, ptr %t289) %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str6063) %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 @.str6064, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str6065) %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 @.str6066) 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 @.str6067) 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 @.str6068) 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 @.str6069) store ptr %t337, ptr %t338 %t339 = load ptr, ptr %t328 %t340 = call ptr @lp_str_concat(ptr @.str6070, 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 @.str6071, ptr %t343) %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str6072) %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 @.str6073, ptr %t352) %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str6074) %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 @.str6075, ptr %t357) %t359 = call ptr @lp_str_concat(ptr %t358, ptr @.str6076) %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 @.str6077, 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 @.str6078, ptr %t368) %t370 = call ptr @lp_str_concat(ptr %t369, ptr @.str6079) %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 @.str6080, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str6081) %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 @.str6082, ptr %t382) %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str6083) %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 @.str6084, 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 @.str6085, ptr %t393) %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str6086) %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 @.str6087, ptr %t402) %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str6088) %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 @.str6089, ptr %t407) %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str6090) %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 @.str6091) 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 @.str6092) %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 @.str6093) %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 @.str6094) %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 @.str6095) %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 @.str6096) %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 @.str6097) %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 @.str6098) %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 @.str6099) %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 @.str6100) %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 @.str6101) %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 @.str6102) %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 @.str6103) %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 @.str6104) %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 @.str6105) %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 @.str6106) %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 @.str6107) %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 @.str6108) %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 @.str6109) %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 @.str6110) %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 @.str6111) %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 @.str6112) %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 @.str6113) %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 @.str6114) %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 @.str6115) %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 @.str6116) %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 @.str6117) %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 @.str6118) %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 @.str6119) %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 @.str6120) %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 @.str6121) %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 @.str6122) %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 @.str6123) %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 @.str6124) %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 @.str6125) %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 @.str6126) %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 @.str6127) %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 @.str6128) %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 @.str6129) %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 @.str6130) %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 @.str6131) %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 @.str6132) %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 @.str6133) %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 @.str6134) %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 @.str6135) %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 @.str6136) %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 @.str6137) %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 @.str6138) %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 @.str6139) %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 @.str6140) %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 @.str6141) %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 @.str6142) %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 @.str6143) %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 @.str6144) %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 @.str6145) %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 @.str6146) %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 @.str6147) %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 @.str6148) %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 @.str6149) %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 @.str6150) %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 @.str6151) %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 @.str6152) %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 @.str6153) %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 @.str6154) %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 @.str6155) %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 @.str6156) %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 @.str6157) %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 @.str6158) %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 @.str6159) %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 @.str6160) %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 @.str6161) %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 @.str6162) %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 @.str6163) %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 @.str6164) %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 @.str6165) %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 @.str6166) %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 @.str6167) %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 @.str6168) %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 @.str6169) %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 @.str6170) %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 @.str6171) %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 @.str6172) %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 @.str6173) %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 @.str6174) %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 @.str6175) %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 @.str6176) %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 @.str6177) %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 @.str6178) %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 @.str6179) %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 @.str6180) %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 @.str6181) %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 @.str6182) %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 @.str6183) %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 @.str6184) %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 @.str6185) %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 @.str6186) %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 @.str6187) %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 @.str6188) %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 @.str6189) %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 @.str6190) %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 @.str6191) %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 @.str6192) %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 @.str6193) %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 @.str6194) %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 @.str6195) %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 @.str6196) %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 @.str6197) %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 @.str6198) %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 @.str6199) %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 @.str6200) %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 @.str6201) %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 @.str6202) %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 @.str6203) %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 @.str6204) %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 @.str6205) %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 @.str6206) %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 @.str6207) %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 @.str6208) %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 @.str6209) %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 @.str6210) %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 @.str6211) %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 @.str6212) %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 @.str6213) %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 @.str6214) %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 @.str6215) %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 @.str6216) %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 @.str6217) %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 @.str6218) %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 @.str6219) %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 @.str6220) %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 @.str6221) %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 @.str6222) %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 @.str6223) %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 @.str6224) %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 @.str6225) %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 @.str6226) %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 @.str6227) %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 @.str6228) %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 @.str6229) %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 @.str6230) %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 @.str6231) %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 @.str6232) %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 @.str6233) %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 @.str6234) %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 @.str6235) %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 @.str6236) %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 @.str6237) %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 @.str6238) %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 @.str6239) %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 @.str6240) %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 @.str6241) %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 @.str6242) %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 @.str6243) %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 @.str6244) %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 @.str6245) %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 @.str6246) %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 @.str6247) %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 @.str6248) %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 @.str6249) %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 @.str6250) %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 @.str6251) %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 @.str6252) %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 @.str6253) %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 @.str6254) %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 @.str6255) %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 @.str6256) %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 @.str6257) %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 @.str6258) %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 @.str6259) %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 @.str6260) %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 @.str6261) %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 @.str6262) %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 @.str6263) %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 @.str6264) %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 @.str6265) %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 @.str6266) %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 @.str6267) %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 @.str6268) %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 @.str6269) %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 @.str6270) %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 @.str6271) %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 @.str6272) %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 @.str6273) %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 @.str6274) %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 @.str6275) %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 @.str6276) %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 @.str6277) %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 @.str6278) %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 @.str6279) %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 @.str6280) %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 @.str6281) %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 @.str6282) %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 @.str6283) %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 @.str6284) %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 @.str6285) %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 @.str6286) %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 @.str6287) %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 @.str6288) %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 @.str6289) %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 @.str6290) %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 @.str6291) %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 @.str6292) %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 @.str6293) %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 @.str6294) %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 @.str6295) %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 @.str6296) %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 @.str6297) %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 @.str6298) %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 @.str6299) %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 @.str6300) %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 @.str6301) %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 @.str6302) %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 @.str6303) %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 @.str6304) %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 @.str6305) %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 @.str6306) %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 @.str6307) %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 @.str6308) %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 @.str6309) %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 @.str6310) %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 @.str6311) %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 @.str6312) %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 @.str6313) %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 @.str6314) %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 @.str6315) %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 @.str6316) %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 @.str6317) %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 @.str6318) %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 @.str6319) %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 @.str6320) %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 @.str6321) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store i32 128, ptr %retval br label %ret ifend26: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str6322) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: store i32 129, ptr %retval br label %ret ifend29: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6323) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: store i32 130, ptr %retval br label %ret ifend32: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str6324) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: store i32 131, ptr %retval br label %ret ifend35: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str6325) %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 @.str6326) %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 @.str6327) %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 @.str6328) %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 @.str6329) %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 @.str6330) %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 @.str6331) %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 @.str6332) %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 @.str6333) %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 @.str6334) %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 @.str6335, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6336) %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 @.str6337, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6338) %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 @.str6339) 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 @.str6340, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6341) %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 @.str6342) %t41 = load ptr, ptr %t40 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str6343) %t42 = load ptr, ptr %t11 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str6344) %t43 = load ptr, ptr %t19 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str6345) %t44 = load i32, ptr %t20 %t45 = call ptr @fn_itoa(i32 %t44) call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str6346) %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 @.str6347, ptr %t51 %t52 = load ptr, ptr %t50 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6348) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then6, label %ifend8 then6: store ptr @.str6349, 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 @.str6350) %t85 = load ptr, ptr %t50 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str6351) %t86 = load ptr, ptr %t51 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str6352) %t87 = load ptr, ptr %t40 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str6353) %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 @.str6354) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str6355, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6356) %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 @.str6357) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str6358) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str6359) call void @fn_emit(ptr @.str6360) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str6361) %t13 = call ptr @fn_nreg() store ptr %t13, ptr %t14 call void @fn_emit(ptr @.str6362) %t15 = load ptr, ptr %t14 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str6363) %t16 = load ptr, ptr %t7 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str6364) call void @fn_emit(ptr @.str6365) %t17 = load ptr, ptr %t14 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str6366) %t18 = call ptr @fn_nreg() store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6367) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6368) %t21 = load ptr, ptr %t7 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6369) call void @fn_emit(ptr @.str6370) %t22 = load ptr, ptr %t19 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str6371) %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 @.str6372) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str6373) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str6374) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str6375) %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 @.str6376, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str6377) 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 @.str6378, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str6379) %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 @.str6380, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6381) %t34 = call ptr @fn_emit_bind(ptr %t33) %t35 = call ptr @fn_val(ptr %t34, ptr @.str6382) 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 @.str6383, ptr @.str6384) 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 @.str6385) 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 @.str6386, 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 @.str6387, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str6388) %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 @.str6389, 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 @.str6390, 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 @.str6391, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6392) %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 @.str6393) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str6394) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str6395) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6396) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6397) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6398) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6399) %t35 = load ptr, ptr %t19 %t36 = call ptr @lp_str_concat(ptr @.str6400, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6401) %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 @.str6402, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6403) %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 @.str6404, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6405) %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 @.str6406, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str6407) %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 @.str6408, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6409) %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 @.str6410, 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 @.str6411, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6412) %t74 = load ptr, ptr %t66 %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str6413) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str6414) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str6415) %t80 = load ptr, ptr %t11 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str6416) call void @fn_emit(ptr @.str6417) %t81 = load ptr, ptr %t51 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str6418) %t82 = load ptr, ptr %t8 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str6419) call void @fn_emit(ptr @.str6420) %t83 = load ptr, ptr %t30 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str6421) %t84 = load ptr, ptr %t30 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str6422) %t85 = load ptr, ptr %t11 %t86 = call ptr @lp_str_concat(ptr @.str6423, 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 @.str6424) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str6425) %t92 = load ptr, ptr %t1 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str6426) %t93 = load ptr, ptr %t88 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str6427) %t94 = load ptr, ptr %t15 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str6428) call void @fn_emit(ptr @.str6429) %t95 = load ptr, ptr %t1 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str6430) %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 @.str6431) %t99 = load ptr, ptr %t90 call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str6432) %t100 = load ptr, ptr %t15 %t101 = call ptr @lp_str_concat(ptr @.str6433, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6434) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 call void @fn_emit(ptr @.str6435) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str6436) %t106 = load ptr, ptr %t5 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str6437) 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 @.str6439) %t54 = call ptr @lp_str_concat(ptr @.str6438, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6440) %t56 = load ptr, ptr %t1 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6441) 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 @.str6442) %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 @.str6443, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6444) %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 @.str6445) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str6446, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6447) 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 @.str6448, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6449) %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 @.str6450, 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 @.str6451, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str6452) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str6453) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str6454) store ptr %t46, ptr %t47 %t48 = call ptr @fn_lbl(ptr @.str6455) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t43 %t51 = call ptr @lp_str_concat(ptr @.str6456, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6457) %t53 = load ptr, ptr %t45 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6458) %t56 = load ptr, ptr %t47 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6459) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t45 %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6460) 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 @.str6461, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str6462) %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 @.str6463, 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 @.str6464, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str6465) %t75 = load ptr, ptr %t24 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str6466) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t49 %t79 = call ptr @lp_str_concat(ptr @.str6467, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6468) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t47 %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str6469) 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 @.str6470, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str6471) %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 @.str6472, ptr %t90) %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %t93 %t94 = call ptr @fn_emit_alloca(ptr @.str6473) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t93 %t97 = call ptr @lp_str_concat(ptr @.str6474, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6475) %t99 = load ptr, ptr %t95 %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str6476) 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 @.str6477, ptr %t104, ptr @.str6478) %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 @.str6479, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6480) call void @fn_emit(ptr %t116) br label %ifend5 ifend5: %t117 = load ptr, ptr %t49 %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str6481) 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 @.str6482, ptr %t119) %t121 = call ptr @fn_emit_bind(ptr %t120) %t122 = call ptr @fn_val(ptr %t121, ptr @.str6483) 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 @.str6484, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6485) %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 @.str6486) 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 @.str6487, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6488) %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 @.str6489, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6490) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str6491) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str6492) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str6493) %t22 = call ptr @fn_lbl(ptr @.str6494) store ptr %t22, ptr %t23 %t24 = call ptr @fn_lbl(ptr @.str6495) 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 @.str6496) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: call void @fn_emit(ptr @.str6497) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str6498) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str6499) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str6500) br label %ifend2 else1: call void @fn_emit(ptr @.str6501) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str6502) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str6503) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str6504) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str6505) %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 @.str6506, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6507) %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 @.str6508, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6509) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 call void @fn_emit(ptr @.str6510) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str6511) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str6512) call void @fn_emit(ptr @.str6513) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str6514) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str6515) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str6516, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) %t62 = call ptr @fn_val(ptr %t61, ptr @.str6517) 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 @.str6518) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str6519, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6520) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str6521, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6522) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str6523, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6524) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str6525, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6526) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str6527, ptr %retval br label %ret ifend14: store ptr @.str6528, 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 @.str6529) %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 @.str6530) %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 @.str6531) %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 @.str6532) %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 @.str6533) %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 @.str6534) %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 @.str6535) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str6536, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6537) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str6538, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6539) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str6540, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6541) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str6542, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6543) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str6544, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str6545) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str6546, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6547) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store ptr @.str6548, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6549) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store ptr @.str6550, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str6551) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store ptr @.str6552, ptr %retval br label %ret ifend26: store ptr @.str6553, 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 @.str6554) %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 @.str6555, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6556) %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 @.str6557) %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 @.str6558) %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 @.str6559, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6560) %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 @.str6561) %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 @.str6562) %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 @.str6563, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str6564) %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 @.str6565) %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 @.str6566, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str6567) %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 @.str6568) %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 @.str6569, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6570) %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 @.str6571) %t16 = call ptr @fn_emit_bind(ptr %t15) %t17 = call ptr @fn_val(ptr %t16, ptr @.str6572) 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 @.str6573, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6574) %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 @.str6575) %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 @.str6576) %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 @.str6577, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str6578) %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 @.str6579, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str6580) %t41 = call ptr @fn_emit_bind(ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str6581) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t29 %t44 = call ptr @fn_val(ptr %t43, ptr @.str6582) 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 @.str6583) %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 @.str6584) %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 @.str6585, 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 @.str6586) %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 @.str6587) %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 @.str6588) %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 @.str6589) %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 @.str6590) %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 @.str6591, 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 @.str6592) %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 @.str6593) %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 @.str6594) %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 @.str6595) %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 @.str6596) %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 @.str6597) %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 @.str6598, 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 @.str6599, 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 @.str6600) %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 @.str6601) %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 @.str6602, 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 @.str6603, ptr %t145) %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str6604) %t148 = load ptr, ptr %t114 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str6605) %t151 = load ptr, ptr %t109 %t152 = call ptr @lp_str_concat(ptr %t150, ptr %t151) %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str6606) %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 @.str6607, ptr %t158) %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str6608) %t161 = call ptr @fn_emit_bind(ptr %t160) %t162 = call ptr @fn_val(ptr %t161, ptr @.str6609) 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 @.str6610) %t174 = load ptr, ptr %t167 %t175 = call ptr @lp_str_concat(ptr %t173, ptr %t174) %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str6611) %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 @.str6612) 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 @.str6613) %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 @.str6614, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str6615) %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 @.str6616, ptr %t197) %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str6617) %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 @.str6618, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str6619) %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 @.str6620, ptr %t209) %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str6621) %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 @.str6622, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str6623) %t217 = call ptr @fn_emit_bind(ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str6624) store ptr %t218, ptr %retval br label %ret ifend45: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str6625) %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 @.str6626, ptr %t222) %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str6627) %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 @.str6628, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str6629) %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 @.str6630, ptr %t232) %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str6631) %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 @.str6632, ptr %t237) %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str6633) %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 @.str6634, ptr %t244) %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str6635) %t247 = call ptr @fn_emit_bind(ptr %t246) %t248 = call ptr @fn_val(ptr %t247, ptr @.str6636) 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 @.str6637) %t252 = load ptr, ptr %t185 %t253 = call ptr @lp_str_concat(ptr %t251, ptr %t252) %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str6638) %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 @.str6639) 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 @.str6640) %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 @.str6641) %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 @.str6642) 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 @.str6643) 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 @.str6644) 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 @.str6645, 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 @.str6646) store ptr %t4, ptr %t5 %t6 = call ptr @fn_lbl(ptr @.str6647) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str6648, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6649) %t11 = load ptr, ptr %t5 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6650) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str6651) call void @fn_emit(ptr %t16) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str6652) call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str6653) %t19 = load ptr, ptr %t2 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6654) %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 @.str6655, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str6656) call void @fn_emit(ptr %t24) br label %ifend2 else1: %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr @.str6657, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6658) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str6659) %t31 = load ptr, ptr %t3 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6660) call void @fn_emit(ptr %t33) br label %ifend2 ifend2: %t34 = load ptr, ptr %t5 %t35 = call ptr @lp_str_concat(ptr @.str6661, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str6662) call void @fn_emit(ptr %t36) %t37 = load ptr, ptr %t5 %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str6663) 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 @.str6664) %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 @.str6665) 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 @.str6666, 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 @.str6667, 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 @.str6668, ptr @.str6669) store ptr %t128, ptr %retval br label %ret ifend2: %t129 = load ptr, ptr %t1 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str6670) %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 @.str6671) call void @fn_perr(ptr %t141) br label %ifend17 ifend17: %t142 = call ptr @fn_emit_alloca(ptr @.str6672) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str6673, ptr @.str6674, ptr %t144) %t145 = call ptr @fn_emit_alloca(ptr @.str6675) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str6676, ptr @.str6677, ptr %t147) %t148 = call ptr @fn_lbl(ptr @.str6678) store ptr %t148, ptr %t149 %t150 = call ptr @fn_lbl(ptr @.str6679) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str6680) store ptr %t152, ptr %t153 %t154 = call ptr @fn_lbl(ptr @.str6681) store ptr %t154, ptr %t155 call void @fn_emit(ptr @.str6682) %t156 = load ptr, ptr %t149 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str6683) %t157 = load ptr, ptr %t149 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str6684) %t158 = load ptr, ptr %t143 %t159 = call ptr @lp_str_concat(ptr @.str6685, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = call ptr @fn_emit_bind(ptr @.str6686) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t161 %t165 = call ptr @lp_str_concat(ptr @.str6687, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str6688) %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 @.str6689) %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str6690) %t172 = load ptr, ptr %t151 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str6691) %t173 = load ptr, ptr %t155 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str6692) %t174 = load ptr, ptr %t151 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str6693) %t175 = load ptr, ptr %t4 %t176 = call ptr @lp_str_concat(ptr @.str6694, ptr %t175) %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str6695) %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 @.str6696, 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 @.str6697, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str6698) %t189 = load ptr, ptr %t0 %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str6699) %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 @.str6700, 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 @.str6701, ptr %t200) %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str6702) %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 @.str6703, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str6704) %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 @.str6705, 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 @.str6706, ptr %t216) %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str6707) %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 @.str6708, ptr %t223, ptr %t224) call void @fn_emit(ptr @.str6709) %t225 = load ptr, ptr %t153 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str6710) %t226 = load ptr, ptr %t153 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str6711) %t227 = load ptr, ptr %t161 %t228 = call ptr @lp_str_concat(ptr @.str6712, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str6713) %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 @.str6714, ptr %t232, ptr %t233) call void @fn_emit(ptr @.str6715) %t234 = load ptr, ptr %t149 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str6716) %t235 = load ptr, ptr %t155 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str6717) %t236 = load ptr, ptr %t146 %t237 = call ptr @lp_str_concat(ptr @.str6718, ptr %t236) %t238 = call ptr @fn_emit_bind(ptr %t237) %t239 = call ptr @fn_val(ptr %t238, ptr @.str6719) 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 @.str6720) %t250 = load ptr, ptr %t1 %t251 = call ptr @lp_str_concat(ptr %t249, ptr %t250) %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str6721) 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 @.str6722) %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 @.str6723, ptr %t265) %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str6724) %t268 = load ptr, ptr %t0 %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str6725) %t271 = load ptr, ptr %t0 %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str6726) %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 @.str6727, ptr %t285) %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str6728) %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 @.str6729, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str6730) %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 @.str6731) %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 @.str6732, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str6733) %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 @.str6734, 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 @.str6735, ptr %t313) %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str6736) %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 @.str6737, ptr %t318) %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str6738) %t321 = load ptr, ptr %t0 %t322 = call ptr @lp_str_concat(ptr %t320, ptr %t321) %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str6739) %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 @.str6740, 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 @.str6741, ptr %t332) %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str6742) %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 @.str6743, ptr %t337) %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str6744) %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 @.str6745, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str6746) %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 @.str6747, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str6748) %t354 = call ptr @fn_emit_bind(ptr %t353) %t355 = call ptr @fn_val(ptr %t354, ptr @.str6749) 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 @.str6750) %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 @.str6751) store i32 %t45, ptr %retval br label %ret ret: %t46 = load i32, ptr %retval ret i32 %t46 } define ptr @fn_emit_ns_call(ptr %arg_ns, ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t10 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 %t360 = alloca ptr %t391 = alloca ptr %t393 = alloca ptr %t403 = alloca ptr %t410 = alloca ptr %t3411 = alloca ptr %t3422 = alloca ptr %t3471 = alloca ptr %t3480 = alloca ptr %t3487 = alloca ptr %t3489 = alloca ptr %t3496 = alloca ptr %t3505 = alloca ptr %t3514 = alloca ptr %t3519 = alloca ptr %t3524 = alloca ptr %t3544 = alloca ptr %t3582 = alloca ptr %t15160 = alloca i32 %t15176 = alloca ptr %t15189 = alloca ptr %t15190 = alloca i32 %t15225 = alloca i32 %t15241 = alloca ptr %t15254 = alloca ptr %t15255 = alloca i32 %t15290 = alloca i32 %t15307 = alloca i32 %t15329 = alloca ptr %t15336 = alloca ptr %t15337 = alloca i32 %t15384 = 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 @.str6752) %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 @.str6753) %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 @.str6754) %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 @.str6755) %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 @.str6756) %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 @.str6757) %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 @.str6758, 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 @.str6759) %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 @.str6760, 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 @.str6761) %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 @.str6762, 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 @.str6763) %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 @.str6764, 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 @.str6765) %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 @.str6766) %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 @.str6767) %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 @.str6768, 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 @.str6769) %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 @.str6770, 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 @.str6771) %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 @.str6772, 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 @.str6773) %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 @.str6774, 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 @.str6775) %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 @.str6776, 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 @.str6777) %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 @.str6778, 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 @.str6779) %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 @.str6780, 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 @.str6781) %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 @.str6782, 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 @.str6783) %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 @.str6784, 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 @.str6785) %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 @.str6786, 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 @.str6787) %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 @.str6788, 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 @.str6789) %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 @.str6790, 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 @.str6791) %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 @.str6792, 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 @.str6793) %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 @.str6794, 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 @.str6795) %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 @.str6796, 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 @.str6797) %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 @.str6798, 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 @.str6799) %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 @.str6800, 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 @.str6801) %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 @.str6802, 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 @.str6803) %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 @.str6804, 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 @.str6805) %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 @.str6806, 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 @.str6807) %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 @.str6808, 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 @.str6809) %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 @.str6810) %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then179, label %ifend181 then179: call void @fn_use_pak() %t352 = load i32, ptr @g_g_windowed %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then182, label %ifend184 then182: call void @fn_emit(ptr @.str6811) br label %ifend184 ifend184: %t354 = call ptr @fn_val(ptr @.str6812, ptr @.str6813) store ptr %t354, ptr %retval br label %ret ifend181: %t355 = load ptr, ptr %t1 %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str6814) %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %then185, label %ifend187 then185: call void @fn_use_pak() %t358 = load ptr, ptr %t2 %t359 = call ptr @fn_arg_code(ptr %t358, i32 0) store ptr %t359, ptr %t360 %t361 = load i32, ptr @g_g_windowed %t362 = icmp ne i32 %t361, 0 br i1 %t362, label %then188, label %ifend190 then188: %t363 = load ptr, ptr %t360 %t364 = call ptr @lp_str_concat(ptr @.str6815, ptr %t363) %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str6816) call void @fn_emit(ptr %t365) br label %ifend190 ifend190: %t366 = call ptr @fn_val(ptr @.str6817, ptr @.str6818) store ptr %t366, ptr %retval br label %ret ifend187: %t367 = load ptr, ptr %t1 %t368 = call ptr @lp_str_concat(ptr @.str6819, ptr %t367) call void @fn_perr(ptr %t368) br label %ifend178 ifend178: %t369 = load ptr, ptr %t0 %t370 = call i32 @lp_str_eq(ptr %t369, ptr @.str6820) %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then191, label %ifend193 then191: %t372 = load ptr, ptr %t1 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str6821) %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then194, label %ifend196 then194: %t375 = call ptr @fn_itoa(i32 1024) %t376 = call ptr @fn_val(ptr %t375, ptr @.str6822) store ptr %t376, ptr %retval br label %ret ifend196: %t377 = load ptr, ptr %t1 %t378 = call i32 @lp_str_eq(ptr %t377, ptr @.str6823) %t379 = icmp ne i32 %t378, 0 br i1 %t379, label %then197, label %ifend199 then197: %t380 = call ptr @fn_emit_bind(ptr @.str6824) %t381 = call ptr @fn_val(ptr %t380, ptr @.str6825) store ptr %t381, ptr %retval br label %ret ifend199: %t382 = load ptr, ptr %t1 %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str6826) %t384 = icmp ne i32 %t383, 0 br i1 %t384, label %then200, label %ifend202 then200: %t385 = call ptr @fn_emit_bind(ptr @.str6827) %t386 = call ptr @fn_val(ptr %t385, ptr @.str6828) store ptr %t386, ptr %retval br label %ret ifend202: %t387 = load ptr, ptr %t1 %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str6829) %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then203, label %ifend205 then203: %t390 = call ptr @fn_emit_bind(ptr @.str6830) store ptr %t390, ptr %t391 %t392 = call ptr @fn_emit_bind(ptr @.str6831) store ptr %t392, ptr %t393 %t394 = load ptr, ptr %t391 %t395 = call ptr @lp_str_concat(ptr @.str6832, ptr %t394) %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str6833) %t397 = load ptr, ptr %t393 %t398 = call ptr @lp_str_concat(ptr %t396, ptr %t397) %t399 = call ptr @fn_emit_bind(ptr %t398) %t400 = call ptr @fn_val(ptr %t399, ptr @.str6834) store ptr %t400, ptr %retval br label %ret ifend205: %t401 = load ptr, ptr %t1 %t402 = call ptr @lp_str_concat(ptr @.str6835, ptr %t401) call void @fn_perr(ptr %t402) br label %ifend193 ifend193: store ptr null, ptr %t403 %t404 = getelementptr %LSlice, ptr null, i32 1 %t405 = ptrtoint ptr %t404 to i64 %t406 = call ptr @malloc(i64 %t405) %t407 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 0 store ptr null, ptr %t407 %t408 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 1 store i32 0, ptr %t408 %t409 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 2 store i32 0, ptr %t409 store ptr %t406, ptr %t410 %t411 = load ptr, ptr %t0 %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str6836) %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %then206, label %ifend208 then206: %t414 = load ptr, ptr %t1 %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str6837) %t416 = icmp ne i32 %t415, 0 br i1 %t416, label %then209, label %ifend211 then209: store ptr @.str6838, ptr %t403 %t417 = load ptr, ptr %t410 %t418 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 1 %t419 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 2 %t420 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 0 %t421 = load i32, ptr %t418 %t422 = load i32, ptr %t419 %t423 = icmp sge i32 %t421, %t422 br i1 %t423, label %grow212, label %put213 grow212: %t424 = mul i32 %t422, 2 %t425 = icmp eq i32 %t422, 0 %t426 = select i1 %t425, i32 8, i32 %t424 %t427 = getelementptr ptr, ptr null, i32 1 %t428 = ptrtoint ptr %t427 to i64 %t429 = zext i32 %t426 to i64 %t430 = mul i64 %t429, %t428 %t431 = load ptr, ptr %t420 %t432 = call ptr @realloc(ptr %t431, i64 %t430) store ptr %t432, ptr %t420 store i32 %t426, ptr %t419 br label %put213 put213: %t433 = load ptr, ptr %t420 %t434 = getelementptr inbounds ptr, ptr %t433, i32 %t421 store ptr @.str6839, ptr %t434 %t435 = add i32 %t421, 1 store i32 %t435, ptr %t418 br label %ifend211 ifend211: %t436 = load ptr, ptr %t1 %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str6840) %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then214, label %ifend216 then214: store ptr @.str6841, ptr %t403 %t439 = load ptr, ptr %t410 %t440 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 1 %t441 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 2 %t442 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 0 %t443 = load i32, ptr %t440 %t444 = load i32, ptr %t441 %t445 = icmp sge i32 %t443, %t444 br i1 %t445, label %grow217, label %put218 grow217: %t446 = mul i32 %t444, 2 %t447 = icmp eq i32 %t444, 0 %t448 = select i1 %t447, i32 8, i32 %t446 %t449 = getelementptr ptr, ptr null, i32 1 %t450 = ptrtoint ptr %t449 to i64 %t451 = zext i32 %t448 to i64 %t452 = mul i64 %t451, %t450 %t453 = load ptr, ptr %t442 %t454 = call ptr @realloc(ptr %t453, i64 %t452) store ptr %t454, ptr %t442 store i32 %t448, ptr %t441 br label %put218 put218: %t455 = load ptr, ptr %t442 %t456 = getelementptr inbounds ptr, ptr %t455, i32 %t443 store ptr @.str6842, ptr %t456 %t457 = add i32 %t443, 1 store i32 %t457, ptr %t440 %t458 = load ptr, ptr %t410 %t459 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 %t460 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 2 %t461 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 0 %t462 = load i32, ptr %t459 %t463 = load i32, ptr %t460 %t464 = icmp sge i32 %t462, %t463 br i1 %t464, label %grow219, label %put220 grow219: %t465 = mul i32 %t463, 2 %t466 = icmp eq i32 %t463, 0 %t467 = select i1 %t466, i32 8, i32 %t465 %t468 = getelementptr ptr, ptr null, i32 1 %t469 = ptrtoint ptr %t468 to i64 %t470 = zext i32 %t467 to i64 %t471 = mul i64 %t470, %t469 %t472 = load ptr, ptr %t461 %t473 = call ptr @realloc(ptr %t472, i64 %t471) store ptr %t473, ptr %t461 store i32 %t467, ptr %t460 br label %put220 put220: %t474 = load ptr, ptr %t461 %t475 = getelementptr inbounds ptr, ptr %t474, i32 %t462 store ptr @.str6843, ptr %t475 %t476 = add i32 %t462, 1 store i32 %t476, ptr %t459 %t477 = load ptr, ptr %t410 %t478 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 1 %t479 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 2 %t480 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 0 %t481 = load i32, ptr %t478 %t482 = load i32, ptr %t479 %t483 = icmp sge i32 %t481, %t482 br i1 %t483, label %grow221, label %put222 grow221: %t484 = mul i32 %t482, 2 %t485 = icmp eq i32 %t482, 0 %t486 = select i1 %t485, i32 8, i32 %t484 %t487 = getelementptr ptr, ptr null, i32 1 %t488 = ptrtoint ptr %t487 to i64 %t489 = zext i32 %t486 to i64 %t490 = mul i64 %t489, %t488 %t491 = load ptr, ptr %t480 %t492 = call ptr @realloc(ptr %t491, i64 %t490) store ptr %t492, ptr %t480 store i32 %t486, ptr %t479 br label %put222 put222: %t493 = load ptr, ptr %t480 %t494 = getelementptr inbounds ptr, ptr %t493, i32 %t481 store ptr @.str6844, ptr %t494 %t495 = add i32 %t481, 1 store i32 %t495, ptr %t478 %t496 = load ptr, ptr %t410 %t497 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 1 %t498 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 2 %t499 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 0 %t500 = load i32, ptr %t497 %t501 = load i32, ptr %t498 %t502 = icmp sge i32 %t500, %t501 br i1 %t502, label %grow223, label %put224 grow223: %t503 = mul i32 %t501, 2 %t504 = icmp eq i32 %t501, 0 %t505 = select i1 %t504, i32 8, i32 %t503 %t506 = getelementptr ptr, ptr null, i32 1 %t507 = ptrtoint ptr %t506 to i64 %t508 = zext i32 %t505 to i64 %t509 = mul i64 %t508, %t507 %t510 = load ptr, ptr %t499 %t511 = call ptr @realloc(ptr %t510, i64 %t509) store ptr %t511, ptr %t499 store i32 %t505, ptr %t498 br label %put224 put224: %t512 = load ptr, ptr %t499 %t513 = getelementptr inbounds ptr, ptr %t512, i32 %t500 store ptr @.str6845, ptr %t513 %t514 = add i32 %t500, 1 store i32 %t514, ptr %t497 %t515 = load ptr, ptr %t410 %t516 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 1 %t517 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 2 %t518 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 0 %t519 = load i32, ptr %t516 %t520 = load i32, ptr %t517 %t521 = icmp sge i32 %t519, %t520 br i1 %t521, label %grow225, label %put226 grow225: %t522 = mul i32 %t520, 2 %t523 = icmp eq i32 %t520, 0 %t524 = select i1 %t523, i32 8, i32 %t522 %t525 = getelementptr ptr, ptr null, i32 1 %t526 = ptrtoint ptr %t525 to i64 %t527 = zext i32 %t524 to i64 %t528 = mul i64 %t527, %t526 %t529 = load ptr, ptr %t518 %t530 = call ptr @realloc(ptr %t529, i64 %t528) store ptr %t530, ptr %t518 store i32 %t524, ptr %t517 br label %put226 put226: %t531 = load ptr, ptr %t518 %t532 = getelementptr inbounds ptr, ptr %t531, i32 %t519 store ptr @.str6846, ptr %t532 %t533 = add i32 %t519, 1 store i32 %t533, ptr %t516 br label %ifend216 ifend216: %t534 = load ptr, ptr %t1 %t535 = call i32 @lp_str_eq(ptr %t534, ptr @.str6847) %t536 = icmp ne i32 %t535, 0 br i1 %t536, label %then227, label %ifend229 then227: store ptr @.str6848, ptr %t403 %t537 = load ptr, ptr %t410 %t538 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 1 %t539 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 2 %t540 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 0 %t541 = load i32, ptr %t538 %t542 = load i32, ptr %t539 %t543 = icmp sge i32 %t541, %t542 br i1 %t543, label %grow230, label %put231 grow230: %t544 = mul i32 %t542, 2 %t545 = icmp eq i32 %t542, 0 %t546 = select i1 %t545, i32 8, i32 %t544 %t547 = getelementptr ptr, ptr null, i32 1 %t548 = ptrtoint ptr %t547 to i64 %t549 = zext i32 %t546 to i64 %t550 = mul i64 %t549, %t548 %t551 = load ptr, ptr %t540 %t552 = call ptr @realloc(ptr %t551, i64 %t550) store ptr %t552, ptr %t540 store i32 %t546, ptr %t539 br label %put231 put231: %t553 = load ptr, ptr %t540 %t554 = getelementptr inbounds ptr, ptr %t553, i32 %t541 store ptr @.str6849, ptr %t554 %t555 = add i32 %t541, 1 store i32 %t555, ptr %t538 %t556 = load ptr, ptr %t410 %t557 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 1 %t558 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 2 %t559 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 0 %t560 = load i32, ptr %t557 %t561 = load i32, ptr %t558 %t562 = icmp sge i32 %t560, %t561 br i1 %t562, label %grow232, label %put233 grow232: %t563 = mul i32 %t561, 2 %t564 = icmp eq i32 %t561, 0 %t565 = select i1 %t564, i32 8, i32 %t563 %t566 = getelementptr ptr, ptr null, i32 1 %t567 = ptrtoint ptr %t566 to i64 %t568 = zext i32 %t565 to i64 %t569 = mul i64 %t568, %t567 %t570 = load ptr, ptr %t559 %t571 = call ptr @realloc(ptr %t570, i64 %t569) store ptr %t571, ptr %t559 store i32 %t565, ptr %t558 br label %put233 put233: %t572 = load ptr, ptr %t559 %t573 = getelementptr inbounds ptr, ptr %t572, i32 %t560 store ptr @.str6850, ptr %t573 %t574 = add i32 %t560, 1 store i32 %t574, ptr %t557 %t575 = load ptr, ptr %t410 %t576 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 1 %t577 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 2 %t578 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 0 %t579 = load i32, ptr %t576 %t580 = load i32, ptr %t577 %t581 = icmp sge i32 %t579, %t580 br i1 %t581, label %grow234, label %put235 grow234: %t582 = mul i32 %t580, 2 %t583 = icmp eq i32 %t580, 0 %t584 = select i1 %t583, i32 8, i32 %t582 %t585 = getelementptr ptr, ptr null, i32 1 %t586 = ptrtoint ptr %t585 to i64 %t587 = zext i32 %t584 to i64 %t588 = mul i64 %t587, %t586 %t589 = load ptr, ptr %t578 %t590 = call ptr @realloc(ptr %t589, i64 %t588) store ptr %t590, ptr %t578 store i32 %t584, ptr %t577 br label %put235 put235: %t591 = load ptr, ptr %t578 %t592 = getelementptr inbounds ptr, ptr %t591, i32 %t579 store ptr @.str6851, ptr %t592 %t593 = add i32 %t579, 1 store i32 %t593, ptr %t576 %t594 = load ptr, ptr %t410 %t595 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 1 %t596 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 2 %t597 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 0 %t598 = load i32, ptr %t595 %t599 = load i32, ptr %t596 %t600 = icmp sge i32 %t598, %t599 br i1 %t600, label %grow236, label %put237 grow236: %t601 = mul i32 %t599, 2 %t602 = icmp eq i32 %t599, 0 %t603 = select i1 %t602, i32 8, i32 %t601 %t604 = getelementptr ptr, ptr null, i32 1 %t605 = ptrtoint ptr %t604 to i64 %t606 = zext i32 %t603 to i64 %t607 = mul i64 %t606, %t605 %t608 = load ptr, ptr %t597 %t609 = call ptr @realloc(ptr %t608, i64 %t607) store ptr %t609, ptr %t597 store i32 %t603, ptr %t596 br label %put237 put237: %t610 = load ptr, ptr %t597 %t611 = getelementptr inbounds ptr, ptr %t610, i32 %t598 store ptr @.str6852, ptr %t611 %t612 = add i32 %t598, 1 store i32 %t612, ptr %t595 %t613 = load ptr, ptr %t410 %t614 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 1 %t615 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 2 %t616 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 0 %t617 = load i32, ptr %t614 %t618 = load i32, ptr %t615 %t619 = icmp sge i32 %t617, %t618 br i1 %t619, label %grow238, label %put239 grow238: %t620 = mul i32 %t618, 2 %t621 = icmp eq i32 %t618, 0 %t622 = select i1 %t621, i32 8, i32 %t620 %t623 = getelementptr ptr, ptr null, i32 1 %t624 = ptrtoint ptr %t623 to i64 %t625 = zext i32 %t622 to i64 %t626 = mul i64 %t625, %t624 %t627 = load ptr, ptr %t616 %t628 = call ptr @realloc(ptr %t627, i64 %t626) store ptr %t628, ptr %t616 store i32 %t622, ptr %t615 br label %put239 put239: %t629 = load ptr, ptr %t616 %t630 = getelementptr inbounds ptr, ptr %t629, i32 %t617 store ptr @.str6853, ptr %t630 %t631 = add i32 %t617, 1 store i32 %t631, ptr %t614 %t632 = load ptr, ptr %t410 %t633 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 1 %t634 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 2 %t635 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 0 %t636 = load i32, ptr %t633 %t637 = load i32, ptr %t634 %t638 = icmp sge i32 %t636, %t637 br i1 %t638, label %grow240, label %put241 grow240: %t639 = mul i32 %t637, 2 %t640 = icmp eq i32 %t637, 0 %t641 = select i1 %t640, i32 8, i32 %t639 %t642 = getelementptr ptr, ptr null, i32 1 %t643 = ptrtoint ptr %t642 to i64 %t644 = zext i32 %t641 to i64 %t645 = mul i64 %t644, %t643 %t646 = load ptr, ptr %t635 %t647 = call ptr @realloc(ptr %t646, i64 %t645) store ptr %t647, ptr %t635 store i32 %t641, ptr %t634 br label %put241 put241: %t648 = load ptr, ptr %t635 %t649 = getelementptr inbounds ptr, ptr %t648, i32 %t636 store ptr @.str6854, ptr %t649 %t650 = add i32 %t636, 1 store i32 %t650, ptr %t633 %t651 = load ptr, ptr %t410 %t652 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 1 %t653 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 2 %t654 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 0 %t655 = load i32, ptr %t652 %t656 = load i32, ptr %t653 %t657 = icmp sge i32 %t655, %t656 br i1 %t657, label %grow242, label %put243 grow242: %t658 = mul i32 %t656, 2 %t659 = icmp eq i32 %t656, 0 %t660 = select i1 %t659, i32 8, i32 %t658 %t661 = getelementptr ptr, ptr null, i32 1 %t662 = ptrtoint ptr %t661 to i64 %t663 = zext i32 %t660 to i64 %t664 = mul i64 %t663, %t662 %t665 = load ptr, ptr %t654 %t666 = call ptr @realloc(ptr %t665, i64 %t664) store ptr %t666, ptr %t654 store i32 %t660, ptr %t653 br label %put243 put243: %t667 = load ptr, ptr %t654 %t668 = getelementptr inbounds ptr, ptr %t667, i32 %t655 store ptr @.str6855, ptr %t668 %t669 = add i32 %t655, 1 store i32 %t669, ptr %t652 %t670 = load ptr, ptr %t410 %t671 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 1 %t672 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 2 %t673 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 0 %t674 = load i32, ptr %t671 %t675 = load i32, ptr %t672 %t676 = icmp sge i32 %t674, %t675 br i1 %t676, label %grow244, label %put245 grow244: %t677 = mul i32 %t675, 2 %t678 = icmp eq i32 %t675, 0 %t679 = select i1 %t678, i32 8, i32 %t677 %t680 = getelementptr ptr, ptr null, i32 1 %t681 = ptrtoint ptr %t680 to i64 %t682 = zext i32 %t679 to i64 %t683 = mul i64 %t682, %t681 %t684 = load ptr, ptr %t673 %t685 = call ptr @realloc(ptr %t684, i64 %t683) store ptr %t685, ptr %t673 store i32 %t679, ptr %t672 br label %put245 put245: %t686 = load ptr, ptr %t673 %t687 = getelementptr inbounds ptr, ptr %t686, i32 %t674 store ptr @.str6856, ptr %t687 %t688 = add i32 %t674, 1 store i32 %t688, ptr %t671 br label %ifend229 ifend229: %t689 = load ptr, ptr %t1 %t690 = call i32 @lp_str_eq(ptr %t689, ptr @.str6857) %t691 = icmp ne i32 %t690, 0 br i1 %t691, label %then246, label %ifend248 then246: store ptr @.str6858, ptr %t403 %t692 = load ptr, ptr %t410 %t693 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 1 %t694 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 2 %t695 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 0 %t696 = load i32, ptr %t693 %t697 = load i32, ptr %t694 %t698 = icmp sge i32 %t696, %t697 br i1 %t698, label %grow249, label %put250 grow249: %t699 = mul i32 %t697, 2 %t700 = icmp eq i32 %t697, 0 %t701 = select i1 %t700, i32 8, i32 %t699 %t702 = getelementptr ptr, ptr null, i32 1 %t703 = ptrtoint ptr %t702 to i64 %t704 = zext i32 %t701 to i64 %t705 = mul i64 %t704, %t703 %t706 = load ptr, ptr %t695 %t707 = call ptr @realloc(ptr %t706, i64 %t705) store ptr %t707, ptr %t695 store i32 %t701, ptr %t694 br label %put250 put250: %t708 = load ptr, ptr %t695 %t709 = getelementptr inbounds ptr, ptr %t708, i32 %t696 store ptr @.str6859, ptr %t709 %t710 = add i32 %t696, 1 store i32 %t710, ptr %t693 %t711 = load ptr, ptr %t410 %t712 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 1 %t713 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 2 %t714 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 0 %t715 = load i32, ptr %t712 %t716 = load i32, ptr %t713 %t717 = icmp sge i32 %t715, %t716 br i1 %t717, label %grow251, label %put252 grow251: %t718 = mul i32 %t716, 2 %t719 = icmp eq i32 %t716, 0 %t720 = select i1 %t719, i32 8, i32 %t718 %t721 = getelementptr ptr, ptr null, i32 1 %t722 = ptrtoint ptr %t721 to i64 %t723 = zext i32 %t720 to i64 %t724 = mul i64 %t723, %t722 %t725 = load ptr, ptr %t714 %t726 = call ptr @realloc(ptr %t725, i64 %t724) store ptr %t726, ptr %t714 store i32 %t720, ptr %t713 br label %put252 put252: %t727 = load ptr, ptr %t714 %t728 = getelementptr inbounds ptr, ptr %t727, i32 %t715 store ptr @.str6860, ptr %t728 %t729 = add i32 %t715, 1 store i32 %t729, ptr %t712 %t730 = load ptr, ptr %t410 %t731 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 1 %t732 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 2 %t733 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 0 %t734 = load i32, ptr %t731 %t735 = load i32, ptr %t732 %t736 = icmp sge i32 %t734, %t735 br i1 %t736, label %grow253, label %put254 grow253: %t737 = mul i32 %t735, 2 %t738 = icmp eq i32 %t735, 0 %t739 = select i1 %t738, i32 8, i32 %t737 %t740 = getelementptr ptr, ptr null, i32 1 %t741 = ptrtoint ptr %t740 to i64 %t742 = zext i32 %t739 to i64 %t743 = mul i64 %t742, %t741 %t744 = load ptr, ptr %t733 %t745 = call ptr @realloc(ptr %t744, i64 %t743) store ptr %t745, ptr %t733 store i32 %t739, ptr %t732 br label %put254 put254: %t746 = load ptr, ptr %t733 %t747 = getelementptr inbounds ptr, ptr %t746, i32 %t734 store ptr @.str6861, ptr %t747 %t748 = add i32 %t734, 1 store i32 %t748, ptr %t731 %t749 = load ptr, ptr %t410 %t750 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 1 %t751 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 2 %t752 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 0 %t753 = load i32, ptr %t750 %t754 = load i32, ptr %t751 %t755 = icmp sge i32 %t753, %t754 br i1 %t755, label %grow255, label %put256 grow255: %t756 = mul i32 %t754, 2 %t757 = icmp eq i32 %t754, 0 %t758 = select i1 %t757, i32 8, i32 %t756 %t759 = getelementptr ptr, ptr null, i32 1 %t760 = ptrtoint ptr %t759 to i64 %t761 = zext i32 %t758 to i64 %t762 = mul i64 %t761, %t760 %t763 = load ptr, ptr %t752 %t764 = call ptr @realloc(ptr %t763, i64 %t762) store ptr %t764, ptr %t752 store i32 %t758, ptr %t751 br label %put256 put256: %t765 = load ptr, ptr %t752 %t766 = getelementptr inbounds ptr, ptr %t765, i32 %t753 store ptr @.str6862, ptr %t766 %t767 = add i32 %t753, 1 store i32 %t767, ptr %t750 %t768 = load ptr, ptr %t410 %t769 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 1 %t770 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 2 %t771 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 0 %t772 = load i32, ptr %t769 %t773 = load i32, ptr %t770 %t774 = icmp sge i32 %t772, %t773 br i1 %t774, label %grow257, label %put258 grow257: %t775 = mul i32 %t773, 2 %t776 = icmp eq i32 %t773, 0 %t777 = select i1 %t776, i32 8, i32 %t775 %t778 = getelementptr ptr, ptr null, i32 1 %t779 = ptrtoint ptr %t778 to i64 %t780 = zext i32 %t777 to i64 %t781 = mul i64 %t780, %t779 %t782 = load ptr, ptr %t771 %t783 = call ptr @realloc(ptr %t782, i64 %t781) store ptr %t783, ptr %t771 store i32 %t777, ptr %t770 br label %put258 put258: %t784 = load ptr, ptr %t771 %t785 = getelementptr inbounds ptr, ptr %t784, i32 %t772 store ptr @.str6863, ptr %t785 %t786 = add i32 %t772, 1 store i32 %t786, ptr %t769 br label %ifend248 ifend248: %t787 = load ptr, ptr %t1 %t788 = call i32 @lp_str_eq(ptr %t787, ptr @.str6864) %t789 = icmp ne i32 %t788, 0 br i1 %t789, label %then259, label %ifend261 then259: store ptr @.str6865, ptr %t403 %t790 = load ptr, ptr %t410 %t791 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 1 %t792 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 2 %t793 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 0 %t794 = load i32, ptr %t791 %t795 = load i32, ptr %t792 %t796 = icmp sge i32 %t794, %t795 br i1 %t796, label %grow262, label %put263 grow262: %t797 = mul i32 %t795, 2 %t798 = icmp eq i32 %t795, 0 %t799 = select i1 %t798, i32 8, i32 %t797 %t800 = getelementptr ptr, ptr null, i32 1 %t801 = ptrtoint ptr %t800 to i64 %t802 = zext i32 %t799 to i64 %t803 = mul i64 %t802, %t801 %t804 = load ptr, ptr %t793 %t805 = call ptr @realloc(ptr %t804, i64 %t803) store ptr %t805, ptr %t793 store i32 %t799, ptr %t792 br label %put263 put263: %t806 = load ptr, ptr %t793 %t807 = getelementptr inbounds ptr, ptr %t806, i32 %t794 store ptr @.str6866, ptr %t807 %t808 = add i32 %t794, 1 store i32 %t808, ptr %t791 %t809 = load ptr, ptr %t410 %t810 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 1 %t811 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 2 %t812 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 0 %t813 = load i32, ptr %t810 %t814 = load i32, ptr %t811 %t815 = icmp sge i32 %t813, %t814 br i1 %t815, label %grow264, label %put265 grow264: %t816 = mul i32 %t814, 2 %t817 = icmp eq i32 %t814, 0 %t818 = select i1 %t817, i32 8, i32 %t816 %t819 = getelementptr ptr, ptr null, i32 1 %t820 = ptrtoint ptr %t819 to i64 %t821 = zext i32 %t818 to i64 %t822 = mul i64 %t821, %t820 %t823 = load ptr, ptr %t812 %t824 = call ptr @realloc(ptr %t823, i64 %t822) store ptr %t824, ptr %t812 store i32 %t818, ptr %t811 br label %put265 put265: %t825 = load ptr, ptr %t812 %t826 = getelementptr inbounds ptr, ptr %t825, i32 %t813 store ptr @.str6867, ptr %t826 %t827 = add i32 %t813, 1 store i32 %t827, ptr %t810 %t828 = load ptr, ptr %t410 %t829 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 1 %t830 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 2 %t831 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 0 %t832 = load i32, ptr %t829 %t833 = load i32, ptr %t830 %t834 = icmp sge i32 %t832, %t833 br i1 %t834, label %grow266, label %put267 grow266: %t835 = mul i32 %t833, 2 %t836 = icmp eq i32 %t833, 0 %t837 = select i1 %t836, i32 8, i32 %t835 %t838 = getelementptr ptr, ptr null, i32 1 %t839 = ptrtoint ptr %t838 to i64 %t840 = zext i32 %t837 to i64 %t841 = mul i64 %t840, %t839 %t842 = load ptr, ptr %t831 %t843 = call ptr @realloc(ptr %t842, i64 %t841) store ptr %t843, ptr %t831 store i32 %t837, ptr %t830 br label %put267 put267: %t844 = load ptr, ptr %t831 %t845 = getelementptr inbounds ptr, ptr %t844, i32 %t832 store ptr @.str6868, ptr %t845 %t846 = add i32 %t832, 1 store i32 %t846, ptr %t829 br label %ifend261 ifend261: %t847 = load ptr, ptr %t1 %t848 = call i32 @lp_str_eq(ptr %t847, ptr @.str6869) %t849 = icmp ne i32 %t848, 0 br i1 %t849, label %then268, label %ifend270 then268: store ptr @.str6870, ptr %t403 %t850 = load ptr, ptr %t410 %t851 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 1 %t852 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 2 %t853 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 0 %t854 = load i32, ptr %t851 %t855 = load i32, ptr %t852 %t856 = icmp sge i32 %t854, %t855 br i1 %t856, label %grow271, label %put272 grow271: %t857 = mul i32 %t855, 2 %t858 = icmp eq i32 %t855, 0 %t859 = select i1 %t858, i32 8, i32 %t857 %t860 = getelementptr ptr, ptr null, i32 1 %t861 = ptrtoint ptr %t860 to i64 %t862 = zext i32 %t859 to i64 %t863 = mul i64 %t862, %t861 %t864 = load ptr, ptr %t853 %t865 = call ptr @realloc(ptr %t864, i64 %t863) store ptr %t865, ptr %t853 store i32 %t859, ptr %t852 br label %put272 put272: %t866 = load ptr, ptr %t853 %t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854 store ptr @.str6871, ptr %t867 %t868 = add i32 %t854, 1 store i32 %t868, ptr %t851 %t869 = load ptr, ptr %t410 %t870 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 1 %t871 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 2 %t872 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 0 %t873 = load i32, ptr %t870 %t874 = load i32, ptr %t871 %t875 = icmp sge i32 %t873, %t874 br i1 %t875, label %grow273, label %put274 grow273: %t876 = mul i32 %t874, 2 %t877 = icmp eq i32 %t874, 0 %t878 = select i1 %t877, i32 8, i32 %t876 %t879 = getelementptr ptr, ptr null, i32 1 %t880 = ptrtoint ptr %t879 to i64 %t881 = zext i32 %t878 to i64 %t882 = mul i64 %t881, %t880 %t883 = load ptr, ptr %t872 %t884 = call ptr @realloc(ptr %t883, i64 %t882) store ptr %t884, ptr %t872 store i32 %t878, ptr %t871 br label %put274 put274: %t885 = load ptr, ptr %t872 %t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873 store ptr @.str6872, ptr %t886 %t887 = add i32 %t873, 1 store i32 %t887, ptr %t870 %t888 = load ptr, ptr %t410 %t889 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 1 %t890 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 2 %t891 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 0 %t892 = load i32, ptr %t889 %t893 = load i32, ptr %t890 %t894 = icmp sge i32 %t892, %t893 br i1 %t894, label %grow275, label %put276 grow275: %t895 = mul i32 %t893, 2 %t896 = icmp eq i32 %t893, 0 %t897 = select i1 %t896, i32 8, i32 %t895 %t898 = getelementptr ptr, ptr null, i32 1 %t899 = ptrtoint ptr %t898 to i64 %t900 = zext i32 %t897 to i64 %t901 = mul i64 %t900, %t899 %t902 = load ptr, ptr %t891 %t903 = call ptr @realloc(ptr %t902, i64 %t901) store ptr %t903, ptr %t891 store i32 %t897, ptr %t890 br label %put276 put276: %t904 = load ptr, ptr %t891 %t905 = getelementptr inbounds ptr, ptr %t904, i32 %t892 store ptr @.str6873, ptr %t905 %t906 = add i32 %t892, 1 store i32 %t906, ptr %t889 %t907 = load ptr, ptr %t410 %t908 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 1 %t909 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 2 %t910 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 0 %t911 = load i32, ptr %t908 %t912 = load i32, ptr %t909 %t913 = icmp sge i32 %t911, %t912 br i1 %t913, label %grow277, label %put278 grow277: %t914 = mul i32 %t912, 2 %t915 = icmp eq i32 %t912, 0 %t916 = select i1 %t915, i32 8, i32 %t914 %t917 = getelementptr ptr, ptr null, i32 1 %t918 = ptrtoint ptr %t917 to i64 %t919 = zext i32 %t916 to i64 %t920 = mul i64 %t919, %t918 %t921 = load ptr, ptr %t910 %t922 = call ptr @realloc(ptr %t921, i64 %t920) store ptr %t922, ptr %t910 store i32 %t916, ptr %t909 br label %put278 put278: %t923 = load ptr, ptr %t910 %t924 = getelementptr inbounds ptr, ptr %t923, i32 %t911 store ptr @.str6874, ptr %t924 %t925 = add i32 %t911, 1 store i32 %t925, ptr %t908 %t926 = load ptr, ptr %t410 %t927 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 1 %t928 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 2 %t929 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 0 %t930 = load i32, ptr %t927 %t931 = load i32, ptr %t928 %t932 = icmp sge i32 %t930, %t931 br i1 %t932, label %grow279, label %put280 grow279: %t933 = mul i32 %t931, 2 %t934 = icmp eq i32 %t931, 0 %t935 = select i1 %t934, i32 8, i32 %t933 %t936 = getelementptr ptr, ptr null, i32 1 %t937 = ptrtoint ptr %t936 to i64 %t938 = zext i32 %t935 to i64 %t939 = mul i64 %t938, %t937 %t940 = load ptr, ptr %t929 %t941 = call ptr @realloc(ptr %t940, i64 %t939) store ptr %t941, ptr %t929 store i32 %t935, ptr %t928 br label %put280 put280: %t942 = load ptr, ptr %t929 %t943 = getelementptr inbounds ptr, ptr %t942, i32 %t930 store ptr @.str6875, ptr %t943 %t944 = add i32 %t930, 1 store i32 %t944, ptr %t927 br label %ifend270 ifend270: %t945 = load ptr, ptr %t1 %t946 = call i32 @lp_str_eq(ptr %t945, ptr @.str6876) %t947 = icmp ne i32 %t946, 0 br i1 %t947, label %then281, label %ifend283 then281: store ptr @.str6877, ptr %t403 %t948 = load ptr, ptr %t410 %t949 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1 %t950 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2 %t951 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0 %t952 = load i32, ptr %t949 %t953 = load i32, ptr %t950 %t954 = icmp sge i32 %t952, %t953 br i1 %t954, label %grow284, label %put285 grow284: %t955 = mul i32 %t953, 2 %t956 = icmp eq i32 %t953, 0 %t957 = select i1 %t956, i32 8, i32 %t955 %t958 = getelementptr ptr, ptr null, i32 1 %t959 = ptrtoint ptr %t958 to i64 %t960 = zext i32 %t957 to i64 %t961 = mul i64 %t960, %t959 %t962 = load ptr, ptr %t951 %t963 = call ptr @realloc(ptr %t962, i64 %t961) store ptr %t963, ptr %t951 store i32 %t957, ptr %t950 br label %put285 put285: %t964 = load ptr, ptr %t951 %t965 = getelementptr inbounds ptr, ptr %t964, i32 %t952 store ptr @.str6878, ptr %t965 %t966 = add i32 %t952, 1 store i32 %t966, ptr %t949 %t967 = load ptr, ptr %t410 %t968 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 1 %t969 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 2 %t970 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 0 %t971 = load i32, ptr %t968 %t972 = load i32, ptr %t969 %t973 = icmp sge i32 %t971, %t972 br i1 %t973, label %grow286, label %put287 grow286: %t974 = mul i32 %t972, 2 %t975 = icmp eq i32 %t972, 0 %t976 = select i1 %t975, i32 8, i32 %t974 %t977 = getelementptr ptr, ptr null, i32 1 %t978 = ptrtoint ptr %t977 to i64 %t979 = zext i32 %t976 to i64 %t980 = mul i64 %t979, %t978 %t981 = load ptr, ptr %t970 %t982 = call ptr @realloc(ptr %t981, i64 %t980) store ptr %t982, ptr %t970 store i32 %t976, ptr %t969 br label %put287 put287: %t983 = load ptr, ptr %t970 %t984 = getelementptr inbounds ptr, ptr %t983, i32 %t971 store ptr @.str6879, ptr %t984 %t985 = add i32 %t971, 1 store i32 %t985, ptr %t968 %t986 = load ptr, ptr %t410 %t987 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 1 %t988 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 2 %t989 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 0 %t990 = load i32, ptr %t987 %t991 = load i32, ptr %t988 %t992 = icmp sge i32 %t990, %t991 br i1 %t992, label %grow288, label %put289 grow288: %t993 = mul i32 %t991, 2 %t994 = icmp eq i32 %t991, 0 %t995 = select i1 %t994, i32 8, i32 %t993 %t996 = getelementptr ptr, ptr null, i32 1 %t997 = ptrtoint ptr %t996 to i64 %t998 = zext i32 %t995 to i64 %t999 = mul i64 %t998, %t997 %t1000 = load ptr, ptr %t989 %t1001 = call ptr @realloc(ptr %t1000, i64 %t999) store ptr %t1001, ptr %t989 store i32 %t995, ptr %t988 br label %put289 put289: %t1002 = load ptr, ptr %t989 %t1003 = getelementptr inbounds ptr, ptr %t1002, i32 %t990 store ptr @.str6880, ptr %t1003 %t1004 = add i32 %t990, 1 store i32 %t1004, ptr %t987 %t1005 = load ptr, ptr %t410 %t1006 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 1 %t1007 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 2 %t1008 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 0 %t1009 = load i32, ptr %t1006 %t1010 = load i32, ptr %t1007 %t1011 = icmp sge i32 %t1009, %t1010 br i1 %t1011, label %grow290, label %put291 grow290: %t1012 = mul i32 %t1010, 2 %t1013 = icmp eq i32 %t1010, 0 %t1014 = select i1 %t1013, i32 8, i32 %t1012 %t1015 = getelementptr ptr, ptr null, i32 1 %t1016 = ptrtoint ptr %t1015 to i64 %t1017 = zext i32 %t1014 to i64 %t1018 = mul i64 %t1017, %t1016 %t1019 = load ptr, ptr %t1008 %t1020 = call ptr @realloc(ptr %t1019, i64 %t1018) store ptr %t1020, ptr %t1008 store i32 %t1014, ptr %t1007 br label %put291 put291: %t1021 = load ptr, ptr %t1008 %t1022 = getelementptr inbounds ptr, ptr %t1021, i32 %t1009 store ptr @.str6881, ptr %t1022 %t1023 = add i32 %t1009, 1 store i32 %t1023, ptr %t1006 %t1024 = load ptr, ptr %t410 %t1025 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 1 %t1026 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 2 %t1027 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 0 %t1028 = load i32, ptr %t1025 %t1029 = load i32, ptr %t1026 %t1030 = icmp sge i32 %t1028, %t1029 br i1 %t1030, label %grow292, label %put293 grow292: %t1031 = mul i32 %t1029, 2 %t1032 = icmp eq i32 %t1029, 0 %t1033 = select i1 %t1032, i32 8, i32 %t1031 %t1034 = getelementptr ptr, ptr null, i32 1 %t1035 = ptrtoint ptr %t1034 to i64 %t1036 = zext i32 %t1033 to i64 %t1037 = mul i64 %t1036, %t1035 %t1038 = load ptr, ptr %t1027 %t1039 = call ptr @realloc(ptr %t1038, i64 %t1037) store ptr %t1039, ptr %t1027 store i32 %t1033, ptr %t1026 br label %put293 put293: %t1040 = load ptr, ptr %t1027 %t1041 = getelementptr inbounds ptr, ptr %t1040, i32 %t1028 store ptr @.str6882, ptr %t1041 %t1042 = add i32 %t1028, 1 store i32 %t1042, ptr %t1025 br label %ifend283 ifend283: %t1043 = load ptr, ptr %t1 %t1044 = call i32 @lp_str_eq(ptr %t1043, ptr @.str6883) %t1045 = icmp ne i32 %t1044, 0 br i1 %t1045, label %then294, label %ifend296 then294: store ptr @.str6884, ptr %t403 br label %ifend296 ifend296: %t1046 = load ptr, ptr %t1 %t1047 = call i32 @lp_str_eq(ptr %t1046, ptr @.str6885) %t1048 = icmp ne i32 %t1047, 0 br i1 %t1048, label %then297, label %ifend299 then297: store ptr @.str6886, ptr %t403 br label %ifend299 ifend299: %t1049 = load ptr, ptr %t1 %t1050 = call i32 @lp_str_eq(ptr %t1049, ptr @.str6887) %t1051 = icmp ne i32 %t1050, 0 br i1 %t1051, label %then300, label %ifend302 then300: store ptr @.str6888, ptr %t403 br label %ifend302 ifend302: %t1052 = load ptr, ptr %t1 %t1053 = call i32 @lp_str_eq(ptr %t1052, ptr @.str6889) %t1054 = icmp ne i32 %t1053, 0 br i1 %t1054, label %then303, label %ifend305 then303: store ptr @.str6890, ptr %t403 %t1055 = load ptr, ptr %t410 %t1056 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 1 %t1057 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 2 %t1058 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 0 %t1059 = load i32, ptr %t1056 %t1060 = load i32, ptr %t1057 %t1061 = icmp sge i32 %t1059, %t1060 br i1 %t1061, label %grow306, label %put307 grow306: %t1062 = mul i32 %t1060, 2 %t1063 = icmp eq i32 %t1060, 0 %t1064 = select i1 %t1063, i32 8, i32 %t1062 %t1065 = getelementptr ptr, ptr null, i32 1 %t1066 = ptrtoint ptr %t1065 to i64 %t1067 = zext i32 %t1064 to i64 %t1068 = mul i64 %t1067, %t1066 %t1069 = load ptr, ptr %t1058 %t1070 = call ptr @realloc(ptr %t1069, i64 %t1068) store ptr %t1070, ptr %t1058 store i32 %t1064, ptr %t1057 br label %put307 put307: %t1071 = load ptr, ptr %t1058 %t1072 = getelementptr inbounds ptr, ptr %t1071, i32 %t1059 store ptr @.str6891, ptr %t1072 %t1073 = add i32 %t1059, 1 store i32 %t1073, ptr %t1056 br label %ifend305 ifend305: %t1074 = load ptr, ptr %t1 %t1075 = call i32 @lp_str_eq(ptr %t1074, ptr @.str6892) %t1076 = icmp ne i32 %t1075, 0 br i1 %t1076, label %then308, label %ifend310 then308: store ptr @.str6893, ptr %t403 %t1077 = load ptr, ptr %t410 %t1078 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 1 %t1079 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 2 %t1080 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 0 %t1081 = load i32, ptr %t1078 %t1082 = load i32, ptr %t1079 %t1083 = icmp sge i32 %t1081, %t1082 br i1 %t1083, label %grow311, label %put312 grow311: %t1084 = mul i32 %t1082, 2 %t1085 = icmp eq i32 %t1082, 0 %t1086 = select i1 %t1085, i32 8, i32 %t1084 %t1087 = getelementptr ptr, ptr null, i32 1 %t1088 = ptrtoint ptr %t1087 to i64 %t1089 = zext i32 %t1086 to i64 %t1090 = mul i64 %t1089, %t1088 %t1091 = load ptr, ptr %t1080 %t1092 = call ptr @realloc(ptr %t1091, i64 %t1090) store ptr %t1092, ptr %t1080 store i32 %t1086, ptr %t1079 br label %put312 put312: %t1093 = load ptr, ptr %t1080 %t1094 = getelementptr inbounds ptr, ptr %t1093, i32 %t1081 store ptr @.str6894, ptr %t1094 %t1095 = add i32 %t1081, 1 store i32 %t1095, ptr %t1078 %t1096 = load ptr, ptr %t410 %t1097 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 1 %t1098 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 2 %t1099 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 0 %t1100 = load i32, ptr %t1097 %t1101 = load i32, ptr %t1098 %t1102 = icmp sge i32 %t1100, %t1101 br i1 %t1102, label %grow313, label %put314 grow313: %t1103 = mul i32 %t1101, 2 %t1104 = icmp eq i32 %t1101, 0 %t1105 = select i1 %t1104, i32 8, i32 %t1103 %t1106 = getelementptr ptr, ptr null, i32 1 %t1107 = ptrtoint ptr %t1106 to i64 %t1108 = zext i32 %t1105 to i64 %t1109 = mul i64 %t1108, %t1107 %t1110 = load ptr, ptr %t1099 %t1111 = call ptr @realloc(ptr %t1110, i64 %t1109) store ptr %t1111, ptr %t1099 store i32 %t1105, ptr %t1098 br label %put314 put314: %t1112 = load ptr, ptr %t1099 %t1113 = getelementptr inbounds ptr, ptr %t1112, i32 %t1100 store ptr @.str6895, ptr %t1113 %t1114 = add i32 %t1100, 1 store i32 %t1114, ptr %t1097 %t1115 = load ptr, ptr %t410 %t1116 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 1 %t1117 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 2 %t1118 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 0 %t1119 = load i32, ptr %t1116 %t1120 = load i32, ptr %t1117 %t1121 = icmp sge i32 %t1119, %t1120 br i1 %t1121, label %grow315, label %put316 grow315: %t1122 = mul i32 %t1120, 2 %t1123 = icmp eq i32 %t1120, 0 %t1124 = select i1 %t1123, i32 8, i32 %t1122 %t1125 = getelementptr ptr, ptr null, i32 1 %t1126 = ptrtoint ptr %t1125 to i64 %t1127 = zext i32 %t1124 to i64 %t1128 = mul i64 %t1127, %t1126 %t1129 = load ptr, ptr %t1118 %t1130 = call ptr @realloc(ptr %t1129, i64 %t1128) store ptr %t1130, ptr %t1118 store i32 %t1124, ptr %t1117 br label %put316 put316: %t1131 = load ptr, ptr %t1118 %t1132 = getelementptr inbounds ptr, ptr %t1131, i32 %t1119 store ptr @.str6896, ptr %t1132 %t1133 = add i32 %t1119, 1 store i32 %t1133, ptr %t1116 %t1134 = load ptr, ptr %t410 %t1135 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 1 %t1136 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 2 %t1137 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 0 %t1138 = load i32, ptr %t1135 %t1139 = load i32, ptr %t1136 %t1140 = icmp sge i32 %t1138, %t1139 br i1 %t1140, label %grow317, label %put318 grow317: %t1141 = mul i32 %t1139, 2 %t1142 = icmp eq i32 %t1139, 0 %t1143 = select i1 %t1142, i32 8, i32 %t1141 %t1144 = getelementptr ptr, ptr null, i32 1 %t1145 = ptrtoint ptr %t1144 to i64 %t1146 = zext i32 %t1143 to i64 %t1147 = mul i64 %t1146, %t1145 %t1148 = load ptr, ptr %t1137 %t1149 = call ptr @realloc(ptr %t1148, i64 %t1147) store ptr %t1149, ptr %t1137 store i32 %t1143, ptr %t1136 br label %put318 put318: %t1150 = load ptr, ptr %t1137 %t1151 = getelementptr inbounds ptr, ptr %t1150, i32 %t1138 store ptr @.str6897, ptr %t1151 %t1152 = add i32 %t1138, 1 store i32 %t1152, ptr %t1135 %t1153 = load ptr, ptr %t410 %t1154 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 1 %t1155 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 2 %t1156 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 0 %t1157 = load i32, ptr %t1154 %t1158 = load i32, ptr %t1155 %t1159 = icmp sge i32 %t1157, %t1158 br i1 %t1159, label %grow319, label %put320 grow319: %t1160 = mul i32 %t1158, 2 %t1161 = icmp eq i32 %t1158, 0 %t1162 = select i1 %t1161, i32 8, i32 %t1160 %t1163 = getelementptr ptr, ptr null, i32 1 %t1164 = ptrtoint ptr %t1163 to i64 %t1165 = zext i32 %t1162 to i64 %t1166 = mul i64 %t1165, %t1164 %t1167 = load ptr, ptr %t1156 %t1168 = call ptr @realloc(ptr %t1167, i64 %t1166) store ptr %t1168, ptr %t1156 store i32 %t1162, ptr %t1155 br label %put320 put320: %t1169 = load ptr, ptr %t1156 %t1170 = getelementptr inbounds ptr, ptr %t1169, i32 %t1157 store ptr @.str6898, ptr %t1170 %t1171 = add i32 %t1157, 1 store i32 %t1171, ptr %t1154 br label %ifend310 ifend310: %t1172 = load ptr, ptr %t1 %t1173 = call i32 @lp_str_eq(ptr %t1172, ptr @.str6899) %t1174 = icmp ne i32 %t1173, 0 br i1 %t1174, label %then321, label %ifend323 then321: store ptr @.str6900, ptr %t403 %t1175 = load ptr, ptr %t410 %t1176 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 1 %t1177 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 2 %t1178 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 0 %t1179 = load i32, ptr %t1176 %t1180 = load i32, ptr %t1177 %t1181 = icmp sge i32 %t1179, %t1180 br i1 %t1181, label %grow324, label %put325 grow324: %t1182 = mul i32 %t1180, 2 %t1183 = icmp eq i32 %t1180, 0 %t1184 = select i1 %t1183, i32 8, i32 %t1182 %t1185 = getelementptr ptr, ptr null, i32 1 %t1186 = ptrtoint ptr %t1185 to i64 %t1187 = zext i32 %t1184 to i64 %t1188 = mul i64 %t1187, %t1186 %t1189 = load ptr, ptr %t1178 %t1190 = call ptr @realloc(ptr %t1189, i64 %t1188) store ptr %t1190, ptr %t1178 store i32 %t1184, ptr %t1177 br label %put325 put325: %t1191 = load ptr, ptr %t1178 %t1192 = getelementptr inbounds ptr, ptr %t1191, i32 %t1179 store ptr @.str6901, ptr %t1192 %t1193 = add i32 %t1179, 1 store i32 %t1193, ptr %t1176 %t1194 = load ptr, ptr %t410 %t1195 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 1 %t1196 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 2 %t1197 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 0 %t1198 = load i32, ptr %t1195 %t1199 = load i32, ptr %t1196 %t1200 = icmp sge i32 %t1198, %t1199 br i1 %t1200, label %grow326, label %put327 grow326: %t1201 = mul i32 %t1199, 2 %t1202 = icmp eq i32 %t1199, 0 %t1203 = select i1 %t1202, i32 8, i32 %t1201 %t1204 = getelementptr ptr, ptr null, i32 1 %t1205 = ptrtoint ptr %t1204 to i64 %t1206 = zext i32 %t1203 to i64 %t1207 = mul i64 %t1206, %t1205 %t1208 = load ptr, ptr %t1197 %t1209 = call ptr @realloc(ptr %t1208, i64 %t1207) store ptr %t1209, ptr %t1197 store i32 %t1203, ptr %t1196 br label %put327 put327: %t1210 = load ptr, ptr %t1197 %t1211 = getelementptr inbounds ptr, ptr %t1210, i32 %t1198 store ptr @.str6902, ptr %t1211 %t1212 = add i32 %t1198, 1 store i32 %t1212, ptr %t1195 %t1213 = load ptr, ptr %t410 %t1214 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 1 %t1215 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 2 %t1216 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 0 %t1217 = load i32, ptr %t1214 %t1218 = load i32, ptr %t1215 %t1219 = icmp sge i32 %t1217, %t1218 br i1 %t1219, label %grow328, label %put329 grow328: %t1220 = mul i32 %t1218, 2 %t1221 = icmp eq i32 %t1218, 0 %t1222 = select i1 %t1221, i32 8, i32 %t1220 %t1223 = getelementptr ptr, ptr null, i32 1 %t1224 = ptrtoint ptr %t1223 to i64 %t1225 = zext i32 %t1222 to i64 %t1226 = mul i64 %t1225, %t1224 %t1227 = load ptr, ptr %t1216 %t1228 = call ptr @realloc(ptr %t1227, i64 %t1226) store ptr %t1228, ptr %t1216 store i32 %t1222, ptr %t1215 br label %put329 put329: %t1229 = load ptr, ptr %t1216 %t1230 = getelementptr inbounds ptr, ptr %t1229, i32 %t1217 store ptr @.str6903, ptr %t1230 %t1231 = add i32 %t1217, 1 store i32 %t1231, ptr %t1214 %t1232 = load ptr, ptr %t410 %t1233 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 1 %t1234 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 2 %t1235 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 0 %t1236 = load i32, ptr %t1233 %t1237 = load i32, ptr %t1234 %t1238 = icmp sge i32 %t1236, %t1237 br i1 %t1238, label %grow330, label %put331 grow330: %t1239 = mul i32 %t1237, 2 %t1240 = icmp eq i32 %t1237, 0 %t1241 = select i1 %t1240, i32 8, i32 %t1239 %t1242 = getelementptr ptr, ptr null, i32 1 %t1243 = ptrtoint ptr %t1242 to i64 %t1244 = zext i32 %t1241 to i64 %t1245 = mul i64 %t1244, %t1243 %t1246 = load ptr, ptr %t1235 %t1247 = call ptr @realloc(ptr %t1246, i64 %t1245) store ptr %t1247, ptr %t1235 store i32 %t1241, ptr %t1234 br label %put331 put331: %t1248 = load ptr, ptr %t1235 %t1249 = getelementptr inbounds ptr, ptr %t1248, i32 %t1236 store ptr @.str6904, ptr %t1249 %t1250 = add i32 %t1236, 1 store i32 %t1250, ptr %t1233 br label %ifend323 ifend323: %t1251 = load ptr, ptr %t1 %t1252 = call i32 @lp_str_eq(ptr %t1251, ptr @.str6905) %t1253 = icmp ne i32 %t1252, 0 br i1 %t1253, label %then332, label %ifend334 then332: store ptr @.str6906, ptr %t403 %t1254 = load ptr, ptr %t410 %t1255 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 1 %t1256 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 2 %t1257 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 0 %t1258 = load i32, ptr %t1255 %t1259 = load i32, ptr %t1256 %t1260 = icmp sge i32 %t1258, %t1259 br i1 %t1260, label %grow335, label %put336 grow335: %t1261 = mul i32 %t1259, 2 %t1262 = icmp eq i32 %t1259, 0 %t1263 = select i1 %t1262, i32 8, i32 %t1261 %t1264 = getelementptr ptr, ptr null, i32 1 %t1265 = ptrtoint ptr %t1264 to i64 %t1266 = zext i32 %t1263 to i64 %t1267 = mul i64 %t1266, %t1265 %t1268 = load ptr, ptr %t1257 %t1269 = call ptr @realloc(ptr %t1268, i64 %t1267) store ptr %t1269, ptr %t1257 store i32 %t1263, ptr %t1256 br label %put336 put336: %t1270 = load ptr, ptr %t1257 %t1271 = getelementptr inbounds ptr, ptr %t1270, i32 %t1258 store ptr @.str6907, ptr %t1271 %t1272 = add i32 %t1258, 1 store i32 %t1272, ptr %t1255 %t1273 = load ptr, ptr %t410 %t1274 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 1 %t1275 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 2 %t1276 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 0 %t1277 = load i32, ptr %t1274 %t1278 = load i32, ptr %t1275 %t1279 = icmp sge i32 %t1277, %t1278 br i1 %t1279, label %grow337, label %put338 grow337: %t1280 = mul i32 %t1278, 2 %t1281 = icmp eq i32 %t1278, 0 %t1282 = select i1 %t1281, i32 8, i32 %t1280 %t1283 = getelementptr ptr, ptr null, i32 1 %t1284 = ptrtoint ptr %t1283 to i64 %t1285 = zext i32 %t1282 to i64 %t1286 = mul i64 %t1285, %t1284 %t1287 = load ptr, ptr %t1276 %t1288 = call ptr @realloc(ptr %t1287, i64 %t1286) store ptr %t1288, ptr %t1276 store i32 %t1282, ptr %t1275 br label %put338 put338: %t1289 = load ptr, ptr %t1276 %t1290 = getelementptr inbounds ptr, ptr %t1289, i32 %t1277 store ptr @.str6908, ptr %t1290 %t1291 = add i32 %t1277, 1 store i32 %t1291, ptr %t1274 %t1292 = load ptr, ptr %t410 %t1293 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 1 %t1294 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 2 %t1295 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 0 %t1296 = load i32, ptr %t1293 %t1297 = load i32, ptr %t1294 %t1298 = icmp sge i32 %t1296, %t1297 br i1 %t1298, label %grow339, label %put340 grow339: %t1299 = mul i32 %t1297, 2 %t1300 = icmp eq i32 %t1297, 0 %t1301 = select i1 %t1300, i32 8, i32 %t1299 %t1302 = getelementptr ptr, ptr null, i32 1 %t1303 = ptrtoint ptr %t1302 to i64 %t1304 = zext i32 %t1301 to i64 %t1305 = mul i64 %t1304, %t1303 %t1306 = load ptr, ptr %t1295 %t1307 = call ptr @realloc(ptr %t1306, i64 %t1305) store ptr %t1307, ptr %t1295 store i32 %t1301, ptr %t1294 br label %put340 put340: %t1308 = load ptr, ptr %t1295 %t1309 = getelementptr inbounds ptr, ptr %t1308, i32 %t1296 store ptr @.str6909, ptr %t1309 %t1310 = add i32 %t1296, 1 store i32 %t1310, ptr %t1293 %t1311 = load ptr, ptr %t410 %t1312 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 1 %t1313 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 2 %t1314 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 0 %t1315 = load i32, ptr %t1312 %t1316 = load i32, ptr %t1313 %t1317 = icmp sge i32 %t1315, %t1316 br i1 %t1317, label %grow341, label %put342 grow341: %t1318 = mul i32 %t1316, 2 %t1319 = icmp eq i32 %t1316, 0 %t1320 = select i1 %t1319, i32 8, i32 %t1318 %t1321 = getelementptr ptr, ptr null, i32 1 %t1322 = ptrtoint ptr %t1321 to i64 %t1323 = zext i32 %t1320 to i64 %t1324 = mul i64 %t1323, %t1322 %t1325 = load ptr, ptr %t1314 %t1326 = call ptr @realloc(ptr %t1325, i64 %t1324) store ptr %t1326, ptr %t1314 store i32 %t1320, ptr %t1313 br label %put342 put342: %t1327 = load ptr, ptr %t1314 %t1328 = getelementptr inbounds ptr, ptr %t1327, i32 %t1315 store ptr @.str6910, ptr %t1328 %t1329 = add i32 %t1315, 1 store i32 %t1329, ptr %t1312 br label %ifend334 ifend334: %t1330 = load ptr, ptr %t1 %t1331 = call i32 @lp_str_eq(ptr %t1330, ptr @.str6911) %t1332 = icmp ne i32 %t1331, 0 br i1 %t1332, label %then343, label %ifend345 then343: store ptr @.str6912, ptr %t403 %t1333 = load ptr, ptr %t410 %t1334 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 1 %t1335 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 2 %t1336 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 0 %t1337 = load i32, ptr %t1334 %t1338 = load i32, ptr %t1335 %t1339 = icmp sge i32 %t1337, %t1338 br i1 %t1339, label %grow346, label %put347 grow346: %t1340 = mul i32 %t1338, 2 %t1341 = icmp eq i32 %t1338, 0 %t1342 = select i1 %t1341, i32 8, i32 %t1340 %t1343 = getelementptr ptr, ptr null, i32 1 %t1344 = ptrtoint ptr %t1343 to i64 %t1345 = zext i32 %t1342 to i64 %t1346 = mul i64 %t1345, %t1344 %t1347 = load ptr, ptr %t1336 %t1348 = call ptr @realloc(ptr %t1347, i64 %t1346) store ptr %t1348, ptr %t1336 store i32 %t1342, ptr %t1335 br label %put347 put347: %t1349 = load ptr, ptr %t1336 %t1350 = getelementptr inbounds ptr, ptr %t1349, i32 %t1337 store ptr @.str6913, ptr %t1350 %t1351 = add i32 %t1337, 1 store i32 %t1351, ptr %t1334 %t1352 = load ptr, ptr %t410 %t1353 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 1 %t1354 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 2 %t1355 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 0 %t1356 = load i32, ptr %t1353 %t1357 = load i32, ptr %t1354 %t1358 = icmp sge i32 %t1356, %t1357 br i1 %t1358, label %grow348, label %put349 grow348: %t1359 = mul i32 %t1357, 2 %t1360 = icmp eq i32 %t1357, 0 %t1361 = select i1 %t1360, i32 8, i32 %t1359 %t1362 = getelementptr ptr, ptr null, i32 1 %t1363 = ptrtoint ptr %t1362 to i64 %t1364 = zext i32 %t1361 to i64 %t1365 = mul i64 %t1364, %t1363 %t1366 = load ptr, ptr %t1355 %t1367 = call ptr @realloc(ptr %t1366, i64 %t1365) store ptr %t1367, ptr %t1355 store i32 %t1361, ptr %t1354 br label %put349 put349: %t1368 = load ptr, ptr %t1355 %t1369 = getelementptr inbounds ptr, ptr %t1368, i32 %t1356 store ptr @.str6914, ptr %t1369 %t1370 = add i32 %t1356, 1 store i32 %t1370, ptr %t1353 %t1371 = load ptr, ptr %t410 %t1372 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 1 %t1373 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 2 %t1374 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 0 %t1375 = load i32, ptr %t1372 %t1376 = load i32, ptr %t1373 %t1377 = icmp sge i32 %t1375, %t1376 br i1 %t1377, label %grow350, label %put351 grow350: %t1378 = mul i32 %t1376, 2 %t1379 = icmp eq i32 %t1376, 0 %t1380 = select i1 %t1379, i32 8, i32 %t1378 %t1381 = getelementptr ptr, ptr null, i32 1 %t1382 = ptrtoint ptr %t1381 to i64 %t1383 = zext i32 %t1380 to i64 %t1384 = mul i64 %t1383, %t1382 %t1385 = load ptr, ptr %t1374 %t1386 = call ptr @realloc(ptr %t1385, i64 %t1384) store ptr %t1386, ptr %t1374 store i32 %t1380, ptr %t1373 br label %put351 put351: %t1387 = load ptr, ptr %t1374 %t1388 = getelementptr inbounds ptr, ptr %t1387, i32 %t1375 store ptr @.str6915, ptr %t1388 %t1389 = add i32 %t1375, 1 store i32 %t1389, ptr %t1372 %t1390 = load ptr, ptr %t410 %t1391 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 1 %t1392 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 2 %t1393 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 0 %t1394 = load i32, ptr %t1391 %t1395 = load i32, ptr %t1392 %t1396 = icmp sge i32 %t1394, %t1395 br i1 %t1396, label %grow352, label %put353 grow352: %t1397 = mul i32 %t1395, 2 %t1398 = icmp eq i32 %t1395, 0 %t1399 = select i1 %t1398, i32 8, i32 %t1397 %t1400 = getelementptr ptr, ptr null, i32 1 %t1401 = ptrtoint ptr %t1400 to i64 %t1402 = zext i32 %t1399 to i64 %t1403 = mul i64 %t1402, %t1401 %t1404 = load ptr, ptr %t1393 %t1405 = call ptr @realloc(ptr %t1404, i64 %t1403) store ptr %t1405, ptr %t1393 store i32 %t1399, ptr %t1392 br label %put353 put353: %t1406 = load ptr, ptr %t1393 %t1407 = getelementptr inbounds ptr, ptr %t1406, i32 %t1394 store ptr @.str6916, ptr %t1407 %t1408 = add i32 %t1394, 1 store i32 %t1408, ptr %t1391 %t1409 = load ptr, ptr %t410 %t1410 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 1 %t1411 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 2 %t1412 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 0 %t1413 = load i32, ptr %t1410 %t1414 = load i32, ptr %t1411 %t1415 = icmp sge i32 %t1413, %t1414 br i1 %t1415, label %grow354, label %put355 grow354: %t1416 = mul i32 %t1414, 2 %t1417 = icmp eq i32 %t1414, 0 %t1418 = select i1 %t1417, i32 8, i32 %t1416 %t1419 = getelementptr ptr, ptr null, i32 1 %t1420 = ptrtoint ptr %t1419 to i64 %t1421 = zext i32 %t1418 to i64 %t1422 = mul i64 %t1421, %t1420 %t1423 = load ptr, ptr %t1412 %t1424 = call ptr @realloc(ptr %t1423, i64 %t1422) store ptr %t1424, ptr %t1412 store i32 %t1418, ptr %t1411 br label %put355 put355: %t1425 = load ptr, ptr %t1412 %t1426 = getelementptr inbounds ptr, ptr %t1425, i32 %t1413 store ptr @.str6917, ptr %t1426 %t1427 = add i32 %t1413, 1 store i32 %t1427, ptr %t1410 %t1428 = load ptr, ptr %t410 %t1429 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 1 %t1430 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 2 %t1431 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 0 %t1432 = load i32, ptr %t1429 %t1433 = load i32, ptr %t1430 %t1434 = icmp sge i32 %t1432, %t1433 br i1 %t1434, label %grow356, label %put357 grow356: %t1435 = mul i32 %t1433, 2 %t1436 = icmp eq i32 %t1433, 0 %t1437 = select i1 %t1436, i32 8, i32 %t1435 %t1438 = getelementptr ptr, ptr null, i32 1 %t1439 = ptrtoint ptr %t1438 to i64 %t1440 = zext i32 %t1437 to i64 %t1441 = mul i64 %t1440, %t1439 %t1442 = load ptr, ptr %t1431 %t1443 = call ptr @realloc(ptr %t1442, i64 %t1441) store ptr %t1443, ptr %t1431 store i32 %t1437, ptr %t1430 br label %put357 put357: %t1444 = load ptr, ptr %t1431 %t1445 = getelementptr inbounds ptr, ptr %t1444, i32 %t1432 store ptr @.str6918, ptr %t1445 %t1446 = add i32 %t1432, 1 store i32 %t1446, ptr %t1429 %t1447 = load ptr, ptr %t410 %t1448 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 1 %t1449 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 2 %t1450 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 0 %t1451 = load i32, ptr %t1448 %t1452 = load i32, ptr %t1449 %t1453 = icmp sge i32 %t1451, %t1452 br i1 %t1453, label %grow358, label %put359 grow358: %t1454 = mul i32 %t1452, 2 %t1455 = icmp eq i32 %t1452, 0 %t1456 = select i1 %t1455, i32 8, i32 %t1454 %t1457 = getelementptr ptr, ptr null, i32 1 %t1458 = ptrtoint ptr %t1457 to i64 %t1459 = zext i32 %t1456 to i64 %t1460 = mul i64 %t1459, %t1458 %t1461 = load ptr, ptr %t1450 %t1462 = call ptr @realloc(ptr %t1461, i64 %t1460) store ptr %t1462, ptr %t1450 store i32 %t1456, ptr %t1449 br label %put359 put359: %t1463 = load ptr, ptr %t1450 %t1464 = getelementptr inbounds ptr, ptr %t1463, i32 %t1451 store ptr @.str6919, ptr %t1464 %t1465 = add i32 %t1451, 1 store i32 %t1465, ptr %t1448 br label %ifend345 ifend345: %t1466 = load ptr, ptr %t1 %t1467 = call i32 @lp_str_eq(ptr %t1466, ptr @.str6920) %t1468 = icmp ne i32 %t1467, 0 br i1 %t1468, label %then360, label %ifend362 then360: store ptr @.str6921, ptr %t403 %t1469 = load ptr, ptr %t410 %t1470 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 1 %t1471 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 2 %t1472 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 0 %t1473 = load i32, ptr %t1470 %t1474 = load i32, ptr %t1471 %t1475 = icmp sge i32 %t1473, %t1474 br i1 %t1475, label %grow363, label %put364 grow363: %t1476 = mul i32 %t1474, 2 %t1477 = icmp eq i32 %t1474, 0 %t1478 = select i1 %t1477, i32 8, i32 %t1476 %t1479 = getelementptr ptr, ptr null, i32 1 %t1480 = ptrtoint ptr %t1479 to i64 %t1481 = zext i32 %t1478 to i64 %t1482 = mul i64 %t1481, %t1480 %t1483 = load ptr, ptr %t1472 %t1484 = call ptr @realloc(ptr %t1483, i64 %t1482) store ptr %t1484, ptr %t1472 store i32 %t1478, ptr %t1471 br label %put364 put364: %t1485 = load ptr, ptr %t1472 %t1486 = getelementptr inbounds ptr, ptr %t1485, i32 %t1473 store ptr @.str6922, ptr %t1486 %t1487 = add i32 %t1473, 1 store i32 %t1487, ptr %t1470 %t1488 = load ptr, ptr %t410 %t1489 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 1 %t1490 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 2 %t1491 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 0 %t1492 = load i32, ptr %t1489 %t1493 = load i32, ptr %t1490 %t1494 = icmp sge i32 %t1492, %t1493 br i1 %t1494, label %grow365, label %put366 grow365: %t1495 = mul i32 %t1493, 2 %t1496 = icmp eq i32 %t1493, 0 %t1497 = select i1 %t1496, i32 8, i32 %t1495 %t1498 = getelementptr ptr, ptr null, i32 1 %t1499 = ptrtoint ptr %t1498 to i64 %t1500 = zext i32 %t1497 to i64 %t1501 = mul i64 %t1500, %t1499 %t1502 = load ptr, ptr %t1491 %t1503 = call ptr @realloc(ptr %t1502, i64 %t1501) store ptr %t1503, ptr %t1491 store i32 %t1497, ptr %t1490 br label %put366 put366: %t1504 = load ptr, ptr %t1491 %t1505 = getelementptr inbounds ptr, ptr %t1504, i32 %t1492 store ptr @.str6923, ptr %t1505 %t1506 = add i32 %t1492, 1 store i32 %t1506, ptr %t1489 %t1507 = load ptr, ptr %t410 %t1508 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 1 %t1509 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 2 %t1510 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 0 %t1511 = load i32, ptr %t1508 %t1512 = load i32, ptr %t1509 %t1513 = icmp sge i32 %t1511, %t1512 br i1 %t1513, label %grow367, label %put368 grow367: %t1514 = mul i32 %t1512, 2 %t1515 = icmp eq i32 %t1512, 0 %t1516 = select i1 %t1515, i32 8, i32 %t1514 %t1517 = getelementptr ptr, ptr null, i32 1 %t1518 = ptrtoint ptr %t1517 to i64 %t1519 = zext i32 %t1516 to i64 %t1520 = mul i64 %t1519, %t1518 %t1521 = load ptr, ptr %t1510 %t1522 = call ptr @realloc(ptr %t1521, i64 %t1520) store ptr %t1522, ptr %t1510 store i32 %t1516, ptr %t1509 br label %put368 put368: %t1523 = load ptr, ptr %t1510 %t1524 = getelementptr inbounds ptr, ptr %t1523, i32 %t1511 store ptr @.str6924, ptr %t1524 %t1525 = add i32 %t1511, 1 store i32 %t1525, ptr %t1508 %t1526 = load ptr, ptr %t410 %t1527 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 1 %t1528 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 2 %t1529 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 0 %t1530 = load i32, ptr %t1527 %t1531 = load i32, ptr %t1528 %t1532 = icmp sge i32 %t1530, %t1531 br i1 %t1532, label %grow369, label %put370 grow369: %t1533 = mul i32 %t1531, 2 %t1534 = icmp eq i32 %t1531, 0 %t1535 = select i1 %t1534, i32 8, i32 %t1533 %t1536 = getelementptr ptr, ptr null, i32 1 %t1537 = ptrtoint ptr %t1536 to i64 %t1538 = zext i32 %t1535 to i64 %t1539 = mul i64 %t1538, %t1537 %t1540 = load ptr, ptr %t1529 %t1541 = call ptr @realloc(ptr %t1540, i64 %t1539) store ptr %t1541, ptr %t1529 store i32 %t1535, ptr %t1528 br label %put370 put370: %t1542 = load ptr, ptr %t1529 %t1543 = getelementptr inbounds ptr, ptr %t1542, i32 %t1530 store ptr @.str6925, ptr %t1543 %t1544 = add i32 %t1530, 1 store i32 %t1544, ptr %t1527 %t1545 = load ptr, ptr %t410 %t1546 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 1 %t1547 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 2 %t1548 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 0 %t1549 = load i32, ptr %t1546 %t1550 = load i32, ptr %t1547 %t1551 = icmp sge i32 %t1549, %t1550 br i1 %t1551, label %grow371, label %put372 grow371: %t1552 = mul i32 %t1550, 2 %t1553 = icmp eq i32 %t1550, 0 %t1554 = select i1 %t1553, i32 8, i32 %t1552 %t1555 = getelementptr ptr, ptr null, i32 1 %t1556 = ptrtoint ptr %t1555 to i64 %t1557 = zext i32 %t1554 to i64 %t1558 = mul i64 %t1557, %t1556 %t1559 = load ptr, ptr %t1548 %t1560 = call ptr @realloc(ptr %t1559, i64 %t1558) store ptr %t1560, ptr %t1548 store i32 %t1554, ptr %t1547 br label %put372 put372: %t1561 = load ptr, ptr %t1548 %t1562 = getelementptr inbounds ptr, ptr %t1561, i32 %t1549 store ptr @.str6926, ptr %t1562 %t1563 = add i32 %t1549, 1 store i32 %t1563, ptr %t1546 %t1564 = load ptr, ptr %t410 %t1565 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 1 %t1566 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 2 %t1567 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 0 %t1568 = load i32, ptr %t1565 %t1569 = load i32, ptr %t1566 %t1570 = icmp sge i32 %t1568, %t1569 br i1 %t1570, label %grow373, label %put374 grow373: %t1571 = mul i32 %t1569, 2 %t1572 = icmp eq i32 %t1569, 0 %t1573 = select i1 %t1572, i32 8, i32 %t1571 %t1574 = getelementptr ptr, ptr null, i32 1 %t1575 = ptrtoint ptr %t1574 to i64 %t1576 = zext i32 %t1573 to i64 %t1577 = mul i64 %t1576, %t1575 %t1578 = load ptr, ptr %t1567 %t1579 = call ptr @realloc(ptr %t1578, i64 %t1577) store ptr %t1579, ptr %t1567 store i32 %t1573, ptr %t1566 br label %put374 put374: %t1580 = load ptr, ptr %t1567 %t1581 = getelementptr inbounds ptr, ptr %t1580, i32 %t1568 store ptr @.str6927, ptr %t1581 %t1582 = add i32 %t1568, 1 store i32 %t1582, ptr %t1565 %t1583 = load ptr, ptr %t410 %t1584 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 1 %t1585 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 2 %t1586 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 0 %t1587 = load i32, ptr %t1584 %t1588 = load i32, ptr %t1585 %t1589 = icmp sge i32 %t1587, %t1588 br i1 %t1589, label %grow375, label %put376 grow375: %t1590 = mul i32 %t1588, 2 %t1591 = icmp eq i32 %t1588, 0 %t1592 = select i1 %t1591, i32 8, i32 %t1590 %t1593 = getelementptr ptr, ptr null, i32 1 %t1594 = ptrtoint ptr %t1593 to i64 %t1595 = zext i32 %t1592 to i64 %t1596 = mul i64 %t1595, %t1594 %t1597 = load ptr, ptr %t1586 %t1598 = call ptr @realloc(ptr %t1597, i64 %t1596) store ptr %t1598, ptr %t1586 store i32 %t1592, ptr %t1585 br label %put376 put376: %t1599 = load ptr, ptr %t1586 %t1600 = getelementptr inbounds ptr, ptr %t1599, i32 %t1587 store ptr @.str6928, ptr %t1600 %t1601 = add i32 %t1587, 1 store i32 %t1601, ptr %t1584 br label %ifend362 ifend362: %t1602 = load ptr, ptr %t1 %t1603 = call i32 @lp_str_eq(ptr %t1602, ptr @.str6929) %t1604 = icmp ne i32 %t1603, 0 br i1 %t1604, label %then377, label %ifend379 then377: store ptr @.str6930, ptr %t403 %t1605 = load ptr, ptr %t410 %t1606 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 1 %t1607 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 2 %t1608 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 0 %t1609 = load i32, ptr %t1606 %t1610 = load i32, ptr %t1607 %t1611 = icmp sge i32 %t1609, %t1610 br i1 %t1611, label %grow380, label %put381 grow380: %t1612 = mul i32 %t1610, 2 %t1613 = icmp eq i32 %t1610, 0 %t1614 = select i1 %t1613, i32 8, i32 %t1612 %t1615 = getelementptr ptr, ptr null, i32 1 %t1616 = ptrtoint ptr %t1615 to i64 %t1617 = zext i32 %t1614 to i64 %t1618 = mul i64 %t1617, %t1616 %t1619 = load ptr, ptr %t1608 %t1620 = call ptr @realloc(ptr %t1619, i64 %t1618) store ptr %t1620, ptr %t1608 store i32 %t1614, ptr %t1607 br label %put381 put381: %t1621 = load ptr, ptr %t1608 %t1622 = getelementptr inbounds ptr, ptr %t1621, i32 %t1609 store ptr @.str6931, ptr %t1622 %t1623 = add i32 %t1609, 1 store i32 %t1623, ptr %t1606 %t1624 = load ptr, ptr %t410 %t1625 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 1 %t1626 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 2 %t1627 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 0 %t1628 = load i32, ptr %t1625 %t1629 = load i32, ptr %t1626 %t1630 = icmp sge i32 %t1628, %t1629 br i1 %t1630, label %grow382, label %put383 grow382: %t1631 = mul i32 %t1629, 2 %t1632 = icmp eq i32 %t1629, 0 %t1633 = select i1 %t1632, i32 8, i32 %t1631 %t1634 = getelementptr ptr, ptr null, i32 1 %t1635 = ptrtoint ptr %t1634 to i64 %t1636 = zext i32 %t1633 to i64 %t1637 = mul i64 %t1636, %t1635 %t1638 = load ptr, ptr %t1627 %t1639 = call ptr @realloc(ptr %t1638, i64 %t1637) store ptr %t1639, ptr %t1627 store i32 %t1633, ptr %t1626 br label %put383 put383: %t1640 = load ptr, ptr %t1627 %t1641 = getelementptr inbounds ptr, ptr %t1640, i32 %t1628 store ptr @.str6932, ptr %t1641 %t1642 = add i32 %t1628, 1 store i32 %t1642, ptr %t1625 %t1643 = load ptr, ptr %t410 %t1644 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 1 %t1645 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 2 %t1646 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 0 %t1647 = load i32, ptr %t1644 %t1648 = load i32, ptr %t1645 %t1649 = icmp sge i32 %t1647, %t1648 br i1 %t1649, label %grow384, label %put385 grow384: %t1650 = mul i32 %t1648, 2 %t1651 = icmp eq i32 %t1648, 0 %t1652 = select i1 %t1651, i32 8, i32 %t1650 %t1653 = getelementptr ptr, ptr null, i32 1 %t1654 = ptrtoint ptr %t1653 to i64 %t1655 = zext i32 %t1652 to i64 %t1656 = mul i64 %t1655, %t1654 %t1657 = load ptr, ptr %t1646 %t1658 = call ptr @realloc(ptr %t1657, i64 %t1656) store ptr %t1658, ptr %t1646 store i32 %t1652, ptr %t1645 br label %put385 put385: %t1659 = load ptr, ptr %t1646 %t1660 = getelementptr inbounds ptr, ptr %t1659, i32 %t1647 store ptr @.str6933, ptr %t1660 %t1661 = add i32 %t1647, 1 store i32 %t1661, ptr %t1644 br label %ifend379 ifend379: %t1662 = load ptr, ptr %t1 %t1663 = call i32 @lp_str_eq(ptr %t1662, ptr @.str6934) %t1664 = icmp ne i32 %t1663, 0 br i1 %t1664, label %then386, label %ifend388 then386: store ptr @.str6935, ptr %t403 %t1665 = load ptr, ptr %t410 %t1666 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 1 %t1667 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 2 %t1668 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 0 %t1669 = load i32, ptr %t1666 %t1670 = load i32, ptr %t1667 %t1671 = icmp sge i32 %t1669, %t1670 br i1 %t1671, label %grow389, label %put390 grow389: %t1672 = mul i32 %t1670, 2 %t1673 = icmp eq i32 %t1670, 0 %t1674 = select i1 %t1673, i32 8, i32 %t1672 %t1675 = getelementptr ptr, ptr null, i32 1 %t1676 = ptrtoint ptr %t1675 to i64 %t1677 = zext i32 %t1674 to i64 %t1678 = mul i64 %t1677, %t1676 %t1679 = load ptr, ptr %t1668 %t1680 = call ptr @realloc(ptr %t1679, i64 %t1678) store ptr %t1680, ptr %t1668 store i32 %t1674, ptr %t1667 br label %put390 put390: %t1681 = load ptr, ptr %t1668 %t1682 = getelementptr inbounds ptr, ptr %t1681, i32 %t1669 store ptr @.str6936, ptr %t1682 %t1683 = add i32 %t1669, 1 store i32 %t1683, ptr %t1666 %t1684 = load ptr, ptr %t410 %t1685 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 1 %t1686 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 2 %t1687 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 0 %t1688 = load i32, ptr %t1685 %t1689 = load i32, ptr %t1686 %t1690 = icmp sge i32 %t1688, %t1689 br i1 %t1690, label %grow391, label %put392 grow391: %t1691 = mul i32 %t1689, 2 %t1692 = icmp eq i32 %t1689, 0 %t1693 = select i1 %t1692, i32 8, i32 %t1691 %t1694 = getelementptr ptr, ptr null, i32 1 %t1695 = ptrtoint ptr %t1694 to i64 %t1696 = zext i32 %t1693 to i64 %t1697 = mul i64 %t1696, %t1695 %t1698 = load ptr, ptr %t1687 %t1699 = call ptr @realloc(ptr %t1698, i64 %t1697) store ptr %t1699, ptr %t1687 store i32 %t1693, ptr %t1686 br label %put392 put392: %t1700 = load ptr, ptr %t1687 %t1701 = getelementptr inbounds ptr, ptr %t1700, i32 %t1688 store ptr @.str6937, ptr %t1701 %t1702 = add i32 %t1688, 1 store i32 %t1702, ptr %t1685 %t1703 = load ptr, ptr %t410 %t1704 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 1 %t1705 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 2 %t1706 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 0 %t1707 = load i32, ptr %t1704 %t1708 = load i32, ptr %t1705 %t1709 = icmp sge i32 %t1707, %t1708 br i1 %t1709, label %grow393, label %put394 grow393: %t1710 = mul i32 %t1708, 2 %t1711 = icmp eq i32 %t1708, 0 %t1712 = select i1 %t1711, i32 8, i32 %t1710 %t1713 = getelementptr ptr, ptr null, i32 1 %t1714 = ptrtoint ptr %t1713 to i64 %t1715 = zext i32 %t1712 to i64 %t1716 = mul i64 %t1715, %t1714 %t1717 = load ptr, ptr %t1706 %t1718 = call ptr @realloc(ptr %t1717, i64 %t1716) store ptr %t1718, ptr %t1706 store i32 %t1712, ptr %t1705 br label %put394 put394: %t1719 = load ptr, ptr %t1706 %t1720 = getelementptr inbounds ptr, ptr %t1719, i32 %t1707 store ptr @.str6938, ptr %t1720 %t1721 = add i32 %t1707, 1 store i32 %t1721, ptr %t1704 %t1722 = load ptr, ptr %t410 %t1723 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 1 %t1724 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 2 %t1725 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 0 %t1726 = load i32, ptr %t1723 %t1727 = load i32, ptr %t1724 %t1728 = icmp sge i32 %t1726, %t1727 br i1 %t1728, label %grow395, label %put396 grow395: %t1729 = mul i32 %t1727, 2 %t1730 = icmp eq i32 %t1727, 0 %t1731 = select i1 %t1730, i32 8, i32 %t1729 %t1732 = getelementptr ptr, ptr null, i32 1 %t1733 = ptrtoint ptr %t1732 to i64 %t1734 = zext i32 %t1731 to i64 %t1735 = mul i64 %t1734, %t1733 %t1736 = load ptr, ptr %t1725 %t1737 = call ptr @realloc(ptr %t1736, i64 %t1735) store ptr %t1737, ptr %t1725 store i32 %t1731, ptr %t1724 br label %put396 put396: %t1738 = load ptr, ptr %t1725 %t1739 = getelementptr inbounds ptr, ptr %t1738, i32 %t1726 store ptr @.str6939, ptr %t1739 %t1740 = add i32 %t1726, 1 store i32 %t1740, ptr %t1723 br label %ifend388 ifend388: %t1741 = load ptr, ptr %t1 %t1742 = call i32 @lp_str_eq(ptr %t1741, ptr @.str6940) %t1743 = icmp ne i32 %t1742, 0 br i1 %t1743, label %then397, label %ifend399 then397: store ptr @.str6941, ptr %t403 %t1744 = load ptr, ptr %t410 %t1745 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 1 %t1746 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 2 %t1747 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 0 %t1748 = load i32, ptr %t1745 %t1749 = load i32, ptr %t1746 %t1750 = icmp sge i32 %t1748, %t1749 br i1 %t1750, label %grow400, label %put401 grow400: %t1751 = mul i32 %t1749, 2 %t1752 = icmp eq i32 %t1749, 0 %t1753 = select i1 %t1752, i32 8, i32 %t1751 %t1754 = getelementptr ptr, ptr null, i32 1 %t1755 = ptrtoint ptr %t1754 to i64 %t1756 = zext i32 %t1753 to i64 %t1757 = mul i64 %t1756, %t1755 %t1758 = load ptr, ptr %t1747 %t1759 = call ptr @realloc(ptr %t1758, i64 %t1757) store ptr %t1759, ptr %t1747 store i32 %t1753, ptr %t1746 br label %put401 put401: %t1760 = load ptr, ptr %t1747 %t1761 = getelementptr inbounds ptr, ptr %t1760, i32 %t1748 store ptr @.str6942, ptr %t1761 %t1762 = add i32 %t1748, 1 store i32 %t1762, ptr %t1745 %t1763 = load ptr, ptr %t410 %t1764 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 1 %t1765 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 2 %t1766 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 0 %t1767 = load i32, ptr %t1764 %t1768 = load i32, ptr %t1765 %t1769 = icmp sge i32 %t1767, %t1768 br i1 %t1769, label %grow402, label %put403 grow402: %t1770 = mul i32 %t1768, 2 %t1771 = icmp eq i32 %t1768, 0 %t1772 = select i1 %t1771, i32 8, i32 %t1770 %t1773 = getelementptr ptr, ptr null, i32 1 %t1774 = ptrtoint ptr %t1773 to i64 %t1775 = zext i32 %t1772 to i64 %t1776 = mul i64 %t1775, %t1774 %t1777 = load ptr, ptr %t1766 %t1778 = call ptr @realloc(ptr %t1777, i64 %t1776) store ptr %t1778, ptr %t1766 store i32 %t1772, ptr %t1765 br label %put403 put403: %t1779 = load ptr, ptr %t1766 %t1780 = getelementptr inbounds ptr, ptr %t1779, i32 %t1767 store ptr @.str6943, ptr %t1780 %t1781 = add i32 %t1767, 1 store i32 %t1781, ptr %t1764 %t1782 = load ptr, ptr %t410 %t1783 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 1 %t1784 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 2 %t1785 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 0 %t1786 = load i32, ptr %t1783 %t1787 = load i32, ptr %t1784 %t1788 = icmp sge i32 %t1786, %t1787 br i1 %t1788, label %grow404, label %put405 grow404: %t1789 = mul i32 %t1787, 2 %t1790 = icmp eq i32 %t1787, 0 %t1791 = select i1 %t1790, i32 8, i32 %t1789 %t1792 = getelementptr ptr, ptr null, i32 1 %t1793 = ptrtoint ptr %t1792 to i64 %t1794 = zext i32 %t1791 to i64 %t1795 = mul i64 %t1794, %t1793 %t1796 = load ptr, ptr %t1785 %t1797 = call ptr @realloc(ptr %t1796, i64 %t1795) store ptr %t1797, ptr %t1785 store i32 %t1791, ptr %t1784 br label %put405 put405: %t1798 = load ptr, ptr %t1785 %t1799 = getelementptr inbounds ptr, ptr %t1798, i32 %t1786 store ptr @.str6944, ptr %t1799 %t1800 = add i32 %t1786, 1 store i32 %t1800, ptr %t1783 %t1801 = load ptr, ptr %t410 %t1802 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 1 %t1803 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 2 %t1804 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 0 %t1805 = load i32, ptr %t1802 %t1806 = load i32, ptr %t1803 %t1807 = icmp sge i32 %t1805, %t1806 br i1 %t1807, label %grow406, label %put407 grow406: %t1808 = mul i32 %t1806, 2 %t1809 = icmp eq i32 %t1806, 0 %t1810 = select i1 %t1809, i32 8, i32 %t1808 %t1811 = getelementptr ptr, ptr null, i32 1 %t1812 = ptrtoint ptr %t1811 to i64 %t1813 = zext i32 %t1810 to i64 %t1814 = mul i64 %t1813, %t1812 %t1815 = load ptr, ptr %t1804 %t1816 = call ptr @realloc(ptr %t1815, i64 %t1814) store ptr %t1816, ptr %t1804 store i32 %t1810, ptr %t1803 br label %put407 put407: %t1817 = load ptr, ptr %t1804 %t1818 = getelementptr inbounds ptr, ptr %t1817, i32 %t1805 store ptr @.str6945, ptr %t1818 %t1819 = add i32 %t1805, 1 store i32 %t1819, ptr %t1802 %t1820 = load ptr, ptr %t410 %t1821 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 1 %t1822 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 2 %t1823 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 0 %t1824 = load i32, ptr %t1821 %t1825 = load i32, ptr %t1822 %t1826 = icmp sge i32 %t1824, %t1825 br i1 %t1826, label %grow408, label %put409 grow408: %t1827 = mul i32 %t1825, 2 %t1828 = icmp eq i32 %t1825, 0 %t1829 = select i1 %t1828, i32 8, i32 %t1827 %t1830 = getelementptr ptr, ptr null, i32 1 %t1831 = ptrtoint ptr %t1830 to i64 %t1832 = zext i32 %t1829 to i64 %t1833 = mul i64 %t1832, %t1831 %t1834 = load ptr, ptr %t1823 %t1835 = call ptr @realloc(ptr %t1834, i64 %t1833) store ptr %t1835, ptr %t1823 store i32 %t1829, ptr %t1822 br label %put409 put409: %t1836 = load ptr, ptr %t1823 %t1837 = getelementptr inbounds ptr, ptr %t1836, i32 %t1824 store ptr @.str6946, ptr %t1837 %t1838 = add i32 %t1824, 1 store i32 %t1838, ptr %t1821 br label %ifend399 ifend399: %t1839 = load ptr, ptr %t1 %t1840 = call i32 @lp_str_eq(ptr %t1839, ptr @.str6947) %t1841 = icmp ne i32 %t1840, 0 br i1 %t1841, label %then410, label %ifend412 then410: store ptr @.str6948, ptr %t403 %t1842 = load ptr, ptr %t410 %t1843 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 1 %t1844 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 2 %t1845 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 0 %t1846 = load i32, ptr %t1843 %t1847 = load i32, ptr %t1844 %t1848 = icmp sge i32 %t1846, %t1847 br i1 %t1848, label %grow413, label %put414 grow413: %t1849 = mul i32 %t1847, 2 %t1850 = icmp eq i32 %t1847, 0 %t1851 = select i1 %t1850, i32 8, i32 %t1849 %t1852 = getelementptr ptr, ptr null, i32 1 %t1853 = ptrtoint ptr %t1852 to i64 %t1854 = zext i32 %t1851 to i64 %t1855 = mul i64 %t1854, %t1853 %t1856 = load ptr, ptr %t1845 %t1857 = call ptr @realloc(ptr %t1856, i64 %t1855) store ptr %t1857, ptr %t1845 store i32 %t1851, ptr %t1844 br label %put414 put414: %t1858 = load ptr, ptr %t1845 %t1859 = getelementptr inbounds ptr, ptr %t1858, i32 %t1846 store ptr @.str6949, ptr %t1859 %t1860 = add i32 %t1846, 1 store i32 %t1860, ptr %t1843 %t1861 = load ptr, ptr %t410 %t1862 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 1 %t1863 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 2 %t1864 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 0 %t1865 = load i32, ptr %t1862 %t1866 = load i32, ptr %t1863 %t1867 = icmp sge i32 %t1865, %t1866 br i1 %t1867, label %grow415, label %put416 grow415: %t1868 = mul i32 %t1866, 2 %t1869 = icmp eq i32 %t1866, 0 %t1870 = select i1 %t1869, i32 8, i32 %t1868 %t1871 = getelementptr ptr, ptr null, i32 1 %t1872 = ptrtoint ptr %t1871 to i64 %t1873 = zext i32 %t1870 to i64 %t1874 = mul i64 %t1873, %t1872 %t1875 = load ptr, ptr %t1864 %t1876 = call ptr @realloc(ptr %t1875, i64 %t1874) store ptr %t1876, ptr %t1864 store i32 %t1870, ptr %t1863 br label %put416 put416: %t1877 = load ptr, ptr %t1864 %t1878 = getelementptr inbounds ptr, ptr %t1877, i32 %t1865 store ptr @.str6950, ptr %t1878 %t1879 = add i32 %t1865, 1 store i32 %t1879, ptr %t1862 br label %ifend412 ifend412: %t1880 = load ptr, ptr %t1 %t1881 = call i32 @lp_str_eq(ptr %t1880, ptr @.str6951) %t1882 = icmp ne i32 %t1881, 0 br i1 %t1882, label %then417, label %ifend419 then417: store ptr @.str6952, ptr %t403 %t1883 = load ptr, ptr %t410 %t1884 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 1 %t1885 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 2 %t1886 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 0 %t1887 = load i32, ptr %t1884 %t1888 = load i32, ptr %t1885 %t1889 = icmp sge i32 %t1887, %t1888 br i1 %t1889, label %grow420, label %put421 grow420: %t1890 = mul i32 %t1888, 2 %t1891 = icmp eq i32 %t1888, 0 %t1892 = select i1 %t1891, i32 8, i32 %t1890 %t1893 = getelementptr ptr, ptr null, i32 1 %t1894 = ptrtoint ptr %t1893 to i64 %t1895 = zext i32 %t1892 to i64 %t1896 = mul i64 %t1895, %t1894 %t1897 = load ptr, ptr %t1886 %t1898 = call ptr @realloc(ptr %t1897, i64 %t1896) store ptr %t1898, ptr %t1886 store i32 %t1892, ptr %t1885 br label %put421 put421: %t1899 = load ptr, ptr %t1886 %t1900 = getelementptr inbounds ptr, ptr %t1899, i32 %t1887 store ptr @.str6953, ptr %t1900 %t1901 = add i32 %t1887, 1 store i32 %t1901, ptr %t1884 %t1902 = load ptr, ptr %t410 %t1903 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 1 %t1904 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 2 %t1905 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 0 %t1906 = load i32, ptr %t1903 %t1907 = load i32, ptr %t1904 %t1908 = icmp sge i32 %t1906, %t1907 br i1 %t1908, label %grow422, label %put423 grow422: %t1909 = mul i32 %t1907, 2 %t1910 = icmp eq i32 %t1907, 0 %t1911 = select i1 %t1910, i32 8, i32 %t1909 %t1912 = getelementptr ptr, ptr null, i32 1 %t1913 = ptrtoint ptr %t1912 to i64 %t1914 = zext i32 %t1911 to i64 %t1915 = mul i64 %t1914, %t1913 %t1916 = load ptr, ptr %t1905 %t1917 = call ptr @realloc(ptr %t1916, i64 %t1915) store ptr %t1917, ptr %t1905 store i32 %t1911, ptr %t1904 br label %put423 put423: %t1918 = load ptr, ptr %t1905 %t1919 = getelementptr inbounds ptr, ptr %t1918, i32 %t1906 store ptr @.str6954, ptr %t1919 %t1920 = add i32 %t1906, 1 store i32 %t1920, ptr %t1903 %t1921 = load ptr, ptr %t410 %t1922 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 1 %t1923 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 2 %t1924 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 0 %t1925 = load i32, ptr %t1922 %t1926 = load i32, ptr %t1923 %t1927 = icmp sge i32 %t1925, %t1926 br i1 %t1927, label %grow424, label %put425 grow424: %t1928 = mul i32 %t1926, 2 %t1929 = icmp eq i32 %t1926, 0 %t1930 = select i1 %t1929, i32 8, i32 %t1928 %t1931 = getelementptr ptr, ptr null, i32 1 %t1932 = ptrtoint ptr %t1931 to i64 %t1933 = zext i32 %t1930 to i64 %t1934 = mul i64 %t1933, %t1932 %t1935 = load ptr, ptr %t1924 %t1936 = call ptr @realloc(ptr %t1935, i64 %t1934) store ptr %t1936, ptr %t1924 store i32 %t1930, ptr %t1923 br label %put425 put425: %t1937 = load ptr, ptr %t1924 %t1938 = getelementptr inbounds ptr, ptr %t1937, i32 %t1925 store ptr @.str6955, ptr %t1938 %t1939 = add i32 %t1925, 1 store i32 %t1939, ptr %t1922 %t1940 = load ptr, ptr %t410 %t1941 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 1 %t1942 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 2 %t1943 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 0 %t1944 = load i32, ptr %t1941 %t1945 = load i32, ptr %t1942 %t1946 = icmp sge i32 %t1944, %t1945 br i1 %t1946, label %grow426, label %put427 grow426: %t1947 = mul i32 %t1945, 2 %t1948 = icmp eq i32 %t1945, 0 %t1949 = select i1 %t1948, i32 8, i32 %t1947 %t1950 = getelementptr ptr, ptr null, i32 1 %t1951 = ptrtoint ptr %t1950 to i64 %t1952 = zext i32 %t1949 to i64 %t1953 = mul i64 %t1952, %t1951 %t1954 = load ptr, ptr %t1943 %t1955 = call ptr @realloc(ptr %t1954, i64 %t1953) store ptr %t1955, ptr %t1943 store i32 %t1949, ptr %t1942 br label %put427 put427: %t1956 = load ptr, ptr %t1943 %t1957 = getelementptr inbounds ptr, ptr %t1956, i32 %t1944 store ptr @.str6956, ptr %t1957 %t1958 = add i32 %t1944, 1 store i32 %t1958, ptr %t1941 br label %ifend419 ifend419: %t1959 = load ptr, ptr %t1 %t1960 = call i32 @lp_str_eq(ptr %t1959, ptr @.str6957) %t1961 = icmp ne i32 %t1960, 0 br i1 %t1961, label %then428, label %ifend430 then428: store ptr @.str6958, ptr %t403 br label %ifend430 ifend430: %t1962 = load ptr, ptr %t1 %t1963 = call i32 @lp_str_eq(ptr %t1962, ptr @.str6959) %t1964 = icmp ne i32 %t1963, 0 br i1 %t1964, label %then431, label %ifend433 then431: store ptr @.str6960, ptr %t403 %t1965 = load ptr, ptr %t410 %t1966 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 1 %t1967 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 2 %t1968 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 0 %t1969 = load i32, ptr %t1966 %t1970 = load i32, ptr %t1967 %t1971 = icmp sge i32 %t1969, %t1970 br i1 %t1971, label %grow434, label %put435 grow434: %t1972 = mul i32 %t1970, 2 %t1973 = icmp eq i32 %t1970, 0 %t1974 = select i1 %t1973, i32 8, i32 %t1972 %t1975 = getelementptr ptr, ptr null, i32 1 %t1976 = ptrtoint ptr %t1975 to i64 %t1977 = zext i32 %t1974 to i64 %t1978 = mul i64 %t1977, %t1976 %t1979 = load ptr, ptr %t1968 %t1980 = call ptr @realloc(ptr %t1979, i64 %t1978) store ptr %t1980, ptr %t1968 store i32 %t1974, ptr %t1967 br label %put435 put435: %t1981 = load ptr, ptr %t1968 %t1982 = getelementptr inbounds ptr, ptr %t1981, i32 %t1969 store ptr @.str6961, ptr %t1982 %t1983 = add i32 %t1969, 1 store i32 %t1983, ptr %t1966 br label %ifend433 ifend433: %t1984 = load ptr, ptr %t1 %t1985 = call i32 @lp_str_eq(ptr %t1984, ptr @.str6962) %t1986 = icmp ne i32 %t1985, 0 br i1 %t1986, label %then436, label %ifend438 then436: store ptr @.str6963, ptr %t403 %t1987 = load ptr, ptr %t410 %t1988 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 1 %t1989 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 2 %t1990 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 0 %t1991 = load i32, ptr %t1988 %t1992 = load i32, ptr %t1989 %t1993 = icmp sge i32 %t1991, %t1992 br i1 %t1993, label %grow439, label %put440 grow439: %t1994 = mul i32 %t1992, 2 %t1995 = icmp eq i32 %t1992, 0 %t1996 = select i1 %t1995, i32 8, i32 %t1994 %t1997 = getelementptr ptr, ptr null, i32 1 %t1998 = ptrtoint ptr %t1997 to i64 %t1999 = zext i32 %t1996 to i64 %t2000 = mul i64 %t1999, %t1998 %t2001 = load ptr, ptr %t1990 %t2002 = call ptr @realloc(ptr %t2001, i64 %t2000) store ptr %t2002, ptr %t1990 store i32 %t1996, ptr %t1989 br label %put440 put440: %t2003 = load ptr, ptr %t1990 %t2004 = getelementptr inbounds ptr, ptr %t2003, i32 %t1991 store ptr @.str6964, ptr %t2004 %t2005 = add i32 %t1991, 1 store i32 %t2005, ptr %t1988 br label %ifend438 ifend438: %t2006 = load ptr, ptr %t1 %t2007 = call i32 @lp_str_eq(ptr %t2006, ptr @.str6965) %t2008 = icmp ne i32 %t2007, 0 br i1 %t2008, label %then441, label %ifend443 then441: store ptr @.str6966, ptr %t403 %t2009 = load ptr, ptr %t410 %t2010 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 1 %t2011 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 2 %t2012 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 0 %t2013 = load i32, ptr %t2010 %t2014 = load i32, ptr %t2011 %t2015 = icmp sge i32 %t2013, %t2014 br i1 %t2015, label %grow444, label %put445 grow444: %t2016 = mul i32 %t2014, 2 %t2017 = icmp eq i32 %t2014, 0 %t2018 = select i1 %t2017, i32 8, i32 %t2016 %t2019 = getelementptr ptr, ptr null, i32 1 %t2020 = ptrtoint ptr %t2019 to i64 %t2021 = zext i32 %t2018 to i64 %t2022 = mul i64 %t2021, %t2020 %t2023 = load ptr, ptr %t2012 %t2024 = call ptr @realloc(ptr %t2023, i64 %t2022) store ptr %t2024, ptr %t2012 store i32 %t2018, ptr %t2011 br label %put445 put445: %t2025 = load ptr, ptr %t2012 %t2026 = getelementptr inbounds ptr, ptr %t2025, i32 %t2013 store ptr @.str6967, ptr %t2026 %t2027 = add i32 %t2013, 1 store i32 %t2027, ptr %t2010 %t2028 = load ptr, ptr %t410 %t2029 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 1 %t2030 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 2 %t2031 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 0 %t2032 = load i32, ptr %t2029 %t2033 = load i32, ptr %t2030 %t2034 = icmp sge i32 %t2032, %t2033 br i1 %t2034, label %grow446, label %put447 grow446: %t2035 = mul i32 %t2033, 2 %t2036 = icmp eq i32 %t2033, 0 %t2037 = select i1 %t2036, i32 8, i32 %t2035 %t2038 = getelementptr ptr, ptr null, i32 1 %t2039 = ptrtoint ptr %t2038 to i64 %t2040 = zext i32 %t2037 to i64 %t2041 = mul i64 %t2040, %t2039 %t2042 = load ptr, ptr %t2031 %t2043 = call ptr @realloc(ptr %t2042, i64 %t2041) store ptr %t2043, ptr %t2031 store i32 %t2037, ptr %t2030 br label %put447 put447: %t2044 = load ptr, ptr %t2031 %t2045 = getelementptr inbounds ptr, ptr %t2044, i32 %t2032 store ptr @.str6968, ptr %t2045 %t2046 = add i32 %t2032, 1 store i32 %t2046, ptr %t2029 br label %ifend443 ifend443: br label %ifend208 ifend208: %t2047 = load ptr, ptr %t0 %t2048 = call i32 @lp_str_eq(ptr %t2047, ptr @.str6969) %t2049 = icmp ne i32 %t2048, 0 br i1 %t2049, label %then448, label %ifend450 then448: %t2050 = load ptr, ptr %t1 %t2051 = call i32 @lp_str_eq(ptr %t2050, ptr @.str6970) %t2052 = icmp ne i32 %t2051, 0 br i1 %t2052, label %then451, label %ifend453 then451: store ptr @.str6971, ptr %t403 %t2053 = load ptr, ptr %t410 %t2054 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 1 %t2055 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 2 %t2056 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 0 %t2057 = load i32, ptr %t2054 %t2058 = load i32, ptr %t2055 %t2059 = icmp sge i32 %t2057, %t2058 br i1 %t2059, label %grow454, label %put455 grow454: %t2060 = mul i32 %t2058, 2 %t2061 = icmp eq i32 %t2058, 0 %t2062 = select i1 %t2061, i32 8, i32 %t2060 %t2063 = getelementptr ptr, ptr null, i32 1 %t2064 = ptrtoint ptr %t2063 to i64 %t2065 = zext i32 %t2062 to i64 %t2066 = mul i64 %t2065, %t2064 %t2067 = load ptr, ptr %t2056 %t2068 = call ptr @realloc(ptr %t2067, i64 %t2066) store ptr %t2068, ptr %t2056 store i32 %t2062, ptr %t2055 br label %put455 put455: %t2069 = load ptr, ptr %t2056 %t2070 = getelementptr inbounds ptr, ptr %t2069, i32 %t2057 store ptr @.str6972, ptr %t2070 %t2071 = add i32 %t2057, 1 store i32 %t2071, ptr %t2054 %t2072 = load ptr, ptr %t410 %t2073 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 1 %t2074 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 2 %t2075 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 0 %t2076 = load i32, ptr %t2073 %t2077 = load i32, ptr %t2074 %t2078 = icmp sge i32 %t2076, %t2077 br i1 %t2078, label %grow456, label %put457 grow456: %t2079 = mul i32 %t2077, 2 %t2080 = icmp eq i32 %t2077, 0 %t2081 = select i1 %t2080, i32 8, i32 %t2079 %t2082 = getelementptr ptr, ptr null, i32 1 %t2083 = ptrtoint ptr %t2082 to i64 %t2084 = zext i32 %t2081 to i64 %t2085 = mul i64 %t2084, %t2083 %t2086 = load ptr, ptr %t2075 %t2087 = call ptr @realloc(ptr %t2086, i64 %t2085) store ptr %t2087, ptr %t2075 store i32 %t2081, ptr %t2074 br label %put457 put457: %t2088 = load ptr, ptr %t2075 %t2089 = getelementptr inbounds ptr, ptr %t2088, i32 %t2076 store ptr @.str6973, ptr %t2089 %t2090 = add i32 %t2076, 1 store i32 %t2090, ptr %t2073 %t2091 = load ptr, ptr %t410 %t2092 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 1 %t2093 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 2 %t2094 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 0 %t2095 = load i32, ptr %t2092 %t2096 = load i32, ptr %t2093 %t2097 = icmp sge i32 %t2095, %t2096 br i1 %t2097, label %grow458, label %put459 grow458: %t2098 = mul i32 %t2096, 2 %t2099 = icmp eq i32 %t2096, 0 %t2100 = select i1 %t2099, i32 8, i32 %t2098 %t2101 = getelementptr ptr, ptr null, i32 1 %t2102 = ptrtoint ptr %t2101 to i64 %t2103 = zext i32 %t2100 to i64 %t2104 = mul i64 %t2103, %t2102 %t2105 = load ptr, ptr %t2094 %t2106 = call ptr @realloc(ptr %t2105, i64 %t2104) store ptr %t2106, ptr %t2094 store i32 %t2100, ptr %t2093 br label %put459 put459: %t2107 = load ptr, ptr %t2094 %t2108 = getelementptr inbounds ptr, ptr %t2107, i32 %t2095 store ptr @.str6974, ptr %t2108 %t2109 = add i32 %t2095, 1 store i32 %t2109, ptr %t2092 br label %ifend453 ifend453: %t2110 = load ptr, ptr %t1 %t2111 = call i32 @lp_str_eq(ptr %t2110, ptr @.str6975) %t2112 = icmp ne i32 %t2111, 0 br i1 %t2112, label %then460, label %ifend462 then460: store ptr @.str6976, ptr %t403 %t2113 = load ptr, ptr %t410 %t2114 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 1 %t2115 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 2 %t2116 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 0 %t2117 = load i32, ptr %t2114 %t2118 = load i32, ptr %t2115 %t2119 = icmp sge i32 %t2117, %t2118 br i1 %t2119, label %grow463, label %put464 grow463: %t2120 = mul i32 %t2118, 2 %t2121 = icmp eq i32 %t2118, 0 %t2122 = select i1 %t2121, i32 8, i32 %t2120 %t2123 = getelementptr ptr, ptr null, i32 1 %t2124 = ptrtoint ptr %t2123 to i64 %t2125 = zext i32 %t2122 to i64 %t2126 = mul i64 %t2125, %t2124 %t2127 = load ptr, ptr %t2116 %t2128 = call ptr @realloc(ptr %t2127, i64 %t2126) store ptr %t2128, ptr %t2116 store i32 %t2122, ptr %t2115 br label %put464 put464: %t2129 = load ptr, ptr %t2116 %t2130 = getelementptr inbounds ptr, ptr %t2129, i32 %t2117 store ptr @.str6977, ptr %t2130 %t2131 = add i32 %t2117, 1 store i32 %t2131, ptr %t2114 %t2132 = load ptr, ptr %t410 %t2133 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 1 %t2134 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 2 %t2135 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 0 %t2136 = load i32, ptr %t2133 %t2137 = load i32, ptr %t2134 %t2138 = icmp sge i32 %t2136, %t2137 br i1 %t2138, label %grow465, label %put466 grow465: %t2139 = mul i32 %t2137, 2 %t2140 = icmp eq i32 %t2137, 0 %t2141 = select i1 %t2140, i32 8, i32 %t2139 %t2142 = getelementptr ptr, ptr null, i32 1 %t2143 = ptrtoint ptr %t2142 to i64 %t2144 = zext i32 %t2141 to i64 %t2145 = mul i64 %t2144, %t2143 %t2146 = load ptr, ptr %t2135 %t2147 = call ptr @realloc(ptr %t2146, i64 %t2145) store ptr %t2147, ptr %t2135 store i32 %t2141, ptr %t2134 br label %put466 put466: %t2148 = load ptr, ptr %t2135 %t2149 = getelementptr inbounds ptr, ptr %t2148, i32 %t2136 store ptr @.str6978, ptr %t2149 %t2150 = add i32 %t2136, 1 store i32 %t2150, ptr %t2133 %t2151 = load ptr, ptr %t410 %t2152 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 1 %t2153 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 2 %t2154 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 0 %t2155 = load i32, ptr %t2152 %t2156 = load i32, ptr %t2153 %t2157 = icmp sge i32 %t2155, %t2156 br i1 %t2157, label %grow467, label %put468 grow467: %t2158 = mul i32 %t2156, 2 %t2159 = icmp eq i32 %t2156, 0 %t2160 = select i1 %t2159, i32 8, i32 %t2158 %t2161 = getelementptr ptr, ptr null, i32 1 %t2162 = ptrtoint ptr %t2161 to i64 %t2163 = zext i32 %t2160 to i64 %t2164 = mul i64 %t2163, %t2162 %t2165 = load ptr, ptr %t2154 %t2166 = call ptr @realloc(ptr %t2165, i64 %t2164) store ptr %t2166, ptr %t2154 store i32 %t2160, ptr %t2153 br label %put468 put468: %t2167 = load ptr, ptr %t2154 %t2168 = getelementptr inbounds ptr, ptr %t2167, i32 %t2155 store ptr @.str6979, ptr %t2168 %t2169 = add i32 %t2155, 1 store i32 %t2169, ptr %t2152 br label %ifend462 ifend462: %t2170 = load ptr, ptr %t1 %t2171 = call i32 @lp_str_eq(ptr %t2170, ptr @.str6980) %t2172 = icmp ne i32 %t2171, 0 br i1 %t2172, label %then469, label %ifend471 then469: store ptr @.str6981, ptr %t403 %t2173 = load ptr, ptr %t410 %t2174 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 1 %t2175 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 2 %t2176 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 0 %t2177 = load i32, ptr %t2174 %t2178 = load i32, ptr %t2175 %t2179 = icmp sge i32 %t2177, %t2178 br i1 %t2179, label %grow472, label %put473 grow472: %t2180 = mul i32 %t2178, 2 %t2181 = icmp eq i32 %t2178, 0 %t2182 = select i1 %t2181, i32 8, i32 %t2180 %t2183 = getelementptr ptr, ptr null, i32 1 %t2184 = ptrtoint ptr %t2183 to i64 %t2185 = zext i32 %t2182 to i64 %t2186 = mul i64 %t2185, %t2184 %t2187 = load ptr, ptr %t2176 %t2188 = call ptr @realloc(ptr %t2187, i64 %t2186) store ptr %t2188, ptr %t2176 store i32 %t2182, ptr %t2175 br label %put473 put473: %t2189 = load ptr, ptr %t2176 %t2190 = getelementptr inbounds ptr, ptr %t2189, i32 %t2177 store ptr @.str6982, ptr %t2190 %t2191 = add i32 %t2177, 1 store i32 %t2191, ptr %t2174 %t2192 = load ptr, ptr %t410 %t2193 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 1 %t2194 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 2 %t2195 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 0 %t2196 = load i32, ptr %t2193 %t2197 = load i32, ptr %t2194 %t2198 = icmp sge i32 %t2196, %t2197 br i1 %t2198, label %grow474, label %put475 grow474: %t2199 = mul i32 %t2197, 2 %t2200 = icmp eq i32 %t2197, 0 %t2201 = select i1 %t2200, i32 8, i32 %t2199 %t2202 = getelementptr ptr, ptr null, i32 1 %t2203 = ptrtoint ptr %t2202 to i64 %t2204 = zext i32 %t2201 to i64 %t2205 = mul i64 %t2204, %t2203 %t2206 = load ptr, ptr %t2195 %t2207 = call ptr @realloc(ptr %t2206, i64 %t2205) store ptr %t2207, ptr %t2195 store i32 %t2201, ptr %t2194 br label %put475 put475: %t2208 = load ptr, ptr %t2195 %t2209 = getelementptr inbounds ptr, ptr %t2208, i32 %t2196 store ptr @.str6983, ptr %t2209 %t2210 = add i32 %t2196, 1 store i32 %t2210, ptr %t2193 %t2211 = load ptr, ptr %t410 %t2212 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 1 %t2213 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 2 %t2214 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 0 %t2215 = load i32, ptr %t2212 %t2216 = load i32, ptr %t2213 %t2217 = icmp sge i32 %t2215, %t2216 br i1 %t2217, label %grow476, label %put477 grow476: %t2218 = mul i32 %t2216, 2 %t2219 = icmp eq i32 %t2216, 0 %t2220 = select i1 %t2219, i32 8, i32 %t2218 %t2221 = getelementptr ptr, ptr null, i32 1 %t2222 = ptrtoint ptr %t2221 to i64 %t2223 = zext i32 %t2220 to i64 %t2224 = mul i64 %t2223, %t2222 %t2225 = load ptr, ptr %t2214 %t2226 = call ptr @realloc(ptr %t2225, i64 %t2224) store ptr %t2226, ptr %t2214 store i32 %t2220, ptr %t2213 br label %put477 put477: %t2227 = load ptr, ptr %t2214 %t2228 = getelementptr inbounds ptr, ptr %t2227, i32 %t2215 store ptr @.str6984, ptr %t2228 %t2229 = add i32 %t2215, 1 store i32 %t2229, ptr %t2212 %t2230 = load ptr, ptr %t410 %t2231 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 1 %t2232 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 2 %t2233 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 0 %t2234 = load i32, ptr %t2231 %t2235 = load i32, ptr %t2232 %t2236 = icmp sge i32 %t2234, %t2235 br i1 %t2236, label %grow478, label %put479 grow478: %t2237 = mul i32 %t2235, 2 %t2238 = icmp eq i32 %t2235, 0 %t2239 = select i1 %t2238, i32 8, i32 %t2237 %t2240 = getelementptr ptr, ptr null, i32 1 %t2241 = ptrtoint ptr %t2240 to i64 %t2242 = zext i32 %t2239 to i64 %t2243 = mul i64 %t2242, %t2241 %t2244 = load ptr, ptr %t2233 %t2245 = call ptr @realloc(ptr %t2244, i64 %t2243) store ptr %t2245, ptr %t2233 store i32 %t2239, ptr %t2232 br label %put479 put479: %t2246 = load ptr, ptr %t2233 %t2247 = getelementptr inbounds ptr, ptr %t2246, i32 %t2234 store ptr @.str6985, ptr %t2247 %t2248 = add i32 %t2234, 1 store i32 %t2248, ptr %t2231 %t2249 = load ptr, ptr %t410 %t2250 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 1 %t2251 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 2 %t2252 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 0 %t2253 = load i32, ptr %t2250 %t2254 = load i32, ptr %t2251 %t2255 = icmp sge i32 %t2253, %t2254 br i1 %t2255, label %grow480, label %put481 grow480: %t2256 = mul i32 %t2254, 2 %t2257 = icmp eq i32 %t2254, 0 %t2258 = select i1 %t2257, i32 8, i32 %t2256 %t2259 = getelementptr ptr, ptr null, i32 1 %t2260 = ptrtoint ptr %t2259 to i64 %t2261 = zext i32 %t2258 to i64 %t2262 = mul i64 %t2261, %t2260 %t2263 = load ptr, ptr %t2252 %t2264 = call ptr @realloc(ptr %t2263, i64 %t2262) store ptr %t2264, ptr %t2252 store i32 %t2258, ptr %t2251 br label %put481 put481: %t2265 = load ptr, ptr %t2252 %t2266 = getelementptr inbounds ptr, ptr %t2265, i32 %t2253 store ptr @.str6986, ptr %t2266 %t2267 = add i32 %t2253, 1 store i32 %t2267, ptr %t2250 br label %ifend471 ifend471: %t2268 = load ptr, ptr %t1 %t2269 = call i32 @lp_str_eq(ptr %t2268, ptr @.str6987) %t2270 = icmp ne i32 %t2269, 0 br i1 %t2270, label %then482, label %ifend484 then482: store ptr @.str6988, ptr %t403 %t2271 = load ptr, ptr %t410 %t2272 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 1 %t2273 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 2 %t2274 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 0 %t2275 = load i32, ptr %t2272 %t2276 = load i32, ptr %t2273 %t2277 = icmp sge i32 %t2275, %t2276 br i1 %t2277, label %grow485, label %put486 grow485: %t2278 = mul i32 %t2276, 2 %t2279 = icmp eq i32 %t2276, 0 %t2280 = select i1 %t2279, i32 8, i32 %t2278 %t2281 = getelementptr ptr, ptr null, i32 1 %t2282 = ptrtoint ptr %t2281 to i64 %t2283 = zext i32 %t2280 to i64 %t2284 = mul i64 %t2283, %t2282 %t2285 = load ptr, ptr %t2274 %t2286 = call ptr @realloc(ptr %t2285, i64 %t2284) store ptr %t2286, ptr %t2274 store i32 %t2280, ptr %t2273 br label %put486 put486: %t2287 = load ptr, ptr %t2274 %t2288 = getelementptr inbounds ptr, ptr %t2287, i32 %t2275 store ptr @.str6989, ptr %t2288 %t2289 = add i32 %t2275, 1 store i32 %t2289, ptr %t2272 %t2290 = load ptr, ptr %t410 %t2291 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 1 %t2292 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 2 %t2293 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 0 %t2294 = load i32, ptr %t2291 %t2295 = load i32, ptr %t2292 %t2296 = icmp sge i32 %t2294, %t2295 br i1 %t2296, label %grow487, label %put488 grow487: %t2297 = mul i32 %t2295, 2 %t2298 = icmp eq i32 %t2295, 0 %t2299 = select i1 %t2298, i32 8, i32 %t2297 %t2300 = getelementptr ptr, ptr null, i32 1 %t2301 = ptrtoint ptr %t2300 to i64 %t2302 = zext i32 %t2299 to i64 %t2303 = mul i64 %t2302, %t2301 %t2304 = load ptr, ptr %t2293 %t2305 = call ptr @realloc(ptr %t2304, i64 %t2303) store ptr %t2305, ptr %t2293 store i32 %t2299, ptr %t2292 br label %put488 put488: %t2306 = load ptr, ptr %t2293 %t2307 = getelementptr inbounds ptr, ptr %t2306, i32 %t2294 store ptr @.str6990, ptr %t2307 %t2308 = add i32 %t2294, 1 store i32 %t2308, ptr %t2291 %t2309 = load ptr, ptr %t410 %t2310 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 1 %t2311 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 2 %t2312 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 0 %t2313 = load i32, ptr %t2310 %t2314 = load i32, ptr %t2311 %t2315 = icmp sge i32 %t2313, %t2314 br i1 %t2315, label %grow489, label %put490 grow489: %t2316 = mul i32 %t2314, 2 %t2317 = icmp eq i32 %t2314, 0 %t2318 = select i1 %t2317, i32 8, i32 %t2316 %t2319 = getelementptr ptr, ptr null, i32 1 %t2320 = ptrtoint ptr %t2319 to i64 %t2321 = zext i32 %t2318 to i64 %t2322 = mul i64 %t2321, %t2320 %t2323 = load ptr, ptr %t2312 %t2324 = call ptr @realloc(ptr %t2323, i64 %t2322) store ptr %t2324, ptr %t2312 store i32 %t2318, ptr %t2311 br label %put490 put490: %t2325 = load ptr, ptr %t2312 %t2326 = getelementptr inbounds ptr, ptr %t2325, i32 %t2313 store ptr @.str6991, ptr %t2326 %t2327 = add i32 %t2313, 1 store i32 %t2327, ptr %t2310 %t2328 = load ptr, ptr %t410 %t2329 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 1 %t2330 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 2 %t2331 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 0 %t2332 = load i32, ptr %t2329 %t2333 = load i32, ptr %t2330 %t2334 = icmp sge i32 %t2332, %t2333 br i1 %t2334, label %grow491, label %put492 grow491: %t2335 = mul i32 %t2333, 2 %t2336 = icmp eq i32 %t2333, 0 %t2337 = select i1 %t2336, i32 8, i32 %t2335 %t2338 = getelementptr ptr, ptr null, i32 1 %t2339 = ptrtoint ptr %t2338 to i64 %t2340 = zext i32 %t2337 to i64 %t2341 = mul i64 %t2340, %t2339 %t2342 = load ptr, ptr %t2331 %t2343 = call ptr @realloc(ptr %t2342, i64 %t2341) store ptr %t2343, ptr %t2331 store i32 %t2337, ptr %t2330 br label %put492 put492: %t2344 = load ptr, ptr %t2331 %t2345 = getelementptr inbounds ptr, ptr %t2344, i32 %t2332 store ptr @.str6992, ptr %t2345 %t2346 = add i32 %t2332, 1 store i32 %t2346, ptr %t2329 %t2347 = load ptr, ptr %t410 %t2348 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 1 %t2349 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 2 %t2350 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 0 %t2351 = load i32, ptr %t2348 %t2352 = load i32, ptr %t2349 %t2353 = icmp sge i32 %t2351, %t2352 br i1 %t2353, label %grow493, label %put494 grow493: %t2354 = mul i32 %t2352, 2 %t2355 = icmp eq i32 %t2352, 0 %t2356 = select i1 %t2355, i32 8, i32 %t2354 %t2357 = getelementptr ptr, ptr null, i32 1 %t2358 = ptrtoint ptr %t2357 to i64 %t2359 = zext i32 %t2356 to i64 %t2360 = mul i64 %t2359, %t2358 %t2361 = load ptr, ptr %t2350 %t2362 = call ptr @realloc(ptr %t2361, i64 %t2360) store ptr %t2362, ptr %t2350 store i32 %t2356, ptr %t2349 br label %put494 put494: %t2363 = load ptr, ptr %t2350 %t2364 = getelementptr inbounds ptr, ptr %t2363, i32 %t2351 store ptr @.str6993, ptr %t2364 %t2365 = add i32 %t2351, 1 store i32 %t2365, ptr %t2348 br label %ifend484 ifend484: %t2366 = load ptr, ptr %t1 %t2367 = call i32 @lp_str_eq(ptr %t2366, ptr @.str6994) %t2368 = icmp ne i32 %t2367, 0 br i1 %t2368, label %then495, label %ifend497 then495: store ptr @.str6995, ptr %t403 %t2369 = load ptr, ptr %t410 %t2370 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 1 %t2371 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 2 %t2372 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 0 %t2373 = load i32, ptr %t2370 %t2374 = load i32, ptr %t2371 %t2375 = icmp sge i32 %t2373, %t2374 br i1 %t2375, label %grow498, label %put499 grow498: %t2376 = mul i32 %t2374, 2 %t2377 = icmp eq i32 %t2374, 0 %t2378 = select i1 %t2377, i32 8, i32 %t2376 %t2379 = getelementptr ptr, ptr null, i32 1 %t2380 = ptrtoint ptr %t2379 to i64 %t2381 = zext i32 %t2378 to i64 %t2382 = mul i64 %t2381, %t2380 %t2383 = load ptr, ptr %t2372 %t2384 = call ptr @realloc(ptr %t2383, i64 %t2382) store ptr %t2384, ptr %t2372 store i32 %t2378, ptr %t2371 br label %put499 put499: %t2385 = load ptr, ptr %t2372 %t2386 = getelementptr inbounds ptr, ptr %t2385, i32 %t2373 store ptr @.str6996, ptr %t2386 %t2387 = add i32 %t2373, 1 store i32 %t2387, ptr %t2370 %t2388 = load ptr, ptr %t410 %t2389 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 1 %t2390 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 2 %t2391 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 0 %t2392 = load i32, ptr %t2389 %t2393 = load i32, ptr %t2390 %t2394 = icmp sge i32 %t2392, %t2393 br i1 %t2394, label %grow500, label %put501 grow500: %t2395 = mul i32 %t2393, 2 %t2396 = icmp eq i32 %t2393, 0 %t2397 = select i1 %t2396, i32 8, i32 %t2395 %t2398 = getelementptr ptr, ptr null, i32 1 %t2399 = ptrtoint ptr %t2398 to i64 %t2400 = zext i32 %t2397 to i64 %t2401 = mul i64 %t2400, %t2399 %t2402 = load ptr, ptr %t2391 %t2403 = call ptr @realloc(ptr %t2402, i64 %t2401) store ptr %t2403, ptr %t2391 store i32 %t2397, ptr %t2390 br label %put501 put501: %t2404 = load ptr, ptr %t2391 %t2405 = getelementptr inbounds ptr, ptr %t2404, i32 %t2392 store ptr @.str6997, ptr %t2405 %t2406 = add i32 %t2392, 1 store i32 %t2406, ptr %t2389 %t2407 = load ptr, ptr %t410 %t2408 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 1 %t2409 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 2 %t2410 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 0 %t2411 = load i32, ptr %t2408 %t2412 = load i32, ptr %t2409 %t2413 = icmp sge i32 %t2411, %t2412 br i1 %t2413, label %grow502, label %put503 grow502: %t2414 = mul i32 %t2412, 2 %t2415 = icmp eq i32 %t2412, 0 %t2416 = select i1 %t2415, i32 8, i32 %t2414 %t2417 = getelementptr ptr, ptr null, i32 1 %t2418 = ptrtoint ptr %t2417 to i64 %t2419 = zext i32 %t2416 to i64 %t2420 = mul i64 %t2419, %t2418 %t2421 = load ptr, ptr %t2410 %t2422 = call ptr @realloc(ptr %t2421, i64 %t2420) store ptr %t2422, ptr %t2410 store i32 %t2416, ptr %t2409 br label %put503 put503: %t2423 = load ptr, ptr %t2410 %t2424 = getelementptr inbounds ptr, ptr %t2423, i32 %t2411 store ptr @.str6998, ptr %t2424 %t2425 = add i32 %t2411, 1 store i32 %t2425, ptr %t2408 %t2426 = load ptr, ptr %t410 %t2427 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 1 %t2428 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 2 %t2429 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 0 %t2430 = load i32, ptr %t2427 %t2431 = load i32, ptr %t2428 %t2432 = icmp sge i32 %t2430, %t2431 br i1 %t2432, label %grow504, label %put505 grow504: %t2433 = mul i32 %t2431, 2 %t2434 = icmp eq i32 %t2431, 0 %t2435 = select i1 %t2434, i32 8, i32 %t2433 %t2436 = getelementptr ptr, ptr null, i32 1 %t2437 = ptrtoint ptr %t2436 to i64 %t2438 = zext i32 %t2435 to i64 %t2439 = mul i64 %t2438, %t2437 %t2440 = load ptr, ptr %t2429 %t2441 = call ptr @realloc(ptr %t2440, i64 %t2439) store ptr %t2441, ptr %t2429 store i32 %t2435, ptr %t2428 br label %put505 put505: %t2442 = load ptr, ptr %t2429 %t2443 = getelementptr inbounds ptr, ptr %t2442, i32 %t2430 store ptr @.str6999, ptr %t2443 %t2444 = add i32 %t2430, 1 store i32 %t2444, ptr %t2427 br label %ifend497 ifend497: %t2445 = load ptr, ptr %t1 %t2446 = call i32 @lp_str_eq(ptr %t2445, ptr @.str7000) %t2447 = icmp ne i32 %t2446, 0 br i1 %t2447, label %then506, label %ifend508 then506: store ptr @.str7001, ptr %t403 %t2448 = load ptr, ptr %t410 %t2449 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 1 %t2450 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 2 %t2451 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 0 %t2452 = load i32, ptr %t2449 %t2453 = load i32, ptr %t2450 %t2454 = icmp sge i32 %t2452, %t2453 br i1 %t2454, label %grow509, label %put510 grow509: %t2455 = mul i32 %t2453, 2 %t2456 = icmp eq i32 %t2453, 0 %t2457 = select i1 %t2456, i32 8, i32 %t2455 %t2458 = getelementptr ptr, ptr null, i32 1 %t2459 = ptrtoint ptr %t2458 to i64 %t2460 = zext i32 %t2457 to i64 %t2461 = mul i64 %t2460, %t2459 %t2462 = load ptr, ptr %t2451 %t2463 = call ptr @realloc(ptr %t2462, i64 %t2461) store ptr %t2463, ptr %t2451 store i32 %t2457, ptr %t2450 br label %put510 put510: %t2464 = load ptr, ptr %t2451 %t2465 = getelementptr inbounds ptr, ptr %t2464, i32 %t2452 store ptr @.str7002, ptr %t2465 %t2466 = add i32 %t2452, 1 store i32 %t2466, ptr %t2449 br label %ifend508 ifend508: %t2467 = load ptr, ptr %t1 %t2468 = call i32 @lp_str_eq(ptr %t2467, ptr @.str7003) %t2469 = icmp ne i32 %t2468, 0 br i1 %t2469, label %then511, label %ifend513 then511: store ptr @.str7004, ptr %t403 %t2470 = load ptr, ptr %t410 %t2471 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 1 %t2472 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 2 %t2473 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 0 %t2474 = load i32, ptr %t2471 %t2475 = load i32, ptr %t2472 %t2476 = icmp sge i32 %t2474, %t2475 br i1 %t2476, label %grow514, label %put515 grow514: %t2477 = mul i32 %t2475, 2 %t2478 = icmp eq i32 %t2475, 0 %t2479 = select i1 %t2478, i32 8, i32 %t2477 %t2480 = getelementptr ptr, ptr null, i32 1 %t2481 = ptrtoint ptr %t2480 to i64 %t2482 = zext i32 %t2479 to i64 %t2483 = mul i64 %t2482, %t2481 %t2484 = load ptr, ptr %t2473 %t2485 = call ptr @realloc(ptr %t2484, i64 %t2483) store ptr %t2485, ptr %t2473 store i32 %t2479, ptr %t2472 br label %put515 put515: %t2486 = load ptr, ptr %t2473 %t2487 = getelementptr inbounds ptr, ptr %t2486, i32 %t2474 store ptr @.str7005, ptr %t2487 %t2488 = add i32 %t2474, 1 store i32 %t2488, ptr %t2471 %t2489 = load ptr, ptr %t410 %t2490 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 1 %t2491 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 2 %t2492 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 0 %t2493 = load i32, ptr %t2490 %t2494 = load i32, ptr %t2491 %t2495 = icmp sge i32 %t2493, %t2494 br i1 %t2495, label %grow516, label %put517 grow516: %t2496 = mul i32 %t2494, 2 %t2497 = icmp eq i32 %t2494, 0 %t2498 = select i1 %t2497, i32 8, i32 %t2496 %t2499 = getelementptr ptr, ptr null, i32 1 %t2500 = ptrtoint ptr %t2499 to i64 %t2501 = zext i32 %t2498 to i64 %t2502 = mul i64 %t2501, %t2500 %t2503 = load ptr, ptr %t2492 %t2504 = call ptr @realloc(ptr %t2503, i64 %t2502) store ptr %t2504, ptr %t2492 store i32 %t2498, ptr %t2491 br label %put517 put517: %t2505 = load ptr, ptr %t2492 %t2506 = getelementptr inbounds ptr, ptr %t2505, i32 %t2493 store ptr @.str7006, ptr %t2506 %t2507 = add i32 %t2493, 1 store i32 %t2507, ptr %t2490 %t2508 = load ptr, ptr %t410 %t2509 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 1 %t2510 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 2 %t2511 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 0 %t2512 = load i32, ptr %t2509 %t2513 = load i32, ptr %t2510 %t2514 = icmp sge i32 %t2512, %t2513 br i1 %t2514, label %grow518, label %put519 grow518: %t2515 = mul i32 %t2513, 2 %t2516 = icmp eq i32 %t2513, 0 %t2517 = select i1 %t2516, i32 8, i32 %t2515 %t2518 = getelementptr ptr, ptr null, i32 1 %t2519 = ptrtoint ptr %t2518 to i64 %t2520 = zext i32 %t2517 to i64 %t2521 = mul i64 %t2520, %t2519 %t2522 = load ptr, ptr %t2511 %t2523 = call ptr @realloc(ptr %t2522, i64 %t2521) store ptr %t2523, ptr %t2511 store i32 %t2517, ptr %t2510 br label %put519 put519: %t2524 = load ptr, ptr %t2511 %t2525 = getelementptr inbounds ptr, ptr %t2524, i32 %t2512 store ptr @.str7007, ptr %t2525 %t2526 = add i32 %t2512, 1 store i32 %t2526, ptr %t2509 br label %ifend513 ifend513: %t2527 = load ptr, ptr %t1 %t2528 = call i32 @lp_str_eq(ptr %t2527, ptr @.str7008) %t2529 = icmp ne i32 %t2528, 0 br i1 %t2529, label %then520, label %ifend522 then520: store ptr @.str7009, ptr %t403 %t2530 = load ptr, ptr %t410 %t2531 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 1 %t2532 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 2 %t2533 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 0 %t2534 = load i32, ptr %t2531 %t2535 = load i32, ptr %t2532 %t2536 = icmp sge i32 %t2534, %t2535 br i1 %t2536, label %grow523, label %put524 grow523: %t2537 = mul i32 %t2535, 2 %t2538 = icmp eq i32 %t2535, 0 %t2539 = select i1 %t2538, i32 8, i32 %t2537 %t2540 = getelementptr ptr, ptr null, i32 1 %t2541 = ptrtoint ptr %t2540 to i64 %t2542 = zext i32 %t2539 to i64 %t2543 = mul i64 %t2542, %t2541 %t2544 = load ptr, ptr %t2533 %t2545 = call ptr @realloc(ptr %t2544, i64 %t2543) store ptr %t2545, ptr %t2533 store i32 %t2539, ptr %t2532 br label %put524 put524: %t2546 = load ptr, ptr %t2533 %t2547 = getelementptr inbounds ptr, ptr %t2546, i32 %t2534 store ptr @.str7010, ptr %t2547 %t2548 = add i32 %t2534, 1 store i32 %t2548, ptr %t2531 %t2549 = load ptr, ptr %t410 %t2550 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 1 %t2551 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 2 %t2552 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 0 %t2553 = load i32, ptr %t2550 %t2554 = load i32, ptr %t2551 %t2555 = icmp sge i32 %t2553, %t2554 br i1 %t2555, label %grow525, label %put526 grow525: %t2556 = mul i32 %t2554, 2 %t2557 = icmp eq i32 %t2554, 0 %t2558 = select i1 %t2557, i32 8, i32 %t2556 %t2559 = getelementptr ptr, ptr null, i32 1 %t2560 = ptrtoint ptr %t2559 to i64 %t2561 = zext i32 %t2558 to i64 %t2562 = mul i64 %t2561, %t2560 %t2563 = load ptr, ptr %t2552 %t2564 = call ptr @realloc(ptr %t2563, i64 %t2562) store ptr %t2564, ptr %t2552 store i32 %t2558, ptr %t2551 br label %put526 put526: %t2565 = load ptr, ptr %t2552 %t2566 = getelementptr inbounds ptr, ptr %t2565, i32 %t2553 store ptr @.str7011, ptr %t2566 %t2567 = add i32 %t2553, 1 store i32 %t2567, ptr %t2550 %t2568 = load ptr, ptr %t410 %t2569 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 1 %t2570 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 2 %t2571 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 0 %t2572 = load i32, ptr %t2569 %t2573 = load i32, ptr %t2570 %t2574 = icmp sge i32 %t2572, %t2573 br i1 %t2574, label %grow527, label %put528 grow527: %t2575 = mul i32 %t2573, 2 %t2576 = icmp eq i32 %t2573, 0 %t2577 = select i1 %t2576, i32 8, i32 %t2575 %t2578 = getelementptr ptr, ptr null, i32 1 %t2579 = ptrtoint ptr %t2578 to i64 %t2580 = zext i32 %t2577 to i64 %t2581 = mul i64 %t2580, %t2579 %t2582 = load ptr, ptr %t2571 %t2583 = call ptr @realloc(ptr %t2582, i64 %t2581) store ptr %t2583, ptr %t2571 store i32 %t2577, ptr %t2570 br label %put528 put528: %t2584 = load ptr, ptr %t2571 %t2585 = getelementptr inbounds ptr, ptr %t2584, i32 %t2572 store ptr @.str7012, ptr %t2585 %t2586 = add i32 %t2572, 1 store i32 %t2586, ptr %t2569 %t2587 = load ptr, ptr %t410 %t2588 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 1 %t2589 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 2 %t2590 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 0 %t2591 = load i32, ptr %t2588 %t2592 = load i32, ptr %t2589 %t2593 = icmp sge i32 %t2591, %t2592 br i1 %t2593, label %grow529, label %put530 grow529: %t2594 = mul i32 %t2592, 2 %t2595 = icmp eq i32 %t2592, 0 %t2596 = select i1 %t2595, i32 8, i32 %t2594 %t2597 = getelementptr ptr, ptr null, i32 1 %t2598 = ptrtoint ptr %t2597 to i64 %t2599 = zext i32 %t2596 to i64 %t2600 = mul i64 %t2599, %t2598 %t2601 = load ptr, ptr %t2590 %t2602 = call ptr @realloc(ptr %t2601, i64 %t2600) store ptr %t2602, ptr %t2590 store i32 %t2596, ptr %t2589 br label %put530 put530: %t2603 = load ptr, ptr %t2590 %t2604 = getelementptr inbounds ptr, ptr %t2603, i32 %t2591 store ptr @.str7013, ptr %t2604 %t2605 = add i32 %t2591, 1 store i32 %t2605, ptr %t2588 br label %ifend522 ifend522: %t2606 = load ptr, ptr %t1 %t2607 = call i32 @lp_str_eq(ptr %t2606, ptr @.str7014) %t2608 = icmp ne i32 %t2607, 0 br i1 %t2608, label %then531, label %ifend533 then531: store ptr @.str7015, ptr %t403 %t2609 = load ptr, ptr %t410 %t2610 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 1 %t2611 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 2 %t2612 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 0 %t2613 = load i32, ptr %t2610 %t2614 = load i32, ptr %t2611 %t2615 = icmp sge i32 %t2613, %t2614 br i1 %t2615, label %grow534, label %put535 grow534: %t2616 = mul i32 %t2614, 2 %t2617 = icmp eq i32 %t2614, 0 %t2618 = select i1 %t2617, i32 8, i32 %t2616 %t2619 = getelementptr ptr, ptr null, i32 1 %t2620 = ptrtoint ptr %t2619 to i64 %t2621 = zext i32 %t2618 to i64 %t2622 = mul i64 %t2621, %t2620 %t2623 = load ptr, ptr %t2612 %t2624 = call ptr @realloc(ptr %t2623, i64 %t2622) store ptr %t2624, ptr %t2612 store i32 %t2618, ptr %t2611 br label %put535 put535: %t2625 = load ptr, ptr %t2612 %t2626 = getelementptr inbounds ptr, ptr %t2625, i32 %t2613 store ptr @.str7016, ptr %t2626 %t2627 = add i32 %t2613, 1 store i32 %t2627, ptr %t2610 %t2628 = load ptr, ptr %t410 %t2629 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 1 %t2630 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 2 %t2631 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 0 %t2632 = load i32, ptr %t2629 %t2633 = load i32, ptr %t2630 %t2634 = icmp sge i32 %t2632, %t2633 br i1 %t2634, label %grow536, label %put537 grow536: %t2635 = mul i32 %t2633, 2 %t2636 = icmp eq i32 %t2633, 0 %t2637 = select i1 %t2636, i32 8, i32 %t2635 %t2638 = getelementptr ptr, ptr null, i32 1 %t2639 = ptrtoint ptr %t2638 to i64 %t2640 = zext i32 %t2637 to i64 %t2641 = mul i64 %t2640, %t2639 %t2642 = load ptr, ptr %t2631 %t2643 = call ptr @realloc(ptr %t2642, i64 %t2641) store ptr %t2643, ptr %t2631 store i32 %t2637, ptr %t2630 br label %put537 put537: %t2644 = load ptr, ptr %t2631 %t2645 = getelementptr inbounds ptr, ptr %t2644, i32 %t2632 store ptr @.str7017, ptr %t2645 %t2646 = add i32 %t2632, 1 store i32 %t2646, ptr %t2629 %t2647 = load ptr, ptr %t410 %t2648 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 1 %t2649 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 2 %t2650 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 0 %t2651 = load i32, ptr %t2648 %t2652 = load i32, ptr %t2649 %t2653 = icmp sge i32 %t2651, %t2652 br i1 %t2653, label %grow538, label %put539 grow538: %t2654 = mul i32 %t2652, 2 %t2655 = icmp eq i32 %t2652, 0 %t2656 = select i1 %t2655, i32 8, i32 %t2654 %t2657 = getelementptr ptr, ptr null, i32 1 %t2658 = ptrtoint ptr %t2657 to i64 %t2659 = zext i32 %t2656 to i64 %t2660 = mul i64 %t2659, %t2658 %t2661 = load ptr, ptr %t2650 %t2662 = call ptr @realloc(ptr %t2661, i64 %t2660) store ptr %t2662, ptr %t2650 store i32 %t2656, ptr %t2649 br label %put539 put539: %t2663 = load ptr, ptr %t2650 %t2664 = getelementptr inbounds ptr, ptr %t2663, i32 %t2651 store ptr @.str7018, ptr %t2664 %t2665 = add i32 %t2651, 1 store i32 %t2665, ptr %t2648 %t2666 = load ptr, ptr %t410 %t2667 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 1 %t2668 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 2 %t2669 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 0 %t2670 = load i32, ptr %t2667 %t2671 = load i32, ptr %t2668 %t2672 = icmp sge i32 %t2670, %t2671 br i1 %t2672, label %grow540, label %put541 grow540: %t2673 = mul i32 %t2671, 2 %t2674 = icmp eq i32 %t2671, 0 %t2675 = select i1 %t2674, i32 8, i32 %t2673 %t2676 = getelementptr ptr, ptr null, i32 1 %t2677 = ptrtoint ptr %t2676 to i64 %t2678 = zext i32 %t2675 to i64 %t2679 = mul i64 %t2678, %t2677 %t2680 = load ptr, ptr %t2669 %t2681 = call ptr @realloc(ptr %t2680, i64 %t2679) store ptr %t2681, ptr %t2669 store i32 %t2675, ptr %t2668 br label %put541 put541: %t2682 = load ptr, ptr %t2669 %t2683 = getelementptr inbounds ptr, ptr %t2682, i32 %t2670 store ptr @.str7019, ptr %t2683 %t2684 = add i32 %t2670, 1 store i32 %t2684, ptr %t2667 %t2685 = load ptr, ptr %t410 %t2686 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 1 %t2687 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 2 %t2688 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 0 %t2689 = load i32, ptr %t2686 %t2690 = load i32, ptr %t2687 %t2691 = icmp sge i32 %t2689, %t2690 br i1 %t2691, label %grow542, label %put543 grow542: %t2692 = mul i32 %t2690, 2 %t2693 = icmp eq i32 %t2690, 0 %t2694 = select i1 %t2693, i32 8, i32 %t2692 %t2695 = getelementptr ptr, ptr null, i32 1 %t2696 = ptrtoint ptr %t2695 to i64 %t2697 = zext i32 %t2694 to i64 %t2698 = mul i64 %t2697, %t2696 %t2699 = load ptr, ptr %t2688 %t2700 = call ptr @realloc(ptr %t2699, i64 %t2698) store ptr %t2700, ptr %t2688 store i32 %t2694, ptr %t2687 br label %put543 put543: %t2701 = load ptr, ptr %t2688 %t2702 = getelementptr inbounds ptr, ptr %t2701, i32 %t2689 store ptr @.str7020, ptr %t2702 %t2703 = add i32 %t2689, 1 store i32 %t2703, ptr %t2686 %t2704 = load ptr, ptr %t410 %t2705 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 1 %t2706 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 2 %t2707 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 0 %t2708 = load i32, ptr %t2705 %t2709 = load i32, ptr %t2706 %t2710 = icmp sge i32 %t2708, %t2709 br i1 %t2710, label %grow544, label %put545 grow544: %t2711 = mul i32 %t2709, 2 %t2712 = icmp eq i32 %t2709, 0 %t2713 = select i1 %t2712, i32 8, i32 %t2711 %t2714 = getelementptr ptr, ptr null, i32 1 %t2715 = ptrtoint ptr %t2714 to i64 %t2716 = zext i32 %t2713 to i64 %t2717 = mul i64 %t2716, %t2715 %t2718 = load ptr, ptr %t2707 %t2719 = call ptr @realloc(ptr %t2718, i64 %t2717) store ptr %t2719, ptr %t2707 store i32 %t2713, ptr %t2706 br label %put545 put545: %t2720 = load ptr, ptr %t2707 %t2721 = getelementptr inbounds ptr, ptr %t2720, i32 %t2708 store ptr @.str7021, ptr %t2721 %t2722 = add i32 %t2708, 1 store i32 %t2722, ptr %t2705 %t2723 = load ptr, ptr %t410 %t2724 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 1 %t2725 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 2 %t2726 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 0 %t2727 = load i32, ptr %t2724 %t2728 = load i32, ptr %t2725 %t2729 = icmp sge i32 %t2727, %t2728 br i1 %t2729, label %grow546, label %put547 grow546: %t2730 = mul i32 %t2728, 2 %t2731 = icmp eq i32 %t2728, 0 %t2732 = select i1 %t2731, i32 8, i32 %t2730 %t2733 = getelementptr ptr, ptr null, i32 1 %t2734 = ptrtoint ptr %t2733 to i64 %t2735 = zext i32 %t2732 to i64 %t2736 = mul i64 %t2735, %t2734 %t2737 = load ptr, ptr %t2726 %t2738 = call ptr @realloc(ptr %t2737, i64 %t2736) store ptr %t2738, ptr %t2726 store i32 %t2732, ptr %t2725 br label %put547 put547: %t2739 = load ptr, ptr %t2726 %t2740 = getelementptr inbounds ptr, ptr %t2739, i32 %t2727 store ptr @.str7022, ptr %t2740 %t2741 = add i32 %t2727, 1 store i32 %t2741, ptr %t2724 %t2742 = load ptr, ptr %t410 %t2743 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 1 %t2744 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 2 %t2745 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 0 %t2746 = load i32, ptr %t2743 %t2747 = load i32, ptr %t2744 %t2748 = icmp sge i32 %t2746, %t2747 br i1 %t2748, label %grow548, label %put549 grow548: %t2749 = mul i32 %t2747, 2 %t2750 = icmp eq i32 %t2747, 0 %t2751 = select i1 %t2750, i32 8, i32 %t2749 %t2752 = getelementptr ptr, ptr null, i32 1 %t2753 = ptrtoint ptr %t2752 to i64 %t2754 = zext i32 %t2751 to i64 %t2755 = mul i64 %t2754, %t2753 %t2756 = load ptr, ptr %t2745 %t2757 = call ptr @realloc(ptr %t2756, i64 %t2755) store ptr %t2757, ptr %t2745 store i32 %t2751, ptr %t2744 br label %put549 put549: %t2758 = load ptr, ptr %t2745 %t2759 = getelementptr inbounds ptr, ptr %t2758, i32 %t2746 store ptr @.str7023, ptr %t2759 %t2760 = add i32 %t2746, 1 store i32 %t2760, ptr %t2743 %t2761 = load ptr, ptr %t410 %t2762 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 1 %t2763 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 2 %t2764 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 0 %t2765 = load i32, ptr %t2762 %t2766 = load i32, ptr %t2763 %t2767 = icmp sge i32 %t2765, %t2766 br i1 %t2767, label %grow550, label %put551 grow550: %t2768 = mul i32 %t2766, 2 %t2769 = icmp eq i32 %t2766, 0 %t2770 = select i1 %t2769, i32 8, i32 %t2768 %t2771 = getelementptr ptr, ptr null, i32 1 %t2772 = ptrtoint ptr %t2771 to i64 %t2773 = zext i32 %t2770 to i64 %t2774 = mul i64 %t2773, %t2772 %t2775 = load ptr, ptr %t2764 %t2776 = call ptr @realloc(ptr %t2775, i64 %t2774) store ptr %t2776, ptr %t2764 store i32 %t2770, ptr %t2763 br label %put551 put551: %t2777 = load ptr, ptr %t2764 %t2778 = getelementptr inbounds ptr, ptr %t2777, i32 %t2765 store ptr @.str7024, ptr %t2778 %t2779 = add i32 %t2765, 1 store i32 %t2779, ptr %t2762 br label %ifend533 ifend533: %t2780 = load ptr, ptr %t1 %t2781 = call i32 @lp_str_eq(ptr %t2780, ptr @.str7025) %t2782 = icmp ne i32 %t2781, 0 br i1 %t2782, label %then552, label %ifend554 then552: store ptr @.str7026, ptr %t403 %t2783 = load ptr, ptr %t410 %t2784 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 1 %t2785 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 2 %t2786 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 0 %t2787 = load i32, ptr %t2784 %t2788 = load i32, ptr %t2785 %t2789 = icmp sge i32 %t2787, %t2788 br i1 %t2789, label %grow555, label %put556 grow555: %t2790 = mul i32 %t2788, 2 %t2791 = icmp eq i32 %t2788, 0 %t2792 = select i1 %t2791, i32 8, i32 %t2790 %t2793 = getelementptr ptr, ptr null, i32 1 %t2794 = ptrtoint ptr %t2793 to i64 %t2795 = zext i32 %t2792 to i64 %t2796 = mul i64 %t2795, %t2794 %t2797 = load ptr, ptr %t2786 %t2798 = call ptr @realloc(ptr %t2797, i64 %t2796) store ptr %t2798, ptr %t2786 store i32 %t2792, ptr %t2785 br label %put556 put556: %t2799 = load ptr, ptr %t2786 %t2800 = getelementptr inbounds ptr, ptr %t2799, i32 %t2787 store ptr @.str7027, ptr %t2800 %t2801 = add i32 %t2787, 1 store i32 %t2801, ptr %t2784 br label %ifend554 ifend554: %t2802 = load ptr, ptr %t1 %t2803 = call i32 @lp_str_eq(ptr %t2802, ptr @.str7028) %t2804 = icmp ne i32 %t2803, 0 br i1 %t2804, label %then557, label %ifend559 then557: store ptr @.str7029, ptr %t403 %t2805 = load ptr, ptr %t410 %t2806 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 1 %t2807 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 2 %t2808 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 0 %t2809 = load i32, ptr %t2806 %t2810 = load i32, ptr %t2807 %t2811 = icmp sge i32 %t2809, %t2810 br i1 %t2811, label %grow560, label %put561 grow560: %t2812 = mul i32 %t2810, 2 %t2813 = icmp eq i32 %t2810, 0 %t2814 = select i1 %t2813, i32 8, i32 %t2812 %t2815 = getelementptr ptr, ptr null, i32 1 %t2816 = ptrtoint ptr %t2815 to i64 %t2817 = zext i32 %t2814 to i64 %t2818 = mul i64 %t2817, %t2816 %t2819 = load ptr, ptr %t2808 %t2820 = call ptr @realloc(ptr %t2819, i64 %t2818) store ptr %t2820, ptr %t2808 store i32 %t2814, ptr %t2807 br label %put561 put561: %t2821 = load ptr, ptr %t2808 %t2822 = getelementptr inbounds ptr, ptr %t2821, i32 %t2809 store ptr @.str7030, ptr %t2822 %t2823 = add i32 %t2809, 1 store i32 %t2823, ptr %t2806 br label %ifend559 ifend559: br label %ifend450 ifend450: %t2824 = load ptr, ptr %t0 %t2825 = call i32 @lp_str_eq(ptr %t2824, ptr @.str7031) %t2826 = icmp ne i32 %t2825, 0 br i1 %t2826, label %then562, label %ifend564 then562: %t2827 = load ptr, ptr %t1 %t2828 = call i32 @lp_str_eq(ptr %t2827, ptr @.str7032) %t2829 = icmp ne i32 %t2828, 0 br i1 %t2829, label %then565, label %ifend567 then565: store ptr @.str7033, ptr %t403 %t2830 = load ptr, ptr %t410 %t2831 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 1 %t2832 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 2 %t2833 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 0 %t2834 = load i32, ptr %t2831 %t2835 = load i32, ptr %t2832 %t2836 = icmp sge i32 %t2834, %t2835 br i1 %t2836, label %grow568, label %put569 grow568: %t2837 = mul i32 %t2835, 2 %t2838 = icmp eq i32 %t2835, 0 %t2839 = select i1 %t2838, i32 8, i32 %t2837 %t2840 = getelementptr ptr, ptr null, i32 1 %t2841 = ptrtoint ptr %t2840 to i64 %t2842 = zext i32 %t2839 to i64 %t2843 = mul i64 %t2842, %t2841 %t2844 = load ptr, ptr %t2833 %t2845 = call ptr @realloc(ptr %t2844, i64 %t2843) store ptr %t2845, ptr %t2833 store i32 %t2839, ptr %t2832 br label %put569 put569: %t2846 = load ptr, ptr %t2833 %t2847 = getelementptr inbounds ptr, ptr %t2846, i32 %t2834 store ptr @.str7034, ptr %t2847 %t2848 = add i32 %t2834, 1 store i32 %t2848, ptr %t2831 br label %ifend567 ifend567: br label %ifend564 ifend564: %t2849 = load ptr, ptr %t0 %t2850 = call i32 @lp_str_eq(ptr %t2849, ptr @.str7035) %t2851 = icmp ne i32 %t2850, 0 br i1 %t2851, label %then570, label %ifend572 then570: %t2852 = load ptr, ptr %t1 %t2853 = call i32 @lp_str_eq(ptr %t2852, ptr @.str7036) %t2854 = icmp ne i32 %t2853, 0 br i1 %t2854, label %then573, label %ifend575 then573: store ptr @.str7037, ptr %t403 br label %ifend575 ifend575: %t2855 = load ptr, ptr %t1 %t2856 = call i32 @lp_str_eq(ptr %t2855, ptr @.str7038) %t2857 = icmp ne i32 %t2856, 0 br i1 %t2857, label %then576, label %ifend578 then576: store ptr @.str7039, ptr %t403 %t2858 = load ptr, ptr %t410 %t2859 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 1 %t2860 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 2 %t2861 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 0 %t2862 = load i32, ptr %t2859 %t2863 = load i32, ptr %t2860 %t2864 = icmp sge i32 %t2862, %t2863 br i1 %t2864, label %grow579, label %put580 grow579: %t2865 = mul i32 %t2863, 2 %t2866 = icmp eq i32 %t2863, 0 %t2867 = select i1 %t2866, i32 8, i32 %t2865 %t2868 = getelementptr ptr, ptr null, i32 1 %t2869 = ptrtoint ptr %t2868 to i64 %t2870 = zext i32 %t2867 to i64 %t2871 = mul i64 %t2870, %t2869 %t2872 = load ptr, ptr %t2861 %t2873 = call ptr @realloc(ptr %t2872, i64 %t2871) store ptr %t2873, ptr %t2861 store i32 %t2867, ptr %t2860 br label %put580 put580: %t2874 = load ptr, ptr %t2861 %t2875 = getelementptr inbounds ptr, ptr %t2874, i32 %t2862 store ptr @.str7040, ptr %t2875 %t2876 = add i32 %t2862, 1 store i32 %t2876, ptr %t2859 br label %ifend578 ifend578: %t2877 = load ptr, ptr %t1 %t2878 = call i32 @lp_str_eq(ptr %t2877, ptr @.str7041) %t2879 = icmp ne i32 %t2878, 0 br i1 %t2879, label %then581, label %ifend583 then581: store ptr @.str7042, ptr %t403 br label %ifend583 ifend583: %t2880 = load ptr, ptr %t1 %t2881 = call i32 @lp_str_eq(ptr %t2880, ptr @.str7043) %t2882 = icmp ne i32 %t2881, 0 br i1 %t2882, label %then584, label %ifend586 then584: store ptr @.str7044, ptr %t403 %t2883 = load ptr, ptr %t410 %t2884 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 1 %t2885 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 2 %t2886 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 0 %t2887 = load i32, ptr %t2884 %t2888 = load i32, ptr %t2885 %t2889 = icmp sge i32 %t2887, %t2888 br i1 %t2889, label %grow587, label %put588 grow587: %t2890 = mul i32 %t2888, 2 %t2891 = icmp eq i32 %t2888, 0 %t2892 = select i1 %t2891, i32 8, i32 %t2890 %t2893 = getelementptr ptr, ptr null, i32 1 %t2894 = ptrtoint ptr %t2893 to i64 %t2895 = zext i32 %t2892 to i64 %t2896 = mul i64 %t2895, %t2894 %t2897 = load ptr, ptr %t2886 %t2898 = call ptr @realloc(ptr %t2897, i64 %t2896) store ptr %t2898, ptr %t2886 store i32 %t2892, ptr %t2885 br label %put588 put588: %t2899 = load ptr, ptr %t2886 %t2900 = getelementptr inbounds ptr, ptr %t2899, i32 %t2887 store ptr @.str7045, ptr %t2900 %t2901 = add i32 %t2887, 1 store i32 %t2901, ptr %t2884 br label %ifend586 ifend586: %t2902 = load ptr, ptr %t1 %t2903 = call i32 @lp_str_eq(ptr %t2902, ptr @.str7046) %t2904 = icmp ne i32 %t2903, 0 br i1 %t2904, label %then589, label %ifend591 then589: store ptr @.str7047, ptr %t403 %t2905 = load ptr, ptr %t410 %t2906 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 1 %t2907 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 2 %t2908 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 0 %t2909 = load i32, ptr %t2906 %t2910 = load i32, ptr %t2907 %t2911 = icmp sge i32 %t2909, %t2910 br i1 %t2911, label %grow592, label %put593 grow592: %t2912 = mul i32 %t2910, 2 %t2913 = icmp eq i32 %t2910, 0 %t2914 = select i1 %t2913, i32 8, i32 %t2912 %t2915 = getelementptr ptr, ptr null, i32 1 %t2916 = ptrtoint ptr %t2915 to i64 %t2917 = zext i32 %t2914 to i64 %t2918 = mul i64 %t2917, %t2916 %t2919 = load ptr, ptr %t2908 %t2920 = call ptr @realloc(ptr %t2919, i64 %t2918) store ptr %t2920, ptr %t2908 store i32 %t2914, ptr %t2907 br label %put593 put593: %t2921 = load ptr, ptr %t2908 %t2922 = getelementptr inbounds ptr, ptr %t2921, i32 %t2909 store ptr @.str7048, ptr %t2922 %t2923 = add i32 %t2909, 1 store i32 %t2923, ptr %t2906 br label %ifend591 ifend591: %t2924 = load ptr, ptr %t1 %t2925 = call i32 @lp_str_eq(ptr %t2924, ptr @.str7049) %t2926 = icmp ne i32 %t2925, 0 br i1 %t2926, label %then594, label %ifend596 then594: store ptr @.str7050, ptr %t403 %t2927 = load ptr, ptr %t410 %t2928 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 1 %t2929 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 2 %t2930 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 0 %t2931 = load i32, ptr %t2928 %t2932 = load i32, ptr %t2929 %t2933 = icmp sge i32 %t2931, %t2932 br i1 %t2933, label %grow597, label %put598 grow597: %t2934 = mul i32 %t2932, 2 %t2935 = icmp eq i32 %t2932, 0 %t2936 = select i1 %t2935, i32 8, i32 %t2934 %t2937 = getelementptr ptr, ptr null, i32 1 %t2938 = ptrtoint ptr %t2937 to i64 %t2939 = zext i32 %t2936 to i64 %t2940 = mul i64 %t2939, %t2938 %t2941 = load ptr, ptr %t2930 %t2942 = call ptr @realloc(ptr %t2941, i64 %t2940) store ptr %t2942, ptr %t2930 store i32 %t2936, ptr %t2929 br label %put598 put598: %t2943 = load ptr, ptr %t2930 %t2944 = getelementptr inbounds ptr, ptr %t2943, i32 %t2931 store ptr @.str7051, ptr %t2944 %t2945 = add i32 %t2931, 1 store i32 %t2945, ptr %t2928 %t2946 = load ptr, ptr %t410 %t2947 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 1 %t2948 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 2 %t2949 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 0 %t2950 = load i32, ptr %t2947 %t2951 = load i32, ptr %t2948 %t2952 = icmp sge i32 %t2950, %t2951 br i1 %t2952, label %grow599, label %put600 grow599: %t2953 = mul i32 %t2951, 2 %t2954 = icmp eq i32 %t2951, 0 %t2955 = select i1 %t2954, i32 8, i32 %t2953 %t2956 = getelementptr ptr, ptr null, i32 1 %t2957 = ptrtoint ptr %t2956 to i64 %t2958 = zext i32 %t2955 to i64 %t2959 = mul i64 %t2958, %t2957 %t2960 = load ptr, ptr %t2949 %t2961 = call ptr @realloc(ptr %t2960, i64 %t2959) store ptr %t2961, ptr %t2949 store i32 %t2955, ptr %t2948 br label %put600 put600: %t2962 = load ptr, ptr %t2949 %t2963 = getelementptr inbounds ptr, ptr %t2962, i32 %t2950 store ptr @.str7052, ptr %t2963 %t2964 = add i32 %t2950, 1 store i32 %t2964, ptr %t2947 br label %ifend596 ifend596: %t2965 = load ptr, ptr %t1 %t2966 = call i32 @lp_str_eq(ptr %t2965, ptr @.str7053) %t2967 = icmp ne i32 %t2966, 0 br i1 %t2967, label %then601, label %ifend603 then601: store ptr @.str7054, ptr %t403 br label %ifend603 ifend603: br label %ifend572 ifend572: %t2968 = load ptr, ptr %t0 %t2969 = call i32 @lp_str_eq(ptr %t2968, ptr @.str7055) %t2970 = icmp ne i32 %t2969, 0 br i1 %t2970, label %then604, label %ifend606 then604: %t2971 = load ptr, ptr %t1 %t2972 = call i32 @lp_str_eq(ptr %t2971, ptr @.str7056) %t2973 = icmp ne i32 %t2972, 0 br i1 %t2973, label %then607, label %ifend609 then607: store ptr @.str7057, ptr %t403 %t2974 = load ptr, ptr %t410 %t2975 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 1 %t2976 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 2 %t2977 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 0 %t2978 = load i32, ptr %t2975 %t2979 = load i32, ptr %t2976 %t2980 = icmp sge i32 %t2978, %t2979 br i1 %t2980, label %grow610, label %put611 grow610: %t2981 = mul i32 %t2979, 2 %t2982 = icmp eq i32 %t2979, 0 %t2983 = select i1 %t2982, i32 8, i32 %t2981 %t2984 = getelementptr ptr, ptr null, i32 1 %t2985 = ptrtoint ptr %t2984 to i64 %t2986 = zext i32 %t2983 to i64 %t2987 = mul i64 %t2986, %t2985 %t2988 = load ptr, ptr %t2977 %t2989 = call ptr @realloc(ptr %t2988, i64 %t2987) store ptr %t2989, ptr %t2977 store i32 %t2983, ptr %t2976 br label %put611 put611: %t2990 = load ptr, ptr %t2977 %t2991 = getelementptr inbounds ptr, ptr %t2990, i32 %t2978 store ptr @.str7058, ptr %t2991 %t2992 = add i32 %t2978, 1 store i32 %t2992, ptr %t2975 %t2993 = load ptr, ptr %t410 %t2994 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 1 %t2995 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 2 %t2996 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 0 %t2997 = load i32, ptr %t2994 %t2998 = load i32, ptr %t2995 %t2999 = icmp sge i32 %t2997, %t2998 br i1 %t2999, label %grow612, label %put613 grow612: %t3000 = mul i32 %t2998, 2 %t3001 = icmp eq i32 %t2998, 0 %t3002 = select i1 %t3001, i32 8, i32 %t3000 %t3003 = getelementptr ptr, ptr null, i32 1 %t3004 = ptrtoint ptr %t3003 to i64 %t3005 = zext i32 %t3002 to i64 %t3006 = mul i64 %t3005, %t3004 %t3007 = load ptr, ptr %t2996 %t3008 = call ptr @realloc(ptr %t3007, i64 %t3006) store ptr %t3008, ptr %t2996 store i32 %t3002, ptr %t2995 br label %put613 put613: %t3009 = load ptr, ptr %t2996 %t3010 = getelementptr inbounds ptr, ptr %t3009, i32 %t2997 store ptr @.str7059, ptr %t3010 %t3011 = add i32 %t2997, 1 store i32 %t3011, ptr %t2994 br label %ifend609 ifend609: %t3012 = load ptr, ptr %t1 %t3013 = call i32 @lp_str_eq(ptr %t3012, ptr @.str7060) %t3014 = icmp ne i32 %t3013, 0 br i1 %t3014, label %then614, label %ifend616 then614: store ptr @.str7061, ptr %t403 %t3015 = load ptr, ptr %t410 %t3016 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 1 %t3017 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 2 %t3018 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 0 %t3019 = load i32, ptr %t3016 %t3020 = load i32, ptr %t3017 %t3021 = icmp sge i32 %t3019, %t3020 br i1 %t3021, label %grow617, label %put618 grow617: %t3022 = mul i32 %t3020, 2 %t3023 = icmp eq i32 %t3020, 0 %t3024 = select i1 %t3023, i32 8, i32 %t3022 %t3025 = getelementptr ptr, ptr null, i32 1 %t3026 = ptrtoint ptr %t3025 to i64 %t3027 = zext i32 %t3024 to i64 %t3028 = mul i64 %t3027, %t3026 %t3029 = load ptr, ptr %t3018 %t3030 = call ptr @realloc(ptr %t3029, i64 %t3028) store ptr %t3030, ptr %t3018 store i32 %t3024, ptr %t3017 br label %put618 put618: %t3031 = load ptr, ptr %t3018 %t3032 = getelementptr inbounds ptr, ptr %t3031, i32 %t3019 store ptr @.str7062, ptr %t3032 %t3033 = add i32 %t3019, 1 store i32 %t3033, ptr %t3016 %t3034 = load ptr, ptr %t410 %t3035 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 1 %t3036 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 2 %t3037 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 0 %t3038 = load i32, ptr %t3035 %t3039 = load i32, ptr %t3036 %t3040 = icmp sge i32 %t3038, %t3039 br i1 %t3040, label %grow619, label %put620 grow619: %t3041 = mul i32 %t3039, 2 %t3042 = icmp eq i32 %t3039, 0 %t3043 = select i1 %t3042, i32 8, i32 %t3041 %t3044 = getelementptr ptr, ptr null, i32 1 %t3045 = ptrtoint ptr %t3044 to i64 %t3046 = zext i32 %t3043 to i64 %t3047 = mul i64 %t3046, %t3045 %t3048 = load ptr, ptr %t3037 %t3049 = call ptr @realloc(ptr %t3048, i64 %t3047) store ptr %t3049, ptr %t3037 store i32 %t3043, ptr %t3036 br label %put620 put620: %t3050 = load ptr, ptr %t3037 %t3051 = getelementptr inbounds ptr, ptr %t3050, i32 %t3038 store ptr @.str7063, ptr %t3051 %t3052 = add i32 %t3038, 1 store i32 %t3052, ptr %t3035 %t3053 = load ptr, ptr %t410 %t3054 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 1 %t3055 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 2 %t3056 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 0 %t3057 = load i32, ptr %t3054 %t3058 = load i32, ptr %t3055 %t3059 = icmp sge i32 %t3057, %t3058 br i1 %t3059, label %grow621, label %put622 grow621: %t3060 = mul i32 %t3058, 2 %t3061 = icmp eq i32 %t3058, 0 %t3062 = select i1 %t3061, i32 8, i32 %t3060 %t3063 = getelementptr ptr, ptr null, i32 1 %t3064 = ptrtoint ptr %t3063 to i64 %t3065 = zext i32 %t3062 to i64 %t3066 = mul i64 %t3065, %t3064 %t3067 = load ptr, ptr %t3056 %t3068 = call ptr @realloc(ptr %t3067, i64 %t3066) store ptr %t3068, ptr %t3056 store i32 %t3062, ptr %t3055 br label %put622 put622: %t3069 = load ptr, ptr %t3056 %t3070 = getelementptr inbounds ptr, ptr %t3069, i32 %t3057 store ptr @.str7064, ptr %t3070 %t3071 = add i32 %t3057, 1 store i32 %t3071, ptr %t3054 br label %ifend616 ifend616: %t3072 = load ptr, ptr %t1 %t3073 = call i32 @lp_str_eq(ptr %t3072, ptr @.str7065) %t3074 = icmp ne i32 %t3073, 0 br i1 %t3074, label %then623, label %ifend625 then623: store ptr @.str7066, ptr %t403 %t3075 = load ptr, ptr %t410 %t3076 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 1 %t3077 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 2 %t3078 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 0 %t3079 = load i32, ptr %t3076 %t3080 = load i32, ptr %t3077 %t3081 = icmp sge i32 %t3079, %t3080 br i1 %t3081, label %grow626, label %put627 grow626: %t3082 = mul i32 %t3080, 2 %t3083 = icmp eq i32 %t3080, 0 %t3084 = select i1 %t3083, i32 8, i32 %t3082 %t3085 = getelementptr ptr, ptr null, i32 1 %t3086 = ptrtoint ptr %t3085 to i64 %t3087 = zext i32 %t3084 to i64 %t3088 = mul i64 %t3087, %t3086 %t3089 = load ptr, ptr %t3078 %t3090 = call ptr @realloc(ptr %t3089, i64 %t3088) store ptr %t3090, ptr %t3078 store i32 %t3084, ptr %t3077 br label %put627 put627: %t3091 = load ptr, ptr %t3078 %t3092 = getelementptr inbounds ptr, ptr %t3091, i32 %t3079 store ptr @.str7067, ptr %t3092 %t3093 = add i32 %t3079, 1 store i32 %t3093, ptr %t3076 %t3094 = load ptr, ptr %t410 %t3095 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 1 %t3096 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 2 %t3097 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 0 %t3098 = load i32, ptr %t3095 %t3099 = load i32, ptr %t3096 %t3100 = icmp sge i32 %t3098, %t3099 br i1 %t3100, label %grow628, label %put629 grow628: %t3101 = mul i32 %t3099, 2 %t3102 = icmp eq i32 %t3099, 0 %t3103 = select i1 %t3102, i32 8, i32 %t3101 %t3104 = getelementptr ptr, ptr null, i32 1 %t3105 = ptrtoint ptr %t3104 to i64 %t3106 = zext i32 %t3103 to i64 %t3107 = mul i64 %t3106, %t3105 %t3108 = load ptr, ptr %t3097 %t3109 = call ptr @realloc(ptr %t3108, i64 %t3107) store ptr %t3109, ptr %t3097 store i32 %t3103, ptr %t3096 br label %put629 put629: %t3110 = load ptr, ptr %t3097 %t3111 = getelementptr inbounds ptr, ptr %t3110, i32 %t3098 store ptr @.str7068, ptr %t3111 %t3112 = add i32 %t3098, 1 store i32 %t3112, ptr %t3095 %t3113 = load ptr, ptr %t410 %t3114 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 1 %t3115 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 2 %t3116 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 0 %t3117 = load i32, ptr %t3114 %t3118 = load i32, ptr %t3115 %t3119 = icmp sge i32 %t3117, %t3118 br i1 %t3119, label %grow630, label %put631 grow630: %t3120 = mul i32 %t3118, 2 %t3121 = icmp eq i32 %t3118, 0 %t3122 = select i1 %t3121, i32 8, i32 %t3120 %t3123 = getelementptr ptr, ptr null, i32 1 %t3124 = ptrtoint ptr %t3123 to i64 %t3125 = zext i32 %t3122 to i64 %t3126 = mul i64 %t3125, %t3124 %t3127 = load ptr, ptr %t3116 %t3128 = call ptr @realloc(ptr %t3127, i64 %t3126) store ptr %t3128, ptr %t3116 store i32 %t3122, ptr %t3115 br label %put631 put631: %t3129 = load ptr, ptr %t3116 %t3130 = getelementptr inbounds ptr, ptr %t3129, i32 %t3117 store ptr @.str7069, ptr %t3130 %t3131 = add i32 %t3117, 1 store i32 %t3131, ptr %t3114 br label %ifend625 ifend625: %t3132 = load ptr, ptr %t1 %t3133 = call i32 @lp_str_eq(ptr %t3132, ptr @.str7070) %t3134 = icmp ne i32 %t3133, 0 br i1 %t3134, label %then632, label %ifend634 then632: store ptr @.str7071, ptr %t403 %t3135 = load ptr, ptr %t410 %t3136 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 1 %t3137 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 2 %t3138 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 0 %t3139 = load i32, ptr %t3136 %t3140 = load i32, ptr %t3137 %t3141 = icmp sge i32 %t3139, %t3140 br i1 %t3141, label %grow635, label %put636 grow635: %t3142 = mul i32 %t3140, 2 %t3143 = icmp eq i32 %t3140, 0 %t3144 = select i1 %t3143, i32 8, i32 %t3142 %t3145 = getelementptr ptr, ptr null, i32 1 %t3146 = ptrtoint ptr %t3145 to i64 %t3147 = zext i32 %t3144 to i64 %t3148 = mul i64 %t3147, %t3146 %t3149 = load ptr, ptr %t3138 %t3150 = call ptr @realloc(ptr %t3149, i64 %t3148) store ptr %t3150, ptr %t3138 store i32 %t3144, ptr %t3137 br label %put636 put636: %t3151 = load ptr, ptr %t3138 %t3152 = getelementptr inbounds ptr, ptr %t3151, i32 %t3139 store ptr @.str7072, ptr %t3152 %t3153 = add i32 %t3139, 1 store i32 %t3153, ptr %t3136 %t3154 = load ptr, ptr %t410 %t3155 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 1 %t3156 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 2 %t3157 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 0 %t3158 = load i32, ptr %t3155 %t3159 = load i32, ptr %t3156 %t3160 = icmp sge i32 %t3158, %t3159 br i1 %t3160, label %grow637, label %put638 grow637: %t3161 = mul i32 %t3159, 2 %t3162 = icmp eq i32 %t3159, 0 %t3163 = select i1 %t3162, i32 8, i32 %t3161 %t3164 = getelementptr ptr, ptr null, i32 1 %t3165 = ptrtoint ptr %t3164 to i64 %t3166 = zext i32 %t3163 to i64 %t3167 = mul i64 %t3166, %t3165 %t3168 = load ptr, ptr %t3157 %t3169 = call ptr @realloc(ptr %t3168, i64 %t3167) store ptr %t3169, ptr %t3157 store i32 %t3163, ptr %t3156 br label %put638 put638: %t3170 = load ptr, ptr %t3157 %t3171 = getelementptr inbounds ptr, ptr %t3170, i32 %t3158 store ptr @.str7073, ptr %t3171 %t3172 = add i32 %t3158, 1 store i32 %t3172, ptr %t3155 %t3173 = load ptr, ptr %t410 %t3174 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 1 %t3175 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 2 %t3176 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 0 %t3177 = load i32, ptr %t3174 %t3178 = load i32, ptr %t3175 %t3179 = icmp sge i32 %t3177, %t3178 br i1 %t3179, label %grow639, label %put640 grow639: %t3180 = mul i32 %t3178, 2 %t3181 = icmp eq i32 %t3178, 0 %t3182 = select i1 %t3181, i32 8, i32 %t3180 %t3183 = getelementptr ptr, ptr null, i32 1 %t3184 = ptrtoint ptr %t3183 to i64 %t3185 = zext i32 %t3182 to i64 %t3186 = mul i64 %t3185, %t3184 %t3187 = load ptr, ptr %t3176 %t3188 = call ptr @realloc(ptr %t3187, i64 %t3186) store ptr %t3188, ptr %t3176 store i32 %t3182, ptr %t3175 br label %put640 put640: %t3189 = load ptr, ptr %t3176 %t3190 = getelementptr inbounds ptr, ptr %t3189, i32 %t3177 store ptr @.str7074, ptr %t3190 %t3191 = add i32 %t3177, 1 store i32 %t3191, ptr %t3174 br label %ifend634 ifend634: %t3192 = load ptr, ptr %t1 %t3193 = call i32 @lp_str_eq(ptr %t3192, ptr @.str7075) %t3194 = icmp ne i32 %t3193, 0 br i1 %t3194, label %then641, label %ifend643 then641: store ptr @.str7076, ptr %t403 %t3195 = load ptr, ptr %t410 %t3196 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 1 %t3197 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 2 %t3198 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 0 %t3199 = load i32, ptr %t3196 %t3200 = load i32, ptr %t3197 %t3201 = icmp sge i32 %t3199, %t3200 br i1 %t3201, label %grow644, label %put645 grow644: %t3202 = mul i32 %t3200, 2 %t3203 = icmp eq i32 %t3200, 0 %t3204 = select i1 %t3203, i32 8, i32 %t3202 %t3205 = getelementptr ptr, ptr null, i32 1 %t3206 = ptrtoint ptr %t3205 to i64 %t3207 = zext i32 %t3204 to i64 %t3208 = mul i64 %t3207, %t3206 %t3209 = load ptr, ptr %t3198 %t3210 = call ptr @realloc(ptr %t3209, i64 %t3208) store ptr %t3210, ptr %t3198 store i32 %t3204, ptr %t3197 br label %put645 put645: %t3211 = load ptr, ptr %t3198 %t3212 = getelementptr inbounds ptr, ptr %t3211, i32 %t3199 store ptr @.str7077, ptr %t3212 %t3213 = add i32 %t3199, 1 store i32 %t3213, ptr %t3196 br label %ifend643 ifend643: %t3214 = load ptr, ptr %t1 %t3215 = call i32 @lp_str_eq(ptr %t3214, ptr @.str7078) %t3216 = icmp ne i32 %t3215, 0 br i1 %t3216, label %then646, label %ifend648 then646: store ptr @.str7079, ptr %t403 %t3217 = load ptr, ptr %t410 %t3218 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 1 %t3219 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 2 %t3220 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 0 %t3221 = load i32, ptr %t3218 %t3222 = load i32, ptr %t3219 %t3223 = icmp sge i32 %t3221, %t3222 br i1 %t3223, label %grow649, label %put650 grow649: %t3224 = mul i32 %t3222, 2 %t3225 = icmp eq i32 %t3222, 0 %t3226 = select i1 %t3225, i32 8, i32 %t3224 %t3227 = getelementptr ptr, ptr null, i32 1 %t3228 = ptrtoint ptr %t3227 to i64 %t3229 = zext i32 %t3226 to i64 %t3230 = mul i64 %t3229, %t3228 %t3231 = load ptr, ptr %t3220 %t3232 = call ptr @realloc(ptr %t3231, i64 %t3230) store ptr %t3232, ptr %t3220 store i32 %t3226, ptr %t3219 br label %put650 put650: %t3233 = load ptr, ptr %t3220 %t3234 = getelementptr inbounds ptr, ptr %t3233, i32 %t3221 store ptr @.str7080, ptr %t3234 %t3235 = add i32 %t3221, 1 store i32 %t3235, ptr %t3218 br label %ifend648 ifend648: br label %ifend606 ifend606: %t3236 = load ptr, ptr %t0 %t3237 = call i32 @lp_str_eq(ptr %t3236, ptr @.str7081) %t3238 = icmp ne i32 %t3237, 0 br i1 %t3238, label %then651, label %ifend653 then651: %t3239 = load ptr, ptr %t1 %t3240 = call i32 @lp_str_eq(ptr %t3239, ptr @.str7082) %t3241 = icmp ne i32 %t3240, 0 br i1 %t3241, label %then654, label %ifend656 then654: store ptr @.str7083, ptr %t403 %t3242 = load ptr, ptr %t410 %t3243 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 1 %t3244 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 2 %t3245 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 0 %t3246 = load i32, ptr %t3243 %t3247 = load i32, ptr %t3244 %t3248 = icmp sge i32 %t3246, %t3247 br i1 %t3248, label %grow657, label %put658 grow657: %t3249 = mul i32 %t3247, 2 %t3250 = icmp eq i32 %t3247, 0 %t3251 = select i1 %t3250, i32 8, i32 %t3249 %t3252 = getelementptr ptr, ptr null, i32 1 %t3253 = ptrtoint ptr %t3252 to i64 %t3254 = zext i32 %t3251 to i64 %t3255 = mul i64 %t3254, %t3253 %t3256 = load ptr, ptr %t3245 %t3257 = call ptr @realloc(ptr %t3256, i64 %t3255) store ptr %t3257, ptr %t3245 store i32 %t3251, ptr %t3244 br label %put658 put658: %t3258 = load ptr, ptr %t3245 %t3259 = getelementptr inbounds ptr, ptr %t3258, i32 %t3246 store ptr @.str7084, ptr %t3259 %t3260 = add i32 %t3246, 1 store i32 %t3260, ptr %t3243 %t3261 = load ptr, ptr %t410 %t3262 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 1 %t3263 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 2 %t3264 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 0 %t3265 = load i32, ptr %t3262 %t3266 = load i32, ptr %t3263 %t3267 = icmp sge i32 %t3265, %t3266 br i1 %t3267, label %grow659, label %put660 grow659: %t3268 = mul i32 %t3266, 2 %t3269 = icmp eq i32 %t3266, 0 %t3270 = select i1 %t3269, i32 8, i32 %t3268 %t3271 = getelementptr ptr, ptr null, i32 1 %t3272 = ptrtoint ptr %t3271 to i64 %t3273 = zext i32 %t3270 to i64 %t3274 = mul i64 %t3273, %t3272 %t3275 = load ptr, ptr %t3264 %t3276 = call ptr @realloc(ptr %t3275, i64 %t3274) store ptr %t3276, ptr %t3264 store i32 %t3270, ptr %t3263 br label %put660 put660: %t3277 = load ptr, ptr %t3264 %t3278 = getelementptr inbounds ptr, ptr %t3277, i32 %t3265 store ptr @.str7085, ptr %t3278 %t3279 = add i32 %t3265, 1 store i32 %t3279, ptr %t3262 %t3280 = load ptr, ptr %t410 %t3281 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 1 %t3282 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 2 %t3283 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 0 %t3284 = load i32, ptr %t3281 %t3285 = load i32, ptr %t3282 %t3286 = icmp sge i32 %t3284, %t3285 br i1 %t3286, label %grow661, label %put662 grow661: %t3287 = mul i32 %t3285, 2 %t3288 = icmp eq i32 %t3285, 0 %t3289 = select i1 %t3288, i32 8, i32 %t3287 %t3290 = getelementptr ptr, ptr null, i32 1 %t3291 = ptrtoint ptr %t3290 to i64 %t3292 = zext i32 %t3289 to i64 %t3293 = mul i64 %t3292, %t3291 %t3294 = load ptr, ptr %t3283 %t3295 = call ptr @realloc(ptr %t3294, i64 %t3293) store ptr %t3295, ptr %t3283 store i32 %t3289, ptr %t3282 br label %put662 put662: %t3296 = load ptr, ptr %t3283 %t3297 = getelementptr inbounds ptr, ptr %t3296, i32 %t3284 store ptr @.str7086, ptr %t3297 %t3298 = add i32 %t3284, 1 store i32 %t3298, ptr %t3281 %t3299 = load ptr, ptr %t410 %t3300 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 1 %t3301 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 2 %t3302 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 0 %t3303 = load i32, ptr %t3300 %t3304 = load i32, ptr %t3301 %t3305 = icmp sge i32 %t3303, %t3304 br i1 %t3305, label %grow663, label %put664 grow663: %t3306 = mul i32 %t3304, 2 %t3307 = icmp eq i32 %t3304, 0 %t3308 = select i1 %t3307, i32 8, i32 %t3306 %t3309 = getelementptr ptr, ptr null, i32 1 %t3310 = ptrtoint ptr %t3309 to i64 %t3311 = zext i32 %t3308 to i64 %t3312 = mul i64 %t3311, %t3310 %t3313 = load ptr, ptr %t3302 %t3314 = call ptr @realloc(ptr %t3313, i64 %t3312) store ptr %t3314, ptr %t3302 store i32 %t3308, ptr %t3301 br label %put664 put664: %t3315 = load ptr, ptr %t3302 %t3316 = getelementptr inbounds ptr, ptr %t3315, i32 %t3303 store ptr @.str7087, ptr %t3316 %t3317 = add i32 %t3303, 1 store i32 %t3317, ptr %t3300 br label %ifend656 ifend656: %t3318 = load ptr, ptr %t1 %t3319 = call i32 @lp_str_eq(ptr %t3318, ptr @.str7088) %t3320 = icmp ne i32 %t3319, 0 br i1 %t3320, label %then665, label %ifend667 then665: store ptr @.str7089, ptr %t403 %t3321 = load ptr, ptr %t410 %t3322 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 1 %t3323 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 2 %t3324 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 0 %t3325 = load i32, ptr %t3322 %t3326 = load i32, ptr %t3323 %t3327 = icmp sge i32 %t3325, %t3326 br i1 %t3327, label %grow668, label %put669 grow668: %t3328 = mul i32 %t3326, 2 %t3329 = icmp eq i32 %t3326, 0 %t3330 = select i1 %t3329, i32 8, i32 %t3328 %t3331 = getelementptr ptr, ptr null, i32 1 %t3332 = ptrtoint ptr %t3331 to i64 %t3333 = zext i32 %t3330 to i64 %t3334 = mul i64 %t3333, %t3332 %t3335 = load ptr, ptr %t3324 %t3336 = call ptr @realloc(ptr %t3335, i64 %t3334) store ptr %t3336, ptr %t3324 store i32 %t3330, ptr %t3323 br label %put669 put669: %t3337 = load ptr, ptr %t3324 %t3338 = getelementptr inbounds ptr, ptr %t3337, i32 %t3325 store ptr @.str7090, ptr %t3338 %t3339 = add i32 %t3325, 1 store i32 %t3339, ptr %t3322 %t3340 = load ptr, ptr %t410 %t3341 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 1 %t3342 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 2 %t3343 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 0 %t3344 = load i32, ptr %t3341 %t3345 = load i32, ptr %t3342 %t3346 = icmp sge i32 %t3344, %t3345 br i1 %t3346, label %grow670, label %put671 grow670: %t3347 = mul i32 %t3345, 2 %t3348 = icmp eq i32 %t3345, 0 %t3349 = select i1 %t3348, i32 8, i32 %t3347 %t3350 = getelementptr ptr, ptr null, i32 1 %t3351 = ptrtoint ptr %t3350 to i64 %t3352 = zext i32 %t3349 to i64 %t3353 = mul i64 %t3352, %t3351 %t3354 = load ptr, ptr %t3343 %t3355 = call ptr @realloc(ptr %t3354, i64 %t3353) store ptr %t3355, ptr %t3343 store i32 %t3349, ptr %t3342 br label %put671 put671: %t3356 = load ptr, ptr %t3343 %t3357 = getelementptr inbounds ptr, ptr %t3356, i32 %t3344 store ptr @.str7091, ptr %t3357 %t3358 = add i32 %t3344, 1 store i32 %t3358, ptr %t3341 %t3359 = load ptr, ptr %t410 %t3360 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 1 %t3361 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 2 %t3362 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 0 %t3363 = load i32, ptr %t3360 %t3364 = load i32, ptr %t3361 %t3365 = icmp sge i32 %t3363, %t3364 br i1 %t3365, label %grow672, label %put673 grow672: %t3366 = mul i32 %t3364, 2 %t3367 = icmp eq i32 %t3364, 0 %t3368 = select i1 %t3367, i32 8, i32 %t3366 %t3369 = getelementptr ptr, ptr null, i32 1 %t3370 = ptrtoint ptr %t3369 to i64 %t3371 = zext i32 %t3368 to i64 %t3372 = mul i64 %t3371, %t3370 %t3373 = load ptr, ptr %t3362 %t3374 = call ptr @realloc(ptr %t3373, i64 %t3372) store ptr %t3374, ptr %t3362 store i32 %t3368, ptr %t3361 br label %put673 put673: %t3375 = load ptr, ptr %t3362 %t3376 = getelementptr inbounds ptr, ptr %t3375, i32 %t3363 store ptr @.str7092, ptr %t3376 %t3377 = add i32 %t3363, 1 store i32 %t3377, ptr %t3360 %t3378 = load ptr, ptr %t410 %t3379 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 1 %t3380 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 2 %t3381 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 0 %t3382 = load i32, ptr %t3379 %t3383 = load i32, ptr %t3380 %t3384 = icmp sge i32 %t3382, %t3383 br i1 %t3384, label %grow674, label %put675 grow674: %t3385 = mul i32 %t3383, 2 %t3386 = icmp eq i32 %t3383, 0 %t3387 = select i1 %t3386, i32 8, i32 %t3385 %t3388 = getelementptr ptr, ptr null, i32 1 %t3389 = ptrtoint ptr %t3388 to i64 %t3390 = zext i32 %t3387 to i64 %t3391 = mul i64 %t3390, %t3389 %t3392 = load ptr, ptr %t3381 %t3393 = call ptr @realloc(ptr %t3392, i64 %t3391) store ptr %t3393, ptr %t3381 store i32 %t3387, ptr %t3380 br label %put675 put675: %t3394 = load ptr, ptr %t3381 %t3395 = getelementptr inbounds ptr, ptr %t3394, i32 %t3382 store ptr @.str7093, ptr %t3395 %t3396 = add i32 %t3382, 1 store i32 %t3396, ptr %t3379 br label %ifend667 ifend667: %t3397 = load ptr, ptr %t1 %t3398 = call i32 @lp_str_eq(ptr %t3397, ptr @.str7094) %t3399 = icmp ne i32 %t3398, 0 br i1 %t3399, label %then676, label %ifend678 then676: store ptr @.str7095, ptr %t403 br label %ifend678 ifend678: br label %ifend653 ifend653: %t3400 = load ptr, ptr %t0 %t3401 = call i32 @lp_str_eq(ptr %t3400, ptr @.str7096) %t3402 = icmp ne i32 %t3401, 0 br i1 %t3402, label %then679, label %ifend681 then679: %t3403 = load ptr, ptr %t1 %t3404 = call i32 @lp_str_eq(ptr %t3403, ptr @.str7097) %t3405 = icmp ne i32 %t3404, 0 br i1 %t3405, label %then682, label %ifend684 then682: %t3406 = call i32 @fn_has_prefabs() %t3407 = icmp eq i32 %t3406, 0 %t3408 = zext i1 %t3407 to i32 %t3409 = icmp ne i32 %t3408, 0 br i1 %t3409, label %then685, label %ifend687 then685: call void @fn_perr(ptr @.str7098) br label %ifend687 ifend687: %t3410 = call ptr @fn_find_comp(ptr @.str7099) store ptr %t3410, ptr %t3411 %t3412 = load ptr, ptr %t3411 %t3413 = icmp eq ptr %t3412, null %t3414 = zext i1 %t3413 to i32 %t3415 = icmp ne i32 %t3414, 0 br i1 %t3415, label %then688, label %ifend690 then688: call void @fn_perr(ptr @.str7100) br label %ifend690 ifend690: %t3416 = getelementptr %LSlice, ptr null, i32 1 %t3417 = ptrtoint ptr %t3416 to i64 %t3418 = call ptr @malloc(i64 %t3417) %t3419 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 0 store ptr null, ptr %t3419 %t3420 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 1 store i32 0, ptr %t3420 %t3421 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 2 store i32 0, ptr %t3421 store ptr %t3418, ptr %t3422 %t3423 = load ptr, ptr %t3422 %t3424 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 1 %t3425 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 2 %t3426 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 0 %t3427 = load i32, ptr %t3424 %t3428 = load i32, ptr %t3425 %t3429 = icmp sge i32 %t3427, %t3428 br i1 %t3429, label %grow691, label %put692 grow691: %t3430 = mul i32 %t3428, 2 %t3431 = icmp eq i32 %t3428, 0 %t3432 = select i1 %t3431, i32 8, i32 %t3430 %t3433 = getelementptr ptr, ptr null, i32 1 %t3434 = ptrtoint ptr %t3433 to i64 %t3435 = zext i32 %t3432 to i64 %t3436 = mul i64 %t3435, %t3434 %t3437 = load ptr, ptr %t3426 %t3438 = call ptr @realloc(ptr %t3437, i64 %t3436) store ptr %t3438, ptr %t3426 store i32 %t3432, ptr %t3425 br label %put692 put692: %t3439 = load ptr, ptr %t3426 %t3440 = getelementptr inbounds ptr, ptr %t3439, i32 %t3427 store ptr @.str7101, ptr %t3440 %t3441 = add i32 %t3427, 1 store i32 %t3441, ptr %t3424 %t3442 = load ptr, ptr %t3422 %t3443 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 1 %t3444 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 2 %t3445 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 0 %t3446 = load i32, ptr %t3443 %t3447 = load i32, ptr %t3444 %t3448 = icmp sge i32 %t3446, %t3447 br i1 %t3448, label %grow693, label %put694 grow693: %t3449 = mul i32 %t3447, 2 %t3450 = icmp eq i32 %t3447, 0 %t3451 = select i1 %t3450, i32 8, i32 %t3449 %t3452 = getelementptr ptr, ptr null, i32 1 %t3453 = ptrtoint ptr %t3452 to i64 %t3454 = zext i32 %t3451 to i64 %t3455 = mul i64 %t3454, %t3453 %t3456 = load ptr, ptr %t3445 %t3457 = call ptr @realloc(ptr %t3456, i64 %t3455) store ptr %t3457, ptr %t3445 store i32 %t3451, ptr %t3444 br label %put694 put694: %t3458 = load ptr, ptr %t3445 %t3459 = getelementptr inbounds ptr, ptr %t3458, i32 %t3446 store ptr @.str7102, ptr %t3459 %t3460 = add i32 %t3446, 1 store i32 %t3460, ptr %t3443 %t3461 = load ptr, ptr %t2 %t3462 = load ptr, ptr %t3422 call void @fn_reorder_named(ptr %t3461, ptr %t3462) %t3463 = load ptr, ptr %t2 %t3464 = getelementptr inbounds %Cmp_Node, ptr %t3463, i32 0, i32 7 %t3465 = load ptr, ptr %t3464 %t3466 = getelementptr inbounds %LSlice, ptr %t3465, i32 0, i32 0 %t3467 = load ptr, ptr %t3466 %t3468 = getelementptr inbounds ptr, ptr %t3467, i32 0 %t3469 = load ptr, ptr %t3468 %t3470 = call ptr @fn_emit_expr(ptr %t3469) store ptr %t3470, ptr %t3471 %t3472 = load ptr, ptr %t2 %t3473 = getelementptr inbounds %Cmp_Node, ptr %t3472, i32 0, i32 7 %t3474 = load ptr, ptr %t3473 %t3475 = getelementptr inbounds %LSlice, ptr %t3474, i32 0, i32 0 %t3476 = load ptr, ptr %t3475 %t3477 = getelementptr inbounds ptr, ptr %t3476, i32 1 %t3478 = load ptr, ptr %t3477 %t3479 = call ptr @fn_emit_expr(ptr %t3478) store ptr %t3479, ptr %t3480 %t3481 = load ptr, ptr %t3471 %t3482 = getelementptr inbounds %Cmp_Val, ptr %t3481, i32 0, i32 0 %t3483 = load ptr, ptr %t3482 %t3484 = call ptr @lp_str_concat(ptr @.str7103, ptr %t3483) %t3485 = call ptr @lp_str_concat(ptr %t3484, ptr @.str7104) %t3486 = call ptr @fn_emit_bind(ptr %t3485) store ptr %t3486, ptr %t3487 %t3488 = call ptr @fn_itoa(i32 1024) store ptr %t3488, ptr %t3489 %t3490 = load ptr, ptr %t3489 %t3491 = call ptr @lp_str_concat(ptr @.str7105, ptr %t3490) %t3492 = call ptr @lp_str_concat(ptr %t3491, ptr @.str7106) %t3493 = load ptr, ptr %t3487 %t3494 = call ptr @lp_str_concat(ptr %t3492, ptr %t3493) %t3495 = call ptr @fn_emit_bind(ptr %t3494) store ptr %t3495, ptr %t3496 %t3497 = load ptr, ptr %t3496 %t3498 = call ptr @lp_str_concat(ptr @.str7107, ptr %t3497) %t3499 = call ptr @lp_str_concat(ptr %t3498, ptr @.str7108) %t3500 = load ptr, ptr %t3411 %t3501 = call i32 @fn_field_index(ptr %t3500, ptr @.str7109) %t3502 = call ptr @fn_itoa(i32 %t3501) %t3503 = call ptr @lp_str_concat(ptr %t3499, ptr %t3502) %t3504 = call ptr @fn_emit_bind(ptr %t3503) store ptr %t3504, ptr %t3505 %t3506 = load ptr, ptr %t3496 %t3507 = call ptr @lp_str_concat(ptr @.str7110, ptr %t3506) %t3508 = call ptr @lp_str_concat(ptr %t3507, ptr @.str7111) %t3509 = load ptr, ptr %t3411 %t3510 = call i32 @fn_field_index(ptr %t3509, ptr @.str7112) %t3511 = call ptr @fn_itoa(i32 %t3510) %t3512 = call ptr @lp_str_concat(ptr %t3508, ptr %t3511) %t3513 = call ptr @fn_emit_bind(ptr %t3512) store ptr %t3513, ptr %t3514 %t3515 = load ptr, ptr %t3480 %t3516 = getelementptr inbounds %Cmp_Val, ptr %t3515, i32 0, i32 0 %t3517 = load ptr, ptr %t3516 %t3518 = call ptr @fn_vec_x(ptr %t3517) store ptr %t3518, ptr %t3519 %t3520 = load ptr, ptr %t3480 %t3521 = getelementptr inbounds %Cmp_Val, ptr %t3520, i32 0, i32 0 %t3522 = load ptr, ptr %t3521 %t3523 = call ptr @fn_vec_y(ptr %t3522) store ptr %t3523, ptr %t3524 call void @fn_emit(ptr @.str7113) %t3525 = load ptr, ptr %t3519 call void @fn_emit(ptr %t3525) call void @fn_emit(ptr @.str7114) %t3526 = load ptr, ptr %t3505 call void @fn_emit(ptr %t3526) call void @fn_emit(ptr @.str7115) call void @fn_emit(ptr @.str7116) %t3527 = load ptr, ptr %t3524 call void @fn_emit(ptr %t3527) call void @fn_emit(ptr @.str7117) %t3528 = load ptr, ptr %t3514 call void @fn_emit(ptr %t3528) call void @fn_emit(ptr @.str7118) %t3529 = load ptr, ptr %t3487 %t3530 = call ptr @fn_val(ptr %t3529, ptr @.str7119) store ptr %t3530, ptr %retval br label %ret ifend684: %t3531 = load ptr, ptr %t1 %t3532 = call i32 @lp_str_eq(ptr %t3531, ptr @.str7120) %t3533 = icmp ne i32 %t3532, 0 br i1 %t3533, label %then695, label %ifend697 then695: %t3534 = call i32 @fn_has_prefabs() %t3535 = icmp eq i32 %t3534, 0 %t3536 = zext i1 %t3535 to i32 %t3537 = icmp ne i32 %t3536, 0 br i1 %t3537, label %then698, label %ifend700 then698: call void @fn_perr(ptr @.str7121) br label %ifend700 ifend700: %t3538 = getelementptr %LSlice, ptr null, i32 1 %t3539 = ptrtoint ptr %t3538 to i64 %t3540 = call ptr @malloc(i64 %t3539) %t3541 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 0 store ptr null, ptr %t3541 %t3542 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 1 store i32 0, ptr %t3542 %t3543 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 2 store i32 0, ptr %t3543 store ptr %t3540, ptr %t3544 %t3545 = load ptr, ptr %t3544 %t3546 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 1 %t3547 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 2 %t3548 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 0 %t3549 = load i32, ptr %t3546 %t3550 = load i32, ptr %t3547 %t3551 = icmp sge i32 %t3549, %t3550 br i1 %t3551, label %grow701, label %put702 grow701: %t3552 = mul i32 %t3550, 2 %t3553 = icmp eq i32 %t3550, 0 %t3554 = select i1 %t3553, i32 8, i32 %t3552 %t3555 = getelementptr ptr, ptr null, i32 1 %t3556 = ptrtoint ptr %t3555 to i64 %t3557 = zext i32 %t3554 to i64 %t3558 = mul i64 %t3557, %t3556 %t3559 = load ptr, ptr %t3548 %t3560 = call ptr @realloc(ptr %t3559, i64 %t3558) store ptr %t3560, ptr %t3548 store i32 %t3554, ptr %t3547 br label %put702 put702: %t3561 = load ptr, ptr %t3548 %t3562 = getelementptr inbounds ptr, ptr %t3561, i32 %t3549 store ptr @.str7122, ptr %t3562 %t3563 = add i32 %t3549, 1 store i32 %t3563, ptr %t3546 %t3564 = load ptr, ptr %t2 %t3565 = load ptr, ptr %t3544 call void @fn_reorder_named(ptr %t3564, ptr %t3565) %t3566 = load ptr, ptr %t2 %t3567 = getelementptr inbounds %Cmp_Node, ptr %t3566, i32 0, i32 7 %t3568 = load ptr, ptr %t3567 %t3569 = getelementptr inbounds %LSlice, ptr %t3568, i32 0, i32 1 %t3570 = load i32, ptr %t3569 %t3571 = icmp ne i32 %t3570, 1 %t3572 = zext i1 %t3571 to i32 %t3573 = icmp ne i32 %t3572, 0 br i1 %t3573, label %then703, label %ifend705 then703: call void @fn_perr(ptr @.str7123) br label %ifend705 ifend705: %t3574 = load ptr, ptr %t2 %t3575 = getelementptr inbounds %Cmp_Node, ptr %t3574, i32 0, i32 7 %t3576 = load ptr, ptr %t3575 %t3577 = getelementptr inbounds %LSlice, ptr %t3576, i32 0, i32 0 %t3578 = load ptr, ptr %t3577 %t3579 = getelementptr inbounds ptr, ptr %t3578, i32 0 %t3580 = load ptr, ptr %t3579 %t3581 = call ptr @fn_emit_expr(ptr %t3580) store ptr %t3581, ptr %t3582 %t3583 = load ptr, ptr %t3582 %t3584 = getelementptr inbounds %Cmp_Val, ptr %t3583, i32 0, i32 0 %t3585 = load ptr, ptr %t3584 %t3586 = call ptr @lp_str_concat(ptr @.str7124, ptr %t3585) %t3587 = call ptr @lp_str_concat(ptr %t3586, ptr @.str7125) %t3588 = call ptr @fn_emit_bind(ptr %t3587) %t3589 = call ptr @fn_val(ptr %t3588, ptr @.str7126) store ptr %t3589, ptr %retval br label %ret ifend697: %t3590 = load ptr, ptr %t1 %t3591 = call ptr @lp_str_concat(ptr @.str7127, ptr %t3590) call void @fn_perr(ptr %t3591) br label %ifend681 ifend681: %t3592 = load ptr, ptr %t0 %t3593 = call i32 @lp_str_eq(ptr %t3592, ptr @.str7128) %t3594 = icmp ne i32 %t3593, 0 br i1 %t3594, label %then706, label %ifend708 then706: %t3595 = load ptr, ptr %t1 %t3596 = call i32 @lp_str_eq(ptr %t3595, ptr @.str7129) %t3597 = icmp ne i32 %t3596, 0 br i1 %t3597, label %then709, label %ifend711 then709: store ptr @.str7130, ptr %t403 %t3598 = load ptr, ptr %t410 %t3599 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 1 %t3600 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 2 %t3601 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 0 %t3602 = load i32, ptr %t3599 %t3603 = load i32, ptr %t3600 %t3604 = icmp sge i32 %t3602, %t3603 br i1 %t3604, label %grow712, label %put713 grow712: %t3605 = mul i32 %t3603, 2 %t3606 = icmp eq i32 %t3603, 0 %t3607 = select i1 %t3606, i32 8, i32 %t3605 %t3608 = getelementptr ptr, ptr null, i32 1 %t3609 = ptrtoint ptr %t3608 to i64 %t3610 = zext i32 %t3607 to i64 %t3611 = mul i64 %t3610, %t3609 %t3612 = load ptr, ptr %t3601 %t3613 = call ptr @realloc(ptr %t3612, i64 %t3611) store ptr %t3613, ptr %t3601 store i32 %t3607, ptr %t3600 br label %put713 put713: %t3614 = load ptr, ptr %t3601 %t3615 = getelementptr inbounds ptr, ptr %t3614, i32 %t3602 store ptr @.str7131, ptr %t3615 %t3616 = add i32 %t3602, 1 store i32 %t3616, ptr %t3599 br label %ifend711 ifend711: %t3617 = load ptr, ptr %t1 %t3618 = call i32 @lp_str_eq(ptr %t3617, ptr @.str7132) %t3619 = icmp ne i32 %t3618, 0 br i1 %t3619, label %then714, label %ifend716 then714: store ptr @.str7133, ptr %t403 %t3620 = load ptr, ptr %t410 %t3621 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 1 %t3622 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 2 %t3623 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 0 %t3624 = load i32, ptr %t3621 %t3625 = load i32, ptr %t3622 %t3626 = icmp sge i32 %t3624, %t3625 br i1 %t3626, label %grow717, label %put718 grow717: %t3627 = mul i32 %t3625, 2 %t3628 = icmp eq i32 %t3625, 0 %t3629 = select i1 %t3628, i32 8, i32 %t3627 %t3630 = getelementptr ptr, ptr null, i32 1 %t3631 = ptrtoint ptr %t3630 to i64 %t3632 = zext i32 %t3629 to i64 %t3633 = mul i64 %t3632, %t3631 %t3634 = load ptr, ptr %t3623 %t3635 = call ptr @realloc(ptr %t3634, i64 %t3633) store ptr %t3635, ptr %t3623 store i32 %t3629, ptr %t3622 br label %put718 put718: %t3636 = load ptr, ptr %t3623 %t3637 = getelementptr inbounds ptr, ptr %t3636, i32 %t3624 store ptr @.str7134, ptr %t3637 %t3638 = add i32 %t3624, 1 store i32 %t3638, ptr %t3621 br label %ifend716 ifend716: %t3639 = load ptr, ptr %t1 %t3640 = call i32 @lp_str_eq(ptr %t3639, ptr @.str7135) %t3641 = icmp ne i32 %t3640, 0 br i1 %t3641, label %then719, label %ifend721 then719: store ptr @.str7136, ptr %t403 %t3642 = load ptr, ptr %t410 %t3643 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 1 %t3644 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 2 %t3645 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 0 %t3646 = load i32, ptr %t3643 %t3647 = load i32, ptr %t3644 %t3648 = icmp sge i32 %t3646, %t3647 br i1 %t3648, label %grow722, label %put723 grow722: %t3649 = mul i32 %t3647, 2 %t3650 = icmp eq i32 %t3647, 0 %t3651 = select i1 %t3650, i32 8, i32 %t3649 %t3652 = getelementptr ptr, ptr null, i32 1 %t3653 = ptrtoint ptr %t3652 to i64 %t3654 = zext i32 %t3651 to i64 %t3655 = mul i64 %t3654, %t3653 %t3656 = load ptr, ptr %t3645 %t3657 = call ptr @realloc(ptr %t3656, i64 %t3655) store ptr %t3657, ptr %t3645 store i32 %t3651, ptr %t3644 br label %put723 put723: %t3658 = load ptr, ptr %t3645 %t3659 = getelementptr inbounds ptr, ptr %t3658, i32 %t3646 store ptr @.str7137, ptr %t3659 %t3660 = add i32 %t3646, 1 store i32 %t3660, ptr %t3643 br label %ifend721 ifend721: %t3661 = load ptr, ptr %t1 %t3662 = call i32 @lp_str_eq(ptr %t3661, ptr @.str7138) %t3663 = icmp ne i32 %t3662, 0 br i1 %t3663, label %then724, label %ifend726 then724: store ptr @.str7139, ptr %t403 %t3664 = load ptr, ptr %t410 %t3665 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 1 %t3666 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 2 %t3667 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 0 %t3668 = load i32, ptr %t3665 %t3669 = load i32, ptr %t3666 %t3670 = icmp sge i32 %t3668, %t3669 br i1 %t3670, label %grow727, label %put728 grow727: %t3671 = mul i32 %t3669, 2 %t3672 = icmp eq i32 %t3669, 0 %t3673 = select i1 %t3672, i32 8, i32 %t3671 %t3674 = getelementptr ptr, ptr null, i32 1 %t3675 = ptrtoint ptr %t3674 to i64 %t3676 = zext i32 %t3673 to i64 %t3677 = mul i64 %t3676, %t3675 %t3678 = load ptr, ptr %t3667 %t3679 = call ptr @realloc(ptr %t3678, i64 %t3677) store ptr %t3679, ptr %t3667 store i32 %t3673, ptr %t3666 br label %put728 put728: %t3680 = load ptr, ptr %t3667 %t3681 = getelementptr inbounds ptr, ptr %t3680, i32 %t3668 store ptr @.str7140, ptr %t3681 %t3682 = add i32 %t3668, 1 store i32 %t3682, ptr %t3665 br label %ifend726 ifend726: %t3683 = load ptr, ptr %t1 %t3684 = call i32 @lp_str_eq(ptr %t3683, ptr @.str7141) %t3685 = icmp ne i32 %t3684, 0 br i1 %t3685, label %then729, label %ifend731 then729: store ptr @.str7142, ptr %t403 %t3686 = load ptr, ptr %t410 %t3687 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 1 %t3688 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 2 %t3689 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 0 %t3690 = load i32, ptr %t3687 %t3691 = load i32, ptr %t3688 %t3692 = icmp sge i32 %t3690, %t3691 br i1 %t3692, label %grow732, label %put733 grow732: %t3693 = mul i32 %t3691, 2 %t3694 = icmp eq i32 %t3691, 0 %t3695 = select i1 %t3694, i32 8, i32 %t3693 %t3696 = getelementptr ptr, ptr null, i32 1 %t3697 = ptrtoint ptr %t3696 to i64 %t3698 = zext i32 %t3695 to i64 %t3699 = mul i64 %t3698, %t3697 %t3700 = load ptr, ptr %t3689 %t3701 = call ptr @realloc(ptr %t3700, i64 %t3699) store ptr %t3701, ptr %t3689 store i32 %t3695, ptr %t3688 br label %put733 put733: %t3702 = load ptr, ptr %t3689 %t3703 = getelementptr inbounds ptr, ptr %t3702, i32 %t3690 store ptr @.str7143, ptr %t3703 %t3704 = add i32 %t3690, 1 store i32 %t3704, ptr %t3687 br label %ifend731 ifend731: %t3705 = load ptr, ptr %t1 %t3706 = call i32 @lp_str_eq(ptr %t3705, ptr @.str7144) %t3707 = icmp ne i32 %t3706, 0 br i1 %t3707, label %then734, label %ifend736 then734: store ptr @.str7145, ptr %t403 %t3708 = load ptr, ptr %t410 %t3709 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 1 %t3710 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 2 %t3711 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 0 %t3712 = load i32, ptr %t3709 %t3713 = load i32, ptr %t3710 %t3714 = icmp sge i32 %t3712, %t3713 br i1 %t3714, label %grow737, label %put738 grow737: %t3715 = mul i32 %t3713, 2 %t3716 = icmp eq i32 %t3713, 0 %t3717 = select i1 %t3716, i32 8, i32 %t3715 %t3718 = getelementptr ptr, ptr null, i32 1 %t3719 = ptrtoint ptr %t3718 to i64 %t3720 = zext i32 %t3717 to i64 %t3721 = mul i64 %t3720, %t3719 %t3722 = load ptr, ptr %t3711 %t3723 = call ptr @realloc(ptr %t3722, i64 %t3721) store ptr %t3723, ptr %t3711 store i32 %t3717, ptr %t3710 br label %put738 put738: %t3724 = load ptr, ptr %t3711 %t3725 = getelementptr inbounds ptr, ptr %t3724, i32 %t3712 store ptr @.str7146, ptr %t3725 %t3726 = add i32 %t3712, 1 store i32 %t3726, ptr %t3709 %t3727 = load ptr, ptr %t410 %t3728 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 1 %t3729 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 2 %t3730 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 0 %t3731 = load i32, ptr %t3728 %t3732 = load i32, ptr %t3729 %t3733 = icmp sge i32 %t3731, %t3732 br i1 %t3733, label %grow739, label %put740 grow739: %t3734 = mul i32 %t3732, 2 %t3735 = icmp eq i32 %t3732, 0 %t3736 = select i1 %t3735, i32 8, i32 %t3734 %t3737 = getelementptr ptr, ptr null, i32 1 %t3738 = ptrtoint ptr %t3737 to i64 %t3739 = zext i32 %t3736 to i64 %t3740 = mul i64 %t3739, %t3738 %t3741 = load ptr, ptr %t3730 %t3742 = call ptr @realloc(ptr %t3741, i64 %t3740) store ptr %t3742, ptr %t3730 store i32 %t3736, ptr %t3729 br label %put740 put740: %t3743 = load ptr, ptr %t3730 %t3744 = getelementptr inbounds ptr, ptr %t3743, i32 %t3731 store ptr @.str7147, ptr %t3744 %t3745 = add i32 %t3731, 1 store i32 %t3745, ptr %t3728 br label %ifend736 ifend736: %t3746 = load ptr, ptr %t1 %t3747 = call i32 @lp_str_eq(ptr %t3746, ptr @.str7148) %t3748 = icmp ne i32 %t3747, 0 br i1 %t3748, label %then741, label %ifend743 then741: store ptr @.str7149, ptr %t403 %t3749 = load ptr, ptr %t410 %t3750 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 1 %t3751 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 2 %t3752 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 0 %t3753 = load i32, ptr %t3750 %t3754 = load i32, ptr %t3751 %t3755 = icmp sge i32 %t3753, %t3754 br i1 %t3755, label %grow744, label %put745 grow744: %t3756 = mul i32 %t3754, 2 %t3757 = icmp eq i32 %t3754, 0 %t3758 = select i1 %t3757, i32 8, i32 %t3756 %t3759 = getelementptr ptr, ptr null, i32 1 %t3760 = ptrtoint ptr %t3759 to i64 %t3761 = zext i32 %t3758 to i64 %t3762 = mul i64 %t3761, %t3760 %t3763 = load ptr, ptr %t3752 %t3764 = call ptr @realloc(ptr %t3763, i64 %t3762) store ptr %t3764, ptr %t3752 store i32 %t3758, ptr %t3751 br label %put745 put745: %t3765 = load ptr, ptr %t3752 %t3766 = getelementptr inbounds ptr, ptr %t3765, i32 %t3753 store ptr @.str7150, ptr %t3766 %t3767 = add i32 %t3753, 1 store i32 %t3767, ptr %t3750 br label %ifend743 ifend743: %t3768 = load ptr, ptr %t1 %t3769 = call i32 @lp_str_eq(ptr %t3768, ptr @.str7151) %t3770 = icmp ne i32 %t3769, 0 br i1 %t3770, label %then746, label %ifend748 then746: store ptr @.str7152, ptr %t403 br label %ifend748 ifend748: %t3771 = load ptr, ptr %t1 %t3772 = call i32 @lp_str_eq(ptr %t3771, ptr @.str7153) %t3773 = icmp ne i32 %t3772, 0 br i1 %t3773, label %then749, label %ifend751 then749: store ptr @.str7154, ptr %t403 br label %ifend751 ifend751: %t3774 = load ptr, ptr %t1 %t3775 = call i32 @lp_str_eq(ptr %t3774, ptr @.str7155) %t3776 = icmp ne i32 %t3775, 0 br i1 %t3776, label %then752, label %ifend754 then752: store ptr @.str7156, ptr %t403 br label %ifend754 ifend754: %t3777 = load ptr, ptr %t1 %t3778 = call i32 @lp_str_eq(ptr %t3777, ptr @.str7157) %t3779 = icmp ne i32 %t3778, 0 br i1 %t3779, label %then755, label %ifend757 then755: store ptr @.str7158, ptr %t403 br label %ifend757 ifend757: br label %ifend708 ifend708: %t3780 = load ptr, ptr %t0 %t3781 = call i32 @lp_str_eq(ptr %t3780, ptr @.str7159) %t3782 = icmp ne i32 %t3781, 0 br i1 %t3782, label %then758, label %ifend760 then758: %t3783 = load ptr, ptr %t1 %t3784 = call i32 @lp_str_eq(ptr %t3783, ptr @.str7160) %t3785 = icmp ne i32 %t3784, 0 br i1 %t3785, label %then761, label %ifend763 then761: store ptr @.str7161, ptr %t403 %t3786 = load ptr, ptr %t410 %t3787 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 1 %t3788 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 2 %t3789 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 0 %t3790 = load i32, ptr %t3787 %t3791 = load i32, ptr %t3788 %t3792 = icmp sge i32 %t3790, %t3791 br i1 %t3792, label %grow764, label %put765 grow764: %t3793 = mul i32 %t3791, 2 %t3794 = icmp eq i32 %t3791, 0 %t3795 = select i1 %t3794, i32 8, i32 %t3793 %t3796 = getelementptr ptr, ptr null, i32 1 %t3797 = ptrtoint ptr %t3796 to i64 %t3798 = zext i32 %t3795 to i64 %t3799 = mul i64 %t3798, %t3797 %t3800 = load ptr, ptr %t3789 %t3801 = call ptr @realloc(ptr %t3800, i64 %t3799) store ptr %t3801, ptr %t3789 store i32 %t3795, ptr %t3788 br label %put765 put765: %t3802 = load ptr, ptr %t3789 %t3803 = getelementptr inbounds ptr, ptr %t3802, i32 %t3790 store ptr @.str7162, ptr %t3803 %t3804 = add i32 %t3790, 1 store i32 %t3804, ptr %t3787 %t3805 = load ptr, ptr %t410 %t3806 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 1 %t3807 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 2 %t3808 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 0 %t3809 = load i32, ptr %t3806 %t3810 = load i32, ptr %t3807 %t3811 = icmp sge i32 %t3809, %t3810 br i1 %t3811, label %grow766, label %put767 grow766: %t3812 = mul i32 %t3810, 2 %t3813 = icmp eq i32 %t3810, 0 %t3814 = select i1 %t3813, i32 8, i32 %t3812 %t3815 = getelementptr ptr, ptr null, i32 1 %t3816 = ptrtoint ptr %t3815 to i64 %t3817 = zext i32 %t3814 to i64 %t3818 = mul i64 %t3817, %t3816 %t3819 = load ptr, ptr %t3808 %t3820 = call ptr @realloc(ptr %t3819, i64 %t3818) store ptr %t3820, ptr %t3808 store i32 %t3814, ptr %t3807 br label %put767 put767: %t3821 = load ptr, ptr %t3808 %t3822 = getelementptr inbounds ptr, ptr %t3821, i32 %t3809 store ptr @.str7163, ptr %t3822 %t3823 = add i32 %t3809, 1 store i32 %t3823, ptr %t3806 br label %ifend763 ifend763: %t3824 = load ptr, ptr %t1 %t3825 = call i32 @lp_str_eq(ptr %t3824, ptr @.str7164) %t3826 = icmp ne i32 %t3825, 0 br i1 %t3826, label %then768, label %ifend770 then768: store ptr @.str7165, ptr %t403 %t3827 = load ptr, ptr %t410 %t3828 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 1 %t3829 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 2 %t3830 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 0 %t3831 = load i32, ptr %t3828 %t3832 = load i32, ptr %t3829 %t3833 = icmp sge i32 %t3831, %t3832 br i1 %t3833, label %grow771, label %put772 grow771: %t3834 = mul i32 %t3832, 2 %t3835 = icmp eq i32 %t3832, 0 %t3836 = select i1 %t3835, i32 8, i32 %t3834 %t3837 = getelementptr ptr, ptr null, i32 1 %t3838 = ptrtoint ptr %t3837 to i64 %t3839 = zext i32 %t3836 to i64 %t3840 = mul i64 %t3839, %t3838 %t3841 = load ptr, ptr %t3830 %t3842 = call ptr @realloc(ptr %t3841, i64 %t3840) store ptr %t3842, ptr %t3830 store i32 %t3836, ptr %t3829 br label %put772 put772: %t3843 = load ptr, ptr %t3830 %t3844 = getelementptr inbounds ptr, ptr %t3843, i32 %t3831 store ptr @.str7166, ptr %t3844 %t3845 = add i32 %t3831, 1 store i32 %t3845, ptr %t3828 %t3846 = load ptr, ptr %t410 %t3847 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 1 %t3848 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 2 %t3849 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 0 %t3850 = load i32, ptr %t3847 %t3851 = load i32, ptr %t3848 %t3852 = icmp sge i32 %t3850, %t3851 br i1 %t3852, label %grow773, label %put774 grow773: %t3853 = mul i32 %t3851, 2 %t3854 = icmp eq i32 %t3851, 0 %t3855 = select i1 %t3854, i32 8, i32 %t3853 %t3856 = getelementptr ptr, ptr null, i32 1 %t3857 = ptrtoint ptr %t3856 to i64 %t3858 = zext i32 %t3855 to i64 %t3859 = mul i64 %t3858, %t3857 %t3860 = load ptr, ptr %t3849 %t3861 = call ptr @realloc(ptr %t3860, i64 %t3859) store ptr %t3861, ptr %t3849 store i32 %t3855, ptr %t3848 br label %put774 put774: %t3862 = load ptr, ptr %t3849 %t3863 = getelementptr inbounds ptr, ptr %t3862, i32 %t3850 store ptr @.str7167, ptr %t3863 %t3864 = add i32 %t3850, 1 store i32 %t3864, ptr %t3847 %t3865 = load ptr, ptr %t410 %t3866 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 1 %t3867 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 2 %t3868 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 0 %t3869 = load i32, ptr %t3866 %t3870 = load i32, ptr %t3867 %t3871 = icmp sge i32 %t3869, %t3870 br i1 %t3871, label %grow775, label %put776 grow775: %t3872 = mul i32 %t3870, 2 %t3873 = icmp eq i32 %t3870, 0 %t3874 = select i1 %t3873, i32 8, i32 %t3872 %t3875 = getelementptr ptr, ptr null, i32 1 %t3876 = ptrtoint ptr %t3875 to i64 %t3877 = zext i32 %t3874 to i64 %t3878 = mul i64 %t3877, %t3876 %t3879 = load ptr, ptr %t3868 %t3880 = call ptr @realloc(ptr %t3879, i64 %t3878) store ptr %t3880, ptr %t3868 store i32 %t3874, ptr %t3867 br label %put776 put776: %t3881 = load ptr, ptr %t3868 %t3882 = getelementptr inbounds ptr, ptr %t3881, i32 %t3869 store ptr @.str7168, ptr %t3882 %t3883 = add i32 %t3869, 1 store i32 %t3883, ptr %t3866 br label %ifend770 ifend770: %t3884 = load ptr, ptr %t1 %t3885 = call i32 @lp_str_eq(ptr %t3884, ptr @.str7169) %t3886 = icmp ne i32 %t3885, 0 br i1 %t3886, label %then777, label %ifend779 then777: store ptr @.str7170, ptr %t403 %t3887 = load ptr, ptr %t410 %t3888 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 1 %t3889 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 2 %t3890 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 0 %t3891 = load i32, ptr %t3888 %t3892 = load i32, ptr %t3889 %t3893 = icmp sge i32 %t3891, %t3892 br i1 %t3893, label %grow780, label %put781 grow780: %t3894 = mul i32 %t3892, 2 %t3895 = icmp eq i32 %t3892, 0 %t3896 = select i1 %t3895, i32 8, i32 %t3894 %t3897 = getelementptr ptr, ptr null, i32 1 %t3898 = ptrtoint ptr %t3897 to i64 %t3899 = zext i32 %t3896 to i64 %t3900 = mul i64 %t3899, %t3898 %t3901 = load ptr, ptr %t3890 %t3902 = call ptr @realloc(ptr %t3901, i64 %t3900) store ptr %t3902, ptr %t3890 store i32 %t3896, ptr %t3889 br label %put781 put781: %t3903 = load ptr, ptr %t3890 %t3904 = getelementptr inbounds ptr, ptr %t3903, i32 %t3891 store ptr @.str7171, ptr %t3904 %t3905 = add i32 %t3891, 1 store i32 %t3905, ptr %t3888 br label %ifend779 ifend779: %t3906 = load ptr, ptr %t1 %t3907 = call i32 @lp_str_eq(ptr %t3906, ptr @.str7172) %t3908 = icmp ne i32 %t3907, 0 br i1 %t3908, label %then782, label %ifend784 then782: store ptr @.str7173, ptr %t403 %t3909 = load ptr, ptr %t410 %t3910 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 1 %t3911 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 2 %t3912 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 0 %t3913 = load i32, ptr %t3910 %t3914 = load i32, ptr %t3911 %t3915 = icmp sge i32 %t3913, %t3914 br i1 %t3915, label %grow785, label %put786 grow785: %t3916 = mul i32 %t3914, 2 %t3917 = icmp eq i32 %t3914, 0 %t3918 = select i1 %t3917, i32 8, i32 %t3916 %t3919 = getelementptr ptr, ptr null, i32 1 %t3920 = ptrtoint ptr %t3919 to i64 %t3921 = zext i32 %t3918 to i64 %t3922 = mul i64 %t3921, %t3920 %t3923 = load ptr, ptr %t3912 %t3924 = call ptr @realloc(ptr %t3923, i64 %t3922) store ptr %t3924, ptr %t3912 store i32 %t3918, ptr %t3911 br label %put786 put786: %t3925 = load ptr, ptr %t3912 %t3926 = getelementptr inbounds ptr, ptr %t3925, i32 %t3913 store ptr @.str7174, ptr %t3926 %t3927 = add i32 %t3913, 1 store i32 %t3927, ptr %t3910 %t3928 = load ptr, ptr %t410 %t3929 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 1 %t3930 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 2 %t3931 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 0 %t3932 = load i32, ptr %t3929 %t3933 = load i32, ptr %t3930 %t3934 = icmp sge i32 %t3932, %t3933 br i1 %t3934, label %grow787, label %put788 grow787: %t3935 = mul i32 %t3933, 2 %t3936 = icmp eq i32 %t3933, 0 %t3937 = select i1 %t3936, i32 8, i32 %t3935 %t3938 = getelementptr ptr, ptr null, i32 1 %t3939 = ptrtoint ptr %t3938 to i64 %t3940 = zext i32 %t3937 to i64 %t3941 = mul i64 %t3940, %t3939 %t3942 = load ptr, ptr %t3931 %t3943 = call ptr @realloc(ptr %t3942, i64 %t3941) store ptr %t3943, ptr %t3931 store i32 %t3937, ptr %t3930 br label %put788 put788: %t3944 = load ptr, ptr %t3931 %t3945 = getelementptr inbounds ptr, ptr %t3944, i32 %t3932 store ptr @.str7175, ptr %t3945 %t3946 = add i32 %t3932, 1 store i32 %t3946, ptr %t3929 br label %ifend784 ifend784: %t3947 = load ptr, ptr %t1 %t3948 = call i32 @lp_str_eq(ptr %t3947, ptr @.str7176) %t3949 = icmp ne i32 %t3948, 0 br i1 %t3949, label %then789, label %ifend791 then789: store ptr @.str7177, ptr %t403 %t3950 = load ptr, ptr %t410 %t3951 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 1 %t3952 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 2 %t3953 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 0 %t3954 = load i32, ptr %t3951 %t3955 = load i32, ptr %t3952 %t3956 = icmp sge i32 %t3954, %t3955 br i1 %t3956, label %grow792, label %put793 grow792: %t3957 = mul i32 %t3955, 2 %t3958 = icmp eq i32 %t3955, 0 %t3959 = select i1 %t3958, i32 8, i32 %t3957 %t3960 = getelementptr ptr, ptr null, i32 1 %t3961 = ptrtoint ptr %t3960 to i64 %t3962 = zext i32 %t3959 to i64 %t3963 = mul i64 %t3962, %t3961 %t3964 = load ptr, ptr %t3953 %t3965 = call ptr @realloc(ptr %t3964, i64 %t3963) store ptr %t3965, ptr %t3953 store i32 %t3959, ptr %t3952 br label %put793 put793: %t3966 = load ptr, ptr %t3953 %t3967 = getelementptr inbounds ptr, ptr %t3966, i32 %t3954 store ptr @.str7178, ptr %t3967 %t3968 = add i32 %t3954, 1 store i32 %t3968, ptr %t3951 br label %ifend791 ifend791: br label %ifend760 ifend760: %t3969 = load ptr, ptr %t0 %t3970 = call i32 @lp_str_eq(ptr %t3969, ptr @.str7179) %t3971 = icmp ne i32 %t3970, 0 br i1 %t3971, label %then794, label %ifend796 then794: %t3972 = load ptr, ptr %t1 %t3973 = call i32 @lp_str_eq(ptr %t3972, ptr @.str7180) %t3974 = icmp ne i32 %t3973, 0 br i1 %t3974, label %then797, label %ifend799 then797: store ptr @.str7181, ptr %t403 %t3975 = load ptr, ptr %t410 %t3976 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 1 %t3977 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 2 %t3978 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 0 %t3979 = load i32, ptr %t3976 %t3980 = load i32, ptr %t3977 %t3981 = icmp sge i32 %t3979, %t3980 br i1 %t3981, label %grow800, label %put801 grow800: %t3982 = mul i32 %t3980, 2 %t3983 = icmp eq i32 %t3980, 0 %t3984 = select i1 %t3983, i32 8, i32 %t3982 %t3985 = getelementptr ptr, ptr null, i32 1 %t3986 = ptrtoint ptr %t3985 to i64 %t3987 = zext i32 %t3984 to i64 %t3988 = mul i64 %t3987, %t3986 %t3989 = load ptr, ptr %t3978 %t3990 = call ptr @realloc(ptr %t3989, i64 %t3988) store ptr %t3990, ptr %t3978 store i32 %t3984, ptr %t3977 br label %put801 put801: %t3991 = load ptr, ptr %t3978 %t3992 = getelementptr inbounds ptr, ptr %t3991, i32 %t3979 store ptr @.str7182, ptr %t3992 %t3993 = add i32 %t3979, 1 store i32 %t3993, ptr %t3976 %t3994 = load ptr, ptr %t410 %t3995 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 1 %t3996 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 2 %t3997 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 0 %t3998 = load i32, ptr %t3995 %t3999 = load i32, ptr %t3996 %t4000 = icmp sge i32 %t3998, %t3999 br i1 %t4000, label %grow802, label %put803 grow802: %t4001 = mul i32 %t3999, 2 %t4002 = icmp eq i32 %t3999, 0 %t4003 = select i1 %t4002, i32 8, i32 %t4001 %t4004 = getelementptr ptr, ptr null, i32 1 %t4005 = ptrtoint ptr %t4004 to i64 %t4006 = zext i32 %t4003 to i64 %t4007 = mul i64 %t4006, %t4005 %t4008 = load ptr, ptr %t3997 %t4009 = call ptr @realloc(ptr %t4008, i64 %t4007) store ptr %t4009, ptr %t3997 store i32 %t4003, ptr %t3996 br label %put803 put803: %t4010 = load ptr, ptr %t3997 %t4011 = getelementptr inbounds ptr, ptr %t4010, i32 %t3998 store ptr @.str7183, ptr %t4011 %t4012 = add i32 %t3998, 1 store i32 %t4012, ptr %t3995 br label %ifend799 ifend799: %t4013 = load ptr, ptr %t1 %t4014 = call i32 @lp_str_eq(ptr %t4013, ptr @.str7184) %t4015 = icmp ne i32 %t4014, 0 br i1 %t4015, label %then804, label %ifend806 then804: store ptr @.str7185, ptr %t403 %t4016 = load ptr, ptr %t410 %t4017 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 1 %t4018 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 2 %t4019 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 0 %t4020 = load i32, ptr %t4017 %t4021 = load i32, ptr %t4018 %t4022 = icmp sge i32 %t4020, %t4021 br i1 %t4022, label %grow807, label %put808 grow807: %t4023 = mul i32 %t4021, 2 %t4024 = icmp eq i32 %t4021, 0 %t4025 = select i1 %t4024, i32 8, i32 %t4023 %t4026 = getelementptr ptr, ptr null, i32 1 %t4027 = ptrtoint ptr %t4026 to i64 %t4028 = zext i32 %t4025 to i64 %t4029 = mul i64 %t4028, %t4027 %t4030 = load ptr, ptr %t4019 %t4031 = call ptr @realloc(ptr %t4030, i64 %t4029) store ptr %t4031, ptr %t4019 store i32 %t4025, ptr %t4018 br label %put808 put808: %t4032 = load ptr, ptr %t4019 %t4033 = getelementptr inbounds ptr, ptr %t4032, i32 %t4020 store ptr @.str7186, ptr %t4033 %t4034 = add i32 %t4020, 1 store i32 %t4034, ptr %t4017 %t4035 = load ptr, ptr %t410 %t4036 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 1 %t4037 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 2 %t4038 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 0 %t4039 = load i32, ptr %t4036 %t4040 = load i32, ptr %t4037 %t4041 = icmp sge i32 %t4039, %t4040 br i1 %t4041, label %grow809, label %put810 grow809: %t4042 = mul i32 %t4040, 2 %t4043 = icmp eq i32 %t4040, 0 %t4044 = select i1 %t4043, i32 8, i32 %t4042 %t4045 = getelementptr ptr, ptr null, i32 1 %t4046 = ptrtoint ptr %t4045 to i64 %t4047 = zext i32 %t4044 to i64 %t4048 = mul i64 %t4047, %t4046 %t4049 = load ptr, ptr %t4038 %t4050 = call ptr @realloc(ptr %t4049, i64 %t4048) store ptr %t4050, ptr %t4038 store i32 %t4044, ptr %t4037 br label %put810 put810: %t4051 = load ptr, ptr %t4038 %t4052 = getelementptr inbounds ptr, ptr %t4051, i32 %t4039 store ptr @.str7187, ptr %t4052 %t4053 = add i32 %t4039, 1 store i32 %t4053, ptr %t4036 br label %ifend806 ifend806: %t4054 = load ptr, ptr %t1 %t4055 = call i32 @lp_str_eq(ptr %t4054, ptr @.str7188) %t4056 = icmp ne i32 %t4055, 0 br i1 %t4056, label %then811, label %ifend813 then811: store ptr @.str7189, ptr %t403 %t4057 = load ptr, ptr %t410 %t4058 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 1 %t4059 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 2 %t4060 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 0 %t4061 = load i32, ptr %t4058 %t4062 = load i32, ptr %t4059 %t4063 = icmp sge i32 %t4061, %t4062 br i1 %t4063, label %grow814, label %put815 grow814: %t4064 = mul i32 %t4062, 2 %t4065 = icmp eq i32 %t4062, 0 %t4066 = select i1 %t4065, i32 8, i32 %t4064 %t4067 = getelementptr ptr, ptr null, i32 1 %t4068 = ptrtoint ptr %t4067 to i64 %t4069 = zext i32 %t4066 to i64 %t4070 = mul i64 %t4069, %t4068 %t4071 = load ptr, ptr %t4060 %t4072 = call ptr @realloc(ptr %t4071, i64 %t4070) store ptr %t4072, ptr %t4060 store i32 %t4066, ptr %t4059 br label %put815 put815: %t4073 = load ptr, ptr %t4060 %t4074 = getelementptr inbounds ptr, ptr %t4073, i32 %t4061 store ptr @.str7190, ptr %t4074 %t4075 = add i32 %t4061, 1 store i32 %t4075, ptr %t4058 %t4076 = load ptr, ptr %t410 %t4077 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 1 %t4078 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 2 %t4079 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 0 %t4080 = load i32, ptr %t4077 %t4081 = load i32, ptr %t4078 %t4082 = icmp sge i32 %t4080, %t4081 br i1 %t4082, label %grow816, label %put817 grow816: %t4083 = mul i32 %t4081, 2 %t4084 = icmp eq i32 %t4081, 0 %t4085 = select i1 %t4084, i32 8, i32 %t4083 %t4086 = getelementptr ptr, ptr null, i32 1 %t4087 = ptrtoint ptr %t4086 to i64 %t4088 = zext i32 %t4085 to i64 %t4089 = mul i64 %t4088, %t4087 %t4090 = load ptr, ptr %t4079 %t4091 = call ptr @realloc(ptr %t4090, i64 %t4089) store ptr %t4091, ptr %t4079 store i32 %t4085, ptr %t4078 br label %put817 put817: %t4092 = load ptr, ptr %t4079 %t4093 = getelementptr inbounds ptr, ptr %t4092, i32 %t4080 store ptr @.str7191, ptr %t4093 %t4094 = add i32 %t4080, 1 store i32 %t4094, ptr %t4077 br label %ifend813 ifend813: %t4095 = load ptr, ptr %t1 %t4096 = call i32 @lp_str_eq(ptr %t4095, ptr @.str7192) %t4097 = icmp ne i32 %t4096, 0 br i1 %t4097, label %then818, label %ifend820 then818: store ptr @.str7193, ptr %t403 %t4098 = load ptr, ptr %t410 %t4099 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 1 %t4100 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 2 %t4101 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 0 %t4102 = load i32, ptr %t4099 %t4103 = load i32, ptr %t4100 %t4104 = icmp sge i32 %t4102, %t4103 br i1 %t4104, label %grow821, label %put822 grow821: %t4105 = mul i32 %t4103, 2 %t4106 = icmp eq i32 %t4103, 0 %t4107 = select i1 %t4106, i32 8, i32 %t4105 %t4108 = getelementptr ptr, ptr null, i32 1 %t4109 = ptrtoint ptr %t4108 to i64 %t4110 = zext i32 %t4107 to i64 %t4111 = mul i64 %t4110, %t4109 %t4112 = load ptr, ptr %t4101 %t4113 = call ptr @realloc(ptr %t4112, i64 %t4111) store ptr %t4113, ptr %t4101 store i32 %t4107, ptr %t4100 br label %put822 put822: %t4114 = load ptr, ptr %t4101 %t4115 = getelementptr inbounds ptr, ptr %t4114, i32 %t4102 store ptr @.str7194, ptr %t4115 %t4116 = add i32 %t4102, 1 store i32 %t4116, ptr %t4099 %t4117 = load ptr, ptr %t410 %t4118 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 1 %t4119 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 2 %t4120 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 0 %t4121 = load i32, ptr %t4118 %t4122 = load i32, ptr %t4119 %t4123 = icmp sge i32 %t4121, %t4122 br i1 %t4123, label %grow823, label %put824 grow823: %t4124 = mul i32 %t4122, 2 %t4125 = icmp eq i32 %t4122, 0 %t4126 = select i1 %t4125, i32 8, i32 %t4124 %t4127 = getelementptr ptr, ptr null, i32 1 %t4128 = ptrtoint ptr %t4127 to i64 %t4129 = zext i32 %t4126 to i64 %t4130 = mul i64 %t4129, %t4128 %t4131 = load ptr, ptr %t4120 %t4132 = call ptr @realloc(ptr %t4131, i64 %t4130) store ptr %t4132, ptr %t4120 store i32 %t4126, ptr %t4119 br label %put824 put824: %t4133 = load ptr, ptr %t4120 %t4134 = getelementptr inbounds ptr, ptr %t4133, i32 %t4121 store ptr @.str7195, ptr %t4134 %t4135 = add i32 %t4121, 1 store i32 %t4135, ptr %t4118 br label %ifend820 ifend820: %t4136 = load ptr, ptr %t1 %t4137 = call i32 @lp_str_eq(ptr %t4136, ptr @.str7196) %t4138 = icmp ne i32 %t4137, 0 br i1 %t4138, label %then825, label %ifend827 then825: store ptr @.str7197, ptr %t403 %t4139 = load ptr, ptr %t410 %t4140 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 1 %t4141 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 2 %t4142 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 0 %t4143 = load i32, ptr %t4140 %t4144 = load i32, ptr %t4141 %t4145 = icmp sge i32 %t4143, %t4144 br i1 %t4145, label %grow828, label %put829 grow828: %t4146 = mul i32 %t4144, 2 %t4147 = icmp eq i32 %t4144, 0 %t4148 = select i1 %t4147, i32 8, i32 %t4146 %t4149 = getelementptr ptr, ptr null, i32 1 %t4150 = ptrtoint ptr %t4149 to i64 %t4151 = zext i32 %t4148 to i64 %t4152 = mul i64 %t4151, %t4150 %t4153 = load ptr, ptr %t4142 %t4154 = call ptr @realloc(ptr %t4153, i64 %t4152) store ptr %t4154, ptr %t4142 store i32 %t4148, ptr %t4141 br label %put829 put829: %t4155 = load ptr, ptr %t4142 %t4156 = getelementptr inbounds ptr, ptr %t4155, i32 %t4143 store ptr @.str7198, ptr %t4156 %t4157 = add i32 %t4143, 1 store i32 %t4157, ptr %t4140 %t4158 = load ptr, ptr %t410 %t4159 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 1 %t4160 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 2 %t4161 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 0 %t4162 = load i32, ptr %t4159 %t4163 = load i32, ptr %t4160 %t4164 = icmp sge i32 %t4162, %t4163 br i1 %t4164, label %grow830, label %put831 grow830: %t4165 = mul i32 %t4163, 2 %t4166 = icmp eq i32 %t4163, 0 %t4167 = select i1 %t4166, i32 8, i32 %t4165 %t4168 = getelementptr ptr, ptr null, i32 1 %t4169 = ptrtoint ptr %t4168 to i64 %t4170 = zext i32 %t4167 to i64 %t4171 = mul i64 %t4170, %t4169 %t4172 = load ptr, ptr %t4161 %t4173 = call ptr @realloc(ptr %t4172, i64 %t4171) store ptr %t4173, ptr %t4161 store i32 %t4167, ptr %t4160 br label %put831 put831: %t4174 = load ptr, ptr %t4161 %t4175 = getelementptr inbounds ptr, ptr %t4174, i32 %t4162 store ptr @.str7199, ptr %t4175 %t4176 = add i32 %t4162, 1 store i32 %t4176, ptr %t4159 %t4177 = load ptr, ptr %t410 %t4178 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 1 %t4179 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 2 %t4180 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 0 %t4181 = load i32, ptr %t4178 %t4182 = load i32, ptr %t4179 %t4183 = icmp sge i32 %t4181, %t4182 br i1 %t4183, label %grow832, label %put833 grow832: %t4184 = mul i32 %t4182, 2 %t4185 = icmp eq i32 %t4182, 0 %t4186 = select i1 %t4185, i32 8, i32 %t4184 %t4187 = getelementptr ptr, ptr null, i32 1 %t4188 = ptrtoint ptr %t4187 to i64 %t4189 = zext i32 %t4186 to i64 %t4190 = mul i64 %t4189, %t4188 %t4191 = load ptr, ptr %t4180 %t4192 = call ptr @realloc(ptr %t4191, i64 %t4190) store ptr %t4192, ptr %t4180 store i32 %t4186, ptr %t4179 br label %put833 put833: %t4193 = load ptr, ptr %t4180 %t4194 = getelementptr inbounds ptr, ptr %t4193, i32 %t4181 store ptr @.str7200, ptr %t4194 %t4195 = add i32 %t4181, 1 store i32 %t4195, ptr %t4178 br label %ifend827 ifend827: %t4196 = load ptr, ptr %t1 %t4197 = call i32 @lp_str_eq(ptr %t4196, ptr @.str7201) %t4198 = icmp ne i32 %t4197, 0 br i1 %t4198, label %then834, label %ifend836 then834: store ptr @.str7202, ptr %t403 %t4199 = load ptr, ptr %t410 %t4200 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 1 %t4201 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 2 %t4202 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 0 %t4203 = load i32, ptr %t4200 %t4204 = load i32, ptr %t4201 %t4205 = icmp sge i32 %t4203, %t4204 br i1 %t4205, label %grow837, label %put838 grow837: %t4206 = mul i32 %t4204, 2 %t4207 = icmp eq i32 %t4204, 0 %t4208 = select i1 %t4207, i32 8, i32 %t4206 %t4209 = getelementptr ptr, ptr null, i32 1 %t4210 = ptrtoint ptr %t4209 to i64 %t4211 = zext i32 %t4208 to i64 %t4212 = mul i64 %t4211, %t4210 %t4213 = load ptr, ptr %t4202 %t4214 = call ptr @realloc(ptr %t4213, i64 %t4212) store ptr %t4214, ptr %t4202 store i32 %t4208, ptr %t4201 br label %put838 put838: %t4215 = load ptr, ptr %t4202 %t4216 = getelementptr inbounds ptr, ptr %t4215, i32 %t4203 store ptr @.str7203, ptr %t4216 %t4217 = add i32 %t4203, 1 store i32 %t4217, ptr %t4200 br label %ifend836 ifend836: %t4218 = load ptr, ptr %t1 %t4219 = call i32 @lp_str_eq(ptr %t4218, ptr @.str7204) %t4220 = icmp ne i32 %t4219, 0 br i1 %t4220, label %then839, label %ifend841 then839: store ptr @.str7205, ptr %t403 %t4221 = load ptr, ptr %t410 %t4222 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 1 %t4223 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 2 %t4224 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 0 %t4225 = load i32, ptr %t4222 %t4226 = load i32, ptr %t4223 %t4227 = icmp sge i32 %t4225, %t4226 br i1 %t4227, label %grow842, label %put843 grow842: %t4228 = mul i32 %t4226, 2 %t4229 = icmp eq i32 %t4226, 0 %t4230 = select i1 %t4229, i32 8, i32 %t4228 %t4231 = getelementptr ptr, ptr null, i32 1 %t4232 = ptrtoint ptr %t4231 to i64 %t4233 = zext i32 %t4230 to i64 %t4234 = mul i64 %t4233, %t4232 %t4235 = load ptr, ptr %t4224 %t4236 = call ptr @realloc(ptr %t4235, i64 %t4234) store ptr %t4236, ptr %t4224 store i32 %t4230, ptr %t4223 br label %put843 put843: %t4237 = load ptr, ptr %t4224 %t4238 = getelementptr inbounds ptr, ptr %t4237, i32 %t4225 store ptr @.str7206, ptr %t4238 %t4239 = add i32 %t4225, 1 store i32 %t4239, ptr %t4222 %t4240 = load ptr, ptr %t410 %t4241 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 1 %t4242 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 2 %t4243 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 0 %t4244 = load i32, ptr %t4241 %t4245 = load i32, ptr %t4242 %t4246 = icmp sge i32 %t4244, %t4245 br i1 %t4246, label %grow844, label %put845 grow844: %t4247 = mul i32 %t4245, 2 %t4248 = icmp eq i32 %t4245, 0 %t4249 = select i1 %t4248, i32 8, i32 %t4247 %t4250 = getelementptr ptr, ptr null, i32 1 %t4251 = ptrtoint ptr %t4250 to i64 %t4252 = zext i32 %t4249 to i64 %t4253 = mul i64 %t4252, %t4251 %t4254 = load ptr, ptr %t4243 %t4255 = call ptr @realloc(ptr %t4254, i64 %t4253) store ptr %t4255, ptr %t4243 store i32 %t4249, ptr %t4242 br label %put845 put845: %t4256 = load ptr, ptr %t4243 %t4257 = getelementptr inbounds ptr, ptr %t4256, i32 %t4244 store ptr @.str7207, ptr %t4257 %t4258 = add i32 %t4244, 1 store i32 %t4258, ptr %t4241 %t4259 = load ptr, ptr %t410 %t4260 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 1 %t4261 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 2 %t4262 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 0 %t4263 = load i32, ptr %t4260 %t4264 = load i32, ptr %t4261 %t4265 = icmp sge i32 %t4263, %t4264 br i1 %t4265, label %grow846, label %put847 grow846: %t4266 = mul i32 %t4264, 2 %t4267 = icmp eq i32 %t4264, 0 %t4268 = select i1 %t4267, i32 8, i32 %t4266 %t4269 = getelementptr ptr, ptr null, i32 1 %t4270 = ptrtoint ptr %t4269 to i64 %t4271 = zext i32 %t4268 to i64 %t4272 = mul i64 %t4271, %t4270 %t4273 = load ptr, ptr %t4262 %t4274 = call ptr @realloc(ptr %t4273, i64 %t4272) store ptr %t4274, ptr %t4262 store i32 %t4268, ptr %t4261 br label %put847 put847: %t4275 = load ptr, ptr %t4262 %t4276 = getelementptr inbounds ptr, ptr %t4275, i32 %t4263 store ptr @.str7208, ptr %t4276 %t4277 = add i32 %t4263, 1 store i32 %t4277, ptr %t4260 %t4278 = load ptr, ptr %t410 %t4279 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 1 %t4280 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 2 %t4281 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 0 %t4282 = load i32, ptr %t4279 %t4283 = load i32, ptr %t4280 %t4284 = icmp sge i32 %t4282, %t4283 br i1 %t4284, label %grow848, label %put849 grow848: %t4285 = mul i32 %t4283, 2 %t4286 = icmp eq i32 %t4283, 0 %t4287 = select i1 %t4286, i32 8, i32 %t4285 %t4288 = getelementptr ptr, ptr null, i32 1 %t4289 = ptrtoint ptr %t4288 to i64 %t4290 = zext i32 %t4287 to i64 %t4291 = mul i64 %t4290, %t4289 %t4292 = load ptr, ptr %t4281 %t4293 = call ptr @realloc(ptr %t4292, i64 %t4291) store ptr %t4293, ptr %t4281 store i32 %t4287, ptr %t4280 br label %put849 put849: %t4294 = load ptr, ptr %t4281 %t4295 = getelementptr inbounds ptr, ptr %t4294, i32 %t4282 store ptr @.str7209, ptr %t4295 %t4296 = add i32 %t4282, 1 store i32 %t4296, ptr %t4279 %t4297 = load ptr, ptr %t410 %t4298 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 1 %t4299 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 2 %t4300 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 0 %t4301 = load i32, ptr %t4298 %t4302 = load i32, ptr %t4299 %t4303 = icmp sge i32 %t4301, %t4302 br i1 %t4303, label %grow850, label %put851 grow850: %t4304 = mul i32 %t4302, 2 %t4305 = icmp eq i32 %t4302, 0 %t4306 = select i1 %t4305, i32 8, i32 %t4304 %t4307 = getelementptr ptr, ptr null, i32 1 %t4308 = ptrtoint ptr %t4307 to i64 %t4309 = zext i32 %t4306 to i64 %t4310 = mul i64 %t4309, %t4308 %t4311 = load ptr, ptr %t4300 %t4312 = call ptr @realloc(ptr %t4311, i64 %t4310) store ptr %t4312, ptr %t4300 store i32 %t4306, ptr %t4299 br label %put851 put851: %t4313 = load ptr, ptr %t4300 %t4314 = getelementptr inbounds ptr, ptr %t4313, i32 %t4301 store ptr @.str7210, ptr %t4314 %t4315 = add i32 %t4301, 1 store i32 %t4315, ptr %t4298 br label %ifend841 ifend841: %t4316 = load ptr, ptr %t1 %t4317 = call i32 @lp_str_eq(ptr %t4316, ptr @.str7211) %t4318 = icmp ne i32 %t4317, 0 br i1 %t4318, label %then852, label %ifend854 then852: store ptr @.str7212, ptr %t403 %t4319 = load ptr, ptr %t410 %t4320 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 1 %t4321 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 2 %t4322 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 0 %t4323 = load i32, ptr %t4320 %t4324 = load i32, ptr %t4321 %t4325 = icmp sge i32 %t4323, %t4324 br i1 %t4325, label %grow855, label %put856 grow855: %t4326 = mul i32 %t4324, 2 %t4327 = icmp eq i32 %t4324, 0 %t4328 = select i1 %t4327, i32 8, i32 %t4326 %t4329 = getelementptr ptr, ptr null, i32 1 %t4330 = ptrtoint ptr %t4329 to i64 %t4331 = zext i32 %t4328 to i64 %t4332 = mul i64 %t4331, %t4330 %t4333 = load ptr, ptr %t4322 %t4334 = call ptr @realloc(ptr %t4333, i64 %t4332) store ptr %t4334, ptr %t4322 store i32 %t4328, ptr %t4321 br label %put856 put856: %t4335 = load ptr, ptr %t4322 %t4336 = getelementptr inbounds ptr, ptr %t4335, i32 %t4323 store ptr @.str7213, ptr %t4336 %t4337 = add i32 %t4323, 1 store i32 %t4337, ptr %t4320 br label %ifend854 ifend854: %t4338 = load ptr, ptr %t1 %t4339 = call i32 @lp_str_eq(ptr %t4338, ptr @.str7214) %t4340 = icmp ne i32 %t4339, 0 br i1 %t4340, label %then857, label %ifend859 then857: store ptr @.str7215, ptr %t403 %t4341 = load ptr, ptr %t410 %t4342 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 1 %t4343 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 2 %t4344 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 0 %t4345 = load i32, ptr %t4342 %t4346 = load i32, ptr %t4343 %t4347 = icmp sge i32 %t4345, %t4346 br i1 %t4347, label %grow860, label %put861 grow860: %t4348 = mul i32 %t4346, 2 %t4349 = icmp eq i32 %t4346, 0 %t4350 = select i1 %t4349, i32 8, i32 %t4348 %t4351 = getelementptr ptr, ptr null, i32 1 %t4352 = ptrtoint ptr %t4351 to i64 %t4353 = zext i32 %t4350 to i64 %t4354 = mul i64 %t4353, %t4352 %t4355 = load ptr, ptr %t4344 %t4356 = call ptr @realloc(ptr %t4355, i64 %t4354) store ptr %t4356, ptr %t4344 store i32 %t4350, ptr %t4343 br label %put861 put861: %t4357 = load ptr, ptr %t4344 %t4358 = getelementptr inbounds ptr, ptr %t4357, i32 %t4345 store ptr @.str7216, ptr %t4358 %t4359 = add i32 %t4345, 1 store i32 %t4359, ptr %t4342 br label %ifend859 ifend859: %t4360 = load ptr, ptr %t1 %t4361 = call i32 @lp_str_eq(ptr %t4360, ptr @.str7217) %t4362 = icmp ne i32 %t4361, 0 br i1 %t4362, label %then862, label %ifend864 then862: store ptr @.str7218, ptr %t403 %t4363 = load ptr, ptr %t410 %t4364 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 1 %t4365 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 2 %t4366 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 0 %t4367 = load i32, ptr %t4364 %t4368 = load i32, ptr %t4365 %t4369 = icmp sge i32 %t4367, %t4368 br i1 %t4369, label %grow865, label %put866 grow865: %t4370 = mul i32 %t4368, 2 %t4371 = icmp eq i32 %t4368, 0 %t4372 = select i1 %t4371, i32 8, i32 %t4370 %t4373 = getelementptr ptr, ptr null, i32 1 %t4374 = ptrtoint ptr %t4373 to i64 %t4375 = zext i32 %t4372 to i64 %t4376 = mul i64 %t4375, %t4374 %t4377 = load ptr, ptr %t4366 %t4378 = call ptr @realloc(ptr %t4377, i64 %t4376) store ptr %t4378, ptr %t4366 store i32 %t4372, ptr %t4365 br label %put866 put866: %t4379 = load ptr, ptr %t4366 %t4380 = getelementptr inbounds ptr, ptr %t4379, i32 %t4367 store ptr @.str7219, ptr %t4380 %t4381 = add i32 %t4367, 1 store i32 %t4381, ptr %t4364 %t4382 = load ptr, ptr %t410 %t4383 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 1 %t4384 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 2 %t4385 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 0 %t4386 = load i32, ptr %t4383 %t4387 = load i32, ptr %t4384 %t4388 = icmp sge i32 %t4386, %t4387 br i1 %t4388, label %grow867, label %put868 grow867: %t4389 = mul i32 %t4387, 2 %t4390 = icmp eq i32 %t4387, 0 %t4391 = select i1 %t4390, i32 8, i32 %t4389 %t4392 = getelementptr ptr, ptr null, i32 1 %t4393 = ptrtoint ptr %t4392 to i64 %t4394 = zext i32 %t4391 to i64 %t4395 = mul i64 %t4394, %t4393 %t4396 = load ptr, ptr %t4385 %t4397 = call ptr @realloc(ptr %t4396, i64 %t4395) store ptr %t4397, ptr %t4385 store i32 %t4391, ptr %t4384 br label %put868 put868: %t4398 = load ptr, ptr %t4385 %t4399 = getelementptr inbounds ptr, ptr %t4398, i32 %t4386 store ptr @.str7220, ptr %t4399 %t4400 = add i32 %t4386, 1 store i32 %t4400, ptr %t4383 %t4401 = load ptr, ptr %t410 %t4402 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 1 %t4403 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 2 %t4404 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 0 %t4405 = load i32, ptr %t4402 %t4406 = load i32, ptr %t4403 %t4407 = icmp sge i32 %t4405, %t4406 br i1 %t4407, label %grow869, label %put870 grow869: %t4408 = mul i32 %t4406, 2 %t4409 = icmp eq i32 %t4406, 0 %t4410 = select i1 %t4409, i32 8, i32 %t4408 %t4411 = getelementptr ptr, ptr null, i32 1 %t4412 = ptrtoint ptr %t4411 to i64 %t4413 = zext i32 %t4410 to i64 %t4414 = mul i64 %t4413, %t4412 %t4415 = load ptr, ptr %t4404 %t4416 = call ptr @realloc(ptr %t4415, i64 %t4414) store ptr %t4416, ptr %t4404 store i32 %t4410, ptr %t4403 br label %put870 put870: %t4417 = load ptr, ptr %t4404 %t4418 = getelementptr inbounds ptr, ptr %t4417, i32 %t4405 store ptr @.str7221, ptr %t4418 %t4419 = add i32 %t4405, 1 store i32 %t4419, ptr %t4402 br label %ifend864 ifend864: %t4420 = load ptr, ptr %t1 %t4421 = call i32 @lp_str_eq(ptr %t4420, ptr @.str7222) %t4422 = icmp ne i32 %t4421, 0 br i1 %t4422, label %then871, label %ifend873 then871: store ptr @.str7223, ptr %t403 %t4423 = load ptr, ptr %t410 %t4424 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 1 %t4425 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 2 %t4426 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 0 %t4427 = load i32, ptr %t4424 %t4428 = load i32, ptr %t4425 %t4429 = icmp sge i32 %t4427, %t4428 br i1 %t4429, label %grow874, label %put875 grow874: %t4430 = mul i32 %t4428, 2 %t4431 = icmp eq i32 %t4428, 0 %t4432 = select i1 %t4431, i32 8, i32 %t4430 %t4433 = getelementptr ptr, ptr null, i32 1 %t4434 = ptrtoint ptr %t4433 to i64 %t4435 = zext i32 %t4432 to i64 %t4436 = mul i64 %t4435, %t4434 %t4437 = load ptr, ptr %t4426 %t4438 = call ptr @realloc(ptr %t4437, i64 %t4436) store ptr %t4438, ptr %t4426 store i32 %t4432, ptr %t4425 br label %put875 put875: %t4439 = load ptr, ptr %t4426 %t4440 = getelementptr inbounds ptr, ptr %t4439, i32 %t4427 store ptr @.str7224, ptr %t4440 %t4441 = add i32 %t4427, 1 store i32 %t4441, ptr %t4424 %t4442 = load ptr, ptr %t410 %t4443 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 1 %t4444 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 2 %t4445 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 0 %t4446 = load i32, ptr %t4443 %t4447 = load i32, ptr %t4444 %t4448 = icmp sge i32 %t4446, %t4447 br i1 %t4448, label %grow876, label %put877 grow876: %t4449 = mul i32 %t4447, 2 %t4450 = icmp eq i32 %t4447, 0 %t4451 = select i1 %t4450, i32 8, i32 %t4449 %t4452 = getelementptr ptr, ptr null, i32 1 %t4453 = ptrtoint ptr %t4452 to i64 %t4454 = zext i32 %t4451 to i64 %t4455 = mul i64 %t4454, %t4453 %t4456 = load ptr, ptr %t4445 %t4457 = call ptr @realloc(ptr %t4456, i64 %t4455) store ptr %t4457, ptr %t4445 store i32 %t4451, ptr %t4444 br label %put877 put877: %t4458 = load ptr, ptr %t4445 %t4459 = getelementptr inbounds ptr, ptr %t4458, i32 %t4446 store ptr @.str7225, ptr %t4459 %t4460 = add i32 %t4446, 1 store i32 %t4460, ptr %t4443 br label %ifend873 ifend873: %t4461 = load ptr, ptr %t1 %t4462 = call i32 @lp_str_eq(ptr %t4461, ptr @.str7226) %t4463 = icmp ne i32 %t4462, 0 br i1 %t4463, label %then878, label %ifend880 then878: store ptr @.str7227, ptr %t403 %t4464 = load ptr, ptr %t410 %t4465 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 1 %t4466 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 2 %t4467 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 0 %t4468 = load i32, ptr %t4465 %t4469 = load i32, ptr %t4466 %t4470 = icmp sge i32 %t4468, %t4469 br i1 %t4470, label %grow881, label %put882 grow881: %t4471 = mul i32 %t4469, 2 %t4472 = icmp eq i32 %t4469, 0 %t4473 = select i1 %t4472, i32 8, i32 %t4471 %t4474 = getelementptr ptr, ptr null, i32 1 %t4475 = ptrtoint ptr %t4474 to i64 %t4476 = zext i32 %t4473 to i64 %t4477 = mul i64 %t4476, %t4475 %t4478 = load ptr, ptr %t4467 %t4479 = call ptr @realloc(ptr %t4478, i64 %t4477) store ptr %t4479, ptr %t4467 store i32 %t4473, ptr %t4466 br label %put882 put882: %t4480 = load ptr, ptr %t4467 %t4481 = getelementptr inbounds ptr, ptr %t4480, i32 %t4468 store ptr @.str7228, ptr %t4481 %t4482 = add i32 %t4468, 1 store i32 %t4482, ptr %t4465 %t4483 = load ptr, ptr %t410 %t4484 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 1 %t4485 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 2 %t4486 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 0 %t4487 = load i32, ptr %t4484 %t4488 = load i32, ptr %t4485 %t4489 = icmp sge i32 %t4487, %t4488 br i1 %t4489, label %grow883, label %put884 grow883: %t4490 = mul i32 %t4488, 2 %t4491 = icmp eq i32 %t4488, 0 %t4492 = select i1 %t4491, i32 8, i32 %t4490 %t4493 = getelementptr ptr, ptr null, i32 1 %t4494 = ptrtoint ptr %t4493 to i64 %t4495 = zext i32 %t4492 to i64 %t4496 = mul i64 %t4495, %t4494 %t4497 = load ptr, ptr %t4486 %t4498 = call ptr @realloc(ptr %t4497, i64 %t4496) store ptr %t4498, ptr %t4486 store i32 %t4492, ptr %t4485 br label %put884 put884: %t4499 = load ptr, ptr %t4486 %t4500 = getelementptr inbounds ptr, ptr %t4499, i32 %t4487 store ptr @.str7229, ptr %t4500 %t4501 = add i32 %t4487, 1 store i32 %t4501, ptr %t4484 br label %ifend880 ifend880: %t4502 = load ptr, ptr %t1 %t4503 = call i32 @lp_str_eq(ptr %t4502, ptr @.str7230) %t4504 = icmp ne i32 %t4503, 0 br i1 %t4504, label %then885, label %ifend887 then885: store ptr @.str7231, ptr %t403 %t4505 = load ptr, ptr %t410 %t4506 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 1 %t4507 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 2 %t4508 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 0 %t4509 = load i32, ptr %t4506 %t4510 = load i32, ptr %t4507 %t4511 = icmp sge i32 %t4509, %t4510 br i1 %t4511, label %grow888, label %put889 grow888: %t4512 = mul i32 %t4510, 2 %t4513 = icmp eq i32 %t4510, 0 %t4514 = select i1 %t4513, i32 8, i32 %t4512 %t4515 = getelementptr ptr, ptr null, i32 1 %t4516 = ptrtoint ptr %t4515 to i64 %t4517 = zext i32 %t4514 to i64 %t4518 = mul i64 %t4517, %t4516 %t4519 = load ptr, ptr %t4508 %t4520 = call ptr @realloc(ptr %t4519, i64 %t4518) store ptr %t4520, ptr %t4508 store i32 %t4514, ptr %t4507 br label %put889 put889: %t4521 = load ptr, ptr %t4508 %t4522 = getelementptr inbounds ptr, ptr %t4521, i32 %t4509 store ptr @.str7232, ptr %t4522 %t4523 = add i32 %t4509, 1 store i32 %t4523, ptr %t4506 br label %ifend887 ifend887: %t4524 = load ptr, ptr %t1 %t4525 = call i32 @lp_str_eq(ptr %t4524, ptr @.str7233) %t4526 = icmp ne i32 %t4525, 0 br i1 %t4526, label %then890, label %ifend892 then890: store ptr @.str7234, ptr %t403 br label %ifend892 ifend892: %t4527 = load ptr, ptr %t1 %t4528 = call i32 @lp_str_eq(ptr %t4527, ptr @.str7235) %t4529 = icmp ne i32 %t4528, 0 br i1 %t4529, label %then893, label %ifend895 then893: store ptr @.str7236, ptr %t403 br label %ifend895 ifend895: br label %ifend796 ifend796: %t4530 = load ptr, ptr %t0 %t4531 = call i32 @lp_str_eq(ptr %t4530, ptr @.str7237) %t4532 = icmp ne i32 %t4531, 0 br i1 %t4532, label %then896, label %ifend898 then896: %t4533 = load ptr, ptr %t1 %t4534 = call i32 @lp_str_eq(ptr %t4533, ptr @.str7238) %t4535 = icmp ne i32 %t4534, 0 br i1 %t4535, label %then899, label %ifend901 then899: store ptr @.str7239, ptr %t403 %t4536 = load ptr, ptr %t410 %t4537 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 1 %t4538 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 2 %t4539 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 0 %t4540 = load i32, ptr %t4537 %t4541 = load i32, ptr %t4538 %t4542 = icmp sge i32 %t4540, %t4541 br i1 %t4542, label %grow902, label %put903 grow902: %t4543 = mul i32 %t4541, 2 %t4544 = icmp eq i32 %t4541, 0 %t4545 = select i1 %t4544, i32 8, i32 %t4543 %t4546 = getelementptr ptr, ptr null, i32 1 %t4547 = ptrtoint ptr %t4546 to i64 %t4548 = zext i32 %t4545 to i64 %t4549 = mul i64 %t4548, %t4547 %t4550 = load ptr, ptr %t4539 %t4551 = call ptr @realloc(ptr %t4550, i64 %t4549) store ptr %t4551, ptr %t4539 store i32 %t4545, ptr %t4538 br label %put903 put903: %t4552 = load ptr, ptr %t4539 %t4553 = getelementptr inbounds ptr, ptr %t4552, i32 %t4540 store ptr @.str7240, ptr %t4553 %t4554 = add i32 %t4540, 1 store i32 %t4554, ptr %t4537 %t4555 = load ptr, ptr %t410 %t4556 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 1 %t4557 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 2 %t4558 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 0 %t4559 = load i32, ptr %t4556 %t4560 = load i32, ptr %t4557 %t4561 = icmp sge i32 %t4559, %t4560 br i1 %t4561, label %grow904, label %put905 grow904: %t4562 = mul i32 %t4560, 2 %t4563 = icmp eq i32 %t4560, 0 %t4564 = select i1 %t4563, i32 8, i32 %t4562 %t4565 = getelementptr ptr, ptr null, i32 1 %t4566 = ptrtoint ptr %t4565 to i64 %t4567 = zext i32 %t4564 to i64 %t4568 = mul i64 %t4567, %t4566 %t4569 = load ptr, ptr %t4558 %t4570 = call ptr @realloc(ptr %t4569, i64 %t4568) store ptr %t4570, ptr %t4558 store i32 %t4564, ptr %t4557 br label %put905 put905: %t4571 = load ptr, ptr %t4558 %t4572 = getelementptr inbounds ptr, ptr %t4571, i32 %t4559 store ptr @.str7241, ptr %t4572 %t4573 = add i32 %t4559, 1 store i32 %t4573, ptr %t4556 br label %ifend901 ifend901: %t4574 = load ptr, ptr %t1 %t4575 = call i32 @lp_str_eq(ptr %t4574, ptr @.str7242) %t4576 = icmp ne i32 %t4575, 0 br i1 %t4576, label %then906, label %ifend908 then906: store ptr @.str7243, ptr %t403 %t4577 = load ptr, ptr %t410 %t4578 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 1 %t4579 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 2 %t4580 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 0 %t4581 = load i32, ptr %t4578 %t4582 = load i32, ptr %t4579 %t4583 = icmp sge i32 %t4581, %t4582 br i1 %t4583, label %grow909, label %put910 grow909: %t4584 = mul i32 %t4582, 2 %t4585 = icmp eq i32 %t4582, 0 %t4586 = select i1 %t4585, i32 8, i32 %t4584 %t4587 = getelementptr ptr, ptr null, i32 1 %t4588 = ptrtoint ptr %t4587 to i64 %t4589 = zext i32 %t4586 to i64 %t4590 = mul i64 %t4589, %t4588 %t4591 = load ptr, ptr %t4580 %t4592 = call ptr @realloc(ptr %t4591, i64 %t4590) store ptr %t4592, ptr %t4580 store i32 %t4586, ptr %t4579 br label %put910 put910: %t4593 = load ptr, ptr %t4580 %t4594 = getelementptr inbounds ptr, ptr %t4593, i32 %t4581 store ptr @.str7244, ptr %t4594 %t4595 = add i32 %t4581, 1 store i32 %t4595, ptr %t4578 br label %ifend908 ifend908: %t4596 = load ptr, ptr %t1 %t4597 = call i32 @lp_str_eq(ptr %t4596, ptr @.str7245) %t4598 = icmp ne i32 %t4597, 0 br i1 %t4598, label %then911, label %ifend913 then911: store ptr @.str7246, ptr %t403 %t4599 = load ptr, ptr %t410 %t4600 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 1 %t4601 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 2 %t4602 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 0 %t4603 = load i32, ptr %t4600 %t4604 = load i32, ptr %t4601 %t4605 = icmp sge i32 %t4603, %t4604 br i1 %t4605, label %grow914, label %put915 grow914: %t4606 = mul i32 %t4604, 2 %t4607 = icmp eq i32 %t4604, 0 %t4608 = select i1 %t4607, i32 8, i32 %t4606 %t4609 = getelementptr ptr, ptr null, i32 1 %t4610 = ptrtoint ptr %t4609 to i64 %t4611 = zext i32 %t4608 to i64 %t4612 = mul i64 %t4611, %t4610 %t4613 = load ptr, ptr %t4602 %t4614 = call ptr @realloc(ptr %t4613, i64 %t4612) store ptr %t4614, ptr %t4602 store i32 %t4608, ptr %t4601 br label %put915 put915: %t4615 = load ptr, ptr %t4602 %t4616 = getelementptr inbounds ptr, ptr %t4615, i32 %t4603 store ptr @.str7247, ptr %t4616 %t4617 = add i32 %t4603, 1 store i32 %t4617, ptr %t4600 br label %ifend913 ifend913: %t4618 = load ptr, ptr %t1 %t4619 = call i32 @lp_str_eq(ptr %t4618, ptr @.str7248) %t4620 = icmp ne i32 %t4619, 0 br i1 %t4620, label %then916, label %ifend918 then916: store ptr @.str7249, ptr %t403 %t4621 = load ptr, ptr %t410 %t4622 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 1 %t4623 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 2 %t4624 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 0 %t4625 = load i32, ptr %t4622 %t4626 = load i32, ptr %t4623 %t4627 = icmp sge i32 %t4625, %t4626 br i1 %t4627, label %grow919, label %put920 grow919: %t4628 = mul i32 %t4626, 2 %t4629 = icmp eq i32 %t4626, 0 %t4630 = select i1 %t4629, i32 8, i32 %t4628 %t4631 = getelementptr ptr, ptr null, i32 1 %t4632 = ptrtoint ptr %t4631 to i64 %t4633 = zext i32 %t4630 to i64 %t4634 = mul i64 %t4633, %t4632 %t4635 = load ptr, ptr %t4624 %t4636 = call ptr @realloc(ptr %t4635, i64 %t4634) store ptr %t4636, ptr %t4624 store i32 %t4630, ptr %t4623 br label %put920 put920: %t4637 = load ptr, ptr %t4624 %t4638 = getelementptr inbounds ptr, ptr %t4637, i32 %t4625 store ptr @.str7250, ptr %t4638 %t4639 = add i32 %t4625, 1 store i32 %t4639, ptr %t4622 br label %ifend918 ifend918: %t4640 = load ptr, ptr %t1 %t4641 = call i32 @lp_str_eq(ptr %t4640, ptr @.str7251) %t4642 = icmp ne i32 %t4641, 0 br i1 %t4642, label %then921, label %ifend923 then921: store ptr @.str7252, ptr %t403 br label %ifend923 ifend923: %t4643 = load ptr, ptr %t1 %t4644 = call i32 @lp_str_eq(ptr %t4643, ptr @.str7253) %t4645 = icmp ne i32 %t4644, 0 br i1 %t4645, label %then924, label %ifend926 then924: store ptr @.str7254, ptr %t403 %t4646 = load ptr, ptr %t410 %t4647 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 1 %t4648 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 2 %t4649 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 0 %t4650 = load i32, ptr %t4647 %t4651 = load i32, ptr %t4648 %t4652 = icmp sge i32 %t4650, %t4651 br i1 %t4652, label %grow927, label %put928 grow927: %t4653 = mul i32 %t4651, 2 %t4654 = icmp eq i32 %t4651, 0 %t4655 = select i1 %t4654, i32 8, i32 %t4653 %t4656 = getelementptr ptr, ptr null, i32 1 %t4657 = ptrtoint ptr %t4656 to i64 %t4658 = zext i32 %t4655 to i64 %t4659 = mul i64 %t4658, %t4657 %t4660 = load ptr, ptr %t4649 %t4661 = call ptr @realloc(ptr %t4660, i64 %t4659) store ptr %t4661, ptr %t4649 store i32 %t4655, ptr %t4648 br label %put928 put928: %t4662 = load ptr, ptr %t4649 %t4663 = getelementptr inbounds ptr, ptr %t4662, i32 %t4650 store ptr @.str7255, ptr %t4663 %t4664 = add i32 %t4650, 1 store i32 %t4664, ptr %t4647 br label %ifend926 ifend926: %t4665 = load ptr, ptr %t1 %t4666 = call i32 @lp_str_eq(ptr %t4665, ptr @.str7256) %t4667 = icmp ne i32 %t4666, 0 br i1 %t4667, label %then929, label %ifend931 then929: store ptr @.str7257, ptr %t403 br label %ifend931 ifend931: br label %ifend898 ifend898: %t4668 = load ptr, ptr %t0 %t4669 = call i32 @lp_str_eq(ptr %t4668, ptr @.str7258) %t4670 = icmp ne i32 %t4669, 0 br i1 %t4670, label %then932, label %ifend934 then932: %t4671 = load ptr, ptr %t1 %t4672 = call i32 @lp_str_eq(ptr %t4671, ptr @.str7259) %t4673 = icmp ne i32 %t4672, 0 br i1 %t4673, label %then935, label %ifend937 then935: store ptr @.str7260, ptr %t403 br label %ifend937 ifend937: %t4674 = load ptr, ptr %t1 %t4675 = call i32 @lp_str_eq(ptr %t4674, ptr @.str7261) %t4676 = icmp ne i32 %t4675, 0 br i1 %t4676, label %then938, label %ifend940 then938: store ptr @.str7262, ptr %t403 %t4677 = load ptr, ptr %t410 %t4678 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 1 %t4679 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 2 %t4680 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 0 %t4681 = load i32, ptr %t4678 %t4682 = load i32, ptr %t4679 %t4683 = icmp sge i32 %t4681, %t4682 br i1 %t4683, label %grow941, label %put942 grow941: %t4684 = mul i32 %t4682, 2 %t4685 = icmp eq i32 %t4682, 0 %t4686 = select i1 %t4685, i32 8, i32 %t4684 %t4687 = getelementptr ptr, ptr null, i32 1 %t4688 = ptrtoint ptr %t4687 to i64 %t4689 = zext i32 %t4686 to i64 %t4690 = mul i64 %t4689, %t4688 %t4691 = load ptr, ptr %t4680 %t4692 = call ptr @realloc(ptr %t4691, i64 %t4690) store ptr %t4692, ptr %t4680 store i32 %t4686, ptr %t4679 br label %put942 put942: %t4693 = load ptr, ptr %t4680 %t4694 = getelementptr inbounds ptr, ptr %t4693, i32 %t4681 store ptr @.str7263, ptr %t4694 %t4695 = add i32 %t4681, 1 store i32 %t4695, ptr %t4678 %t4696 = load ptr, ptr %t410 %t4697 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 1 %t4698 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 2 %t4699 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 0 %t4700 = load i32, ptr %t4697 %t4701 = load i32, ptr %t4698 %t4702 = icmp sge i32 %t4700, %t4701 br i1 %t4702, label %grow943, label %put944 grow943: %t4703 = mul i32 %t4701, 2 %t4704 = icmp eq i32 %t4701, 0 %t4705 = select i1 %t4704, i32 8, i32 %t4703 %t4706 = getelementptr ptr, ptr null, i32 1 %t4707 = ptrtoint ptr %t4706 to i64 %t4708 = zext i32 %t4705 to i64 %t4709 = mul i64 %t4708, %t4707 %t4710 = load ptr, ptr %t4699 %t4711 = call ptr @realloc(ptr %t4710, i64 %t4709) store ptr %t4711, ptr %t4699 store i32 %t4705, ptr %t4698 br label %put944 put944: %t4712 = load ptr, ptr %t4699 %t4713 = getelementptr inbounds ptr, ptr %t4712, i32 %t4700 store ptr @.str7264, ptr %t4713 %t4714 = add i32 %t4700, 1 store i32 %t4714, ptr %t4697 br label %ifend940 ifend940: %t4715 = load ptr, ptr %t1 %t4716 = call i32 @lp_str_eq(ptr %t4715, ptr @.str7265) %t4717 = icmp ne i32 %t4716, 0 br i1 %t4717, label %then945, label %ifend947 then945: store ptr @.str7266, ptr %t403 %t4718 = load ptr, ptr %t410 %t4719 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 1 %t4720 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 2 %t4721 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 0 %t4722 = load i32, ptr %t4719 %t4723 = load i32, ptr %t4720 %t4724 = icmp sge i32 %t4722, %t4723 br i1 %t4724, label %grow948, label %put949 grow948: %t4725 = mul i32 %t4723, 2 %t4726 = icmp eq i32 %t4723, 0 %t4727 = select i1 %t4726, i32 8, i32 %t4725 %t4728 = getelementptr ptr, ptr null, i32 1 %t4729 = ptrtoint ptr %t4728 to i64 %t4730 = zext i32 %t4727 to i64 %t4731 = mul i64 %t4730, %t4729 %t4732 = load ptr, ptr %t4721 %t4733 = call ptr @realloc(ptr %t4732, i64 %t4731) store ptr %t4733, ptr %t4721 store i32 %t4727, ptr %t4720 br label %put949 put949: %t4734 = load ptr, ptr %t4721 %t4735 = getelementptr inbounds ptr, ptr %t4734, i32 %t4722 store ptr @.str7267, ptr %t4735 %t4736 = add i32 %t4722, 1 store i32 %t4736, ptr %t4719 %t4737 = load ptr, ptr %t410 %t4738 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 1 %t4739 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 2 %t4740 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 0 %t4741 = load i32, ptr %t4738 %t4742 = load i32, ptr %t4739 %t4743 = icmp sge i32 %t4741, %t4742 br i1 %t4743, label %grow950, label %put951 grow950: %t4744 = mul i32 %t4742, 2 %t4745 = icmp eq i32 %t4742, 0 %t4746 = select i1 %t4745, i32 8, i32 %t4744 %t4747 = getelementptr ptr, ptr null, i32 1 %t4748 = ptrtoint ptr %t4747 to i64 %t4749 = zext i32 %t4746 to i64 %t4750 = mul i64 %t4749, %t4748 %t4751 = load ptr, ptr %t4740 %t4752 = call ptr @realloc(ptr %t4751, i64 %t4750) store ptr %t4752, ptr %t4740 store i32 %t4746, ptr %t4739 br label %put951 put951: %t4753 = load ptr, ptr %t4740 %t4754 = getelementptr inbounds ptr, ptr %t4753, i32 %t4741 store ptr @.str7268, ptr %t4754 %t4755 = add i32 %t4741, 1 store i32 %t4755, ptr %t4738 %t4756 = load ptr, ptr %t410 %t4757 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 1 %t4758 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 2 %t4759 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 0 %t4760 = load i32, ptr %t4757 %t4761 = load i32, ptr %t4758 %t4762 = icmp sge i32 %t4760, %t4761 br i1 %t4762, label %grow952, label %put953 grow952: %t4763 = mul i32 %t4761, 2 %t4764 = icmp eq i32 %t4761, 0 %t4765 = select i1 %t4764, i32 8, i32 %t4763 %t4766 = getelementptr ptr, ptr null, i32 1 %t4767 = ptrtoint ptr %t4766 to i64 %t4768 = zext i32 %t4765 to i64 %t4769 = mul i64 %t4768, %t4767 %t4770 = load ptr, ptr %t4759 %t4771 = call ptr @realloc(ptr %t4770, i64 %t4769) store ptr %t4771, ptr %t4759 store i32 %t4765, ptr %t4758 br label %put953 put953: %t4772 = load ptr, ptr %t4759 %t4773 = getelementptr inbounds ptr, ptr %t4772, i32 %t4760 store ptr @.str7269, ptr %t4773 %t4774 = add i32 %t4760, 1 store i32 %t4774, ptr %t4757 br label %ifend947 ifend947: %t4775 = load ptr, ptr %t1 %t4776 = call i32 @lp_str_eq(ptr %t4775, ptr @.str7270) %t4777 = icmp ne i32 %t4776, 0 br i1 %t4777, label %then954, label %ifend956 then954: store ptr @.str7271, ptr %t403 br label %ifend956 ifend956: %t4778 = load ptr, ptr %t1 %t4779 = call i32 @lp_str_eq(ptr %t4778, ptr @.str7272) %t4780 = icmp ne i32 %t4779, 0 br i1 %t4780, label %then957, label %ifend959 then957: store ptr @.str7273, ptr %t403 br label %ifend959 ifend959: %t4781 = load ptr, ptr %t1 %t4782 = call i32 @lp_str_eq(ptr %t4781, ptr @.str7274) %t4783 = icmp ne i32 %t4782, 0 br i1 %t4783, label %then960, label %ifend962 then960: store ptr @.str7275, ptr %t403 br label %ifend962 ifend962: %t4784 = load ptr, ptr %t1 %t4785 = call i32 @lp_str_eq(ptr %t4784, ptr @.str7276) %t4786 = icmp ne i32 %t4785, 0 br i1 %t4786, label %then963, label %ifend965 then963: store ptr @.str7277, ptr %t403 br label %ifend965 ifend965: %t4787 = load ptr, ptr %t1 %t4788 = call i32 @lp_str_eq(ptr %t4787, ptr @.str7278) %t4789 = icmp ne i32 %t4788, 0 br i1 %t4789, label %then966, label %ifend968 then966: store ptr @.str7279, ptr %t403 br label %ifend968 ifend968: %t4790 = load ptr, ptr %t1 %t4791 = call i32 @lp_str_eq(ptr %t4790, ptr @.str7280) %t4792 = icmp ne i32 %t4791, 0 br i1 %t4792, label %then969, label %ifend971 then969: store ptr @.str7281, ptr %t403 %t4793 = load ptr, ptr %t410 %t4794 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 1 %t4795 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 2 %t4796 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 0 %t4797 = load i32, ptr %t4794 %t4798 = load i32, ptr %t4795 %t4799 = icmp sge i32 %t4797, %t4798 br i1 %t4799, label %grow972, label %put973 grow972: %t4800 = mul i32 %t4798, 2 %t4801 = icmp eq i32 %t4798, 0 %t4802 = select i1 %t4801, i32 8, i32 %t4800 %t4803 = getelementptr ptr, ptr null, i32 1 %t4804 = ptrtoint ptr %t4803 to i64 %t4805 = zext i32 %t4802 to i64 %t4806 = mul i64 %t4805, %t4804 %t4807 = load ptr, ptr %t4796 %t4808 = call ptr @realloc(ptr %t4807, i64 %t4806) store ptr %t4808, ptr %t4796 store i32 %t4802, ptr %t4795 br label %put973 put973: %t4809 = load ptr, ptr %t4796 %t4810 = getelementptr inbounds ptr, ptr %t4809, i32 %t4797 store ptr @.str7282, ptr %t4810 %t4811 = add i32 %t4797, 1 store i32 %t4811, ptr %t4794 %t4812 = load ptr, ptr %t410 %t4813 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 1 %t4814 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 2 %t4815 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 0 %t4816 = load i32, ptr %t4813 %t4817 = load i32, ptr %t4814 %t4818 = icmp sge i32 %t4816, %t4817 br i1 %t4818, label %grow974, label %put975 grow974: %t4819 = mul i32 %t4817, 2 %t4820 = icmp eq i32 %t4817, 0 %t4821 = select i1 %t4820, i32 8, i32 %t4819 %t4822 = getelementptr ptr, ptr null, i32 1 %t4823 = ptrtoint ptr %t4822 to i64 %t4824 = zext i32 %t4821 to i64 %t4825 = mul i64 %t4824, %t4823 %t4826 = load ptr, ptr %t4815 %t4827 = call ptr @realloc(ptr %t4826, i64 %t4825) store ptr %t4827, ptr %t4815 store i32 %t4821, ptr %t4814 br label %put975 put975: %t4828 = load ptr, ptr %t4815 %t4829 = getelementptr inbounds ptr, ptr %t4828, i32 %t4816 store ptr @.str7283, ptr %t4829 %t4830 = add i32 %t4816, 1 store i32 %t4830, ptr %t4813 br label %ifend971 ifend971: %t4831 = load ptr, ptr %t1 %t4832 = call i32 @lp_str_eq(ptr %t4831, ptr @.str7284) %t4833 = icmp ne i32 %t4832, 0 br i1 %t4833, label %then976, label %ifend978 then976: store ptr @.str7285, ptr %t403 %t4834 = load ptr, ptr %t410 %t4835 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 1 %t4836 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 2 %t4837 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 0 %t4838 = load i32, ptr %t4835 %t4839 = load i32, ptr %t4836 %t4840 = icmp sge i32 %t4838, %t4839 br i1 %t4840, label %grow979, label %put980 grow979: %t4841 = mul i32 %t4839, 2 %t4842 = icmp eq i32 %t4839, 0 %t4843 = select i1 %t4842, i32 8, i32 %t4841 %t4844 = getelementptr ptr, ptr null, i32 1 %t4845 = ptrtoint ptr %t4844 to i64 %t4846 = zext i32 %t4843 to i64 %t4847 = mul i64 %t4846, %t4845 %t4848 = load ptr, ptr %t4837 %t4849 = call ptr @realloc(ptr %t4848, i64 %t4847) store ptr %t4849, ptr %t4837 store i32 %t4843, ptr %t4836 br label %put980 put980: %t4850 = load ptr, ptr %t4837 %t4851 = getelementptr inbounds ptr, ptr %t4850, i32 %t4838 store ptr @.str7286, ptr %t4851 %t4852 = add i32 %t4838, 1 store i32 %t4852, ptr %t4835 %t4853 = load ptr, ptr %t410 %t4854 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 1 %t4855 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 2 %t4856 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 0 %t4857 = load i32, ptr %t4854 %t4858 = load i32, ptr %t4855 %t4859 = icmp sge i32 %t4857, %t4858 br i1 %t4859, label %grow981, label %put982 grow981: %t4860 = mul i32 %t4858, 2 %t4861 = icmp eq i32 %t4858, 0 %t4862 = select i1 %t4861, i32 8, i32 %t4860 %t4863 = getelementptr ptr, ptr null, i32 1 %t4864 = ptrtoint ptr %t4863 to i64 %t4865 = zext i32 %t4862 to i64 %t4866 = mul i64 %t4865, %t4864 %t4867 = load ptr, ptr %t4856 %t4868 = call ptr @realloc(ptr %t4867, i64 %t4866) store ptr %t4868, ptr %t4856 store i32 %t4862, ptr %t4855 br label %put982 put982: %t4869 = load ptr, ptr %t4856 %t4870 = getelementptr inbounds ptr, ptr %t4869, i32 %t4857 store ptr @.str7287, ptr %t4870 %t4871 = add i32 %t4857, 1 store i32 %t4871, ptr %t4854 br label %ifend978 ifend978: %t4872 = load ptr, ptr %t1 %t4873 = call i32 @lp_str_eq(ptr %t4872, ptr @.str7288) %t4874 = icmp ne i32 %t4873, 0 br i1 %t4874, label %then983, label %ifend985 then983: store ptr @.str7289, ptr %t403 %t4875 = load ptr, ptr %t410 %t4876 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 1 %t4877 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 2 %t4878 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 0 %t4879 = load i32, ptr %t4876 %t4880 = load i32, ptr %t4877 %t4881 = icmp sge i32 %t4879, %t4880 br i1 %t4881, label %grow986, label %put987 grow986: %t4882 = mul i32 %t4880, 2 %t4883 = icmp eq i32 %t4880, 0 %t4884 = select i1 %t4883, i32 8, i32 %t4882 %t4885 = getelementptr ptr, ptr null, i32 1 %t4886 = ptrtoint ptr %t4885 to i64 %t4887 = zext i32 %t4884 to i64 %t4888 = mul i64 %t4887, %t4886 %t4889 = load ptr, ptr %t4878 %t4890 = call ptr @realloc(ptr %t4889, i64 %t4888) store ptr %t4890, ptr %t4878 store i32 %t4884, ptr %t4877 br label %put987 put987: %t4891 = load ptr, ptr %t4878 %t4892 = getelementptr inbounds ptr, ptr %t4891, i32 %t4879 store ptr @.str7290, ptr %t4892 %t4893 = add i32 %t4879, 1 store i32 %t4893, ptr %t4876 br label %ifend985 ifend985: %t4894 = load ptr, ptr %t1 %t4895 = call i32 @lp_str_eq(ptr %t4894, ptr @.str7291) %t4896 = icmp ne i32 %t4895, 0 br i1 %t4896, label %then988, label %ifend990 then988: store ptr @.str7292, ptr %t403 %t4897 = load ptr, ptr %t410 %t4898 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 1 %t4899 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 2 %t4900 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 0 %t4901 = load i32, ptr %t4898 %t4902 = load i32, ptr %t4899 %t4903 = icmp sge i32 %t4901, %t4902 br i1 %t4903, label %grow991, label %put992 grow991: %t4904 = mul i32 %t4902, 2 %t4905 = icmp eq i32 %t4902, 0 %t4906 = select i1 %t4905, i32 8, i32 %t4904 %t4907 = getelementptr ptr, ptr null, i32 1 %t4908 = ptrtoint ptr %t4907 to i64 %t4909 = zext i32 %t4906 to i64 %t4910 = mul i64 %t4909, %t4908 %t4911 = load ptr, ptr %t4900 %t4912 = call ptr @realloc(ptr %t4911, i64 %t4910) store ptr %t4912, ptr %t4900 store i32 %t4906, ptr %t4899 br label %put992 put992: %t4913 = load ptr, ptr %t4900 %t4914 = getelementptr inbounds ptr, ptr %t4913, i32 %t4901 store ptr @.str7293, ptr %t4914 %t4915 = add i32 %t4901, 1 store i32 %t4915, ptr %t4898 br label %ifend990 ifend990: %t4916 = load ptr, ptr %t1 %t4917 = call i32 @lp_str_eq(ptr %t4916, ptr @.str7294) %t4918 = icmp ne i32 %t4917, 0 br i1 %t4918, label %then993, label %ifend995 then993: store ptr @.str7295, ptr %t403 %t4919 = load ptr, ptr %t410 %t4920 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 1 %t4921 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 2 %t4922 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 0 %t4923 = load i32, ptr %t4920 %t4924 = load i32, ptr %t4921 %t4925 = icmp sge i32 %t4923, %t4924 br i1 %t4925, label %grow996, label %put997 grow996: %t4926 = mul i32 %t4924, 2 %t4927 = icmp eq i32 %t4924, 0 %t4928 = select i1 %t4927, i32 8, i32 %t4926 %t4929 = getelementptr ptr, ptr null, i32 1 %t4930 = ptrtoint ptr %t4929 to i64 %t4931 = zext i32 %t4928 to i64 %t4932 = mul i64 %t4931, %t4930 %t4933 = load ptr, ptr %t4922 %t4934 = call ptr @realloc(ptr %t4933, i64 %t4932) store ptr %t4934, ptr %t4922 store i32 %t4928, ptr %t4921 br label %put997 put997: %t4935 = load ptr, ptr %t4922 %t4936 = getelementptr inbounds ptr, ptr %t4935, i32 %t4923 store ptr @.str7296, ptr %t4936 %t4937 = add i32 %t4923, 1 store i32 %t4937, ptr %t4920 br label %ifend995 ifend995: %t4938 = load ptr, ptr %t1 %t4939 = call i32 @lp_str_eq(ptr %t4938, ptr @.str7297) %t4940 = icmp ne i32 %t4939, 0 br i1 %t4940, label %then998, label %ifend1000 then998: store ptr @.str7298, ptr %t403 %t4941 = load ptr, ptr %t410 %t4942 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 1 %t4943 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 2 %t4944 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 0 %t4945 = load i32, ptr %t4942 %t4946 = load i32, ptr %t4943 %t4947 = icmp sge i32 %t4945, %t4946 br i1 %t4947, label %grow1001, label %put1002 grow1001: %t4948 = mul i32 %t4946, 2 %t4949 = icmp eq i32 %t4946, 0 %t4950 = select i1 %t4949, i32 8, i32 %t4948 %t4951 = getelementptr ptr, ptr null, i32 1 %t4952 = ptrtoint ptr %t4951 to i64 %t4953 = zext i32 %t4950 to i64 %t4954 = mul i64 %t4953, %t4952 %t4955 = load ptr, ptr %t4944 %t4956 = call ptr @realloc(ptr %t4955, i64 %t4954) store ptr %t4956, ptr %t4944 store i32 %t4950, ptr %t4943 br label %put1002 put1002: %t4957 = load ptr, ptr %t4944 %t4958 = getelementptr inbounds ptr, ptr %t4957, i32 %t4945 store ptr @.str7299, ptr %t4958 %t4959 = add i32 %t4945, 1 store i32 %t4959, ptr %t4942 br label %ifend1000 ifend1000: %t4960 = load ptr, ptr %t1 %t4961 = call i32 @lp_str_eq(ptr %t4960, ptr @.str7300) %t4962 = icmp ne i32 %t4961, 0 br i1 %t4962, label %then1003, label %ifend1005 then1003: store ptr @.str7301, ptr %t403 %t4963 = load ptr, ptr %t410 %t4964 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 1 %t4965 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 2 %t4966 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 0 %t4967 = load i32, ptr %t4964 %t4968 = load i32, ptr %t4965 %t4969 = icmp sge i32 %t4967, %t4968 br i1 %t4969, label %grow1006, label %put1007 grow1006: %t4970 = mul i32 %t4968, 2 %t4971 = icmp eq i32 %t4968, 0 %t4972 = select i1 %t4971, i32 8, i32 %t4970 %t4973 = getelementptr ptr, ptr null, i32 1 %t4974 = ptrtoint ptr %t4973 to i64 %t4975 = zext i32 %t4972 to i64 %t4976 = mul i64 %t4975, %t4974 %t4977 = load ptr, ptr %t4966 %t4978 = call ptr @realloc(ptr %t4977, i64 %t4976) store ptr %t4978, ptr %t4966 store i32 %t4972, ptr %t4965 br label %put1007 put1007: %t4979 = load ptr, ptr %t4966 %t4980 = getelementptr inbounds ptr, ptr %t4979, i32 %t4967 store ptr @.str7302, ptr %t4980 %t4981 = add i32 %t4967, 1 store i32 %t4981, ptr %t4964 br label %ifend1005 ifend1005: %t4982 = load ptr, ptr %t1 %t4983 = call i32 @lp_str_eq(ptr %t4982, ptr @.str7303) %t4984 = icmp ne i32 %t4983, 0 br i1 %t4984, label %then1008, label %ifend1010 then1008: store ptr @.str7304, ptr %t403 %t4985 = load ptr, ptr %t410 %t4986 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 1 %t4987 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 2 %t4988 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 0 %t4989 = load i32, ptr %t4986 %t4990 = load i32, ptr %t4987 %t4991 = icmp sge i32 %t4989, %t4990 br i1 %t4991, label %grow1011, label %put1012 grow1011: %t4992 = mul i32 %t4990, 2 %t4993 = icmp eq i32 %t4990, 0 %t4994 = select i1 %t4993, i32 8, i32 %t4992 %t4995 = getelementptr ptr, ptr null, i32 1 %t4996 = ptrtoint ptr %t4995 to i64 %t4997 = zext i32 %t4994 to i64 %t4998 = mul i64 %t4997, %t4996 %t4999 = load ptr, ptr %t4988 %t5000 = call ptr @realloc(ptr %t4999, i64 %t4998) store ptr %t5000, ptr %t4988 store i32 %t4994, ptr %t4987 br label %put1012 put1012: %t5001 = load ptr, ptr %t4988 %t5002 = getelementptr inbounds ptr, ptr %t5001, i32 %t4989 store ptr @.str7305, ptr %t5002 %t5003 = add i32 %t4989, 1 store i32 %t5003, ptr %t4986 br label %ifend1010 ifend1010: %t5004 = load ptr, ptr %t1 %t5005 = call i32 @lp_str_eq(ptr %t5004, ptr @.str7306) %t5006 = icmp ne i32 %t5005, 0 br i1 %t5006, label %then1013, label %ifend1015 then1013: store ptr @.str7307, ptr %t403 %t5007 = load ptr, ptr %t410 %t5008 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 1 %t5009 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 2 %t5010 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 0 %t5011 = load i32, ptr %t5008 %t5012 = load i32, ptr %t5009 %t5013 = icmp sge i32 %t5011, %t5012 br i1 %t5013, label %grow1016, label %put1017 grow1016: %t5014 = mul i32 %t5012, 2 %t5015 = icmp eq i32 %t5012, 0 %t5016 = select i1 %t5015, i32 8, i32 %t5014 %t5017 = getelementptr ptr, ptr null, i32 1 %t5018 = ptrtoint ptr %t5017 to i64 %t5019 = zext i32 %t5016 to i64 %t5020 = mul i64 %t5019, %t5018 %t5021 = load ptr, ptr %t5010 %t5022 = call ptr @realloc(ptr %t5021, i64 %t5020) store ptr %t5022, ptr %t5010 store i32 %t5016, ptr %t5009 br label %put1017 put1017: %t5023 = load ptr, ptr %t5010 %t5024 = getelementptr inbounds ptr, ptr %t5023, i32 %t5011 store ptr @.str7308, ptr %t5024 %t5025 = add i32 %t5011, 1 store i32 %t5025, ptr %t5008 br label %ifend1015 ifend1015: %t5026 = load ptr, ptr %t1 %t5027 = call i32 @lp_str_eq(ptr %t5026, ptr @.str7309) %t5028 = icmp ne i32 %t5027, 0 br i1 %t5028, label %then1018, label %ifend1020 then1018: store ptr @.str7310, ptr %t403 %t5029 = load ptr, ptr %t410 %t5030 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 1 %t5031 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 2 %t5032 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 0 %t5033 = load i32, ptr %t5030 %t5034 = load i32, ptr %t5031 %t5035 = icmp sge i32 %t5033, %t5034 br i1 %t5035, label %grow1021, label %put1022 grow1021: %t5036 = mul i32 %t5034, 2 %t5037 = icmp eq i32 %t5034, 0 %t5038 = select i1 %t5037, i32 8, i32 %t5036 %t5039 = getelementptr ptr, ptr null, i32 1 %t5040 = ptrtoint ptr %t5039 to i64 %t5041 = zext i32 %t5038 to i64 %t5042 = mul i64 %t5041, %t5040 %t5043 = load ptr, ptr %t5032 %t5044 = call ptr @realloc(ptr %t5043, i64 %t5042) store ptr %t5044, ptr %t5032 store i32 %t5038, ptr %t5031 br label %put1022 put1022: %t5045 = load ptr, ptr %t5032 %t5046 = getelementptr inbounds ptr, ptr %t5045, i32 %t5033 store ptr @.str7311, ptr %t5046 %t5047 = add i32 %t5033, 1 store i32 %t5047, ptr %t5030 br label %ifend1020 ifend1020: %t5048 = load ptr, ptr %t1 %t5049 = call i32 @lp_str_eq(ptr %t5048, ptr @.str7312) %t5050 = icmp ne i32 %t5049, 0 br i1 %t5050, label %then1023, label %ifend1025 then1023: store ptr @.str7313, ptr %t403 %t5051 = load ptr, ptr %t410 %t5052 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 1 %t5053 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 2 %t5054 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 0 %t5055 = load i32, ptr %t5052 %t5056 = load i32, ptr %t5053 %t5057 = icmp sge i32 %t5055, %t5056 br i1 %t5057, label %grow1026, label %put1027 grow1026: %t5058 = mul i32 %t5056, 2 %t5059 = icmp eq i32 %t5056, 0 %t5060 = select i1 %t5059, i32 8, i32 %t5058 %t5061 = getelementptr ptr, ptr null, i32 1 %t5062 = ptrtoint ptr %t5061 to i64 %t5063 = zext i32 %t5060 to i64 %t5064 = mul i64 %t5063, %t5062 %t5065 = load ptr, ptr %t5054 %t5066 = call ptr @realloc(ptr %t5065, i64 %t5064) store ptr %t5066, ptr %t5054 store i32 %t5060, ptr %t5053 br label %put1027 put1027: %t5067 = load ptr, ptr %t5054 %t5068 = getelementptr inbounds ptr, ptr %t5067, i32 %t5055 store ptr @.str7314, ptr %t5068 %t5069 = add i32 %t5055, 1 store i32 %t5069, ptr %t5052 %t5070 = load ptr, ptr %t410 %t5071 = getelementptr inbounds %LSlice, ptr %t5070, i32 0, i32 1 %t5072 = getelementptr inbounds %LSlice, ptr %t5070, i32 0, i32 2 %t5073 = getelementptr inbounds %LSlice, ptr %t5070, i32 0, i32 0 %t5074 = load i32, ptr %t5071 %t5075 = load i32, ptr %t5072 %t5076 = icmp sge i32 %t5074, %t5075 br i1 %t5076, label %grow1028, label %put1029 grow1028: %t5077 = mul i32 %t5075, 2 %t5078 = icmp eq i32 %t5075, 0 %t5079 = select i1 %t5078, i32 8, i32 %t5077 %t5080 = getelementptr ptr, ptr null, i32 1 %t5081 = ptrtoint ptr %t5080 to i64 %t5082 = zext i32 %t5079 to i64 %t5083 = mul i64 %t5082, %t5081 %t5084 = load ptr, ptr %t5073 %t5085 = call ptr @realloc(ptr %t5084, i64 %t5083) store ptr %t5085, ptr %t5073 store i32 %t5079, ptr %t5072 br label %put1029 put1029: %t5086 = load ptr, ptr %t5073 %t5087 = getelementptr inbounds ptr, ptr %t5086, i32 %t5074 store ptr @.str7315, ptr %t5087 %t5088 = add i32 %t5074, 1 store i32 %t5088, ptr %t5071 br label %ifend1025 ifend1025: %t5089 = load ptr, ptr %t1 %t5090 = call i32 @lp_str_eq(ptr %t5089, ptr @.str7316) %t5091 = icmp ne i32 %t5090, 0 br i1 %t5091, label %then1030, label %ifend1032 then1030: store ptr @.str7317, ptr %t403 %t5092 = load ptr, ptr %t410 %t5093 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 1 %t5094 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 2 %t5095 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 0 %t5096 = load i32, ptr %t5093 %t5097 = load i32, ptr %t5094 %t5098 = icmp sge i32 %t5096, %t5097 br i1 %t5098, label %grow1033, label %put1034 grow1033: %t5099 = mul i32 %t5097, 2 %t5100 = icmp eq i32 %t5097, 0 %t5101 = select i1 %t5100, i32 8, i32 %t5099 %t5102 = getelementptr ptr, ptr null, i32 1 %t5103 = ptrtoint ptr %t5102 to i64 %t5104 = zext i32 %t5101 to i64 %t5105 = mul i64 %t5104, %t5103 %t5106 = load ptr, ptr %t5095 %t5107 = call ptr @realloc(ptr %t5106, i64 %t5105) store ptr %t5107, ptr %t5095 store i32 %t5101, ptr %t5094 br label %put1034 put1034: %t5108 = load ptr, ptr %t5095 %t5109 = getelementptr inbounds ptr, ptr %t5108, i32 %t5096 store ptr @.str7318, ptr %t5109 %t5110 = add i32 %t5096, 1 store i32 %t5110, ptr %t5093 %t5111 = load ptr, ptr %t410 %t5112 = getelementptr inbounds %LSlice, ptr %t5111, i32 0, i32 1 %t5113 = getelementptr inbounds %LSlice, ptr %t5111, i32 0, i32 2 %t5114 = getelementptr inbounds %LSlice, ptr %t5111, i32 0, i32 0 %t5115 = load i32, ptr %t5112 %t5116 = load i32, ptr %t5113 %t5117 = icmp sge i32 %t5115, %t5116 br i1 %t5117, label %grow1035, label %put1036 grow1035: %t5118 = mul i32 %t5116, 2 %t5119 = icmp eq i32 %t5116, 0 %t5120 = select i1 %t5119, i32 8, i32 %t5118 %t5121 = getelementptr ptr, ptr null, i32 1 %t5122 = ptrtoint ptr %t5121 to i64 %t5123 = zext i32 %t5120 to i64 %t5124 = mul i64 %t5123, %t5122 %t5125 = load ptr, ptr %t5114 %t5126 = call ptr @realloc(ptr %t5125, i64 %t5124) store ptr %t5126, ptr %t5114 store i32 %t5120, ptr %t5113 br label %put1036 put1036: %t5127 = load ptr, ptr %t5114 %t5128 = getelementptr inbounds ptr, ptr %t5127, i32 %t5115 store ptr @.str7319, ptr %t5128 %t5129 = add i32 %t5115, 1 store i32 %t5129, ptr %t5112 br label %ifend1032 ifend1032: %t5130 = load ptr, ptr %t1 %t5131 = call i32 @lp_str_eq(ptr %t5130, ptr @.str7320) %t5132 = icmp ne i32 %t5131, 0 br i1 %t5132, label %then1037, label %ifend1039 then1037: store ptr @.str7321, ptr %t403 br label %ifend1039 ifend1039: %t5133 = load ptr, ptr %t1 %t5134 = call i32 @lp_str_eq(ptr %t5133, ptr @.str7322) %t5135 = icmp ne i32 %t5134, 0 br i1 %t5135, label %then1040, label %ifend1042 then1040: store ptr @.str7323, ptr %t403 %t5136 = load ptr, ptr %t410 %t5137 = getelementptr inbounds %LSlice, ptr %t5136, i32 0, i32 1 %t5138 = getelementptr inbounds %LSlice, ptr %t5136, i32 0, i32 2 %t5139 = getelementptr inbounds %LSlice, ptr %t5136, i32 0, i32 0 %t5140 = load i32, ptr %t5137 %t5141 = load i32, ptr %t5138 %t5142 = icmp sge i32 %t5140, %t5141 br i1 %t5142, label %grow1043, label %put1044 grow1043: %t5143 = mul i32 %t5141, 2 %t5144 = icmp eq i32 %t5141, 0 %t5145 = select i1 %t5144, i32 8, i32 %t5143 %t5146 = getelementptr ptr, ptr null, i32 1 %t5147 = ptrtoint ptr %t5146 to i64 %t5148 = zext i32 %t5145 to i64 %t5149 = mul i64 %t5148, %t5147 %t5150 = load ptr, ptr %t5139 %t5151 = call ptr @realloc(ptr %t5150, i64 %t5149) store ptr %t5151, ptr %t5139 store i32 %t5145, ptr %t5138 br label %put1044 put1044: %t5152 = load ptr, ptr %t5139 %t5153 = getelementptr inbounds ptr, ptr %t5152, i32 %t5140 store ptr @.str7324, ptr %t5153 %t5154 = add i32 %t5140, 1 store i32 %t5154, ptr %t5137 %t5155 = load ptr, ptr %t410 %t5156 = getelementptr inbounds %LSlice, ptr %t5155, i32 0, i32 1 %t5157 = getelementptr inbounds %LSlice, ptr %t5155, i32 0, i32 2 %t5158 = getelementptr inbounds %LSlice, ptr %t5155, i32 0, i32 0 %t5159 = load i32, ptr %t5156 %t5160 = load i32, ptr %t5157 %t5161 = icmp sge i32 %t5159, %t5160 br i1 %t5161, label %grow1045, label %put1046 grow1045: %t5162 = mul i32 %t5160, 2 %t5163 = icmp eq i32 %t5160, 0 %t5164 = select i1 %t5163, i32 8, i32 %t5162 %t5165 = getelementptr ptr, ptr null, i32 1 %t5166 = ptrtoint ptr %t5165 to i64 %t5167 = zext i32 %t5164 to i64 %t5168 = mul i64 %t5167, %t5166 %t5169 = load ptr, ptr %t5158 %t5170 = call ptr @realloc(ptr %t5169, i64 %t5168) store ptr %t5170, ptr %t5158 store i32 %t5164, ptr %t5157 br label %put1046 put1046: %t5171 = load ptr, ptr %t5158 %t5172 = getelementptr inbounds ptr, ptr %t5171, i32 %t5159 store ptr @.str7325, ptr %t5172 %t5173 = add i32 %t5159, 1 store i32 %t5173, ptr %t5156 %t5174 = load ptr, ptr %t410 %t5175 = getelementptr inbounds %LSlice, ptr %t5174, i32 0, i32 1 %t5176 = getelementptr inbounds %LSlice, ptr %t5174, i32 0, i32 2 %t5177 = getelementptr inbounds %LSlice, ptr %t5174, i32 0, i32 0 %t5178 = load i32, ptr %t5175 %t5179 = load i32, ptr %t5176 %t5180 = icmp sge i32 %t5178, %t5179 br i1 %t5180, label %grow1047, label %put1048 grow1047: %t5181 = mul i32 %t5179, 2 %t5182 = icmp eq i32 %t5179, 0 %t5183 = select i1 %t5182, i32 8, i32 %t5181 %t5184 = getelementptr ptr, ptr null, i32 1 %t5185 = ptrtoint ptr %t5184 to i64 %t5186 = zext i32 %t5183 to i64 %t5187 = mul i64 %t5186, %t5185 %t5188 = load ptr, ptr %t5177 %t5189 = call ptr @realloc(ptr %t5188, i64 %t5187) store ptr %t5189, ptr %t5177 store i32 %t5183, ptr %t5176 br label %put1048 put1048: %t5190 = load ptr, ptr %t5177 %t5191 = getelementptr inbounds ptr, ptr %t5190, i32 %t5178 store ptr @.str7326, ptr %t5191 %t5192 = add i32 %t5178, 1 store i32 %t5192, ptr %t5175 %t5193 = load ptr, ptr %t410 %t5194 = getelementptr inbounds %LSlice, ptr %t5193, i32 0, i32 1 %t5195 = getelementptr inbounds %LSlice, ptr %t5193, i32 0, i32 2 %t5196 = getelementptr inbounds %LSlice, ptr %t5193, i32 0, i32 0 %t5197 = load i32, ptr %t5194 %t5198 = load i32, ptr %t5195 %t5199 = icmp sge i32 %t5197, %t5198 br i1 %t5199, label %grow1049, label %put1050 grow1049: %t5200 = mul i32 %t5198, 2 %t5201 = icmp eq i32 %t5198, 0 %t5202 = select i1 %t5201, i32 8, i32 %t5200 %t5203 = getelementptr ptr, ptr null, i32 1 %t5204 = ptrtoint ptr %t5203 to i64 %t5205 = zext i32 %t5202 to i64 %t5206 = mul i64 %t5205, %t5204 %t5207 = load ptr, ptr %t5196 %t5208 = call ptr @realloc(ptr %t5207, i64 %t5206) store ptr %t5208, ptr %t5196 store i32 %t5202, ptr %t5195 br label %put1050 put1050: %t5209 = load ptr, ptr %t5196 %t5210 = getelementptr inbounds ptr, ptr %t5209, i32 %t5197 store ptr @.str7327, ptr %t5210 %t5211 = add i32 %t5197, 1 store i32 %t5211, ptr %t5194 br label %ifend1042 ifend1042: %t5212 = load ptr, ptr %t1 %t5213 = call i32 @lp_str_eq(ptr %t5212, ptr @.str7328) %t5214 = icmp ne i32 %t5213, 0 br i1 %t5214, label %then1051, label %ifend1053 then1051: store ptr @.str7329, ptr %t403 %t5215 = load ptr, ptr %t410 %t5216 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 1 %t5217 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 2 %t5218 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 0 %t5219 = load i32, ptr %t5216 %t5220 = load i32, ptr %t5217 %t5221 = icmp sge i32 %t5219, %t5220 br i1 %t5221, label %grow1054, label %put1055 grow1054: %t5222 = mul i32 %t5220, 2 %t5223 = icmp eq i32 %t5220, 0 %t5224 = select i1 %t5223, i32 8, i32 %t5222 %t5225 = getelementptr ptr, ptr null, i32 1 %t5226 = ptrtoint ptr %t5225 to i64 %t5227 = zext i32 %t5224 to i64 %t5228 = mul i64 %t5227, %t5226 %t5229 = load ptr, ptr %t5218 %t5230 = call ptr @realloc(ptr %t5229, i64 %t5228) store ptr %t5230, ptr %t5218 store i32 %t5224, ptr %t5217 br label %put1055 put1055: %t5231 = load ptr, ptr %t5218 %t5232 = getelementptr inbounds ptr, ptr %t5231, i32 %t5219 store ptr @.str7330, ptr %t5232 %t5233 = add i32 %t5219, 1 store i32 %t5233, ptr %t5216 br label %ifend1053 ifend1053: %t5234 = load ptr, ptr %t1 %t5235 = call i32 @lp_str_eq(ptr %t5234, ptr @.str7331) %t5236 = icmp ne i32 %t5235, 0 br i1 %t5236, label %then1056, label %ifend1058 then1056: store ptr @.str7332, ptr %t403 br label %ifend1058 ifend1058: %t5237 = load ptr, ptr %t1 %t5238 = call i32 @lp_str_eq(ptr %t5237, ptr @.str7333) %t5239 = icmp ne i32 %t5238, 0 br i1 %t5239, label %then1059, label %ifend1061 then1059: store ptr @.str7334, ptr %t403 br label %ifend1061 ifend1061: %t5240 = load ptr, ptr %t1 %t5241 = call i32 @lp_str_eq(ptr %t5240, ptr @.str7335) %t5242 = icmp ne i32 %t5241, 0 br i1 %t5242, label %then1062, label %ifend1064 then1062: store ptr @.str7336, ptr %t403 br label %ifend1064 ifend1064: %t5243 = load ptr, ptr %t1 %t5244 = call i32 @lp_str_eq(ptr %t5243, ptr @.str7337) %t5245 = icmp ne i32 %t5244, 0 br i1 %t5245, label %then1065, label %ifend1067 then1065: store ptr @.str7338, ptr %t403 br label %ifend1067 ifend1067: %t5246 = load ptr, ptr %t1 %t5247 = call i32 @lp_str_eq(ptr %t5246, ptr @.str7339) %t5248 = icmp ne i32 %t5247, 0 br i1 %t5248, label %then1068, label %ifend1070 then1068: store ptr @.str7340, ptr %t403 %t5249 = load ptr, ptr %t410 %t5250 = getelementptr inbounds %LSlice, ptr %t5249, i32 0, i32 1 %t5251 = getelementptr inbounds %LSlice, ptr %t5249, i32 0, i32 2 %t5252 = getelementptr inbounds %LSlice, ptr %t5249, i32 0, i32 0 %t5253 = load i32, ptr %t5250 %t5254 = load i32, ptr %t5251 %t5255 = icmp sge i32 %t5253, %t5254 br i1 %t5255, label %grow1071, label %put1072 grow1071: %t5256 = mul i32 %t5254, 2 %t5257 = icmp eq i32 %t5254, 0 %t5258 = select i1 %t5257, i32 8, i32 %t5256 %t5259 = getelementptr ptr, ptr null, i32 1 %t5260 = ptrtoint ptr %t5259 to i64 %t5261 = zext i32 %t5258 to i64 %t5262 = mul i64 %t5261, %t5260 %t5263 = load ptr, ptr %t5252 %t5264 = call ptr @realloc(ptr %t5263, i64 %t5262) store ptr %t5264, ptr %t5252 store i32 %t5258, ptr %t5251 br label %put1072 put1072: %t5265 = load ptr, ptr %t5252 %t5266 = getelementptr inbounds ptr, ptr %t5265, i32 %t5253 store ptr @.str7341, ptr %t5266 %t5267 = add i32 %t5253, 1 store i32 %t5267, ptr %t5250 br label %ifend1070 ifend1070: %t5268 = load ptr, ptr %t1 %t5269 = call i32 @lp_str_eq(ptr %t5268, ptr @.str7342) %t5270 = icmp ne i32 %t5269, 0 br i1 %t5270, label %then1073, label %ifend1075 then1073: store ptr @.str7343, ptr %t403 br label %ifend1075 ifend1075: %t5271 = load ptr, ptr %t1 %t5272 = call i32 @lp_str_eq(ptr %t5271, ptr @.str7344) %t5273 = icmp ne i32 %t5272, 0 br i1 %t5273, label %then1076, label %ifend1078 then1076: store ptr @.str7345, ptr %t403 %t5274 = load ptr, ptr %t410 %t5275 = getelementptr inbounds %LSlice, ptr %t5274, i32 0, i32 1 %t5276 = getelementptr inbounds %LSlice, ptr %t5274, i32 0, i32 2 %t5277 = getelementptr inbounds %LSlice, ptr %t5274, i32 0, i32 0 %t5278 = load i32, ptr %t5275 %t5279 = load i32, ptr %t5276 %t5280 = icmp sge i32 %t5278, %t5279 br i1 %t5280, label %grow1079, label %put1080 grow1079: %t5281 = mul i32 %t5279, 2 %t5282 = icmp eq i32 %t5279, 0 %t5283 = select i1 %t5282, i32 8, i32 %t5281 %t5284 = getelementptr ptr, ptr null, i32 1 %t5285 = ptrtoint ptr %t5284 to i64 %t5286 = zext i32 %t5283 to i64 %t5287 = mul i64 %t5286, %t5285 %t5288 = load ptr, ptr %t5277 %t5289 = call ptr @realloc(ptr %t5288, i64 %t5287) store ptr %t5289, ptr %t5277 store i32 %t5283, ptr %t5276 br label %put1080 put1080: %t5290 = load ptr, ptr %t5277 %t5291 = getelementptr inbounds ptr, ptr %t5290, i32 %t5278 store ptr @.str7346, ptr %t5291 %t5292 = add i32 %t5278, 1 store i32 %t5292, ptr %t5275 %t5293 = load ptr, ptr %t410 %t5294 = getelementptr inbounds %LSlice, ptr %t5293, i32 0, i32 1 %t5295 = getelementptr inbounds %LSlice, ptr %t5293, i32 0, i32 2 %t5296 = getelementptr inbounds %LSlice, ptr %t5293, i32 0, i32 0 %t5297 = load i32, ptr %t5294 %t5298 = load i32, ptr %t5295 %t5299 = icmp sge i32 %t5297, %t5298 br i1 %t5299, label %grow1081, label %put1082 grow1081: %t5300 = mul i32 %t5298, 2 %t5301 = icmp eq i32 %t5298, 0 %t5302 = select i1 %t5301, i32 8, i32 %t5300 %t5303 = getelementptr ptr, ptr null, i32 1 %t5304 = ptrtoint ptr %t5303 to i64 %t5305 = zext i32 %t5302 to i64 %t5306 = mul i64 %t5305, %t5304 %t5307 = load ptr, ptr %t5296 %t5308 = call ptr @realloc(ptr %t5307, i64 %t5306) store ptr %t5308, ptr %t5296 store i32 %t5302, ptr %t5295 br label %put1082 put1082: %t5309 = load ptr, ptr %t5296 %t5310 = getelementptr inbounds ptr, ptr %t5309, i32 %t5297 store ptr @.str7347, ptr %t5310 %t5311 = add i32 %t5297, 1 store i32 %t5311, ptr %t5294 %t5312 = load ptr, ptr %t410 %t5313 = getelementptr inbounds %LSlice, ptr %t5312, i32 0, i32 1 %t5314 = getelementptr inbounds %LSlice, ptr %t5312, i32 0, i32 2 %t5315 = getelementptr inbounds %LSlice, ptr %t5312, i32 0, i32 0 %t5316 = load i32, ptr %t5313 %t5317 = load i32, ptr %t5314 %t5318 = icmp sge i32 %t5316, %t5317 br i1 %t5318, label %grow1083, label %put1084 grow1083: %t5319 = mul i32 %t5317, 2 %t5320 = icmp eq i32 %t5317, 0 %t5321 = select i1 %t5320, i32 8, i32 %t5319 %t5322 = getelementptr ptr, ptr null, i32 1 %t5323 = ptrtoint ptr %t5322 to i64 %t5324 = zext i32 %t5321 to i64 %t5325 = mul i64 %t5324, %t5323 %t5326 = load ptr, ptr %t5315 %t5327 = call ptr @realloc(ptr %t5326, i64 %t5325) store ptr %t5327, ptr %t5315 store i32 %t5321, ptr %t5314 br label %put1084 put1084: %t5328 = load ptr, ptr %t5315 %t5329 = getelementptr inbounds ptr, ptr %t5328, i32 %t5316 store ptr @.str7348, ptr %t5329 %t5330 = add i32 %t5316, 1 store i32 %t5330, ptr %t5313 %t5331 = load ptr, ptr %t410 %t5332 = getelementptr inbounds %LSlice, ptr %t5331, i32 0, i32 1 %t5333 = getelementptr inbounds %LSlice, ptr %t5331, i32 0, i32 2 %t5334 = getelementptr inbounds %LSlice, ptr %t5331, i32 0, i32 0 %t5335 = load i32, ptr %t5332 %t5336 = load i32, ptr %t5333 %t5337 = icmp sge i32 %t5335, %t5336 br i1 %t5337, label %grow1085, label %put1086 grow1085: %t5338 = mul i32 %t5336, 2 %t5339 = icmp eq i32 %t5336, 0 %t5340 = select i1 %t5339, i32 8, i32 %t5338 %t5341 = getelementptr ptr, ptr null, i32 1 %t5342 = ptrtoint ptr %t5341 to i64 %t5343 = zext i32 %t5340 to i64 %t5344 = mul i64 %t5343, %t5342 %t5345 = load ptr, ptr %t5334 %t5346 = call ptr @realloc(ptr %t5345, i64 %t5344) store ptr %t5346, ptr %t5334 store i32 %t5340, ptr %t5333 br label %put1086 put1086: %t5347 = load ptr, ptr %t5334 %t5348 = getelementptr inbounds ptr, ptr %t5347, i32 %t5335 store ptr @.str7349, ptr %t5348 %t5349 = add i32 %t5335, 1 store i32 %t5349, ptr %t5332 br label %ifend1078 ifend1078: %t5350 = load ptr, ptr %t1 %t5351 = call i32 @lp_str_eq(ptr %t5350, ptr @.str7350) %t5352 = icmp ne i32 %t5351, 0 br i1 %t5352, label %then1087, label %ifend1089 then1087: store ptr @.str7351, ptr %t403 %t5353 = load ptr, ptr %t410 %t5354 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 1 %t5355 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 2 %t5356 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 0 %t5357 = load i32, ptr %t5354 %t5358 = load i32, ptr %t5355 %t5359 = icmp sge i32 %t5357, %t5358 br i1 %t5359, label %grow1090, label %put1091 grow1090: %t5360 = mul i32 %t5358, 2 %t5361 = icmp eq i32 %t5358, 0 %t5362 = select i1 %t5361, i32 8, i32 %t5360 %t5363 = getelementptr ptr, ptr null, i32 1 %t5364 = ptrtoint ptr %t5363 to i64 %t5365 = zext i32 %t5362 to i64 %t5366 = mul i64 %t5365, %t5364 %t5367 = load ptr, ptr %t5356 %t5368 = call ptr @realloc(ptr %t5367, i64 %t5366) store ptr %t5368, ptr %t5356 store i32 %t5362, ptr %t5355 br label %put1091 put1091: %t5369 = load ptr, ptr %t5356 %t5370 = getelementptr inbounds ptr, ptr %t5369, i32 %t5357 store ptr @.str7352, ptr %t5370 %t5371 = add i32 %t5357, 1 store i32 %t5371, ptr %t5354 br label %ifend1089 ifend1089: %t5372 = load ptr, ptr %t1 %t5373 = call i32 @lp_str_eq(ptr %t5372, ptr @.str7353) %t5374 = icmp ne i32 %t5373, 0 br i1 %t5374, label %then1092, label %ifend1094 then1092: store ptr @.str7354, ptr %t403 %t5375 = load ptr, ptr %t410 %t5376 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 1 %t5377 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 2 %t5378 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 0 %t5379 = load i32, ptr %t5376 %t5380 = load i32, ptr %t5377 %t5381 = icmp sge i32 %t5379, %t5380 br i1 %t5381, label %grow1095, label %put1096 grow1095: %t5382 = mul i32 %t5380, 2 %t5383 = icmp eq i32 %t5380, 0 %t5384 = select i1 %t5383, i32 8, i32 %t5382 %t5385 = getelementptr ptr, ptr null, i32 1 %t5386 = ptrtoint ptr %t5385 to i64 %t5387 = zext i32 %t5384 to i64 %t5388 = mul i64 %t5387, %t5386 %t5389 = load ptr, ptr %t5378 %t5390 = call ptr @realloc(ptr %t5389, i64 %t5388) store ptr %t5390, ptr %t5378 store i32 %t5384, ptr %t5377 br label %put1096 put1096: %t5391 = load ptr, ptr %t5378 %t5392 = getelementptr inbounds ptr, ptr %t5391, i32 %t5379 store ptr @.str7355, ptr %t5392 %t5393 = add i32 %t5379, 1 store i32 %t5393, ptr %t5376 %t5394 = load ptr, ptr %t410 %t5395 = getelementptr inbounds %LSlice, ptr %t5394, i32 0, i32 1 %t5396 = getelementptr inbounds %LSlice, ptr %t5394, i32 0, i32 2 %t5397 = getelementptr inbounds %LSlice, ptr %t5394, i32 0, i32 0 %t5398 = load i32, ptr %t5395 %t5399 = load i32, ptr %t5396 %t5400 = icmp sge i32 %t5398, %t5399 br i1 %t5400, label %grow1097, label %put1098 grow1097: %t5401 = mul i32 %t5399, 2 %t5402 = icmp eq i32 %t5399, 0 %t5403 = select i1 %t5402, i32 8, i32 %t5401 %t5404 = getelementptr ptr, ptr null, i32 1 %t5405 = ptrtoint ptr %t5404 to i64 %t5406 = zext i32 %t5403 to i64 %t5407 = mul i64 %t5406, %t5405 %t5408 = load ptr, ptr %t5397 %t5409 = call ptr @realloc(ptr %t5408, i64 %t5407) store ptr %t5409, ptr %t5397 store i32 %t5403, ptr %t5396 br label %put1098 put1098: %t5410 = load ptr, ptr %t5397 %t5411 = getelementptr inbounds ptr, ptr %t5410, i32 %t5398 store ptr @.str7356, ptr %t5411 %t5412 = add i32 %t5398, 1 store i32 %t5412, ptr %t5395 br label %ifend1094 ifend1094: %t5413 = load ptr, ptr %t1 %t5414 = call i32 @lp_str_eq(ptr %t5413, ptr @.str7357) %t5415 = icmp ne i32 %t5414, 0 br i1 %t5415, label %then1099, label %ifend1101 then1099: store ptr @.str7358, ptr %t403 %t5416 = load ptr, ptr %t410 %t5417 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 1 %t5418 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 2 %t5419 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 0 %t5420 = load i32, ptr %t5417 %t5421 = load i32, ptr %t5418 %t5422 = icmp sge i32 %t5420, %t5421 br i1 %t5422, label %grow1102, label %put1103 grow1102: %t5423 = mul i32 %t5421, 2 %t5424 = icmp eq i32 %t5421, 0 %t5425 = select i1 %t5424, i32 8, i32 %t5423 %t5426 = getelementptr ptr, ptr null, i32 1 %t5427 = ptrtoint ptr %t5426 to i64 %t5428 = zext i32 %t5425 to i64 %t5429 = mul i64 %t5428, %t5427 %t5430 = load ptr, ptr %t5419 %t5431 = call ptr @realloc(ptr %t5430, i64 %t5429) store ptr %t5431, ptr %t5419 store i32 %t5425, ptr %t5418 br label %put1103 put1103: %t5432 = load ptr, ptr %t5419 %t5433 = getelementptr inbounds ptr, ptr %t5432, i32 %t5420 store ptr @.str7359, ptr %t5433 %t5434 = add i32 %t5420, 1 store i32 %t5434, ptr %t5417 %t5435 = load ptr, ptr %t410 %t5436 = getelementptr inbounds %LSlice, ptr %t5435, i32 0, i32 1 %t5437 = getelementptr inbounds %LSlice, ptr %t5435, i32 0, i32 2 %t5438 = getelementptr inbounds %LSlice, ptr %t5435, i32 0, i32 0 %t5439 = load i32, ptr %t5436 %t5440 = load i32, ptr %t5437 %t5441 = icmp sge i32 %t5439, %t5440 br i1 %t5441, label %grow1104, label %put1105 grow1104: %t5442 = mul i32 %t5440, 2 %t5443 = icmp eq i32 %t5440, 0 %t5444 = select i1 %t5443, i32 8, i32 %t5442 %t5445 = getelementptr ptr, ptr null, i32 1 %t5446 = ptrtoint ptr %t5445 to i64 %t5447 = zext i32 %t5444 to i64 %t5448 = mul i64 %t5447, %t5446 %t5449 = load ptr, ptr %t5438 %t5450 = call ptr @realloc(ptr %t5449, i64 %t5448) store ptr %t5450, ptr %t5438 store i32 %t5444, ptr %t5437 br label %put1105 put1105: %t5451 = load ptr, ptr %t5438 %t5452 = getelementptr inbounds ptr, ptr %t5451, i32 %t5439 store ptr @.str7360, ptr %t5452 %t5453 = add i32 %t5439, 1 store i32 %t5453, ptr %t5436 br label %ifend1101 ifend1101: %t5454 = load ptr, ptr %t1 %t5455 = call i32 @lp_str_eq(ptr %t5454, ptr @.str7361) %t5456 = icmp ne i32 %t5455, 0 br i1 %t5456, label %then1106, label %ifend1108 then1106: store ptr @.str7362, ptr %t403 %t5457 = load ptr, ptr %t410 %t5458 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 1 %t5459 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 2 %t5460 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 0 %t5461 = load i32, ptr %t5458 %t5462 = load i32, ptr %t5459 %t5463 = icmp sge i32 %t5461, %t5462 br i1 %t5463, label %grow1109, label %put1110 grow1109: %t5464 = mul i32 %t5462, 2 %t5465 = icmp eq i32 %t5462, 0 %t5466 = select i1 %t5465, i32 8, i32 %t5464 %t5467 = getelementptr ptr, ptr null, i32 1 %t5468 = ptrtoint ptr %t5467 to i64 %t5469 = zext i32 %t5466 to i64 %t5470 = mul i64 %t5469, %t5468 %t5471 = load ptr, ptr %t5460 %t5472 = call ptr @realloc(ptr %t5471, i64 %t5470) store ptr %t5472, ptr %t5460 store i32 %t5466, ptr %t5459 br label %put1110 put1110: %t5473 = load ptr, ptr %t5460 %t5474 = getelementptr inbounds ptr, ptr %t5473, i32 %t5461 store ptr @.str7363, ptr %t5474 %t5475 = add i32 %t5461, 1 store i32 %t5475, ptr %t5458 %t5476 = load ptr, ptr %t410 %t5477 = getelementptr inbounds %LSlice, ptr %t5476, i32 0, i32 1 %t5478 = getelementptr inbounds %LSlice, ptr %t5476, i32 0, i32 2 %t5479 = getelementptr inbounds %LSlice, ptr %t5476, i32 0, i32 0 %t5480 = load i32, ptr %t5477 %t5481 = load i32, ptr %t5478 %t5482 = icmp sge i32 %t5480, %t5481 br i1 %t5482, label %grow1111, label %put1112 grow1111: %t5483 = mul i32 %t5481, 2 %t5484 = icmp eq i32 %t5481, 0 %t5485 = select i1 %t5484, i32 8, i32 %t5483 %t5486 = getelementptr ptr, ptr null, i32 1 %t5487 = ptrtoint ptr %t5486 to i64 %t5488 = zext i32 %t5485 to i64 %t5489 = mul i64 %t5488, %t5487 %t5490 = load ptr, ptr %t5479 %t5491 = call ptr @realloc(ptr %t5490, i64 %t5489) store ptr %t5491, ptr %t5479 store i32 %t5485, ptr %t5478 br label %put1112 put1112: %t5492 = load ptr, ptr %t5479 %t5493 = getelementptr inbounds ptr, ptr %t5492, i32 %t5480 store ptr @.str7364, ptr %t5493 %t5494 = add i32 %t5480, 1 store i32 %t5494, ptr %t5477 %t5495 = load ptr, ptr %t410 %t5496 = getelementptr inbounds %LSlice, ptr %t5495, i32 0, i32 1 %t5497 = getelementptr inbounds %LSlice, ptr %t5495, i32 0, i32 2 %t5498 = getelementptr inbounds %LSlice, ptr %t5495, i32 0, i32 0 %t5499 = load i32, ptr %t5496 %t5500 = load i32, ptr %t5497 %t5501 = icmp sge i32 %t5499, %t5500 br i1 %t5501, label %grow1113, label %put1114 grow1113: %t5502 = mul i32 %t5500, 2 %t5503 = icmp eq i32 %t5500, 0 %t5504 = select i1 %t5503, i32 8, i32 %t5502 %t5505 = getelementptr ptr, ptr null, i32 1 %t5506 = ptrtoint ptr %t5505 to i64 %t5507 = zext i32 %t5504 to i64 %t5508 = mul i64 %t5507, %t5506 %t5509 = load ptr, ptr %t5498 %t5510 = call ptr @realloc(ptr %t5509, i64 %t5508) store ptr %t5510, ptr %t5498 store i32 %t5504, ptr %t5497 br label %put1114 put1114: %t5511 = load ptr, ptr %t5498 %t5512 = getelementptr inbounds ptr, ptr %t5511, i32 %t5499 store ptr @.str7365, ptr %t5512 %t5513 = add i32 %t5499, 1 store i32 %t5513, ptr %t5496 %t5514 = load ptr, ptr %t410 %t5515 = getelementptr inbounds %LSlice, ptr %t5514, i32 0, i32 1 %t5516 = getelementptr inbounds %LSlice, ptr %t5514, i32 0, i32 2 %t5517 = getelementptr inbounds %LSlice, ptr %t5514, i32 0, i32 0 %t5518 = load i32, ptr %t5515 %t5519 = load i32, ptr %t5516 %t5520 = icmp sge i32 %t5518, %t5519 br i1 %t5520, label %grow1115, label %put1116 grow1115: %t5521 = mul i32 %t5519, 2 %t5522 = icmp eq i32 %t5519, 0 %t5523 = select i1 %t5522, i32 8, i32 %t5521 %t5524 = getelementptr ptr, ptr null, i32 1 %t5525 = ptrtoint ptr %t5524 to i64 %t5526 = zext i32 %t5523 to i64 %t5527 = mul i64 %t5526, %t5525 %t5528 = load ptr, ptr %t5517 %t5529 = call ptr @realloc(ptr %t5528, i64 %t5527) store ptr %t5529, ptr %t5517 store i32 %t5523, ptr %t5516 br label %put1116 put1116: %t5530 = load ptr, ptr %t5517 %t5531 = getelementptr inbounds ptr, ptr %t5530, i32 %t5518 store ptr @.str7366, ptr %t5531 %t5532 = add i32 %t5518, 1 store i32 %t5532, ptr %t5515 %t5533 = load ptr, ptr %t410 %t5534 = getelementptr inbounds %LSlice, ptr %t5533, i32 0, i32 1 %t5535 = getelementptr inbounds %LSlice, ptr %t5533, i32 0, i32 2 %t5536 = getelementptr inbounds %LSlice, ptr %t5533, i32 0, i32 0 %t5537 = load i32, ptr %t5534 %t5538 = load i32, ptr %t5535 %t5539 = icmp sge i32 %t5537, %t5538 br i1 %t5539, label %grow1117, label %put1118 grow1117: %t5540 = mul i32 %t5538, 2 %t5541 = icmp eq i32 %t5538, 0 %t5542 = select i1 %t5541, i32 8, i32 %t5540 %t5543 = getelementptr ptr, ptr null, i32 1 %t5544 = ptrtoint ptr %t5543 to i64 %t5545 = zext i32 %t5542 to i64 %t5546 = mul i64 %t5545, %t5544 %t5547 = load ptr, ptr %t5536 %t5548 = call ptr @realloc(ptr %t5547, i64 %t5546) store ptr %t5548, ptr %t5536 store i32 %t5542, ptr %t5535 br label %put1118 put1118: %t5549 = load ptr, ptr %t5536 %t5550 = getelementptr inbounds ptr, ptr %t5549, i32 %t5537 store ptr @.str7367, ptr %t5550 %t5551 = add i32 %t5537, 1 store i32 %t5551, ptr %t5534 %t5552 = load ptr, ptr %t410 %t5553 = getelementptr inbounds %LSlice, ptr %t5552, i32 0, i32 1 %t5554 = getelementptr inbounds %LSlice, ptr %t5552, i32 0, i32 2 %t5555 = getelementptr inbounds %LSlice, ptr %t5552, i32 0, i32 0 %t5556 = load i32, ptr %t5553 %t5557 = load i32, ptr %t5554 %t5558 = icmp sge i32 %t5556, %t5557 br i1 %t5558, label %grow1119, label %put1120 grow1119: %t5559 = mul i32 %t5557, 2 %t5560 = icmp eq i32 %t5557, 0 %t5561 = select i1 %t5560, i32 8, i32 %t5559 %t5562 = getelementptr ptr, ptr null, i32 1 %t5563 = ptrtoint ptr %t5562 to i64 %t5564 = zext i32 %t5561 to i64 %t5565 = mul i64 %t5564, %t5563 %t5566 = load ptr, ptr %t5555 %t5567 = call ptr @realloc(ptr %t5566, i64 %t5565) store ptr %t5567, ptr %t5555 store i32 %t5561, ptr %t5554 br label %put1120 put1120: %t5568 = load ptr, ptr %t5555 %t5569 = getelementptr inbounds ptr, ptr %t5568, i32 %t5556 store ptr @.str7368, ptr %t5569 %t5570 = add i32 %t5556, 1 store i32 %t5570, ptr %t5553 %t5571 = load ptr, ptr %t410 %t5572 = getelementptr inbounds %LSlice, ptr %t5571, i32 0, i32 1 %t5573 = getelementptr inbounds %LSlice, ptr %t5571, i32 0, i32 2 %t5574 = getelementptr inbounds %LSlice, ptr %t5571, i32 0, i32 0 %t5575 = load i32, ptr %t5572 %t5576 = load i32, ptr %t5573 %t5577 = icmp sge i32 %t5575, %t5576 br i1 %t5577, label %grow1121, label %put1122 grow1121: %t5578 = mul i32 %t5576, 2 %t5579 = icmp eq i32 %t5576, 0 %t5580 = select i1 %t5579, i32 8, i32 %t5578 %t5581 = getelementptr ptr, ptr null, i32 1 %t5582 = ptrtoint ptr %t5581 to i64 %t5583 = zext i32 %t5580 to i64 %t5584 = mul i64 %t5583, %t5582 %t5585 = load ptr, ptr %t5574 %t5586 = call ptr @realloc(ptr %t5585, i64 %t5584) store ptr %t5586, ptr %t5574 store i32 %t5580, ptr %t5573 br label %put1122 put1122: %t5587 = load ptr, ptr %t5574 %t5588 = getelementptr inbounds ptr, ptr %t5587, i32 %t5575 store ptr @.str7369, ptr %t5588 %t5589 = add i32 %t5575, 1 store i32 %t5589, ptr %t5572 br label %ifend1108 ifend1108: %t5590 = load ptr, ptr %t1 %t5591 = call i32 @lp_str_eq(ptr %t5590, ptr @.str7370) %t5592 = icmp ne i32 %t5591, 0 br i1 %t5592, label %then1123, label %ifend1125 then1123: store ptr @.str7371, ptr %t403 br label %ifend1125 ifend1125: %t5593 = load ptr, ptr %t1 %t5594 = call i32 @lp_str_eq(ptr %t5593, ptr @.str7372) %t5595 = icmp ne i32 %t5594, 0 br i1 %t5595, label %then1126, label %ifend1128 then1126: store ptr @.str7373, ptr %t403 %t5596 = load ptr, ptr %t410 %t5597 = getelementptr inbounds %LSlice, ptr %t5596, i32 0, i32 1 %t5598 = getelementptr inbounds %LSlice, ptr %t5596, i32 0, i32 2 %t5599 = getelementptr inbounds %LSlice, ptr %t5596, i32 0, i32 0 %t5600 = load i32, ptr %t5597 %t5601 = load i32, ptr %t5598 %t5602 = icmp sge i32 %t5600, %t5601 br i1 %t5602, label %grow1129, label %put1130 grow1129: %t5603 = mul i32 %t5601, 2 %t5604 = icmp eq i32 %t5601, 0 %t5605 = select i1 %t5604, i32 8, i32 %t5603 %t5606 = getelementptr ptr, ptr null, i32 1 %t5607 = ptrtoint ptr %t5606 to i64 %t5608 = zext i32 %t5605 to i64 %t5609 = mul i64 %t5608, %t5607 %t5610 = load ptr, ptr %t5599 %t5611 = call ptr @realloc(ptr %t5610, i64 %t5609) store ptr %t5611, ptr %t5599 store i32 %t5605, ptr %t5598 br label %put1130 put1130: %t5612 = load ptr, ptr %t5599 %t5613 = getelementptr inbounds ptr, ptr %t5612, i32 %t5600 store ptr @.str7374, ptr %t5613 %t5614 = add i32 %t5600, 1 store i32 %t5614, ptr %t5597 br label %ifend1128 ifend1128: %t5615 = load ptr, ptr %t1 %t5616 = call i32 @lp_str_eq(ptr %t5615, ptr @.str7375) %t5617 = icmp ne i32 %t5616, 0 br i1 %t5617, label %then1131, label %ifend1133 then1131: store ptr @.str7376, ptr %t403 %t5618 = load ptr, ptr %t410 %t5619 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 1 %t5620 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 2 %t5621 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 0 %t5622 = load i32, ptr %t5619 %t5623 = load i32, ptr %t5620 %t5624 = icmp sge i32 %t5622, %t5623 br i1 %t5624, label %grow1134, label %put1135 grow1134: %t5625 = mul i32 %t5623, 2 %t5626 = icmp eq i32 %t5623, 0 %t5627 = select i1 %t5626, i32 8, i32 %t5625 %t5628 = getelementptr ptr, ptr null, i32 1 %t5629 = ptrtoint ptr %t5628 to i64 %t5630 = zext i32 %t5627 to i64 %t5631 = mul i64 %t5630, %t5629 %t5632 = load ptr, ptr %t5621 %t5633 = call ptr @realloc(ptr %t5632, i64 %t5631) store ptr %t5633, ptr %t5621 store i32 %t5627, ptr %t5620 br label %put1135 put1135: %t5634 = load ptr, ptr %t5621 %t5635 = getelementptr inbounds ptr, ptr %t5634, i32 %t5622 store ptr @.str7377, ptr %t5635 %t5636 = add i32 %t5622, 1 store i32 %t5636, ptr %t5619 br label %ifend1133 ifend1133: %t5637 = load ptr, ptr %t1 %t5638 = call i32 @lp_str_eq(ptr %t5637, ptr @.str7378) %t5639 = icmp ne i32 %t5638, 0 br i1 %t5639, label %then1136, label %ifend1138 then1136: store ptr @.str7379, ptr %t403 %t5640 = load ptr, ptr %t410 %t5641 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 1 %t5642 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 2 %t5643 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 0 %t5644 = load i32, ptr %t5641 %t5645 = load i32, ptr %t5642 %t5646 = icmp sge i32 %t5644, %t5645 br i1 %t5646, label %grow1139, label %put1140 grow1139: %t5647 = mul i32 %t5645, 2 %t5648 = icmp eq i32 %t5645, 0 %t5649 = select i1 %t5648, i32 8, i32 %t5647 %t5650 = getelementptr ptr, ptr null, i32 1 %t5651 = ptrtoint ptr %t5650 to i64 %t5652 = zext i32 %t5649 to i64 %t5653 = mul i64 %t5652, %t5651 %t5654 = load ptr, ptr %t5643 %t5655 = call ptr @realloc(ptr %t5654, i64 %t5653) store ptr %t5655, ptr %t5643 store i32 %t5649, ptr %t5642 br label %put1140 put1140: %t5656 = load ptr, ptr %t5643 %t5657 = getelementptr inbounds ptr, ptr %t5656, i32 %t5644 store ptr @.str7380, ptr %t5657 %t5658 = add i32 %t5644, 1 store i32 %t5658, ptr %t5641 %t5659 = load ptr, ptr %t410 %t5660 = getelementptr inbounds %LSlice, ptr %t5659, i32 0, i32 1 %t5661 = getelementptr inbounds %LSlice, ptr %t5659, i32 0, i32 2 %t5662 = getelementptr inbounds %LSlice, ptr %t5659, i32 0, i32 0 %t5663 = load i32, ptr %t5660 %t5664 = load i32, ptr %t5661 %t5665 = icmp sge i32 %t5663, %t5664 br i1 %t5665, label %grow1141, label %put1142 grow1141: %t5666 = mul i32 %t5664, 2 %t5667 = icmp eq i32 %t5664, 0 %t5668 = select i1 %t5667, i32 8, i32 %t5666 %t5669 = getelementptr ptr, ptr null, i32 1 %t5670 = ptrtoint ptr %t5669 to i64 %t5671 = zext i32 %t5668 to i64 %t5672 = mul i64 %t5671, %t5670 %t5673 = load ptr, ptr %t5662 %t5674 = call ptr @realloc(ptr %t5673, i64 %t5672) store ptr %t5674, ptr %t5662 store i32 %t5668, ptr %t5661 br label %put1142 put1142: %t5675 = load ptr, ptr %t5662 %t5676 = getelementptr inbounds ptr, ptr %t5675, i32 %t5663 store ptr @.str7381, ptr %t5676 %t5677 = add i32 %t5663, 1 store i32 %t5677, ptr %t5660 %t5678 = load ptr, ptr %t410 %t5679 = getelementptr inbounds %LSlice, ptr %t5678, i32 0, i32 1 %t5680 = getelementptr inbounds %LSlice, ptr %t5678, i32 0, i32 2 %t5681 = getelementptr inbounds %LSlice, ptr %t5678, i32 0, i32 0 %t5682 = load i32, ptr %t5679 %t5683 = load i32, ptr %t5680 %t5684 = icmp sge i32 %t5682, %t5683 br i1 %t5684, label %grow1143, label %put1144 grow1143: %t5685 = mul i32 %t5683, 2 %t5686 = icmp eq i32 %t5683, 0 %t5687 = select i1 %t5686, i32 8, i32 %t5685 %t5688 = getelementptr ptr, ptr null, i32 1 %t5689 = ptrtoint ptr %t5688 to i64 %t5690 = zext i32 %t5687 to i64 %t5691 = mul i64 %t5690, %t5689 %t5692 = load ptr, ptr %t5681 %t5693 = call ptr @realloc(ptr %t5692, i64 %t5691) store ptr %t5693, ptr %t5681 store i32 %t5687, ptr %t5680 br label %put1144 put1144: %t5694 = load ptr, ptr %t5681 %t5695 = getelementptr inbounds ptr, ptr %t5694, i32 %t5682 store ptr @.str7382, ptr %t5695 %t5696 = add i32 %t5682, 1 store i32 %t5696, ptr %t5679 %t5697 = load ptr, ptr %t410 %t5698 = getelementptr inbounds %LSlice, ptr %t5697, i32 0, i32 1 %t5699 = getelementptr inbounds %LSlice, ptr %t5697, i32 0, i32 2 %t5700 = getelementptr inbounds %LSlice, ptr %t5697, i32 0, i32 0 %t5701 = load i32, ptr %t5698 %t5702 = load i32, ptr %t5699 %t5703 = icmp sge i32 %t5701, %t5702 br i1 %t5703, label %grow1145, label %put1146 grow1145: %t5704 = mul i32 %t5702, 2 %t5705 = icmp eq i32 %t5702, 0 %t5706 = select i1 %t5705, i32 8, i32 %t5704 %t5707 = getelementptr ptr, ptr null, i32 1 %t5708 = ptrtoint ptr %t5707 to i64 %t5709 = zext i32 %t5706 to i64 %t5710 = mul i64 %t5709, %t5708 %t5711 = load ptr, ptr %t5700 %t5712 = call ptr @realloc(ptr %t5711, i64 %t5710) store ptr %t5712, ptr %t5700 store i32 %t5706, ptr %t5699 br label %put1146 put1146: %t5713 = load ptr, ptr %t5700 %t5714 = getelementptr inbounds ptr, ptr %t5713, i32 %t5701 store ptr @.str7383, ptr %t5714 %t5715 = add i32 %t5701, 1 store i32 %t5715, ptr %t5698 br label %ifend1138 ifend1138: %t5716 = load ptr, ptr %t1 %t5717 = call i32 @lp_str_eq(ptr %t5716, ptr @.str7384) %t5718 = icmp ne i32 %t5717, 0 br i1 %t5718, label %then1147, label %ifend1149 then1147: store ptr @.str7385, ptr %t403 %t5719 = load ptr, ptr %t410 %t5720 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 1 %t5721 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 2 %t5722 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 0 %t5723 = load i32, ptr %t5720 %t5724 = load i32, ptr %t5721 %t5725 = icmp sge i32 %t5723, %t5724 br i1 %t5725, label %grow1150, label %put1151 grow1150: %t5726 = mul i32 %t5724, 2 %t5727 = icmp eq i32 %t5724, 0 %t5728 = select i1 %t5727, i32 8, i32 %t5726 %t5729 = getelementptr ptr, ptr null, i32 1 %t5730 = ptrtoint ptr %t5729 to i64 %t5731 = zext i32 %t5728 to i64 %t5732 = mul i64 %t5731, %t5730 %t5733 = load ptr, ptr %t5722 %t5734 = call ptr @realloc(ptr %t5733, i64 %t5732) store ptr %t5734, ptr %t5722 store i32 %t5728, ptr %t5721 br label %put1151 put1151: %t5735 = load ptr, ptr %t5722 %t5736 = getelementptr inbounds ptr, ptr %t5735, i32 %t5723 store ptr @.str7386, ptr %t5736 %t5737 = add i32 %t5723, 1 store i32 %t5737, ptr %t5720 br label %ifend1149 ifend1149: br label %ifend934 ifend934: %t5738 = load ptr, ptr %t0 %t5739 = call i32 @lp_str_eq(ptr %t5738, ptr @.str7387) %t5740 = icmp ne i32 %t5739, 0 br i1 %t5740, label %then1152, label %ifend1154 then1152: %t5741 = load ptr, ptr %t1 %t5742 = call i32 @lp_str_eq(ptr %t5741, ptr @.str7388) %t5743 = icmp ne i32 %t5742, 0 br i1 %t5743, label %then1155, label %ifend1157 then1155: store ptr @.str7389, ptr %t403 %t5744 = load ptr, ptr %t410 %t5745 = getelementptr inbounds %LSlice, ptr %t5744, i32 0, i32 1 %t5746 = getelementptr inbounds %LSlice, ptr %t5744, i32 0, i32 2 %t5747 = getelementptr inbounds %LSlice, ptr %t5744, i32 0, i32 0 %t5748 = load i32, ptr %t5745 %t5749 = load i32, ptr %t5746 %t5750 = icmp sge i32 %t5748, %t5749 br i1 %t5750, label %grow1158, label %put1159 grow1158: %t5751 = mul i32 %t5749, 2 %t5752 = icmp eq i32 %t5749, 0 %t5753 = select i1 %t5752, i32 8, i32 %t5751 %t5754 = getelementptr ptr, ptr null, i32 1 %t5755 = ptrtoint ptr %t5754 to i64 %t5756 = zext i32 %t5753 to i64 %t5757 = mul i64 %t5756, %t5755 %t5758 = load ptr, ptr %t5747 %t5759 = call ptr @realloc(ptr %t5758, i64 %t5757) store ptr %t5759, ptr %t5747 store i32 %t5753, ptr %t5746 br label %put1159 put1159: %t5760 = load ptr, ptr %t5747 %t5761 = getelementptr inbounds ptr, ptr %t5760, i32 %t5748 store ptr @.str7390, ptr %t5761 %t5762 = add i32 %t5748, 1 store i32 %t5762, ptr %t5745 br label %ifend1157 ifend1157: %t5763 = load ptr, ptr %t1 %t5764 = call i32 @lp_str_eq(ptr %t5763, ptr @.str7391) %t5765 = icmp ne i32 %t5764, 0 br i1 %t5765, label %then1160, label %ifend1162 then1160: store ptr @.str7392, ptr %t403 %t5766 = load ptr, ptr %t410 %t5767 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 1 %t5768 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 2 %t5769 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 0 %t5770 = load i32, ptr %t5767 %t5771 = load i32, ptr %t5768 %t5772 = icmp sge i32 %t5770, %t5771 br i1 %t5772, label %grow1163, label %put1164 grow1163: %t5773 = mul i32 %t5771, 2 %t5774 = icmp eq i32 %t5771, 0 %t5775 = select i1 %t5774, i32 8, i32 %t5773 %t5776 = getelementptr ptr, ptr null, i32 1 %t5777 = ptrtoint ptr %t5776 to i64 %t5778 = zext i32 %t5775 to i64 %t5779 = mul i64 %t5778, %t5777 %t5780 = load ptr, ptr %t5769 %t5781 = call ptr @realloc(ptr %t5780, i64 %t5779) store ptr %t5781, ptr %t5769 store i32 %t5775, ptr %t5768 br label %put1164 put1164: %t5782 = load ptr, ptr %t5769 %t5783 = getelementptr inbounds ptr, ptr %t5782, i32 %t5770 store ptr @.str7393, ptr %t5783 %t5784 = add i32 %t5770, 1 store i32 %t5784, ptr %t5767 %t5785 = load ptr, ptr %t410 %t5786 = getelementptr inbounds %LSlice, ptr %t5785, i32 0, i32 1 %t5787 = getelementptr inbounds %LSlice, ptr %t5785, i32 0, i32 2 %t5788 = getelementptr inbounds %LSlice, ptr %t5785, i32 0, i32 0 %t5789 = load i32, ptr %t5786 %t5790 = load i32, ptr %t5787 %t5791 = icmp sge i32 %t5789, %t5790 br i1 %t5791, label %grow1165, label %put1166 grow1165: %t5792 = mul i32 %t5790, 2 %t5793 = icmp eq i32 %t5790, 0 %t5794 = select i1 %t5793, i32 8, i32 %t5792 %t5795 = getelementptr ptr, ptr null, i32 1 %t5796 = ptrtoint ptr %t5795 to i64 %t5797 = zext i32 %t5794 to i64 %t5798 = mul i64 %t5797, %t5796 %t5799 = load ptr, ptr %t5788 %t5800 = call ptr @realloc(ptr %t5799, i64 %t5798) store ptr %t5800, ptr %t5788 store i32 %t5794, ptr %t5787 br label %put1166 put1166: %t5801 = load ptr, ptr %t5788 %t5802 = getelementptr inbounds ptr, ptr %t5801, i32 %t5789 store ptr @.str7394, ptr %t5802 %t5803 = add i32 %t5789, 1 store i32 %t5803, ptr %t5786 br label %ifend1162 ifend1162: %t5804 = load ptr, ptr %t1 %t5805 = call i32 @lp_str_eq(ptr %t5804, ptr @.str7395) %t5806 = icmp ne i32 %t5805, 0 br i1 %t5806, label %then1167, label %ifend1169 then1167: store ptr @.str7396, ptr %t403 %t5807 = load ptr, ptr %t410 %t5808 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 1 %t5809 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 2 %t5810 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 0 %t5811 = load i32, ptr %t5808 %t5812 = load i32, ptr %t5809 %t5813 = icmp sge i32 %t5811, %t5812 br i1 %t5813, label %grow1170, label %put1171 grow1170: %t5814 = mul i32 %t5812, 2 %t5815 = icmp eq i32 %t5812, 0 %t5816 = select i1 %t5815, i32 8, i32 %t5814 %t5817 = getelementptr ptr, ptr null, i32 1 %t5818 = ptrtoint ptr %t5817 to i64 %t5819 = zext i32 %t5816 to i64 %t5820 = mul i64 %t5819, %t5818 %t5821 = load ptr, ptr %t5810 %t5822 = call ptr @realloc(ptr %t5821, i64 %t5820) store ptr %t5822, ptr %t5810 store i32 %t5816, ptr %t5809 br label %put1171 put1171: %t5823 = load ptr, ptr %t5810 %t5824 = getelementptr inbounds ptr, ptr %t5823, i32 %t5811 store ptr @.str7397, ptr %t5824 %t5825 = add i32 %t5811, 1 store i32 %t5825, ptr %t5808 br label %ifend1169 ifend1169: %t5826 = load ptr, ptr %t1 %t5827 = call i32 @lp_str_eq(ptr %t5826, ptr @.str7398) %t5828 = icmp ne i32 %t5827, 0 br i1 %t5828, label %then1172, label %ifend1174 then1172: %t5829 = load ptr, ptr %t2 %t5830 = call i32 @fn_first_arg_is_text(ptr %t5829) %t5831 = icmp ne i32 %t5830, 0 br i1 %t5831, label %then1175, label %else1176 then1175: store ptr @.str7399, ptr %t403 %t5832 = load ptr, ptr %t410 %t5833 = getelementptr inbounds %LSlice, ptr %t5832, i32 0, i32 1 %t5834 = getelementptr inbounds %LSlice, ptr %t5832, i32 0, i32 2 %t5835 = getelementptr inbounds %LSlice, ptr %t5832, i32 0, i32 0 %t5836 = load i32, ptr %t5833 %t5837 = load i32, ptr %t5834 %t5838 = icmp sge i32 %t5836, %t5837 br i1 %t5838, label %grow1178, label %put1179 grow1178: %t5839 = mul i32 %t5837, 2 %t5840 = icmp eq i32 %t5837, 0 %t5841 = select i1 %t5840, i32 8, i32 %t5839 %t5842 = getelementptr ptr, ptr null, i32 1 %t5843 = ptrtoint ptr %t5842 to i64 %t5844 = zext i32 %t5841 to i64 %t5845 = mul i64 %t5844, %t5843 %t5846 = load ptr, ptr %t5835 %t5847 = call ptr @realloc(ptr %t5846, i64 %t5845) store ptr %t5847, ptr %t5835 store i32 %t5841, ptr %t5834 br label %put1179 put1179: %t5848 = load ptr, ptr %t5835 %t5849 = getelementptr inbounds ptr, ptr %t5848, i32 %t5836 store ptr @.str7400, ptr %t5849 %t5850 = add i32 %t5836, 1 store i32 %t5850, ptr %t5833 br label %ifend1177 else1176: store ptr @.str7401, ptr %t403 %t5851 = load ptr, ptr %t410 %t5852 = getelementptr inbounds %LSlice, ptr %t5851, i32 0, i32 1 %t5853 = getelementptr inbounds %LSlice, ptr %t5851, i32 0, i32 2 %t5854 = getelementptr inbounds %LSlice, ptr %t5851, i32 0, i32 0 %t5855 = load i32, ptr %t5852 %t5856 = load i32, ptr %t5853 %t5857 = icmp sge i32 %t5855, %t5856 br i1 %t5857, label %grow1180, label %put1181 grow1180: %t5858 = mul i32 %t5856, 2 %t5859 = icmp eq i32 %t5856, 0 %t5860 = select i1 %t5859, i32 8, i32 %t5858 %t5861 = getelementptr ptr, ptr null, i32 1 %t5862 = ptrtoint ptr %t5861 to i64 %t5863 = zext i32 %t5860 to i64 %t5864 = mul i64 %t5863, %t5862 %t5865 = load ptr, ptr %t5854 %t5866 = call ptr @realloc(ptr %t5865, i64 %t5864) store ptr %t5866, ptr %t5854 store i32 %t5860, ptr %t5853 br label %put1181 put1181: %t5867 = load ptr, ptr %t5854 %t5868 = getelementptr inbounds ptr, ptr %t5867, i32 %t5855 store ptr @.str7402, ptr %t5868 %t5869 = add i32 %t5855, 1 store i32 %t5869, ptr %t5852 br label %ifend1177 ifend1177: br label %ifend1174 ifend1174: %t5870 = load ptr, ptr %t1 %t5871 = call i32 @lp_str_eq(ptr %t5870, ptr @.str7403) %t5872 = icmp ne i32 %t5871, 0 br i1 %t5872, label %then1182, label %ifend1184 then1182: store ptr @.str7404, ptr %t403 %t5873 = load ptr, ptr %t410 %t5874 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 1 %t5875 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 2 %t5876 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 0 %t5877 = load i32, ptr %t5874 %t5878 = load i32, ptr %t5875 %t5879 = icmp sge i32 %t5877, %t5878 br i1 %t5879, label %grow1185, label %put1186 grow1185: %t5880 = mul i32 %t5878, 2 %t5881 = icmp eq i32 %t5878, 0 %t5882 = select i1 %t5881, i32 8, i32 %t5880 %t5883 = getelementptr ptr, ptr null, i32 1 %t5884 = ptrtoint ptr %t5883 to i64 %t5885 = zext i32 %t5882 to i64 %t5886 = mul i64 %t5885, %t5884 %t5887 = load ptr, ptr %t5876 %t5888 = call ptr @realloc(ptr %t5887, i64 %t5886) store ptr %t5888, ptr %t5876 store i32 %t5882, ptr %t5875 br label %put1186 put1186: %t5889 = load ptr, ptr %t5876 %t5890 = getelementptr inbounds ptr, ptr %t5889, i32 %t5877 store ptr @.str7405, ptr %t5890 %t5891 = add i32 %t5877, 1 store i32 %t5891, ptr %t5874 br label %ifend1184 ifend1184: %t5892 = load ptr, ptr %t1 %t5893 = call i32 @lp_str_eq(ptr %t5892, ptr @.str7406) %t5894 = icmp ne i32 %t5893, 0 br i1 %t5894, label %then1187, label %ifend1189 then1187: store ptr @.str7407, ptr %t403 %t5895 = load ptr, ptr %t410 %t5896 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 1 %t5897 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 2 %t5898 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 0 %t5899 = load i32, ptr %t5896 %t5900 = load i32, ptr %t5897 %t5901 = icmp sge i32 %t5899, %t5900 br i1 %t5901, label %grow1190, label %put1191 grow1190: %t5902 = mul i32 %t5900, 2 %t5903 = icmp eq i32 %t5900, 0 %t5904 = select i1 %t5903, i32 8, i32 %t5902 %t5905 = getelementptr ptr, ptr null, i32 1 %t5906 = ptrtoint ptr %t5905 to i64 %t5907 = zext i32 %t5904 to i64 %t5908 = mul i64 %t5907, %t5906 %t5909 = load ptr, ptr %t5898 %t5910 = call ptr @realloc(ptr %t5909, i64 %t5908) store ptr %t5910, ptr %t5898 store i32 %t5904, ptr %t5897 br label %put1191 put1191: %t5911 = load ptr, ptr %t5898 %t5912 = getelementptr inbounds ptr, ptr %t5911, i32 %t5899 store ptr @.str7408, ptr %t5912 %t5913 = add i32 %t5899, 1 store i32 %t5913, ptr %t5896 %t5914 = load ptr, ptr %t410 %t5915 = getelementptr inbounds %LSlice, ptr %t5914, i32 0, i32 1 %t5916 = getelementptr inbounds %LSlice, ptr %t5914, i32 0, i32 2 %t5917 = getelementptr inbounds %LSlice, ptr %t5914, i32 0, i32 0 %t5918 = load i32, ptr %t5915 %t5919 = load i32, ptr %t5916 %t5920 = icmp sge i32 %t5918, %t5919 br i1 %t5920, label %grow1192, label %put1193 grow1192: %t5921 = mul i32 %t5919, 2 %t5922 = icmp eq i32 %t5919, 0 %t5923 = select i1 %t5922, i32 8, i32 %t5921 %t5924 = getelementptr ptr, ptr null, i32 1 %t5925 = ptrtoint ptr %t5924 to i64 %t5926 = zext i32 %t5923 to i64 %t5927 = mul i64 %t5926, %t5925 %t5928 = load ptr, ptr %t5917 %t5929 = call ptr @realloc(ptr %t5928, i64 %t5927) store ptr %t5929, ptr %t5917 store i32 %t5923, ptr %t5916 br label %put1193 put1193: %t5930 = load ptr, ptr %t5917 %t5931 = getelementptr inbounds ptr, ptr %t5930, i32 %t5918 store ptr @.str7409, ptr %t5931 %t5932 = add i32 %t5918, 1 store i32 %t5932, ptr %t5915 %t5933 = load ptr, ptr %t410 %t5934 = getelementptr inbounds %LSlice, ptr %t5933, i32 0, i32 1 %t5935 = getelementptr inbounds %LSlice, ptr %t5933, i32 0, i32 2 %t5936 = getelementptr inbounds %LSlice, ptr %t5933, i32 0, i32 0 %t5937 = load i32, ptr %t5934 %t5938 = load i32, ptr %t5935 %t5939 = icmp sge i32 %t5937, %t5938 br i1 %t5939, label %grow1194, label %put1195 grow1194: %t5940 = mul i32 %t5938, 2 %t5941 = icmp eq i32 %t5938, 0 %t5942 = select i1 %t5941, i32 8, i32 %t5940 %t5943 = getelementptr ptr, ptr null, i32 1 %t5944 = ptrtoint ptr %t5943 to i64 %t5945 = zext i32 %t5942 to i64 %t5946 = mul i64 %t5945, %t5944 %t5947 = load ptr, ptr %t5936 %t5948 = call ptr @realloc(ptr %t5947, i64 %t5946) store ptr %t5948, ptr %t5936 store i32 %t5942, ptr %t5935 br label %put1195 put1195: %t5949 = load ptr, ptr %t5936 %t5950 = getelementptr inbounds ptr, ptr %t5949, i32 %t5937 store ptr @.str7410, ptr %t5950 %t5951 = add i32 %t5937, 1 store i32 %t5951, ptr %t5934 %t5952 = load ptr, ptr %t410 %t5953 = getelementptr inbounds %LSlice, ptr %t5952, i32 0, i32 1 %t5954 = getelementptr inbounds %LSlice, ptr %t5952, i32 0, i32 2 %t5955 = getelementptr inbounds %LSlice, ptr %t5952, i32 0, i32 0 %t5956 = load i32, ptr %t5953 %t5957 = load i32, ptr %t5954 %t5958 = icmp sge i32 %t5956, %t5957 br i1 %t5958, label %grow1196, label %put1197 grow1196: %t5959 = mul i32 %t5957, 2 %t5960 = icmp eq i32 %t5957, 0 %t5961 = select i1 %t5960, i32 8, i32 %t5959 %t5962 = getelementptr ptr, ptr null, i32 1 %t5963 = ptrtoint ptr %t5962 to i64 %t5964 = zext i32 %t5961 to i64 %t5965 = mul i64 %t5964, %t5963 %t5966 = load ptr, ptr %t5955 %t5967 = call ptr @realloc(ptr %t5966, i64 %t5965) store ptr %t5967, ptr %t5955 store i32 %t5961, ptr %t5954 br label %put1197 put1197: %t5968 = load ptr, ptr %t5955 %t5969 = getelementptr inbounds ptr, ptr %t5968, i32 %t5956 store ptr @.str7411, ptr %t5969 %t5970 = add i32 %t5956, 1 store i32 %t5970, ptr %t5953 br label %ifend1189 ifend1189: %t5971 = load ptr, ptr %t1 %t5972 = call i32 @lp_str_eq(ptr %t5971, ptr @.str7412) %t5973 = icmp ne i32 %t5972, 0 br i1 %t5973, label %then1198, label %ifend1200 then1198: %t5974 = load ptr, ptr %t2 %t5975 = call i32 @fn_first_arg_is_text(ptr %t5974) %t5976 = icmp ne i32 %t5975, 0 br i1 %t5976, label %then1201, label %else1202 then1201: store ptr @.str7413, ptr %t403 %t5977 = load ptr, ptr %t410 %t5978 = getelementptr inbounds %LSlice, ptr %t5977, i32 0, i32 1 %t5979 = getelementptr inbounds %LSlice, ptr %t5977, i32 0, i32 2 %t5980 = getelementptr inbounds %LSlice, ptr %t5977, i32 0, i32 0 %t5981 = load i32, ptr %t5978 %t5982 = load i32, ptr %t5979 %t5983 = icmp sge i32 %t5981, %t5982 br i1 %t5983, label %grow1204, label %put1205 grow1204: %t5984 = mul i32 %t5982, 2 %t5985 = icmp eq i32 %t5982, 0 %t5986 = select i1 %t5985, i32 8, i32 %t5984 %t5987 = getelementptr ptr, ptr null, i32 1 %t5988 = ptrtoint ptr %t5987 to i64 %t5989 = zext i32 %t5986 to i64 %t5990 = mul i64 %t5989, %t5988 %t5991 = load ptr, ptr %t5980 %t5992 = call ptr @realloc(ptr %t5991, i64 %t5990) store ptr %t5992, ptr %t5980 store i32 %t5986, ptr %t5979 br label %put1205 put1205: %t5993 = load ptr, ptr %t5980 %t5994 = getelementptr inbounds ptr, ptr %t5993, i32 %t5981 store ptr @.str7414, ptr %t5994 %t5995 = add i32 %t5981, 1 store i32 %t5995, ptr %t5978 br label %ifend1203 else1202: store ptr @.str7415, ptr %t403 %t5996 = load ptr, ptr %t410 %t5997 = getelementptr inbounds %LSlice, ptr %t5996, i32 0, i32 1 %t5998 = getelementptr inbounds %LSlice, ptr %t5996, i32 0, i32 2 %t5999 = getelementptr inbounds %LSlice, ptr %t5996, i32 0, i32 0 %t6000 = load i32, ptr %t5997 %t6001 = load i32, ptr %t5998 %t6002 = icmp sge i32 %t6000, %t6001 br i1 %t6002, label %grow1206, label %put1207 grow1206: %t6003 = mul i32 %t6001, 2 %t6004 = icmp eq i32 %t6001, 0 %t6005 = select i1 %t6004, i32 8, i32 %t6003 %t6006 = getelementptr ptr, ptr null, i32 1 %t6007 = ptrtoint ptr %t6006 to i64 %t6008 = zext i32 %t6005 to i64 %t6009 = mul i64 %t6008, %t6007 %t6010 = load ptr, ptr %t5999 %t6011 = call ptr @realloc(ptr %t6010, i64 %t6009) store ptr %t6011, ptr %t5999 store i32 %t6005, ptr %t5998 br label %put1207 put1207: %t6012 = load ptr, ptr %t5999 %t6013 = getelementptr inbounds ptr, ptr %t6012, i32 %t6000 store ptr @.str7416, ptr %t6013 %t6014 = add i32 %t6000, 1 store i32 %t6014, ptr %t5997 br label %ifend1203 ifend1203: br label %ifend1200 ifend1200: %t6015 = load ptr, ptr %t1 %t6016 = call i32 @lp_str_eq(ptr %t6015, ptr @.str7417) %t6017 = icmp ne i32 %t6016, 0 br i1 %t6017, label %then1208, label %ifend1210 then1208: store ptr @.str7418, ptr %t403 %t6018 = load ptr, ptr %t410 %t6019 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 1 %t6020 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 2 %t6021 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 0 %t6022 = load i32, ptr %t6019 %t6023 = load i32, ptr %t6020 %t6024 = icmp sge i32 %t6022, %t6023 br i1 %t6024, label %grow1211, label %put1212 grow1211: %t6025 = mul i32 %t6023, 2 %t6026 = icmp eq i32 %t6023, 0 %t6027 = select i1 %t6026, i32 8, i32 %t6025 %t6028 = getelementptr ptr, ptr null, i32 1 %t6029 = ptrtoint ptr %t6028 to i64 %t6030 = zext i32 %t6027 to i64 %t6031 = mul i64 %t6030, %t6029 %t6032 = load ptr, ptr %t6021 %t6033 = call ptr @realloc(ptr %t6032, i64 %t6031) store ptr %t6033, ptr %t6021 store i32 %t6027, ptr %t6020 br label %put1212 put1212: %t6034 = load ptr, ptr %t6021 %t6035 = getelementptr inbounds ptr, ptr %t6034, i32 %t6022 store ptr @.str7419, ptr %t6035 %t6036 = add i32 %t6022, 1 store i32 %t6036, ptr %t6019 br label %ifend1210 ifend1210: %t6037 = load ptr, ptr %t1 %t6038 = call i32 @lp_str_eq(ptr %t6037, ptr @.str7420) %t6039 = icmp ne i32 %t6038, 0 br i1 %t6039, label %then1213, label %ifend1215 then1213: store ptr @.str7421, ptr %t403 br label %ifend1215 ifend1215: %t6040 = load ptr, ptr %t1 %t6041 = call i32 @lp_str_eq(ptr %t6040, ptr @.str7422) %t6042 = icmp ne i32 %t6041, 0 br i1 %t6042, label %then1216, label %ifend1218 then1216: store ptr @.str7423, ptr %t403 br label %ifend1218 ifend1218: %t6043 = load ptr, ptr %t1 %t6044 = call i32 @lp_str_eq(ptr %t6043, ptr @.str7424) %t6045 = icmp ne i32 %t6044, 0 br i1 %t6045, label %then1219, label %ifend1221 then1219: store ptr @.str7425, ptr %t403 %t6046 = load ptr, ptr %t410 %t6047 = getelementptr inbounds %LSlice, ptr %t6046, i32 0, i32 1 %t6048 = getelementptr inbounds %LSlice, ptr %t6046, i32 0, i32 2 %t6049 = getelementptr inbounds %LSlice, ptr %t6046, i32 0, i32 0 %t6050 = load i32, ptr %t6047 %t6051 = load i32, ptr %t6048 %t6052 = icmp sge i32 %t6050, %t6051 br i1 %t6052, label %grow1222, label %put1223 grow1222: %t6053 = mul i32 %t6051, 2 %t6054 = icmp eq i32 %t6051, 0 %t6055 = select i1 %t6054, i32 8, i32 %t6053 %t6056 = getelementptr ptr, ptr null, i32 1 %t6057 = ptrtoint ptr %t6056 to i64 %t6058 = zext i32 %t6055 to i64 %t6059 = mul i64 %t6058, %t6057 %t6060 = load ptr, ptr %t6049 %t6061 = call ptr @realloc(ptr %t6060, i64 %t6059) store ptr %t6061, ptr %t6049 store i32 %t6055, ptr %t6048 br label %put1223 put1223: %t6062 = load ptr, ptr %t6049 %t6063 = getelementptr inbounds ptr, ptr %t6062, i32 %t6050 store ptr @.str7426, ptr %t6063 %t6064 = add i32 %t6050, 1 store i32 %t6064, ptr %t6047 br label %ifend1221 ifend1221: %t6065 = load ptr, ptr %t1 %t6066 = call i32 @lp_str_eq(ptr %t6065, ptr @.str7427) %t6067 = icmp ne i32 %t6066, 0 br i1 %t6067, label %then1224, label %ifend1226 then1224: store ptr @.str7428, ptr %t403 %t6068 = load ptr, ptr %t410 %t6069 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 1 %t6070 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 2 %t6071 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 0 %t6072 = load i32, ptr %t6069 %t6073 = load i32, ptr %t6070 %t6074 = icmp sge i32 %t6072, %t6073 br i1 %t6074, label %grow1227, label %put1228 grow1227: %t6075 = mul i32 %t6073, 2 %t6076 = icmp eq i32 %t6073, 0 %t6077 = select i1 %t6076, i32 8, i32 %t6075 %t6078 = getelementptr ptr, ptr null, i32 1 %t6079 = ptrtoint ptr %t6078 to i64 %t6080 = zext i32 %t6077 to i64 %t6081 = mul i64 %t6080, %t6079 %t6082 = load ptr, ptr %t6071 %t6083 = call ptr @realloc(ptr %t6082, i64 %t6081) store ptr %t6083, ptr %t6071 store i32 %t6077, ptr %t6070 br label %put1228 put1228: %t6084 = load ptr, ptr %t6071 %t6085 = getelementptr inbounds ptr, ptr %t6084, i32 %t6072 store ptr @.str7429, ptr %t6085 %t6086 = add i32 %t6072, 1 store i32 %t6086, ptr %t6069 br label %ifend1226 ifend1226: %t6087 = load ptr, ptr %t1 %t6088 = call i32 @lp_str_eq(ptr %t6087, ptr @.str7430) %t6089 = icmp ne i32 %t6088, 0 br i1 %t6089, label %then1229, label %ifend1231 then1229: store ptr @.str7431, ptr %t403 %t6090 = load ptr, ptr %t410 %t6091 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 1 %t6092 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 2 %t6093 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 0 %t6094 = load i32, ptr %t6091 %t6095 = load i32, ptr %t6092 %t6096 = icmp sge i32 %t6094, %t6095 br i1 %t6096, label %grow1232, label %put1233 grow1232: %t6097 = mul i32 %t6095, 2 %t6098 = icmp eq i32 %t6095, 0 %t6099 = select i1 %t6098, i32 8, i32 %t6097 %t6100 = getelementptr ptr, ptr null, i32 1 %t6101 = ptrtoint ptr %t6100 to i64 %t6102 = zext i32 %t6099 to i64 %t6103 = mul i64 %t6102, %t6101 %t6104 = load ptr, ptr %t6093 %t6105 = call ptr @realloc(ptr %t6104, i64 %t6103) store ptr %t6105, ptr %t6093 store i32 %t6099, ptr %t6092 br label %put1233 put1233: %t6106 = load ptr, ptr %t6093 %t6107 = getelementptr inbounds ptr, ptr %t6106, i32 %t6094 store ptr @.str7432, ptr %t6107 %t6108 = add i32 %t6094, 1 store i32 %t6108, ptr %t6091 br label %ifend1231 ifend1231: br label %ifend1154 ifend1154: %t6109 = load ptr, ptr %t0 %t6110 = call i32 @lp_str_eq(ptr %t6109, ptr @.str7433) %t6111 = icmp ne i32 %t6110, 0 br i1 %t6111, label %then1234, label %ifend1236 then1234: %t6112 = load ptr, ptr %t1 %t6113 = call i32 @lp_str_eq(ptr %t6112, ptr @.str7434) %t6114 = icmp ne i32 %t6113, 0 br i1 %t6114, label %then1237, label %ifend1239 then1237: store ptr @.str7435, ptr %t403 %t6115 = load ptr, ptr %t410 %t6116 = getelementptr inbounds %LSlice, ptr %t6115, i32 0, i32 1 %t6117 = getelementptr inbounds %LSlice, ptr %t6115, i32 0, i32 2 %t6118 = getelementptr inbounds %LSlice, ptr %t6115, i32 0, i32 0 %t6119 = load i32, ptr %t6116 %t6120 = load i32, ptr %t6117 %t6121 = icmp sge i32 %t6119, %t6120 br i1 %t6121, label %grow1240, label %put1241 grow1240: %t6122 = mul i32 %t6120, 2 %t6123 = icmp eq i32 %t6120, 0 %t6124 = select i1 %t6123, i32 8, i32 %t6122 %t6125 = getelementptr ptr, ptr null, i32 1 %t6126 = ptrtoint ptr %t6125 to i64 %t6127 = zext i32 %t6124 to i64 %t6128 = mul i64 %t6127, %t6126 %t6129 = load ptr, ptr %t6118 %t6130 = call ptr @realloc(ptr %t6129, i64 %t6128) store ptr %t6130, ptr %t6118 store i32 %t6124, ptr %t6117 br label %put1241 put1241: %t6131 = load ptr, ptr %t6118 %t6132 = getelementptr inbounds ptr, ptr %t6131, i32 %t6119 store ptr @.str7436, ptr %t6132 %t6133 = add i32 %t6119, 1 store i32 %t6133, ptr %t6116 br label %ifend1239 ifend1239: %t6134 = load ptr, ptr %t1 %t6135 = call i32 @lp_str_eq(ptr %t6134, ptr @.str7437) %t6136 = icmp ne i32 %t6135, 0 br i1 %t6136, label %then1242, label %ifend1244 then1242: store ptr @.str7438, ptr %t403 %t6137 = load ptr, ptr %t410 %t6138 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 1 %t6139 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 2 %t6140 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 0 %t6141 = load i32, ptr %t6138 %t6142 = load i32, ptr %t6139 %t6143 = icmp sge i32 %t6141, %t6142 br i1 %t6143, label %grow1245, label %put1246 grow1245: %t6144 = mul i32 %t6142, 2 %t6145 = icmp eq i32 %t6142, 0 %t6146 = select i1 %t6145, i32 8, i32 %t6144 %t6147 = getelementptr ptr, ptr null, i32 1 %t6148 = ptrtoint ptr %t6147 to i64 %t6149 = zext i32 %t6146 to i64 %t6150 = mul i64 %t6149, %t6148 %t6151 = load ptr, ptr %t6140 %t6152 = call ptr @realloc(ptr %t6151, i64 %t6150) store ptr %t6152, ptr %t6140 store i32 %t6146, ptr %t6139 br label %put1246 put1246: %t6153 = load ptr, ptr %t6140 %t6154 = getelementptr inbounds ptr, ptr %t6153, i32 %t6141 store ptr @.str7439, ptr %t6154 %t6155 = add i32 %t6141, 1 store i32 %t6155, ptr %t6138 %t6156 = load ptr, ptr %t410 %t6157 = getelementptr inbounds %LSlice, ptr %t6156, i32 0, i32 1 %t6158 = getelementptr inbounds %LSlice, ptr %t6156, i32 0, i32 2 %t6159 = getelementptr inbounds %LSlice, ptr %t6156, i32 0, i32 0 %t6160 = load i32, ptr %t6157 %t6161 = load i32, ptr %t6158 %t6162 = icmp sge i32 %t6160, %t6161 br i1 %t6162, label %grow1247, label %put1248 grow1247: %t6163 = mul i32 %t6161, 2 %t6164 = icmp eq i32 %t6161, 0 %t6165 = select i1 %t6164, i32 8, i32 %t6163 %t6166 = getelementptr ptr, ptr null, i32 1 %t6167 = ptrtoint ptr %t6166 to i64 %t6168 = zext i32 %t6165 to i64 %t6169 = mul i64 %t6168, %t6167 %t6170 = load ptr, ptr %t6159 %t6171 = call ptr @realloc(ptr %t6170, i64 %t6169) store ptr %t6171, ptr %t6159 store i32 %t6165, ptr %t6158 br label %put1248 put1248: %t6172 = load ptr, ptr %t6159 %t6173 = getelementptr inbounds ptr, ptr %t6172, i32 %t6160 store ptr @.str7440, ptr %t6173 %t6174 = add i32 %t6160, 1 store i32 %t6174, ptr %t6157 br label %ifend1244 ifend1244: %t6175 = load ptr, ptr %t1 %t6176 = call i32 @lp_str_eq(ptr %t6175, ptr @.str7441) %t6177 = icmp ne i32 %t6176, 0 br i1 %t6177, label %then1249, label %ifend1251 then1249: store ptr @.str7442, ptr %t403 %t6178 = load ptr, ptr %t410 %t6179 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 1 %t6180 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 2 %t6181 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 0 %t6182 = load i32, ptr %t6179 %t6183 = load i32, ptr %t6180 %t6184 = icmp sge i32 %t6182, %t6183 br i1 %t6184, label %grow1252, label %put1253 grow1252: %t6185 = mul i32 %t6183, 2 %t6186 = icmp eq i32 %t6183, 0 %t6187 = select i1 %t6186, i32 8, i32 %t6185 %t6188 = getelementptr ptr, ptr null, i32 1 %t6189 = ptrtoint ptr %t6188 to i64 %t6190 = zext i32 %t6187 to i64 %t6191 = mul i64 %t6190, %t6189 %t6192 = load ptr, ptr %t6181 %t6193 = call ptr @realloc(ptr %t6192, i64 %t6191) store ptr %t6193, ptr %t6181 store i32 %t6187, ptr %t6180 br label %put1253 put1253: %t6194 = load ptr, ptr %t6181 %t6195 = getelementptr inbounds ptr, ptr %t6194, i32 %t6182 store ptr @.str7443, ptr %t6195 %t6196 = add i32 %t6182, 1 store i32 %t6196, ptr %t6179 %t6197 = load ptr, ptr %t410 %t6198 = getelementptr inbounds %LSlice, ptr %t6197, i32 0, i32 1 %t6199 = getelementptr inbounds %LSlice, ptr %t6197, i32 0, i32 2 %t6200 = getelementptr inbounds %LSlice, ptr %t6197, i32 0, i32 0 %t6201 = load i32, ptr %t6198 %t6202 = load i32, ptr %t6199 %t6203 = icmp sge i32 %t6201, %t6202 br i1 %t6203, label %grow1254, label %put1255 grow1254: %t6204 = mul i32 %t6202, 2 %t6205 = icmp eq i32 %t6202, 0 %t6206 = select i1 %t6205, i32 8, i32 %t6204 %t6207 = getelementptr ptr, ptr null, i32 1 %t6208 = ptrtoint ptr %t6207 to i64 %t6209 = zext i32 %t6206 to i64 %t6210 = mul i64 %t6209, %t6208 %t6211 = load ptr, ptr %t6200 %t6212 = call ptr @realloc(ptr %t6211, i64 %t6210) store ptr %t6212, ptr %t6200 store i32 %t6206, ptr %t6199 br label %put1255 put1255: %t6213 = load ptr, ptr %t6200 %t6214 = getelementptr inbounds ptr, ptr %t6213, i32 %t6201 store ptr @.str7444, ptr %t6214 %t6215 = add i32 %t6201, 1 store i32 %t6215, ptr %t6198 %t6216 = load ptr, ptr %t410 %t6217 = getelementptr inbounds %LSlice, ptr %t6216, i32 0, i32 1 %t6218 = getelementptr inbounds %LSlice, ptr %t6216, i32 0, i32 2 %t6219 = getelementptr inbounds %LSlice, ptr %t6216, i32 0, i32 0 %t6220 = load i32, ptr %t6217 %t6221 = load i32, ptr %t6218 %t6222 = icmp sge i32 %t6220, %t6221 br i1 %t6222, label %grow1256, label %put1257 grow1256: %t6223 = mul i32 %t6221, 2 %t6224 = icmp eq i32 %t6221, 0 %t6225 = select i1 %t6224, i32 8, i32 %t6223 %t6226 = getelementptr ptr, ptr null, i32 1 %t6227 = ptrtoint ptr %t6226 to i64 %t6228 = zext i32 %t6225 to i64 %t6229 = mul i64 %t6228, %t6227 %t6230 = load ptr, ptr %t6219 %t6231 = call ptr @realloc(ptr %t6230, i64 %t6229) store ptr %t6231, ptr %t6219 store i32 %t6225, ptr %t6218 br label %put1257 put1257: %t6232 = load ptr, ptr %t6219 %t6233 = getelementptr inbounds ptr, ptr %t6232, i32 %t6220 store ptr @.str7445, ptr %t6233 %t6234 = add i32 %t6220, 1 store i32 %t6234, ptr %t6217 br label %ifend1251 ifend1251: %t6235 = load ptr, ptr %t1 %t6236 = call i32 @lp_str_eq(ptr %t6235, ptr @.str7446) %t6237 = icmp ne i32 %t6236, 0 br i1 %t6237, label %then1258, label %ifend1260 then1258: store ptr @.str7447, ptr %t403 %t6238 = load ptr, ptr %t410 %t6239 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 1 %t6240 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 2 %t6241 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 0 %t6242 = load i32, ptr %t6239 %t6243 = load i32, ptr %t6240 %t6244 = icmp sge i32 %t6242, %t6243 br i1 %t6244, label %grow1261, label %put1262 grow1261: %t6245 = mul i32 %t6243, 2 %t6246 = icmp eq i32 %t6243, 0 %t6247 = select i1 %t6246, i32 8, i32 %t6245 %t6248 = getelementptr ptr, ptr null, i32 1 %t6249 = ptrtoint ptr %t6248 to i64 %t6250 = zext i32 %t6247 to i64 %t6251 = mul i64 %t6250, %t6249 %t6252 = load ptr, ptr %t6241 %t6253 = call ptr @realloc(ptr %t6252, i64 %t6251) store ptr %t6253, ptr %t6241 store i32 %t6247, ptr %t6240 br label %put1262 put1262: %t6254 = load ptr, ptr %t6241 %t6255 = getelementptr inbounds ptr, ptr %t6254, i32 %t6242 store ptr @.str7448, ptr %t6255 %t6256 = add i32 %t6242, 1 store i32 %t6256, ptr %t6239 %t6257 = load ptr, ptr %t410 %t6258 = getelementptr inbounds %LSlice, ptr %t6257, i32 0, i32 1 %t6259 = getelementptr inbounds %LSlice, ptr %t6257, i32 0, i32 2 %t6260 = getelementptr inbounds %LSlice, ptr %t6257, i32 0, i32 0 %t6261 = load i32, ptr %t6258 %t6262 = load i32, ptr %t6259 %t6263 = icmp sge i32 %t6261, %t6262 br i1 %t6263, label %grow1263, label %put1264 grow1263: %t6264 = mul i32 %t6262, 2 %t6265 = icmp eq i32 %t6262, 0 %t6266 = select i1 %t6265, i32 8, i32 %t6264 %t6267 = getelementptr ptr, ptr null, i32 1 %t6268 = ptrtoint ptr %t6267 to i64 %t6269 = zext i32 %t6266 to i64 %t6270 = mul i64 %t6269, %t6268 %t6271 = load ptr, ptr %t6260 %t6272 = call ptr @realloc(ptr %t6271, i64 %t6270) store ptr %t6272, ptr %t6260 store i32 %t6266, ptr %t6259 br label %put1264 put1264: %t6273 = load ptr, ptr %t6260 %t6274 = getelementptr inbounds ptr, ptr %t6273, i32 %t6261 store ptr @.str7449, ptr %t6274 %t6275 = add i32 %t6261, 1 store i32 %t6275, ptr %t6258 br label %ifend1260 ifend1260: %t6276 = load ptr, ptr %t1 %t6277 = call i32 @lp_str_eq(ptr %t6276, ptr @.str7450) %t6278 = icmp ne i32 %t6277, 0 br i1 %t6278, label %then1265, label %ifend1267 then1265: store ptr @.str7451, ptr %t403 %t6279 = load ptr, ptr %t410 %t6280 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 1 %t6281 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 2 %t6282 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 0 %t6283 = load i32, ptr %t6280 %t6284 = load i32, ptr %t6281 %t6285 = icmp sge i32 %t6283, %t6284 br i1 %t6285, label %grow1268, label %put1269 grow1268: %t6286 = mul i32 %t6284, 2 %t6287 = icmp eq i32 %t6284, 0 %t6288 = select i1 %t6287, i32 8, i32 %t6286 %t6289 = getelementptr ptr, ptr null, i32 1 %t6290 = ptrtoint ptr %t6289 to i64 %t6291 = zext i32 %t6288 to i64 %t6292 = mul i64 %t6291, %t6290 %t6293 = load ptr, ptr %t6282 %t6294 = call ptr @realloc(ptr %t6293, i64 %t6292) store ptr %t6294, ptr %t6282 store i32 %t6288, ptr %t6281 br label %put1269 put1269: %t6295 = load ptr, ptr %t6282 %t6296 = getelementptr inbounds ptr, ptr %t6295, i32 %t6283 store ptr @.str7452, ptr %t6296 %t6297 = add i32 %t6283, 1 store i32 %t6297, ptr %t6280 %t6298 = load ptr, ptr %t410 %t6299 = getelementptr inbounds %LSlice, ptr %t6298, i32 0, i32 1 %t6300 = getelementptr inbounds %LSlice, ptr %t6298, i32 0, i32 2 %t6301 = getelementptr inbounds %LSlice, ptr %t6298, i32 0, i32 0 %t6302 = load i32, ptr %t6299 %t6303 = load i32, ptr %t6300 %t6304 = icmp sge i32 %t6302, %t6303 br i1 %t6304, label %grow1270, label %put1271 grow1270: %t6305 = mul i32 %t6303, 2 %t6306 = icmp eq i32 %t6303, 0 %t6307 = select i1 %t6306, i32 8, i32 %t6305 %t6308 = getelementptr ptr, ptr null, i32 1 %t6309 = ptrtoint ptr %t6308 to i64 %t6310 = zext i32 %t6307 to i64 %t6311 = mul i64 %t6310, %t6309 %t6312 = load ptr, ptr %t6301 %t6313 = call ptr @realloc(ptr %t6312, i64 %t6311) store ptr %t6313, ptr %t6301 store i32 %t6307, ptr %t6300 br label %put1271 put1271: %t6314 = load ptr, ptr %t6301 %t6315 = getelementptr inbounds ptr, ptr %t6314, i32 %t6302 store ptr @.str7453, ptr %t6315 %t6316 = add i32 %t6302, 1 store i32 %t6316, ptr %t6299 %t6317 = load ptr, ptr %t410 %t6318 = getelementptr inbounds %LSlice, ptr %t6317, i32 0, i32 1 %t6319 = getelementptr inbounds %LSlice, ptr %t6317, i32 0, i32 2 %t6320 = getelementptr inbounds %LSlice, ptr %t6317, i32 0, i32 0 %t6321 = load i32, ptr %t6318 %t6322 = load i32, ptr %t6319 %t6323 = icmp sge i32 %t6321, %t6322 br i1 %t6323, label %grow1272, label %put1273 grow1272: %t6324 = mul i32 %t6322, 2 %t6325 = icmp eq i32 %t6322, 0 %t6326 = select i1 %t6325, i32 8, i32 %t6324 %t6327 = getelementptr ptr, ptr null, i32 1 %t6328 = ptrtoint ptr %t6327 to i64 %t6329 = zext i32 %t6326 to i64 %t6330 = mul i64 %t6329, %t6328 %t6331 = load ptr, ptr %t6320 %t6332 = call ptr @realloc(ptr %t6331, i64 %t6330) store ptr %t6332, ptr %t6320 store i32 %t6326, ptr %t6319 br label %put1273 put1273: %t6333 = load ptr, ptr %t6320 %t6334 = getelementptr inbounds ptr, ptr %t6333, i32 %t6321 store ptr @.str7454, ptr %t6334 %t6335 = add i32 %t6321, 1 store i32 %t6335, ptr %t6318 br label %ifend1267 ifend1267: %t6336 = load ptr, ptr %t1 %t6337 = call i32 @lp_str_eq(ptr %t6336, ptr @.str7455) %t6338 = icmp ne i32 %t6337, 0 br i1 %t6338, label %then1274, label %ifend1276 then1274: store ptr @.str7456, ptr %t403 %t6339 = load ptr, ptr %t410 %t6340 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 1 %t6341 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 2 %t6342 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 0 %t6343 = load i32, ptr %t6340 %t6344 = load i32, ptr %t6341 %t6345 = icmp sge i32 %t6343, %t6344 br i1 %t6345, label %grow1277, label %put1278 grow1277: %t6346 = mul i32 %t6344, 2 %t6347 = icmp eq i32 %t6344, 0 %t6348 = select i1 %t6347, i32 8, i32 %t6346 %t6349 = getelementptr ptr, ptr null, i32 1 %t6350 = ptrtoint ptr %t6349 to i64 %t6351 = zext i32 %t6348 to i64 %t6352 = mul i64 %t6351, %t6350 %t6353 = load ptr, ptr %t6342 %t6354 = call ptr @realloc(ptr %t6353, i64 %t6352) store ptr %t6354, ptr %t6342 store i32 %t6348, ptr %t6341 br label %put1278 put1278: %t6355 = load ptr, ptr %t6342 %t6356 = getelementptr inbounds ptr, ptr %t6355, i32 %t6343 store ptr @.str7457, ptr %t6356 %t6357 = add i32 %t6343, 1 store i32 %t6357, ptr %t6340 %t6358 = load ptr, ptr %t410 %t6359 = getelementptr inbounds %LSlice, ptr %t6358, i32 0, i32 1 %t6360 = getelementptr inbounds %LSlice, ptr %t6358, i32 0, i32 2 %t6361 = getelementptr inbounds %LSlice, ptr %t6358, i32 0, i32 0 %t6362 = load i32, ptr %t6359 %t6363 = load i32, ptr %t6360 %t6364 = icmp sge i32 %t6362, %t6363 br i1 %t6364, label %grow1279, label %put1280 grow1279: %t6365 = mul i32 %t6363, 2 %t6366 = icmp eq i32 %t6363, 0 %t6367 = select i1 %t6366, i32 8, i32 %t6365 %t6368 = getelementptr ptr, ptr null, i32 1 %t6369 = ptrtoint ptr %t6368 to i64 %t6370 = zext i32 %t6367 to i64 %t6371 = mul i64 %t6370, %t6369 %t6372 = load ptr, ptr %t6361 %t6373 = call ptr @realloc(ptr %t6372, i64 %t6371) store ptr %t6373, ptr %t6361 store i32 %t6367, ptr %t6360 br label %put1280 put1280: %t6374 = load ptr, ptr %t6361 %t6375 = getelementptr inbounds ptr, ptr %t6374, i32 %t6362 store ptr @.str7458, ptr %t6375 %t6376 = add i32 %t6362, 1 store i32 %t6376, ptr %t6359 br label %ifend1276 ifend1276: %t6377 = load ptr, ptr %t1 %t6378 = call i32 @lp_str_eq(ptr %t6377, ptr @.str7459) %t6379 = icmp ne i32 %t6378, 0 br i1 %t6379, label %then1281, label %ifend1283 then1281: store ptr @.str7460, ptr %t403 %t6380 = load ptr, ptr %t410 %t6381 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 1 %t6382 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 2 %t6383 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 0 %t6384 = load i32, ptr %t6381 %t6385 = load i32, ptr %t6382 %t6386 = icmp sge i32 %t6384, %t6385 br i1 %t6386, label %grow1284, label %put1285 grow1284: %t6387 = mul i32 %t6385, 2 %t6388 = icmp eq i32 %t6385, 0 %t6389 = select i1 %t6388, i32 8, i32 %t6387 %t6390 = getelementptr ptr, ptr null, i32 1 %t6391 = ptrtoint ptr %t6390 to i64 %t6392 = zext i32 %t6389 to i64 %t6393 = mul i64 %t6392, %t6391 %t6394 = load ptr, ptr %t6383 %t6395 = call ptr @realloc(ptr %t6394, i64 %t6393) store ptr %t6395, ptr %t6383 store i32 %t6389, ptr %t6382 br label %put1285 put1285: %t6396 = load ptr, ptr %t6383 %t6397 = getelementptr inbounds ptr, ptr %t6396, i32 %t6384 store ptr @.str7461, ptr %t6397 %t6398 = add i32 %t6384, 1 store i32 %t6398, ptr %t6381 %t6399 = load ptr, ptr %t410 %t6400 = getelementptr inbounds %LSlice, ptr %t6399, i32 0, i32 1 %t6401 = getelementptr inbounds %LSlice, ptr %t6399, i32 0, i32 2 %t6402 = getelementptr inbounds %LSlice, ptr %t6399, i32 0, i32 0 %t6403 = load i32, ptr %t6400 %t6404 = load i32, ptr %t6401 %t6405 = icmp sge i32 %t6403, %t6404 br i1 %t6405, label %grow1286, label %put1287 grow1286: %t6406 = mul i32 %t6404, 2 %t6407 = icmp eq i32 %t6404, 0 %t6408 = select i1 %t6407, i32 8, i32 %t6406 %t6409 = getelementptr ptr, ptr null, i32 1 %t6410 = ptrtoint ptr %t6409 to i64 %t6411 = zext i32 %t6408 to i64 %t6412 = mul i64 %t6411, %t6410 %t6413 = load ptr, ptr %t6402 %t6414 = call ptr @realloc(ptr %t6413, i64 %t6412) store ptr %t6414, ptr %t6402 store i32 %t6408, ptr %t6401 br label %put1287 put1287: %t6415 = load ptr, ptr %t6402 %t6416 = getelementptr inbounds ptr, ptr %t6415, i32 %t6403 store ptr @.str7462, ptr %t6416 %t6417 = add i32 %t6403, 1 store i32 %t6417, ptr %t6400 %t6418 = load ptr, ptr %t410 %t6419 = getelementptr inbounds %LSlice, ptr %t6418, i32 0, i32 1 %t6420 = getelementptr inbounds %LSlice, ptr %t6418, i32 0, i32 2 %t6421 = getelementptr inbounds %LSlice, ptr %t6418, i32 0, i32 0 %t6422 = load i32, ptr %t6419 %t6423 = load i32, ptr %t6420 %t6424 = icmp sge i32 %t6422, %t6423 br i1 %t6424, label %grow1288, label %put1289 grow1288: %t6425 = mul i32 %t6423, 2 %t6426 = icmp eq i32 %t6423, 0 %t6427 = select i1 %t6426, i32 8, i32 %t6425 %t6428 = getelementptr ptr, ptr null, i32 1 %t6429 = ptrtoint ptr %t6428 to i64 %t6430 = zext i32 %t6427 to i64 %t6431 = mul i64 %t6430, %t6429 %t6432 = load ptr, ptr %t6421 %t6433 = call ptr @realloc(ptr %t6432, i64 %t6431) store ptr %t6433, ptr %t6421 store i32 %t6427, ptr %t6420 br label %put1289 put1289: %t6434 = load ptr, ptr %t6421 %t6435 = getelementptr inbounds ptr, ptr %t6434, i32 %t6422 store ptr @.str7463, ptr %t6435 %t6436 = add i32 %t6422, 1 store i32 %t6436, ptr %t6419 br label %ifend1283 ifend1283: %t6437 = load ptr, ptr %t1 %t6438 = call i32 @lp_str_eq(ptr %t6437, ptr @.str7464) %t6439 = icmp ne i32 %t6438, 0 br i1 %t6439, label %then1290, label %ifend1292 then1290: store ptr @.str7465, ptr %t403 %t6440 = load ptr, ptr %t410 %t6441 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 1 %t6442 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 2 %t6443 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 0 %t6444 = load i32, ptr %t6441 %t6445 = load i32, ptr %t6442 %t6446 = icmp sge i32 %t6444, %t6445 br i1 %t6446, label %grow1293, label %put1294 grow1293: %t6447 = mul i32 %t6445, 2 %t6448 = icmp eq i32 %t6445, 0 %t6449 = select i1 %t6448, i32 8, i32 %t6447 %t6450 = getelementptr ptr, ptr null, i32 1 %t6451 = ptrtoint ptr %t6450 to i64 %t6452 = zext i32 %t6449 to i64 %t6453 = mul i64 %t6452, %t6451 %t6454 = load ptr, ptr %t6443 %t6455 = call ptr @realloc(ptr %t6454, i64 %t6453) store ptr %t6455, ptr %t6443 store i32 %t6449, ptr %t6442 br label %put1294 put1294: %t6456 = load ptr, ptr %t6443 %t6457 = getelementptr inbounds ptr, ptr %t6456, i32 %t6444 store ptr @.str7466, ptr %t6457 %t6458 = add i32 %t6444, 1 store i32 %t6458, ptr %t6441 br label %ifend1292 ifend1292: %t6459 = load ptr, ptr %t1 %t6460 = call i32 @lp_str_eq(ptr %t6459, ptr @.str7467) %t6461 = icmp ne i32 %t6460, 0 br i1 %t6461, label %then1295, label %ifend1297 then1295: store ptr @.str7468, ptr %t403 %t6462 = load ptr, ptr %t410 %t6463 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 1 %t6464 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 2 %t6465 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 0 %t6466 = load i32, ptr %t6463 %t6467 = load i32, ptr %t6464 %t6468 = icmp sge i32 %t6466, %t6467 br i1 %t6468, label %grow1298, label %put1299 grow1298: %t6469 = mul i32 %t6467, 2 %t6470 = icmp eq i32 %t6467, 0 %t6471 = select i1 %t6470, i32 8, i32 %t6469 %t6472 = getelementptr ptr, ptr null, i32 1 %t6473 = ptrtoint ptr %t6472 to i64 %t6474 = zext i32 %t6471 to i64 %t6475 = mul i64 %t6474, %t6473 %t6476 = load ptr, ptr %t6465 %t6477 = call ptr @realloc(ptr %t6476, i64 %t6475) store ptr %t6477, ptr %t6465 store i32 %t6471, ptr %t6464 br label %put1299 put1299: %t6478 = load ptr, ptr %t6465 %t6479 = getelementptr inbounds ptr, ptr %t6478, i32 %t6466 store ptr @.str7469, ptr %t6479 %t6480 = add i32 %t6466, 1 store i32 %t6480, ptr %t6463 br label %ifend1297 ifend1297: %t6481 = load ptr, ptr %t1 %t6482 = call i32 @lp_str_eq(ptr %t6481, ptr @.str7470) %t6483 = icmp ne i32 %t6482, 0 br i1 %t6483, label %then1300, label %ifend1302 then1300: store ptr @.str7471, ptr %t403 %t6484 = load ptr, ptr %t410 %t6485 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 1 %t6486 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 2 %t6487 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 0 %t6488 = load i32, ptr %t6485 %t6489 = load i32, ptr %t6486 %t6490 = icmp sge i32 %t6488, %t6489 br i1 %t6490, label %grow1303, label %put1304 grow1303: %t6491 = mul i32 %t6489, 2 %t6492 = icmp eq i32 %t6489, 0 %t6493 = select i1 %t6492, i32 8, i32 %t6491 %t6494 = getelementptr ptr, ptr null, i32 1 %t6495 = ptrtoint ptr %t6494 to i64 %t6496 = zext i32 %t6493 to i64 %t6497 = mul i64 %t6496, %t6495 %t6498 = load ptr, ptr %t6487 %t6499 = call ptr @realloc(ptr %t6498, i64 %t6497) store ptr %t6499, ptr %t6487 store i32 %t6493, ptr %t6486 br label %put1304 put1304: %t6500 = load ptr, ptr %t6487 %t6501 = getelementptr inbounds ptr, ptr %t6500, i32 %t6488 store ptr @.str7472, ptr %t6501 %t6502 = add i32 %t6488, 1 store i32 %t6502, ptr %t6485 br label %ifend1302 ifend1302: %t6503 = load ptr, ptr %t1 %t6504 = call i32 @lp_str_eq(ptr %t6503, ptr @.str7473) %t6505 = icmp ne i32 %t6504, 0 br i1 %t6505, label %then1305, label %ifend1307 then1305: store ptr @.str7474, ptr %t403 %t6506 = load ptr, ptr %t410 %t6507 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 1 %t6508 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 2 %t6509 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 0 %t6510 = load i32, ptr %t6507 %t6511 = load i32, ptr %t6508 %t6512 = icmp sge i32 %t6510, %t6511 br i1 %t6512, label %grow1308, label %put1309 grow1308: %t6513 = mul i32 %t6511, 2 %t6514 = icmp eq i32 %t6511, 0 %t6515 = select i1 %t6514, i32 8, i32 %t6513 %t6516 = getelementptr ptr, ptr null, i32 1 %t6517 = ptrtoint ptr %t6516 to i64 %t6518 = zext i32 %t6515 to i64 %t6519 = mul i64 %t6518, %t6517 %t6520 = load ptr, ptr %t6509 %t6521 = call ptr @realloc(ptr %t6520, i64 %t6519) store ptr %t6521, ptr %t6509 store i32 %t6515, ptr %t6508 br label %put1309 put1309: %t6522 = load ptr, ptr %t6509 %t6523 = getelementptr inbounds ptr, ptr %t6522, i32 %t6510 store ptr @.str7475, ptr %t6523 %t6524 = add i32 %t6510, 1 store i32 %t6524, ptr %t6507 br label %ifend1307 ifend1307: %t6525 = load ptr, ptr %t1 %t6526 = call i32 @lp_str_eq(ptr %t6525, ptr @.str7476) %t6527 = icmp ne i32 %t6526, 0 br i1 %t6527, label %then1310, label %ifend1312 then1310: store ptr @.str7477, ptr %t403 %t6528 = load ptr, ptr %t410 %t6529 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 1 %t6530 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 2 %t6531 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 0 %t6532 = load i32, ptr %t6529 %t6533 = load i32, ptr %t6530 %t6534 = icmp sge i32 %t6532, %t6533 br i1 %t6534, label %grow1313, label %put1314 grow1313: %t6535 = mul i32 %t6533, 2 %t6536 = icmp eq i32 %t6533, 0 %t6537 = select i1 %t6536, i32 8, i32 %t6535 %t6538 = getelementptr ptr, ptr null, i32 1 %t6539 = ptrtoint ptr %t6538 to i64 %t6540 = zext i32 %t6537 to i64 %t6541 = mul i64 %t6540, %t6539 %t6542 = load ptr, ptr %t6531 %t6543 = call ptr @realloc(ptr %t6542, i64 %t6541) store ptr %t6543, ptr %t6531 store i32 %t6537, ptr %t6530 br label %put1314 put1314: %t6544 = load ptr, ptr %t6531 %t6545 = getelementptr inbounds ptr, ptr %t6544, i32 %t6532 store ptr @.str7478, ptr %t6545 %t6546 = add i32 %t6532, 1 store i32 %t6546, ptr %t6529 br label %ifend1312 ifend1312: %t6547 = load ptr, ptr %t1 %t6548 = call i32 @lp_str_eq(ptr %t6547, ptr @.str7479) %t6549 = icmp ne i32 %t6548, 0 br i1 %t6549, label %then1315, label %ifend1317 then1315: store ptr @.str7480, ptr %t403 %t6550 = load ptr, ptr %t410 %t6551 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 1 %t6552 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 2 %t6553 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 0 %t6554 = load i32, ptr %t6551 %t6555 = load i32, ptr %t6552 %t6556 = icmp sge i32 %t6554, %t6555 br i1 %t6556, label %grow1318, label %put1319 grow1318: %t6557 = mul i32 %t6555, 2 %t6558 = icmp eq i32 %t6555, 0 %t6559 = select i1 %t6558, i32 8, i32 %t6557 %t6560 = getelementptr ptr, ptr null, i32 1 %t6561 = ptrtoint ptr %t6560 to i64 %t6562 = zext i32 %t6559 to i64 %t6563 = mul i64 %t6562, %t6561 %t6564 = load ptr, ptr %t6553 %t6565 = call ptr @realloc(ptr %t6564, i64 %t6563) store ptr %t6565, ptr %t6553 store i32 %t6559, ptr %t6552 br label %put1319 put1319: %t6566 = load ptr, ptr %t6553 %t6567 = getelementptr inbounds ptr, ptr %t6566, i32 %t6554 store ptr @.str7481, ptr %t6567 %t6568 = add i32 %t6554, 1 store i32 %t6568, ptr %t6551 br label %ifend1317 ifend1317: %t6569 = load ptr, ptr %t1 %t6570 = call i32 @lp_str_eq(ptr %t6569, ptr @.str7482) %t6571 = icmp ne i32 %t6570, 0 br i1 %t6571, label %then1320, label %ifend1322 then1320: store ptr @.str7483, ptr %t403 %t6572 = load ptr, ptr %t410 %t6573 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 1 %t6574 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 2 %t6575 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 0 %t6576 = load i32, ptr %t6573 %t6577 = load i32, ptr %t6574 %t6578 = icmp sge i32 %t6576, %t6577 br i1 %t6578, label %grow1323, label %put1324 grow1323: %t6579 = mul i32 %t6577, 2 %t6580 = icmp eq i32 %t6577, 0 %t6581 = select i1 %t6580, i32 8, i32 %t6579 %t6582 = getelementptr ptr, ptr null, i32 1 %t6583 = ptrtoint ptr %t6582 to i64 %t6584 = zext i32 %t6581 to i64 %t6585 = mul i64 %t6584, %t6583 %t6586 = load ptr, ptr %t6575 %t6587 = call ptr @realloc(ptr %t6586, i64 %t6585) store ptr %t6587, ptr %t6575 store i32 %t6581, ptr %t6574 br label %put1324 put1324: %t6588 = load ptr, ptr %t6575 %t6589 = getelementptr inbounds ptr, ptr %t6588, i32 %t6576 store ptr @.str7484, ptr %t6589 %t6590 = add i32 %t6576, 1 store i32 %t6590, ptr %t6573 %t6591 = load ptr, ptr %t410 %t6592 = getelementptr inbounds %LSlice, ptr %t6591, i32 0, i32 1 %t6593 = getelementptr inbounds %LSlice, ptr %t6591, i32 0, i32 2 %t6594 = getelementptr inbounds %LSlice, ptr %t6591, i32 0, i32 0 %t6595 = load i32, ptr %t6592 %t6596 = load i32, ptr %t6593 %t6597 = icmp sge i32 %t6595, %t6596 br i1 %t6597, label %grow1325, label %put1326 grow1325: %t6598 = mul i32 %t6596, 2 %t6599 = icmp eq i32 %t6596, 0 %t6600 = select i1 %t6599, i32 8, i32 %t6598 %t6601 = getelementptr ptr, ptr null, i32 1 %t6602 = ptrtoint ptr %t6601 to i64 %t6603 = zext i32 %t6600 to i64 %t6604 = mul i64 %t6603, %t6602 %t6605 = load ptr, ptr %t6594 %t6606 = call ptr @realloc(ptr %t6605, i64 %t6604) store ptr %t6606, ptr %t6594 store i32 %t6600, ptr %t6593 br label %put1326 put1326: %t6607 = load ptr, ptr %t6594 %t6608 = getelementptr inbounds ptr, ptr %t6607, i32 %t6595 store ptr @.str7485, ptr %t6608 %t6609 = add i32 %t6595, 1 store i32 %t6609, ptr %t6592 br label %ifend1322 ifend1322: %t6610 = load ptr, ptr %t1 %t6611 = call i32 @lp_str_eq(ptr %t6610, ptr @.str7486) %t6612 = icmp ne i32 %t6611, 0 br i1 %t6612, label %then1327, label %ifend1329 then1327: store ptr @.str7487, ptr %t403 %t6613 = load ptr, ptr %t410 %t6614 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 1 %t6615 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 2 %t6616 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 0 %t6617 = load i32, ptr %t6614 %t6618 = load i32, ptr %t6615 %t6619 = icmp sge i32 %t6617, %t6618 br i1 %t6619, label %grow1330, label %put1331 grow1330: %t6620 = mul i32 %t6618, 2 %t6621 = icmp eq i32 %t6618, 0 %t6622 = select i1 %t6621, i32 8, i32 %t6620 %t6623 = getelementptr ptr, ptr null, i32 1 %t6624 = ptrtoint ptr %t6623 to i64 %t6625 = zext i32 %t6622 to i64 %t6626 = mul i64 %t6625, %t6624 %t6627 = load ptr, ptr %t6616 %t6628 = call ptr @realloc(ptr %t6627, i64 %t6626) store ptr %t6628, ptr %t6616 store i32 %t6622, ptr %t6615 br label %put1331 put1331: %t6629 = load ptr, ptr %t6616 %t6630 = getelementptr inbounds ptr, ptr %t6629, i32 %t6617 store ptr @.str7488, ptr %t6630 %t6631 = add i32 %t6617, 1 store i32 %t6631, ptr %t6614 br label %ifend1329 ifend1329: %t6632 = load ptr, ptr %t1 %t6633 = call i32 @lp_str_eq(ptr %t6632, ptr @.str7489) %t6634 = icmp ne i32 %t6633, 0 br i1 %t6634, label %then1332, label %ifend1334 then1332: store ptr @.str7490, ptr %t403 %t6635 = load ptr, ptr %t410 %t6636 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 1 %t6637 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 2 %t6638 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 0 %t6639 = load i32, ptr %t6636 %t6640 = load i32, ptr %t6637 %t6641 = icmp sge i32 %t6639, %t6640 br i1 %t6641, label %grow1335, label %put1336 grow1335: %t6642 = mul i32 %t6640, 2 %t6643 = icmp eq i32 %t6640, 0 %t6644 = select i1 %t6643, i32 8, i32 %t6642 %t6645 = getelementptr ptr, ptr null, i32 1 %t6646 = ptrtoint ptr %t6645 to i64 %t6647 = zext i32 %t6644 to i64 %t6648 = mul i64 %t6647, %t6646 %t6649 = load ptr, ptr %t6638 %t6650 = call ptr @realloc(ptr %t6649, i64 %t6648) store ptr %t6650, ptr %t6638 store i32 %t6644, ptr %t6637 br label %put1336 put1336: %t6651 = load ptr, ptr %t6638 %t6652 = getelementptr inbounds ptr, ptr %t6651, i32 %t6639 store ptr @.str7491, ptr %t6652 %t6653 = add i32 %t6639, 1 store i32 %t6653, ptr %t6636 %t6654 = load ptr, ptr %t410 %t6655 = getelementptr inbounds %LSlice, ptr %t6654, i32 0, i32 1 %t6656 = getelementptr inbounds %LSlice, ptr %t6654, i32 0, i32 2 %t6657 = getelementptr inbounds %LSlice, ptr %t6654, i32 0, i32 0 %t6658 = load i32, ptr %t6655 %t6659 = load i32, ptr %t6656 %t6660 = icmp sge i32 %t6658, %t6659 br i1 %t6660, label %grow1337, label %put1338 grow1337: %t6661 = mul i32 %t6659, 2 %t6662 = icmp eq i32 %t6659, 0 %t6663 = select i1 %t6662, i32 8, i32 %t6661 %t6664 = getelementptr ptr, ptr null, i32 1 %t6665 = ptrtoint ptr %t6664 to i64 %t6666 = zext i32 %t6663 to i64 %t6667 = mul i64 %t6666, %t6665 %t6668 = load ptr, ptr %t6657 %t6669 = call ptr @realloc(ptr %t6668, i64 %t6667) store ptr %t6669, ptr %t6657 store i32 %t6663, ptr %t6656 br label %put1338 put1338: %t6670 = load ptr, ptr %t6657 %t6671 = getelementptr inbounds ptr, ptr %t6670, i32 %t6658 store ptr @.str7492, ptr %t6671 %t6672 = add i32 %t6658, 1 store i32 %t6672, ptr %t6655 br label %ifend1334 ifend1334: br label %ifend1236 ifend1236: %t6673 = load ptr, ptr %t0 %t6674 = call i32 @lp_str_eq(ptr %t6673, ptr @.str7493) %t6675 = icmp ne i32 %t6674, 0 br i1 %t6675, label %then1339, label %ifend1341 then1339: %t6676 = load ptr, ptr %t1 %t6677 = call i32 @lp_str_eq(ptr %t6676, ptr @.str7494) %t6678 = icmp ne i32 %t6677, 0 br i1 %t6678, label %then1342, label %ifend1344 then1342: store ptr @.str7495, ptr %t403 br label %ifend1344 ifend1344: %t6679 = load ptr, ptr %t1 %t6680 = call i32 @lp_str_eq(ptr %t6679, ptr @.str7496) %t6681 = icmp ne i32 %t6680, 0 br i1 %t6681, label %then1345, label %ifend1347 then1345: store ptr @.str7497, ptr %t403 br label %ifend1347 ifend1347: %t6682 = load ptr, ptr %t1 %t6683 = call i32 @lp_str_eq(ptr %t6682, ptr @.str7498) %t6684 = icmp ne i32 %t6683, 0 br i1 %t6684, label %then1348, label %ifend1350 then1348: store ptr @.str7499, ptr %t403 br label %ifend1350 ifend1350: %t6685 = load ptr, ptr %t1 %t6686 = call i32 @lp_str_eq(ptr %t6685, ptr @.str7500) %t6687 = icmp ne i32 %t6686, 0 br i1 %t6687, label %then1351, label %ifend1353 then1351: store ptr @.str7501, ptr %t403 br label %ifend1353 ifend1353: %t6688 = load ptr, ptr %t1 %t6689 = call i32 @lp_str_eq(ptr %t6688, ptr @.str7502) %t6690 = icmp ne i32 %t6689, 0 br i1 %t6690, label %then1354, label %ifend1356 then1354: store ptr @.str7503, ptr %t403 br label %ifend1356 ifend1356: %t6691 = load ptr, ptr %t1 %t6692 = call i32 @lp_str_eq(ptr %t6691, ptr @.str7504) %t6693 = icmp ne i32 %t6692, 0 br i1 %t6693, label %then1357, label %ifend1359 then1357: store ptr @.str7505, ptr %t403 br label %ifend1359 ifend1359: %t6694 = load ptr, ptr %t1 %t6695 = call i32 @lp_str_eq(ptr %t6694, ptr @.str7506) %t6696 = icmp ne i32 %t6695, 0 br i1 %t6696, label %then1360, label %ifend1362 then1360: store ptr @.str7507, ptr %t403 br label %ifend1362 ifend1362: %t6697 = load ptr, ptr %t1 %t6698 = call i32 @lp_str_eq(ptr %t6697, ptr @.str7508) %t6699 = icmp ne i32 %t6698, 0 br i1 %t6699, label %then1363, label %ifend1365 then1363: store ptr @.str7509, ptr %t403 br label %ifend1365 ifend1365: %t6700 = load ptr, ptr %t1 %t6701 = call i32 @lp_str_eq(ptr %t6700, ptr @.str7510) %t6702 = icmp ne i32 %t6701, 0 br i1 %t6702, label %then1366, label %ifend1368 then1366: store ptr @.str7511, ptr %t403 br label %ifend1368 ifend1368: %t6703 = load ptr, ptr %t1 %t6704 = call i32 @lp_str_eq(ptr %t6703, ptr @.str7512) %t6705 = icmp ne i32 %t6704, 0 br i1 %t6705, label %then1369, label %ifend1371 then1369: store ptr @.str7513, ptr %t403 br label %ifend1371 ifend1371: %t6706 = load ptr, ptr %t1 %t6707 = call i32 @lp_str_eq(ptr %t6706, ptr @.str7514) %t6708 = icmp ne i32 %t6707, 0 br i1 %t6708, label %then1372, label %ifend1374 then1372: store ptr @.str7515, ptr %t403 br label %ifend1374 ifend1374: %t6709 = load ptr, ptr %t1 %t6710 = call i32 @lp_str_eq(ptr %t6709, ptr @.str7516) %t6711 = icmp ne i32 %t6710, 0 br i1 %t6711, label %then1375, label %ifend1377 then1375: store ptr @.str7517, ptr %t403 br label %ifend1377 ifend1377: %t6712 = load ptr, ptr %t1 %t6713 = call i32 @lp_str_eq(ptr %t6712, ptr @.str7518) %t6714 = icmp ne i32 %t6713, 0 br i1 %t6714, label %then1378, label %ifend1380 then1378: store ptr @.str7519, ptr %t403 br label %ifend1380 ifend1380: %t6715 = load ptr, ptr %t1 %t6716 = call i32 @lp_str_eq(ptr %t6715, ptr @.str7520) %t6717 = icmp ne i32 %t6716, 0 br i1 %t6717, label %then1381, label %ifend1383 then1381: store ptr @.str7521, ptr %t403 br label %ifend1383 ifend1383: %t6718 = load ptr, ptr %t1 %t6719 = call i32 @lp_str_eq(ptr %t6718, ptr @.str7522) %t6720 = icmp ne i32 %t6719, 0 br i1 %t6720, label %then1384, label %ifend1386 then1384: store ptr @.str7523, ptr %t403 br label %ifend1386 ifend1386: %t6721 = load ptr, ptr %t1 %t6722 = call i32 @lp_str_eq(ptr %t6721, ptr @.str7524) %t6723 = icmp ne i32 %t6722, 0 br i1 %t6723, label %then1387, label %ifend1389 then1387: store ptr @.str7525, ptr %t403 br label %ifend1389 ifend1389: %t6724 = load ptr, ptr %t1 %t6725 = call i32 @lp_str_eq(ptr %t6724, ptr @.str7526) %t6726 = icmp ne i32 %t6725, 0 br i1 %t6726, label %then1390, label %ifend1392 then1390: store ptr @.str7527, ptr %t403 br label %ifend1392 ifend1392: br label %ifend1341 ifend1341: %t6727 = load ptr, ptr %t0 %t6728 = call i32 @lp_str_eq(ptr %t6727, ptr @.str7528) %t6729 = icmp ne i32 %t6728, 0 br i1 %t6729, label %then1393, label %ifend1395 then1393: %t6730 = load ptr, ptr %t1 %t6731 = call i32 @lp_str_eq(ptr %t6730, ptr @.str7529) %t6732 = icmp ne i32 %t6731, 0 br i1 %t6732, label %then1396, label %ifend1398 then1396: store ptr @.str7530, ptr %t403 br label %ifend1398 ifend1398: %t6733 = load ptr, ptr %t1 %t6734 = call i32 @lp_str_eq(ptr %t6733, ptr @.str7531) %t6735 = icmp ne i32 %t6734, 0 br i1 %t6735, label %then1399, label %ifend1401 then1399: store ptr @.str7532, ptr %t403 br label %ifend1401 ifend1401: %t6736 = load ptr, ptr %t1 %t6737 = call i32 @lp_str_eq(ptr %t6736, ptr @.str7533) %t6738 = icmp ne i32 %t6737, 0 br i1 %t6738, label %then1402, label %ifend1404 then1402: store ptr @.str7534, ptr %t403 br label %ifend1404 ifend1404: %t6739 = load ptr, ptr %t1 %t6740 = call i32 @lp_str_eq(ptr %t6739, ptr @.str7535) %t6741 = icmp ne i32 %t6740, 0 br i1 %t6741, label %then1405, label %ifend1407 then1405: store ptr @.str7536, ptr %t403 br label %ifend1407 ifend1407: %t6742 = load ptr, ptr %t1 %t6743 = call i32 @lp_str_eq(ptr %t6742, ptr @.str7537) %t6744 = icmp ne i32 %t6743, 0 br i1 %t6744, label %then1408, label %ifend1410 then1408: store ptr @.str7538, ptr %t403 br label %ifend1410 ifend1410: %t6745 = load ptr, ptr %t1 %t6746 = call i32 @lp_str_eq(ptr %t6745, ptr @.str7539) %t6747 = icmp ne i32 %t6746, 0 br i1 %t6747, label %then1411, label %ifend1413 then1411: store ptr @.str7540, ptr %t403 br label %ifend1413 ifend1413: %t6748 = load ptr, ptr %t1 %t6749 = call i32 @lp_str_eq(ptr %t6748, ptr @.str7541) %t6750 = icmp ne i32 %t6749, 0 br i1 %t6750, label %then1414, label %ifend1416 then1414: store ptr @.str7542, ptr %t403 br label %ifend1416 ifend1416: %t6751 = load ptr, ptr %t1 %t6752 = call i32 @lp_str_eq(ptr %t6751, ptr @.str7543) %t6753 = icmp ne i32 %t6752, 0 br i1 %t6753, label %then1417, label %ifend1419 then1417: store ptr @.str7544, ptr %t403 br label %ifend1419 ifend1419: %t6754 = load ptr, ptr %t1 %t6755 = call i32 @lp_str_eq(ptr %t6754, ptr @.str7545) %t6756 = icmp ne i32 %t6755, 0 br i1 %t6756, label %then1420, label %ifend1422 then1420: store ptr @.str7546, ptr %t403 br label %ifend1422 ifend1422: br label %ifend1395 ifend1395: %t6757 = load ptr, ptr %t0 %t6758 = call i32 @lp_str_eq(ptr %t6757, ptr @.str7547) %t6759 = icmp ne i32 %t6758, 0 br i1 %t6759, label %then1423, label %ifend1425 then1423: %t6760 = load ptr, ptr %t1 %t6761 = call i32 @lp_str_eq(ptr %t6760, ptr @.str7548) %t6762 = icmp ne i32 %t6761, 0 br i1 %t6762, label %then1426, label %ifend1428 then1426: store ptr @.str7549, ptr %t403 br label %ifend1428 ifend1428: %t6763 = load ptr, ptr %t1 %t6764 = call i32 @lp_str_eq(ptr %t6763, ptr @.str7550) %t6765 = icmp ne i32 %t6764, 0 br i1 %t6765, label %then1429, label %ifend1431 then1429: store ptr @.str7551, ptr %t403 br label %ifend1431 ifend1431: %t6766 = load ptr, ptr %t1 %t6767 = call i32 @lp_str_eq(ptr %t6766, ptr @.str7552) %t6768 = icmp ne i32 %t6767, 0 br i1 %t6768, label %then1432, label %ifend1434 then1432: store ptr @.str7553, ptr %t403 br label %ifend1434 ifend1434: %t6769 = load ptr, ptr %t1 %t6770 = call i32 @lp_str_eq(ptr %t6769, ptr @.str7554) %t6771 = icmp ne i32 %t6770, 0 br i1 %t6771, label %then1435, label %ifend1437 then1435: store ptr @.str7555, ptr %t403 br label %ifend1437 ifend1437: %t6772 = load ptr, ptr %t1 %t6773 = call i32 @lp_str_eq(ptr %t6772, ptr @.str7556) %t6774 = icmp ne i32 %t6773, 0 br i1 %t6774, label %then1438, label %ifend1440 then1438: store ptr @.str7557, ptr %t403 br label %ifend1440 ifend1440: %t6775 = load ptr, ptr %t1 %t6776 = call i32 @lp_str_eq(ptr %t6775, ptr @.str7558) %t6777 = icmp ne i32 %t6776, 0 br i1 %t6777, label %then1441, label %ifend1443 then1441: store ptr @.str7559, ptr %t403 br label %ifend1443 ifend1443: %t6778 = load ptr, ptr %t1 %t6779 = call i32 @lp_str_eq(ptr %t6778, ptr @.str7560) %t6780 = icmp ne i32 %t6779, 0 br i1 %t6780, label %then1444, label %ifend1446 then1444: store ptr @.str7561, ptr %t403 br label %ifend1446 ifend1446: %t6781 = load ptr, ptr %t1 %t6782 = call i32 @lp_str_eq(ptr %t6781, ptr @.str7562) %t6783 = icmp ne i32 %t6782, 0 br i1 %t6783, label %then1447, label %ifend1449 then1447: store ptr @.str7563, ptr %t403 br label %ifend1449 ifend1449: br label %ifend1425 ifend1425: %t6784 = load ptr, ptr %t0 %t6785 = call i32 @lp_str_eq(ptr %t6784, ptr @.str7564) %t6786 = icmp ne i32 %t6785, 0 br i1 %t6786, label %then1450, label %ifend1452 then1450: %t6787 = load ptr, ptr %t1 %t6788 = call i32 @lp_str_eq(ptr %t6787, ptr @.str7565) %t6789 = icmp ne i32 %t6788, 0 br i1 %t6789, label %then1453, label %ifend1455 then1453: store ptr @.str7566, ptr %t403 br label %ifend1455 ifend1455: %t6790 = load ptr, ptr %t1 %t6791 = call i32 @lp_str_eq(ptr %t6790, ptr @.str7567) %t6792 = icmp ne i32 %t6791, 0 br i1 %t6792, label %then1456, label %ifend1458 then1456: store ptr @.str7568, ptr %t403 br label %ifend1458 ifend1458: br label %ifend1452 ifend1452: %t6793 = load ptr, ptr %t0 %t6794 = call i32 @lp_str_eq(ptr %t6793, ptr @.str7569) %t6795 = icmp ne i32 %t6794, 0 br i1 %t6795, label %then1459, label %ifend1461 then1459: %t6796 = load ptr, ptr %t1 %t6797 = call i32 @lp_str_eq(ptr %t6796, ptr @.str7570) %t6798 = icmp ne i32 %t6797, 0 br i1 %t6798, label %then1462, label %ifend1464 then1462: store ptr @.str7571, ptr %t403 %t6799 = load ptr, ptr %t410 %t6800 = getelementptr inbounds %LSlice, ptr %t6799, i32 0, i32 1 %t6801 = getelementptr inbounds %LSlice, ptr %t6799, i32 0, i32 2 %t6802 = getelementptr inbounds %LSlice, ptr %t6799, i32 0, i32 0 %t6803 = load i32, ptr %t6800 %t6804 = load i32, ptr %t6801 %t6805 = icmp sge i32 %t6803, %t6804 br i1 %t6805, label %grow1465, label %put1466 grow1465: %t6806 = mul i32 %t6804, 2 %t6807 = icmp eq i32 %t6804, 0 %t6808 = select i1 %t6807, i32 8, i32 %t6806 %t6809 = getelementptr ptr, ptr null, i32 1 %t6810 = ptrtoint ptr %t6809 to i64 %t6811 = zext i32 %t6808 to i64 %t6812 = mul i64 %t6811, %t6810 %t6813 = load ptr, ptr %t6802 %t6814 = call ptr @realloc(ptr %t6813, i64 %t6812) store ptr %t6814, ptr %t6802 store i32 %t6808, ptr %t6801 br label %put1466 put1466: %t6815 = load ptr, ptr %t6802 %t6816 = getelementptr inbounds ptr, ptr %t6815, i32 %t6803 store ptr @.str7572, ptr %t6816 %t6817 = add i32 %t6803, 1 store i32 %t6817, ptr %t6800 br label %ifend1464 ifend1464: %t6818 = load ptr, ptr %t1 %t6819 = call i32 @lp_str_eq(ptr %t6818, ptr @.str7573) %t6820 = icmp ne i32 %t6819, 0 br i1 %t6820, label %then1467, label %ifend1469 then1467: store ptr @.str7574, ptr %t403 %t6821 = load ptr, ptr %t410 %t6822 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 1 %t6823 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 2 %t6824 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 0 %t6825 = load i32, ptr %t6822 %t6826 = load i32, ptr %t6823 %t6827 = icmp sge i32 %t6825, %t6826 br i1 %t6827, label %grow1470, label %put1471 grow1470: %t6828 = mul i32 %t6826, 2 %t6829 = icmp eq i32 %t6826, 0 %t6830 = select i1 %t6829, i32 8, i32 %t6828 %t6831 = getelementptr ptr, ptr null, i32 1 %t6832 = ptrtoint ptr %t6831 to i64 %t6833 = zext i32 %t6830 to i64 %t6834 = mul i64 %t6833, %t6832 %t6835 = load ptr, ptr %t6824 %t6836 = call ptr @realloc(ptr %t6835, i64 %t6834) store ptr %t6836, ptr %t6824 store i32 %t6830, ptr %t6823 br label %put1471 put1471: %t6837 = load ptr, ptr %t6824 %t6838 = getelementptr inbounds ptr, ptr %t6837, i32 %t6825 store ptr @.str7575, ptr %t6838 %t6839 = add i32 %t6825, 1 store i32 %t6839, ptr %t6822 br label %ifend1469 ifend1469: %t6840 = load ptr, ptr %t1 %t6841 = call i32 @lp_str_eq(ptr %t6840, ptr @.str7576) %t6842 = icmp ne i32 %t6841, 0 br i1 %t6842, label %then1472, label %ifend1474 then1472: store ptr @.str7577, ptr %t403 %t6843 = load ptr, ptr %t410 %t6844 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 1 %t6845 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 2 %t6846 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 0 %t6847 = load i32, ptr %t6844 %t6848 = load i32, ptr %t6845 %t6849 = icmp sge i32 %t6847, %t6848 br i1 %t6849, label %grow1475, label %put1476 grow1475: %t6850 = mul i32 %t6848, 2 %t6851 = icmp eq i32 %t6848, 0 %t6852 = select i1 %t6851, i32 8, i32 %t6850 %t6853 = getelementptr ptr, ptr null, i32 1 %t6854 = ptrtoint ptr %t6853 to i64 %t6855 = zext i32 %t6852 to i64 %t6856 = mul i64 %t6855, %t6854 %t6857 = load ptr, ptr %t6846 %t6858 = call ptr @realloc(ptr %t6857, i64 %t6856) store ptr %t6858, ptr %t6846 store i32 %t6852, ptr %t6845 br label %put1476 put1476: %t6859 = load ptr, ptr %t6846 %t6860 = getelementptr inbounds ptr, ptr %t6859, i32 %t6847 store ptr @.str7578, ptr %t6860 %t6861 = add i32 %t6847, 1 store i32 %t6861, ptr %t6844 %t6862 = load ptr, ptr %t410 %t6863 = getelementptr inbounds %LSlice, ptr %t6862, i32 0, i32 1 %t6864 = getelementptr inbounds %LSlice, ptr %t6862, i32 0, i32 2 %t6865 = getelementptr inbounds %LSlice, ptr %t6862, i32 0, i32 0 %t6866 = load i32, ptr %t6863 %t6867 = load i32, ptr %t6864 %t6868 = icmp sge i32 %t6866, %t6867 br i1 %t6868, label %grow1477, label %put1478 grow1477: %t6869 = mul i32 %t6867, 2 %t6870 = icmp eq i32 %t6867, 0 %t6871 = select i1 %t6870, i32 8, i32 %t6869 %t6872 = getelementptr ptr, ptr null, i32 1 %t6873 = ptrtoint ptr %t6872 to i64 %t6874 = zext i32 %t6871 to i64 %t6875 = mul i64 %t6874, %t6873 %t6876 = load ptr, ptr %t6865 %t6877 = call ptr @realloc(ptr %t6876, i64 %t6875) store ptr %t6877, ptr %t6865 store i32 %t6871, ptr %t6864 br label %put1478 put1478: %t6878 = load ptr, ptr %t6865 %t6879 = getelementptr inbounds ptr, ptr %t6878, i32 %t6866 store ptr @.str7579, ptr %t6879 %t6880 = add i32 %t6866, 1 store i32 %t6880, ptr %t6863 br label %ifend1474 ifend1474: %t6881 = load ptr, ptr %t1 %t6882 = call i32 @lp_str_eq(ptr %t6881, ptr @.str7580) %t6883 = icmp ne i32 %t6882, 0 br i1 %t6883, label %then1479, label %ifend1481 then1479: store ptr @.str7581, ptr %t403 %t6884 = load ptr, ptr %t410 %t6885 = getelementptr inbounds %LSlice, ptr %t6884, i32 0, i32 1 %t6886 = getelementptr inbounds %LSlice, ptr %t6884, i32 0, i32 2 %t6887 = getelementptr inbounds %LSlice, ptr %t6884, i32 0, i32 0 %t6888 = load i32, ptr %t6885 %t6889 = load i32, ptr %t6886 %t6890 = icmp sge i32 %t6888, %t6889 br i1 %t6890, label %grow1482, label %put1483 grow1482: %t6891 = mul i32 %t6889, 2 %t6892 = icmp eq i32 %t6889, 0 %t6893 = select i1 %t6892, i32 8, i32 %t6891 %t6894 = getelementptr ptr, ptr null, i32 1 %t6895 = ptrtoint ptr %t6894 to i64 %t6896 = zext i32 %t6893 to i64 %t6897 = mul i64 %t6896, %t6895 %t6898 = load ptr, ptr %t6887 %t6899 = call ptr @realloc(ptr %t6898, i64 %t6897) store ptr %t6899, ptr %t6887 store i32 %t6893, ptr %t6886 br label %put1483 put1483: %t6900 = load ptr, ptr %t6887 %t6901 = getelementptr inbounds ptr, ptr %t6900, i32 %t6888 store ptr @.str7582, ptr %t6901 %t6902 = add i32 %t6888, 1 store i32 %t6902, ptr %t6885 %t6903 = load ptr, ptr %t410 %t6904 = getelementptr inbounds %LSlice, ptr %t6903, i32 0, i32 1 %t6905 = getelementptr inbounds %LSlice, ptr %t6903, i32 0, i32 2 %t6906 = getelementptr inbounds %LSlice, ptr %t6903, i32 0, i32 0 %t6907 = load i32, ptr %t6904 %t6908 = load i32, ptr %t6905 %t6909 = icmp sge i32 %t6907, %t6908 br i1 %t6909, label %grow1484, label %put1485 grow1484: %t6910 = mul i32 %t6908, 2 %t6911 = icmp eq i32 %t6908, 0 %t6912 = select i1 %t6911, i32 8, i32 %t6910 %t6913 = getelementptr ptr, ptr null, i32 1 %t6914 = ptrtoint ptr %t6913 to i64 %t6915 = zext i32 %t6912 to i64 %t6916 = mul i64 %t6915, %t6914 %t6917 = load ptr, ptr %t6906 %t6918 = call ptr @realloc(ptr %t6917, i64 %t6916) store ptr %t6918, ptr %t6906 store i32 %t6912, ptr %t6905 br label %put1485 put1485: %t6919 = load ptr, ptr %t6906 %t6920 = getelementptr inbounds ptr, ptr %t6919, i32 %t6907 store ptr @.str7583, ptr %t6920 %t6921 = add i32 %t6907, 1 store i32 %t6921, ptr %t6904 br label %ifend1481 ifend1481: %t6922 = load ptr, ptr %t1 %t6923 = call i32 @lp_str_eq(ptr %t6922, ptr @.str7584) %t6924 = icmp ne i32 %t6923, 0 br i1 %t6924, label %then1486, label %ifend1488 then1486: store ptr @.str7585, ptr %t403 %t6925 = load ptr, ptr %t410 %t6926 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 1 %t6927 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 2 %t6928 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 0 %t6929 = load i32, ptr %t6926 %t6930 = load i32, ptr %t6927 %t6931 = icmp sge i32 %t6929, %t6930 br i1 %t6931, label %grow1489, label %put1490 grow1489: %t6932 = mul i32 %t6930, 2 %t6933 = icmp eq i32 %t6930, 0 %t6934 = select i1 %t6933, i32 8, i32 %t6932 %t6935 = getelementptr ptr, ptr null, i32 1 %t6936 = ptrtoint ptr %t6935 to i64 %t6937 = zext i32 %t6934 to i64 %t6938 = mul i64 %t6937, %t6936 %t6939 = load ptr, ptr %t6928 %t6940 = call ptr @realloc(ptr %t6939, i64 %t6938) store ptr %t6940, ptr %t6928 store i32 %t6934, ptr %t6927 br label %put1490 put1490: %t6941 = load ptr, ptr %t6928 %t6942 = getelementptr inbounds ptr, ptr %t6941, i32 %t6929 store ptr @.str7586, ptr %t6942 %t6943 = add i32 %t6929, 1 store i32 %t6943, ptr %t6926 %t6944 = load ptr, ptr %t410 %t6945 = getelementptr inbounds %LSlice, ptr %t6944, i32 0, i32 1 %t6946 = getelementptr inbounds %LSlice, ptr %t6944, i32 0, i32 2 %t6947 = getelementptr inbounds %LSlice, ptr %t6944, i32 0, i32 0 %t6948 = load i32, ptr %t6945 %t6949 = load i32, ptr %t6946 %t6950 = icmp sge i32 %t6948, %t6949 br i1 %t6950, label %grow1491, label %put1492 grow1491: %t6951 = mul i32 %t6949, 2 %t6952 = icmp eq i32 %t6949, 0 %t6953 = select i1 %t6952, i32 8, i32 %t6951 %t6954 = getelementptr ptr, ptr null, i32 1 %t6955 = ptrtoint ptr %t6954 to i64 %t6956 = zext i32 %t6953 to i64 %t6957 = mul i64 %t6956, %t6955 %t6958 = load ptr, ptr %t6947 %t6959 = call ptr @realloc(ptr %t6958, i64 %t6957) store ptr %t6959, ptr %t6947 store i32 %t6953, ptr %t6946 br label %put1492 put1492: %t6960 = load ptr, ptr %t6947 %t6961 = getelementptr inbounds ptr, ptr %t6960, i32 %t6948 store ptr @.str7587, ptr %t6961 %t6962 = add i32 %t6948, 1 store i32 %t6962, ptr %t6945 br label %ifend1488 ifend1488: %t6963 = load ptr, ptr %t1 %t6964 = call i32 @lp_str_eq(ptr %t6963, ptr @.str7588) %t6965 = icmp ne i32 %t6964, 0 br i1 %t6965, label %then1493, label %ifend1495 then1493: store ptr @.str7589, ptr %t403 %t6966 = load ptr, ptr %t410 %t6967 = getelementptr inbounds %LSlice, ptr %t6966, i32 0, i32 1 %t6968 = getelementptr inbounds %LSlice, ptr %t6966, i32 0, i32 2 %t6969 = getelementptr inbounds %LSlice, ptr %t6966, i32 0, i32 0 %t6970 = load i32, ptr %t6967 %t6971 = load i32, ptr %t6968 %t6972 = icmp sge i32 %t6970, %t6971 br i1 %t6972, label %grow1496, label %put1497 grow1496: %t6973 = mul i32 %t6971, 2 %t6974 = icmp eq i32 %t6971, 0 %t6975 = select i1 %t6974, i32 8, i32 %t6973 %t6976 = getelementptr ptr, ptr null, i32 1 %t6977 = ptrtoint ptr %t6976 to i64 %t6978 = zext i32 %t6975 to i64 %t6979 = mul i64 %t6978, %t6977 %t6980 = load ptr, ptr %t6969 %t6981 = call ptr @realloc(ptr %t6980, i64 %t6979) store ptr %t6981, ptr %t6969 store i32 %t6975, ptr %t6968 br label %put1497 put1497: %t6982 = load ptr, ptr %t6969 %t6983 = getelementptr inbounds ptr, ptr %t6982, i32 %t6970 store ptr @.str7590, ptr %t6983 %t6984 = add i32 %t6970, 1 store i32 %t6984, ptr %t6967 %t6985 = load ptr, ptr %t410 %t6986 = getelementptr inbounds %LSlice, ptr %t6985, i32 0, i32 1 %t6987 = getelementptr inbounds %LSlice, ptr %t6985, i32 0, i32 2 %t6988 = getelementptr inbounds %LSlice, ptr %t6985, i32 0, i32 0 %t6989 = load i32, ptr %t6986 %t6990 = load i32, ptr %t6987 %t6991 = icmp sge i32 %t6989, %t6990 br i1 %t6991, label %grow1498, label %put1499 grow1498: %t6992 = mul i32 %t6990, 2 %t6993 = icmp eq i32 %t6990, 0 %t6994 = select i1 %t6993, i32 8, i32 %t6992 %t6995 = getelementptr ptr, ptr null, i32 1 %t6996 = ptrtoint ptr %t6995 to i64 %t6997 = zext i32 %t6994 to i64 %t6998 = mul i64 %t6997, %t6996 %t6999 = load ptr, ptr %t6988 %t7000 = call ptr @realloc(ptr %t6999, i64 %t6998) store ptr %t7000, ptr %t6988 store i32 %t6994, ptr %t6987 br label %put1499 put1499: %t7001 = load ptr, ptr %t6988 %t7002 = getelementptr inbounds ptr, ptr %t7001, i32 %t6989 store ptr @.str7591, ptr %t7002 %t7003 = add i32 %t6989, 1 store i32 %t7003, ptr %t6986 br label %ifend1495 ifend1495: %t7004 = load ptr, ptr %t1 %t7005 = call i32 @lp_str_eq(ptr %t7004, ptr @.str7592) %t7006 = icmp ne i32 %t7005, 0 br i1 %t7006, label %then1500, label %ifend1502 then1500: store ptr @.str7593, ptr %t403 %t7007 = load ptr, ptr %t410 %t7008 = getelementptr inbounds %LSlice, ptr %t7007, i32 0, i32 1 %t7009 = getelementptr inbounds %LSlice, ptr %t7007, i32 0, i32 2 %t7010 = getelementptr inbounds %LSlice, ptr %t7007, i32 0, i32 0 %t7011 = load i32, ptr %t7008 %t7012 = load i32, ptr %t7009 %t7013 = icmp sge i32 %t7011, %t7012 br i1 %t7013, label %grow1503, label %put1504 grow1503: %t7014 = mul i32 %t7012, 2 %t7015 = icmp eq i32 %t7012, 0 %t7016 = select i1 %t7015, i32 8, i32 %t7014 %t7017 = getelementptr ptr, ptr null, i32 1 %t7018 = ptrtoint ptr %t7017 to i64 %t7019 = zext i32 %t7016 to i64 %t7020 = mul i64 %t7019, %t7018 %t7021 = load ptr, ptr %t7010 %t7022 = call ptr @realloc(ptr %t7021, i64 %t7020) store ptr %t7022, ptr %t7010 store i32 %t7016, ptr %t7009 br label %put1504 put1504: %t7023 = load ptr, ptr %t7010 %t7024 = getelementptr inbounds ptr, ptr %t7023, i32 %t7011 store ptr @.str7594, ptr %t7024 %t7025 = add i32 %t7011, 1 store i32 %t7025, ptr %t7008 %t7026 = load ptr, ptr %t410 %t7027 = getelementptr inbounds %LSlice, ptr %t7026, i32 0, i32 1 %t7028 = getelementptr inbounds %LSlice, ptr %t7026, i32 0, i32 2 %t7029 = getelementptr inbounds %LSlice, ptr %t7026, i32 0, i32 0 %t7030 = load i32, ptr %t7027 %t7031 = load i32, ptr %t7028 %t7032 = icmp sge i32 %t7030, %t7031 br i1 %t7032, label %grow1505, label %put1506 grow1505: %t7033 = mul i32 %t7031, 2 %t7034 = icmp eq i32 %t7031, 0 %t7035 = select i1 %t7034, i32 8, i32 %t7033 %t7036 = getelementptr ptr, ptr null, i32 1 %t7037 = ptrtoint ptr %t7036 to i64 %t7038 = zext i32 %t7035 to i64 %t7039 = mul i64 %t7038, %t7037 %t7040 = load ptr, ptr %t7029 %t7041 = call ptr @realloc(ptr %t7040, i64 %t7039) store ptr %t7041, ptr %t7029 store i32 %t7035, ptr %t7028 br label %put1506 put1506: %t7042 = load ptr, ptr %t7029 %t7043 = getelementptr inbounds ptr, ptr %t7042, i32 %t7030 store ptr @.str7595, ptr %t7043 %t7044 = add i32 %t7030, 1 store i32 %t7044, ptr %t7027 %t7045 = load ptr, ptr %t410 %t7046 = getelementptr inbounds %LSlice, ptr %t7045, i32 0, i32 1 %t7047 = getelementptr inbounds %LSlice, ptr %t7045, i32 0, i32 2 %t7048 = getelementptr inbounds %LSlice, ptr %t7045, i32 0, i32 0 %t7049 = load i32, ptr %t7046 %t7050 = load i32, ptr %t7047 %t7051 = icmp sge i32 %t7049, %t7050 br i1 %t7051, label %grow1507, label %put1508 grow1507: %t7052 = mul i32 %t7050, 2 %t7053 = icmp eq i32 %t7050, 0 %t7054 = select i1 %t7053, i32 8, i32 %t7052 %t7055 = getelementptr ptr, ptr null, i32 1 %t7056 = ptrtoint ptr %t7055 to i64 %t7057 = zext i32 %t7054 to i64 %t7058 = mul i64 %t7057, %t7056 %t7059 = load ptr, ptr %t7048 %t7060 = call ptr @realloc(ptr %t7059, i64 %t7058) store ptr %t7060, ptr %t7048 store i32 %t7054, ptr %t7047 br label %put1508 put1508: %t7061 = load ptr, ptr %t7048 %t7062 = getelementptr inbounds ptr, ptr %t7061, i32 %t7049 store ptr @.str7596, ptr %t7062 %t7063 = add i32 %t7049, 1 store i32 %t7063, ptr %t7046 br label %ifend1502 ifend1502: %t7064 = load ptr, ptr %t1 %t7065 = call i32 @lp_str_eq(ptr %t7064, ptr @.str7597) %t7066 = icmp ne i32 %t7065, 0 br i1 %t7066, label %then1509, label %ifend1511 then1509: store ptr @.str7598, ptr %t403 %t7067 = load ptr, ptr %t410 %t7068 = getelementptr inbounds %LSlice, ptr %t7067, i32 0, i32 1 %t7069 = getelementptr inbounds %LSlice, ptr %t7067, i32 0, i32 2 %t7070 = getelementptr inbounds %LSlice, ptr %t7067, i32 0, i32 0 %t7071 = load i32, ptr %t7068 %t7072 = load i32, ptr %t7069 %t7073 = icmp sge i32 %t7071, %t7072 br i1 %t7073, label %grow1512, label %put1513 grow1512: %t7074 = mul i32 %t7072, 2 %t7075 = icmp eq i32 %t7072, 0 %t7076 = select i1 %t7075, i32 8, i32 %t7074 %t7077 = getelementptr ptr, ptr null, i32 1 %t7078 = ptrtoint ptr %t7077 to i64 %t7079 = zext i32 %t7076 to i64 %t7080 = mul i64 %t7079, %t7078 %t7081 = load ptr, ptr %t7070 %t7082 = call ptr @realloc(ptr %t7081, i64 %t7080) store ptr %t7082, ptr %t7070 store i32 %t7076, ptr %t7069 br label %put1513 put1513: %t7083 = load ptr, ptr %t7070 %t7084 = getelementptr inbounds ptr, ptr %t7083, i32 %t7071 store ptr @.str7599, ptr %t7084 %t7085 = add i32 %t7071, 1 store i32 %t7085, ptr %t7068 %t7086 = load ptr, ptr %t410 %t7087 = getelementptr inbounds %LSlice, ptr %t7086, i32 0, i32 1 %t7088 = getelementptr inbounds %LSlice, ptr %t7086, i32 0, i32 2 %t7089 = getelementptr inbounds %LSlice, ptr %t7086, i32 0, i32 0 %t7090 = load i32, ptr %t7087 %t7091 = load i32, ptr %t7088 %t7092 = icmp sge i32 %t7090, %t7091 br i1 %t7092, label %grow1514, label %put1515 grow1514: %t7093 = mul i32 %t7091, 2 %t7094 = icmp eq i32 %t7091, 0 %t7095 = select i1 %t7094, i32 8, i32 %t7093 %t7096 = getelementptr ptr, ptr null, i32 1 %t7097 = ptrtoint ptr %t7096 to i64 %t7098 = zext i32 %t7095 to i64 %t7099 = mul i64 %t7098, %t7097 %t7100 = load ptr, ptr %t7089 %t7101 = call ptr @realloc(ptr %t7100, i64 %t7099) store ptr %t7101, ptr %t7089 store i32 %t7095, ptr %t7088 br label %put1515 put1515: %t7102 = load ptr, ptr %t7089 %t7103 = getelementptr inbounds ptr, ptr %t7102, i32 %t7090 store ptr @.str7600, ptr %t7103 %t7104 = add i32 %t7090, 1 store i32 %t7104, ptr %t7087 %t7105 = load ptr, ptr %t410 %t7106 = getelementptr inbounds %LSlice, ptr %t7105, i32 0, i32 1 %t7107 = getelementptr inbounds %LSlice, ptr %t7105, i32 0, i32 2 %t7108 = getelementptr inbounds %LSlice, ptr %t7105, i32 0, i32 0 %t7109 = load i32, ptr %t7106 %t7110 = load i32, ptr %t7107 %t7111 = icmp sge i32 %t7109, %t7110 br i1 %t7111, label %grow1516, label %put1517 grow1516: %t7112 = mul i32 %t7110, 2 %t7113 = icmp eq i32 %t7110, 0 %t7114 = select i1 %t7113, i32 8, i32 %t7112 %t7115 = getelementptr ptr, ptr null, i32 1 %t7116 = ptrtoint ptr %t7115 to i64 %t7117 = zext i32 %t7114 to i64 %t7118 = mul i64 %t7117, %t7116 %t7119 = load ptr, ptr %t7108 %t7120 = call ptr @realloc(ptr %t7119, i64 %t7118) store ptr %t7120, ptr %t7108 store i32 %t7114, ptr %t7107 br label %put1517 put1517: %t7121 = load ptr, ptr %t7108 %t7122 = getelementptr inbounds ptr, ptr %t7121, i32 %t7109 store ptr @.str7601, ptr %t7122 %t7123 = add i32 %t7109, 1 store i32 %t7123, ptr %t7106 br label %ifend1511 ifend1511: %t7124 = load ptr, ptr %t1 %t7125 = call i32 @lp_str_eq(ptr %t7124, ptr @.str7602) %t7126 = icmp ne i32 %t7125, 0 br i1 %t7126, label %then1518, label %ifend1520 then1518: store ptr @.str7603, ptr %t403 %t7127 = load ptr, ptr %t410 %t7128 = getelementptr inbounds %LSlice, ptr %t7127, i32 0, i32 1 %t7129 = getelementptr inbounds %LSlice, ptr %t7127, i32 0, i32 2 %t7130 = getelementptr inbounds %LSlice, ptr %t7127, i32 0, i32 0 %t7131 = load i32, ptr %t7128 %t7132 = load i32, ptr %t7129 %t7133 = icmp sge i32 %t7131, %t7132 br i1 %t7133, label %grow1521, label %put1522 grow1521: %t7134 = mul i32 %t7132, 2 %t7135 = icmp eq i32 %t7132, 0 %t7136 = select i1 %t7135, i32 8, i32 %t7134 %t7137 = getelementptr ptr, ptr null, i32 1 %t7138 = ptrtoint ptr %t7137 to i64 %t7139 = zext i32 %t7136 to i64 %t7140 = mul i64 %t7139, %t7138 %t7141 = load ptr, ptr %t7130 %t7142 = call ptr @realloc(ptr %t7141, i64 %t7140) store ptr %t7142, ptr %t7130 store i32 %t7136, ptr %t7129 br label %put1522 put1522: %t7143 = load ptr, ptr %t7130 %t7144 = getelementptr inbounds ptr, ptr %t7143, i32 %t7131 store ptr @.str7604, ptr %t7144 %t7145 = add i32 %t7131, 1 store i32 %t7145, ptr %t7128 %t7146 = load ptr, ptr %t410 %t7147 = getelementptr inbounds %LSlice, ptr %t7146, i32 0, i32 1 %t7148 = getelementptr inbounds %LSlice, ptr %t7146, i32 0, i32 2 %t7149 = getelementptr inbounds %LSlice, ptr %t7146, i32 0, i32 0 %t7150 = load i32, ptr %t7147 %t7151 = load i32, ptr %t7148 %t7152 = icmp sge i32 %t7150, %t7151 br i1 %t7152, label %grow1523, label %put1524 grow1523: %t7153 = mul i32 %t7151, 2 %t7154 = icmp eq i32 %t7151, 0 %t7155 = select i1 %t7154, i32 8, i32 %t7153 %t7156 = getelementptr ptr, ptr null, i32 1 %t7157 = ptrtoint ptr %t7156 to i64 %t7158 = zext i32 %t7155 to i64 %t7159 = mul i64 %t7158, %t7157 %t7160 = load ptr, ptr %t7149 %t7161 = call ptr @realloc(ptr %t7160, i64 %t7159) store ptr %t7161, ptr %t7149 store i32 %t7155, ptr %t7148 br label %put1524 put1524: %t7162 = load ptr, ptr %t7149 %t7163 = getelementptr inbounds ptr, ptr %t7162, i32 %t7150 store ptr @.str7605, ptr %t7163 %t7164 = add i32 %t7150, 1 store i32 %t7164, ptr %t7147 br label %ifend1520 ifend1520: %t7165 = load ptr, ptr %t1 %t7166 = call i32 @lp_str_eq(ptr %t7165, ptr @.str7606) %t7167 = icmp ne i32 %t7166, 0 br i1 %t7167, label %then1525, label %ifend1527 then1525: store ptr @.str7607, ptr %t403 %t7168 = load ptr, ptr %t410 %t7169 = getelementptr inbounds %LSlice, ptr %t7168, i32 0, i32 1 %t7170 = getelementptr inbounds %LSlice, ptr %t7168, i32 0, i32 2 %t7171 = getelementptr inbounds %LSlice, ptr %t7168, i32 0, i32 0 %t7172 = load i32, ptr %t7169 %t7173 = load i32, ptr %t7170 %t7174 = icmp sge i32 %t7172, %t7173 br i1 %t7174, label %grow1528, label %put1529 grow1528: %t7175 = mul i32 %t7173, 2 %t7176 = icmp eq i32 %t7173, 0 %t7177 = select i1 %t7176, i32 8, i32 %t7175 %t7178 = getelementptr ptr, ptr null, i32 1 %t7179 = ptrtoint ptr %t7178 to i64 %t7180 = zext i32 %t7177 to i64 %t7181 = mul i64 %t7180, %t7179 %t7182 = load ptr, ptr %t7171 %t7183 = call ptr @realloc(ptr %t7182, i64 %t7181) store ptr %t7183, ptr %t7171 store i32 %t7177, ptr %t7170 br label %put1529 put1529: %t7184 = load ptr, ptr %t7171 %t7185 = getelementptr inbounds ptr, ptr %t7184, i32 %t7172 store ptr @.str7608, ptr %t7185 %t7186 = add i32 %t7172, 1 store i32 %t7186, ptr %t7169 br label %ifend1527 ifend1527: %t7187 = load ptr, ptr %t1 %t7188 = call i32 @lp_str_eq(ptr %t7187, ptr @.str7609) %t7189 = icmp ne i32 %t7188, 0 br i1 %t7189, label %then1530, label %ifend1532 then1530: store ptr @.str7610, ptr %t403 %t7190 = load ptr, ptr %t410 %t7191 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 1 %t7192 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 2 %t7193 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 0 %t7194 = load i32, ptr %t7191 %t7195 = load i32, ptr %t7192 %t7196 = icmp sge i32 %t7194, %t7195 br i1 %t7196, label %grow1533, label %put1534 grow1533: %t7197 = mul i32 %t7195, 2 %t7198 = icmp eq i32 %t7195, 0 %t7199 = select i1 %t7198, i32 8, i32 %t7197 %t7200 = getelementptr ptr, ptr null, i32 1 %t7201 = ptrtoint ptr %t7200 to i64 %t7202 = zext i32 %t7199 to i64 %t7203 = mul i64 %t7202, %t7201 %t7204 = load ptr, ptr %t7193 %t7205 = call ptr @realloc(ptr %t7204, i64 %t7203) store ptr %t7205, ptr %t7193 store i32 %t7199, ptr %t7192 br label %put1534 put1534: %t7206 = load ptr, ptr %t7193 %t7207 = getelementptr inbounds ptr, ptr %t7206, i32 %t7194 store ptr @.str7611, ptr %t7207 %t7208 = add i32 %t7194, 1 store i32 %t7208, ptr %t7191 %t7209 = load ptr, ptr %t410 %t7210 = getelementptr inbounds %LSlice, ptr %t7209, i32 0, i32 1 %t7211 = getelementptr inbounds %LSlice, ptr %t7209, i32 0, i32 2 %t7212 = getelementptr inbounds %LSlice, ptr %t7209, i32 0, i32 0 %t7213 = load i32, ptr %t7210 %t7214 = load i32, ptr %t7211 %t7215 = icmp sge i32 %t7213, %t7214 br i1 %t7215, label %grow1535, label %put1536 grow1535: %t7216 = mul i32 %t7214, 2 %t7217 = icmp eq i32 %t7214, 0 %t7218 = select i1 %t7217, i32 8, i32 %t7216 %t7219 = getelementptr ptr, ptr null, i32 1 %t7220 = ptrtoint ptr %t7219 to i64 %t7221 = zext i32 %t7218 to i64 %t7222 = mul i64 %t7221, %t7220 %t7223 = load ptr, ptr %t7212 %t7224 = call ptr @realloc(ptr %t7223, i64 %t7222) store ptr %t7224, ptr %t7212 store i32 %t7218, ptr %t7211 br label %put1536 put1536: %t7225 = load ptr, ptr %t7212 %t7226 = getelementptr inbounds ptr, ptr %t7225, i32 %t7213 store ptr @.str7612, ptr %t7226 %t7227 = add i32 %t7213, 1 store i32 %t7227, ptr %t7210 br label %ifend1532 ifend1532: %t7228 = load ptr, ptr %t1 %t7229 = call i32 @lp_str_eq(ptr %t7228, ptr @.str7613) %t7230 = icmp ne i32 %t7229, 0 br i1 %t7230, label %then1537, label %ifend1539 then1537: store ptr @.str7614, ptr %t403 %t7231 = load ptr, ptr %t410 %t7232 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 1 %t7233 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 2 %t7234 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 0 %t7235 = load i32, ptr %t7232 %t7236 = load i32, ptr %t7233 %t7237 = icmp sge i32 %t7235, %t7236 br i1 %t7237, label %grow1540, label %put1541 grow1540: %t7238 = mul i32 %t7236, 2 %t7239 = icmp eq i32 %t7236, 0 %t7240 = select i1 %t7239, i32 8, i32 %t7238 %t7241 = getelementptr ptr, ptr null, i32 1 %t7242 = ptrtoint ptr %t7241 to i64 %t7243 = zext i32 %t7240 to i64 %t7244 = mul i64 %t7243, %t7242 %t7245 = load ptr, ptr %t7234 %t7246 = call ptr @realloc(ptr %t7245, i64 %t7244) store ptr %t7246, ptr %t7234 store i32 %t7240, ptr %t7233 br label %put1541 put1541: %t7247 = load ptr, ptr %t7234 %t7248 = getelementptr inbounds ptr, ptr %t7247, i32 %t7235 store ptr @.str7615, ptr %t7248 %t7249 = add i32 %t7235, 1 store i32 %t7249, ptr %t7232 %t7250 = load ptr, ptr %t410 %t7251 = getelementptr inbounds %LSlice, ptr %t7250, i32 0, i32 1 %t7252 = getelementptr inbounds %LSlice, ptr %t7250, i32 0, i32 2 %t7253 = getelementptr inbounds %LSlice, ptr %t7250, i32 0, i32 0 %t7254 = load i32, ptr %t7251 %t7255 = load i32, ptr %t7252 %t7256 = icmp sge i32 %t7254, %t7255 br i1 %t7256, label %grow1542, label %put1543 grow1542: %t7257 = mul i32 %t7255, 2 %t7258 = icmp eq i32 %t7255, 0 %t7259 = select i1 %t7258, i32 8, i32 %t7257 %t7260 = getelementptr ptr, ptr null, i32 1 %t7261 = ptrtoint ptr %t7260 to i64 %t7262 = zext i32 %t7259 to i64 %t7263 = mul i64 %t7262, %t7261 %t7264 = load ptr, ptr %t7253 %t7265 = call ptr @realloc(ptr %t7264, i64 %t7263) store ptr %t7265, ptr %t7253 store i32 %t7259, ptr %t7252 br label %put1543 put1543: %t7266 = load ptr, ptr %t7253 %t7267 = getelementptr inbounds ptr, ptr %t7266, i32 %t7254 store ptr @.str7616, ptr %t7267 %t7268 = add i32 %t7254, 1 store i32 %t7268, ptr %t7251 br label %ifend1539 ifend1539: %t7269 = load ptr, ptr %t1 %t7270 = call i32 @lp_str_eq(ptr %t7269, ptr @.str7617) %t7271 = icmp ne i32 %t7270, 0 br i1 %t7271, label %then1544, label %ifend1546 then1544: store ptr @.str7618, ptr %t403 %t7272 = load ptr, ptr %t410 %t7273 = getelementptr inbounds %LSlice, ptr %t7272, i32 0, i32 1 %t7274 = getelementptr inbounds %LSlice, ptr %t7272, i32 0, i32 2 %t7275 = getelementptr inbounds %LSlice, ptr %t7272, i32 0, i32 0 %t7276 = load i32, ptr %t7273 %t7277 = load i32, ptr %t7274 %t7278 = icmp sge i32 %t7276, %t7277 br i1 %t7278, label %grow1547, label %put1548 grow1547: %t7279 = mul i32 %t7277, 2 %t7280 = icmp eq i32 %t7277, 0 %t7281 = select i1 %t7280, i32 8, i32 %t7279 %t7282 = getelementptr ptr, ptr null, i32 1 %t7283 = ptrtoint ptr %t7282 to i64 %t7284 = zext i32 %t7281 to i64 %t7285 = mul i64 %t7284, %t7283 %t7286 = load ptr, ptr %t7275 %t7287 = call ptr @realloc(ptr %t7286, i64 %t7285) store ptr %t7287, ptr %t7275 store i32 %t7281, ptr %t7274 br label %put1548 put1548: %t7288 = load ptr, ptr %t7275 %t7289 = getelementptr inbounds ptr, ptr %t7288, i32 %t7276 store ptr @.str7619, ptr %t7289 %t7290 = add i32 %t7276, 1 store i32 %t7290, ptr %t7273 br label %ifend1546 ifend1546: br label %ifend1461 ifend1461: %t7291 = load ptr, ptr %t0 %t7292 = call i32 @lp_str_eq(ptr %t7291, ptr @.str7620) %t7293 = icmp ne i32 %t7292, 0 br i1 %t7293, label %then1549, label %ifend1551 then1549: %t7294 = load ptr, ptr %t1 %t7295 = call i32 @lp_str_eq(ptr %t7294, ptr @.str7621) %t7296 = icmp ne i32 %t7295, 0 br i1 %t7296, label %then1552, label %ifend1554 then1552: store ptr @.str7622, ptr %t403 %t7297 = load ptr, ptr %t410 %t7298 = getelementptr inbounds %LSlice, ptr %t7297, i32 0, i32 1 %t7299 = getelementptr inbounds %LSlice, ptr %t7297, i32 0, i32 2 %t7300 = getelementptr inbounds %LSlice, ptr %t7297, i32 0, i32 0 %t7301 = load i32, ptr %t7298 %t7302 = load i32, ptr %t7299 %t7303 = icmp sge i32 %t7301, %t7302 br i1 %t7303, label %grow1555, label %put1556 grow1555: %t7304 = mul i32 %t7302, 2 %t7305 = icmp eq i32 %t7302, 0 %t7306 = select i1 %t7305, i32 8, i32 %t7304 %t7307 = getelementptr ptr, ptr null, i32 1 %t7308 = ptrtoint ptr %t7307 to i64 %t7309 = zext i32 %t7306 to i64 %t7310 = mul i64 %t7309, %t7308 %t7311 = load ptr, ptr %t7300 %t7312 = call ptr @realloc(ptr %t7311, i64 %t7310) store ptr %t7312, ptr %t7300 store i32 %t7306, ptr %t7299 br label %put1556 put1556: %t7313 = load ptr, ptr %t7300 %t7314 = getelementptr inbounds ptr, ptr %t7313, i32 %t7301 store ptr @.str7623, ptr %t7314 %t7315 = add i32 %t7301, 1 store i32 %t7315, ptr %t7298 br label %ifend1554 ifend1554: %t7316 = load ptr, ptr %t1 %t7317 = call i32 @lp_str_eq(ptr %t7316, ptr @.str7624) %t7318 = icmp ne i32 %t7317, 0 br i1 %t7318, label %then1557, label %ifend1559 then1557: store ptr @.str7625, ptr %t403 %t7319 = load ptr, ptr %t410 %t7320 = getelementptr inbounds %LSlice, ptr %t7319, i32 0, i32 1 %t7321 = getelementptr inbounds %LSlice, ptr %t7319, i32 0, i32 2 %t7322 = getelementptr inbounds %LSlice, ptr %t7319, i32 0, i32 0 %t7323 = load i32, ptr %t7320 %t7324 = load i32, ptr %t7321 %t7325 = icmp sge i32 %t7323, %t7324 br i1 %t7325, label %grow1560, label %put1561 grow1560: %t7326 = mul i32 %t7324, 2 %t7327 = icmp eq i32 %t7324, 0 %t7328 = select i1 %t7327, i32 8, i32 %t7326 %t7329 = getelementptr ptr, ptr null, i32 1 %t7330 = ptrtoint ptr %t7329 to i64 %t7331 = zext i32 %t7328 to i64 %t7332 = mul i64 %t7331, %t7330 %t7333 = load ptr, ptr %t7322 %t7334 = call ptr @realloc(ptr %t7333, i64 %t7332) store ptr %t7334, ptr %t7322 store i32 %t7328, ptr %t7321 br label %put1561 put1561: %t7335 = load ptr, ptr %t7322 %t7336 = getelementptr inbounds ptr, ptr %t7335, i32 %t7323 store ptr @.str7626, ptr %t7336 %t7337 = add i32 %t7323, 1 store i32 %t7337, ptr %t7320 br label %ifend1559 ifend1559: %t7338 = load ptr, ptr %t1 %t7339 = call i32 @lp_str_eq(ptr %t7338, ptr @.str7627) %t7340 = icmp ne i32 %t7339, 0 br i1 %t7340, label %then1562, label %ifend1564 then1562: store ptr @.str7628, ptr %t403 %t7341 = load ptr, ptr %t410 %t7342 = getelementptr inbounds %LSlice, ptr %t7341, i32 0, i32 1 %t7343 = getelementptr inbounds %LSlice, ptr %t7341, i32 0, i32 2 %t7344 = getelementptr inbounds %LSlice, ptr %t7341, i32 0, i32 0 %t7345 = load i32, ptr %t7342 %t7346 = load i32, ptr %t7343 %t7347 = icmp sge i32 %t7345, %t7346 br i1 %t7347, label %grow1565, label %put1566 grow1565: %t7348 = mul i32 %t7346, 2 %t7349 = icmp eq i32 %t7346, 0 %t7350 = select i1 %t7349, i32 8, i32 %t7348 %t7351 = getelementptr ptr, ptr null, i32 1 %t7352 = ptrtoint ptr %t7351 to i64 %t7353 = zext i32 %t7350 to i64 %t7354 = mul i64 %t7353, %t7352 %t7355 = load ptr, ptr %t7344 %t7356 = call ptr @realloc(ptr %t7355, i64 %t7354) store ptr %t7356, ptr %t7344 store i32 %t7350, ptr %t7343 br label %put1566 put1566: %t7357 = load ptr, ptr %t7344 %t7358 = getelementptr inbounds ptr, ptr %t7357, i32 %t7345 store ptr @.str7629, ptr %t7358 %t7359 = add i32 %t7345, 1 store i32 %t7359, ptr %t7342 %t7360 = load ptr, ptr %t410 %t7361 = getelementptr inbounds %LSlice, ptr %t7360, i32 0, i32 1 %t7362 = getelementptr inbounds %LSlice, ptr %t7360, i32 0, i32 2 %t7363 = getelementptr inbounds %LSlice, ptr %t7360, i32 0, i32 0 %t7364 = load i32, ptr %t7361 %t7365 = load i32, ptr %t7362 %t7366 = icmp sge i32 %t7364, %t7365 br i1 %t7366, label %grow1567, label %put1568 grow1567: %t7367 = mul i32 %t7365, 2 %t7368 = icmp eq i32 %t7365, 0 %t7369 = select i1 %t7368, i32 8, i32 %t7367 %t7370 = getelementptr ptr, ptr null, i32 1 %t7371 = ptrtoint ptr %t7370 to i64 %t7372 = zext i32 %t7369 to i64 %t7373 = mul i64 %t7372, %t7371 %t7374 = load ptr, ptr %t7363 %t7375 = call ptr @realloc(ptr %t7374, i64 %t7373) store ptr %t7375, ptr %t7363 store i32 %t7369, ptr %t7362 br label %put1568 put1568: %t7376 = load ptr, ptr %t7363 %t7377 = getelementptr inbounds ptr, ptr %t7376, i32 %t7364 store ptr @.str7630, ptr %t7377 %t7378 = add i32 %t7364, 1 store i32 %t7378, ptr %t7361 br label %ifend1564 ifend1564: %t7379 = load ptr, ptr %t1 %t7380 = call i32 @lp_str_eq(ptr %t7379, ptr @.str7631) %t7381 = icmp ne i32 %t7380, 0 br i1 %t7381, label %then1569, label %ifend1571 then1569: store ptr @.str7632, ptr %t403 %t7382 = load ptr, ptr %t410 %t7383 = getelementptr inbounds %LSlice, ptr %t7382, i32 0, i32 1 %t7384 = getelementptr inbounds %LSlice, ptr %t7382, i32 0, i32 2 %t7385 = getelementptr inbounds %LSlice, ptr %t7382, i32 0, i32 0 %t7386 = load i32, ptr %t7383 %t7387 = load i32, ptr %t7384 %t7388 = icmp sge i32 %t7386, %t7387 br i1 %t7388, label %grow1572, label %put1573 grow1572: %t7389 = mul i32 %t7387, 2 %t7390 = icmp eq i32 %t7387, 0 %t7391 = select i1 %t7390, i32 8, i32 %t7389 %t7392 = getelementptr ptr, ptr null, i32 1 %t7393 = ptrtoint ptr %t7392 to i64 %t7394 = zext i32 %t7391 to i64 %t7395 = mul i64 %t7394, %t7393 %t7396 = load ptr, ptr %t7385 %t7397 = call ptr @realloc(ptr %t7396, i64 %t7395) store ptr %t7397, ptr %t7385 store i32 %t7391, ptr %t7384 br label %put1573 put1573: %t7398 = load ptr, ptr %t7385 %t7399 = getelementptr inbounds ptr, ptr %t7398, i32 %t7386 store ptr @.str7633, ptr %t7399 %t7400 = add i32 %t7386, 1 store i32 %t7400, ptr %t7383 %t7401 = load ptr, ptr %t410 %t7402 = getelementptr inbounds %LSlice, ptr %t7401, i32 0, i32 1 %t7403 = getelementptr inbounds %LSlice, ptr %t7401, i32 0, i32 2 %t7404 = getelementptr inbounds %LSlice, ptr %t7401, i32 0, i32 0 %t7405 = load i32, ptr %t7402 %t7406 = load i32, ptr %t7403 %t7407 = icmp sge i32 %t7405, %t7406 br i1 %t7407, label %grow1574, label %put1575 grow1574: %t7408 = mul i32 %t7406, 2 %t7409 = icmp eq i32 %t7406, 0 %t7410 = select i1 %t7409, i32 8, i32 %t7408 %t7411 = getelementptr ptr, ptr null, i32 1 %t7412 = ptrtoint ptr %t7411 to i64 %t7413 = zext i32 %t7410 to i64 %t7414 = mul i64 %t7413, %t7412 %t7415 = load ptr, ptr %t7404 %t7416 = call ptr @realloc(ptr %t7415, i64 %t7414) store ptr %t7416, ptr %t7404 store i32 %t7410, ptr %t7403 br label %put1575 put1575: %t7417 = load ptr, ptr %t7404 %t7418 = getelementptr inbounds ptr, ptr %t7417, i32 %t7405 store ptr @.str7634, ptr %t7418 %t7419 = add i32 %t7405, 1 store i32 %t7419, ptr %t7402 br label %ifend1571 ifend1571: %t7420 = load ptr, ptr %t1 %t7421 = call i32 @lp_str_eq(ptr %t7420, ptr @.str7635) %t7422 = icmp ne i32 %t7421, 0 br i1 %t7422, label %then1576, label %ifend1578 then1576: store ptr @.str7636, ptr %t403 %t7423 = load ptr, ptr %t410 %t7424 = getelementptr inbounds %LSlice, ptr %t7423, i32 0, i32 1 %t7425 = getelementptr inbounds %LSlice, ptr %t7423, i32 0, i32 2 %t7426 = getelementptr inbounds %LSlice, ptr %t7423, i32 0, i32 0 %t7427 = load i32, ptr %t7424 %t7428 = load i32, ptr %t7425 %t7429 = icmp sge i32 %t7427, %t7428 br i1 %t7429, label %grow1579, label %put1580 grow1579: %t7430 = mul i32 %t7428, 2 %t7431 = icmp eq i32 %t7428, 0 %t7432 = select i1 %t7431, i32 8, i32 %t7430 %t7433 = getelementptr ptr, ptr null, i32 1 %t7434 = ptrtoint ptr %t7433 to i64 %t7435 = zext i32 %t7432 to i64 %t7436 = mul i64 %t7435, %t7434 %t7437 = load ptr, ptr %t7426 %t7438 = call ptr @realloc(ptr %t7437, i64 %t7436) store ptr %t7438, ptr %t7426 store i32 %t7432, ptr %t7425 br label %put1580 put1580: %t7439 = load ptr, ptr %t7426 %t7440 = getelementptr inbounds ptr, ptr %t7439, i32 %t7427 store ptr @.str7637, ptr %t7440 %t7441 = add i32 %t7427, 1 store i32 %t7441, ptr %t7424 %t7442 = load ptr, ptr %t410 %t7443 = getelementptr inbounds %LSlice, ptr %t7442, i32 0, i32 1 %t7444 = getelementptr inbounds %LSlice, ptr %t7442, i32 0, i32 2 %t7445 = getelementptr inbounds %LSlice, ptr %t7442, i32 0, i32 0 %t7446 = load i32, ptr %t7443 %t7447 = load i32, ptr %t7444 %t7448 = icmp sge i32 %t7446, %t7447 br i1 %t7448, label %grow1581, label %put1582 grow1581: %t7449 = mul i32 %t7447, 2 %t7450 = icmp eq i32 %t7447, 0 %t7451 = select i1 %t7450, i32 8, i32 %t7449 %t7452 = getelementptr ptr, ptr null, i32 1 %t7453 = ptrtoint ptr %t7452 to i64 %t7454 = zext i32 %t7451 to i64 %t7455 = mul i64 %t7454, %t7453 %t7456 = load ptr, ptr %t7445 %t7457 = call ptr @realloc(ptr %t7456, i64 %t7455) store ptr %t7457, ptr %t7445 store i32 %t7451, ptr %t7444 br label %put1582 put1582: %t7458 = load ptr, ptr %t7445 %t7459 = getelementptr inbounds ptr, ptr %t7458, i32 %t7446 store ptr @.str7638, ptr %t7459 %t7460 = add i32 %t7446, 1 store i32 %t7460, ptr %t7443 br label %ifend1578 ifend1578: %t7461 = load ptr, ptr %t1 %t7462 = call i32 @lp_str_eq(ptr %t7461, ptr @.str7639) %t7463 = icmp ne i32 %t7462, 0 br i1 %t7463, label %then1583, label %ifend1585 then1583: store ptr @.str7640, ptr %t403 %t7464 = load ptr, ptr %t410 %t7465 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 1 %t7466 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 2 %t7467 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 0 %t7468 = load i32, ptr %t7465 %t7469 = load i32, ptr %t7466 %t7470 = icmp sge i32 %t7468, %t7469 br i1 %t7470, label %grow1586, label %put1587 grow1586: %t7471 = mul i32 %t7469, 2 %t7472 = icmp eq i32 %t7469, 0 %t7473 = select i1 %t7472, i32 8, i32 %t7471 %t7474 = getelementptr ptr, ptr null, i32 1 %t7475 = ptrtoint ptr %t7474 to i64 %t7476 = zext i32 %t7473 to i64 %t7477 = mul i64 %t7476, %t7475 %t7478 = load ptr, ptr %t7467 %t7479 = call ptr @realloc(ptr %t7478, i64 %t7477) store ptr %t7479, ptr %t7467 store i32 %t7473, ptr %t7466 br label %put1587 put1587: %t7480 = load ptr, ptr %t7467 %t7481 = getelementptr inbounds ptr, ptr %t7480, i32 %t7468 store ptr @.str7641, ptr %t7481 %t7482 = add i32 %t7468, 1 store i32 %t7482, ptr %t7465 br label %ifend1585 ifend1585: %t7483 = load ptr, ptr %t1 %t7484 = call i32 @lp_str_eq(ptr %t7483, ptr @.str7642) %t7485 = icmp ne i32 %t7484, 0 br i1 %t7485, label %then1588, label %ifend1590 then1588: store ptr @.str7643, ptr %t403 %t7486 = load ptr, ptr %t410 %t7487 = getelementptr inbounds %LSlice, ptr %t7486, i32 0, i32 1 %t7488 = getelementptr inbounds %LSlice, ptr %t7486, i32 0, i32 2 %t7489 = getelementptr inbounds %LSlice, ptr %t7486, i32 0, i32 0 %t7490 = load i32, ptr %t7487 %t7491 = load i32, ptr %t7488 %t7492 = icmp sge i32 %t7490, %t7491 br i1 %t7492, label %grow1591, label %put1592 grow1591: %t7493 = mul i32 %t7491, 2 %t7494 = icmp eq i32 %t7491, 0 %t7495 = select i1 %t7494, i32 8, i32 %t7493 %t7496 = getelementptr ptr, ptr null, i32 1 %t7497 = ptrtoint ptr %t7496 to i64 %t7498 = zext i32 %t7495 to i64 %t7499 = mul i64 %t7498, %t7497 %t7500 = load ptr, ptr %t7489 %t7501 = call ptr @realloc(ptr %t7500, i64 %t7499) store ptr %t7501, ptr %t7489 store i32 %t7495, ptr %t7488 br label %put1592 put1592: %t7502 = load ptr, ptr %t7489 %t7503 = getelementptr inbounds ptr, ptr %t7502, i32 %t7490 store ptr @.str7644, ptr %t7503 %t7504 = add i32 %t7490, 1 store i32 %t7504, ptr %t7487 %t7505 = load ptr, ptr %t410 %t7506 = getelementptr inbounds %LSlice, ptr %t7505, i32 0, i32 1 %t7507 = getelementptr inbounds %LSlice, ptr %t7505, i32 0, i32 2 %t7508 = getelementptr inbounds %LSlice, ptr %t7505, i32 0, i32 0 %t7509 = load i32, ptr %t7506 %t7510 = load i32, ptr %t7507 %t7511 = icmp sge i32 %t7509, %t7510 br i1 %t7511, label %grow1593, label %put1594 grow1593: %t7512 = mul i32 %t7510, 2 %t7513 = icmp eq i32 %t7510, 0 %t7514 = select i1 %t7513, i32 8, i32 %t7512 %t7515 = getelementptr ptr, ptr null, i32 1 %t7516 = ptrtoint ptr %t7515 to i64 %t7517 = zext i32 %t7514 to i64 %t7518 = mul i64 %t7517, %t7516 %t7519 = load ptr, ptr %t7508 %t7520 = call ptr @realloc(ptr %t7519, i64 %t7518) store ptr %t7520, ptr %t7508 store i32 %t7514, ptr %t7507 br label %put1594 put1594: %t7521 = load ptr, ptr %t7508 %t7522 = getelementptr inbounds ptr, ptr %t7521, i32 %t7509 store ptr @.str7645, ptr %t7522 %t7523 = add i32 %t7509, 1 store i32 %t7523, ptr %t7506 br label %ifend1590 ifend1590: %t7524 = load ptr, ptr %t1 %t7525 = call i32 @lp_str_eq(ptr %t7524, ptr @.str7646) %t7526 = icmp ne i32 %t7525, 0 br i1 %t7526, label %then1595, label %ifend1597 then1595: store ptr @.str7647, ptr %t403 %t7527 = load ptr, ptr %t410 %t7528 = getelementptr inbounds %LSlice, ptr %t7527, i32 0, i32 1 %t7529 = getelementptr inbounds %LSlice, ptr %t7527, i32 0, i32 2 %t7530 = getelementptr inbounds %LSlice, ptr %t7527, i32 0, i32 0 %t7531 = load i32, ptr %t7528 %t7532 = load i32, ptr %t7529 %t7533 = icmp sge i32 %t7531, %t7532 br i1 %t7533, label %grow1598, label %put1599 grow1598: %t7534 = mul i32 %t7532, 2 %t7535 = icmp eq i32 %t7532, 0 %t7536 = select i1 %t7535, i32 8, i32 %t7534 %t7537 = getelementptr ptr, ptr null, i32 1 %t7538 = ptrtoint ptr %t7537 to i64 %t7539 = zext i32 %t7536 to i64 %t7540 = mul i64 %t7539, %t7538 %t7541 = load ptr, ptr %t7530 %t7542 = call ptr @realloc(ptr %t7541, i64 %t7540) store ptr %t7542, ptr %t7530 store i32 %t7536, ptr %t7529 br label %put1599 put1599: %t7543 = load ptr, ptr %t7530 %t7544 = getelementptr inbounds ptr, ptr %t7543, i32 %t7531 store ptr @.str7648, ptr %t7544 %t7545 = add i32 %t7531, 1 store i32 %t7545, ptr %t7528 %t7546 = load ptr, ptr %t410 %t7547 = getelementptr inbounds %LSlice, ptr %t7546, i32 0, i32 1 %t7548 = getelementptr inbounds %LSlice, ptr %t7546, i32 0, i32 2 %t7549 = getelementptr inbounds %LSlice, ptr %t7546, i32 0, i32 0 %t7550 = load i32, ptr %t7547 %t7551 = load i32, ptr %t7548 %t7552 = icmp sge i32 %t7550, %t7551 br i1 %t7552, label %grow1600, label %put1601 grow1600: %t7553 = mul i32 %t7551, 2 %t7554 = icmp eq i32 %t7551, 0 %t7555 = select i1 %t7554, i32 8, i32 %t7553 %t7556 = getelementptr ptr, ptr null, i32 1 %t7557 = ptrtoint ptr %t7556 to i64 %t7558 = zext i32 %t7555 to i64 %t7559 = mul i64 %t7558, %t7557 %t7560 = load ptr, ptr %t7549 %t7561 = call ptr @realloc(ptr %t7560, i64 %t7559) store ptr %t7561, ptr %t7549 store i32 %t7555, ptr %t7548 br label %put1601 put1601: %t7562 = load ptr, ptr %t7549 %t7563 = getelementptr inbounds ptr, ptr %t7562, i32 %t7550 store ptr @.str7649, ptr %t7563 %t7564 = add i32 %t7550, 1 store i32 %t7564, ptr %t7547 br label %ifend1597 ifend1597: %t7565 = load ptr, ptr %t1 %t7566 = call i32 @lp_str_eq(ptr %t7565, ptr @.str7650) %t7567 = icmp ne i32 %t7566, 0 br i1 %t7567, label %then1602, label %ifend1604 then1602: store ptr @.str7651, ptr %t403 %t7568 = load ptr, ptr %t410 %t7569 = getelementptr inbounds %LSlice, ptr %t7568, i32 0, i32 1 %t7570 = getelementptr inbounds %LSlice, ptr %t7568, i32 0, i32 2 %t7571 = getelementptr inbounds %LSlice, ptr %t7568, i32 0, i32 0 %t7572 = load i32, ptr %t7569 %t7573 = load i32, ptr %t7570 %t7574 = icmp sge i32 %t7572, %t7573 br i1 %t7574, label %grow1605, label %put1606 grow1605: %t7575 = mul i32 %t7573, 2 %t7576 = icmp eq i32 %t7573, 0 %t7577 = select i1 %t7576, i32 8, i32 %t7575 %t7578 = getelementptr ptr, ptr null, i32 1 %t7579 = ptrtoint ptr %t7578 to i64 %t7580 = zext i32 %t7577 to i64 %t7581 = mul i64 %t7580, %t7579 %t7582 = load ptr, ptr %t7571 %t7583 = call ptr @realloc(ptr %t7582, i64 %t7581) store ptr %t7583, ptr %t7571 store i32 %t7577, ptr %t7570 br label %put1606 put1606: %t7584 = load ptr, ptr %t7571 %t7585 = getelementptr inbounds ptr, ptr %t7584, i32 %t7572 store ptr @.str7652, ptr %t7585 %t7586 = add i32 %t7572, 1 store i32 %t7586, ptr %t7569 %t7587 = load ptr, ptr %t410 %t7588 = getelementptr inbounds %LSlice, ptr %t7587, i32 0, i32 1 %t7589 = getelementptr inbounds %LSlice, ptr %t7587, i32 0, i32 2 %t7590 = getelementptr inbounds %LSlice, ptr %t7587, i32 0, i32 0 %t7591 = load i32, ptr %t7588 %t7592 = load i32, ptr %t7589 %t7593 = icmp sge i32 %t7591, %t7592 br i1 %t7593, label %grow1607, label %put1608 grow1607: %t7594 = mul i32 %t7592, 2 %t7595 = icmp eq i32 %t7592, 0 %t7596 = select i1 %t7595, i32 8, i32 %t7594 %t7597 = getelementptr ptr, ptr null, i32 1 %t7598 = ptrtoint ptr %t7597 to i64 %t7599 = zext i32 %t7596 to i64 %t7600 = mul i64 %t7599, %t7598 %t7601 = load ptr, ptr %t7590 %t7602 = call ptr @realloc(ptr %t7601, i64 %t7600) store ptr %t7602, ptr %t7590 store i32 %t7596, ptr %t7589 br label %put1608 put1608: %t7603 = load ptr, ptr %t7590 %t7604 = getelementptr inbounds ptr, ptr %t7603, i32 %t7591 store ptr @.str7653, ptr %t7604 %t7605 = add i32 %t7591, 1 store i32 %t7605, ptr %t7588 br label %ifend1604 ifend1604: %t7606 = load ptr, ptr %t1 %t7607 = call i32 @lp_str_eq(ptr %t7606, ptr @.str7654) %t7608 = icmp ne i32 %t7607, 0 br i1 %t7608, label %then1609, label %ifend1611 then1609: store ptr @.str7655, ptr %t403 %t7609 = load ptr, ptr %t410 %t7610 = getelementptr inbounds %LSlice, ptr %t7609, i32 0, i32 1 %t7611 = getelementptr inbounds %LSlice, ptr %t7609, i32 0, i32 2 %t7612 = getelementptr inbounds %LSlice, ptr %t7609, i32 0, i32 0 %t7613 = load i32, ptr %t7610 %t7614 = load i32, ptr %t7611 %t7615 = icmp sge i32 %t7613, %t7614 br i1 %t7615, label %grow1612, label %put1613 grow1612: %t7616 = mul i32 %t7614, 2 %t7617 = icmp eq i32 %t7614, 0 %t7618 = select i1 %t7617, i32 8, i32 %t7616 %t7619 = getelementptr ptr, ptr null, i32 1 %t7620 = ptrtoint ptr %t7619 to i64 %t7621 = zext i32 %t7618 to i64 %t7622 = mul i64 %t7621, %t7620 %t7623 = load ptr, ptr %t7612 %t7624 = call ptr @realloc(ptr %t7623, i64 %t7622) store ptr %t7624, ptr %t7612 store i32 %t7618, ptr %t7611 br label %put1613 put1613: %t7625 = load ptr, ptr %t7612 %t7626 = getelementptr inbounds ptr, ptr %t7625, i32 %t7613 store ptr @.str7656, ptr %t7626 %t7627 = add i32 %t7613, 1 store i32 %t7627, ptr %t7610 %t7628 = load ptr, ptr %t410 %t7629 = getelementptr inbounds %LSlice, ptr %t7628, i32 0, i32 1 %t7630 = getelementptr inbounds %LSlice, ptr %t7628, i32 0, i32 2 %t7631 = getelementptr inbounds %LSlice, ptr %t7628, i32 0, i32 0 %t7632 = load i32, ptr %t7629 %t7633 = load i32, ptr %t7630 %t7634 = icmp sge i32 %t7632, %t7633 br i1 %t7634, label %grow1614, label %put1615 grow1614: %t7635 = mul i32 %t7633, 2 %t7636 = icmp eq i32 %t7633, 0 %t7637 = select i1 %t7636, i32 8, i32 %t7635 %t7638 = getelementptr ptr, ptr null, i32 1 %t7639 = ptrtoint ptr %t7638 to i64 %t7640 = zext i32 %t7637 to i64 %t7641 = mul i64 %t7640, %t7639 %t7642 = load ptr, ptr %t7631 %t7643 = call ptr @realloc(ptr %t7642, i64 %t7641) store ptr %t7643, ptr %t7631 store i32 %t7637, ptr %t7630 br label %put1615 put1615: %t7644 = load ptr, ptr %t7631 %t7645 = getelementptr inbounds ptr, ptr %t7644, i32 %t7632 store ptr @.str7657, ptr %t7645 %t7646 = add i32 %t7632, 1 store i32 %t7646, ptr %t7629 br label %ifend1611 ifend1611: %t7647 = load ptr, ptr %t1 %t7648 = call i32 @lp_str_eq(ptr %t7647, ptr @.str7658) %t7649 = icmp ne i32 %t7648, 0 br i1 %t7649, label %then1616, label %ifend1618 then1616: store ptr @.str7659, ptr %t403 %t7650 = load ptr, ptr %t410 %t7651 = getelementptr inbounds %LSlice, ptr %t7650, i32 0, i32 1 %t7652 = getelementptr inbounds %LSlice, ptr %t7650, i32 0, i32 2 %t7653 = getelementptr inbounds %LSlice, ptr %t7650, i32 0, i32 0 %t7654 = load i32, ptr %t7651 %t7655 = load i32, ptr %t7652 %t7656 = icmp sge i32 %t7654, %t7655 br i1 %t7656, label %grow1619, label %put1620 grow1619: %t7657 = mul i32 %t7655, 2 %t7658 = icmp eq i32 %t7655, 0 %t7659 = select i1 %t7658, i32 8, i32 %t7657 %t7660 = getelementptr ptr, ptr null, i32 1 %t7661 = ptrtoint ptr %t7660 to i64 %t7662 = zext i32 %t7659 to i64 %t7663 = mul i64 %t7662, %t7661 %t7664 = load ptr, ptr %t7653 %t7665 = call ptr @realloc(ptr %t7664, i64 %t7663) store ptr %t7665, ptr %t7653 store i32 %t7659, ptr %t7652 br label %put1620 put1620: %t7666 = load ptr, ptr %t7653 %t7667 = getelementptr inbounds ptr, ptr %t7666, i32 %t7654 store ptr @.str7660, ptr %t7667 %t7668 = add i32 %t7654, 1 store i32 %t7668, ptr %t7651 %t7669 = load ptr, ptr %t410 %t7670 = getelementptr inbounds %LSlice, ptr %t7669, i32 0, i32 1 %t7671 = getelementptr inbounds %LSlice, ptr %t7669, i32 0, i32 2 %t7672 = getelementptr inbounds %LSlice, ptr %t7669, i32 0, i32 0 %t7673 = load i32, ptr %t7670 %t7674 = load i32, ptr %t7671 %t7675 = icmp sge i32 %t7673, %t7674 br i1 %t7675, label %grow1621, label %put1622 grow1621: %t7676 = mul i32 %t7674, 2 %t7677 = icmp eq i32 %t7674, 0 %t7678 = select i1 %t7677, i32 8, i32 %t7676 %t7679 = getelementptr ptr, ptr null, i32 1 %t7680 = ptrtoint ptr %t7679 to i64 %t7681 = zext i32 %t7678 to i64 %t7682 = mul i64 %t7681, %t7680 %t7683 = load ptr, ptr %t7672 %t7684 = call ptr @realloc(ptr %t7683, i64 %t7682) store ptr %t7684, ptr %t7672 store i32 %t7678, ptr %t7671 br label %put1622 put1622: %t7685 = load ptr, ptr %t7672 %t7686 = getelementptr inbounds ptr, ptr %t7685, i32 %t7673 store ptr @.str7661, ptr %t7686 %t7687 = add i32 %t7673, 1 store i32 %t7687, ptr %t7670 br label %ifend1618 ifend1618: %t7688 = load ptr, ptr %t1 %t7689 = call i32 @lp_str_eq(ptr %t7688, ptr @.str7662) %t7690 = icmp ne i32 %t7689, 0 br i1 %t7690, label %then1623, label %ifend1625 then1623: store ptr @.str7663, ptr %t403 %t7691 = load ptr, ptr %t410 %t7692 = getelementptr inbounds %LSlice, ptr %t7691, i32 0, i32 1 %t7693 = getelementptr inbounds %LSlice, ptr %t7691, i32 0, i32 2 %t7694 = getelementptr inbounds %LSlice, ptr %t7691, i32 0, i32 0 %t7695 = load i32, ptr %t7692 %t7696 = load i32, ptr %t7693 %t7697 = icmp sge i32 %t7695, %t7696 br i1 %t7697, label %grow1626, label %put1627 grow1626: %t7698 = mul i32 %t7696, 2 %t7699 = icmp eq i32 %t7696, 0 %t7700 = select i1 %t7699, i32 8, i32 %t7698 %t7701 = getelementptr ptr, ptr null, i32 1 %t7702 = ptrtoint ptr %t7701 to i64 %t7703 = zext i32 %t7700 to i64 %t7704 = mul i64 %t7703, %t7702 %t7705 = load ptr, ptr %t7694 %t7706 = call ptr @realloc(ptr %t7705, i64 %t7704) store ptr %t7706, ptr %t7694 store i32 %t7700, ptr %t7693 br label %put1627 put1627: %t7707 = load ptr, ptr %t7694 %t7708 = getelementptr inbounds ptr, ptr %t7707, i32 %t7695 store ptr @.str7664, ptr %t7708 %t7709 = add i32 %t7695, 1 store i32 %t7709, ptr %t7692 br label %ifend1625 ifend1625: %t7710 = load ptr, ptr %t1 %t7711 = call i32 @lp_str_eq(ptr %t7710, ptr @.str7665) %t7712 = icmp ne i32 %t7711, 0 br i1 %t7712, label %then1628, label %ifend1630 then1628: store ptr @.str7666, ptr %t403 %t7713 = load ptr, ptr %t410 %t7714 = getelementptr inbounds %LSlice, ptr %t7713, i32 0, i32 1 %t7715 = getelementptr inbounds %LSlice, ptr %t7713, i32 0, i32 2 %t7716 = getelementptr inbounds %LSlice, ptr %t7713, i32 0, i32 0 %t7717 = load i32, ptr %t7714 %t7718 = load i32, ptr %t7715 %t7719 = icmp sge i32 %t7717, %t7718 br i1 %t7719, label %grow1631, label %put1632 grow1631: %t7720 = mul i32 %t7718, 2 %t7721 = icmp eq i32 %t7718, 0 %t7722 = select i1 %t7721, i32 8, i32 %t7720 %t7723 = getelementptr ptr, ptr null, i32 1 %t7724 = ptrtoint ptr %t7723 to i64 %t7725 = zext i32 %t7722 to i64 %t7726 = mul i64 %t7725, %t7724 %t7727 = load ptr, ptr %t7716 %t7728 = call ptr @realloc(ptr %t7727, i64 %t7726) store ptr %t7728, ptr %t7716 store i32 %t7722, ptr %t7715 br label %put1632 put1632: %t7729 = load ptr, ptr %t7716 %t7730 = getelementptr inbounds ptr, ptr %t7729, i32 %t7717 store ptr @.str7667, ptr %t7730 %t7731 = add i32 %t7717, 1 store i32 %t7731, ptr %t7714 br label %ifend1630 ifend1630: %t7732 = load ptr, ptr %t1 %t7733 = call i32 @lp_str_eq(ptr %t7732, ptr @.str7668) %t7734 = icmp ne i32 %t7733, 0 br i1 %t7734, label %then1633, label %ifend1635 then1633: store ptr @.str7669, ptr %t403 %t7735 = load ptr, ptr %t410 %t7736 = getelementptr inbounds %LSlice, ptr %t7735, i32 0, i32 1 %t7737 = getelementptr inbounds %LSlice, ptr %t7735, i32 0, i32 2 %t7738 = getelementptr inbounds %LSlice, ptr %t7735, i32 0, i32 0 %t7739 = load i32, ptr %t7736 %t7740 = load i32, ptr %t7737 %t7741 = icmp sge i32 %t7739, %t7740 br i1 %t7741, label %grow1636, label %put1637 grow1636: %t7742 = mul i32 %t7740, 2 %t7743 = icmp eq i32 %t7740, 0 %t7744 = select i1 %t7743, i32 8, i32 %t7742 %t7745 = getelementptr ptr, ptr null, i32 1 %t7746 = ptrtoint ptr %t7745 to i64 %t7747 = zext i32 %t7744 to i64 %t7748 = mul i64 %t7747, %t7746 %t7749 = load ptr, ptr %t7738 %t7750 = call ptr @realloc(ptr %t7749, i64 %t7748) store ptr %t7750, ptr %t7738 store i32 %t7744, ptr %t7737 br label %put1637 put1637: %t7751 = load ptr, ptr %t7738 %t7752 = getelementptr inbounds ptr, ptr %t7751, i32 %t7739 store ptr @.str7670, ptr %t7752 %t7753 = add i32 %t7739, 1 store i32 %t7753, ptr %t7736 br label %ifend1635 ifend1635: br label %ifend1551 ifend1551: %t7754 = load ptr, ptr %t0 %t7755 = call i32 @lp_str_eq(ptr %t7754, ptr @.str7671) %t7756 = icmp ne i32 %t7755, 0 br i1 %t7756, label %then1638, label %ifend1640 then1638: %t7757 = load ptr, ptr %t1 %t7758 = call i32 @lp_str_eq(ptr %t7757, ptr @.str7672) %t7759 = icmp ne i32 %t7758, 0 br i1 %t7759, label %then1641, label %ifend1643 then1641: store ptr @.str7673, ptr %t403 %t7760 = load ptr, ptr %t410 %t7761 = getelementptr inbounds %LSlice, ptr %t7760, i32 0, i32 1 %t7762 = getelementptr inbounds %LSlice, ptr %t7760, i32 0, i32 2 %t7763 = getelementptr inbounds %LSlice, ptr %t7760, i32 0, i32 0 %t7764 = load i32, ptr %t7761 %t7765 = load i32, ptr %t7762 %t7766 = icmp sge i32 %t7764, %t7765 br i1 %t7766, label %grow1644, label %put1645 grow1644: %t7767 = mul i32 %t7765, 2 %t7768 = icmp eq i32 %t7765, 0 %t7769 = select i1 %t7768, i32 8, i32 %t7767 %t7770 = getelementptr ptr, ptr null, i32 1 %t7771 = ptrtoint ptr %t7770 to i64 %t7772 = zext i32 %t7769 to i64 %t7773 = mul i64 %t7772, %t7771 %t7774 = load ptr, ptr %t7763 %t7775 = call ptr @realloc(ptr %t7774, i64 %t7773) store ptr %t7775, ptr %t7763 store i32 %t7769, ptr %t7762 br label %put1645 put1645: %t7776 = load ptr, ptr %t7763 %t7777 = getelementptr inbounds ptr, ptr %t7776, i32 %t7764 store ptr @.str7674, ptr %t7777 %t7778 = add i32 %t7764, 1 store i32 %t7778, ptr %t7761 br label %ifend1643 ifend1643: %t7779 = load ptr, ptr %t1 %t7780 = call i32 @lp_str_eq(ptr %t7779, ptr @.str7675) %t7781 = icmp ne i32 %t7780, 0 br i1 %t7781, label %then1646, label %ifend1648 then1646: store ptr @.str7676, ptr %t403 %t7782 = load ptr, ptr %t410 %t7783 = getelementptr inbounds %LSlice, ptr %t7782, i32 0, i32 1 %t7784 = getelementptr inbounds %LSlice, ptr %t7782, i32 0, i32 2 %t7785 = getelementptr inbounds %LSlice, ptr %t7782, i32 0, i32 0 %t7786 = load i32, ptr %t7783 %t7787 = load i32, ptr %t7784 %t7788 = icmp sge i32 %t7786, %t7787 br i1 %t7788, label %grow1649, label %put1650 grow1649: %t7789 = mul i32 %t7787, 2 %t7790 = icmp eq i32 %t7787, 0 %t7791 = select i1 %t7790, i32 8, i32 %t7789 %t7792 = getelementptr ptr, ptr null, i32 1 %t7793 = ptrtoint ptr %t7792 to i64 %t7794 = zext i32 %t7791 to i64 %t7795 = mul i64 %t7794, %t7793 %t7796 = load ptr, ptr %t7785 %t7797 = call ptr @realloc(ptr %t7796, i64 %t7795) store ptr %t7797, ptr %t7785 store i32 %t7791, ptr %t7784 br label %put1650 put1650: %t7798 = load ptr, ptr %t7785 %t7799 = getelementptr inbounds ptr, ptr %t7798, i32 %t7786 store ptr @.str7677, ptr %t7799 %t7800 = add i32 %t7786, 1 store i32 %t7800, ptr %t7783 br label %ifend1648 ifend1648: %t7801 = load ptr, ptr %t1 %t7802 = call i32 @lp_str_eq(ptr %t7801, ptr @.str7678) %t7803 = icmp ne i32 %t7802, 0 br i1 %t7803, label %then1651, label %ifend1653 then1651: store ptr @.str7679, ptr %t403 %t7804 = load ptr, ptr %t410 %t7805 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 1 %t7806 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 2 %t7807 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 0 %t7808 = load i32, ptr %t7805 %t7809 = load i32, ptr %t7806 %t7810 = icmp sge i32 %t7808, %t7809 br i1 %t7810, label %grow1654, label %put1655 grow1654: %t7811 = mul i32 %t7809, 2 %t7812 = icmp eq i32 %t7809, 0 %t7813 = select i1 %t7812, i32 8, i32 %t7811 %t7814 = getelementptr ptr, ptr null, i32 1 %t7815 = ptrtoint ptr %t7814 to i64 %t7816 = zext i32 %t7813 to i64 %t7817 = mul i64 %t7816, %t7815 %t7818 = load ptr, ptr %t7807 %t7819 = call ptr @realloc(ptr %t7818, i64 %t7817) store ptr %t7819, ptr %t7807 store i32 %t7813, ptr %t7806 br label %put1655 put1655: %t7820 = load ptr, ptr %t7807 %t7821 = getelementptr inbounds ptr, ptr %t7820, i32 %t7808 store ptr @.str7680, ptr %t7821 %t7822 = add i32 %t7808, 1 store i32 %t7822, ptr %t7805 %t7823 = load ptr, ptr %t410 %t7824 = getelementptr inbounds %LSlice, ptr %t7823, i32 0, i32 1 %t7825 = getelementptr inbounds %LSlice, ptr %t7823, i32 0, i32 2 %t7826 = getelementptr inbounds %LSlice, ptr %t7823, i32 0, i32 0 %t7827 = load i32, ptr %t7824 %t7828 = load i32, ptr %t7825 %t7829 = icmp sge i32 %t7827, %t7828 br i1 %t7829, label %grow1656, label %put1657 grow1656: %t7830 = mul i32 %t7828, 2 %t7831 = icmp eq i32 %t7828, 0 %t7832 = select i1 %t7831, i32 8, i32 %t7830 %t7833 = getelementptr ptr, ptr null, i32 1 %t7834 = ptrtoint ptr %t7833 to i64 %t7835 = zext i32 %t7832 to i64 %t7836 = mul i64 %t7835, %t7834 %t7837 = load ptr, ptr %t7826 %t7838 = call ptr @realloc(ptr %t7837, i64 %t7836) store ptr %t7838, ptr %t7826 store i32 %t7832, ptr %t7825 br label %put1657 put1657: %t7839 = load ptr, ptr %t7826 %t7840 = getelementptr inbounds ptr, ptr %t7839, i32 %t7827 store ptr @.str7681, ptr %t7840 %t7841 = add i32 %t7827, 1 store i32 %t7841, ptr %t7824 br label %ifend1653 ifend1653: %t7842 = load ptr, ptr %t1 %t7843 = call i32 @lp_str_eq(ptr %t7842, ptr @.str7682) %t7844 = icmp ne i32 %t7843, 0 br i1 %t7844, label %then1658, label %ifend1660 then1658: store ptr @.str7683, ptr %t403 %t7845 = load ptr, ptr %t410 %t7846 = getelementptr inbounds %LSlice, ptr %t7845, i32 0, i32 1 %t7847 = getelementptr inbounds %LSlice, ptr %t7845, i32 0, i32 2 %t7848 = getelementptr inbounds %LSlice, ptr %t7845, i32 0, i32 0 %t7849 = load i32, ptr %t7846 %t7850 = load i32, ptr %t7847 %t7851 = icmp sge i32 %t7849, %t7850 br i1 %t7851, label %grow1661, label %put1662 grow1661: %t7852 = mul i32 %t7850, 2 %t7853 = icmp eq i32 %t7850, 0 %t7854 = select i1 %t7853, i32 8, i32 %t7852 %t7855 = getelementptr ptr, ptr null, i32 1 %t7856 = ptrtoint ptr %t7855 to i64 %t7857 = zext i32 %t7854 to i64 %t7858 = mul i64 %t7857, %t7856 %t7859 = load ptr, ptr %t7848 %t7860 = call ptr @realloc(ptr %t7859, i64 %t7858) store ptr %t7860, ptr %t7848 store i32 %t7854, ptr %t7847 br label %put1662 put1662: %t7861 = load ptr, ptr %t7848 %t7862 = getelementptr inbounds ptr, ptr %t7861, i32 %t7849 store ptr @.str7684, ptr %t7862 %t7863 = add i32 %t7849, 1 store i32 %t7863, ptr %t7846 %t7864 = load ptr, ptr %t410 %t7865 = getelementptr inbounds %LSlice, ptr %t7864, i32 0, i32 1 %t7866 = getelementptr inbounds %LSlice, ptr %t7864, i32 0, i32 2 %t7867 = getelementptr inbounds %LSlice, ptr %t7864, i32 0, i32 0 %t7868 = load i32, ptr %t7865 %t7869 = load i32, ptr %t7866 %t7870 = icmp sge i32 %t7868, %t7869 br i1 %t7870, label %grow1663, label %put1664 grow1663: %t7871 = mul i32 %t7869, 2 %t7872 = icmp eq i32 %t7869, 0 %t7873 = select i1 %t7872, i32 8, i32 %t7871 %t7874 = getelementptr ptr, ptr null, i32 1 %t7875 = ptrtoint ptr %t7874 to i64 %t7876 = zext i32 %t7873 to i64 %t7877 = mul i64 %t7876, %t7875 %t7878 = load ptr, ptr %t7867 %t7879 = call ptr @realloc(ptr %t7878, i64 %t7877) store ptr %t7879, ptr %t7867 store i32 %t7873, ptr %t7866 br label %put1664 put1664: %t7880 = load ptr, ptr %t7867 %t7881 = getelementptr inbounds ptr, ptr %t7880, i32 %t7868 store ptr @.str7685, ptr %t7881 %t7882 = add i32 %t7868, 1 store i32 %t7882, ptr %t7865 br label %ifend1660 ifend1660: %t7883 = load ptr, ptr %t1 %t7884 = call i32 @lp_str_eq(ptr %t7883, ptr @.str7686) %t7885 = icmp ne i32 %t7884, 0 br i1 %t7885, label %then1665, label %ifend1667 then1665: store ptr @.str7687, ptr %t403 %t7886 = load ptr, ptr %t410 %t7887 = getelementptr inbounds %LSlice, ptr %t7886, i32 0, i32 1 %t7888 = getelementptr inbounds %LSlice, ptr %t7886, i32 0, i32 2 %t7889 = getelementptr inbounds %LSlice, ptr %t7886, i32 0, i32 0 %t7890 = load i32, ptr %t7887 %t7891 = load i32, ptr %t7888 %t7892 = icmp sge i32 %t7890, %t7891 br i1 %t7892, label %grow1668, label %put1669 grow1668: %t7893 = mul i32 %t7891, 2 %t7894 = icmp eq i32 %t7891, 0 %t7895 = select i1 %t7894, i32 8, i32 %t7893 %t7896 = getelementptr ptr, ptr null, i32 1 %t7897 = ptrtoint ptr %t7896 to i64 %t7898 = zext i32 %t7895 to i64 %t7899 = mul i64 %t7898, %t7897 %t7900 = load ptr, ptr %t7889 %t7901 = call ptr @realloc(ptr %t7900, i64 %t7899) store ptr %t7901, ptr %t7889 store i32 %t7895, ptr %t7888 br label %put1669 put1669: %t7902 = load ptr, ptr %t7889 %t7903 = getelementptr inbounds ptr, ptr %t7902, i32 %t7890 store ptr @.str7688, ptr %t7903 %t7904 = add i32 %t7890, 1 store i32 %t7904, ptr %t7887 %t7905 = load ptr, ptr %t410 %t7906 = getelementptr inbounds %LSlice, ptr %t7905, i32 0, i32 1 %t7907 = getelementptr inbounds %LSlice, ptr %t7905, i32 0, i32 2 %t7908 = getelementptr inbounds %LSlice, ptr %t7905, i32 0, i32 0 %t7909 = load i32, ptr %t7906 %t7910 = load i32, ptr %t7907 %t7911 = icmp sge i32 %t7909, %t7910 br i1 %t7911, label %grow1670, label %put1671 grow1670: %t7912 = mul i32 %t7910, 2 %t7913 = icmp eq i32 %t7910, 0 %t7914 = select i1 %t7913, i32 8, i32 %t7912 %t7915 = getelementptr ptr, ptr null, i32 1 %t7916 = ptrtoint ptr %t7915 to i64 %t7917 = zext i32 %t7914 to i64 %t7918 = mul i64 %t7917, %t7916 %t7919 = load ptr, ptr %t7908 %t7920 = call ptr @realloc(ptr %t7919, i64 %t7918) store ptr %t7920, ptr %t7908 store i32 %t7914, ptr %t7907 br label %put1671 put1671: %t7921 = load ptr, ptr %t7908 %t7922 = getelementptr inbounds ptr, ptr %t7921, i32 %t7909 store ptr @.str7689, ptr %t7922 %t7923 = add i32 %t7909, 1 store i32 %t7923, ptr %t7906 br label %ifend1667 ifend1667: %t7924 = load ptr, ptr %t1 %t7925 = call i32 @lp_str_eq(ptr %t7924, ptr @.str7690) %t7926 = icmp ne i32 %t7925, 0 br i1 %t7926, label %then1672, label %ifend1674 then1672: store ptr @.str7691, ptr %t403 %t7927 = load ptr, ptr %t410 %t7928 = getelementptr inbounds %LSlice, ptr %t7927, i32 0, i32 1 %t7929 = getelementptr inbounds %LSlice, ptr %t7927, i32 0, i32 2 %t7930 = getelementptr inbounds %LSlice, ptr %t7927, i32 0, i32 0 %t7931 = load i32, ptr %t7928 %t7932 = load i32, ptr %t7929 %t7933 = icmp sge i32 %t7931, %t7932 br i1 %t7933, label %grow1675, label %put1676 grow1675: %t7934 = mul i32 %t7932, 2 %t7935 = icmp eq i32 %t7932, 0 %t7936 = select i1 %t7935, i32 8, i32 %t7934 %t7937 = getelementptr ptr, ptr null, i32 1 %t7938 = ptrtoint ptr %t7937 to i64 %t7939 = zext i32 %t7936 to i64 %t7940 = mul i64 %t7939, %t7938 %t7941 = load ptr, ptr %t7930 %t7942 = call ptr @realloc(ptr %t7941, i64 %t7940) store ptr %t7942, ptr %t7930 store i32 %t7936, ptr %t7929 br label %put1676 put1676: %t7943 = load ptr, ptr %t7930 %t7944 = getelementptr inbounds ptr, ptr %t7943, i32 %t7931 store ptr @.str7692, ptr %t7944 %t7945 = add i32 %t7931, 1 store i32 %t7945, ptr %t7928 br label %ifend1674 ifend1674: %t7946 = load ptr, ptr %t1 %t7947 = call i32 @lp_str_eq(ptr %t7946, ptr @.str7693) %t7948 = icmp ne i32 %t7947, 0 br i1 %t7948, label %then1677, label %ifend1679 then1677: store ptr @.str7694, ptr %t403 %t7949 = load ptr, ptr %t410 %t7950 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 1 %t7951 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 2 %t7952 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 0 %t7953 = load i32, ptr %t7950 %t7954 = load i32, ptr %t7951 %t7955 = icmp sge i32 %t7953, %t7954 br i1 %t7955, label %grow1680, label %put1681 grow1680: %t7956 = mul i32 %t7954, 2 %t7957 = icmp eq i32 %t7954, 0 %t7958 = select i1 %t7957, i32 8, i32 %t7956 %t7959 = getelementptr ptr, ptr null, i32 1 %t7960 = ptrtoint ptr %t7959 to i64 %t7961 = zext i32 %t7958 to i64 %t7962 = mul i64 %t7961, %t7960 %t7963 = load ptr, ptr %t7952 %t7964 = call ptr @realloc(ptr %t7963, i64 %t7962) store ptr %t7964, ptr %t7952 store i32 %t7958, ptr %t7951 br label %put1681 put1681: %t7965 = load ptr, ptr %t7952 %t7966 = getelementptr inbounds ptr, ptr %t7965, i32 %t7953 store ptr @.str7695, ptr %t7966 %t7967 = add i32 %t7953, 1 store i32 %t7967, ptr %t7950 %t7968 = load ptr, ptr %t410 %t7969 = getelementptr inbounds %LSlice, ptr %t7968, i32 0, i32 1 %t7970 = getelementptr inbounds %LSlice, ptr %t7968, i32 0, i32 2 %t7971 = getelementptr inbounds %LSlice, ptr %t7968, i32 0, i32 0 %t7972 = load i32, ptr %t7969 %t7973 = load i32, ptr %t7970 %t7974 = icmp sge i32 %t7972, %t7973 br i1 %t7974, label %grow1682, label %put1683 grow1682: %t7975 = mul i32 %t7973, 2 %t7976 = icmp eq i32 %t7973, 0 %t7977 = select i1 %t7976, i32 8, i32 %t7975 %t7978 = getelementptr ptr, ptr null, i32 1 %t7979 = ptrtoint ptr %t7978 to i64 %t7980 = zext i32 %t7977 to i64 %t7981 = mul i64 %t7980, %t7979 %t7982 = load ptr, ptr %t7971 %t7983 = call ptr @realloc(ptr %t7982, i64 %t7981) store ptr %t7983, ptr %t7971 store i32 %t7977, ptr %t7970 br label %put1683 put1683: %t7984 = load ptr, ptr %t7971 %t7985 = getelementptr inbounds ptr, ptr %t7984, i32 %t7972 store ptr @.str7696, ptr %t7985 %t7986 = add i32 %t7972, 1 store i32 %t7986, ptr %t7969 br label %ifend1679 ifend1679: %t7987 = load ptr, ptr %t1 %t7988 = call i32 @lp_str_eq(ptr %t7987, ptr @.str7697) %t7989 = icmp ne i32 %t7988, 0 br i1 %t7989, label %then1684, label %ifend1686 then1684: store ptr @.str7698, ptr %t403 %t7990 = load ptr, ptr %t410 %t7991 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 1 %t7992 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 2 %t7993 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 0 %t7994 = load i32, ptr %t7991 %t7995 = load i32, ptr %t7992 %t7996 = icmp sge i32 %t7994, %t7995 br i1 %t7996, label %grow1687, label %put1688 grow1687: %t7997 = mul i32 %t7995, 2 %t7998 = icmp eq i32 %t7995, 0 %t7999 = select i1 %t7998, i32 8, i32 %t7997 %t8000 = getelementptr ptr, ptr null, i32 1 %t8001 = ptrtoint ptr %t8000 to i64 %t8002 = zext i32 %t7999 to i64 %t8003 = mul i64 %t8002, %t8001 %t8004 = load ptr, ptr %t7993 %t8005 = call ptr @realloc(ptr %t8004, i64 %t8003) store ptr %t8005, ptr %t7993 store i32 %t7999, ptr %t7992 br label %put1688 put1688: %t8006 = load ptr, ptr %t7993 %t8007 = getelementptr inbounds ptr, ptr %t8006, i32 %t7994 store ptr @.str7699, ptr %t8007 %t8008 = add i32 %t7994, 1 store i32 %t8008, ptr %t7991 %t8009 = load ptr, ptr %t410 %t8010 = getelementptr inbounds %LSlice, ptr %t8009, i32 0, i32 1 %t8011 = getelementptr inbounds %LSlice, ptr %t8009, i32 0, i32 2 %t8012 = getelementptr inbounds %LSlice, ptr %t8009, i32 0, i32 0 %t8013 = load i32, ptr %t8010 %t8014 = load i32, ptr %t8011 %t8015 = icmp sge i32 %t8013, %t8014 br i1 %t8015, label %grow1689, label %put1690 grow1689: %t8016 = mul i32 %t8014, 2 %t8017 = icmp eq i32 %t8014, 0 %t8018 = select i1 %t8017, i32 8, i32 %t8016 %t8019 = getelementptr ptr, ptr null, i32 1 %t8020 = ptrtoint ptr %t8019 to i64 %t8021 = zext i32 %t8018 to i64 %t8022 = mul i64 %t8021, %t8020 %t8023 = load ptr, ptr %t8012 %t8024 = call ptr @realloc(ptr %t8023, i64 %t8022) store ptr %t8024, ptr %t8012 store i32 %t8018, ptr %t8011 br label %put1690 put1690: %t8025 = load ptr, ptr %t8012 %t8026 = getelementptr inbounds ptr, ptr %t8025, i32 %t8013 store ptr @.str7700, ptr %t8026 %t8027 = add i32 %t8013, 1 store i32 %t8027, ptr %t8010 br label %ifend1686 ifend1686: %t8028 = load ptr, ptr %t1 %t8029 = call i32 @lp_str_eq(ptr %t8028, ptr @.str7701) %t8030 = icmp ne i32 %t8029, 0 br i1 %t8030, label %then1691, label %ifend1693 then1691: store ptr @.str7702, ptr %t403 %t8031 = load ptr, ptr %t410 %t8032 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 1 %t8033 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 2 %t8034 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 0 %t8035 = load i32, ptr %t8032 %t8036 = load i32, ptr %t8033 %t8037 = icmp sge i32 %t8035, %t8036 br i1 %t8037, label %grow1694, label %put1695 grow1694: %t8038 = mul i32 %t8036, 2 %t8039 = icmp eq i32 %t8036, 0 %t8040 = select i1 %t8039, i32 8, i32 %t8038 %t8041 = getelementptr ptr, ptr null, i32 1 %t8042 = ptrtoint ptr %t8041 to i64 %t8043 = zext i32 %t8040 to i64 %t8044 = mul i64 %t8043, %t8042 %t8045 = load ptr, ptr %t8034 %t8046 = call ptr @realloc(ptr %t8045, i64 %t8044) store ptr %t8046, ptr %t8034 store i32 %t8040, ptr %t8033 br label %put1695 put1695: %t8047 = load ptr, ptr %t8034 %t8048 = getelementptr inbounds ptr, ptr %t8047, i32 %t8035 store ptr @.str7703, ptr %t8048 %t8049 = add i32 %t8035, 1 store i32 %t8049, ptr %t8032 br label %ifend1693 ifend1693: %t8050 = load ptr, ptr %t1 %t8051 = call i32 @lp_str_eq(ptr %t8050, ptr @.str7704) %t8052 = icmp ne i32 %t8051, 0 br i1 %t8052, label %then1696, label %ifend1698 then1696: store ptr @.str7705, ptr %t403 %t8053 = load ptr, ptr %t410 %t8054 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 1 %t8055 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 2 %t8056 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 0 %t8057 = load i32, ptr %t8054 %t8058 = load i32, ptr %t8055 %t8059 = icmp sge i32 %t8057, %t8058 br i1 %t8059, label %grow1699, label %put1700 grow1699: %t8060 = mul i32 %t8058, 2 %t8061 = icmp eq i32 %t8058, 0 %t8062 = select i1 %t8061, i32 8, i32 %t8060 %t8063 = getelementptr ptr, ptr null, i32 1 %t8064 = ptrtoint ptr %t8063 to i64 %t8065 = zext i32 %t8062 to i64 %t8066 = mul i64 %t8065, %t8064 %t8067 = load ptr, ptr %t8056 %t8068 = call ptr @realloc(ptr %t8067, i64 %t8066) store ptr %t8068, ptr %t8056 store i32 %t8062, ptr %t8055 br label %put1700 put1700: %t8069 = load ptr, ptr %t8056 %t8070 = getelementptr inbounds ptr, ptr %t8069, i32 %t8057 store ptr @.str7706, ptr %t8070 %t8071 = add i32 %t8057, 1 store i32 %t8071, ptr %t8054 %t8072 = load ptr, ptr %t410 %t8073 = getelementptr inbounds %LSlice, ptr %t8072, i32 0, i32 1 %t8074 = getelementptr inbounds %LSlice, ptr %t8072, i32 0, i32 2 %t8075 = getelementptr inbounds %LSlice, ptr %t8072, i32 0, i32 0 %t8076 = load i32, ptr %t8073 %t8077 = load i32, ptr %t8074 %t8078 = icmp sge i32 %t8076, %t8077 br i1 %t8078, label %grow1701, label %put1702 grow1701: %t8079 = mul i32 %t8077, 2 %t8080 = icmp eq i32 %t8077, 0 %t8081 = select i1 %t8080, i32 8, i32 %t8079 %t8082 = getelementptr ptr, ptr null, i32 1 %t8083 = ptrtoint ptr %t8082 to i64 %t8084 = zext i32 %t8081 to i64 %t8085 = mul i64 %t8084, %t8083 %t8086 = load ptr, ptr %t8075 %t8087 = call ptr @realloc(ptr %t8086, i64 %t8085) store ptr %t8087, ptr %t8075 store i32 %t8081, ptr %t8074 br label %put1702 put1702: %t8088 = load ptr, ptr %t8075 %t8089 = getelementptr inbounds ptr, ptr %t8088, i32 %t8076 store ptr @.str7707, ptr %t8089 %t8090 = add i32 %t8076, 1 store i32 %t8090, ptr %t8073 br label %ifend1698 ifend1698: %t8091 = load ptr, ptr %t1 %t8092 = call i32 @lp_str_eq(ptr %t8091, ptr @.str7708) %t8093 = icmp ne i32 %t8092, 0 br i1 %t8093, label %then1703, label %ifend1705 then1703: store ptr @.str7709, ptr %t403 %t8094 = load ptr, ptr %t410 %t8095 = getelementptr inbounds %LSlice, ptr %t8094, i32 0, i32 1 %t8096 = getelementptr inbounds %LSlice, ptr %t8094, i32 0, i32 2 %t8097 = getelementptr inbounds %LSlice, ptr %t8094, i32 0, i32 0 %t8098 = load i32, ptr %t8095 %t8099 = load i32, ptr %t8096 %t8100 = icmp sge i32 %t8098, %t8099 br i1 %t8100, label %grow1706, label %put1707 grow1706: %t8101 = mul i32 %t8099, 2 %t8102 = icmp eq i32 %t8099, 0 %t8103 = select i1 %t8102, i32 8, i32 %t8101 %t8104 = getelementptr ptr, ptr null, i32 1 %t8105 = ptrtoint ptr %t8104 to i64 %t8106 = zext i32 %t8103 to i64 %t8107 = mul i64 %t8106, %t8105 %t8108 = load ptr, ptr %t8097 %t8109 = call ptr @realloc(ptr %t8108, i64 %t8107) store ptr %t8109, ptr %t8097 store i32 %t8103, ptr %t8096 br label %put1707 put1707: %t8110 = load ptr, ptr %t8097 %t8111 = getelementptr inbounds ptr, ptr %t8110, i32 %t8098 store ptr @.str7710, ptr %t8111 %t8112 = add i32 %t8098, 1 store i32 %t8112, ptr %t8095 br label %ifend1705 ifend1705: br label %ifend1640 ifend1640: %t8113 = load ptr, ptr %t0 %t8114 = call i32 @lp_str_eq(ptr %t8113, ptr @.str7711) %t8115 = icmp ne i32 %t8114, 0 br i1 %t8115, label %then1708, label %ifend1710 then1708: %t8116 = load ptr, ptr %t1 %t8117 = call i32 @lp_str_eq(ptr %t8116, ptr @.str7712) %t8118 = icmp ne i32 %t8117, 0 br i1 %t8118, label %then1711, label %ifend1713 then1711: store ptr @.str7713, ptr %t403 br label %ifend1713 ifend1713: %t8119 = load ptr, ptr %t1 %t8120 = call i32 @lp_str_eq(ptr %t8119, ptr @.str7714) %t8121 = icmp ne i32 %t8120, 0 br i1 %t8121, label %then1714, label %ifend1716 then1714: store ptr @.str7715, ptr %t403 %t8122 = load ptr, ptr %t410 %t8123 = getelementptr inbounds %LSlice, ptr %t8122, i32 0, i32 1 %t8124 = getelementptr inbounds %LSlice, ptr %t8122, i32 0, i32 2 %t8125 = getelementptr inbounds %LSlice, ptr %t8122, i32 0, i32 0 %t8126 = load i32, ptr %t8123 %t8127 = load i32, ptr %t8124 %t8128 = icmp sge i32 %t8126, %t8127 br i1 %t8128, label %grow1717, label %put1718 grow1717: %t8129 = mul i32 %t8127, 2 %t8130 = icmp eq i32 %t8127, 0 %t8131 = select i1 %t8130, i32 8, i32 %t8129 %t8132 = getelementptr ptr, ptr null, i32 1 %t8133 = ptrtoint ptr %t8132 to i64 %t8134 = zext i32 %t8131 to i64 %t8135 = mul i64 %t8134, %t8133 %t8136 = load ptr, ptr %t8125 %t8137 = call ptr @realloc(ptr %t8136, i64 %t8135) store ptr %t8137, ptr %t8125 store i32 %t8131, ptr %t8124 br label %put1718 put1718: %t8138 = load ptr, ptr %t8125 %t8139 = getelementptr inbounds ptr, ptr %t8138, i32 %t8126 store ptr @.str7716, ptr %t8139 %t8140 = add i32 %t8126, 1 store i32 %t8140, ptr %t8123 %t8141 = load ptr, ptr %t410 %t8142 = getelementptr inbounds %LSlice, ptr %t8141, i32 0, i32 1 %t8143 = getelementptr inbounds %LSlice, ptr %t8141, i32 0, i32 2 %t8144 = getelementptr inbounds %LSlice, ptr %t8141, i32 0, i32 0 %t8145 = load i32, ptr %t8142 %t8146 = load i32, ptr %t8143 %t8147 = icmp sge i32 %t8145, %t8146 br i1 %t8147, label %grow1719, label %put1720 grow1719: %t8148 = mul i32 %t8146, 2 %t8149 = icmp eq i32 %t8146, 0 %t8150 = select i1 %t8149, i32 8, i32 %t8148 %t8151 = getelementptr ptr, ptr null, i32 1 %t8152 = ptrtoint ptr %t8151 to i64 %t8153 = zext i32 %t8150 to i64 %t8154 = mul i64 %t8153, %t8152 %t8155 = load ptr, ptr %t8144 %t8156 = call ptr @realloc(ptr %t8155, i64 %t8154) store ptr %t8156, ptr %t8144 store i32 %t8150, ptr %t8143 br label %put1720 put1720: %t8157 = load ptr, ptr %t8144 %t8158 = getelementptr inbounds ptr, ptr %t8157, i32 %t8145 store ptr @.str7717, ptr %t8158 %t8159 = add i32 %t8145, 1 store i32 %t8159, ptr %t8142 %t8160 = load ptr, ptr %t410 %t8161 = getelementptr inbounds %LSlice, ptr %t8160, i32 0, i32 1 %t8162 = getelementptr inbounds %LSlice, ptr %t8160, i32 0, i32 2 %t8163 = getelementptr inbounds %LSlice, ptr %t8160, i32 0, i32 0 %t8164 = load i32, ptr %t8161 %t8165 = load i32, ptr %t8162 %t8166 = icmp sge i32 %t8164, %t8165 br i1 %t8166, label %grow1721, label %put1722 grow1721: %t8167 = mul i32 %t8165, 2 %t8168 = icmp eq i32 %t8165, 0 %t8169 = select i1 %t8168, i32 8, i32 %t8167 %t8170 = getelementptr ptr, ptr null, i32 1 %t8171 = ptrtoint ptr %t8170 to i64 %t8172 = zext i32 %t8169 to i64 %t8173 = mul i64 %t8172, %t8171 %t8174 = load ptr, ptr %t8163 %t8175 = call ptr @realloc(ptr %t8174, i64 %t8173) store ptr %t8175, ptr %t8163 store i32 %t8169, ptr %t8162 br label %put1722 put1722: %t8176 = load ptr, ptr %t8163 %t8177 = getelementptr inbounds ptr, ptr %t8176, i32 %t8164 store ptr @.str7718, ptr %t8177 %t8178 = add i32 %t8164, 1 store i32 %t8178, ptr %t8161 br label %ifend1716 ifend1716: %t8179 = load ptr, ptr %t1 %t8180 = call i32 @lp_str_eq(ptr %t8179, ptr @.str7719) %t8181 = icmp ne i32 %t8180, 0 br i1 %t8181, label %then1723, label %ifend1725 then1723: store ptr @.str7720, ptr %t403 %t8182 = load ptr, ptr %t410 %t8183 = getelementptr inbounds %LSlice, ptr %t8182, i32 0, i32 1 %t8184 = getelementptr inbounds %LSlice, ptr %t8182, i32 0, i32 2 %t8185 = getelementptr inbounds %LSlice, ptr %t8182, i32 0, i32 0 %t8186 = load i32, ptr %t8183 %t8187 = load i32, ptr %t8184 %t8188 = icmp sge i32 %t8186, %t8187 br i1 %t8188, label %grow1726, label %put1727 grow1726: %t8189 = mul i32 %t8187, 2 %t8190 = icmp eq i32 %t8187, 0 %t8191 = select i1 %t8190, i32 8, i32 %t8189 %t8192 = getelementptr ptr, ptr null, i32 1 %t8193 = ptrtoint ptr %t8192 to i64 %t8194 = zext i32 %t8191 to i64 %t8195 = mul i64 %t8194, %t8193 %t8196 = load ptr, ptr %t8185 %t8197 = call ptr @realloc(ptr %t8196, i64 %t8195) store ptr %t8197, ptr %t8185 store i32 %t8191, ptr %t8184 br label %put1727 put1727: %t8198 = load ptr, ptr %t8185 %t8199 = getelementptr inbounds ptr, ptr %t8198, i32 %t8186 store ptr @.str7721, ptr %t8199 %t8200 = add i32 %t8186, 1 store i32 %t8200, ptr %t8183 %t8201 = load ptr, ptr %t410 %t8202 = getelementptr inbounds %LSlice, ptr %t8201, i32 0, i32 1 %t8203 = getelementptr inbounds %LSlice, ptr %t8201, i32 0, i32 2 %t8204 = getelementptr inbounds %LSlice, ptr %t8201, i32 0, i32 0 %t8205 = load i32, ptr %t8202 %t8206 = load i32, ptr %t8203 %t8207 = icmp sge i32 %t8205, %t8206 br i1 %t8207, label %grow1728, label %put1729 grow1728: %t8208 = mul i32 %t8206, 2 %t8209 = icmp eq i32 %t8206, 0 %t8210 = select i1 %t8209, i32 8, i32 %t8208 %t8211 = getelementptr ptr, ptr null, i32 1 %t8212 = ptrtoint ptr %t8211 to i64 %t8213 = zext i32 %t8210 to i64 %t8214 = mul i64 %t8213, %t8212 %t8215 = load ptr, ptr %t8204 %t8216 = call ptr @realloc(ptr %t8215, i64 %t8214) store ptr %t8216, ptr %t8204 store i32 %t8210, ptr %t8203 br label %put1729 put1729: %t8217 = load ptr, ptr %t8204 %t8218 = getelementptr inbounds ptr, ptr %t8217, i32 %t8205 store ptr @.str7722, ptr %t8218 %t8219 = add i32 %t8205, 1 store i32 %t8219, ptr %t8202 br label %ifend1725 ifend1725: %t8220 = load ptr, ptr %t1 %t8221 = call i32 @lp_str_eq(ptr %t8220, ptr @.str7723) %t8222 = icmp ne i32 %t8221, 0 br i1 %t8222, label %then1730, label %ifend1732 then1730: store ptr @.str7724, ptr %t403 %t8223 = load ptr, ptr %t410 %t8224 = getelementptr inbounds %LSlice, ptr %t8223, i32 0, i32 1 %t8225 = getelementptr inbounds %LSlice, ptr %t8223, i32 0, i32 2 %t8226 = getelementptr inbounds %LSlice, ptr %t8223, i32 0, i32 0 %t8227 = load i32, ptr %t8224 %t8228 = load i32, ptr %t8225 %t8229 = icmp sge i32 %t8227, %t8228 br i1 %t8229, label %grow1733, label %put1734 grow1733: %t8230 = mul i32 %t8228, 2 %t8231 = icmp eq i32 %t8228, 0 %t8232 = select i1 %t8231, i32 8, i32 %t8230 %t8233 = getelementptr ptr, ptr null, i32 1 %t8234 = ptrtoint ptr %t8233 to i64 %t8235 = zext i32 %t8232 to i64 %t8236 = mul i64 %t8235, %t8234 %t8237 = load ptr, ptr %t8226 %t8238 = call ptr @realloc(ptr %t8237, i64 %t8236) store ptr %t8238, ptr %t8226 store i32 %t8232, ptr %t8225 br label %put1734 put1734: %t8239 = load ptr, ptr %t8226 %t8240 = getelementptr inbounds ptr, ptr %t8239, i32 %t8227 store ptr @.str7725, ptr %t8240 %t8241 = add i32 %t8227, 1 store i32 %t8241, ptr %t8224 %t8242 = load ptr, ptr %t410 %t8243 = getelementptr inbounds %LSlice, ptr %t8242, i32 0, i32 1 %t8244 = getelementptr inbounds %LSlice, ptr %t8242, i32 0, i32 2 %t8245 = getelementptr inbounds %LSlice, ptr %t8242, i32 0, i32 0 %t8246 = load i32, ptr %t8243 %t8247 = load i32, ptr %t8244 %t8248 = icmp sge i32 %t8246, %t8247 br i1 %t8248, label %grow1735, label %put1736 grow1735: %t8249 = mul i32 %t8247, 2 %t8250 = icmp eq i32 %t8247, 0 %t8251 = select i1 %t8250, i32 8, i32 %t8249 %t8252 = getelementptr ptr, ptr null, i32 1 %t8253 = ptrtoint ptr %t8252 to i64 %t8254 = zext i32 %t8251 to i64 %t8255 = mul i64 %t8254, %t8253 %t8256 = load ptr, ptr %t8245 %t8257 = call ptr @realloc(ptr %t8256, i64 %t8255) store ptr %t8257, ptr %t8245 store i32 %t8251, ptr %t8244 br label %put1736 put1736: %t8258 = load ptr, ptr %t8245 %t8259 = getelementptr inbounds ptr, ptr %t8258, i32 %t8246 store ptr @.str7726, ptr %t8259 %t8260 = add i32 %t8246, 1 store i32 %t8260, ptr %t8243 %t8261 = load ptr, ptr %t410 %t8262 = getelementptr inbounds %LSlice, ptr %t8261, i32 0, i32 1 %t8263 = getelementptr inbounds %LSlice, ptr %t8261, i32 0, i32 2 %t8264 = getelementptr inbounds %LSlice, ptr %t8261, i32 0, i32 0 %t8265 = load i32, ptr %t8262 %t8266 = load i32, ptr %t8263 %t8267 = icmp sge i32 %t8265, %t8266 br i1 %t8267, label %grow1737, label %put1738 grow1737: %t8268 = mul i32 %t8266, 2 %t8269 = icmp eq i32 %t8266, 0 %t8270 = select i1 %t8269, i32 8, i32 %t8268 %t8271 = getelementptr ptr, ptr null, i32 1 %t8272 = ptrtoint ptr %t8271 to i64 %t8273 = zext i32 %t8270 to i64 %t8274 = mul i64 %t8273, %t8272 %t8275 = load ptr, ptr %t8264 %t8276 = call ptr @realloc(ptr %t8275, i64 %t8274) store ptr %t8276, ptr %t8264 store i32 %t8270, ptr %t8263 br label %put1738 put1738: %t8277 = load ptr, ptr %t8264 %t8278 = getelementptr inbounds ptr, ptr %t8277, i32 %t8265 store ptr @.str7727, ptr %t8278 %t8279 = add i32 %t8265, 1 store i32 %t8279, ptr %t8262 br label %ifend1732 ifend1732: %t8280 = load ptr, ptr %t1 %t8281 = call i32 @lp_str_eq(ptr %t8280, ptr @.str7728) %t8282 = icmp ne i32 %t8281, 0 br i1 %t8282, label %then1739, label %ifend1741 then1739: store ptr @.str7729, ptr %t403 %t8283 = load ptr, ptr %t410 %t8284 = getelementptr inbounds %LSlice, ptr %t8283, i32 0, i32 1 %t8285 = getelementptr inbounds %LSlice, ptr %t8283, i32 0, i32 2 %t8286 = getelementptr inbounds %LSlice, ptr %t8283, i32 0, i32 0 %t8287 = load i32, ptr %t8284 %t8288 = load i32, ptr %t8285 %t8289 = icmp sge i32 %t8287, %t8288 br i1 %t8289, label %grow1742, label %put1743 grow1742: %t8290 = mul i32 %t8288, 2 %t8291 = icmp eq i32 %t8288, 0 %t8292 = select i1 %t8291, i32 8, i32 %t8290 %t8293 = getelementptr ptr, ptr null, i32 1 %t8294 = ptrtoint ptr %t8293 to i64 %t8295 = zext i32 %t8292 to i64 %t8296 = mul i64 %t8295, %t8294 %t8297 = load ptr, ptr %t8286 %t8298 = call ptr @realloc(ptr %t8297, i64 %t8296) store ptr %t8298, ptr %t8286 store i32 %t8292, ptr %t8285 br label %put1743 put1743: %t8299 = load ptr, ptr %t8286 %t8300 = getelementptr inbounds ptr, ptr %t8299, i32 %t8287 store ptr @.str7730, ptr %t8300 %t8301 = add i32 %t8287, 1 store i32 %t8301, ptr %t8284 %t8302 = load ptr, ptr %t410 %t8303 = getelementptr inbounds %LSlice, ptr %t8302, i32 0, i32 1 %t8304 = getelementptr inbounds %LSlice, ptr %t8302, i32 0, i32 2 %t8305 = getelementptr inbounds %LSlice, ptr %t8302, i32 0, i32 0 %t8306 = load i32, ptr %t8303 %t8307 = load i32, ptr %t8304 %t8308 = icmp sge i32 %t8306, %t8307 br i1 %t8308, label %grow1744, label %put1745 grow1744: %t8309 = mul i32 %t8307, 2 %t8310 = icmp eq i32 %t8307, 0 %t8311 = select i1 %t8310, i32 8, i32 %t8309 %t8312 = getelementptr ptr, ptr null, i32 1 %t8313 = ptrtoint ptr %t8312 to i64 %t8314 = zext i32 %t8311 to i64 %t8315 = mul i64 %t8314, %t8313 %t8316 = load ptr, ptr %t8305 %t8317 = call ptr @realloc(ptr %t8316, i64 %t8315) store ptr %t8317, ptr %t8305 store i32 %t8311, ptr %t8304 br label %put1745 put1745: %t8318 = load ptr, ptr %t8305 %t8319 = getelementptr inbounds ptr, ptr %t8318, i32 %t8306 store ptr @.str7731, ptr %t8319 %t8320 = add i32 %t8306, 1 store i32 %t8320, ptr %t8303 br label %ifend1741 ifend1741: %t8321 = load ptr, ptr %t1 %t8322 = call i32 @lp_str_eq(ptr %t8321, ptr @.str7732) %t8323 = icmp ne i32 %t8322, 0 br i1 %t8323, label %then1746, label %ifend1748 then1746: store ptr @.str7733, ptr %t403 %t8324 = load ptr, ptr %t410 %t8325 = getelementptr inbounds %LSlice, ptr %t8324, i32 0, i32 1 %t8326 = getelementptr inbounds %LSlice, ptr %t8324, i32 0, i32 2 %t8327 = getelementptr inbounds %LSlice, ptr %t8324, i32 0, i32 0 %t8328 = load i32, ptr %t8325 %t8329 = load i32, ptr %t8326 %t8330 = icmp sge i32 %t8328, %t8329 br i1 %t8330, label %grow1749, label %put1750 grow1749: %t8331 = mul i32 %t8329, 2 %t8332 = icmp eq i32 %t8329, 0 %t8333 = select i1 %t8332, i32 8, i32 %t8331 %t8334 = getelementptr ptr, ptr null, i32 1 %t8335 = ptrtoint ptr %t8334 to i64 %t8336 = zext i32 %t8333 to i64 %t8337 = mul i64 %t8336, %t8335 %t8338 = load ptr, ptr %t8327 %t8339 = call ptr @realloc(ptr %t8338, i64 %t8337) store ptr %t8339, ptr %t8327 store i32 %t8333, ptr %t8326 br label %put1750 put1750: %t8340 = load ptr, ptr %t8327 %t8341 = getelementptr inbounds ptr, ptr %t8340, i32 %t8328 store ptr @.str7734, ptr %t8341 %t8342 = add i32 %t8328, 1 store i32 %t8342, ptr %t8325 %t8343 = load ptr, ptr %t410 %t8344 = getelementptr inbounds %LSlice, ptr %t8343, i32 0, i32 1 %t8345 = getelementptr inbounds %LSlice, ptr %t8343, i32 0, i32 2 %t8346 = getelementptr inbounds %LSlice, ptr %t8343, i32 0, i32 0 %t8347 = load i32, ptr %t8344 %t8348 = load i32, ptr %t8345 %t8349 = icmp sge i32 %t8347, %t8348 br i1 %t8349, label %grow1751, label %put1752 grow1751: %t8350 = mul i32 %t8348, 2 %t8351 = icmp eq i32 %t8348, 0 %t8352 = select i1 %t8351, i32 8, i32 %t8350 %t8353 = getelementptr ptr, ptr null, i32 1 %t8354 = ptrtoint ptr %t8353 to i64 %t8355 = zext i32 %t8352 to i64 %t8356 = mul i64 %t8355, %t8354 %t8357 = load ptr, ptr %t8346 %t8358 = call ptr @realloc(ptr %t8357, i64 %t8356) store ptr %t8358, ptr %t8346 store i32 %t8352, ptr %t8345 br label %put1752 put1752: %t8359 = load ptr, ptr %t8346 %t8360 = getelementptr inbounds ptr, ptr %t8359, i32 %t8347 store ptr @.str7735, ptr %t8360 %t8361 = add i32 %t8347, 1 store i32 %t8361, ptr %t8344 br label %ifend1748 ifend1748: %t8362 = load ptr, ptr %t1 %t8363 = call i32 @lp_str_eq(ptr %t8362, ptr @.str7736) %t8364 = icmp ne i32 %t8363, 0 br i1 %t8364, label %then1753, label %ifend1755 then1753: store ptr @.str7737, ptr %t403 %t8365 = load ptr, ptr %t410 %t8366 = getelementptr inbounds %LSlice, ptr %t8365, i32 0, i32 1 %t8367 = getelementptr inbounds %LSlice, ptr %t8365, i32 0, i32 2 %t8368 = getelementptr inbounds %LSlice, ptr %t8365, i32 0, i32 0 %t8369 = load i32, ptr %t8366 %t8370 = load i32, ptr %t8367 %t8371 = icmp sge i32 %t8369, %t8370 br i1 %t8371, label %grow1756, label %put1757 grow1756: %t8372 = mul i32 %t8370, 2 %t8373 = icmp eq i32 %t8370, 0 %t8374 = select i1 %t8373, i32 8, i32 %t8372 %t8375 = getelementptr ptr, ptr null, i32 1 %t8376 = ptrtoint ptr %t8375 to i64 %t8377 = zext i32 %t8374 to i64 %t8378 = mul i64 %t8377, %t8376 %t8379 = load ptr, ptr %t8368 %t8380 = call ptr @realloc(ptr %t8379, i64 %t8378) store ptr %t8380, ptr %t8368 store i32 %t8374, ptr %t8367 br label %put1757 put1757: %t8381 = load ptr, ptr %t8368 %t8382 = getelementptr inbounds ptr, ptr %t8381, i32 %t8369 store ptr @.str7738, ptr %t8382 %t8383 = add i32 %t8369, 1 store i32 %t8383, ptr %t8366 br label %ifend1755 ifend1755: %t8384 = load ptr, ptr %t1 %t8385 = call i32 @lp_str_eq(ptr %t8384, ptr @.str7739) %t8386 = icmp ne i32 %t8385, 0 br i1 %t8386, label %then1758, label %ifend1760 then1758: store ptr @.str7740, ptr %t403 %t8387 = load ptr, ptr %t410 %t8388 = getelementptr inbounds %LSlice, ptr %t8387, i32 0, i32 1 %t8389 = getelementptr inbounds %LSlice, ptr %t8387, i32 0, i32 2 %t8390 = getelementptr inbounds %LSlice, ptr %t8387, i32 0, i32 0 %t8391 = load i32, ptr %t8388 %t8392 = load i32, ptr %t8389 %t8393 = icmp sge i32 %t8391, %t8392 br i1 %t8393, label %grow1761, label %put1762 grow1761: %t8394 = mul i32 %t8392, 2 %t8395 = icmp eq i32 %t8392, 0 %t8396 = select i1 %t8395, i32 8, i32 %t8394 %t8397 = getelementptr ptr, ptr null, i32 1 %t8398 = ptrtoint ptr %t8397 to i64 %t8399 = zext i32 %t8396 to i64 %t8400 = mul i64 %t8399, %t8398 %t8401 = load ptr, ptr %t8390 %t8402 = call ptr @realloc(ptr %t8401, i64 %t8400) store ptr %t8402, ptr %t8390 store i32 %t8396, ptr %t8389 br label %put1762 put1762: %t8403 = load ptr, ptr %t8390 %t8404 = getelementptr inbounds ptr, ptr %t8403, i32 %t8391 store ptr @.str7741, ptr %t8404 %t8405 = add i32 %t8391, 1 store i32 %t8405, ptr %t8388 br label %ifend1760 ifend1760: %t8406 = load ptr, ptr %t1 %t8407 = call i32 @lp_str_eq(ptr %t8406, ptr @.str7742) %t8408 = icmp ne i32 %t8407, 0 br i1 %t8408, label %then1763, label %ifend1765 then1763: store ptr @.str7743, ptr %t403 %t8409 = load ptr, ptr %t410 %t8410 = getelementptr inbounds %LSlice, ptr %t8409, i32 0, i32 1 %t8411 = getelementptr inbounds %LSlice, ptr %t8409, i32 0, i32 2 %t8412 = getelementptr inbounds %LSlice, ptr %t8409, i32 0, i32 0 %t8413 = load i32, ptr %t8410 %t8414 = load i32, ptr %t8411 %t8415 = icmp sge i32 %t8413, %t8414 br i1 %t8415, label %grow1766, label %put1767 grow1766: %t8416 = mul i32 %t8414, 2 %t8417 = icmp eq i32 %t8414, 0 %t8418 = select i1 %t8417, i32 8, i32 %t8416 %t8419 = getelementptr ptr, ptr null, i32 1 %t8420 = ptrtoint ptr %t8419 to i64 %t8421 = zext i32 %t8418 to i64 %t8422 = mul i64 %t8421, %t8420 %t8423 = load ptr, ptr %t8412 %t8424 = call ptr @realloc(ptr %t8423, i64 %t8422) store ptr %t8424, ptr %t8412 store i32 %t8418, ptr %t8411 br label %put1767 put1767: %t8425 = load ptr, ptr %t8412 %t8426 = getelementptr inbounds ptr, ptr %t8425, i32 %t8413 store ptr @.str7744, ptr %t8426 %t8427 = add i32 %t8413, 1 store i32 %t8427, ptr %t8410 br label %ifend1765 ifend1765: br label %ifend1710 ifend1710: %t8428 = load ptr, ptr %t0 %t8429 = call i32 @lp_str_eq(ptr %t8428, ptr @.str7745) %t8430 = icmp ne i32 %t8429, 0 br i1 %t8430, label %then1768, label %ifend1770 then1768: %t8431 = load ptr, ptr %t1 %t8432 = call i32 @lp_str_eq(ptr %t8431, ptr @.str7746) %t8433 = icmp ne i32 %t8432, 0 br i1 %t8433, label %then1771, label %ifend1773 then1771: store ptr @.str7747, ptr %t403 br label %ifend1773 ifend1773: %t8434 = load ptr, ptr %t1 %t8435 = call i32 @lp_str_eq(ptr %t8434, ptr @.str7748) %t8436 = icmp ne i32 %t8435, 0 br i1 %t8436, label %then1774, label %ifend1776 then1774: store ptr @.str7749, ptr %t403 %t8437 = load ptr, ptr %t410 %t8438 = getelementptr inbounds %LSlice, ptr %t8437, i32 0, i32 1 %t8439 = getelementptr inbounds %LSlice, ptr %t8437, i32 0, i32 2 %t8440 = getelementptr inbounds %LSlice, ptr %t8437, i32 0, i32 0 %t8441 = load i32, ptr %t8438 %t8442 = load i32, ptr %t8439 %t8443 = icmp sge i32 %t8441, %t8442 br i1 %t8443, label %grow1777, label %put1778 grow1777: %t8444 = mul i32 %t8442, 2 %t8445 = icmp eq i32 %t8442, 0 %t8446 = select i1 %t8445, i32 8, i32 %t8444 %t8447 = getelementptr ptr, ptr null, i32 1 %t8448 = ptrtoint ptr %t8447 to i64 %t8449 = zext i32 %t8446 to i64 %t8450 = mul i64 %t8449, %t8448 %t8451 = load ptr, ptr %t8440 %t8452 = call ptr @realloc(ptr %t8451, i64 %t8450) store ptr %t8452, ptr %t8440 store i32 %t8446, ptr %t8439 br label %put1778 put1778: %t8453 = load ptr, ptr %t8440 %t8454 = getelementptr inbounds ptr, ptr %t8453, i32 %t8441 store ptr @.str7750, ptr %t8454 %t8455 = add i32 %t8441, 1 store i32 %t8455, ptr %t8438 %t8456 = load ptr, ptr %t410 %t8457 = getelementptr inbounds %LSlice, ptr %t8456, i32 0, i32 1 %t8458 = getelementptr inbounds %LSlice, ptr %t8456, i32 0, i32 2 %t8459 = getelementptr inbounds %LSlice, ptr %t8456, i32 0, i32 0 %t8460 = load i32, ptr %t8457 %t8461 = load i32, ptr %t8458 %t8462 = icmp sge i32 %t8460, %t8461 br i1 %t8462, label %grow1779, label %put1780 grow1779: %t8463 = mul i32 %t8461, 2 %t8464 = icmp eq i32 %t8461, 0 %t8465 = select i1 %t8464, i32 8, i32 %t8463 %t8466 = getelementptr ptr, ptr null, i32 1 %t8467 = ptrtoint ptr %t8466 to i64 %t8468 = zext i32 %t8465 to i64 %t8469 = mul i64 %t8468, %t8467 %t8470 = load ptr, ptr %t8459 %t8471 = call ptr @realloc(ptr %t8470, i64 %t8469) store ptr %t8471, ptr %t8459 store i32 %t8465, ptr %t8458 br label %put1780 put1780: %t8472 = load ptr, ptr %t8459 %t8473 = getelementptr inbounds ptr, ptr %t8472, i32 %t8460 store ptr @.str7751, ptr %t8473 %t8474 = add i32 %t8460, 1 store i32 %t8474, ptr %t8457 br label %ifend1776 ifend1776: %t8475 = load ptr, ptr %t1 %t8476 = call i32 @lp_str_eq(ptr %t8475, ptr @.str7752) %t8477 = icmp ne i32 %t8476, 0 br i1 %t8477, label %then1781, label %ifend1783 then1781: store ptr @.str7753, ptr %t403 %t8478 = load ptr, ptr %t410 %t8479 = getelementptr inbounds %LSlice, ptr %t8478, i32 0, i32 1 %t8480 = getelementptr inbounds %LSlice, ptr %t8478, i32 0, i32 2 %t8481 = getelementptr inbounds %LSlice, ptr %t8478, i32 0, i32 0 %t8482 = load i32, ptr %t8479 %t8483 = load i32, ptr %t8480 %t8484 = icmp sge i32 %t8482, %t8483 br i1 %t8484, label %grow1784, label %put1785 grow1784: %t8485 = mul i32 %t8483, 2 %t8486 = icmp eq i32 %t8483, 0 %t8487 = select i1 %t8486, i32 8, i32 %t8485 %t8488 = getelementptr ptr, ptr null, i32 1 %t8489 = ptrtoint ptr %t8488 to i64 %t8490 = zext i32 %t8487 to i64 %t8491 = mul i64 %t8490, %t8489 %t8492 = load ptr, ptr %t8481 %t8493 = call ptr @realloc(ptr %t8492, i64 %t8491) store ptr %t8493, ptr %t8481 store i32 %t8487, ptr %t8480 br label %put1785 put1785: %t8494 = load ptr, ptr %t8481 %t8495 = getelementptr inbounds ptr, ptr %t8494, i32 %t8482 store ptr @.str7754, ptr %t8495 %t8496 = add i32 %t8482, 1 store i32 %t8496, ptr %t8479 %t8497 = load ptr, ptr %t410 %t8498 = getelementptr inbounds %LSlice, ptr %t8497, i32 0, i32 1 %t8499 = getelementptr inbounds %LSlice, ptr %t8497, i32 0, i32 2 %t8500 = getelementptr inbounds %LSlice, ptr %t8497, i32 0, i32 0 %t8501 = load i32, ptr %t8498 %t8502 = load i32, ptr %t8499 %t8503 = icmp sge i32 %t8501, %t8502 br i1 %t8503, label %grow1786, label %put1787 grow1786: %t8504 = mul i32 %t8502, 2 %t8505 = icmp eq i32 %t8502, 0 %t8506 = select i1 %t8505, i32 8, i32 %t8504 %t8507 = getelementptr ptr, ptr null, i32 1 %t8508 = ptrtoint ptr %t8507 to i64 %t8509 = zext i32 %t8506 to i64 %t8510 = mul i64 %t8509, %t8508 %t8511 = load ptr, ptr %t8500 %t8512 = call ptr @realloc(ptr %t8511, i64 %t8510) store ptr %t8512, ptr %t8500 store i32 %t8506, ptr %t8499 br label %put1787 put1787: %t8513 = load ptr, ptr %t8500 %t8514 = getelementptr inbounds ptr, ptr %t8513, i32 %t8501 store ptr @.str7755, ptr %t8514 %t8515 = add i32 %t8501, 1 store i32 %t8515, ptr %t8498 br label %ifend1783 ifend1783: %t8516 = load ptr, ptr %t1 %t8517 = call i32 @lp_str_eq(ptr %t8516, ptr @.str7756) %t8518 = icmp ne i32 %t8517, 0 br i1 %t8518, label %then1788, label %ifend1790 then1788: store ptr @.str7757, ptr %t403 %t8519 = load ptr, ptr %t410 %t8520 = getelementptr inbounds %LSlice, ptr %t8519, i32 0, i32 1 %t8521 = getelementptr inbounds %LSlice, ptr %t8519, i32 0, i32 2 %t8522 = getelementptr inbounds %LSlice, ptr %t8519, i32 0, i32 0 %t8523 = load i32, ptr %t8520 %t8524 = load i32, ptr %t8521 %t8525 = icmp sge i32 %t8523, %t8524 br i1 %t8525, label %grow1791, label %put1792 grow1791: %t8526 = mul i32 %t8524, 2 %t8527 = icmp eq i32 %t8524, 0 %t8528 = select i1 %t8527, i32 8, i32 %t8526 %t8529 = getelementptr ptr, ptr null, i32 1 %t8530 = ptrtoint ptr %t8529 to i64 %t8531 = zext i32 %t8528 to i64 %t8532 = mul i64 %t8531, %t8530 %t8533 = load ptr, ptr %t8522 %t8534 = call ptr @realloc(ptr %t8533, i64 %t8532) store ptr %t8534, ptr %t8522 store i32 %t8528, ptr %t8521 br label %put1792 put1792: %t8535 = load ptr, ptr %t8522 %t8536 = getelementptr inbounds ptr, ptr %t8535, i32 %t8523 store ptr @.str7758, ptr %t8536 %t8537 = add i32 %t8523, 1 store i32 %t8537, ptr %t8520 %t8538 = load ptr, ptr %t410 %t8539 = getelementptr inbounds %LSlice, ptr %t8538, i32 0, i32 1 %t8540 = getelementptr inbounds %LSlice, ptr %t8538, i32 0, i32 2 %t8541 = getelementptr inbounds %LSlice, ptr %t8538, i32 0, i32 0 %t8542 = load i32, ptr %t8539 %t8543 = load i32, ptr %t8540 %t8544 = icmp sge i32 %t8542, %t8543 br i1 %t8544, label %grow1793, label %put1794 grow1793: %t8545 = mul i32 %t8543, 2 %t8546 = icmp eq i32 %t8543, 0 %t8547 = select i1 %t8546, i32 8, i32 %t8545 %t8548 = getelementptr ptr, ptr null, i32 1 %t8549 = ptrtoint ptr %t8548 to i64 %t8550 = zext i32 %t8547 to i64 %t8551 = mul i64 %t8550, %t8549 %t8552 = load ptr, ptr %t8541 %t8553 = call ptr @realloc(ptr %t8552, i64 %t8551) store ptr %t8553, ptr %t8541 store i32 %t8547, ptr %t8540 br label %put1794 put1794: %t8554 = load ptr, ptr %t8541 %t8555 = getelementptr inbounds ptr, ptr %t8554, i32 %t8542 store ptr @.str7759, ptr %t8555 %t8556 = add i32 %t8542, 1 store i32 %t8556, ptr %t8539 br label %ifend1790 ifend1790: %t8557 = load ptr, ptr %t1 %t8558 = call i32 @lp_str_eq(ptr %t8557, ptr @.str7760) %t8559 = icmp ne i32 %t8558, 0 br i1 %t8559, label %then1795, label %ifend1797 then1795: store ptr @.str7761, ptr %t403 %t8560 = load ptr, ptr %t410 %t8561 = getelementptr inbounds %LSlice, ptr %t8560, i32 0, i32 1 %t8562 = getelementptr inbounds %LSlice, ptr %t8560, i32 0, i32 2 %t8563 = getelementptr inbounds %LSlice, ptr %t8560, i32 0, i32 0 %t8564 = load i32, ptr %t8561 %t8565 = load i32, ptr %t8562 %t8566 = icmp sge i32 %t8564, %t8565 br i1 %t8566, label %grow1798, label %put1799 grow1798: %t8567 = mul i32 %t8565, 2 %t8568 = icmp eq i32 %t8565, 0 %t8569 = select i1 %t8568, i32 8, i32 %t8567 %t8570 = getelementptr ptr, ptr null, i32 1 %t8571 = ptrtoint ptr %t8570 to i64 %t8572 = zext i32 %t8569 to i64 %t8573 = mul i64 %t8572, %t8571 %t8574 = load ptr, ptr %t8563 %t8575 = call ptr @realloc(ptr %t8574, i64 %t8573) store ptr %t8575, ptr %t8563 store i32 %t8569, ptr %t8562 br label %put1799 put1799: %t8576 = load ptr, ptr %t8563 %t8577 = getelementptr inbounds ptr, ptr %t8576, i32 %t8564 store ptr @.str7762, ptr %t8577 %t8578 = add i32 %t8564, 1 store i32 %t8578, ptr %t8561 br label %ifend1797 ifend1797: %t8579 = load ptr, ptr %t1 %t8580 = call i32 @lp_str_eq(ptr %t8579, ptr @.str7763) %t8581 = icmp ne i32 %t8580, 0 br i1 %t8581, label %then1800, label %ifend1802 then1800: store ptr @.str7764, ptr %t403 %t8582 = load ptr, ptr %t410 %t8583 = getelementptr inbounds %LSlice, ptr %t8582, i32 0, i32 1 %t8584 = getelementptr inbounds %LSlice, ptr %t8582, i32 0, i32 2 %t8585 = getelementptr inbounds %LSlice, ptr %t8582, i32 0, i32 0 %t8586 = load i32, ptr %t8583 %t8587 = load i32, ptr %t8584 %t8588 = icmp sge i32 %t8586, %t8587 br i1 %t8588, label %grow1803, label %put1804 grow1803: %t8589 = mul i32 %t8587, 2 %t8590 = icmp eq i32 %t8587, 0 %t8591 = select i1 %t8590, i32 8, i32 %t8589 %t8592 = getelementptr ptr, ptr null, i32 1 %t8593 = ptrtoint ptr %t8592 to i64 %t8594 = zext i32 %t8591 to i64 %t8595 = mul i64 %t8594, %t8593 %t8596 = load ptr, ptr %t8585 %t8597 = call ptr @realloc(ptr %t8596, i64 %t8595) store ptr %t8597, ptr %t8585 store i32 %t8591, ptr %t8584 br label %put1804 put1804: %t8598 = load ptr, ptr %t8585 %t8599 = getelementptr inbounds ptr, ptr %t8598, i32 %t8586 store ptr @.str7765, ptr %t8599 %t8600 = add i32 %t8586, 1 store i32 %t8600, ptr %t8583 br label %ifend1802 ifend1802: %t8601 = load ptr, ptr %t1 %t8602 = call i32 @lp_str_eq(ptr %t8601, ptr @.str7766) %t8603 = icmp ne i32 %t8602, 0 br i1 %t8603, label %then1805, label %ifend1807 then1805: store ptr @.str7767, ptr %t403 %t8604 = load ptr, ptr %t410 %t8605 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 1 %t8606 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 2 %t8607 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 0 %t8608 = load i32, ptr %t8605 %t8609 = load i32, ptr %t8606 %t8610 = icmp sge i32 %t8608, %t8609 br i1 %t8610, label %grow1808, label %put1809 grow1808: %t8611 = mul i32 %t8609, 2 %t8612 = icmp eq i32 %t8609, 0 %t8613 = select i1 %t8612, i32 8, i32 %t8611 %t8614 = getelementptr ptr, ptr null, i32 1 %t8615 = ptrtoint ptr %t8614 to i64 %t8616 = zext i32 %t8613 to i64 %t8617 = mul i64 %t8616, %t8615 %t8618 = load ptr, ptr %t8607 %t8619 = call ptr @realloc(ptr %t8618, i64 %t8617) store ptr %t8619, ptr %t8607 store i32 %t8613, ptr %t8606 br label %put1809 put1809: %t8620 = load ptr, ptr %t8607 %t8621 = getelementptr inbounds ptr, ptr %t8620, i32 %t8608 store ptr @.str7768, ptr %t8621 %t8622 = add i32 %t8608, 1 store i32 %t8622, ptr %t8605 br label %ifend1807 ifend1807: br label %ifend1770 ifend1770: %t8623 = load ptr, ptr %t0 %t8624 = call i32 @lp_str_eq(ptr %t8623, ptr @.str7769) %t8625 = icmp ne i32 %t8624, 0 br i1 %t8625, label %then1810, label %ifend1812 then1810: %t8626 = load ptr, ptr %t1 %t8627 = call i32 @lp_str_eq(ptr %t8626, ptr @.str7770) %t8628 = icmp ne i32 %t8627, 0 br i1 %t8628, label %then1813, label %ifend1815 then1813: store ptr @.str7771, ptr %t403 br label %ifend1815 ifend1815: %t8629 = load ptr, ptr %t1 %t8630 = call i32 @lp_str_eq(ptr %t8629, ptr @.str7772) %t8631 = icmp ne i32 %t8630, 0 br i1 %t8631, label %then1816, label %ifend1818 then1816: store ptr @.str7773, ptr %t403 %t8632 = load ptr, ptr %t410 %t8633 = getelementptr inbounds %LSlice, ptr %t8632, i32 0, i32 1 %t8634 = getelementptr inbounds %LSlice, ptr %t8632, i32 0, i32 2 %t8635 = getelementptr inbounds %LSlice, ptr %t8632, i32 0, i32 0 %t8636 = load i32, ptr %t8633 %t8637 = load i32, ptr %t8634 %t8638 = icmp sge i32 %t8636, %t8637 br i1 %t8638, label %grow1819, label %put1820 grow1819: %t8639 = mul i32 %t8637, 2 %t8640 = icmp eq i32 %t8637, 0 %t8641 = select i1 %t8640, i32 8, i32 %t8639 %t8642 = getelementptr ptr, ptr null, i32 1 %t8643 = ptrtoint ptr %t8642 to i64 %t8644 = zext i32 %t8641 to i64 %t8645 = mul i64 %t8644, %t8643 %t8646 = load ptr, ptr %t8635 %t8647 = call ptr @realloc(ptr %t8646, i64 %t8645) store ptr %t8647, ptr %t8635 store i32 %t8641, ptr %t8634 br label %put1820 put1820: %t8648 = load ptr, ptr %t8635 %t8649 = getelementptr inbounds ptr, ptr %t8648, i32 %t8636 store ptr @.str7774, ptr %t8649 %t8650 = add i32 %t8636, 1 store i32 %t8650, ptr %t8633 %t8651 = load ptr, ptr %t410 %t8652 = getelementptr inbounds %LSlice, ptr %t8651, i32 0, i32 1 %t8653 = getelementptr inbounds %LSlice, ptr %t8651, i32 0, i32 2 %t8654 = getelementptr inbounds %LSlice, ptr %t8651, i32 0, i32 0 %t8655 = load i32, ptr %t8652 %t8656 = load i32, ptr %t8653 %t8657 = icmp sge i32 %t8655, %t8656 br i1 %t8657, label %grow1821, label %put1822 grow1821: %t8658 = mul i32 %t8656, 2 %t8659 = icmp eq i32 %t8656, 0 %t8660 = select i1 %t8659, i32 8, i32 %t8658 %t8661 = getelementptr ptr, ptr null, i32 1 %t8662 = ptrtoint ptr %t8661 to i64 %t8663 = zext i32 %t8660 to i64 %t8664 = mul i64 %t8663, %t8662 %t8665 = load ptr, ptr %t8654 %t8666 = call ptr @realloc(ptr %t8665, i64 %t8664) store ptr %t8666, ptr %t8654 store i32 %t8660, ptr %t8653 br label %put1822 put1822: %t8667 = load ptr, ptr %t8654 %t8668 = getelementptr inbounds ptr, ptr %t8667, i32 %t8655 store ptr @.str7775, ptr %t8668 %t8669 = add i32 %t8655, 1 store i32 %t8669, ptr %t8652 br label %ifend1818 ifend1818: %t8670 = load ptr, ptr %t1 %t8671 = call i32 @lp_str_eq(ptr %t8670, ptr @.str7776) %t8672 = icmp ne i32 %t8671, 0 br i1 %t8672, label %then1823, label %ifend1825 then1823: store ptr @.str7777, ptr %t403 %t8673 = load ptr, ptr %t410 %t8674 = getelementptr inbounds %LSlice, ptr %t8673, i32 0, i32 1 %t8675 = getelementptr inbounds %LSlice, ptr %t8673, i32 0, i32 2 %t8676 = getelementptr inbounds %LSlice, ptr %t8673, i32 0, i32 0 %t8677 = load i32, ptr %t8674 %t8678 = load i32, ptr %t8675 %t8679 = icmp sge i32 %t8677, %t8678 br i1 %t8679, label %grow1826, label %put1827 grow1826: %t8680 = mul i32 %t8678, 2 %t8681 = icmp eq i32 %t8678, 0 %t8682 = select i1 %t8681, i32 8, i32 %t8680 %t8683 = getelementptr ptr, ptr null, i32 1 %t8684 = ptrtoint ptr %t8683 to i64 %t8685 = zext i32 %t8682 to i64 %t8686 = mul i64 %t8685, %t8684 %t8687 = load ptr, ptr %t8676 %t8688 = call ptr @realloc(ptr %t8687, i64 %t8686) store ptr %t8688, ptr %t8676 store i32 %t8682, ptr %t8675 br label %put1827 put1827: %t8689 = load ptr, ptr %t8676 %t8690 = getelementptr inbounds ptr, ptr %t8689, i32 %t8677 store ptr @.str7778, ptr %t8690 %t8691 = add i32 %t8677, 1 store i32 %t8691, ptr %t8674 %t8692 = load ptr, ptr %t410 %t8693 = getelementptr inbounds %LSlice, ptr %t8692, i32 0, i32 1 %t8694 = getelementptr inbounds %LSlice, ptr %t8692, i32 0, i32 2 %t8695 = getelementptr inbounds %LSlice, ptr %t8692, i32 0, i32 0 %t8696 = load i32, ptr %t8693 %t8697 = load i32, ptr %t8694 %t8698 = icmp sge i32 %t8696, %t8697 br i1 %t8698, label %grow1828, label %put1829 grow1828: %t8699 = mul i32 %t8697, 2 %t8700 = icmp eq i32 %t8697, 0 %t8701 = select i1 %t8700, i32 8, i32 %t8699 %t8702 = getelementptr ptr, ptr null, i32 1 %t8703 = ptrtoint ptr %t8702 to i64 %t8704 = zext i32 %t8701 to i64 %t8705 = mul i64 %t8704, %t8703 %t8706 = load ptr, ptr %t8695 %t8707 = call ptr @realloc(ptr %t8706, i64 %t8705) store ptr %t8707, ptr %t8695 store i32 %t8701, ptr %t8694 br label %put1829 put1829: %t8708 = load ptr, ptr %t8695 %t8709 = getelementptr inbounds ptr, ptr %t8708, i32 %t8696 store ptr @.str7779, ptr %t8709 %t8710 = add i32 %t8696, 1 store i32 %t8710, ptr %t8693 br label %ifend1825 ifend1825: %t8711 = load ptr, ptr %t1 %t8712 = call i32 @lp_str_eq(ptr %t8711, ptr @.str7780) %t8713 = icmp ne i32 %t8712, 0 br i1 %t8713, label %then1830, label %ifend1832 then1830: store ptr @.str7781, ptr %t403 %t8714 = load ptr, ptr %t410 %t8715 = getelementptr inbounds %LSlice, ptr %t8714, i32 0, i32 1 %t8716 = getelementptr inbounds %LSlice, ptr %t8714, i32 0, i32 2 %t8717 = getelementptr inbounds %LSlice, ptr %t8714, i32 0, i32 0 %t8718 = load i32, ptr %t8715 %t8719 = load i32, ptr %t8716 %t8720 = icmp sge i32 %t8718, %t8719 br i1 %t8720, label %grow1833, label %put1834 grow1833: %t8721 = mul i32 %t8719, 2 %t8722 = icmp eq i32 %t8719, 0 %t8723 = select i1 %t8722, i32 8, i32 %t8721 %t8724 = getelementptr ptr, ptr null, i32 1 %t8725 = ptrtoint ptr %t8724 to i64 %t8726 = zext i32 %t8723 to i64 %t8727 = mul i64 %t8726, %t8725 %t8728 = load ptr, ptr %t8717 %t8729 = call ptr @realloc(ptr %t8728, i64 %t8727) store ptr %t8729, ptr %t8717 store i32 %t8723, ptr %t8716 br label %put1834 put1834: %t8730 = load ptr, ptr %t8717 %t8731 = getelementptr inbounds ptr, ptr %t8730, i32 %t8718 store ptr @.str7782, ptr %t8731 %t8732 = add i32 %t8718, 1 store i32 %t8732, ptr %t8715 %t8733 = load ptr, ptr %t410 %t8734 = getelementptr inbounds %LSlice, ptr %t8733, i32 0, i32 1 %t8735 = getelementptr inbounds %LSlice, ptr %t8733, i32 0, i32 2 %t8736 = getelementptr inbounds %LSlice, ptr %t8733, i32 0, i32 0 %t8737 = load i32, ptr %t8734 %t8738 = load i32, ptr %t8735 %t8739 = icmp sge i32 %t8737, %t8738 br i1 %t8739, label %grow1835, label %put1836 grow1835: %t8740 = mul i32 %t8738, 2 %t8741 = icmp eq i32 %t8738, 0 %t8742 = select i1 %t8741, i32 8, i32 %t8740 %t8743 = getelementptr ptr, ptr null, i32 1 %t8744 = ptrtoint ptr %t8743 to i64 %t8745 = zext i32 %t8742 to i64 %t8746 = mul i64 %t8745, %t8744 %t8747 = load ptr, ptr %t8736 %t8748 = call ptr @realloc(ptr %t8747, i64 %t8746) store ptr %t8748, ptr %t8736 store i32 %t8742, ptr %t8735 br label %put1836 put1836: %t8749 = load ptr, ptr %t8736 %t8750 = getelementptr inbounds ptr, ptr %t8749, i32 %t8737 store ptr @.str7783, ptr %t8750 %t8751 = add i32 %t8737, 1 store i32 %t8751, ptr %t8734 br label %ifend1832 ifend1832: %t8752 = load ptr, ptr %t1 %t8753 = call i32 @lp_str_eq(ptr %t8752, ptr @.str7784) %t8754 = icmp ne i32 %t8753, 0 br i1 %t8754, label %then1837, label %ifend1839 then1837: store ptr @.str7785, ptr %t403 %t8755 = load ptr, ptr %t410 %t8756 = getelementptr inbounds %LSlice, ptr %t8755, i32 0, i32 1 %t8757 = getelementptr inbounds %LSlice, ptr %t8755, i32 0, i32 2 %t8758 = getelementptr inbounds %LSlice, ptr %t8755, i32 0, i32 0 %t8759 = load i32, ptr %t8756 %t8760 = load i32, ptr %t8757 %t8761 = icmp sge i32 %t8759, %t8760 br i1 %t8761, label %grow1840, label %put1841 grow1840: %t8762 = mul i32 %t8760, 2 %t8763 = icmp eq i32 %t8760, 0 %t8764 = select i1 %t8763, i32 8, i32 %t8762 %t8765 = getelementptr ptr, ptr null, i32 1 %t8766 = ptrtoint ptr %t8765 to i64 %t8767 = zext i32 %t8764 to i64 %t8768 = mul i64 %t8767, %t8766 %t8769 = load ptr, ptr %t8758 %t8770 = call ptr @realloc(ptr %t8769, i64 %t8768) store ptr %t8770, ptr %t8758 store i32 %t8764, ptr %t8757 br label %put1841 put1841: %t8771 = load ptr, ptr %t8758 %t8772 = getelementptr inbounds ptr, ptr %t8771, i32 %t8759 store ptr @.str7786, ptr %t8772 %t8773 = add i32 %t8759, 1 store i32 %t8773, ptr %t8756 br label %ifend1839 ifend1839: %t8774 = load ptr, ptr %t1 %t8775 = call i32 @lp_str_eq(ptr %t8774, ptr @.str7787) %t8776 = icmp ne i32 %t8775, 0 br i1 %t8776, label %then1842, label %ifend1844 then1842: store ptr @.str7788, ptr %t403 %t8777 = load ptr, ptr %t410 %t8778 = getelementptr inbounds %LSlice, ptr %t8777, i32 0, i32 1 %t8779 = getelementptr inbounds %LSlice, ptr %t8777, i32 0, i32 2 %t8780 = getelementptr inbounds %LSlice, ptr %t8777, i32 0, i32 0 %t8781 = load i32, ptr %t8778 %t8782 = load i32, ptr %t8779 %t8783 = icmp sge i32 %t8781, %t8782 br i1 %t8783, label %grow1845, label %put1846 grow1845: %t8784 = mul i32 %t8782, 2 %t8785 = icmp eq i32 %t8782, 0 %t8786 = select i1 %t8785, i32 8, i32 %t8784 %t8787 = getelementptr ptr, ptr null, i32 1 %t8788 = ptrtoint ptr %t8787 to i64 %t8789 = zext i32 %t8786 to i64 %t8790 = mul i64 %t8789, %t8788 %t8791 = load ptr, ptr %t8780 %t8792 = call ptr @realloc(ptr %t8791, i64 %t8790) store ptr %t8792, ptr %t8780 store i32 %t8786, ptr %t8779 br label %put1846 put1846: %t8793 = load ptr, ptr %t8780 %t8794 = getelementptr inbounds ptr, ptr %t8793, i32 %t8781 store ptr @.str7789, ptr %t8794 %t8795 = add i32 %t8781, 1 store i32 %t8795, ptr %t8778 br label %ifend1844 ifend1844: %t8796 = load ptr, ptr %t1 %t8797 = call i32 @lp_str_eq(ptr %t8796, ptr @.str7790) %t8798 = icmp ne i32 %t8797, 0 br i1 %t8798, label %then1847, label %ifend1849 then1847: store ptr @.str7791, ptr %t403 %t8799 = load ptr, ptr %t410 %t8800 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 1 %t8801 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 2 %t8802 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 0 %t8803 = load i32, ptr %t8800 %t8804 = load i32, ptr %t8801 %t8805 = icmp sge i32 %t8803, %t8804 br i1 %t8805, label %grow1850, label %put1851 grow1850: %t8806 = mul i32 %t8804, 2 %t8807 = icmp eq i32 %t8804, 0 %t8808 = select i1 %t8807, i32 8, i32 %t8806 %t8809 = getelementptr ptr, ptr null, i32 1 %t8810 = ptrtoint ptr %t8809 to i64 %t8811 = zext i32 %t8808 to i64 %t8812 = mul i64 %t8811, %t8810 %t8813 = load ptr, ptr %t8802 %t8814 = call ptr @realloc(ptr %t8813, i64 %t8812) store ptr %t8814, ptr %t8802 store i32 %t8808, ptr %t8801 br label %put1851 put1851: %t8815 = load ptr, ptr %t8802 %t8816 = getelementptr inbounds ptr, ptr %t8815, i32 %t8803 store ptr @.str7792, ptr %t8816 %t8817 = add i32 %t8803, 1 store i32 %t8817, ptr %t8800 br label %ifend1849 ifend1849: %t8818 = load ptr, ptr %t1 %t8819 = call i32 @lp_str_eq(ptr %t8818, ptr @.str7793) %t8820 = icmp ne i32 %t8819, 0 br i1 %t8820, label %then1852, label %ifend1854 then1852: store ptr @.str7794, ptr %t403 %t8821 = load ptr, ptr %t410 %t8822 = getelementptr inbounds %LSlice, ptr %t8821, i32 0, i32 1 %t8823 = getelementptr inbounds %LSlice, ptr %t8821, i32 0, i32 2 %t8824 = getelementptr inbounds %LSlice, ptr %t8821, i32 0, i32 0 %t8825 = load i32, ptr %t8822 %t8826 = load i32, ptr %t8823 %t8827 = icmp sge i32 %t8825, %t8826 br i1 %t8827, label %grow1855, label %put1856 grow1855: %t8828 = mul i32 %t8826, 2 %t8829 = icmp eq i32 %t8826, 0 %t8830 = select i1 %t8829, i32 8, i32 %t8828 %t8831 = getelementptr ptr, ptr null, i32 1 %t8832 = ptrtoint ptr %t8831 to i64 %t8833 = zext i32 %t8830 to i64 %t8834 = mul i64 %t8833, %t8832 %t8835 = load ptr, ptr %t8824 %t8836 = call ptr @realloc(ptr %t8835, i64 %t8834) store ptr %t8836, ptr %t8824 store i32 %t8830, ptr %t8823 br label %put1856 put1856: %t8837 = load ptr, ptr %t8824 %t8838 = getelementptr inbounds ptr, ptr %t8837, i32 %t8825 store ptr @.str7795, ptr %t8838 %t8839 = add i32 %t8825, 1 store i32 %t8839, ptr %t8822 br label %ifend1854 ifend1854: %t8840 = load ptr, ptr %t1 %t8841 = call i32 @lp_str_eq(ptr %t8840, ptr @.str7796) %t8842 = icmp ne i32 %t8841, 0 br i1 %t8842, label %then1857, label %ifend1859 then1857: store ptr @.str7797, ptr %t403 %t8843 = load ptr, ptr %t410 %t8844 = getelementptr inbounds %LSlice, ptr %t8843, i32 0, i32 1 %t8845 = getelementptr inbounds %LSlice, ptr %t8843, i32 0, i32 2 %t8846 = getelementptr inbounds %LSlice, ptr %t8843, i32 0, i32 0 %t8847 = load i32, ptr %t8844 %t8848 = load i32, ptr %t8845 %t8849 = icmp sge i32 %t8847, %t8848 br i1 %t8849, label %grow1860, label %put1861 grow1860: %t8850 = mul i32 %t8848, 2 %t8851 = icmp eq i32 %t8848, 0 %t8852 = select i1 %t8851, i32 8, i32 %t8850 %t8853 = getelementptr ptr, ptr null, i32 1 %t8854 = ptrtoint ptr %t8853 to i64 %t8855 = zext i32 %t8852 to i64 %t8856 = mul i64 %t8855, %t8854 %t8857 = load ptr, ptr %t8846 %t8858 = call ptr @realloc(ptr %t8857, i64 %t8856) store ptr %t8858, ptr %t8846 store i32 %t8852, ptr %t8845 br label %put1861 put1861: %t8859 = load ptr, ptr %t8846 %t8860 = getelementptr inbounds ptr, ptr %t8859, i32 %t8847 store ptr @.str7798, ptr %t8860 %t8861 = add i32 %t8847, 1 store i32 %t8861, ptr %t8844 br label %ifend1859 ifend1859: %t8862 = load ptr, ptr %t1 %t8863 = call i32 @lp_str_eq(ptr %t8862, ptr @.str7799) %t8864 = icmp ne i32 %t8863, 0 br i1 %t8864, label %then1862, label %ifend1864 then1862: store ptr @.str7800, ptr %t403 %t8865 = load ptr, ptr %t410 %t8866 = getelementptr inbounds %LSlice, ptr %t8865, i32 0, i32 1 %t8867 = getelementptr inbounds %LSlice, ptr %t8865, i32 0, i32 2 %t8868 = getelementptr inbounds %LSlice, ptr %t8865, i32 0, i32 0 %t8869 = load i32, ptr %t8866 %t8870 = load i32, ptr %t8867 %t8871 = icmp sge i32 %t8869, %t8870 br i1 %t8871, label %grow1865, label %put1866 grow1865: %t8872 = mul i32 %t8870, 2 %t8873 = icmp eq i32 %t8870, 0 %t8874 = select i1 %t8873, i32 8, i32 %t8872 %t8875 = getelementptr ptr, ptr null, i32 1 %t8876 = ptrtoint ptr %t8875 to i64 %t8877 = zext i32 %t8874 to i64 %t8878 = mul i64 %t8877, %t8876 %t8879 = load ptr, ptr %t8868 %t8880 = call ptr @realloc(ptr %t8879, i64 %t8878) store ptr %t8880, ptr %t8868 store i32 %t8874, ptr %t8867 br label %put1866 put1866: %t8881 = load ptr, ptr %t8868 %t8882 = getelementptr inbounds ptr, ptr %t8881, i32 %t8869 store ptr @.str7801, ptr %t8882 %t8883 = add i32 %t8869, 1 store i32 %t8883, ptr %t8866 br label %ifend1864 ifend1864: %t8884 = load ptr, ptr %t1 %t8885 = call i32 @lp_str_eq(ptr %t8884, ptr @.str7802) %t8886 = icmp ne i32 %t8885, 0 br i1 %t8886, label %then1867, label %ifend1869 then1867: store ptr @.str7803, ptr %t403 %t8887 = load ptr, ptr %t410 %t8888 = getelementptr inbounds %LSlice, ptr %t8887, i32 0, i32 1 %t8889 = getelementptr inbounds %LSlice, ptr %t8887, i32 0, i32 2 %t8890 = getelementptr inbounds %LSlice, ptr %t8887, i32 0, i32 0 %t8891 = load i32, ptr %t8888 %t8892 = load i32, ptr %t8889 %t8893 = icmp sge i32 %t8891, %t8892 br i1 %t8893, label %grow1870, label %put1871 grow1870: %t8894 = mul i32 %t8892, 2 %t8895 = icmp eq i32 %t8892, 0 %t8896 = select i1 %t8895, i32 8, i32 %t8894 %t8897 = getelementptr ptr, ptr null, i32 1 %t8898 = ptrtoint ptr %t8897 to i64 %t8899 = zext i32 %t8896 to i64 %t8900 = mul i64 %t8899, %t8898 %t8901 = load ptr, ptr %t8890 %t8902 = call ptr @realloc(ptr %t8901, i64 %t8900) store ptr %t8902, ptr %t8890 store i32 %t8896, ptr %t8889 br label %put1871 put1871: %t8903 = load ptr, ptr %t8890 %t8904 = getelementptr inbounds ptr, ptr %t8903, i32 %t8891 store ptr @.str7804, ptr %t8904 %t8905 = add i32 %t8891, 1 store i32 %t8905, ptr %t8888 br label %ifend1869 ifend1869: %t8906 = load ptr, ptr %t1 %t8907 = call i32 @lp_str_eq(ptr %t8906, ptr @.str7805) %t8908 = icmp ne i32 %t8907, 0 br i1 %t8908, label %then1872, label %ifend1874 then1872: store ptr @.str7806, ptr %t403 %t8909 = load ptr, ptr %t410 %t8910 = getelementptr inbounds %LSlice, ptr %t8909, i32 0, i32 1 %t8911 = getelementptr inbounds %LSlice, ptr %t8909, i32 0, i32 2 %t8912 = getelementptr inbounds %LSlice, ptr %t8909, i32 0, i32 0 %t8913 = load i32, ptr %t8910 %t8914 = load i32, ptr %t8911 %t8915 = icmp sge i32 %t8913, %t8914 br i1 %t8915, label %grow1875, label %put1876 grow1875: %t8916 = mul i32 %t8914, 2 %t8917 = icmp eq i32 %t8914, 0 %t8918 = select i1 %t8917, i32 8, i32 %t8916 %t8919 = getelementptr ptr, ptr null, i32 1 %t8920 = ptrtoint ptr %t8919 to i64 %t8921 = zext i32 %t8918 to i64 %t8922 = mul i64 %t8921, %t8920 %t8923 = load ptr, ptr %t8912 %t8924 = call ptr @realloc(ptr %t8923, i64 %t8922) store ptr %t8924, ptr %t8912 store i32 %t8918, ptr %t8911 br label %put1876 put1876: %t8925 = load ptr, ptr %t8912 %t8926 = getelementptr inbounds ptr, ptr %t8925, i32 %t8913 store ptr @.str7807, ptr %t8926 %t8927 = add i32 %t8913, 1 store i32 %t8927, ptr %t8910 br label %ifend1874 ifend1874: %t8928 = load ptr, ptr %t1 %t8929 = call i32 @lp_str_eq(ptr %t8928, ptr @.str7808) %t8930 = icmp ne i32 %t8929, 0 br i1 %t8930, label %then1877, label %ifend1879 then1877: store ptr @.str7809, ptr %t403 br label %ifend1879 ifend1879: %t8931 = load ptr, ptr %t1 %t8932 = call i32 @lp_str_eq(ptr %t8931, ptr @.str7810) %t8933 = icmp ne i32 %t8932, 0 br i1 %t8933, label %then1880, label %ifend1882 then1880: store ptr @.str7811, ptr %t403 %t8934 = load ptr, ptr %t410 %t8935 = getelementptr inbounds %LSlice, ptr %t8934, i32 0, i32 1 %t8936 = getelementptr inbounds %LSlice, ptr %t8934, i32 0, i32 2 %t8937 = getelementptr inbounds %LSlice, ptr %t8934, i32 0, i32 0 %t8938 = load i32, ptr %t8935 %t8939 = load i32, ptr %t8936 %t8940 = icmp sge i32 %t8938, %t8939 br i1 %t8940, label %grow1883, label %put1884 grow1883: %t8941 = mul i32 %t8939, 2 %t8942 = icmp eq i32 %t8939, 0 %t8943 = select i1 %t8942, i32 8, i32 %t8941 %t8944 = getelementptr ptr, ptr null, i32 1 %t8945 = ptrtoint ptr %t8944 to i64 %t8946 = zext i32 %t8943 to i64 %t8947 = mul i64 %t8946, %t8945 %t8948 = load ptr, ptr %t8937 %t8949 = call ptr @realloc(ptr %t8948, i64 %t8947) store ptr %t8949, ptr %t8937 store i32 %t8943, ptr %t8936 br label %put1884 put1884: %t8950 = load ptr, ptr %t8937 %t8951 = getelementptr inbounds ptr, ptr %t8950, i32 %t8938 store ptr @.str7812, ptr %t8951 %t8952 = add i32 %t8938, 1 store i32 %t8952, ptr %t8935 br label %ifend1882 ifend1882: %t8953 = load ptr, ptr %t1 %t8954 = call i32 @lp_str_eq(ptr %t8953, ptr @.str7813) %t8955 = icmp ne i32 %t8954, 0 br i1 %t8955, label %then1885, label %ifend1887 then1885: store ptr @.str7814, ptr %t403 %t8956 = load ptr, ptr %t410 %t8957 = getelementptr inbounds %LSlice, ptr %t8956, i32 0, i32 1 %t8958 = getelementptr inbounds %LSlice, ptr %t8956, i32 0, i32 2 %t8959 = getelementptr inbounds %LSlice, ptr %t8956, i32 0, i32 0 %t8960 = load i32, ptr %t8957 %t8961 = load i32, ptr %t8958 %t8962 = icmp sge i32 %t8960, %t8961 br i1 %t8962, label %grow1888, label %put1889 grow1888: %t8963 = mul i32 %t8961, 2 %t8964 = icmp eq i32 %t8961, 0 %t8965 = select i1 %t8964, i32 8, i32 %t8963 %t8966 = getelementptr ptr, ptr null, i32 1 %t8967 = ptrtoint ptr %t8966 to i64 %t8968 = zext i32 %t8965 to i64 %t8969 = mul i64 %t8968, %t8967 %t8970 = load ptr, ptr %t8959 %t8971 = call ptr @realloc(ptr %t8970, i64 %t8969) store ptr %t8971, ptr %t8959 store i32 %t8965, ptr %t8958 br label %put1889 put1889: %t8972 = load ptr, ptr %t8959 %t8973 = getelementptr inbounds ptr, ptr %t8972, i32 %t8960 store ptr @.str7815, ptr %t8973 %t8974 = add i32 %t8960, 1 store i32 %t8974, ptr %t8957 %t8975 = load ptr, ptr %t410 %t8976 = getelementptr inbounds %LSlice, ptr %t8975, i32 0, i32 1 %t8977 = getelementptr inbounds %LSlice, ptr %t8975, i32 0, i32 2 %t8978 = getelementptr inbounds %LSlice, ptr %t8975, i32 0, i32 0 %t8979 = load i32, ptr %t8976 %t8980 = load i32, ptr %t8977 %t8981 = icmp sge i32 %t8979, %t8980 br i1 %t8981, label %grow1890, label %put1891 grow1890: %t8982 = mul i32 %t8980, 2 %t8983 = icmp eq i32 %t8980, 0 %t8984 = select i1 %t8983, i32 8, i32 %t8982 %t8985 = getelementptr ptr, ptr null, i32 1 %t8986 = ptrtoint ptr %t8985 to i64 %t8987 = zext i32 %t8984 to i64 %t8988 = mul i64 %t8987, %t8986 %t8989 = load ptr, ptr %t8978 %t8990 = call ptr @realloc(ptr %t8989, i64 %t8988) store ptr %t8990, ptr %t8978 store i32 %t8984, ptr %t8977 br label %put1891 put1891: %t8991 = load ptr, ptr %t8978 %t8992 = getelementptr inbounds ptr, ptr %t8991, i32 %t8979 store ptr @.str7816, ptr %t8992 %t8993 = add i32 %t8979, 1 store i32 %t8993, ptr %t8976 %t8994 = load ptr, ptr %t410 %t8995 = getelementptr inbounds %LSlice, ptr %t8994, i32 0, i32 1 %t8996 = getelementptr inbounds %LSlice, ptr %t8994, i32 0, i32 2 %t8997 = getelementptr inbounds %LSlice, ptr %t8994, i32 0, i32 0 %t8998 = load i32, ptr %t8995 %t8999 = load i32, ptr %t8996 %t9000 = icmp sge i32 %t8998, %t8999 br i1 %t9000, label %grow1892, label %put1893 grow1892: %t9001 = mul i32 %t8999, 2 %t9002 = icmp eq i32 %t8999, 0 %t9003 = select i1 %t9002, i32 8, i32 %t9001 %t9004 = getelementptr ptr, ptr null, i32 1 %t9005 = ptrtoint ptr %t9004 to i64 %t9006 = zext i32 %t9003 to i64 %t9007 = mul i64 %t9006, %t9005 %t9008 = load ptr, ptr %t8997 %t9009 = call ptr @realloc(ptr %t9008, i64 %t9007) store ptr %t9009, ptr %t8997 store i32 %t9003, ptr %t8996 br label %put1893 put1893: %t9010 = load ptr, ptr %t8997 %t9011 = getelementptr inbounds ptr, ptr %t9010, i32 %t8998 store ptr @.str7817, ptr %t9011 %t9012 = add i32 %t8998, 1 store i32 %t9012, ptr %t8995 br label %ifend1887 ifend1887: %t9013 = load ptr, ptr %t1 %t9014 = call i32 @lp_str_eq(ptr %t9013, ptr @.str7818) %t9015 = icmp ne i32 %t9014, 0 br i1 %t9015, label %then1894, label %ifend1896 then1894: store ptr @.str7819, ptr %t403 br label %ifend1896 ifend1896: br label %ifend1812 ifend1812: %t9016 = load ptr, ptr %t0 %t9017 = call i32 @lp_str_eq(ptr %t9016, ptr @.str7820) %t9018 = icmp ne i32 %t9017, 0 br i1 %t9018, label %then1897, label %ifend1899 then1897: %t9019 = load ptr, ptr %t1 %t9020 = call i32 @lp_str_eq(ptr %t9019, ptr @.str7821) %t9021 = icmp ne i32 %t9020, 0 br i1 %t9021, label %then1900, label %ifend1902 then1900: store ptr @.str7822, ptr %t403 %t9022 = load ptr, ptr %t410 %t9023 = getelementptr inbounds %LSlice, ptr %t9022, i32 0, i32 1 %t9024 = getelementptr inbounds %LSlice, ptr %t9022, i32 0, i32 2 %t9025 = getelementptr inbounds %LSlice, ptr %t9022, i32 0, i32 0 %t9026 = load i32, ptr %t9023 %t9027 = load i32, ptr %t9024 %t9028 = icmp sge i32 %t9026, %t9027 br i1 %t9028, label %grow1903, label %put1904 grow1903: %t9029 = mul i32 %t9027, 2 %t9030 = icmp eq i32 %t9027, 0 %t9031 = select i1 %t9030, i32 8, i32 %t9029 %t9032 = getelementptr ptr, ptr null, i32 1 %t9033 = ptrtoint ptr %t9032 to i64 %t9034 = zext i32 %t9031 to i64 %t9035 = mul i64 %t9034, %t9033 %t9036 = load ptr, ptr %t9025 %t9037 = call ptr @realloc(ptr %t9036, i64 %t9035) store ptr %t9037, ptr %t9025 store i32 %t9031, ptr %t9024 br label %put1904 put1904: %t9038 = load ptr, ptr %t9025 %t9039 = getelementptr inbounds ptr, ptr %t9038, i32 %t9026 store ptr @.str7823, ptr %t9039 %t9040 = add i32 %t9026, 1 store i32 %t9040, ptr %t9023 br label %ifend1902 ifend1902: %t9041 = load ptr, ptr %t1 %t9042 = call i32 @lp_str_eq(ptr %t9041, ptr @.str7824) %t9043 = icmp ne i32 %t9042, 0 br i1 %t9043, label %then1905, label %ifend1907 then1905: store ptr @.str7825, ptr %t403 %t9044 = load ptr, ptr %t410 %t9045 = getelementptr inbounds %LSlice, ptr %t9044, i32 0, i32 1 %t9046 = getelementptr inbounds %LSlice, ptr %t9044, i32 0, i32 2 %t9047 = getelementptr inbounds %LSlice, ptr %t9044, i32 0, i32 0 %t9048 = load i32, ptr %t9045 %t9049 = load i32, ptr %t9046 %t9050 = icmp sge i32 %t9048, %t9049 br i1 %t9050, label %grow1908, label %put1909 grow1908: %t9051 = mul i32 %t9049, 2 %t9052 = icmp eq i32 %t9049, 0 %t9053 = select i1 %t9052, i32 8, i32 %t9051 %t9054 = getelementptr ptr, ptr null, i32 1 %t9055 = ptrtoint ptr %t9054 to i64 %t9056 = zext i32 %t9053 to i64 %t9057 = mul i64 %t9056, %t9055 %t9058 = load ptr, ptr %t9047 %t9059 = call ptr @realloc(ptr %t9058, i64 %t9057) store ptr %t9059, ptr %t9047 store i32 %t9053, ptr %t9046 br label %put1909 put1909: %t9060 = load ptr, ptr %t9047 %t9061 = getelementptr inbounds ptr, ptr %t9060, i32 %t9048 store ptr @.str7826, ptr %t9061 %t9062 = add i32 %t9048, 1 store i32 %t9062, ptr %t9045 br label %ifend1907 ifend1907: %t9063 = load ptr, ptr %t1 %t9064 = call i32 @lp_str_eq(ptr %t9063, ptr @.str7827) %t9065 = icmp ne i32 %t9064, 0 br i1 %t9065, label %then1910, label %ifend1912 then1910: store ptr @.str7828, ptr %t403 %t9066 = load ptr, ptr %t410 %t9067 = getelementptr inbounds %LSlice, ptr %t9066, i32 0, i32 1 %t9068 = getelementptr inbounds %LSlice, ptr %t9066, i32 0, i32 2 %t9069 = getelementptr inbounds %LSlice, ptr %t9066, i32 0, i32 0 %t9070 = load i32, ptr %t9067 %t9071 = load i32, ptr %t9068 %t9072 = icmp sge i32 %t9070, %t9071 br i1 %t9072, label %grow1913, label %put1914 grow1913: %t9073 = mul i32 %t9071, 2 %t9074 = icmp eq i32 %t9071, 0 %t9075 = select i1 %t9074, i32 8, i32 %t9073 %t9076 = getelementptr ptr, ptr null, i32 1 %t9077 = ptrtoint ptr %t9076 to i64 %t9078 = zext i32 %t9075 to i64 %t9079 = mul i64 %t9078, %t9077 %t9080 = load ptr, ptr %t9069 %t9081 = call ptr @realloc(ptr %t9080, i64 %t9079) store ptr %t9081, ptr %t9069 store i32 %t9075, ptr %t9068 br label %put1914 put1914: %t9082 = load ptr, ptr %t9069 %t9083 = getelementptr inbounds ptr, ptr %t9082, i32 %t9070 store ptr @.str7829, ptr %t9083 %t9084 = add i32 %t9070, 1 store i32 %t9084, ptr %t9067 br label %ifend1912 ifend1912: %t9085 = load ptr, ptr %t1 %t9086 = call i32 @lp_str_eq(ptr %t9085, ptr @.str7830) %t9087 = icmp ne i32 %t9086, 0 br i1 %t9087, label %then1915, label %ifend1917 then1915: store ptr @.str7831, ptr %t403 %t9088 = load ptr, ptr %t410 %t9089 = getelementptr inbounds %LSlice, ptr %t9088, i32 0, i32 1 %t9090 = getelementptr inbounds %LSlice, ptr %t9088, i32 0, i32 2 %t9091 = getelementptr inbounds %LSlice, ptr %t9088, i32 0, i32 0 %t9092 = load i32, ptr %t9089 %t9093 = load i32, ptr %t9090 %t9094 = icmp sge i32 %t9092, %t9093 br i1 %t9094, label %grow1918, label %put1919 grow1918: %t9095 = mul i32 %t9093, 2 %t9096 = icmp eq i32 %t9093, 0 %t9097 = select i1 %t9096, i32 8, i32 %t9095 %t9098 = getelementptr ptr, ptr null, i32 1 %t9099 = ptrtoint ptr %t9098 to i64 %t9100 = zext i32 %t9097 to i64 %t9101 = mul i64 %t9100, %t9099 %t9102 = load ptr, ptr %t9091 %t9103 = call ptr @realloc(ptr %t9102, i64 %t9101) store ptr %t9103, ptr %t9091 store i32 %t9097, ptr %t9090 br label %put1919 put1919: %t9104 = load ptr, ptr %t9091 %t9105 = getelementptr inbounds ptr, ptr %t9104, i32 %t9092 store ptr @.str7832, ptr %t9105 %t9106 = add i32 %t9092, 1 store i32 %t9106, ptr %t9089 br label %ifend1917 ifend1917: br label %ifend1899 ifend1899: %t9107 = load ptr, ptr %t0 %t9108 = call i32 @lp_str_eq(ptr %t9107, ptr @.str7833) %t9109 = icmp ne i32 %t9108, 0 br i1 %t9109, label %then1920, label %ifend1922 then1920: %t9110 = load ptr, ptr %t1 %t9111 = call i32 @lp_str_eq(ptr %t9110, ptr @.str7834) %t9112 = icmp ne i32 %t9111, 0 br i1 %t9112, label %then1923, label %ifend1925 then1923: store ptr @.str7835, ptr %t403 br label %ifend1925 ifend1925: %t9113 = load ptr, ptr %t1 %t9114 = call i32 @lp_str_eq(ptr %t9113, ptr @.str7836) %t9115 = icmp ne i32 %t9114, 0 br i1 %t9115, label %then1926, label %ifend1928 then1926: store ptr @.str7837, ptr %t403 %t9116 = load ptr, ptr %t410 %t9117 = getelementptr inbounds %LSlice, ptr %t9116, i32 0, i32 1 %t9118 = getelementptr inbounds %LSlice, ptr %t9116, i32 0, i32 2 %t9119 = getelementptr inbounds %LSlice, ptr %t9116, i32 0, i32 0 %t9120 = load i32, ptr %t9117 %t9121 = load i32, ptr %t9118 %t9122 = icmp sge i32 %t9120, %t9121 br i1 %t9122, label %grow1929, label %put1930 grow1929: %t9123 = mul i32 %t9121, 2 %t9124 = icmp eq i32 %t9121, 0 %t9125 = select i1 %t9124, i32 8, i32 %t9123 %t9126 = getelementptr ptr, ptr null, i32 1 %t9127 = ptrtoint ptr %t9126 to i64 %t9128 = zext i32 %t9125 to i64 %t9129 = mul i64 %t9128, %t9127 %t9130 = load ptr, ptr %t9119 %t9131 = call ptr @realloc(ptr %t9130, i64 %t9129) store ptr %t9131, ptr %t9119 store i32 %t9125, ptr %t9118 br label %put1930 put1930: %t9132 = load ptr, ptr %t9119 %t9133 = getelementptr inbounds ptr, ptr %t9132, i32 %t9120 store ptr @.str7838, ptr %t9133 %t9134 = add i32 %t9120, 1 store i32 %t9134, ptr %t9117 br label %ifend1928 ifend1928: %t9135 = load ptr, ptr %t1 %t9136 = call i32 @lp_str_eq(ptr %t9135, ptr @.str7839) %t9137 = icmp ne i32 %t9136, 0 br i1 %t9137, label %then1931, label %ifend1933 then1931: store ptr @.str7840, ptr %t403 %t9138 = load ptr, ptr %t410 %t9139 = getelementptr inbounds %LSlice, ptr %t9138, i32 0, i32 1 %t9140 = getelementptr inbounds %LSlice, ptr %t9138, i32 0, i32 2 %t9141 = getelementptr inbounds %LSlice, ptr %t9138, i32 0, i32 0 %t9142 = load i32, ptr %t9139 %t9143 = load i32, ptr %t9140 %t9144 = icmp sge i32 %t9142, %t9143 br i1 %t9144, label %grow1934, label %put1935 grow1934: %t9145 = mul i32 %t9143, 2 %t9146 = icmp eq i32 %t9143, 0 %t9147 = select i1 %t9146, i32 8, i32 %t9145 %t9148 = getelementptr ptr, ptr null, i32 1 %t9149 = ptrtoint ptr %t9148 to i64 %t9150 = zext i32 %t9147 to i64 %t9151 = mul i64 %t9150, %t9149 %t9152 = load ptr, ptr %t9141 %t9153 = call ptr @realloc(ptr %t9152, i64 %t9151) store ptr %t9153, ptr %t9141 store i32 %t9147, ptr %t9140 br label %put1935 put1935: %t9154 = load ptr, ptr %t9141 %t9155 = getelementptr inbounds ptr, ptr %t9154, i32 %t9142 store ptr @.str7841, ptr %t9155 %t9156 = add i32 %t9142, 1 store i32 %t9156, ptr %t9139 br label %ifend1933 ifend1933: %t9157 = load ptr, ptr %t1 %t9158 = call i32 @lp_str_eq(ptr %t9157, ptr @.str7842) %t9159 = icmp ne i32 %t9158, 0 br i1 %t9159, label %then1936, label %ifend1938 then1936: store ptr @.str7843, ptr %t403 %t9160 = load ptr, ptr %t410 %t9161 = getelementptr inbounds %LSlice, ptr %t9160, i32 0, i32 1 %t9162 = getelementptr inbounds %LSlice, ptr %t9160, i32 0, i32 2 %t9163 = getelementptr inbounds %LSlice, ptr %t9160, i32 0, i32 0 %t9164 = load i32, ptr %t9161 %t9165 = load i32, ptr %t9162 %t9166 = icmp sge i32 %t9164, %t9165 br i1 %t9166, label %grow1939, label %put1940 grow1939: %t9167 = mul i32 %t9165, 2 %t9168 = icmp eq i32 %t9165, 0 %t9169 = select i1 %t9168, i32 8, i32 %t9167 %t9170 = getelementptr ptr, ptr null, i32 1 %t9171 = ptrtoint ptr %t9170 to i64 %t9172 = zext i32 %t9169 to i64 %t9173 = mul i64 %t9172, %t9171 %t9174 = load ptr, ptr %t9163 %t9175 = call ptr @realloc(ptr %t9174, i64 %t9173) store ptr %t9175, ptr %t9163 store i32 %t9169, ptr %t9162 br label %put1940 put1940: %t9176 = load ptr, ptr %t9163 %t9177 = getelementptr inbounds ptr, ptr %t9176, i32 %t9164 store ptr @.str7844, ptr %t9177 %t9178 = add i32 %t9164, 1 store i32 %t9178, ptr %t9161 br label %ifend1938 ifend1938: %t9179 = load ptr, ptr %t1 %t9180 = call i32 @lp_str_eq(ptr %t9179, ptr @.str7845) %t9181 = icmp ne i32 %t9180, 0 br i1 %t9181, label %then1941, label %ifend1943 then1941: store ptr @.str7846, ptr %t403 br label %ifend1943 ifend1943: %t9182 = load ptr, ptr %t1 %t9183 = call i32 @lp_str_eq(ptr %t9182, ptr @.str7847) %t9184 = icmp ne i32 %t9183, 0 br i1 %t9184, label %then1944, label %ifend1946 then1944: store ptr @.str7848, ptr %t403 %t9185 = load ptr, ptr %t410 %t9186 = getelementptr inbounds %LSlice, ptr %t9185, i32 0, i32 1 %t9187 = getelementptr inbounds %LSlice, ptr %t9185, i32 0, i32 2 %t9188 = getelementptr inbounds %LSlice, ptr %t9185, i32 0, i32 0 %t9189 = load i32, ptr %t9186 %t9190 = load i32, ptr %t9187 %t9191 = icmp sge i32 %t9189, %t9190 br i1 %t9191, label %grow1947, label %put1948 grow1947: %t9192 = mul i32 %t9190, 2 %t9193 = icmp eq i32 %t9190, 0 %t9194 = select i1 %t9193, i32 8, i32 %t9192 %t9195 = getelementptr ptr, ptr null, i32 1 %t9196 = ptrtoint ptr %t9195 to i64 %t9197 = zext i32 %t9194 to i64 %t9198 = mul i64 %t9197, %t9196 %t9199 = load ptr, ptr %t9188 %t9200 = call ptr @realloc(ptr %t9199, i64 %t9198) store ptr %t9200, ptr %t9188 store i32 %t9194, ptr %t9187 br label %put1948 put1948: %t9201 = load ptr, ptr %t9188 %t9202 = getelementptr inbounds ptr, ptr %t9201, i32 %t9189 store ptr @.str7849, ptr %t9202 %t9203 = add i32 %t9189, 1 store i32 %t9203, ptr %t9186 br label %ifend1946 ifend1946: %t9204 = load ptr, ptr %t1 %t9205 = call i32 @lp_str_eq(ptr %t9204, ptr @.str7850) %t9206 = icmp ne i32 %t9205, 0 br i1 %t9206, label %then1949, label %ifend1951 then1949: store ptr @.str7851, ptr %t403 %t9207 = load ptr, ptr %t410 %t9208 = getelementptr inbounds %LSlice, ptr %t9207, i32 0, i32 1 %t9209 = getelementptr inbounds %LSlice, ptr %t9207, i32 0, i32 2 %t9210 = getelementptr inbounds %LSlice, ptr %t9207, i32 0, i32 0 %t9211 = load i32, ptr %t9208 %t9212 = load i32, ptr %t9209 %t9213 = icmp sge i32 %t9211, %t9212 br i1 %t9213, label %grow1952, label %put1953 grow1952: %t9214 = mul i32 %t9212, 2 %t9215 = icmp eq i32 %t9212, 0 %t9216 = select i1 %t9215, i32 8, i32 %t9214 %t9217 = getelementptr ptr, ptr null, i32 1 %t9218 = ptrtoint ptr %t9217 to i64 %t9219 = zext i32 %t9216 to i64 %t9220 = mul i64 %t9219, %t9218 %t9221 = load ptr, ptr %t9210 %t9222 = call ptr @realloc(ptr %t9221, i64 %t9220) store ptr %t9222, ptr %t9210 store i32 %t9216, ptr %t9209 br label %put1953 put1953: %t9223 = load ptr, ptr %t9210 %t9224 = getelementptr inbounds ptr, ptr %t9223, i32 %t9211 store ptr @.str7852, ptr %t9224 %t9225 = add i32 %t9211, 1 store i32 %t9225, ptr %t9208 %t9226 = load ptr, ptr %t410 %t9227 = getelementptr inbounds %LSlice, ptr %t9226, i32 0, i32 1 %t9228 = getelementptr inbounds %LSlice, ptr %t9226, i32 0, i32 2 %t9229 = getelementptr inbounds %LSlice, ptr %t9226, i32 0, i32 0 %t9230 = load i32, ptr %t9227 %t9231 = load i32, ptr %t9228 %t9232 = icmp sge i32 %t9230, %t9231 br i1 %t9232, label %grow1954, label %put1955 grow1954: %t9233 = mul i32 %t9231, 2 %t9234 = icmp eq i32 %t9231, 0 %t9235 = select i1 %t9234, i32 8, i32 %t9233 %t9236 = getelementptr ptr, ptr null, i32 1 %t9237 = ptrtoint ptr %t9236 to i64 %t9238 = zext i32 %t9235 to i64 %t9239 = mul i64 %t9238, %t9237 %t9240 = load ptr, ptr %t9229 %t9241 = call ptr @realloc(ptr %t9240, i64 %t9239) store ptr %t9241, ptr %t9229 store i32 %t9235, ptr %t9228 br label %put1955 put1955: %t9242 = load ptr, ptr %t9229 %t9243 = getelementptr inbounds ptr, ptr %t9242, i32 %t9230 store ptr @.str7853, ptr %t9243 %t9244 = add i32 %t9230, 1 store i32 %t9244, ptr %t9227 br label %ifend1951 ifend1951: %t9245 = load ptr, ptr %t1 %t9246 = call i32 @lp_str_eq(ptr %t9245, ptr @.str7854) %t9247 = icmp ne i32 %t9246, 0 br i1 %t9247, label %then1956, label %ifend1958 then1956: store ptr @.str7855, ptr %t403 %t9248 = load ptr, ptr %t410 %t9249 = getelementptr inbounds %LSlice, ptr %t9248, i32 0, i32 1 %t9250 = getelementptr inbounds %LSlice, ptr %t9248, i32 0, i32 2 %t9251 = getelementptr inbounds %LSlice, ptr %t9248, i32 0, i32 0 %t9252 = load i32, ptr %t9249 %t9253 = load i32, ptr %t9250 %t9254 = icmp sge i32 %t9252, %t9253 br i1 %t9254, label %grow1959, label %put1960 grow1959: %t9255 = mul i32 %t9253, 2 %t9256 = icmp eq i32 %t9253, 0 %t9257 = select i1 %t9256, i32 8, i32 %t9255 %t9258 = getelementptr ptr, ptr null, i32 1 %t9259 = ptrtoint ptr %t9258 to i64 %t9260 = zext i32 %t9257 to i64 %t9261 = mul i64 %t9260, %t9259 %t9262 = load ptr, ptr %t9251 %t9263 = call ptr @realloc(ptr %t9262, i64 %t9261) store ptr %t9263, ptr %t9251 store i32 %t9257, ptr %t9250 br label %put1960 put1960: %t9264 = load ptr, ptr %t9251 %t9265 = getelementptr inbounds ptr, ptr %t9264, i32 %t9252 store ptr @.str7856, ptr %t9265 %t9266 = add i32 %t9252, 1 store i32 %t9266, ptr %t9249 %t9267 = load ptr, ptr %t410 %t9268 = getelementptr inbounds %LSlice, ptr %t9267, i32 0, i32 1 %t9269 = getelementptr inbounds %LSlice, ptr %t9267, i32 0, i32 2 %t9270 = getelementptr inbounds %LSlice, ptr %t9267, i32 0, i32 0 %t9271 = load i32, ptr %t9268 %t9272 = load i32, ptr %t9269 %t9273 = icmp sge i32 %t9271, %t9272 br i1 %t9273, label %grow1961, label %put1962 grow1961: %t9274 = mul i32 %t9272, 2 %t9275 = icmp eq i32 %t9272, 0 %t9276 = select i1 %t9275, i32 8, i32 %t9274 %t9277 = getelementptr ptr, ptr null, i32 1 %t9278 = ptrtoint ptr %t9277 to i64 %t9279 = zext i32 %t9276 to i64 %t9280 = mul i64 %t9279, %t9278 %t9281 = load ptr, ptr %t9270 %t9282 = call ptr @realloc(ptr %t9281, i64 %t9280) store ptr %t9282, ptr %t9270 store i32 %t9276, ptr %t9269 br label %put1962 put1962: %t9283 = load ptr, ptr %t9270 %t9284 = getelementptr inbounds ptr, ptr %t9283, i32 %t9271 store ptr @.str7857, ptr %t9284 %t9285 = add i32 %t9271, 1 store i32 %t9285, ptr %t9268 br label %ifend1958 ifend1958: %t9286 = load ptr, ptr %t1 %t9287 = call i32 @lp_str_eq(ptr %t9286, ptr @.str7858) %t9288 = icmp ne i32 %t9287, 0 br i1 %t9288, label %then1963, label %ifend1965 then1963: store ptr @.str7859, ptr %t403 %t9289 = load ptr, ptr %t410 %t9290 = getelementptr inbounds %LSlice, ptr %t9289, i32 0, i32 1 %t9291 = getelementptr inbounds %LSlice, ptr %t9289, i32 0, i32 2 %t9292 = getelementptr inbounds %LSlice, ptr %t9289, i32 0, i32 0 %t9293 = load i32, ptr %t9290 %t9294 = load i32, ptr %t9291 %t9295 = icmp sge i32 %t9293, %t9294 br i1 %t9295, label %grow1966, label %put1967 grow1966: %t9296 = mul i32 %t9294, 2 %t9297 = icmp eq i32 %t9294, 0 %t9298 = select i1 %t9297, i32 8, i32 %t9296 %t9299 = getelementptr ptr, ptr null, i32 1 %t9300 = ptrtoint ptr %t9299 to i64 %t9301 = zext i32 %t9298 to i64 %t9302 = mul i64 %t9301, %t9300 %t9303 = load ptr, ptr %t9292 %t9304 = call ptr @realloc(ptr %t9303, i64 %t9302) store ptr %t9304, ptr %t9292 store i32 %t9298, ptr %t9291 br label %put1967 put1967: %t9305 = load ptr, ptr %t9292 %t9306 = getelementptr inbounds ptr, ptr %t9305, i32 %t9293 store ptr @.str7860, ptr %t9306 %t9307 = add i32 %t9293, 1 store i32 %t9307, ptr %t9290 %t9308 = load ptr, ptr %t410 %t9309 = getelementptr inbounds %LSlice, ptr %t9308, i32 0, i32 1 %t9310 = getelementptr inbounds %LSlice, ptr %t9308, i32 0, i32 2 %t9311 = getelementptr inbounds %LSlice, ptr %t9308, i32 0, i32 0 %t9312 = load i32, ptr %t9309 %t9313 = load i32, ptr %t9310 %t9314 = icmp sge i32 %t9312, %t9313 br i1 %t9314, label %grow1968, label %put1969 grow1968: %t9315 = mul i32 %t9313, 2 %t9316 = icmp eq i32 %t9313, 0 %t9317 = select i1 %t9316, i32 8, i32 %t9315 %t9318 = getelementptr ptr, ptr null, i32 1 %t9319 = ptrtoint ptr %t9318 to i64 %t9320 = zext i32 %t9317 to i64 %t9321 = mul i64 %t9320, %t9319 %t9322 = load ptr, ptr %t9311 %t9323 = call ptr @realloc(ptr %t9322, i64 %t9321) store ptr %t9323, ptr %t9311 store i32 %t9317, ptr %t9310 br label %put1969 put1969: %t9324 = load ptr, ptr %t9311 %t9325 = getelementptr inbounds ptr, ptr %t9324, i32 %t9312 store ptr @.str7861, ptr %t9325 %t9326 = add i32 %t9312, 1 store i32 %t9326, ptr %t9309 %t9327 = load ptr, ptr %t410 %t9328 = getelementptr inbounds %LSlice, ptr %t9327, i32 0, i32 1 %t9329 = getelementptr inbounds %LSlice, ptr %t9327, i32 0, i32 2 %t9330 = getelementptr inbounds %LSlice, ptr %t9327, i32 0, i32 0 %t9331 = load i32, ptr %t9328 %t9332 = load i32, ptr %t9329 %t9333 = icmp sge i32 %t9331, %t9332 br i1 %t9333, label %grow1970, label %put1971 grow1970: %t9334 = mul i32 %t9332, 2 %t9335 = icmp eq i32 %t9332, 0 %t9336 = select i1 %t9335, i32 8, i32 %t9334 %t9337 = getelementptr ptr, ptr null, i32 1 %t9338 = ptrtoint ptr %t9337 to i64 %t9339 = zext i32 %t9336 to i64 %t9340 = mul i64 %t9339, %t9338 %t9341 = load ptr, ptr %t9330 %t9342 = call ptr @realloc(ptr %t9341, i64 %t9340) store ptr %t9342, ptr %t9330 store i32 %t9336, ptr %t9329 br label %put1971 put1971: %t9343 = load ptr, ptr %t9330 %t9344 = getelementptr inbounds ptr, ptr %t9343, i32 %t9331 store ptr @.str7862, ptr %t9344 %t9345 = add i32 %t9331, 1 store i32 %t9345, ptr %t9328 br label %ifend1965 ifend1965: %t9346 = load ptr, ptr %t1 %t9347 = call i32 @lp_str_eq(ptr %t9346, ptr @.str7863) %t9348 = icmp ne i32 %t9347, 0 br i1 %t9348, label %then1972, label %ifend1974 then1972: store ptr @.str7864, ptr %t403 br label %ifend1974 ifend1974: %t9349 = load ptr, ptr %t1 %t9350 = call i32 @lp_str_eq(ptr %t9349, ptr @.str7865) %t9351 = icmp ne i32 %t9350, 0 br i1 %t9351, label %then1975, label %ifend1977 then1975: store ptr @.str7866, ptr %t403 %t9352 = load ptr, ptr %t410 %t9353 = getelementptr inbounds %LSlice, ptr %t9352, i32 0, i32 1 %t9354 = getelementptr inbounds %LSlice, ptr %t9352, i32 0, i32 2 %t9355 = getelementptr inbounds %LSlice, ptr %t9352, i32 0, i32 0 %t9356 = load i32, ptr %t9353 %t9357 = load i32, ptr %t9354 %t9358 = icmp sge i32 %t9356, %t9357 br i1 %t9358, label %grow1978, label %put1979 grow1978: %t9359 = mul i32 %t9357, 2 %t9360 = icmp eq i32 %t9357, 0 %t9361 = select i1 %t9360, i32 8, i32 %t9359 %t9362 = getelementptr ptr, ptr null, i32 1 %t9363 = ptrtoint ptr %t9362 to i64 %t9364 = zext i32 %t9361 to i64 %t9365 = mul i64 %t9364, %t9363 %t9366 = load ptr, ptr %t9355 %t9367 = call ptr @realloc(ptr %t9366, i64 %t9365) store ptr %t9367, ptr %t9355 store i32 %t9361, ptr %t9354 br label %put1979 put1979: %t9368 = load ptr, ptr %t9355 %t9369 = getelementptr inbounds ptr, ptr %t9368, i32 %t9356 store ptr @.str7867, ptr %t9369 %t9370 = add i32 %t9356, 1 store i32 %t9370, ptr %t9353 %t9371 = load ptr, ptr %t410 %t9372 = getelementptr inbounds %LSlice, ptr %t9371, i32 0, i32 1 %t9373 = getelementptr inbounds %LSlice, ptr %t9371, i32 0, i32 2 %t9374 = getelementptr inbounds %LSlice, ptr %t9371, i32 0, i32 0 %t9375 = load i32, ptr %t9372 %t9376 = load i32, ptr %t9373 %t9377 = icmp sge i32 %t9375, %t9376 br i1 %t9377, label %grow1980, label %put1981 grow1980: %t9378 = mul i32 %t9376, 2 %t9379 = icmp eq i32 %t9376, 0 %t9380 = select i1 %t9379, i32 8, i32 %t9378 %t9381 = getelementptr ptr, ptr null, i32 1 %t9382 = ptrtoint ptr %t9381 to i64 %t9383 = zext i32 %t9380 to i64 %t9384 = mul i64 %t9383, %t9382 %t9385 = load ptr, ptr %t9374 %t9386 = call ptr @realloc(ptr %t9385, i64 %t9384) store ptr %t9386, ptr %t9374 store i32 %t9380, ptr %t9373 br label %put1981 put1981: %t9387 = load ptr, ptr %t9374 %t9388 = getelementptr inbounds ptr, ptr %t9387, i32 %t9375 store ptr @.str7868, ptr %t9388 %t9389 = add i32 %t9375, 1 store i32 %t9389, ptr %t9372 br label %ifend1977 ifend1977: %t9390 = load ptr, ptr %t1 %t9391 = call i32 @lp_str_eq(ptr %t9390, ptr @.str7869) %t9392 = icmp ne i32 %t9391, 0 br i1 %t9392, label %then1982, label %ifend1984 then1982: store ptr @.str7870, ptr %t403 %t9393 = load ptr, ptr %t410 %t9394 = getelementptr inbounds %LSlice, ptr %t9393, i32 0, i32 1 %t9395 = getelementptr inbounds %LSlice, ptr %t9393, i32 0, i32 2 %t9396 = getelementptr inbounds %LSlice, ptr %t9393, i32 0, i32 0 %t9397 = load i32, ptr %t9394 %t9398 = load i32, ptr %t9395 %t9399 = icmp sge i32 %t9397, %t9398 br i1 %t9399, label %grow1985, label %put1986 grow1985: %t9400 = mul i32 %t9398, 2 %t9401 = icmp eq i32 %t9398, 0 %t9402 = select i1 %t9401, i32 8, i32 %t9400 %t9403 = getelementptr ptr, ptr null, i32 1 %t9404 = ptrtoint ptr %t9403 to i64 %t9405 = zext i32 %t9402 to i64 %t9406 = mul i64 %t9405, %t9404 %t9407 = load ptr, ptr %t9396 %t9408 = call ptr @realloc(ptr %t9407, i64 %t9406) store ptr %t9408, ptr %t9396 store i32 %t9402, ptr %t9395 br label %put1986 put1986: %t9409 = load ptr, ptr %t9396 %t9410 = getelementptr inbounds ptr, ptr %t9409, i32 %t9397 store ptr @.str7871, ptr %t9410 %t9411 = add i32 %t9397, 1 store i32 %t9411, ptr %t9394 br label %ifend1984 ifend1984: %t9412 = load ptr, ptr %t1 %t9413 = call i32 @lp_str_eq(ptr %t9412, ptr @.str7872) %t9414 = icmp ne i32 %t9413, 0 br i1 %t9414, label %then1987, label %ifend1989 then1987: store ptr @.str7873, ptr %t403 %t9415 = load ptr, ptr %t410 %t9416 = getelementptr inbounds %LSlice, ptr %t9415, i32 0, i32 1 %t9417 = getelementptr inbounds %LSlice, ptr %t9415, i32 0, i32 2 %t9418 = getelementptr inbounds %LSlice, ptr %t9415, i32 0, i32 0 %t9419 = load i32, ptr %t9416 %t9420 = load i32, ptr %t9417 %t9421 = icmp sge i32 %t9419, %t9420 br i1 %t9421, label %grow1990, label %put1991 grow1990: %t9422 = mul i32 %t9420, 2 %t9423 = icmp eq i32 %t9420, 0 %t9424 = select i1 %t9423, i32 8, i32 %t9422 %t9425 = getelementptr ptr, ptr null, i32 1 %t9426 = ptrtoint ptr %t9425 to i64 %t9427 = zext i32 %t9424 to i64 %t9428 = mul i64 %t9427, %t9426 %t9429 = load ptr, ptr %t9418 %t9430 = call ptr @realloc(ptr %t9429, i64 %t9428) store ptr %t9430, ptr %t9418 store i32 %t9424, ptr %t9417 br label %put1991 put1991: %t9431 = load ptr, ptr %t9418 %t9432 = getelementptr inbounds ptr, ptr %t9431, i32 %t9419 store ptr @.str7874, ptr %t9432 %t9433 = add i32 %t9419, 1 store i32 %t9433, ptr %t9416 br label %ifend1989 ifend1989: %t9434 = load ptr, ptr %t1 %t9435 = call i32 @lp_str_eq(ptr %t9434, ptr @.str7875) %t9436 = icmp ne i32 %t9435, 0 br i1 %t9436, label %then1992, label %ifend1994 then1992: store ptr @.str7876, ptr %t403 %t9437 = load ptr, ptr %t410 %t9438 = getelementptr inbounds %LSlice, ptr %t9437, i32 0, i32 1 %t9439 = getelementptr inbounds %LSlice, ptr %t9437, i32 0, i32 2 %t9440 = getelementptr inbounds %LSlice, ptr %t9437, i32 0, i32 0 %t9441 = load i32, ptr %t9438 %t9442 = load i32, ptr %t9439 %t9443 = icmp sge i32 %t9441, %t9442 br i1 %t9443, label %grow1995, label %put1996 grow1995: %t9444 = mul i32 %t9442, 2 %t9445 = icmp eq i32 %t9442, 0 %t9446 = select i1 %t9445, i32 8, i32 %t9444 %t9447 = getelementptr ptr, ptr null, i32 1 %t9448 = ptrtoint ptr %t9447 to i64 %t9449 = zext i32 %t9446 to i64 %t9450 = mul i64 %t9449, %t9448 %t9451 = load ptr, ptr %t9440 %t9452 = call ptr @realloc(ptr %t9451, i64 %t9450) store ptr %t9452, ptr %t9440 store i32 %t9446, ptr %t9439 br label %put1996 put1996: %t9453 = load ptr, ptr %t9440 %t9454 = getelementptr inbounds ptr, ptr %t9453, i32 %t9441 store ptr @.str7877, ptr %t9454 %t9455 = add i32 %t9441, 1 store i32 %t9455, ptr %t9438 br label %ifend1994 ifend1994: %t9456 = load ptr, ptr %t1 %t9457 = call i32 @lp_str_eq(ptr %t9456, ptr @.str7878) %t9458 = icmp ne i32 %t9457, 0 br i1 %t9458, label %then1997, label %ifend1999 then1997: store ptr @.str7879, ptr %t403 br label %ifend1999 ifend1999: br label %ifend1922 ifend1922: %t9459 = load ptr, ptr %t0 %t9460 = call i32 @lp_str_eq(ptr %t9459, ptr @.str7880) %t9461 = icmp ne i32 %t9460, 0 br i1 %t9461, label %then2000, label %ifend2002 then2000: %t9462 = load ptr, ptr %t1 %t9463 = call i32 @lp_str_eq(ptr %t9462, ptr @.str7881) %t9464 = icmp ne i32 %t9463, 0 br i1 %t9464, label %then2003, label %ifend2005 then2003: store ptr @.str7882, ptr %t403 %t9465 = load ptr, ptr %t410 %t9466 = getelementptr inbounds %LSlice, ptr %t9465, i32 0, i32 1 %t9467 = getelementptr inbounds %LSlice, ptr %t9465, i32 0, i32 2 %t9468 = getelementptr inbounds %LSlice, ptr %t9465, i32 0, i32 0 %t9469 = load i32, ptr %t9466 %t9470 = load i32, ptr %t9467 %t9471 = icmp sge i32 %t9469, %t9470 br i1 %t9471, label %grow2006, label %put2007 grow2006: %t9472 = mul i32 %t9470, 2 %t9473 = icmp eq i32 %t9470, 0 %t9474 = select i1 %t9473, i32 8, i32 %t9472 %t9475 = getelementptr ptr, ptr null, i32 1 %t9476 = ptrtoint ptr %t9475 to i64 %t9477 = zext i32 %t9474 to i64 %t9478 = mul i64 %t9477, %t9476 %t9479 = load ptr, ptr %t9468 %t9480 = call ptr @realloc(ptr %t9479, i64 %t9478) store ptr %t9480, ptr %t9468 store i32 %t9474, ptr %t9467 br label %put2007 put2007: %t9481 = load ptr, ptr %t9468 %t9482 = getelementptr inbounds ptr, ptr %t9481, i32 %t9469 store ptr @.str7883, ptr %t9482 %t9483 = add i32 %t9469, 1 store i32 %t9483, ptr %t9466 br label %ifend2005 ifend2005: %t9484 = load ptr, ptr %t1 %t9485 = call i32 @lp_str_eq(ptr %t9484, ptr @.str7884) %t9486 = icmp ne i32 %t9485, 0 br i1 %t9486, label %then2008, label %ifend2010 then2008: store ptr @.str7885, ptr %t403 %t9487 = load ptr, ptr %t410 %t9488 = getelementptr inbounds %LSlice, ptr %t9487, i32 0, i32 1 %t9489 = getelementptr inbounds %LSlice, ptr %t9487, i32 0, i32 2 %t9490 = getelementptr inbounds %LSlice, ptr %t9487, i32 0, i32 0 %t9491 = load i32, ptr %t9488 %t9492 = load i32, ptr %t9489 %t9493 = icmp sge i32 %t9491, %t9492 br i1 %t9493, label %grow2011, label %put2012 grow2011: %t9494 = mul i32 %t9492, 2 %t9495 = icmp eq i32 %t9492, 0 %t9496 = select i1 %t9495, i32 8, i32 %t9494 %t9497 = getelementptr ptr, ptr null, i32 1 %t9498 = ptrtoint ptr %t9497 to i64 %t9499 = zext i32 %t9496 to i64 %t9500 = mul i64 %t9499, %t9498 %t9501 = load ptr, ptr %t9490 %t9502 = call ptr @realloc(ptr %t9501, i64 %t9500) store ptr %t9502, ptr %t9490 store i32 %t9496, ptr %t9489 br label %put2012 put2012: %t9503 = load ptr, ptr %t9490 %t9504 = getelementptr inbounds ptr, ptr %t9503, i32 %t9491 store ptr @.str7886, ptr %t9504 %t9505 = add i32 %t9491, 1 store i32 %t9505, ptr %t9488 %t9506 = load ptr, ptr %t410 %t9507 = getelementptr inbounds %LSlice, ptr %t9506, i32 0, i32 1 %t9508 = getelementptr inbounds %LSlice, ptr %t9506, i32 0, i32 2 %t9509 = getelementptr inbounds %LSlice, ptr %t9506, i32 0, i32 0 %t9510 = load i32, ptr %t9507 %t9511 = load i32, ptr %t9508 %t9512 = icmp sge i32 %t9510, %t9511 br i1 %t9512, label %grow2013, label %put2014 grow2013: %t9513 = mul i32 %t9511, 2 %t9514 = icmp eq i32 %t9511, 0 %t9515 = select i1 %t9514, i32 8, i32 %t9513 %t9516 = getelementptr ptr, ptr null, i32 1 %t9517 = ptrtoint ptr %t9516 to i64 %t9518 = zext i32 %t9515 to i64 %t9519 = mul i64 %t9518, %t9517 %t9520 = load ptr, ptr %t9509 %t9521 = call ptr @realloc(ptr %t9520, i64 %t9519) store ptr %t9521, ptr %t9509 store i32 %t9515, ptr %t9508 br label %put2014 put2014: %t9522 = load ptr, ptr %t9509 %t9523 = getelementptr inbounds ptr, ptr %t9522, i32 %t9510 store ptr @.str7887, ptr %t9523 %t9524 = add i32 %t9510, 1 store i32 %t9524, ptr %t9507 br label %ifend2010 ifend2010: %t9525 = load ptr, ptr %t1 %t9526 = call i32 @lp_str_eq(ptr %t9525, ptr @.str7888) %t9527 = icmp ne i32 %t9526, 0 br i1 %t9527, label %then2015, label %ifend2017 then2015: store ptr @.str7889, ptr %t403 %t9528 = load ptr, ptr %t410 %t9529 = getelementptr inbounds %LSlice, ptr %t9528, i32 0, i32 1 %t9530 = getelementptr inbounds %LSlice, ptr %t9528, i32 0, i32 2 %t9531 = getelementptr inbounds %LSlice, ptr %t9528, i32 0, i32 0 %t9532 = load i32, ptr %t9529 %t9533 = load i32, ptr %t9530 %t9534 = icmp sge i32 %t9532, %t9533 br i1 %t9534, label %grow2018, label %put2019 grow2018: %t9535 = mul i32 %t9533, 2 %t9536 = icmp eq i32 %t9533, 0 %t9537 = select i1 %t9536, i32 8, i32 %t9535 %t9538 = getelementptr ptr, ptr null, i32 1 %t9539 = ptrtoint ptr %t9538 to i64 %t9540 = zext i32 %t9537 to i64 %t9541 = mul i64 %t9540, %t9539 %t9542 = load ptr, ptr %t9531 %t9543 = call ptr @realloc(ptr %t9542, i64 %t9541) store ptr %t9543, ptr %t9531 store i32 %t9537, ptr %t9530 br label %put2019 put2019: %t9544 = load ptr, ptr %t9531 %t9545 = getelementptr inbounds ptr, ptr %t9544, i32 %t9532 store ptr @.str7890, ptr %t9545 %t9546 = add i32 %t9532, 1 store i32 %t9546, ptr %t9529 %t9547 = load ptr, ptr %t410 %t9548 = getelementptr inbounds %LSlice, ptr %t9547, i32 0, i32 1 %t9549 = getelementptr inbounds %LSlice, ptr %t9547, i32 0, i32 2 %t9550 = getelementptr inbounds %LSlice, ptr %t9547, i32 0, i32 0 %t9551 = load i32, ptr %t9548 %t9552 = load i32, ptr %t9549 %t9553 = icmp sge i32 %t9551, %t9552 br i1 %t9553, label %grow2020, label %put2021 grow2020: %t9554 = mul i32 %t9552, 2 %t9555 = icmp eq i32 %t9552, 0 %t9556 = select i1 %t9555, i32 8, i32 %t9554 %t9557 = getelementptr ptr, ptr null, i32 1 %t9558 = ptrtoint ptr %t9557 to i64 %t9559 = zext i32 %t9556 to i64 %t9560 = mul i64 %t9559, %t9558 %t9561 = load ptr, ptr %t9550 %t9562 = call ptr @realloc(ptr %t9561, i64 %t9560) store ptr %t9562, ptr %t9550 store i32 %t9556, ptr %t9549 br label %put2021 put2021: %t9563 = load ptr, ptr %t9550 %t9564 = getelementptr inbounds ptr, ptr %t9563, i32 %t9551 store ptr @.str7891, ptr %t9564 %t9565 = add i32 %t9551, 1 store i32 %t9565, ptr %t9548 br label %ifend2017 ifend2017: %t9566 = load ptr, ptr %t1 %t9567 = call i32 @lp_str_eq(ptr %t9566, ptr @.str7892) %t9568 = icmp ne i32 %t9567, 0 br i1 %t9568, label %then2022, label %ifend2024 then2022: store ptr @.str7893, ptr %t403 %t9569 = load ptr, ptr %t410 %t9570 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 1 %t9571 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 2 %t9572 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 0 %t9573 = load i32, ptr %t9570 %t9574 = load i32, ptr %t9571 %t9575 = icmp sge i32 %t9573, %t9574 br i1 %t9575, label %grow2025, label %put2026 grow2025: %t9576 = mul i32 %t9574, 2 %t9577 = icmp eq i32 %t9574, 0 %t9578 = select i1 %t9577, i32 8, i32 %t9576 %t9579 = getelementptr ptr, ptr null, i32 1 %t9580 = ptrtoint ptr %t9579 to i64 %t9581 = zext i32 %t9578 to i64 %t9582 = mul i64 %t9581, %t9580 %t9583 = load ptr, ptr %t9572 %t9584 = call ptr @realloc(ptr %t9583, i64 %t9582) store ptr %t9584, ptr %t9572 store i32 %t9578, ptr %t9571 br label %put2026 put2026: %t9585 = load ptr, ptr %t9572 %t9586 = getelementptr inbounds ptr, ptr %t9585, i32 %t9573 store ptr @.str7894, ptr %t9586 %t9587 = add i32 %t9573, 1 store i32 %t9587, ptr %t9570 %t9588 = load ptr, ptr %t410 %t9589 = getelementptr inbounds %LSlice, ptr %t9588, i32 0, i32 1 %t9590 = getelementptr inbounds %LSlice, ptr %t9588, i32 0, i32 2 %t9591 = getelementptr inbounds %LSlice, ptr %t9588, i32 0, i32 0 %t9592 = load i32, ptr %t9589 %t9593 = load i32, ptr %t9590 %t9594 = icmp sge i32 %t9592, %t9593 br i1 %t9594, label %grow2027, label %put2028 grow2027: %t9595 = mul i32 %t9593, 2 %t9596 = icmp eq i32 %t9593, 0 %t9597 = select i1 %t9596, i32 8, i32 %t9595 %t9598 = getelementptr ptr, ptr null, i32 1 %t9599 = ptrtoint ptr %t9598 to i64 %t9600 = zext i32 %t9597 to i64 %t9601 = mul i64 %t9600, %t9599 %t9602 = load ptr, ptr %t9591 %t9603 = call ptr @realloc(ptr %t9602, i64 %t9601) store ptr %t9603, ptr %t9591 store i32 %t9597, ptr %t9590 br label %put2028 put2028: %t9604 = load ptr, ptr %t9591 %t9605 = getelementptr inbounds ptr, ptr %t9604, i32 %t9592 store ptr @.str7895, ptr %t9605 %t9606 = add i32 %t9592, 1 store i32 %t9606, ptr %t9589 br label %ifend2024 ifend2024: %t9607 = load ptr, ptr %t1 %t9608 = call i32 @lp_str_eq(ptr %t9607, ptr @.str7896) %t9609 = icmp ne i32 %t9608, 0 br i1 %t9609, label %then2029, label %ifend2031 then2029: store ptr @.str7897, ptr %t403 %t9610 = load ptr, ptr %t410 %t9611 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 1 %t9612 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 2 %t9613 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 0 %t9614 = load i32, ptr %t9611 %t9615 = load i32, ptr %t9612 %t9616 = icmp sge i32 %t9614, %t9615 br i1 %t9616, label %grow2032, label %put2033 grow2032: %t9617 = mul i32 %t9615, 2 %t9618 = icmp eq i32 %t9615, 0 %t9619 = select i1 %t9618, i32 8, i32 %t9617 %t9620 = getelementptr ptr, ptr null, i32 1 %t9621 = ptrtoint ptr %t9620 to i64 %t9622 = zext i32 %t9619 to i64 %t9623 = mul i64 %t9622, %t9621 %t9624 = load ptr, ptr %t9613 %t9625 = call ptr @realloc(ptr %t9624, i64 %t9623) store ptr %t9625, ptr %t9613 store i32 %t9619, ptr %t9612 br label %put2033 put2033: %t9626 = load ptr, ptr %t9613 %t9627 = getelementptr inbounds ptr, ptr %t9626, i32 %t9614 store ptr @.str7898, ptr %t9627 %t9628 = add i32 %t9614, 1 store i32 %t9628, ptr %t9611 br label %ifend2031 ifend2031: %t9629 = load ptr, ptr %t1 %t9630 = call i32 @lp_str_eq(ptr %t9629, ptr @.str7899) %t9631 = icmp ne i32 %t9630, 0 br i1 %t9631, label %then2034, label %ifend2036 then2034: store ptr @.str7900, ptr %t403 %t9632 = load ptr, ptr %t410 %t9633 = getelementptr inbounds %LSlice, ptr %t9632, i32 0, i32 1 %t9634 = getelementptr inbounds %LSlice, ptr %t9632, i32 0, i32 2 %t9635 = getelementptr inbounds %LSlice, ptr %t9632, i32 0, i32 0 %t9636 = load i32, ptr %t9633 %t9637 = load i32, ptr %t9634 %t9638 = icmp sge i32 %t9636, %t9637 br i1 %t9638, label %grow2037, label %put2038 grow2037: %t9639 = mul i32 %t9637, 2 %t9640 = icmp eq i32 %t9637, 0 %t9641 = select i1 %t9640, i32 8, i32 %t9639 %t9642 = getelementptr ptr, ptr null, i32 1 %t9643 = ptrtoint ptr %t9642 to i64 %t9644 = zext i32 %t9641 to i64 %t9645 = mul i64 %t9644, %t9643 %t9646 = load ptr, ptr %t9635 %t9647 = call ptr @realloc(ptr %t9646, i64 %t9645) store ptr %t9647, ptr %t9635 store i32 %t9641, ptr %t9634 br label %put2038 put2038: %t9648 = load ptr, ptr %t9635 %t9649 = getelementptr inbounds ptr, ptr %t9648, i32 %t9636 store ptr @.str7901, ptr %t9649 %t9650 = add i32 %t9636, 1 store i32 %t9650, ptr %t9633 %t9651 = load ptr, ptr %t410 %t9652 = getelementptr inbounds %LSlice, ptr %t9651, i32 0, i32 1 %t9653 = getelementptr inbounds %LSlice, ptr %t9651, i32 0, i32 2 %t9654 = getelementptr inbounds %LSlice, ptr %t9651, i32 0, i32 0 %t9655 = load i32, ptr %t9652 %t9656 = load i32, ptr %t9653 %t9657 = icmp sge i32 %t9655, %t9656 br i1 %t9657, label %grow2039, label %put2040 grow2039: %t9658 = mul i32 %t9656, 2 %t9659 = icmp eq i32 %t9656, 0 %t9660 = select i1 %t9659, i32 8, i32 %t9658 %t9661 = getelementptr ptr, ptr null, i32 1 %t9662 = ptrtoint ptr %t9661 to i64 %t9663 = zext i32 %t9660 to i64 %t9664 = mul i64 %t9663, %t9662 %t9665 = load ptr, ptr %t9654 %t9666 = call ptr @realloc(ptr %t9665, i64 %t9664) store ptr %t9666, ptr %t9654 store i32 %t9660, ptr %t9653 br label %put2040 put2040: %t9667 = load ptr, ptr %t9654 %t9668 = getelementptr inbounds ptr, ptr %t9667, i32 %t9655 store ptr @.str7902, ptr %t9668 %t9669 = add i32 %t9655, 1 store i32 %t9669, ptr %t9652 br label %ifend2036 ifend2036: %t9670 = load ptr, ptr %t1 %t9671 = call i32 @lp_str_eq(ptr %t9670, ptr @.str7903) %t9672 = icmp ne i32 %t9671, 0 br i1 %t9672, label %then2041, label %ifend2043 then2041: store ptr @.str7904, ptr %t403 %t9673 = load ptr, ptr %t410 %t9674 = getelementptr inbounds %LSlice, ptr %t9673, i32 0, i32 1 %t9675 = getelementptr inbounds %LSlice, ptr %t9673, i32 0, i32 2 %t9676 = getelementptr inbounds %LSlice, ptr %t9673, i32 0, i32 0 %t9677 = load i32, ptr %t9674 %t9678 = load i32, ptr %t9675 %t9679 = icmp sge i32 %t9677, %t9678 br i1 %t9679, label %grow2044, label %put2045 grow2044: %t9680 = mul i32 %t9678, 2 %t9681 = icmp eq i32 %t9678, 0 %t9682 = select i1 %t9681, i32 8, i32 %t9680 %t9683 = getelementptr ptr, ptr null, i32 1 %t9684 = ptrtoint ptr %t9683 to i64 %t9685 = zext i32 %t9682 to i64 %t9686 = mul i64 %t9685, %t9684 %t9687 = load ptr, ptr %t9676 %t9688 = call ptr @realloc(ptr %t9687, i64 %t9686) store ptr %t9688, ptr %t9676 store i32 %t9682, ptr %t9675 br label %put2045 put2045: %t9689 = load ptr, ptr %t9676 %t9690 = getelementptr inbounds ptr, ptr %t9689, i32 %t9677 store ptr @.str7905, ptr %t9690 %t9691 = add i32 %t9677, 1 store i32 %t9691, ptr %t9674 br label %ifend2043 ifend2043: %t9692 = load ptr, ptr %t1 %t9693 = call i32 @lp_str_eq(ptr %t9692, ptr @.str7906) %t9694 = icmp ne i32 %t9693, 0 br i1 %t9694, label %then2046, label %ifend2048 then2046: store ptr @.str7907, ptr %t403 %t9695 = load ptr, ptr %t410 %t9696 = getelementptr inbounds %LSlice, ptr %t9695, i32 0, i32 1 %t9697 = getelementptr inbounds %LSlice, ptr %t9695, i32 0, i32 2 %t9698 = getelementptr inbounds %LSlice, ptr %t9695, i32 0, i32 0 %t9699 = load i32, ptr %t9696 %t9700 = load i32, ptr %t9697 %t9701 = icmp sge i32 %t9699, %t9700 br i1 %t9701, label %grow2049, label %put2050 grow2049: %t9702 = mul i32 %t9700, 2 %t9703 = icmp eq i32 %t9700, 0 %t9704 = select i1 %t9703, i32 8, i32 %t9702 %t9705 = getelementptr ptr, ptr null, i32 1 %t9706 = ptrtoint ptr %t9705 to i64 %t9707 = zext i32 %t9704 to i64 %t9708 = mul i64 %t9707, %t9706 %t9709 = load ptr, ptr %t9698 %t9710 = call ptr @realloc(ptr %t9709, i64 %t9708) store ptr %t9710, ptr %t9698 store i32 %t9704, ptr %t9697 br label %put2050 put2050: %t9711 = load ptr, ptr %t9698 %t9712 = getelementptr inbounds ptr, ptr %t9711, i32 %t9699 store ptr @.str7908, ptr %t9712 %t9713 = add i32 %t9699, 1 store i32 %t9713, ptr %t9696 br label %ifend2048 ifend2048: %t9714 = load ptr, ptr %t1 %t9715 = call i32 @lp_str_eq(ptr %t9714, ptr @.str7909) %t9716 = icmp ne i32 %t9715, 0 br i1 %t9716, label %then2051, label %ifend2053 then2051: store ptr @.str7910, ptr %t403 %t9717 = load ptr, ptr %t410 %t9718 = getelementptr inbounds %LSlice, ptr %t9717, i32 0, i32 1 %t9719 = getelementptr inbounds %LSlice, ptr %t9717, i32 0, i32 2 %t9720 = getelementptr inbounds %LSlice, ptr %t9717, i32 0, i32 0 %t9721 = load i32, ptr %t9718 %t9722 = load i32, ptr %t9719 %t9723 = icmp sge i32 %t9721, %t9722 br i1 %t9723, label %grow2054, label %put2055 grow2054: %t9724 = mul i32 %t9722, 2 %t9725 = icmp eq i32 %t9722, 0 %t9726 = select i1 %t9725, i32 8, i32 %t9724 %t9727 = getelementptr ptr, ptr null, i32 1 %t9728 = ptrtoint ptr %t9727 to i64 %t9729 = zext i32 %t9726 to i64 %t9730 = mul i64 %t9729, %t9728 %t9731 = load ptr, ptr %t9720 %t9732 = call ptr @realloc(ptr %t9731, i64 %t9730) store ptr %t9732, ptr %t9720 store i32 %t9726, ptr %t9719 br label %put2055 put2055: %t9733 = load ptr, ptr %t9720 %t9734 = getelementptr inbounds ptr, ptr %t9733, i32 %t9721 store ptr @.str7911, ptr %t9734 %t9735 = add i32 %t9721, 1 store i32 %t9735, ptr %t9718 br label %ifend2053 ifend2053: %t9736 = load ptr, ptr %t1 %t9737 = call i32 @lp_str_eq(ptr %t9736, ptr @.str7912) %t9738 = icmp ne i32 %t9737, 0 br i1 %t9738, label %then2056, label %ifend2058 then2056: store ptr @.str7913, ptr %t403 %t9739 = load ptr, ptr %t410 %t9740 = getelementptr inbounds %LSlice, ptr %t9739, i32 0, i32 1 %t9741 = getelementptr inbounds %LSlice, ptr %t9739, i32 0, i32 2 %t9742 = getelementptr inbounds %LSlice, ptr %t9739, i32 0, i32 0 %t9743 = load i32, ptr %t9740 %t9744 = load i32, ptr %t9741 %t9745 = icmp sge i32 %t9743, %t9744 br i1 %t9745, label %grow2059, label %put2060 grow2059: %t9746 = mul i32 %t9744, 2 %t9747 = icmp eq i32 %t9744, 0 %t9748 = select i1 %t9747, i32 8, i32 %t9746 %t9749 = getelementptr ptr, ptr null, i32 1 %t9750 = ptrtoint ptr %t9749 to i64 %t9751 = zext i32 %t9748 to i64 %t9752 = mul i64 %t9751, %t9750 %t9753 = load ptr, ptr %t9742 %t9754 = call ptr @realloc(ptr %t9753, i64 %t9752) store ptr %t9754, ptr %t9742 store i32 %t9748, ptr %t9741 br label %put2060 put2060: %t9755 = load ptr, ptr %t9742 %t9756 = getelementptr inbounds ptr, ptr %t9755, i32 %t9743 store ptr @.str7914, ptr %t9756 %t9757 = add i32 %t9743, 1 store i32 %t9757, ptr %t9740 br label %ifend2058 ifend2058: br label %ifend2002 ifend2002: %t9758 = load ptr, ptr %t0 %t9759 = call i32 @lp_str_eq(ptr %t9758, ptr @.str7915) %t9760 = icmp ne i32 %t9759, 0 br i1 %t9760, label %then2061, label %ifend2063 then2061: %t9761 = load ptr, ptr %t1 %t9762 = call i32 @lp_str_eq(ptr %t9761, ptr @.str7916) %t9763 = icmp ne i32 %t9762, 0 br i1 %t9763, label %then2064, label %ifend2066 then2064: store ptr @.str7917, ptr %t403 %t9764 = load ptr, ptr %t410 %t9765 = getelementptr inbounds %LSlice, ptr %t9764, i32 0, i32 1 %t9766 = getelementptr inbounds %LSlice, ptr %t9764, i32 0, i32 2 %t9767 = getelementptr inbounds %LSlice, ptr %t9764, i32 0, i32 0 %t9768 = load i32, ptr %t9765 %t9769 = load i32, ptr %t9766 %t9770 = icmp sge i32 %t9768, %t9769 br i1 %t9770, label %grow2067, label %put2068 grow2067: %t9771 = mul i32 %t9769, 2 %t9772 = icmp eq i32 %t9769, 0 %t9773 = select i1 %t9772, i32 8, i32 %t9771 %t9774 = getelementptr ptr, ptr null, i32 1 %t9775 = ptrtoint ptr %t9774 to i64 %t9776 = zext i32 %t9773 to i64 %t9777 = mul i64 %t9776, %t9775 %t9778 = load ptr, ptr %t9767 %t9779 = call ptr @realloc(ptr %t9778, i64 %t9777) store ptr %t9779, ptr %t9767 store i32 %t9773, ptr %t9766 br label %put2068 put2068: %t9780 = load ptr, ptr %t9767 %t9781 = getelementptr inbounds ptr, ptr %t9780, i32 %t9768 store ptr @.str7918, ptr %t9781 %t9782 = add i32 %t9768, 1 store i32 %t9782, ptr %t9765 br label %ifend2066 ifend2066: %t9783 = load ptr, ptr %t1 %t9784 = call i32 @lp_str_eq(ptr %t9783, ptr @.str7919) %t9785 = icmp ne i32 %t9784, 0 br i1 %t9785, label %then2069, label %ifend2071 then2069: store ptr @.str7920, ptr %t403 %t9786 = load ptr, ptr %t410 %t9787 = getelementptr inbounds %LSlice, ptr %t9786, i32 0, i32 1 %t9788 = getelementptr inbounds %LSlice, ptr %t9786, i32 0, i32 2 %t9789 = getelementptr inbounds %LSlice, ptr %t9786, i32 0, i32 0 %t9790 = load i32, ptr %t9787 %t9791 = load i32, ptr %t9788 %t9792 = icmp sge i32 %t9790, %t9791 br i1 %t9792, label %grow2072, label %put2073 grow2072: %t9793 = mul i32 %t9791, 2 %t9794 = icmp eq i32 %t9791, 0 %t9795 = select i1 %t9794, i32 8, i32 %t9793 %t9796 = getelementptr ptr, ptr null, i32 1 %t9797 = ptrtoint ptr %t9796 to i64 %t9798 = zext i32 %t9795 to i64 %t9799 = mul i64 %t9798, %t9797 %t9800 = load ptr, ptr %t9789 %t9801 = call ptr @realloc(ptr %t9800, i64 %t9799) store ptr %t9801, ptr %t9789 store i32 %t9795, ptr %t9788 br label %put2073 put2073: %t9802 = load ptr, ptr %t9789 %t9803 = getelementptr inbounds ptr, ptr %t9802, i32 %t9790 store ptr @.str7921, ptr %t9803 %t9804 = add i32 %t9790, 1 store i32 %t9804, ptr %t9787 br label %ifend2071 ifend2071: %t9805 = load ptr, ptr %t1 %t9806 = call i32 @lp_str_eq(ptr %t9805, ptr @.str7922) %t9807 = icmp ne i32 %t9806, 0 br i1 %t9807, label %then2074, label %ifend2076 then2074: store ptr @.str7923, ptr %t403 %t9808 = load ptr, ptr %t410 %t9809 = getelementptr inbounds %LSlice, ptr %t9808, i32 0, i32 1 %t9810 = getelementptr inbounds %LSlice, ptr %t9808, i32 0, i32 2 %t9811 = getelementptr inbounds %LSlice, ptr %t9808, i32 0, i32 0 %t9812 = load i32, ptr %t9809 %t9813 = load i32, ptr %t9810 %t9814 = icmp sge i32 %t9812, %t9813 br i1 %t9814, label %grow2077, label %put2078 grow2077: %t9815 = mul i32 %t9813, 2 %t9816 = icmp eq i32 %t9813, 0 %t9817 = select i1 %t9816, i32 8, i32 %t9815 %t9818 = getelementptr ptr, ptr null, i32 1 %t9819 = ptrtoint ptr %t9818 to i64 %t9820 = zext i32 %t9817 to i64 %t9821 = mul i64 %t9820, %t9819 %t9822 = load ptr, ptr %t9811 %t9823 = call ptr @realloc(ptr %t9822, i64 %t9821) store ptr %t9823, ptr %t9811 store i32 %t9817, ptr %t9810 br label %put2078 put2078: %t9824 = load ptr, ptr %t9811 %t9825 = getelementptr inbounds ptr, ptr %t9824, i32 %t9812 store ptr @.str7924, ptr %t9825 %t9826 = add i32 %t9812, 1 store i32 %t9826, ptr %t9809 br label %ifend2076 ifend2076: %t9827 = load ptr, ptr %t1 %t9828 = call i32 @lp_str_eq(ptr %t9827, ptr @.str7925) %t9829 = icmp ne i32 %t9828, 0 br i1 %t9829, label %then2079, label %ifend2081 then2079: store ptr @.str7926, ptr %t403 %t9830 = load ptr, ptr %t410 %t9831 = getelementptr inbounds %LSlice, ptr %t9830, i32 0, i32 1 %t9832 = getelementptr inbounds %LSlice, ptr %t9830, i32 0, i32 2 %t9833 = getelementptr inbounds %LSlice, ptr %t9830, i32 0, i32 0 %t9834 = load i32, ptr %t9831 %t9835 = load i32, ptr %t9832 %t9836 = icmp sge i32 %t9834, %t9835 br i1 %t9836, label %grow2082, label %put2083 grow2082: %t9837 = mul i32 %t9835, 2 %t9838 = icmp eq i32 %t9835, 0 %t9839 = select i1 %t9838, i32 8, i32 %t9837 %t9840 = getelementptr ptr, ptr null, i32 1 %t9841 = ptrtoint ptr %t9840 to i64 %t9842 = zext i32 %t9839 to i64 %t9843 = mul i64 %t9842, %t9841 %t9844 = load ptr, ptr %t9833 %t9845 = call ptr @realloc(ptr %t9844, i64 %t9843) store ptr %t9845, ptr %t9833 store i32 %t9839, ptr %t9832 br label %put2083 put2083: %t9846 = load ptr, ptr %t9833 %t9847 = getelementptr inbounds ptr, ptr %t9846, i32 %t9834 store ptr @.str7927, ptr %t9847 %t9848 = add i32 %t9834, 1 store i32 %t9848, ptr %t9831 br label %ifend2081 ifend2081: %t9849 = load ptr, ptr %t1 %t9850 = call i32 @lp_str_eq(ptr %t9849, ptr @.str7928) %t9851 = icmp ne i32 %t9850, 0 br i1 %t9851, label %then2084, label %ifend2086 then2084: store ptr @.str7929, ptr %t403 %t9852 = load ptr, ptr %t410 %t9853 = getelementptr inbounds %LSlice, ptr %t9852, i32 0, i32 1 %t9854 = getelementptr inbounds %LSlice, ptr %t9852, i32 0, i32 2 %t9855 = getelementptr inbounds %LSlice, ptr %t9852, i32 0, i32 0 %t9856 = load i32, ptr %t9853 %t9857 = load i32, ptr %t9854 %t9858 = icmp sge i32 %t9856, %t9857 br i1 %t9858, label %grow2087, label %put2088 grow2087: %t9859 = mul i32 %t9857, 2 %t9860 = icmp eq i32 %t9857, 0 %t9861 = select i1 %t9860, i32 8, i32 %t9859 %t9862 = getelementptr ptr, ptr null, i32 1 %t9863 = ptrtoint ptr %t9862 to i64 %t9864 = zext i32 %t9861 to i64 %t9865 = mul i64 %t9864, %t9863 %t9866 = load ptr, ptr %t9855 %t9867 = call ptr @realloc(ptr %t9866, i64 %t9865) store ptr %t9867, ptr %t9855 store i32 %t9861, ptr %t9854 br label %put2088 put2088: %t9868 = load ptr, ptr %t9855 %t9869 = getelementptr inbounds ptr, ptr %t9868, i32 %t9856 store ptr @.str7930, ptr %t9869 %t9870 = add i32 %t9856, 1 store i32 %t9870, ptr %t9853 br label %ifend2086 ifend2086: %t9871 = load ptr, ptr %t1 %t9872 = call i32 @lp_str_eq(ptr %t9871, ptr @.str7931) %t9873 = icmp ne i32 %t9872, 0 br i1 %t9873, label %then2089, label %ifend2091 then2089: store ptr @.str7932, ptr %t403 %t9874 = load ptr, ptr %t410 %t9875 = getelementptr inbounds %LSlice, ptr %t9874, i32 0, i32 1 %t9876 = getelementptr inbounds %LSlice, ptr %t9874, i32 0, i32 2 %t9877 = getelementptr inbounds %LSlice, ptr %t9874, i32 0, i32 0 %t9878 = load i32, ptr %t9875 %t9879 = load i32, ptr %t9876 %t9880 = icmp sge i32 %t9878, %t9879 br i1 %t9880, label %grow2092, label %put2093 grow2092: %t9881 = mul i32 %t9879, 2 %t9882 = icmp eq i32 %t9879, 0 %t9883 = select i1 %t9882, i32 8, i32 %t9881 %t9884 = getelementptr ptr, ptr null, i32 1 %t9885 = ptrtoint ptr %t9884 to i64 %t9886 = zext i32 %t9883 to i64 %t9887 = mul i64 %t9886, %t9885 %t9888 = load ptr, ptr %t9877 %t9889 = call ptr @realloc(ptr %t9888, i64 %t9887) store ptr %t9889, ptr %t9877 store i32 %t9883, ptr %t9876 br label %put2093 put2093: %t9890 = load ptr, ptr %t9877 %t9891 = getelementptr inbounds ptr, ptr %t9890, i32 %t9878 store ptr @.str7933, ptr %t9891 %t9892 = add i32 %t9878, 1 store i32 %t9892, ptr %t9875 %t9893 = load ptr, ptr %t410 %t9894 = getelementptr inbounds %LSlice, ptr %t9893, i32 0, i32 1 %t9895 = getelementptr inbounds %LSlice, ptr %t9893, i32 0, i32 2 %t9896 = getelementptr inbounds %LSlice, ptr %t9893, i32 0, i32 0 %t9897 = load i32, ptr %t9894 %t9898 = load i32, ptr %t9895 %t9899 = icmp sge i32 %t9897, %t9898 br i1 %t9899, label %grow2094, label %put2095 grow2094: %t9900 = mul i32 %t9898, 2 %t9901 = icmp eq i32 %t9898, 0 %t9902 = select i1 %t9901, i32 8, i32 %t9900 %t9903 = getelementptr ptr, ptr null, i32 1 %t9904 = ptrtoint ptr %t9903 to i64 %t9905 = zext i32 %t9902 to i64 %t9906 = mul i64 %t9905, %t9904 %t9907 = load ptr, ptr %t9896 %t9908 = call ptr @realloc(ptr %t9907, i64 %t9906) store ptr %t9908, ptr %t9896 store i32 %t9902, ptr %t9895 br label %put2095 put2095: %t9909 = load ptr, ptr %t9896 %t9910 = getelementptr inbounds ptr, ptr %t9909, i32 %t9897 store ptr @.str7934, ptr %t9910 %t9911 = add i32 %t9897, 1 store i32 %t9911, ptr %t9894 br label %ifend2091 ifend2091: %t9912 = load ptr, ptr %t1 %t9913 = call i32 @lp_str_eq(ptr %t9912, ptr @.str7935) %t9914 = icmp ne i32 %t9913, 0 br i1 %t9914, label %then2096, label %ifend2098 then2096: store ptr @.str7936, ptr %t403 %t9915 = load ptr, ptr %t410 %t9916 = getelementptr inbounds %LSlice, ptr %t9915, i32 0, i32 1 %t9917 = getelementptr inbounds %LSlice, ptr %t9915, i32 0, i32 2 %t9918 = getelementptr inbounds %LSlice, ptr %t9915, i32 0, i32 0 %t9919 = load i32, ptr %t9916 %t9920 = load i32, ptr %t9917 %t9921 = icmp sge i32 %t9919, %t9920 br i1 %t9921, label %grow2099, label %put2100 grow2099: %t9922 = mul i32 %t9920, 2 %t9923 = icmp eq i32 %t9920, 0 %t9924 = select i1 %t9923, i32 8, i32 %t9922 %t9925 = getelementptr ptr, ptr null, i32 1 %t9926 = ptrtoint ptr %t9925 to i64 %t9927 = zext i32 %t9924 to i64 %t9928 = mul i64 %t9927, %t9926 %t9929 = load ptr, ptr %t9918 %t9930 = call ptr @realloc(ptr %t9929, i64 %t9928) store ptr %t9930, ptr %t9918 store i32 %t9924, ptr %t9917 br label %put2100 put2100: %t9931 = load ptr, ptr %t9918 %t9932 = getelementptr inbounds ptr, ptr %t9931, i32 %t9919 store ptr @.str7937, ptr %t9932 %t9933 = add i32 %t9919, 1 store i32 %t9933, ptr %t9916 %t9934 = load ptr, ptr %t410 %t9935 = getelementptr inbounds %LSlice, ptr %t9934, i32 0, i32 1 %t9936 = getelementptr inbounds %LSlice, ptr %t9934, i32 0, i32 2 %t9937 = getelementptr inbounds %LSlice, ptr %t9934, i32 0, i32 0 %t9938 = load i32, ptr %t9935 %t9939 = load i32, ptr %t9936 %t9940 = icmp sge i32 %t9938, %t9939 br i1 %t9940, label %grow2101, label %put2102 grow2101: %t9941 = mul i32 %t9939, 2 %t9942 = icmp eq i32 %t9939, 0 %t9943 = select i1 %t9942, i32 8, i32 %t9941 %t9944 = getelementptr ptr, ptr null, i32 1 %t9945 = ptrtoint ptr %t9944 to i64 %t9946 = zext i32 %t9943 to i64 %t9947 = mul i64 %t9946, %t9945 %t9948 = load ptr, ptr %t9937 %t9949 = call ptr @realloc(ptr %t9948, i64 %t9947) store ptr %t9949, ptr %t9937 store i32 %t9943, ptr %t9936 br label %put2102 put2102: %t9950 = load ptr, ptr %t9937 %t9951 = getelementptr inbounds ptr, ptr %t9950, i32 %t9938 store ptr @.str7938, ptr %t9951 %t9952 = add i32 %t9938, 1 store i32 %t9952, ptr %t9935 br label %ifend2098 ifend2098: %t9953 = load ptr, ptr %t1 %t9954 = call i32 @lp_str_eq(ptr %t9953, ptr @.str7939) %t9955 = icmp ne i32 %t9954, 0 br i1 %t9955, label %then2103, label %ifend2105 then2103: store ptr @.str7940, ptr %t403 %t9956 = load ptr, ptr %t410 %t9957 = getelementptr inbounds %LSlice, ptr %t9956, i32 0, i32 1 %t9958 = getelementptr inbounds %LSlice, ptr %t9956, i32 0, i32 2 %t9959 = getelementptr inbounds %LSlice, ptr %t9956, i32 0, i32 0 %t9960 = load i32, ptr %t9957 %t9961 = load i32, ptr %t9958 %t9962 = icmp sge i32 %t9960, %t9961 br i1 %t9962, label %grow2106, label %put2107 grow2106: %t9963 = mul i32 %t9961, 2 %t9964 = icmp eq i32 %t9961, 0 %t9965 = select i1 %t9964, i32 8, i32 %t9963 %t9966 = getelementptr ptr, ptr null, i32 1 %t9967 = ptrtoint ptr %t9966 to i64 %t9968 = zext i32 %t9965 to i64 %t9969 = mul i64 %t9968, %t9967 %t9970 = load ptr, ptr %t9959 %t9971 = call ptr @realloc(ptr %t9970, i64 %t9969) store ptr %t9971, ptr %t9959 store i32 %t9965, ptr %t9958 br label %put2107 put2107: %t9972 = load ptr, ptr %t9959 %t9973 = getelementptr inbounds ptr, ptr %t9972, i32 %t9960 store ptr @.str7941, ptr %t9973 %t9974 = add i32 %t9960, 1 store i32 %t9974, ptr %t9957 %t9975 = load ptr, ptr %t410 %t9976 = getelementptr inbounds %LSlice, ptr %t9975, i32 0, i32 1 %t9977 = getelementptr inbounds %LSlice, ptr %t9975, i32 0, i32 2 %t9978 = getelementptr inbounds %LSlice, ptr %t9975, i32 0, i32 0 %t9979 = load i32, ptr %t9976 %t9980 = load i32, ptr %t9977 %t9981 = icmp sge i32 %t9979, %t9980 br i1 %t9981, label %grow2108, label %put2109 grow2108: %t9982 = mul i32 %t9980, 2 %t9983 = icmp eq i32 %t9980, 0 %t9984 = select i1 %t9983, i32 8, i32 %t9982 %t9985 = getelementptr ptr, ptr null, i32 1 %t9986 = ptrtoint ptr %t9985 to i64 %t9987 = zext i32 %t9984 to i64 %t9988 = mul i64 %t9987, %t9986 %t9989 = load ptr, ptr %t9978 %t9990 = call ptr @realloc(ptr %t9989, i64 %t9988) store ptr %t9990, ptr %t9978 store i32 %t9984, ptr %t9977 br label %put2109 put2109: %t9991 = load ptr, ptr %t9978 %t9992 = getelementptr inbounds ptr, ptr %t9991, i32 %t9979 store ptr @.str7942, ptr %t9992 %t9993 = add i32 %t9979, 1 store i32 %t9993, ptr %t9976 br label %ifend2105 ifend2105: %t9994 = load ptr, ptr %t1 %t9995 = call i32 @lp_str_eq(ptr %t9994, ptr @.str7943) %t9996 = icmp ne i32 %t9995, 0 br i1 %t9996, label %then2110, label %ifend2112 then2110: store ptr @.str7944, ptr %t403 %t9997 = load ptr, ptr %t410 %t9998 = getelementptr inbounds %LSlice, ptr %t9997, i32 0, i32 1 %t9999 = getelementptr inbounds %LSlice, ptr %t9997, i32 0, i32 2 %t10000 = getelementptr inbounds %LSlice, ptr %t9997, i32 0, i32 0 %t10001 = load i32, ptr %t9998 %t10002 = load i32, ptr %t9999 %t10003 = icmp sge i32 %t10001, %t10002 br i1 %t10003, label %grow2113, label %put2114 grow2113: %t10004 = mul i32 %t10002, 2 %t10005 = icmp eq i32 %t10002, 0 %t10006 = select i1 %t10005, i32 8, i32 %t10004 %t10007 = getelementptr ptr, ptr null, i32 1 %t10008 = ptrtoint ptr %t10007 to i64 %t10009 = zext i32 %t10006 to i64 %t10010 = mul i64 %t10009, %t10008 %t10011 = load ptr, ptr %t10000 %t10012 = call ptr @realloc(ptr %t10011, i64 %t10010) store ptr %t10012, ptr %t10000 store i32 %t10006, ptr %t9999 br label %put2114 put2114: %t10013 = load ptr, ptr %t10000 %t10014 = getelementptr inbounds ptr, ptr %t10013, i32 %t10001 store ptr @.str7945, ptr %t10014 %t10015 = add i32 %t10001, 1 store i32 %t10015, ptr %t9998 %t10016 = load ptr, ptr %t410 %t10017 = getelementptr inbounds %LSlice, ptr %t10016, i32 0, i32 1 %t10018 = getelementptr inbounds %LSlice, ptr %t10016, i32 0, i32 2 %t10019 = getelementptr inbounds %LSlice, ptr %t10016, i32 0, i32 0 %t10020 = load i32, ptr %t10017 %t10021 = load i32, ptr %t10018 %t10022 = icmp sge i32 %t10020, %t10021 br i1 %t10022, label %grow2115, label %put2116 grow2115: %t10023 = mul i32 %t10021, 2 %t10024 = icmp eq i32 %t10021, 0 %t10025 = select i1 %t10024, i32 8, i32 %t10023 %t10026 = getelementptr ptr, ptr null, i32 1 %t10027 = ptrtoint ptr %t10026 to i64 %t10028 = zext i32 %t10025 to i64 %t10029 = mul i64 %t10028, %t10027 %t10030 = load ptr, ptr %t10019 %t10031 = call ptr @realloc(ptr %t10030, i64 %t10029) store ptr %t10031, ptr %t10019 store i32 %t10025, ptr %t10018 br label %put2116 put2116: %t10032 = load ptr, ptr %t10019 %t10033 = getelementptr inbounds ptr, ptr %t10032, i32 %t10020 store ptr @.str7946, ptr %t10033 %t10034 = add i32 %t10020, 1 store i32 %t10034, ptr %t10017 %t10035 = load ptr, ptr %t410 %t10036 = getelementptr inbounds %LSlice, ptr %t10035, i32 0, i32 1 %t10037 = getelementptr inbounds %LSlice, ptr %t10035, i32 0, i32 2 %t10038 = getelementptr inbounds %LSlice, ptr %t10035, i32 0, i32 0 %t10039 = load i32, ptr %t10036 %t10040 = load i32, ptr %t10037 %t10041 = icmp sge i32 %t10039, %t10040 br i1 %t10041, label %grow2117, label %put2118 grow2117: %t10042 = mul i32 %t10040, 2 %t10043 = icmp eq i32 %t10040, 0 %t10044 = select i1 %t10043, i32 8, i32 %t10042 %t10045 = getelementptr ptr, ptr null, i32 1 %t10046 = ptrtoint ptr %t10045 to i64 %t10047 = zext i32 %t10044 to i64 %t10048 = mul i64 %t10047, %t10046 %t10049 = load ptr, ptr %t10038 %t10050 = call ptr @realloc(ptr %t10049, i64 %t10048) store ptr %t10050, ptr %t10038 store i32 %t10044, ptr %t10037 br label %put2118 put2118: %t10051 = load ptr, ptr %t10038 %t10052 = getelementptr inbounds ptr, ptr %t10051, i32 %t10039 store ptr @.str7947, ptr %t10052 %t10053 = add i32 %t10039, 1 store i32 %t10053, ptr %t10036 br label %ifend2112 ifend2112: br label %ifend2063 ifend2063: %t10054 = load ptr, ptr %t0 %t10055 = call i32 @lp_str_eq(ptr %t10054, ptr @.str7948) %t10056 = icmp ne i32 %t10055, 0 br i1 %t10056, label %then2119, label %ifend2121 then2119: %t10057 = load ptr, ptr %t1 %t10058 = call i32 @lp_str_eq(ptr %t10057, ptr @.str7949) %t10059 = icmp ne i32 %t10058, 0 br i1 %t10059, label %then2122, label %ifend2124 then2122: store ptr @.str7950, ptr %t403 %t10060 = load ptr, ptr %t410 %t10061 = getelementptr inbounds %LSlice, ptr %t10060, i32 0, i32 1 %t10062 = getelementptr inbounds %LSlice, ptr %t10060, i32 0, i32 2 %t10063 = getelementptr inbounds %LSlice, ptr %t10060, i32 0, i32 0 %t10064 = load i32, ptr %t10061 %t10065 = load i32, ptr %t10062 %t10066 = icmp sge i32 %t10064, %t10065 br i1 %t10066, label %grow2125, label %put2126 grow2125: %t10067 = mul i32 %t10065, 2 %t10068 = icmp eq i32 %t10065, 0 %t10069 = select i1 %t10068, i32 8, i32 %t10067 %t10070 = getelementptr ptr, ptr null, i32 1 %t10071 = ptrtoint ptr %t10070 to i64 %t10072 = zext i32 %t10069 to i64 %t10073 = mul i64 %t10072, %t10071 %t10074 = load ptr, ptr %t10063 %t10075 = call ptr @realloc(ptr %t10074, i64 %t10073) store ptr %t10075, ptr %t10063 store i32 %t10069, ptr %t10062 br label %put2126 put2126: %t10076 = load ptr, ptr %t10063 %t10077 = getelementptr inbounds ptr, ptr %t10076, i32 %t10064 store ptr @.str7951, ptr %t10077 %t10078 = add i32 %t10064, 1 store i32 %t10078, ptr %t10061 br label %ifend2124 ifend2124: %t10079 = load ptr, ptr %t1 %t10080 = call i32 @lp_str_eq(ptr %t10079, ptr @.str7952) %t10081 = icmp ne i32 %t10080, 0 br i1 %t10081, label %then2127, label %ifend2129 then2127: store ptr @.str7953, ptr %t403 %t10082 = load ptr, ptr %t410 %t10083 = getelementptr inbounds %LSlice, ptr %t10082, i32 0, i32 1 %t10084 = getelementptr inbounds %LSlice, ptr %t10082, i32 0, i32 2 %t10085 = getelementptr inbounds %LSlice, ptr %t10082, i32 0, i32 0 %t10086 = load i32, ptr %t10083 %t10087 = load i32, ptr %t10084 %t10088 = icmp sge i32 %t10086, %t10087 br i1 %t10088, label %grow2130, label %put2131 grow2130: %t10089 = mul i32 %t10087, 2 %t10090 = icmp eq i32 %t10087, 0 %t10091 = select i1 %t10090, i32 8, i32 %t10089 %t10092 = getelementptr ptr, ptr null, i32 1 %t10093 = ptrtoint ptr %t10092 to i64 %t10094 = zext i32 %t10091 to i64 %t10095 = mul i64 %t10094, %t10093 %t10096 = load ptr, ptr %t10085 %t10097 = call ptr @realloc(ptr %t10096, i64 %t10095) store ptr %t10097, ptr %t10085 store i32 %t10091, ptr %t10084 br label %put2131 put2131: %t10098 = load ptr, ptr %t10085 %t10099 = getelementptr inbounds ptr, ptr %t10098, i32 %t10086 store ptr @.str7954, ptr %t10099 %t10100 = add i32 %t10086, 1 store i32 %t10100, ptr %t10083 %t10101 = load ptr, ptr %t410 %t10102 = getelementptr inbounds %LSlice, ptr %t10101, i32 0, i32 1 %t10103 = getelementptr inbounds %LSlice, ptr %t10101, i32 0, i32 2 %t10104 = getelementptr inbounds %LSlice, ptr %t10101, i32 0, i32 0 %t10105 = load i32, ptr %t10102 %t10106 = load i32, ptr %t10103 %t10107 = icmp sge i32 %t10105, %t10106 br i1 %t10107, label %grow2132, label %put2133 grow2132: %t10108 = mul i32 %t10106, 2 %t10109 = icmp eq i32 %t10106, 0 %t10110 = select i1 %t10109, i32 8, i32 %t10108 %t10111 = getelementptr ptr, ptr null, i32 1 %t10112 = ptrtoint ptr %t10111 to i64 %t10113 = zext i32 %t10110 to i64 %t10114 = mul i64 %t10113, %t10112 %t10115 = load ptr, ptr %t10104 %t10116 = call ptr @realloc(ptr %t10115, i64 %t10114) store ptr %t10116, ptr %t10104 store i32 %t10110, ptr %t10103 br label %put2133 put2133: %t10117 = load ptr, ptr %t10104 %t10118 = getelementptr inbounds ptr, ptr %t10117, i32 %t10105 store ptr @.str7955, ptr %t10118 %t10119 = add i32 %t10105, 1 store i32 %t10119, ptr %t10102 br label %ifend2129 ifend2129: %t10120 = load ptr, ptr %t1 %t10121 = call i32 @lp_str_eq(ptr %t10120, ptr @.str7956) %t10122 = icmp ne i32 %t10121, 0 br i1 %t10122, label %then2134, label %ifend2136 then2134: store ptr @.str7957, ptr %t403 %t10123 = load ptr, ptr %t410 %t10124 = getelementptr inbounds %LSlice, ptr %t10123, i32 0, i32 1 %t10125 = getelementptr inbounds %LSlice, ptr %t10123, i32 0, i32 2 %t10126 = getelementptr inbounds %LSlice, ptr %t10123, i32 0, i32 0 %t10127 = load i32, ptr %t10124 %t10128 = load i32, ptr %t10125 %t10129 = icmp sge i32 %t10127, %t10128 br i1 %t10129, label %grow2137, label %put2138 grow2137: %t10130 = mul i32 %t10128, 2 %t10131 = icmp eq i32 %t10128, 0 %t10132 = select i1 %t10131, i32 8, i32 %t10130 %t10133 = getelementptr ptr, ptr null, i32 1 %t10134 = ptrtoint ptr %t10133 to i64 %t10135 = zext i32 %t10132 to i64 %t10136 = mul i64 %t10135, %t10134 %t10137 = load ptr, ptr %t10126 %t10138 = call ptr @realloc(ptr %t10137, i64 %t10136) store ptr %t10138, ptr %t10126 store i32 %t10132, ptr %t10125 br label %put2138 put2138: %t10139 = load ptr, ptr %t10126 %t10140 = getelementptr inbounds ptr, ptr %t10139, i32 %t10127 store ptr @.str7958, ptr %t10140 %t10141 = add i32 %t10127, 1 store i32 %t10141, ptr %t10124 %t10142 = load ptr, ptr %t410 %t10143 = getelementptr inbounds %LSlice, ptr %t10142, i32 0, i32 1 %t10144 = getelementptr inbounds %LSlice, ptr %t10142, i32 0, i32 2 %t10145 = getelementptr inbounds %LSlice, ptr %t10142, i32 0, i32 0 %t10146 = load i32, ptr %t10143 %t10147 = load i32, ptr %t10144 %t10148 = icmp sge i32 %t10146, %t10147 br i1 %t10148, label %grow2139, label %put2140 grow2139: %t10149 = mul i32 %t10147, 2 %t10150 = icmp eq i32 %t10147, 0 %t10151 = select i1 %t10150, i32 8, i32 %t10149 %t10152 = getelementptr ptr, ptr null, i32 1 %t10153 = ptrtoint ptr %t10152 to i64 %t10154 = zext i32 %t10151 to i64 %t10155 = mul i64 %t10154, %t10153 %t10156 = load ptr, ptr %t10145 %t10157 = call ptr @realloc(ptr %t10156, i64 %t10155) store ptr %t10157, ptr %t10145 store i32 %t10151, ptr %t10144 br label %put2140 put2140: %t10158 = load ptr, ptr %t10145 %t10159 = getelementptr inbounds ptr, ptr %t10158, i32 %t10146 store ptr @.str7959, ptr %t10159 %t10160 = add i32 %t10146, 1 store i32 %t10160, ptr %t10143 %t10161 = load ptr, ptr %t410 %t10162 = getelementptr inbounds %LSlice, ptr %t10161, i32 0, i32 1 %t10163 = getelementptr inbounds %LSlice, ptr %t10161, i32 0, i32 2 %t10164 = getelementptr inbounds %LSlice, ptr %t10161, i32 0, i32 0 %t10165 = load i32, ptr %t10162 %t10166 = load i32, ptr %t10163 %t10167 = icmp sge i32 %t10165, %t10166 br i1 %t10167, label %grow2141, label %put2142 grow2141: %t10168 = mul i32 %t10166, 2 %t10169 = icmp eq i32 %t10166, 0 %t10170 = select i1 %t10169, i32 8, i32 %t10168 %t10171 = getelementptr ptr, ptr null, i32 1 %t10172 = ptrtoint ptr %t10171 to i64 %t10173 = zext i32 %t10170 to i64 %t10174 = mul i64 %t10173, %t10172 %t10175 = load ptr, ptr %t10164 %t10176 = call ptr @realloc(ptr %t10175, i64 %t10174) store ptr %t10176, ptr %t10164 store i32 %t10170, ptr %t10163 br label %put2142 put2142: %t10177 = load ptr, ptr %t10164 %t10178 = getelementptr inbounds ptr, ptr %t10177, i32 %t10165 store ptr @.str7960, ptr %t10178 %t10179 = add i32 %t10165, 1 store i32 %t10179, ptr %t10162 br label %ifend2136 ifend2136: %t10180 = load ptr, ptr %t1 %t10181 = call i32 @lp_str_eq(ptr %t10180, ptr @.str7961) %t10182 = icmp ne i32 %t10181, 0 br i1 %t10182, label %then2143, label %ifend2145 then2143: store ptr @.str7962, ptr %t403 %t10183 = load ptr, ptr %t410 %t10184 = getelementptr inbounds %LSlice, ptr %t10183, i32 0, i32 1 %t10185 = getelementptr inbounds %LSlice, ptr %t10183, i32 0, i32 2 %t10186 = getelementptr inbounds %LSlice, ptr %t10183, i32 0, i32 0 %t10187 = load i32, ptr %t10184 %t10188 = load i32, ptr %t10185 %t10189 = icmp sge i32 %t10187, %t10188 br i1 %t10189, label %grow2146, label %put2147 grow2146: %t10190 = mul i32 %t10188, 2 %t10191 = icmp eq i32 %t10188, 0 %t10192 = select i1 %t10191, i32 8, i32 %t10190 %t10193 = getelementptr ptr, ptr null, i32 1 %t10194 = ptrtoint ptr %t10193 to i64 %t10195 = zext i32 %t10192 to i64 %t10196 = mul i64 %t10195, %t10194 %t10197 = load ptr, ptr %t10186 %t10198 = call ptr @realloc(ptr %t10197, i64 %t10196) store ptr %t10198, ptr %t10186 store i32 %t10192, ptr %t10185 br label %put2147 put2147: %t10199 = load ptr, ptr %t10186 %t10200 = getelementptr inbounds ptr, ptr %t10199, i32 %t10187 store ptr @.str7963, ptr %t10200 %t10201 = add i32 %t10187, 1 store i32 %t10201, ptr %t10184 %t10202 = load ptr, ptr %t410 %t10203 = getelementptr inbounds %LSlice, ptr %t10202, i32 0, i32 1 %t10204 = getelementptr inbounds %LSlice, ptr %t10202, i32 0, i32 2 %t10205 = getelementptr inbounds %LSlice, ptr %t10202, i32 0, i32 0 %t10206 = load i32, ptr %t10203 %t10207 = load i32, ptr %t10204 %t10208 = icmp sge i32 %t10206, %t10207 br i1 %t10208, label %grow2148, label %put2149 grow2148: %t10209 = mul i32 %t10207, 2 %t10210 = icmp eq i32 %t10207, 0 %t10211 = select i1 %t10210, i32 8, i32 %t10209 %t10212 = getelementptr ptr, ptr null, i32 1 %t10213 = ptrtoint ptr %t10212 to i64 %t10214 = zext i32 %t10211 to i64 %t10215 = mul i64 %t10214, %t10213 %t10216 = load ptr, ptr %t10205 %t10217 = call ptr @realloc(ptr %t10216, i64 %t10215) store ptr %t10217, ptr %t10205 store i32 %t10211, ptr %t10204 br label %put2149 put2149: %t10218 = load ptr, ptr %t10205 %t10219 = getelementptr inbounds ptr, ptr %t10218, i32 %t10206 store ptr @.str7964, ptr %t10219 %t10220 = add i32 %t10206, 1 store i32 %t10220, ptr %t10203 br label %ifend2145 ifend2145: br label %ifend2121 ifend2121: %t10221 = load ptr, ptr %t0 %t10222 = call i32 @lp_str_eq(ptr %t10221, ptr @.str7965) %t10223 = icmp ne i32 %t10222, 0 br i1 %t10223, label %then2150, label %ifend2152 then2150: %t10224 = load ptr, ptr %t1 %t10225 = call i32 @lp_str_eq(ptr %t10224, ptr @.str7966) %t10226 = icmp ne i32 %t10225, 0 br i1 %t10226, label %then2153, label %ifend2155 then2153: store ptr @.str7967, ptr %t403 %t10227 = load ptr, ptr %t410 %t10228 = getelementptr inbounds %LSlice, ptr %t10227, i32 0, i32 1 %t10229 = getelementptr inbounds %LSlice, ptr %t10227, i32 0, i32 2 %t10230 = getelementptr inbounds %LSlice, ptr %t10227, i32 0, i32 0 %t10231 = load i32, ptr %t10228 %t10232 = load i32, ptr %t10229 %t10233 = icmp sge i32 %t10231, %t10232 br i1 %t10233, label %grow2156, label %put2157 grow2156: %t10234 = mul i32 %t10232, 2 %t10235 = icmp eq i32 %t10232, 0 %t10236 = select i1 %t10235, i32 8, i32 %t10234 %t10237 = getelementptr ptr, ptr null, i32 1 %t10238 = ptrtoint ptr %t10237 to i64 %t10239 = zext i32 %t10236 to i64 %t10240 = mul i64 %t10239, %t10238 %t10241 = load ptr, ptr %t10230 %t10242 = call ptr @realloc(ptr %t10241, i64 %t10240) store ptr %t10242, ptr %t10230 store i32 %t10236, ptr %t10229 br label %put2157 put2157: %t10243 = load ptr, ptr %t10230 %t10244 = getelementptr inbounds ptr, ptr %t10243, i32 %t10231 store ptr @.str7968, ptr %t10244 %t10245 = add i32 %t10231, 1 store i32 %t10245, ptr %t10228 %t10246 = load ptr, ptr %t410 %t10247 = getelementptr inbounds %LSlice, ptr %t10246, i32 0, i32 1 %t10248 = getelementptr inbounds %LSlice, ptr %t10246, i32 0, i32 2 %t10249 = getelementptr inbounds %LSlice, ptr %t10246, i32 0, i32 0 %t10250 = load i32, ptr %t10247 %t10251 = load i32, ptr %t10248 %t10252 = icmp sge i32 %t10250, %t10251 br i1 %t10252, label %grow2158, label %put2159 grow2158: %t10253 = mul i32 %t10251, 2 %t10254 = icmp eq i32 %t10251, 0 %t10255 = select i1 %t10254, i32 8, i32 %t10253 %t10256 = getelementptr ptr, ptr null, i32 1 %t10257 = ptrtoint ptr %t10256 to i64 %t10258 = zext i32 %t10255 to i64 %t10259 = mul i64 %t10258, %t10257 %t10260 = load ptr, ptr %t10249 %t10261 = call ptr @realloc(ptr %t10260, i64 %t10259) store ptr %t10261, ptr %t10249 store i32 %t10255, ptr %t10248 br label %put2159 put2159: %t10262 = load ptr, ptr %t10249 %t10263 = getelementptr inbounds ptr, ptr %t10262, i32 %t10250 store ptr @.str7969, ptr %t10263 %t10264 = add i32 %t10250, 1 store i32 %t10264, ptr %t10247 %t10265 = load ptr, ptr %t410 %t10266 = getelementptr inbounds %LSlice, ptr %t10265, i32 0, i32 1 %t10267 = getelementptr inbounds %LSlice, ptr %t10265, i32 0, i32 2 %t10268 = getelementptr inbounds %LSlice, ptr %t10265, i32 0, i32 0 %t10269 = load i32, ptr %t10266 %t10270 = load i32, ptr %t10267 %t10271 = icmp sge i32 %t10269, %t10270 br i1 %t10271, label %grow2160, label %put2161 grow2160: %t10272 = mul i32 %t10270, 2 %t10273 = icmp eq i32 %t10270, 0 %t10274 = select i1 %t10273, i32 8, i32 %t10272 %t10275 = getelementptr ptr, ptr null, i32 1 %t10276 = ptrtoint ptr %t10275 to i64 %t10277 = zext i32 %t10274 to i64 %t10278 = mul i64 %t10277, %t10276 %t10279 = load ptr, ptr %t10268 %t10280 = call ptr @realloc(ptr %t10279, i64 %t10278) store ptr %t10280, ptr %t10268 store i32 %t10274, ptr %t10267 br label %put2161 put2161: %t10281 = load ptr, ptr %t10268 %t10282 = getelementptr inbounds ptr, ptr %t10281, i32 %t10269 store ptr @.str7970, ptr %t10282 %t10283 = add i32 %t10269, 1 store i32 %t10283, ptr %t10266 %t10284 = load ptr, ptr %t410 %t10285 = getelementptr inbounds %LSlice, ptr %t10284, i32 0, i32 1 %t10286 = getelementptr inbounds %LSlice, ptr %t10284, i32 0, i32 2 %t10287 = getelementptr inbounds %LSlice, ptr %t10284, i32 0, i32 0 %t10288 = load i32, ptr %t10285 %t10289 = load i32, ptr %t10286 %t10290 = icmp sge i32 %t10288, %t10289 br i1 %t10290, label %grow2162, label %put2163 grow2162: %t10291 = mul i32 %t10289, 2 %t10292 = icmp eq i32 %t10289, 0 %t10293 = select i1 %t10292, i32 8, i32 %t10291 %t10294 = getelementptr ptr, ptr null, i32 1 %t10295 = ptrtoint ptr %t10294 to i64 %t10296 = zext i32 %t10293 to i64 %t10297 = mul i64 %t10296, %t10295 %t10298 = load ptr, ptr %t10287 %t10299 = call ptr @realloc(ptr %t10298, i64 %t10297) store ptr %t10299, ptr %t10287 store i32 %t10293, ptr %t10286 br label %put2163 put2163: %t10300 = load ptr, ptr %t10287 %t10301 = getelementptr inbounds ptr, ptr %t10300, i32 %t10288 store ptr @.str7971, ptr %t10301 %t10302 = add i32 %t10288, 1 store i32 %t10302, ptr %t10285 br label %ifend2155 ifend2155: %t10303 = load ptr, ptr %t1 %t10304 = call i32 @lp_str_eq(ptr %t10303, ptr @.str7972) %t10305 = icmp ne i32 %t10304, 0 br i1 %t10305, label %then2164, label %ifend2166 then2164: store ptr @.str7973, ptr %t403 %t10306 = load ptr, ptr %t410 %t10307 = getelementptr inbounds %LSlice, ptr %t10306, i32 0, i32 1 %t10308 = getelementptr inbounds %LSlice, ptr %t10306, i32 0, i32 2 %t10309 = getelementptr inbounds %LSlice, ptr %t10306, i32 0, i32 0 %t10310 = load i32, ptr %t10307 %t10311 = load i32, ptr %t10308 %t10312 = icmp sge i32 %t10310, %t10311 br i1 %t10312, label %grow2167, label %put2168 grow2167: %t10313 = mul i32 %t10311, 2 %t10314 = icmp eq i32 %t10311, 0 %t10315 = select i1 %t10314, i32 8, i32 %t10313 %t10316 = getelementptr ptr, ptr null, i32 1 %t10317 = ptrtoint ptr %t10316 to i64 %t10318 = zext i32 %t10315 to i64 %t10319 = mul i64 %t10318, %t10317 %t10320 = load ptr, ptr %t10309 %t10321 = call ptr @realloc(ptr %t10320, i64 %t10319) store ptr %t10321, ptr %t10309 store i32 %t10315, ptr %t10308 br label %put2168 put2168: %t10322 = load ptr, ptr %t10309 %t10323 = getelementptr inbounds ptr, ptr %t10322, i32 %t10310 store ptr @.str7974, ptr %t10323 %t10324 = add i32 %t10310, 1 store i32 %t10324, ptr %t10307 %t10325 = load ptr, ptr %t410 %t10326 = getelementptr inbounds %LSlice, ptr %t10325, i32 0, i32 1 %t10327 = getelementptr inbounds %LSlice, ptr %t10325, i32 0, i32 2 %t10328 = getelementptr inbounds %LSlice, ptr %t10325, i32 0, i32 0 %t10329 = load i32, ptr %t10326 %t10330 = load i32, ptr %t10327 %t10331 = icmp sge i32 %t10329, %t10330 br i1 %t10331, label %grow2169, label %put2170 grow2169: %t10332 = mul i32 %t10330, 2 %t10333 = icmp eq i32 %t10330, 0 %t10334 = select i1 %t10333, i32 8, i32 %t10332 %t10335 = getelementptr ptr, ptr null, i32 1 %t10336 = ptrtoint ptr %t10335 to i64 %t10337 = zext i32 %t10334 to i64 %t10338 = mul i64 %t10337, %t10336 %t10339 = load ptr, ptr %t10328 %t10340 = call ptr @realloc(ptr %t10339, i64 %t10338) store ptr %t10340, ptr %t10328 store i32 %t10334, ptr %t10327 br label %put2170 put2170: %t10341 = load ptr, ptr %t10328 %t10342 = getelementptr inbounds ptr, ptr %t10341, i32 %t10329 store ptr @.str7975, ptr %t10342 %t10343 = add i32 %t10329, 1 store i32 %t10343, ptr %t10326 %t10344 = load ptr, ptr %t410 %t10345 = getelementptr inbounds %LSlice, ptr %t10344, i32 0, i32 1 %t10346 = getelementptr inbounds %LSlice, ptr %t10344, i32 0, i32 2 %t10347 = getelementptr inbounds %LSlice, ptr %t10344, i32 0, i32 0 %t10348 = load i32, ptr %t10345 %t10349 = load i32, ptr %t10346 %t10350 = icmp sge i32 %t10348, %t10349 br i1 %t10350, label %grow2171, label %put2172 grow2171: %t10351 = mul i32 %t10349, 2 %t10352 = icmp eq i32 %t10349, 0 %t10353 = select i1 %t10352, i32 8, i32 %t10351 %t10354 = getelementptr ptr, ptr null, i32 1 %t10355 = ptrtoint ptr %t10354 to i64 %t10356 = zext i32 %t10353 to i64 %t10357 = mul i64 %t10356, %t10355 %t10358 = load ptr, ptr %t10347 %t10359 = call ptr @realloc(ptr %t10358, i64 %t10357) store ptr %t10359, ptr %t10347 store i32 %t10353, ptr %t10346 br label %put2172 put2172: %t10360 = load ptr, ptr %t10347 %t10361 = getelementptr inbounds ptr, ptr %t10360, i32 %t10348 store ptr @.str7976, ptr %t10361 %t10362 = add i32 %t10348, 1 store i32 %t10362, ptr %t10345 br label %ifend2166 ifend2166: %t10363 = load ptr, ptr %t1 %t10364 = call i32 @lp_str_eq(ptr %t10363, ptr @.str7977) %t10365 = icmp ne i32 %t10364, 0 br i1 %t10365, label %then2173, label %ifend2175 then2173: store ptr @.str7978, ptr %t403 %t10366 = load ptr, ptr %t410 %t10367 = getelementptr inbounds %LSlice, ptr %t10366, i32 0, i32 1 %t10368 = getelementptr inbounds %LSlice, ptr %t10366, i32 0, i32 2 %t10369 = getelementptr inbounds %LSlice, ptr %t10366, i32 0, i32 0 %t10370 = load i32, ptr %t10367 %t10371 = load i32, ptr %t10368 %t10372 = icmp sge i32 %t10370, %t10371 br i1 %t10372, label %grow2176, label %put2177 grow2176: %t10373 = mul i32 %t10371, 2 %t10374 = icmp eq i32 %t10371, 0 %t10375 = select i1 %t10374, i32 8, i32 %t10373 %t10376 = getelementptr ptr, ptr null, i32 1 %t10377 = ptrtoint ptr %t10376 to i64 %t10378 = zext i32 %t10375 to i64 %t10379 = mul i64 %t10378, %t10377 %t10380 = load ptr, ptr %t10369 %t10381 = call ptr @realloc(ptr %t10380, i64 %t10379) store ptr %t10381, ptr %t10369 store i32 %t10375, ptr %t10368 br label %put2177 put2177: %t10382 = load ptr, ptr %t10369 %t10383 = getelementptr inbounds ptr, ptr %t10382, i32 %t10370 store ptr @.str7979, ptr %t10383 %t10384 = add i32 %t10370, 1 store i32 %t10384, ptr %t10367 %t10385 = load ptr, ptr %t410 %t10386 = getelementptr inbounds %LSlice, ptr %t10385, i32 0, i32 1 %t10387 = getelementptr inbounds %LSlice, ptr %t10385, i32 0, i32 2 %t10388 = getelementptr inbounds %LSlice, ptr %t10385, i32 0, i32 0 %t10389 = load i32, ptr %t10386 %t10390 = load i32, ptr %t10387 %t10391 = icmp sge i32 %t10389, %t10390 br i1 %t10391, label %grow2178, label %put2179 grow2178: %t10392 = mul i32 %t10390, 2 %t10393 = icmp eq i32 %t10390, 0 %t10394 = select i1 %t10393, i32 8, i32 %t10392 %t10395 = getelementptr ptr, ptr null, i32 1 %t10396 = ptrtoint ptr %t10395 to i64 %t10397 = zext i32 %t10394 to i64 %t10398 = mul i64 %t10397, %t10396 %t10399 = load ptr, ptr %t10388 %t10400 = call ptr @realloc(ptr %t10399, i64 %t10398) store ptr %t10400, ptr %t10388 store i32 %t10394, ptr %t10387 br label %put2179 put2179: %t10401 = load ptr, ptr %t10388 %t10402 = getelementptr inbounds ptr, ptr %t10401, i32 %t10389 store ptr @.str7980, ptr %t10402 %t10403 = add i32 %t10389, 1 store i32 %t10403, ptr %t10386 %t10404 = load ptr, ptr %t410 %t10405 = getelementptr inbounds %LSlice, ptr %t10404, i32 0, i32 1 %t10406 = getelementptr inbounds %LSlice, ptr %t10404, i32 0, i32 2 %t10407 = getelementptr inbounds %LSlice, ptr %t10404, i32 0, i32 0 %t10408 = load i32, ptr %t10405 %t10409 = load i32, ptr %t10406 %t10410 = icmp sge i32 %t10408, %t10409 br i1 %t10410, label %grow2180, label %put2181 grow2180: %t10411 = mul i32 %t10409, 2 %t10412 = icmp eq i32 %t10409, 0 %t10413 = select i1 %t10412, i32 8, i32 %t10411 %t10414 = getelementptr ptr, ptr null, i32 1 %t10415 = ptrtoint ptr %t10414 to i64 %t10416 = zext i32 %t10413 to i64 %t10417 = mul i64 %t10416, %t10415 %t10418 = load ptr, ptr %t10407 %t10419 = call ptr @realloc(ptr %t10418, i64 %t10417) store ptr %t10419, ptr %t10407 store i32 %t10413, ptr %t10406 br label %put2181 put2181: %t10420 = load ptr, ptr %t10407 %t10421 = getelementptr inbounds ptr, ptr %t10420, i32 %t10408 store ptr @.str7981, ptr %t10421 %t10422 = add i32 %t10408, 1 store i32 %t10422, ptr %t10405 %t10423 = load ptr, ptr %t410 %t10424 = getelementptr inbounds %LSlice, ptr %t10423, i32 0, i32 1 %t10425 = getelementptr inbounds %LSlice, ptr %t10423, i32 0, i32 2 %t10426 = getelementptr inbounds %LSlice, ptr %t10423, i32 0, i32 0 %t10427 = load i32, ptr %t10424 %t10428 = load i32, ptr %t10425 %t10429 = icmp sge i32 %t10427, %t10428 br i1 %t10429, label %grow2182, label %put2183 grow2182: %t10430 = mul i32 %t10428, 2 %t10431 = icmp eq i32 %t10428, 0 %t10432 = select i1 %t10431, i32 8, i32 %t10430 %t10433 = getelementptr ptr, ptr null, i32 1 %t10434 = ptrtoint ptr %t10433 to i64 %t10435 = zext i32 %t10432 to i64 %t10436 = mul i64 %t10435, %t10434 %t10437 = load ptr, ptr %t10426 %t10438 = call ptr @realloc(ptr %t10437, i64 %t10436) store ptr %t10438, ptr %t10426 store i32 %t10432, ptr %t10425 br label %put2183 put2183: %t10439 = load ptr, ptr %t10426 %t10440 = getelementptr inbounds ptr, ptr %t10439, i32 %t10427 store ptr @.str7982, ptr %t10440 %t10441 = add i32 %t10427, 1 store i32 %t10441, ptr %t10424 %t10442 = load ptr, ptr %t410 %t10443 = getelementptr inbounds %LSlice, ptr %t10442, i32 0, i32 1 %t10444 = getelementptr inbounds %LSlice, ptr %t10442, i32 0, i32 2 %t10445 = getelementptr inbounds %LSlice, ptr %t10442, i32 0, i32 0 %t10446 = load i32, ptr %t10443 %t10447 = load i32, ptr %t10444 %t10448 = icmp sge i32 %t10446, %t10447 br i1 %t10448, label %grow2184, label %put2185 grow2184: %t10449 = mul i32 %t10447, 2 %t10450 = icmp eq i32 %t10447, 0 %t10451 = select i1 %t10450, i32 8, i32 %t10449 %t10452 = getelementptr ptr, ptr null, i32 1 %t10453 = ptrtoint ptr %t10452 to i64 %t10454 = zext i32 %t10451 to i64 %t10455 = mul i64 %t10454, %t10453 %t10456 = load ptr, ptr %t10445 %t10457 = call ptr @realloc(ptr %t10456, i64 %t10455) store ptr %t10457, ptr %t10445 store i32 %t10451, ptr %t10444 br label %put2185 put2185: %t10458 = load ptr, ptr %t10445 %t10459 = getelementptr inbounds ptr, ptr %t10458, i32 %t10446 store ptr @.str7983, ptr %t10459 %t10460 = add i32 %t10446, 1 store i32 %t10460, ptr %t10443 br label %ifend2175 ifend2175: %t10461 = load ptr, ptr %t1 %t10462 = call i32 @lp_str_eq(ptr %t10461, ptr @.str7984) %t10463 = icmp ne i32 %t10462, 0 br i1 %t10463, label %then2186, label %ifend2188 then2186: store ptr @.str7985, ptr %t403 %t10464 = load ptr, ptr %t410 %t10465 = getelementptr inbounds %LSlice, ptr %t10464, i32 0, i32 1 %t10466 = getelementptr inbounds %LSlice, ptr %t10464, i32 0, i32 2 %t10467 = getelementptr inbounds %LSlice, ptr %t10464, i32 0, i32 0 %t10468 = load i32, ptr %t10465 %t10469 = load i32, ptr %t10466 %t10470 = icmp sge i32 %t10468, %t10469 br i1 %t10470, label %grow2189, label %put2190 grow2189: %t10471 = mul i32 %t10469, 2 %t10472 = icmp eq i32 %t10469, 0 %t10473 = select i1 %t10472, i32 8, i32 %t10471 %t10474 = getelementptr ptr, ptr null, i32 1 %t10475 = ptrtoint ptr %t10474 to i64 %t10476 = zext i32 %t10473 to i64 %t10477 = mul i64 %t10476, %t10475 %t10478 = load ptr, ptr %t10467 %t10479 = call ptr @realloc(ptr %t10478, i64 %t10477) store ptr %t10479, ptr %t10467 store i32 %t10473, ptr %t10466 br label %put2190 put2190: %t10480 = load ptr, ptr %t10467 %t10481 = getelementptr inbounds ptr, ptr %t10480, i32 %t10468 store ptr @.str7986, ptr %t10481 %t10482 = add i32 %t10468, 1 store i32 %t10482, ptr %t10465 %t10483 = load ptr, ptr %t410 %t10484 = getelementptr inbounds %LSlice, ptr %t10483, i32 0, i32 1 %t10485 = getelementptr inbounds %LSlice, ptr %t10483, i32 0, i32 2 %t10486 = getelementptr inbounds %LSlice, ptr %t10483, i32 0, i32 0 %t10487 = load i32, ptr %t10484 %t10488 = load i32, ptr %t10485 %t10489 = icmp sge i32 %t10487, %t10488 br i1 %t10489, label %grow2191, label %put2192 grow2191: %t10490 = mul i32 %t10488, 2 %t10491 = icmp eq i32 %t10488, 0 %t10492 = select i1 %t10491, i32 8, i32 %t10490 %t10493 = getelementptr ptr, ptr null, i32 1 %t10494 = ptrtoint ptr %t10493 to i64 %t10495 = zext i32 %t10492 to i64 %t10496 = mul i64 %t10495, %t10494 %t10497 = load ptr, ptr %t10486 %t10498 = call ptr @realloc(ptr %t10497, i64 %t10496) store ptr %t10498, ptr %t10486 store i32 %t10492, ptr %t10485 br label %put2192 put2192: %t10499 = load ptr, ptr %t10486 %t10500 = getelementptr inbounds ptr, ptr %t10499, i32 %t10487 store ptr @.str7987, ptr %t10500 %t10501 = add i32 %t10487, 1 store i32 %t10501, ptr %t10484 %t10502 = load ptr, ptr %t410 %t10503 = getelementptr inbounds %LSlice, ptr %t10502, i32 0, i32 1 %t10504 = getelementptr inbounds %LSlice, ptr %t10502, i32 0, i32 2 %t10505 = getelementptr inbounds %LSlice, ptr %t10502, i32 0, i32 0 %t10506 = load i32, ptr %t10503 %t10507 = load i32, ptr %t10504 %t10508 = icmp sge i32 %t10506, %t10507 br i1 %t10508, label %grow2193, label %put2194 grow2193: %t10509 = mul i32 %t10507, 2 %t10510 = icmp eq i32 %t10507, 0 %t10511 = select i1 %t10510, i32 8, i32 %t10509 %t10512 = getelementptr ptr, ptr null, i32 1 %t10513 = ptrtoint ptr %t10512 to i64 %t10514 = zext i32 %t10511 to i64 %t10515 = mul i64 %t10514, %t10513 %t10516 = load ptr, ptr %t10505 %t10517 = call ptr @realloc(ptr %t10516, i64 %t10515) store ptr %t10517, ptr %t10505 store i32 %t10511, ptr %t10504 br label %put2194 put2194: %t10518 = load ptr, ptr %t10505 %t10519 = getelementptr inbounds ptr, ptr %t10518, i32 %t10506 store ptr @.str7988, ptr %t10519 %t10520 = add i32 %t10506, 1 store i32 %t10520, ptr %t10503 br label %ifend2188 ifend2188: %t10521 = load ptr, ptr %t1 %t10522 = call i32 @lp_str_eq(ptr %t10521, ptr @.str7989) %t10523 = icmp ne i32 %t10522, 0 br i1 %t10523, label %then2195, label %ifend2197 then2195: store ptr @.str7990, ptr %t403 %t10524 = load ptr, ptr %t410 %t10525 = getelementptr inbounds %LSlice, ptr %t10524, i32 0, i32 1 %t10526 = getelementptr inbounds %LSlice, ptr %t10524, i32 0, i32 2 %t10527 = getelementptr inbounds %LSlice, ptr %t10524, i32 0, i32 0 %t10528 = load i32, ptr %t10525 %t10529 = load i32, ptr %t10526 %t10530 = icmp sge i32 %t10528, %t10529 br i1 %t10530, label %grow2198, label %put2199 grow2198: %t10531 = mul i32 %t10529, 2 %t10532 = icmp eq i32 %t10529, 0 %t10533 = select i1 %t10532, i32 8, i32 %t10531 %t10534 = getelementptr ptr, ptr null, i32 1 %t10535 = ptrtoint ptr %t10534 to i64 %t10536 = zext i32 %t10533 to i64 %t10537 = mul i64 %t10536, %t10535 %t10538 = load ptr, ptr %t10527 %t10539 = call ptr @realloc(ptr %t10538, i64 %t10537) store ptr %t10539, ptr %t10527 store i32 %t10533, ptr %t10526 br label %put2199 put2199: %t10540 = load ptr, ptr %t10527 %t10541 = getelementptr inbounds ptr, ptr %t10540, i32 %t10528 store ptr @.str7991, ptr %t10541 %t10542 = add i32 %t10528, 1 store i32 %t10542, ptr %t10525 %t10543 = load ptr, ptr %t410 %t10544 = getelementptr inbounds %LSlice, ptr %t10543, i32 0, i32 1 %t10545 = getelementptr inbounds %LSlice, ptr %t10543, i32 0, i32 2 %t10546 = getelementptr inbounds %LSlice, ptr %t10543, i32 0, i32 0 %t10547 = load i32, ptr %t10544 %t10548 = load i32, ptr %t10545 %t10549 = icmp sge i32 %t10547, %t10548 br i1 %t10549, label %grow2200, label %put2201 grow2200: %t10550 = mul i32 %t10548, 2 %t10551 = icmp eq i32 %t10548, 0 %t10552 = select i1 %t10551, i32 8, i32 %t10550 %t10553 = getelementptr ptr, ptr null, i32 1 %t10554 = ptrtoint ptr %t10553 to i64 %t10555 = zext i32 %t10552 to i64 %t10556 = mul i64 %t10555, %t10554 %t10557 = load ptr, ptr %t10546 %t10558 = call ptr @realloc(ptr %t10557, i64 %t10556) store ptr %t10558, ptr %t10546 store i32 %t10552, ptr %t10545 br label %put2201 put2201: %t10559 = load ptr, ptr %t10546 %t10560 = getelementptr inbounds ptr, ptr %t10559, i32 %t10547 store ptr @.str7992, ptr %t10560 %t10561 = add i32 %t10547, 1 store i32 %t10561, ptr %t10544 %t10562 = load ptr, ptr %t410 %t10563 = getelementptr inbounds %LSlice, ptr %t10562, i32 0, i32 1 %t10564 = getelementptr inbounds %LSlice, ptr %t10562, i32 0, i32 2 %t10565 = getelementptr inbounds %LSlice, ptr %t10562, i32 0, i32 0 %t10566 = load i32, ptr %t10563 %t10567 = load i32, ptr %t10564 %t10568 = icmp sge i32 %t10566, %t10567 br i1 %t10568, label %grow2202, label %put2203 grow2202: %t10569 = mul i32 %t10567, 2 %t10570 = icmp eq i32 %t10567, 0 %t10571 = select i1 %t10570, i32 8, i32 %t10569 %t10572 = getelementptr ptr, ptr null, i32 1 %t10573 = ptrtoint ptr %t10572 to i64 %t10574 = zext i32 %t10571 to i64 %t10575 = mul i64 %t10574, %t10573 %t10576 = load ptr, ptr %t10565 %t10577 = call ptr @realloc(ptr %t10576, i64 %t10575) store ptr %t10577, ptr %t10565 store i32 %t10571, ptr %t10564 br label %put2203 put2203: %t10578 = load ptr, ptr %t10565 %t10579 = getelementptr inbounds ptr, ptr %t10578, i32 %t10566 store ptr @.str7993, ptr %t10579 %t10580 = add i32 %t10566, 1 store i32 %t10580, ptr %t10563 %t10581 = load ptr, ptr %t410 %t10582 = getelementptr inbounds %LSlice, ptr %t10581, i32 0, i32 1 %t10583 = getelementptr inbounds %LSlice, ptr %t10581, i32 0, i32 2 %t10584 = getelementptr inbounds %LSlice, ptr %t10581, i32 0, i32 0 %t10585 = load i32, ptr %t10582 %t10586 = load i32, ptr %t10583 %t10587 = icmp sge i32 %t10585, %t10586 br i1 %t10587, label %grow2204, label %put2205 grow2204: %t10588 = mul i32 %t10586, 2 %t10589 = icmp eq i32 %t10586, 0 %t10590 = select i1 %t10589, i32 8, i32 %t10588 %t10591 = getelementptr ptr, ptr null, i32 1 %t10592 = ptrtoint ptr %t10591 to i64 %t10593 = zext i32 %t10590 to i64 %t10594 = mul i64 %t10593, %t10592 %t10595 = load ptr, ptr %t10584 %t10596 = call ptr @realloc(ptr %t10595, i64 %t10594) store ptr %t10596, ptr %t10584 store i32 %t10590, ptr %t10583 br label %put2205 put2205: %t10597 = load ptr, ptr %t10584 %t10598 = getelementptr inbounds ptr, ptr %t10597, i32 %t10585 store ptr @.str7994, ptr %t10598 %t10599 = add i32 %t10585, 1 store i32 %t10599, ptr %t10582 %t10600 = load ptr, ptr %t410 %t10601 = getelementptr inbounds %LSlice, ptr %t10600, i32 0, i32 1 %t10602 = getelementptr inbounds %LSlice, ptr %t10600, i32 0, i32 2 %t10603 = getelementptr inbounds %LSlice, ptr %t10600, i32 0, i32 0 %t10604 = load i32, ptr %t10601 %t10605 = load i32, ptr %t10602 %t10606 = icmp sge i32 %t10604, %t10605 br i1 %t10606, label %grow2206, label %put2207 grow2206: %t10607 = mul i32 %t10605, 2 %t10608 = icmp eq i32 %t10605, 0 %t10609 = select i1 %t10608, i32 8, i32 %t10607 %t10610 = getelementptr ptr, ptr null, i32 1 %t10611 = ptrtoint ptr %t10610 to i64 %t10612 = zext i32 %t10609 to i64 %t10613 = mul i64 %t10612, %t10611 %t10614 = load ptr, ptr %t10603 %t10615 = call ptr @realloc(ptr %t10614, i64 %t10613) store ptr %t10615, ptr %t10603 store i32 %t10609, ptr %t10602 br label %put2207 put2207: %t10616 = load ptr, ptr %t10603 %t10617 = getelementptr inbounds ptr, ptr %t10616, i32 %t10604 store ptr @.str7995, ptr %t10617 %t10618 = add i32 %t10604, 1 store i32 %t10618, ptr %t10601 br label %ifend2197 ifend2197: br label %ifend2152 ifend2152: %t10619 = load ptr, ptr %t0 %t10620 = call i32 @lp_str_eq(ptr %t10619, ptr @.str7996) %t10621 = icmp ne i32 %t10620, 0 br i1 %t10621, label %then2208, label %ifend2210 then2208: %t10622 = load ptr, ptr %t1 %t10623 = call i32 @lp_str_eq(ptr %t10622, ptr @.str7997) %t10624 = icmp ne i32 %t10623, 0 br i1 %t10624, label %then2211, label %ifend2213 then2211: store ptr @.str7998, ptr %t403 %t10625 = load ptr, ptr %t410 %t10626 = getelementptr inbounds %LSlice, ptr %t10625, i32 0, i32 1 %t10627 = getelementptr inbounds %LSlice, ptr %t10625, i32 0, i32 2 %t10628 = getelementptr inbounds %LSlice, ptr %t10625, i32 0, i32 0 %t10629 = load i32, ptr %t10626 %t10630 = load i32, ptr %t10627 %t10631 = icmp sge i32 %t10629, %t10630 br i1 %t10631, label %grow2214, label %put2215 grow2214: %t10632 = mul i32 %t10630, 2 %t10633 = icmp eq i32 %t10630, 0 %t10634 = select i1 %t10633, i32 8, i32 %t10632 %t10635 = getelementptr ptr, ptr null, i32 1 %t10636 = ptrtoint ptr %t10635 to i64 %t10637 = zext i32 %t10634 to i64 %t10638 = mul i64 %t10637, %t10636 %t10639 = load ptr, ptr %t10628 %t10640 = call ptr @realloc(ptr %t10639, i64 %t10638) store ptr %t10640, ptr %t10628 store i32 %t10634, ptr %t10627 br label %put2215 put2215: %t10641 = load ptr, ptr %t10628 %t10642 = getelementptr inbounds ptr, ptr %t10641, i32 %t10629 store ptr @.str7999, ptr %t10642 %t10643 = add i32 %t10629, 1 store i32 %t10643, ptr %t10626 br label %ifend2213 ifend2213: %t10644 = load ptr, ptr %t1 %t10645 = call i32 @lp_str_eq(ptr %t10644, ptr @.str8000) %t10646 = icmp ne i32 %t10645, 0 br i1 %t10646, label %then2216, label %ifend2218 then2216: store ptr @.str8001, ptr %t403 %t10647 = load ptr, ptr %t410 %t10648 = getelementptr inbounds %LSlice, ptr %t10647, i32 0, i32 1 %t10649 = getelementptr inbounds %LSlice, ptr %t10647, i32 0, i32 2 %t10650 = getelementptr inbounds %LSlice, ptr %t10647, i32 0, i32 0 %t10651 = load i32, ptr %t10648 %t10652 = load i32, ptr %t10649 %t10653 = icmp sge i32 %t10651, %t10652 br i1 %t10653, label %grow2219, label %put2220 grow2219: %t10654 = mul i32 %t10652, 2 %t10655 = icmp eq i32 %t10652, 0 %t10656 = select i1 %t10655, i32 8, i32 %t10654 %t10657 = getelementptr ptr, ptr null, i32 1 %t10658 = ptrtoint ptr %t10657 to i64 %t10659 = zext i32 %t10656 to i64 %t10660 = mul i64 %t10659, %t10658 %t10661 = load ptr, ptr %t10650 %t10662 = call ptr @realloc(ptr %t10661, i64 %t10660) store ptr %t10662, ptr %t10650 store i32 %t10656, ptr %t10649 br label %put2220 put2220: %t10663 = load ptr, ptr %t10650 %t10664 = getelementptr inbounds ptr, ptr %t10663, i32 %t10651 store ptr @.str8002, ptr %t10664 %t10665 = add i32 %t10651, 1 store i32 %t10665, ptr %t10648 %t10666 = load ptr, ptr %t410 %t10667 = getelementptr inbounds %LSlice, ptr %t10666, i32 0, i32 1 %t10668 = getelementptr inbounds %LSlice, ptr %t10666, i32 0, i32 2 %t10669 = getelementptr inbounds %LSlice, ptr %t10666, i32 0, i32 0 %t10670 = load i32, ptr %t10667 %t10671 = load i32, ptr %t10668 %t10672 = icmp sge i32 %t10670, %t10671 br i1 %t10672, label %grow2221, label %put2222 grow2221: %t10673 = mul i32 %t10671, 2 %t10674 = icmp eq i32 %t10671, 0 %t10675 = select i1 %t10674, i32 8, i32 %t10673 %t10676 = getelementptr ptr, ptr null, i32 1 %t10677 = ptrtoint ptr %t10676 to i64 %t10678 = zext i32 %t10675 to i64 %t10679 = mul i64 %t10678, %t10677 %t10680 = load ptr, ptr %t10669 %t10681 = call ptr @realloc(ptr %t10680, i64 %t10679) store ptr %t10681, ptr %t10669 store i32 %t10675, ptr %t10668 br label %put2222 put2222: %t10682 = load ptr, ptr %t10669 %t10683 = getelementptr inbounds ptr, ptr %t10682, i32 %t10670 store ptr @.str8003, ptr %t10683 %t10684 = add i32 %t10670, 1 store i32 %t10684, ptr %t10667 %t10685 = load ptr, ptr %t410 %t10686 = getelementptr inbounds %LSlice, ptr %t10685, i32 0, i32 1 %t10687 = getelementptr inbounds %LSlice, ptr %t10685, i32 0, i32 2 %t10688 = getelementptr inbounds %LSlice, ptr %t10685, i32 0, i32 0 %t10689 = load i32, ptr %t10686 %t10690 = load i32, ptr %t10687 %t10691 = icmp sge i32 %t10689, %t10690 br i1 %t10691, label %grow2223, label %put2224 grow2223: %t10692 = mul i32 %t10690, 2 %t10693 = icmp eq i32 %t10690, 0 %t10694 = select i1 %t10693, i32 8, i32 %t10692 %t10695 = getelementptr ptr, ptr null, i32 1 %t10696 = ptrtoint ptr %t10695 to i64 %t10697 = zext i32 %t10694 to i64 %t10698 = mul i64 %t10697, %t10696 %t10699 = load ptr, ptr %t10688 %t10700 = call ptr @realloc(ptr %t10699, i64 %t10698) store ptr %t10700, ptr %t10688 store i32 %t10694, ptr %t10687 br label %put2224 put2224: %t10701 = load ptr, ptr %t10688 %t10702 = getelementptr inbounds ptr, ptr %t10701, i32 %t10689 store ptr @.str8004, ptr %t10702 %t10703 = add i32 %t10689, 1 store i32 %t10703, ptr %t10686 %t10704 = load ptr, ptr %t410 %t10705 = getelementptr inbounds %LSlice, ptr %t10704, i32 0, i32 1 %t10706 = getelementptr inbounds %LSlice, ptr %t10704, i32 0, i32 2 %t10707 = getelementptr inbounds %LSlice, ptr %t10704, i32 0, i32 0 %t10708 = load i32, ptr %t10705 %t10709 = load i32, ptr %t10706 %t10710 = icmp sge i32 %t10708, %t10709 br i1 %t10710, label %grow2225, label %put2226 grow2225: %t10711 = mul i32 %t10709, 2 %t10712 = icmp eq i32 %t10709, 0 %t10713 = select i1 %t10712, i32 8, i32 %t10711 %t10714 = getelementptr ptr, ptr null, i32 1 %t10715 = ptrtoint ptr %t10714 to i64 %t10716 = zext i32 %t10713 to i64 %t10717 = mul i64 %t10716, %t10715 %t10718 = load ptr, ptr %t10707 %t10719 = call ptr @realloc(ptr %t10718, i64 %t10717) store ptr %t10719, ptr %t10707 store i32 %t10713, ptr %t10706 br label %put2226 put2226: %t10720 = load ptr, ptr %t10707 %t10721 = getelementptr inbounds ptr, ptr %t10720, i32 %t10708 store ptr @.str8005, ptr %t10721 %t10722 = add i32 %t10708, 1 store i32 %t10722, ptr %t10705 %t10723 = load ptr, ptr %t410 %t10724 = getelementptr inbounds %LSlice, ptr %t10723, i32 0, i32 1 %t10725 = getelementptr inbounds %LSlice, ptr %t10723, i32 0, i32 2 %t10726 = getelementptr inbounds %LSlice, ptr %t10723, i32 0, i32 0 %t10727 = load i32, ptr %t10724 %t10728 = load i32, ptr %t10725 %t10729 = icmp sge i32 %t10727, %t10728 br i1 %t10729, label %grow2227, label %put2228 grow2227: %t10730 = mul i32 %t10728, 2 %t10731 = icmp eq i32 %t10728, 0 %t10732 = select i1 %t10731, i32 8, i32 %t10730 %t10733 = getelementptr ptr, ptr null, i32 1 %t10734 = ptrtoint ptr %t10733 to i64 %t10735 = zext i32 %t10732 to i64 %t10736 = mul i64 %t10735, %t10734 %t10737 = load ptr, ptr %t10726 %t10738 = call ptr @realloc(ptr %t10737, i64 %t10736) store ptr %t10738, ptr %t10726 store i32 %t10732, ptr %t10725 br label %put2228 put2228: %t10739 = load ptr, ptr %t10726 %t10740 = getelementptr inbounds ptr, ptr %t10739, i32 %t10727 store ptr @.str8006, ptr %t10740 %t10741 = add i32 %t10727, 1 store i32 %t10741, ptr %t10724 br label %ifend2218 ifend2218: %t10742 = load ptr, ptr %t1 %t10743 = call i32 @lp_str_eq(ptr %t10742, ptr @.str8007) %t10744 = icmp ne i32 %t10743, 0 br i1 %t10744, label %then2229, label %ifend2231 then2229: store ptr @.str8008, ptr %t403 %t10745 = load ptr, ptr %t410 %t10746 = getelementptr inbounds %LSlice, ptr %t10745, i32 0, i32 1 %t10747 = getelementptr inbounds %LSlice, ptr %t10745, i32 0, i32 2 %t10748 = getelementptr inbounds %LSlice, ptr %t10745, i32 0, i32 0 %t10749 = load i32, ptr %t10746 %t10750 = load i32, ptr %t10747 %t10751 = icmp sge i32 %t10749, %t10750 br i1 %t10751, label %grow2232, label %put2233 grow2232: %t10752 = mul i32 %t10750, 2 %t10753 = icmp eq i32 %t10750, 0 %t10754 = select i1 %t10753, i32 8, i32 %t10752 %t10755 = getelementptr ptr, ptr null, i32 1 %t10756 = ptrtoint ptr %t10755 to i64 %t10757 = zext i32 %t10754 to i64 %t10758 = mul i64 %t10757, %t10756 %t10759 = load ptr, ptr %t10748 %t10760 = call ptr @realloc(ptr %t10759, i64 %t10758) store ptr %t10760, ptr %t10748 store i32 %t10754, ptr %t10747 br label %put2233 put2233: %t10761 = load ptr, ptr %t10748 %t10762 = getelementptr inbounds ptr, ptr %t10761, i32 %t10749 store ptr @.str8009, ptr %t10762 %t10763 = add i32 %t10749, 1 store i32 %t10763, ptr %t10746 %t10764 = load ptr, ptr %t410 %t10765 = getelementptr inbounds %LSlice, ptr %t10764, i32 0, i32 1 %t10766 = getelementptr inbounds %LSlice, ptr %t10764, i32 0, i32 2 %t10767 = getelementptr inbounds %LSlice, ptr %t10764, i32 0, i32 0 %t10768 = load i32, ptr %t10765 %t10769 = load i32, ptr %t10766 %t10770 = icmp sge i32 %t10768, %t10769 br i1 %t10770, label %grow2234, label %put2235 grow2234: %t10771 = mul i32 %t10769, 2 %t10772 = icmp eq i32 %t10769, 0 %t10773 = select i1 %t10772, i32 8, i32 %t10771 %t10774 = getelementptr ptr, ptr null, i32 1 %t10775 = ptrtoint ptr %t10774 to i64 %t10776 = zext i32 %t10773 to i64 %t10777 = mul i64 %t10776, %t10775 %t10778 = load ptr, ptr %t10767 %t10779 = call ptr @realloc(ptr %t10778, i64 %t10777) store ptr %t10779, ptr %t10767 store i32 %t10773, ptr %t10766 br label %put2235 put2235: %t10780 = load ptr, ptr %t10767 %t10781 = getelementptr inbounds ptr, ptr %t10780, i32 %t10768 store ptr @.str8010, ptr %t10781 %t10782 = add i32 %t10768, 1 store i32 %t10782, ptr %t10765 %t10783 = load ptr, ptr %t410 %t10784 = getelementptr inbounds %LSlice, ptr %t10783, i32 0, i32 1 %t10785 = getelementptr inbounds %LSlice, ptr %t10783, i32 0, i32 2 %t10786 = getelementptr inbounds %LSlice, ptr %t10783, i32 0, i32 0 %t10787 = load i32, ptr %t10784 %t10788 = load i32, ptr %t10785 %t10789 = icmp sge i32 %t10787, %t10788 br i1 %t10789, label %grow2236, label %put2237 grow2236: %t10790 = mul i32 %t10788, 2 %t10791 = icmp eq i32 %t10788, 0 %t10792 = select i1 %t10791, i32 8, i32 %t10790 %t10793 = getelementptr ptr, ptr null, i32 1 %t10794 = ptrtoint ptr %t10793 to i64 %t10795 = zext i32 %t10792 to i64 %t10796 = mul i64 %t10795, %t10794 %t10797 = load ptr, ptr %t10786 %t10798 = call ptr @realloc(ptr %t10797, i64 %t10796) store ptr %t10798, ptr %t10786 store i32 %t10792, ptr %t10785 br label %put2237 put2237: %t10799 = load ptr, ptr %t10786 %t10800 = getelementptr inbounds ptr, ptr %t10799, i32 %t10787 store ptr @.str8011, ptr %t10800 %t10801 = add i32 %t10787, 1 store i32 %t10801, ptr %t10784 %t10802 = load ptr, ptr %t410 %t10803 = getelementptr inbounds %LSlice, ptr %t10802, i32 0, i32 1 %t10804 = getelementptr inbounds %LSlice, ptr %t10802, i32 0, i32 2 %t10805 = getelementptr inbounds %LSlice, ptr %t10802, i32 0, i32 0 %t10806 = load i32, ptr %t10803 %t10807 = load i32, ptr %t10804 %t10808 = icmp sge i32 %t10806, %t10807 br i1 %t10808, label %grow2238, label %put2239 grow2238: %t10809 = mul i32 %t10807, 2 %t10810 = icmp eq i32 %t10807, 0 %t10811 = select i1 %t10810, i32 8, i32 %t10809 %t10812 = getelementptr ptr, ptr null, i32 1 %t10813 = ptrtoint ptr %t10812 to i64 %t10814 = zext i32 %t10811 to i64 %t10815 = mul i64 %t10814, %t10813 %t10816 = load ptr, ptr %t10805 %t10817 = call ptr @realloc(ptr %t10816, i64 %t10815) store ptr %t10817, ptr %t10805 store i32 %t10811, ptr %t10804 br label %put2239 put2239: %t10818 = load ptr, ptr %t10805 %t10819 = getelementptr inbounds ptr, ptr %t10818, i32 %t10806 store ptr @.str8012, ptr %t10819 %t10820 = add i32 %t10806, 1 store i32 %t10820, ptr %t10803 %t10821 = load ptr, ptr %t410 %t10822 = getelementptr inbounds %LSlice, ptr %t10821, i32 0, i32 1 %t10823 = getelementptr inbounds %LSlice, ptr %t10821, i32 0, i32 2 %t10824 = getelementptr inbounds %LSlice, ptr %t10821, i32 0, i32 0 %t10825 = load i32, ptr %t10822 %t10826 = load i32, ptr %t10823 %t10827 = icmp sge i32 %t10825, %t10826 br i1 %t10827, label %grow2240, label %put2241 grow2240: %t10828 = mul i32 %t10826, 2 %t10829 = icmp eq i32 %t10826, 0 %t10830 = select i1 %t10829, i32 8, i32 %t10828 %t10831 = getelementptr ptr, ptr null, i32 1 %t10832 = ptrtoint ptr %t10831 to i64 %t10833 = zext i32 %t10830 to i64 %t10834 = mul i64 %t10833, %t10832 %t10835 = load ptr, ptr %t10824 %t10836 = call ptr @realloc(ptr %t10835, i64 %t10834) store ptr %t10836, ptr %t10824 store i32 %t10830, ptr %t10823 br label %put2241 put2241: %t10837 = load ptr, ptr %t10824 %t10838 = getelementptr inbounds ptr, ptr %t10837, i32 %t10825 store ptr @.str8013, ptr %t10838 %t10839 = add i32 %t10825, 1 store i32 %t10839, ptr %t10822 %t10840 = load ptr, ptr %t410 %t10841 = getelementptr inbounds %LSlice, ptr %t10840, i32 0, i32 1 %t10842 = getelementptr inbounds %LSlice, ptr %t10840, i32 0, i32 2 %t10843 = getelementptr inbounds %LSlice, ptr %t10840, i32 0, i32 0 %t10844 = load i32, ptr %t10841 %t10845 = load i32, ptr %t10842 %t10846 = icmp sge i32 %t10844, %t10845 br i1 %t10846, label %grow2242, label %put2243 grow2242: %t10847 = mul i32 %t10845, 2 %t10848 = icmp eq i32 %t10845, 0 %t10849 = select i1 %t10848, i32 8, i32 %t10847 %t10850 = getelementptr ptr, ptr null, i32 1 %t10851 = ptrtoint ptr %t10850 to i64 %t10852 = zext i32 %t10849 to i64 %t10853 = mul i64 %t10852, %t10851 %t10854 = load ptr, ptr %t10843 %t10855 = call ptr @realloc(ptr %t10854, i64 %t10853) store ptr %t10855, ptr %t10843 store i32 %t10849, ptr %t10842 br label %put2243 put2243: %t10856 = load ptr, ptr %t10843 %t10857 = getelementptr inbounds ptr, ptr %t10856, i32 %t10844 store ptr @.str8014, ptr %t10857 %t10858 = add i32 %t10844, 1 store i32 %t10858, ptr %t10841 %t10859 = load ptr, ptr %t410 %t10860 = getelementptr inbounds %LSlice, ptr %t10859, i32 0, i32 1 %t10861 = getelementptr inbounds %LSlice, ptr %t10859, i32 0, i32 2 %t10862 = getelementptr inbounds %LSlice, ptr %t10859, i32 0, i32 0 %t10863 = load i32, ptr %t10860 %t10864 = load i32, ptr %t10861 %t10865 = icmp sge i32 %t10863, %t10864 br i1 %t10865, label %grow2244, label %put2245 grow2244: %t10866 = mul i32 %t10864, 2 %t10867 = icmp eq i32 %t10864, 0 %t10868 = select i1 %t10867, i32 8, i32 %t10866 %t10869 = getelementptr ptr, ptr null, i32 1 %t10870 = ptrtoint ptr %t10869 to i64 %t10871 = zext i32 %t10868 to i64 %t10872 = mul i64 %t10871, %t10870 %t10873 = load ptr, ptr %t10862 %t10874 = call ptr @realloc(ptr %t10873, i64 %t10872) store ptr %t10874, ptr %t10862 store i32 %t10868, ptr %t10861 br label %put2245 put2245: %t10875 = load ptr, ptr %t10862 %t10876 = getelementptr inbounds ptr, ptr %t10875, i32 %t10863 store ptr @.str8015, ptr %t10876 %t10877 = add i32 %t10863, 1 store i32 %t10877, ptr %t10860 br label %ifend2231 ifend2231: %t10878 = load ptr, ptr %t1 %t10879 = call i32 @lp_str_eq(ptr %t10878, ptr @.str8016) %t10880 = icmp ne i32 %t10879, 0 br i1 %t10880, label %then2246, label %ifend2248 then2246: store ptr @.str8017, ptr %t403 %t10881 = load ptr, ptr %t410 %t10882 = getelementptr inbounds %LSlice, ptr %t10881, i32 0, i32 1 %t10883 = getelementptr inbounds %LSlice, ptr %t10881, i32 0, i32 2 %t10884 = getelementptr inbounds %LSlice, ptr %t10881, i32 0, i32 0 %t10885 = load i32, ptr %t10882 %t10886 = load i32, ptr %t10883 %t10887 = icmp sge i32 %t10885, %t10886 br i1 %t10887, label %grow2249, label %put2250 grow2249: %t10888 = mul i32 %t10886, 2 %t10889 = icmp eq i32 %t10886, 0 %t10890 = select i1 %t10889, i32 8, i32 %t10888 %t10891 = getelementptr ptr, ptr null, i32 1 %t10892 = ptrtoint ptr %t10891 to i64 %t10893 = zext i32 %t10890 to i64 %t10894 = mul i64 %t10893, %t10892 %t10895 = load ptr, ptr %t10884 %t10896 = call ptr @realloc(ptr %t10895, i64 %t10894) store ptr %t10896, ptr %t10884 store i32 %t10890, ptr %t10883 br label %put2250 put2250: %t10897 = load ptr, ptr %t10884 %t10898 = getelementptr inbounds ptr, ptr %t10897, i32 %t10885 store ptr @.str8018, ptr %t10898 %t10899 = add i32 %t10885, 1 store i32 %t10899, ptr %t10882 %t10900 = load ptr, ptr %t410 %t10901 = getelementptr inbounds %LSlice, ptr %t10900, i32 0, i32 1 %t10902 = getelementptr inbounds %LSlice, ptr %t10900, i32 0, i32 2 %t10903 = getelementptr inbounds %LSlice, ptr %t10900, i32 0, i32 0 %t10904 = load i32, ptr %t10901 %t10905 = load i32, ptr %t10902 %t10906 = icmp sge i32 %t10904, %t10905 br i1 %t10906, label %grow2251, label %put2252 grow2251: %t10907 = mul i32 %t10905, 2 %t10908 = icmp eq i32 %t10905, 0 %t10909 = select i1 %t10908, i32 8, i32 %t10907 %t10910 = getelementptr ptr, ptr null, i32 1 %t10911 = ptrtoint ptr %t10910 to i64 %t10912 = zext i32 %t10909 to i64 %t10913 = mul i64 %t10912, %t10911 %t10914 = load ptr, ptr %t10903 %t10915 = call ptr @realloc(ptr %t10914, i64 %t10913) store ptr %t10915, ptr %t10903 store i32 %t10909, ptr %t10902 br label %put2252 put2252: %t10916 = load ptr, ptr %t10903 %t10917 = getelementptr inbounds ptr, ptr %t10916, i32 %t10904 store ptr @.str8019, ptr %t10917 %t10918 = add i32 %t10904, 1 store i32 %t10918, ptr %t10901 %t10919 = load ptr, ptr %t410 %t10920 = getelementptr inbounds %LSlice, ptr %t10919, i32 0, i32 1 %t10921 = getelementptr inbounds %LSlice, ptr %t10919, i32 0, i32 2 %t10922 = getelementptr inbounds %LSlice, ptr %t10919, i32 0, i32 0 %t10923 = load i32, ptr %t10920 %t10924 = load i32, ptr %t10921 %t10925 = icmp sge i32 %t10923, %t10924 br i1 %t10925, label %grow2253, label %put2254 grow2253: %t10926 = mul i32 %t10924, 2 %t10927 = icmp eq i32 %t10924, 0 %t10928 = select i1 %t10927, i32 8, i32 %t10926 %t10929 = getelementptr ptr, ptr null, i32 1 %t10930 = ptrtoint ptr %t10929 to i64 %t10931 = zext i32 %t10928 to i64 %t10932 = mul i64 %t10931, %t10930 %t10933 = load ptr, ptr %t10922 %t10934 = call ptr @realloc(ptr %t10933, i64 %t10932) store ptr %t10934, ptr %t10922 store i32 %t10928, ptr %t10921 br label %put2254 put2254: %t10935 = load ptr, ptr %t10922 %t10936 = getelementptr inbounds ptr, ptr %t10935, i32 %t10923 store ptr @.str8020, ptr %t10936 %t10937 = add i32 %t10923, 1 store i32 %t10937, ptr %t10920 %t10938 = load ptr, ptr %t410 %t10939 = getelementptr inbounds %LSlice, ptr %t10938, i32 0, i32 1 %t10940 = getelementptr inbounds %LSlice, ptr %t10938, i32 0, i32 2 %t10941 = getelementptr inbounds %LSlice, ptr %t10938, i32 0, i32 0 %t10942 = load i32, ptr %t10939 %t10943 = load i32, ptr %t10940 %t10944 = icmp sge i32 %t10942, %t10943 br i1 %t10944, label %grow2255, label %put2256 grow2255: %t10945 = mul i32 %t10943, 2 %t10946 = icmp eq i32 %t10943, 0 %t10947 = select i1 %t10946, i32 8, i32 %t10945 %t10948 = getelementptr ptr, ptr null, i32 1 %t10949 = ptrtoint ptr %t10948 to i64 %t10950 = zext i32 %t10947 to i64 %t10951 = mul i64 %t10950, %t10949 %t10952 = load ptr, ptr %t10941 %t10953 = call ptr @realloc(ptr %t10952, i64 %t10951) store ptr %t10953, ptr %t10941 store i32 %t10947, ptr %t10940 br label %put2256 put2256: %t10954 = load ptr, ptr %t10941 %t10955 = getelementptr inbounds ptr, ptr %t10954, i32 %t10942 store ptr @.str8021, ptr %t10955 %t10956 = add i32 %t10942, 1 store i32 %t10956, ptr %t10939 br label %ifend2248 ifend2248: %t10957 = load ptr, ptr %t1 %t10958 = call i32 @lp_str_eq(ptr %t10957, ptr @.str8022) %t10959 = icmp ne i32 %t10958, 0 br i1 %t10959, label %then2257, label %ifend2259 then2257: store ptr @.str8023, ptr %t403 br label %ifend2259 ifend2259: %t10960 = load ptr, ptr %t1 %t10961 = call i32 @lp_str_eq(ptr %t10960, ptr @.str8024) %t10962 = icmp ne i32 %t10961, 0 br i1 %t10962, label %then2260, label %ifend2262 then2260: store ptr @.str8025, ptr %t403 %t10963 = load ptr, ptr %t410 %t10964 = getelementptr inbounds %LSlice, ptr %t10963, i32 0, i32 1 %t10965 = getelementptr inbounds %LSlice, ptr %t10963, i32 0, i32 2 %t10966 = getelementptr inbounds %LSlice, ptr %t10963, i32 0, i32 0 %t10967 = load i32, ptr %t10964 %t10968 = load i32, ptr %t10965 %t10969 = icmp sge i32 %t10967, %t10968 br i1 %t10969, label %grow2263, label %put2264 grow2263: %t10970 = mul i32 %t10968, 2 %t10971 = icmp eq i32 %t10968, 0 %t10972 = select i1 %t10971, i32 8, i32 %t10970 %t10973 = getelementptr ptr, ptr null, i32 1 %t10974 = ptrtoint ptr %t10973 to i64 %t10975 = zext i32 %t10972 to i64 %t10976 = mul i64 %t10975, %t10974 %t10977 = load ptr, ptr %t10966 %t10978 = call ptr @realloc(ptr %t10977, i64 %t10976) store ptr %t10978, ptr %t10966 store i32 %t10972, ptr %t10965 br label %put2264 put2264: %t10979 = load ptr, ptr %t10966 %t10980 = getelementptr inbounds ptr, ptr %t10979, i32 %t10967 store ptr @.str8026, ptr %t10980 %t10981 = add i32 %t10967, 1 store i32 %t10981, ptr %t10964 br label %ifend2262 ifend2262: %t10982 = load ptr, ptr %t1 %t10983 = call i32 @lp_str_eq(ptr %t10982, ptr @.str8027) %t10984 = icmp ne i32 %t10983, 0 br i1 %t10984, label %then2265, label %ifend2267 then2265: store ptr @.str8028, ptr %t403 %t10985 = load ptr, ptr %t410 %t10986 = getelementptr inbounds %LSlice, ptr %t10985, i32 0, i32 1 %t10987 = getelementptr inbounds %LSlice, ptr %t10985, i32 0, i32 2 %t10988 = getelementptr inbounds %LSlice, ptr %t10985, i32 0, i32 0 %t10989 = load i32, ptr %t10986 %t10990 = load i32, ptr %t10987 %t10991 = icmp sge i32 %t10989, %t10990 br i1 %t10991, label %grow2268, label %put2269 grow2268: %t10992 = mul i32 %t10990, 2 %t10993 = icmp eq i32 %t10990, 0 %t10994 = select i1 %t10993, i32 8, i32 %t10992 %t10995 = getelementptr ptr, ptr null, i32 1 %t10996 = ptrtoint ptr %t10995 to i64 %t10997 = zext i32 %t10994 to i64 %t10998 = mul i64 %t10997, %t10996 %t10999 = load ptr, ptr %t10988 %t11000 = call ptr @realloc(ptr %t10999, i64 %t10998) store ptr %t11000, ptr %t10988 store i32 %t10994, ptr %t10987 br label %put2269 put2269: %t11001 = load ptr, ptr %t10988 %t11002 = getelementptr inbounds ptr, ptr %t11001, i32 %t10989 store ptr @.str8029, ptr %t11002 %t11003 = add i32 %t10989, 1 store i32 %t11003, ptr %t10986 br label %ifend2267 ifend2267: %t11004 = load ptr, ptr %t1 %t11005 = call i32 @lp_str_eq(ptr %t11004, ptr @.str8030) %t11006 = icmp ne i32 %t11005, 0 br i1 %t11006, label %then2270, label %ifend2272 then2270: store ptr @.str8031, ptr %t403 %t11007 = load ptr, ptr %t410 %t11008 = getelementptr inbounds %LSlice, ptr %t11007, i32 0, i32 1 %t11009 = getelementptr inbounds %LSlice, ptr %t11007, i32 0, i32 2 %t11010 = getelementptr inbounds %LSlice, ptr %t11007, i32 0, i32 0 %t11011 = load i32, ptr %t11008 %t11012 = load i32, ptr %t11009 %t11013 = icmp sge i32 %t11011, %t11012 br i1 %t11013, label %grow2273, label %put2274 grow2273: %t11014 = mul i32 %t11012, 2 %t11015 = icmp eq i32 %t11012, 0 %t11016 = select i1 %t11015, i32 8, i32 %t11014 %t11017 = getelementptr ptr, ptr null, i32 1 %t11018 = ptrtoint ptr %t11017 to i64 %t11019 = zext i32 %t11016 to i64 %t11020 = mul i64 %t11019, %t11018 %t11021 = load ptr, ptr %t11010 %t11022 = call ptr @realloc(ptr %t11021, i64 %t11020) store ptr %t11022, ptr %t11010 store i32 %t11016, ptr %t11009 br label %put2274 put2274: %t11023 = load ptr, ptr %t11010 %t11024 = getelementptr inbounds ptr, ptr %t11023, i32 %t11011 store ptr @.str8032, ptr %t11024 %t11025 = add i32 %t11011, 1 store i32 %t11025, ptr %t11008 br label %ifend2272 ifend2272: %t11026 = load ptr, ptr %t1 %t11027 = call i32 @lp_str_eq(ptr %t11026, ptr @.str8033) %t11028 = icmp ne i32 %t11027, 0 br i1 %t11028, label %then2275, label %ifend2277 then2275: store ptr @.str8034, ptr %t403 br label %ifend2277 ifend2277: %t11029 = load ptr, ptr %t1 %t11030 = call i32 @lp_str_eq(ptr %t11029, ptr @.str8035) %t11031 = icmp ne i32 %t11030, 0 br i1 %t11031, label %then2278, label %ifend2280 then2278: store ptr @.str8036, ptr %t403 %t11032 = load ptr, ptr %t410 %t11033 = getelementptr inbounds %LSlice, ptr %t11032, i32 0, i32 1 %t11034 = getelementptr inbounds %LSlice, ptr %t11032, i32 0, i32 2 %t11035 = getelementptr inbounds %LSlice, ptr %t11032, i32 0, i32 0 %t11036 = load i32, ptr %t11033 %t11037 = load i32, ptr %t11034 %t11038 = icmp sge i32 %t11036, %t11037 br i1 %t11038, label %grow2281, label %put2282 grow2281: %t11039 = mul i32 %t11037, 2 %t11040 = icmp eq i32 %t11037, 0 %t11041 = select i1 %t11040, i32 8, i32 %t11039 %t11042 = getelementptr ptr, ptr null, i32 1 %t11043 = ptrtoint ptr %t11042 to i64 %t11044 = zext i32 %t11041 to i64 %t11045 = mul i64 %t11044, %t11043 %t11046 = load ptr, ptr %t11035 %t11047 = call ptr @realloc(ptr %t11046, i64 %t11045) store ptr %t11047, ptr %t11035 store i32 %t11041, ptr %t11034 br label %put2282 put2282: %t11048 = load ptr, ptr %t11035 %t11049 = getelementptr inbounds ptr, ptr %t11048, i32 %t11036 store ptr @.str8037, ptr %t11049 %t11050 = add i32 %t11036, 1 store i32 %t11050, ptr %t11033 br label %ifend2280 ifend2280: %t11051 = load ptr, ptr %t1 %t11052 = call i32 @lp_str_eq(ptr %t11051, ptr @.str8038) %t11053 = icmp ne i32 %t11052, 0 br i1 %t11053, label %then2283, label %ifend2285 then2283: store ptr @.str8039, ptr %t403 %t11054 = load ptr, ptr %t410 %t11055 = getelementptr inbounds %LSlice, ptr %t11054, i32 0, i32 1 %t11056 = getelementptr inbounds %LSlice, ptr %t11054, i32 0, i32 2 %t11057 = getelementptr inbounds %LSlice, ptr %t11054, i32 0, i32 0 %t11058 = load i32, ptr %t11055 %t11059 = load i32, ptr %t11056 %t11060 = icmp sge i32 %t11058, %t11059 br i1 %t11060, label %grow2286, label %put2287 grow2286: %t11061 = mul i32 %t11059, 2 %t11062 = icmp eq i32 %t11059, 0 %t11063 = select i1 %t11062, i32 8, i32 %t11061 %t11064 = getelementptr ptr, ptr null, i32 1 %t11065 = ptrtoint ptr %t11064 to i64 %t11066 = zext i32 %t11063 to i64 %t11067 = mul i64 %t11066, %t11065 %t11068 = load ptr, ptr %t11057 %t11069 = call ptr @realloc(ptr %t11068, i64 %t11067) store ptr %t11069, ptr %t11057 store i32 %t11063, ptr %t11056 br label %put2287 put2287: %t11070 = load ptr, ptr %t11057 %t11071 = getelementptr inbounds ptr, ptr %t11070, i32 %t11058 store ptr @.str8040, ptr %t11071 %t11072 = add i32 %t11058, 1 store i32 %t11072, ptr %t11055 %t11073 = load ptr, ptr %t410 %t11074 = getelementptr inbounds %LSlice, ptr %t11073, i32 0, i32 1 %t11075 = getelementptr inbounds %LSlice, ptr %t11073, i32 0, i32 2 %t11076 = getelementptr inbounds %LSlice, ptr %t11073, i32 0, i32 0 %t11077 = load i32, ptr %t11074 %t11078 = load i32, ptr %t11075 %t11079 = icmp sge i32 %t11077, %t11078 br i1 %t11079, label %grow2288, label %put2289 grow2288: %t11080 = mul i32 %t11078, 2 %t11081 = icmp eq i32 %t11078, 0 %t11082 = select i1 %t11081, i32 8, i32 %t11080 %t11083 = getelementptr ptr, ptr null, i32 1 %t11084 = ptrtoint ptr %t11083 to i64 %t11085 = zext i32 %t11082 to i64 %t11086 = mul i64 %t11085, %t11084 %t11087 = load ptr, ptr %t11076 %t11088 = call ptr @realloc(ptr %t11087, i64 %t11086) store ptr %t11088, ptr %t11076 store i32 %t11082, ptr %t11075 br label %put2289 put2289: %t11089 = load ptr, ptr %t11076 %t11090 = getelementptr inbounds ptr, ptr %t11089, i32 %t11077 store ptr @.str8041, ptr %t11090 %t11091 = add i32 %t11077, 1 store i32 %t11091, ptr %t11074 %t11092 = load ptr, ptr %t410 %t11093 = getelementptr inbounds %LSlice, ptr %t11092, i32 0, i32 1 %t11094 = getelementptr inbounds %LSlice, ptr %t11092, i32 0, i32 2 %t11095 = getelementptr inbounds %LSlice, ptr %t11092, i32 0, i32 0 %t11096 = load i32, ptr %t11093 %t11097 = load i32, ptr %t11094 %t11098 = icmp sge i32 %t11096, %t11097 br i1 %t11098, label %grow2290, label %put2291 grow2290: %t11099 = mul i32 %t11097, 2 %t11100 = icmp eq i32 %t11097, 0 %t11101 = select i1 %t11100, i32 8, i32 %t11099 %t11102 = getelementptr ptr, ptr null, i32 1 %t11103 = ptrtoint ptr %t11102 to i64 %t11104 = zext i32 %t11101 to i64 %t11105 = mul i64 %t11104, %t11103 %t11106 = load ptr, ptr %t11095 %t11107 = call ptr @realloc(ptr %t11106, i64 %t11105) store ptr %t11107, ptr %t11095 store i32 %t11101, ptr %t11094 br label %put2291 put2291: %t11108 = load ptr, ptr %t11095 %t11109 = getelementptr inbounds ptr, ptr %t11108, i32 %t11096 store ptr @.str8042, ptr %t11109 %t11110 = add i32 %t11096, 1 store i32 %t11110, ptr %t11093 %t11111 = load ptr, ptr %t410 %t11112 = getelementptr inbounds %LSlice, ptr %t11111, i32 0, i32 1 %t11113 = getelementptr inbounds %LSlice, ptr %t11111, i32 0, i32 2 %t11114 = getelementptr inbounds %LSlice, ptr %t11111, i32 0, i32 0 %t11115 = load i32, ptr %t11112 %t11116 = load i32, ptr %t11113 %t11117 = icmp sge i32 %t11115, %t11116 br i1 %t11117, label %grow2292, label %put2293 grow2292: %t11118 = mul i32 %t11116, 2 %t11119 = icmp eq i32 %t11116, 0 %t11120 = select i1 %t11119, i32 8, i32 %t11118 %t11121 = getelementptr ptr, ptr null, i32 1 %t11122 = ptrtoint ptr %t11121 to i64 %t11123 = zext i32 %t11120 to i64 %t11124 = mul i64 %t11123, %t11122 %t11125 = load ptr, ptr %t11114 %t11126 = call ptr @realloc(ptr %t11125, i64 %t11124) store ptr %t11126, ptr %t11114 store i32 %t11120, ptr %t11113 br label %put2293 put2293: %t11127 = load ptr, ptr %t11114 %t11128 = getelementptr inbounds ptr, ptr %t11127, i32 %t11115 store ptr @.str8043, ptr %t11128 %t11129 = add i32 %t11115, 1 store i32 %t11129, ptr %t11112 %t11130 = load ptr, ptr %t410 %t11131 = getelementptr inbounds %LSlice, ptr %t11130, i32 0, i32 1 %t11132 = getelementptr inbounds %LSlice, ptr %t11130, i32 0, i32 2 %t11133 = getelementptr inbounds %LSlice, ptr %t11130, i32 0, i32 0 %t11134 = load i32, ptr %t11131 %t11135 = load i32, ptr %t11132 %t11136 = icmp sge i32 %t11134, %t11135 br i1 %t11136, label %grow2294, label %put2295 grow2294: %t11137 = mul i32 %t11135, 2 %t11138 = icmp eq i32 %t11135, 0 %t11139 = select i1 %t11138, i32 8, i32 %t11137 %t11140 = getelementptr ptr, ptr null, i32 1 %t11141 = ptrtoint ptr %t11140 to i64 %t11142 = zext i32 %t11139 to i64 %t11143 = mul i64 %t11142, %t11141 %t11144 = load ptr, ptr %t11133 %t11145 = call ptr @realloc(ptr %t11144, i64 %t11143) store ptr %t11145, ptr %t11133 store i32 %t11139, ptr %t11132 br label %put2295 put2295: %t11146 = load ptr, ptr %t11133 %t11147 = getelementptr inbounds ptr, ptr %t11146, i32 %t11134 store ptr @.str8044, ptr %t11147 %t11148 = add i32 %t11134, 1 store i32 %t11148, ptr %t11131 %t11149 = load ptr, ptr %t410 %t11150 = getelementptr inbounds %LSlice, ptr %t11149, i32 0, i32 1 %t11151 = getelementptr inbounds %LSlice, ptr %t11149, i32 0, i32 2 %t11152 = getelementptr inbounds %LSlice, ptr %t11149, i32 0, i32 0 %t11153 = load i32, ptr %t11150 %t11154 = load i32, ptr %t11151 %t11155 = icmp sge i32 %t11153, %t11154 br i1 %t11155, label %grow2296, label %put2297 grow2296: %t11156 = mul i32 %t11154, 2 %t11157 = icmp eq i32 %t11154, 0 %t11158 = select i1 %t11157, i32 8, i32 %t11156 %t11159 = getelementptr ptr, ptr null, i32 1 %t11160 = ptrtoint ptr %t11159 to i64 %t11161 = zext i32 %t11158 to i64 %t11162 = mul i64 %t11161, %t11160 %t11163 = load ptr, ptr %t11152 %t11164 = call ptr @realloc(ptr %t11163, i64 %t11162) store ptr %t11164, ptr %t11152 store i32 %t11158, ptr %t11151 br label %put2297 put2297: %t11165 = load ptr, ptr %t11152 %t11166 = getelementptr inbounds ptr, ptr %t11165, i32 %t11153 store ptr @.str8045, ptr %t11166 %t11167 = add i32 %t11153, 1 store i32 %t11167, ptr %t11150 br label %ifend2285 ifend2285: %t11168 = load ptr, ptr %t1 %t11169 = call i32 @lp_str_eq(ptr %t11168, ptr @.str8046) %t11170 = icmp ne i32 %t11169, 0 br i1 %t11170, label %then2298, label %ifend2300 then2298: store ptr @.str8047, ptr %t403 br label %ifend2300 ifend2300: %t11171 = load ptr, ptr %t1 %t11172 = call i32 @lp_str_eq(ptr %t11171, ptr @.str8048) %t11173 = icmp ne i32 %t11172, 0 br i1 %t11173, label %then2301, label %ifend2303 then2301: store ptr @.str8049, ptr %t403 %t11174 = load ptr, ptr %t410 %t11175 = getelementptr inbounds %LSlice, ptr %t11174, i32 0, i32 1 %t11176 = getelementptr inbounds %LSlice, ptr %t11174, i32 0, i32 2 %t11177 = getelementptr inbounds %LSlice, ptr %t11174, i32 0, i32 0 %t11178 = load i32, ptr %t11175 %t11179 = load i32, ptr %t11176 %t11180 = icmp sge i32 %t11178, %t11179 br i1 %t11180, label %grow2304, label %put2305 grow2304: %t11181 = mul i32 %t11179, 2 %t11182 = icmp eq i32 %t11179, 0 %t11183 = select i1 %t11182, i32 8, i32 %t11181 %t11184 = getelementptr ptr, ptr null, i32 1 %t11185 = ptrtoint ptr %t11184 to i64 %t11186 = zext i32 %t11183 to i64 %t11187 = mul i64 %t11186, %t11185 %t11188 = load ptr, ptr %t11177 %t11189 = call ptr @realloc(ptr %t11188, i64 %t11187) store ptr %t11189, ptr %t11177 store i32 %t11183, ptr %t11176 br label %put2305 put2305: %t11190 = load ptr, ptr %t11177 %t11191 = getelementptr inbounds ptr, ptr %t11190, i32 %t11178 store ptr @.str8050, ptr %t11191 %t11192 = add i32 %t11178, 1 store i32 %t11192, ptr %t11175 br label %ifend2303 ifend2303: br label %ifend2210 ifend2210: %t11193 = load ptr, ptr %t0 %t11194 = call i32 @lp_str_eq(ptr %t11193, ptr @.str8051) %t11195 = icmp ne i32 %t11194, 0 br i1 %t11195, label %then2306, label %ifend2308 then2306: %t11196 = load ptr, ptr %t1 %t11197 = call i32 @lp_str_eq(ptr %t11196, ptr @.str8052) %t11198 = icmp ne i32 %t11197, 0 br i1 %t11198, label %then2309, label %ifend2311 then2309: store ptr @.str8053, ptr %t403 %t11199 = load ptr, ptr %t410 %t11200 = getelementptr inbounds %LSlice, ptr %t11199, i32 0, i32 1 %t11201 = getelementptr inbounds %LSlice, ptr %t11199, i32 0, i32 2 %t11202 = getelementptr inbounds %LSlice, ptr %t11199, i32 0, i32 0 %t11203 = load i32, ptr %t11200 %t11204 = load i32, ptr %t11201 %t11205 = icmp sge i32 %t11203, %t11204 br i1 %t11205, label %grow2312, label %put2313 grow2312: %t11206 = mul i32 %t11204, 2 %t11207 = icmp eq i32 %t11204, 0 %t11208 = select i1 %t11207, i32 8, i32 %t11206 %t11209 = getelementptr ptr, ptr null, i32 1 %t11210 = ptrtoint ptr %t11209 to i64 %t11211 = zext i32 %t11208 to i64 %t11212 = mul i64 %t11211, %t11210 %t11213 = load ptr, ptr %t11202 %t11214 = call ptr @realloc(ptr %t11213, i64 %t11212) store ptr %t11214, ptr %t11202 store i32 %t11208, ptr %t11201 br label %put2313 put2313: %t11215 = load ptr, ptr %t11202 %t11216 = getelementptr inbounds ptr, ptr %t11215, i32 %t11203 store ptr @.str8054, ptr %t11216 %t11217 = add i32 %t11203, 1 store i32 %t11217, ptr %t11200 %t11218 = load ptr, ptr %t410 %t11219 = getelementptr inbounds %LSlice, ptr %t11218, i32 0, i32 1 %t11220 = getelementptr inbounds %LSlice, ptr %t11218, i32 0, i32 2 %t11221 = getelementptr inbounds %LSlice, ptr %t11218, i32 0, i32 0 %t11222 = load i32, ptr %t11219 %t11223 = load i32, ptr %t11220 %t11224 = icmp sge i32 %t11222, %t11223 br i1 %t11224, label %grow2314, label %put2315 grow2314: %t11225 = mul i32 %t11223, 2 %t11226 = icmp eq i32 %t11223, 0 %t11227 = select i1 %t11226, i32 8, i32 %t11225 %t11228 = getelementptr ptr, ptr null, i32 1 %t11229 = ptrtoint ptr %t11228 to i64 %t11230 = zext i32 %t11227 to i64 %t11231 = mul i64 %t11230, %t11229 %t11232 = load ptr, ptr %t11221 %t11233 = call ptr @realloc(ptr %t11232, i64 %t11231) store ptr %t11233, ptr %t11221 store i32 %t11227, ptr %t11220 br label %put2315 put2315: %t11234 = load ptr, ptr %t11221 %t11235 = getelementptr inbounds ptr, ptr %t11234, i32 %t11222 store ptr @.str8055, ptr %t11235 %t11236 = add i32 %t11222, 1 store i32 %t11236, ptr %t11219 %t11237 = load ptr, ptr %t410 %t11238 = getelementptr inbounds %LSlice, ptr %t11237, i32 0, i32 1 %t11239 = getelementptr inbounds %LSlice, ptr %t11237, i32 0, i32 2 %t11240 = getelementptr inbounds %LSlice, ptr %t11237, i32 0, i32 0 %t11241 = load i32, ptr %t11238 %t11242 = load i32, ptr %t11239 %t11243 = icmp sge i32 %t11241, %t11242 br i1 %t11243, label %grow2316, label %put2317 grow2316: %t11244 = mul i32 %t11242, 2 %t11245 = icmp eq i32 %t11242, 0 %t11246 = select i1 %t11245, i32 8, i32 %t11244 %t11247 = getelementptr ptr, ptr null, i32 1 %t11248 = ptrtoint ptr %t11247 to i64 %t11249 = zext i32 %t11246 to i64 %t11250 = mul i64 %t11249, %t11248 %t11251 = load ptr, ptr %t11240 %t11252 = call ptr @realloc(ptr %t11251, i64 %t11250) store ptr %t11252, ptr %t11240 store i32 %t11246, ptr %t11239 br label %put2317 put2317: %t11253 = load ptr, ptr %t11240 %t11254 = getelementptr inbounds ptr, ptr %t11253, i32 %t11241 store ptr @.str8056, ptr %t11254 %t11255 = add i32 %t11241, 1 store i32 %t11255, ptr %t11238 %t11256 = load ptr, ptr %t410 %t11257 = getelementptr inbounds %LSlice, ptr %t11256, i32 0, i32 1 %t11258 = getelementptr inbounds %LSlice, ptr %t11256, i32 0, i32 2 %t11259 = getelementptr inbounds %LSlice, ptr %t11256, i32 0, i32 0 %t11260 = load i32, ptr %t11257 %t11261 = load i32, ptr %t11258 %t11262 = icmp sge i32 %t11260, %t11261 br i1 %t11262, label %grow2318, label %put2319 grow2318: %t11263 = mul i32 %t11261, 2 %t11264 = icmp eq i32 %t11261, 0 %t11265 = select i1 %t11264, i32 8, i32 %t11263 %t11266 = getelementptr ptr, ptr null, i32 1 %t11267 = ptrtoint ptr %t11266 to i64 %t11268 = zext i32 %t11265 to i64 %t11269 = mul i64 %t11268, %t11267 %t11270 = load ptr, ptr %t11259 %t11271 = call ptr @realloc(ptr %t11270, i64 %t11269) store ptr %t11271, ptr %t11259 store i32 %t11265, ptr %t11258 br label %put2319 put2319: %t11272 = load ptr, ptr %t11259 %t11273 = getelementptr inbounds ptr, ptr %t11272, i32 %t11260 store ptr @.str8057, ptr %t11273 %t11274 = add i32 %t11260, 1 store i32 %t11274, ptr %t11257 br label %ifend2311 ifend2311: %t11275 = load ptr, ptr %t1 %t11276 = call i32 @lp_str_eq(ptr %t11275, ptr @.str8058) %t11277 = icmp ne i32 %t11276, 0 br i1 %t11277, label %then2320, label %ifend2322 then2320: store ptr @.str8059, ptr %t403 %t11278 = load ptr, ptr %t410 %t11279 = getelementptr inbounds %LSlice, ptr %t11278, i32 0, i32 1 %t11280 = getelementptr inbounds %LSlice, ptr %t11278, i32 0, i32 2 %t11281 = getelementptr inbounds %LSlice, ptr %t11278, i32 0, i32 0 %t11282 = load i32, ptr %t11279 %t11283 = load i32, ptr %t11280 %t11284 = icmp sge i32 %t11282, %t11283 br i1 %t11284, label %grow2323, label %put2324 grow2323: %t11285 = mul i32 %t11283, 2 %t11286 = icmp eq i32 %t11283, 0 %t11287 = select i1 %t11286, i32 8, i32 %t11285 %t11288 = getelementptr ptr, ptr null, i32 1 %t11289 = ptrtoint ptr %t11288 to i64 %t11290 = zext i32 %t11287 to i64 %t11291 = mul i64 %t11290, %t11289 %t11292 = load ptr, ptr %t11281 %t11293 = call ptr @realloc(ptr %t11292, i64 %t11291) store ptr %t11293, ptr %t11281 store i32 %t11287, ptr %t11280 br label %put2324 put2324: %t11294 = load ptr, ptr %t11281 %t11295 = getelementptr inbounds ptr, ptr %t11294, i32 %t11282 store ptr @.str8060, ptr %t11295 %t11296 = add i32 %t11282, 1 store i32 %t11296, ptr %t11279 %t11297 = load ptr, ptr %t410 %t11298 = getelementptr inbounds %LSlice, ptr %t11297, i32 0, i32 1 %t11299 = getelementptr inbounds %LSlice, ptr %t11297, i32 0, i32 2 %t11300 = getelementptr inbounds %LSlice, ptr %t11297, i32 0, i32 0 %t11301 = load i32, ptr %t11298 %t11302 = load i32, ptr %t11299 %t11303 = icmp sge i32 %t11301, %t11302 br i1 %t11303, label %grow2325, label %put2326 grow2325: %t11304 = mul i32 %t11302, 2 %t11305 = icmp eq i32 %t11302, 0 %t11306 = select i1 %t11305, i32 8, i32 %t11304 %t11307 = getelementptr ptr, ptr null, i32 1 %t11308 = ptrtoint ptr %t11307 to i64 %t11309 = zext i32 %t11306 to i64 %t11310 = mul i64 %t11309, %t11308 %t11311 = load ptr, ptr %t11300 %t11312 = call ptr @realloc(ptr %t11311, i64 %t11310) store ptr %t11312, ptr %t11300 store i32 %t11306, ptr %t11299 br label %put2326 put2326: %t11313 = load ptr, ptr %t11300 %t11314 = getelementptr inbounds ptr, ptr %t11313, i32 %t11301 store ptr @.str8061, ptr %t11314 %t11315 = add i32 %t11301, 1 store i32 %t11315, ptr %t11298 br label %ifend2322 ifend2322: %t11316 = load ptr, ptr %t1 %t11317 = call i32 @lp_str_eq(ptr %t11316, ptr @.str8062) %t11318 = icmp ne i32 %t11317, 0 br i1 %t11318, label %then2327, label %ifend2329 then2327: store ptr @.str8063, ptr %t403 %t11319 = load ptr, ptr %t410 %t11320 = getelementptr inbounds %LSlice, ptr %t11319, i32 0, i32 1 %t11321 = getelementptr inbounds %LSlice, ptr %t11319, i32 0, i32 2 %t11322 = getelementptr inbounds %LSlice, ptr %t11319, i32 0, i32 0 %t11323 = load i32, ptr %t11320 %t11324 = load i32, ptr %t11321 %t11325 = icmp sge i32 %t11323, %t11324 br i1 %t11325, label %grow2330, label %put2331 grow2330: %t11326 = mul i32 %t11324, 2 %t11327 = icmp eq i32 %t11324, 0 %t11328 = select i1 %t11327, i32 8, i32 %t11326 %t11329 = getelementptr ptr, ptr null, i32 1 %t11330 = ptrtoint ptr %t11329 to i64 %t11331 = zext i32 %t11328 to i64 %t11332 = mul i64 %t11331, %t11330 %t11333 = load ptr, ptr %t11322 %t11334 = call ptr @realloc(ptr %t11333, i64 %t11332) store ptr %t11334, ptr %t11322 store i32 %t11328, ptr %t11321 br label %put2331 put2331: %t11335 = load ptr, ptr %t11322 %t11336 = getelementptr inbounds ptr, ptr %t11335, i32 %t11323 store ptr @.str8064, ptr %t11336 %t11337 = add i32 %t11323, 1 store i32 %t11337, ptr %t11320 br label %ifend2329 ifend2329: %t11338 = load ptr, ptr %t1 %t11339 = call i32 @lp_str_eq(ptr %t11338, ptr @.str8065) %t11340 = icmp ne i32 %t11339, 0 br i1 %t11340, label %then2332, label %ifend2334 then2332: %t11341 = load ptr, ptr %t2 %t11342 = getelementptr inbounds %Cmp_Node, ptr %t11341, i32 0, i32 7 %t11343 = load ptr, ptr %t11342 %t11344 = getelementptr inbounds %LSlice, ptr %t11343, i32 0, i32 1 %t11345 = load i32, ptr %t11344 %t11346 = icmp eq i32 %t11345, 2 %t11347 = zext i1 %t11346 to i32 %t11348 = icmp ne i32 %t11347, 0 br i1 %t11348, label %then2335, label %else2336 then2335: store ptr @.str8066, ptr %t403 %t11349 = load ptr, ptr %t410 %t11350 = getelementptr inbounds %LSlice, ptr %t11349, i32 0, i32 1 %t11351 = getelementptr inbounds %LSlice, ptr %t11349, i32 0, i32 2 %t11352 = getelementptr inbounds %LSlice, ptr %t11349, i32 0, i32 0 %t11353 = load i32, ptr %t11350 %t11354 = load i32, ptr %t11351 %t11355 = icmp sge i32 %t11353, %t11354 br i1 %t11355, label %grow2338, label %put2339 grow2338: %t11356 = mul i32 %t11354, 2 %t11357 = icmp eq i32 %t11354, 0 %t11358 = select i1 %t11357, i32 8, i32 %t11356 %t11359 = getelementptr ptr, ptr null, i32 1 %t11360 = ptrtoint ptr %t11359 to i64 %t11361 = zext i32 %t11358 to i64 %t11362 = mul i64 %t11361, %t11360 %t11363 = load ptr, ptr %t11352 %t11364 = call ptr @realloc(ptr %t11363, i64 %t11362) store ptr %t11364, ptr %t11352 store i32 %t11358, ptr %t11351 br label %put2339 put2339: %t11365 = load ptr, ptr %t11352 %t11366 = getelementptr inbounds ptr, ptr %t11365, i32 %t11353 store ptr @.str8067, ptr %t11366 %t11367 = add i32 %t11353, 1 store i32 %t11367, ptr %t11350 %t11368 = load ptr, ptr %t410 %t11369 = getelementptr inbounds %LSlice, ptr %t11368, i32 0, i32 1 %t11370 = getelementptr inbounds %LSlice, ptr %t11368, i32 0, i32 2 %t11371 = getelementptr inbounds %LSlice, ptr %t11368, i32 0, i32 0 %t11372 = load i32, ptr %t11369 %t11373 = load i32, ptr %t11370 %t11374 = icmp sge i32 %t11372, %t11373 br i1 %t11374, label %grow2340, label %put2341 grow2340: %t11375 = mul i32 %t11373, 2 %t11376 = icmp eq i32 %t11373, 0 %t11377 = select i1 %t11376, i32 8, i32 %t11375 %t11378 = getelementptr ptr, ptr null, i32 1 %t11379 = ptrtoint ptr %t11378 to i64 %t11380 = zext i32 %t11377 to i64 %t11381 = mul i64 %t11380, %t11379 %t11382 = load ptr, ptr %t11371 %t11383 = call ptr @realloc(ptr %t11382, i64 %t11381) store ptr %t11383, ptr %t11371 store i32 %t11377, ptr %t11370 br label %put2341 put2341: %t11384 = load ptr, ptr %t11371 %t11385 = getelementptr inbounds ptr, ptr %t11384, i32 %t11372 store ptr @.str8068, ptr %t11385 %t11386 = add i32 %t11372, 1 store i32 %t11386, ptr %t11369 br label %ifend2337 else2336: store ptr @.str8069, ptr %t403 %t11387 = load ptr, ptr %t410 %t11388 = getelementptr inbounds %LSlice, ptr %t11387, i32 0, i32 1 %t11389 = getelementptr inbounds %LSlice, ptr %t11387, i32 0, i32 2 %t11390 = getelementptr inbounds %LSlice, ptr %t11387, i32 0, i32 0 %t11391 = load i32, ptr %t11388 %t11392 = load i32, ptr %t11389 %t11393 = icmp sge i32 %t11391, %t11392 br i1 %t11393, label %grow2342, label %put2343 grow2342: %t11394 = mul i32 %t11392, 2 %t11395 = icmp eq i32 %t11392, 0 %t11396 = select i1 %t11395, i32 8, i32 %t11394 %t11397 = getelementptr ptr, ptr null, i32 1 %t11398 = ptrtoint ptr %t11397 to i64 %t11399 = zext i32 %t11396 to i64 %t11400 = mul i64 %t11399, %t11398 %t11401 = load ptr, ptr %t11390 %t11402 = call ptr @realloc(ptr %t11401, i64 %t11400) store ptr %t11402, ptr %t11390 store i32 %t11396, ptr %t11389 br label %put2343 put2343: %t11403 = load ptr, ptr %t11390 %t11404 = getelementptr inbounds ptr, ptr %t11403, i32 %t11391 store ptr @.str8070, ptr %t11404 %t11405 = add i32 %t11391, 1 store i32 %t11405, ptr %t11388 %t11406 = load ptr, ptr %t410 %t11407 = getelementptr inbounds %LSlice, ptr %t11406, i32 0, i32 1 %t11408 = getelementptr inbounds %LSlice, ptr %t11406, i32 0, i32 2 %t11409 = getelementptr inbounds %LSlice, ptr %t11406, i32 0, i32 0 %t11410 = load i32, ptr %t11407 %t11411 = load i32, ptr %t11408 %t11412 = icmp sge i32 %t11410, %t11411 br i1 %t11412, label %grow2344, label %put2345 grow2344: %t11413 = mul i32 %t11411, 2 %t11414 = icmp eq i32 %t11411, 0 %t11415 = select i1 %t11414, i32 8, i32 %t11413 %t11416 = getelementptr ptr, ptr null, i32 1 %t11417 = ptrtoint ptr %t11416 to i64 %t11418 = zext i32 %t11415 to i64 %t11419 = mul i64 %t11418, %t11417 %t11420 = load ptr, ptr %t11409 %t11421 = call ptr @realloc(ptr %t11420, i64 %t11419) store ptr %t11421, ptr %t11409 store i32 %t11415, ptr %t11408 br label %put2345 put2345: %t11422 = load ptr, ptr %t11409 %t11423 = getelementptr inbounds ptr, ptr %t11422, i32 %t11410 store ptr @.str8071, ptr %t11423 %t11424 = add i32 %t11410, 1 store i32 %t11424, ptr %t11407 %t11425 = load ptr, ptr %t410 %t11426 = getelementptr inbounds %LSlice, ptr %t11425, i32 0, i32 1 %t11427 = getelementptr inbounds %LSlice, ptr %t11425, i32 0, i32 2 %t11428 = getelementptr inbounds %LSlice, ptr %t11425, i32 0, i32 0 %t11429 = load i32, ptr %t11426 %t11430 = load i32, ptr %t11427 %t11431 = icmp sge i32 %t11429, %t11430 br i1 %t11431, label %grow2346, label %put2347 grow2346: %t11432 = mul i32 %t11430, 2 %t11433 = icmp eq i32 %t11430, 0 %t11434 = select i1 %t11433, i32 8, i32 %t11432 %t11435 = getelementptr ptr, ptr null, i32 1 %t11436 = ptrtoint ptr %t11435 to i64 %t11437 = zext i32 %t11434 to i64 %t11438 = mul i64 %t11437, %t11436 %t11439 = load ptr, ptr %t11428 %t11440 = call ptr @realloc(ptr %t11439, i64 %t11438) store ptr %t11440, ptr %t11428 store i32 %t11434, ptr %t11427 br label %put2347 put2347: %t11441 = load ptr, ptr %t11428 %t11442 = getelementptr inbounds ptr, ptr %t11441, i32 %t11429 store ptr @.str8072, ptr %t11442 %t11443 = add i32 %t11429, 1 store i32 %t11443, ptr %t11426 %t11444 = load ptr, ptr %t410 %t11445 = getelementptr inbounds %LSlice, ptr %t11444, i32 0, i32 1 %t11446 = getelementptr inbounds %LSlice, ptr %t11444, i32 0, i32 2 %t11447 = getelementptr inbounds %LSlice, ptr %t11444, i32 0, i32 0 %t11448 = load i32, ptr %t11445 %t11449 = load i32, ptr %t11446 %t11450 = icmp sge i32 %t11448, %t11449 br i1 %t11450, label %grow2348, label %put2349 grow2348: %t11451 = mul i32 %t11449, 2 %t11452 = icmp eq i32 %t11449, 0 %t11453 = select i1 %t11452, i32 8, i32 %t11451 %t11454 = getelementptr ptr, ptr null, i32 1 %t11455 = ptrtoint ptr %t11454 to i64 %t11456 = zext i32 %t11453 to i64 %t11457 = mul i64 %t11456, %t11455 %t11458 = load ptr, ptr %t11447 %t11459 = call ptr @realloc(ptr %t11458, i64 %t11457) store ptr %t11459, ptr %t11447 store i32 %t11453, ptr %t11446 br label %put2349 put2349: %t11460 = load ptr, ptr %t11447 %t11461 = getelementptr inbounds ptr, ptr %t11460, i32 %t11448 store ptr @.str8073, ptr %t11461 %t11462 = add i32 %t11448, 1 store i32 %t11462, ptr %t11445 br label %ifend2337 ifend2337: br label %ifend2334 ifend2334: br label %ifend2308 ifend2308: %t11463 = load ptr, ptr %t0 %t11464 = call i32 @lp_str_eq(ptr %t11463, ptr @.str8074) %t11465 = icmp ne i32 %t11464, 0 br i1 %t11465, label %then2350, label %ifend2352 then2350: %t11466 = load ptr, ptr %t1 %t11467 = call i32 @lp_str_eq(ptr %t11466, ptr @.str8075) %t11468 = icmp ne i32 %t11467, 0 br i1 %t11468, label %then2353, label %ifend2355 then2353: store ptr @.str8076, ptr %t403 %t11469 = load ptr, ptr %t410 %t11470 = getelementptr inbounds %LSlice, ptr %t11469, i32 0, i32 1 %t11471 = getelementptr inbounds %LSlice, ptr %t11469, i32 0, i32 2 %t11472 = getelementptr inbounds %LSlice, ptr %t11469, i32 0, i32 0 %t11473 = load i32, ptr %t11470 %t11474 = load i32, ptr %t11471 %t11475 = icmp sge i32 %t11473, %t11474 br i1 %t11475, label %grow2356, label %put2357 grow2356: %t11476 = mul i32 %t11474, 2 %t11477 = icmp eq i32 %t11474, 0 %t11478 = select i1 %t11477, i32 8, i32 %t11476 %t11479 = getelementptr ptr, ptr null, i32 1 %t11480 = ptrtoint ptr %t11479 to i64 %t11481 = zext i32 %t11478 to i64 %t11482 = mul i64 %t11481, %t11480 %t11483 = load ptr, ptr %t11472 %t11484 = call ptr @realloc(ptr %t11483, i64 %t11482) store ptr %t11484, ptr %t11472 store i32 %t11478, ptr %t11471 br label %put2357 put2357: %t11485 = load ptr, ptr %t11472 %t11486 = getelementptr inbounds ptr, ptr %t11485, i32 %t11473 store ptr @.str8077, ptr %t11486 %t11487 = add i32 %t11473, 1 store i32 %t11487, ptr %t11470 %t11488 = load ptr, ptr %t410 %t11489 = getelementptr inbounds %LSlice, ptr %t11488, i32 0, i32 1 %t11490 = getelementptr inbounds %LSlice, ptr %t11488, i32 0, i32 2 %t11491 = getelementptr inbounds %LSlice, ptr %t11488, i32 0, i32 0 %t11492 = load i32, ptr %t11489 %t11493 = load i32, ptr %t11490 %t11494 = icmp sge i32 %t11492, %t11493 br i1 %t11494, label %grow2358, label %put2359 grow2358: %t11495 = mul i32 %t11493, 2 %t11496 = icmp eq i32 %t11493, 0 %t11497 = select i1 %t11496, i32 8, i32 %t11495 %t11498 = getelementptr ptr, ptr null, i32 1 %t11499 = ptrtoint ptr %t11498 to i64 %t11500 = zext i32 %t11497 to i64 %t11501 = mul i64 %t11500, %t11499 %t11502 = load ptr, ptr %t11491 %t11503 = call ptr @realloc(ptr %t11502, i64 %t11501) store ptr %t11503, ptr %t11491 store i32 %t11497, ptr %t11490 br label %put2359 put2359: %t11504 = load ptr, ptr %t11491 %t11505 = getelementptr inbounds ptr, ptr %t11504, i32 %t11492 store ptr @.str8078, ptr %t11505 %t11506 = add i32 %t11492, 1 store i32 %t11506, ptr %t11489 %t11507 = load ptr, ptr %t410 %t11508 = getelementptr inbounds %LSlice, ptr %t11507, i32 0, i32 1 %t11509 = getelementptr inbounds %LSlice, ptr %t11507, i32 0, i32 2 %t11510 = getelementptr inbounds %LSlice, ptr %t11507, i32 0, i32 0 %t11511 = load i32, ptr %t11508 %t11512 = load i32, ptr %t11509 %t11513 = icmp sge i32 %t11511, %t11512 br i1 %t11513, label %grow2360, label %put2361 grow2360: %t11514 = mul i32 %t11512, 2 %t11515 = icmp eq i32 %t11512, 0 %t11516 = select i1 %t11515, i32 8, i32 %t11514 %t11517 = getelementptr ptr, ptr null, i32 1 %t11518 = ptrtoint ptr %t11517 to i64 %t11519 = zext i32 %t11516 to i64 %t11520 = mul i64 %t11519, %t11518 %t11521 = load ptr, ptr %t11510 %t11522 = call ptr @realloc(ptr %t11521, i64 %t11520) store ptr %t11522, ptr %t11510 store i32 %t11516, ptr %t11509 br label %put2361 put2361: %t11523 = load ptr, ptr %t11510 %t11524 = getelementptr inbounds ptr, ptr %t11523, i32 %t11511 store ptr @.str8079, ptr %t11524 %t11525 = add i32 %t11511, 1 store i32 %t11525, ptr %t11508 %t11526 = load ptr, ptr %t410 %t11527 = getelementptr inbounds %LSlice, ptr %t11526, i32 0, i32 1 %t11528 = getelementptr inbounds %LSlice, ptr %t11526, i32 0, i32 2 %t11529 = getelementptr inbounds %LSlice, ptr %t11526, i32 0, i32 0 %t11530 = load i32, ptr %t11527 %t11531 = load i32, ptr %t11528 %t11532 = icmp sge i32 %t11530, %t11531 br i1 %t11532, label %grow2362, label %put2363 grow2362: %t11533 = mul i32 %t11531, 2 %t11534 = icmp eq i32 %t11531, 0 %t11535 = select i1 %t11534, i32 8, i32 %t11533 %t11536 = getelementptr ptr, ptr null, i32 1 %t11537 = ptrtoint ptr %t11536 to i64 %t11538 = zext i32 %t11535 to i64 %t11539 = mul i64 %t11538, %t11537 %t11540 = load ptr, ptr %t11529 %t11541 = call ptr @realloc(ptr %t11540, i64 %t11539) store ptr %t11541, ptr %t11529 store i32 %t11535, ptr %t11528 br label %put2363 put2363: %t11542 = load ptr, ptr %t11529 %t11543 = getelementptr inbounds ptr, ptr %t11542, i32 %t11530 store ptr @.str8080, ptr %t11543 %t11544 = add i32 %t11530, 1 store i32 %t11544, ptr %t11527 %t11545 = load ptr, ptr %t410 %t11546 = getelementptr inbounds %LSlice, ptr %t11545, i32 0, i32 1 %t11547 = getelementptr inbounds %LSlice, ptr %t11545, i32 0, i32 2 %t11548 = getelementptr inbounds %LSlice, ptr %t11545, i32 0, i32 0 %t11549 = load i32, ptr %t11546 %t11550 = load i32, ptr %t11547 %t11551 = icmp sge i32 %t11549, %t11550 br i1 %t11551, label %grow2364, label %put2365 grow2364: %t11552 = mul i32 %t11550, 2 %t11553 = icmp eq i32 %t11550, 0 %t11554 = select i1 %t11553, i32 8, i32 %t11552 %t11555 = getelementptr ptr, ptr null, i32 1 %t11556 = ptrtoint ptr %t11555 to i64 %t11557 = zext i32 %t11554 to i64 %t11558 = mul i64 %t11557, %t11556 %t11559 = load ptr, ptr %t11548 %t11560 = call ptr @realloc(ptr %t11559, i64 %t11558) store ptr %t11560, ptr %t11548 store i32 %t11554, ptr %t11547 br label %put2365 put2365: %t11561 = load ptr, ptr %t11548 %t11562 = getelementptr inbounds ptr, ptr %t11561, i32 %t11549 store ptr @.str8081, ptr %t11562 %t11563 = add i32 %t11549, 1 store i32 %t11563, ptr %t11546 br label %ifend2355 ifend2355: br label %ifend2352 ifend2352: %t11564 = load ptr, ptr %t0 %t11565 = call i32 @lp_str_eq(ptr %t11564, ptr @.str8082) %t11566 = icmp ne i32 %t11565, 0 br i1 %t11566, label %then2366, label %ifend2368 then2366: %t11567 = load ptr, ptr %t1 %t11568 = call i32 @lp_str_eq(ptr %t11567, ptr @.str8083) %t11569 = icmp ne i32 %t11568, 0 br i1 %t11569, label %then2369, label %ifend2371 then2369: store ptr @.str8084, ptr %t403 %t11570 = load ptr, ptr %t410 %t11571 = getelementptr inbounds %LSlice, ptr %t11570, i32 0, i32 1 %t11572 = getelementptr inbounds %LSlice, ptr %t11570, i32 0, i32 2 %t11573 = getelementptr inbounds %LSlice, ptr %t11570, i32 0, i32 0 %t11574 = load i32, ptr %t11571 %t11575 = load i32, ptr %t11572 %t11576 = icmp sge i32 %t11574, %t11575 br i1 %t11576, label %grow2372, label %put2373 grow2372: %t11577 = mul i32 %t11575, 2 %t11578 = icmp eq i32 %t11575, 0 %t11579 = select i1 %t11578, i32 8, i32 %t11577 %t11580 = getelementptr ptr, ptr null, i32 1 %t11581 = ptrtoint ptr %t11580 to i64 %t11582 = zext i32 %t11579 to i64 %t11583 = mul i64 %t11582, %t11581 %t11584 = load ptr, ptr %t11573 %t11585 = call ptr @realloc(ptr %t11584, i64 %t11583) store ptr %t11585, ptr %t11573 store i32 %t11579, ptr %t11572 br label %put2373 put2373: %t11586 = load ptr, ptr %t11573 %t11587 = getelementptr inbounds ptr, ptr %t11586, i32 %t11574 store ptr @.str8085, ptr %t11587 %t11588 = add i32 %t11574, 1 store i32 %t11588, ptr %t11571 %t11589 = load ptr, ptr %t410 %t11590 = getelementptr inbounds %LSlice, ptr %t11589, i32 0, i32 1 %t11591 = getelementptr inbounds %LSlice, ptr %t11589, i32 0, i32 2 %t11592 = getelementptr inbounds %LSlice, ptr %t11589, i32 0, i32 0 %t11593 = load i32, ptr %t11590 %t11594 = load i32, ptr %t11591 %t11595 = icmp sge i32 %t11593, %t11594 br i1 %t11595, label %grow2374, label %put2375 grow2374: %t11596 = mul i32 %t11594, 2 %t11597 = icmp eq i32 %t11594, 0 %t11598 = select i1 %t11597, i32 8, i32 %t11596 %t11599 = getelementptr ptr, ptr null, i32 1 %t11600 = ptrtoint ptr %t11599 to i64 %t11601 = zext i32 %t11598 to i64 %t11602 = mul i64 %t11601, %t11600 %t11603 = load ptr, ptr %t11592 %t11604 = call ptr @realloc(ptr %t11603, i64 %t11602) store ptr %t11604, ptr %t11592 store i32 %t11598, ptr %t11591 br label %put2375 put2375: %t11605 = load ptr, ptr %t11592 %t11606 = getelementptr inbounds ptr, ptr %t11605, i32 %t11593 store ptr @.str8086, ptr %t11606 %t11607 = add i32 %t11593, 1 store i32 %t11607, ptr %t11590 %t11608 = load ptr, ptr %t410 %t11609 = getelementptr inbounds %LSlice, ptr %t11608, i32 0, i32 1 %t11610 = getelementptr inbounds %LSlice, ptr %t11608, i32 0, i32 2 %t11611 = getelementptr inbounds %LSlice, ptr %t11608, i32 0, i32 0 %t11612 = load i32, ptr %t11609 %t11613 = load i32, ptr %t11610 %t11614 = icmp sge i32 %t11612, %t11613 br i1 %t11614, label %grow2376, label %put2377 grow2376: %t11615 = mul i32 %t11613, 2 %t11616 = icmp eq i32 %t11613, 0 %t11617 = select i1 %t11616, i32 8, i32 %t11615 %t11618 = getelementptr ptr, ptr null, i32 1 %t11619 = ptrtoint ptr %t11618 to i64 %t11620 = zext i32 %t11617 to i64 %t11621 = mul i64 %t11620, %t11619 %t11622 = load ptr, ptr %t11611 %t11623 = call ptr @realloc(ptr %t11622, i64 %t11621) store ptr %t11623, ptr %t11611 store i32 %t11617, ptr %t11610 br label %put2377 put2377: %t11624 = load ptr, ptr %t11611 %t11625 = getelementptr inbounds ptr, ptr %t11624, i32 %t11612 store ptr @.str8087, ptr %t11625 %t11626 = add i32 %t11612, 1 store i32 %t11626, ptr %t11609 %t11627 = load ptr, ptr %t410 %t11628 = getelementptr inbounds %LSlice, ptr %t11627, i32 0, i32 1 %t11629 = getelementptr inbounds %LSlice, ptr %t11627, i32 0, i32 2 %t11630 = getelementptr inbounds %LSlice, ptr %t11627, i32 0, i32 0 %t11631 = load i32, ptr %t11628 %t11632 = load i32, ptr %t11629 %t11633 = icmp sge i32 %t11631, %t11632 br i1 %t11633, label %grow2378, label %put2379 grow2378: %t11634 = mul i32 %t11632, 2 %t11635 = icmp eq i32 %t11632, 0 %t11636 = select i1 %t11635, i32 8, i32 %t11634 %t11637 = getelementptr ptr, ptr null, i32 1 %t11638 = ptrtoint ptr %t11637 to i64 %t11639 = zext i32 %t11636 to i64 %t11640 = mul i64 %t11639, %t11638 %t11641 = load ptr, ptr %t11630 %t11642 = call ptr @realloc(ptr %t11641, i64 %t11640) store ptr %t11642, ptr %t11630 store i32 %t11636, ptr %t11629 br label %put2379 put2379: %t11643 = load ptr, ptr %t11630 %t11644 = getelementptr inbounds ptr, ptr %t11643, i32 %t11631 store ptr @.str8088, ptr %t11644 %t11645 = add i32 %t11631, 1 store i32 %t11645, ptr %t11628 br label %ifend2371 ifend2371: %t11646 = load ptr, ptr %t1 %t11647 = call i32 @lp_str_eq(ptr %t11646, ptr @.str8089) %t11648 = icmp ne i32 %t11647, 0 br i1 %t11648, label %then2380, label %ifend2382 then2380: store ptr @.str8090, ptr %t403 %t11649 = load ptr, ptr %t410 %t11650 = getelementptr inbounds %LSlice, ptr %t11649, i32 0, i32 1 %t11651 = getelementptr inbounds %LSlice, ptr %t11649, i32 0, i32 2 %t11652 = getelementptr inbounds %LSlice, ptr %t11649, i32 0, i32 0 %t11653 = load i32, ptr %t11650 %t11654 = load i32, ptr %t11651 %t11655 = icmp sge i32 %t11653, %t11654 br i1 %t11655, label %grow2383, label %put2384 grow2383: %t11656 = mul i32 %t11654, 2 %t11657 = icmp eq i32 %t11654, 0 %t11658 = select i1 %t11657, i32 8, i32 %t11656 %t11659 = getelementptr ptr, ptr null, i32 1 %t11660 = ptrtoint ptr %t11659 to i64 %t11661 = zext i32 %t11658 to i64 %t11662 = mul i64 %t11661, %t11660 %t11663 = load ptr, ptr %t11652 %t11664 = call ptr @realloc(ptr %t11663, i64 %t11662) store ptr %t11664, ptr %t11652 store i32 %t11658, ptr %t11651 br label %put2384 put2384: %t11665 = load ptr, ptr %t11652 %t11666 = getelementptr inbounds ptr, ptr %t11665, i32 %t11653 store ptr @.str8091, ptr %t11666 %t11667 = add i32 %t11653, 1 store i32 %t11667, ptr %t11650 %t11668 = load ptr, ptr %t410 %t11669 = getelementptr inbounds %LSlice, ptr %t11668, i32 0, i32 1 %t11670 = getelementptr inbounds %LSlice, ptr %t11668, i32 0, i32 2 %t11671 = getelementptr inbounds %LSlice, ptr %t11668, i32 0, i32 0 %t11672 = load i32, ptr %t11669 %t11673 = load i32, ptr %t11670 %t11674 = icmp sge i32 %t11672, %t11673 br i1 %t11674, label %grow2385, label %put2386 grow2385: %t11675 = mul i32 %t11673, 2 %t11676 = icmp eq i32 %t11673, 0 %t11677 = select i1 %t11676, i32 8, i32 %t11675 %t11678 = getelementptr ptr, ptr null, i32 1 %t11679 = ptrtoint ptr %t11678 to i64 %t11680 = zext i32 %t11677 to i64 %t11681 = mul i64 %t11680, %t11679 %t11682 = load ptr, ptr %t11671 %t11683 = call ptr @realloc(ptr %t11682, i64 %t11681) store ptr %t11683, ptr %t11671 store i32 %t11677, ptr %t11670 br label %put2386 put2386: %t11684 = load ptr, ptr %t11671 %t11685 = getelementptr inbounds ptr, ptr %t11684, i32 %t11672 store ptr @.str8092, ptr %t11685 %t11686 = add i32 %t11672, 1 store i32 %t11686, ptr %t11669 %t11687 = load ptr, ptr %t410 %t11688 = getelementptr inbounds %LSlice, ptr %t11687, i32 0, i32 1 %t11689 = getelementptr inbounds %LSlice, ptr %t11687, i32 0, i32 2 %t11690 = getelementptr inbounds %LSlice, ptr %t11687, i32 0, i32 0 %t11691 = load i32, ptr %t11688 %t11692 = load i32, ptr %t11689 %t11693 = icmp sge i32 %t11691, %t11692 br i1 %t11693, label %grow2387, label %put2388 grow2387: %t11694 = mul i32 %t11692, 2 %t11695 = icmp eq i32 %t11692, 0 %t11696 = select i1 %t11695, i32 8, i32 %t11694 %t11697 = getelementptr ptr, ptr null, i32 1 %t11698 = ptrtoint ptr %t11697 to i64 %t11699 = zext i32 %t11696 to i64 %t11700 = mul i64 %t11699, %t11698 %t11701 = load ptr, ptr %t11690 %t11702 = call ptr @realloc(ptr %t11701, i64 %t11700) store ptr %t11702, ptr %t11690 store i32 %t11696, ptr %t11689 br label %put2388 put2388: %t11703 = load ptr, ptr %t11690 %t11704 = getelementptr inbounds ptr, ptr %t11703, i32 %t11691 store ptr @.str8093, ptr %t11704 %t11705 = add i32 %t11691, 1 store i32 %t11705, ptr %t11688 %t11706 = load ptr, ptr %t410 %t11707 = getelementptr inbounds %LSlice, ptr %t11706, i32 0, i32 1 %t11708 = getelementptr inbounds %LSlice, ptr %t11706, i32 0, i32 2 %t11709 = getelementptr inbounds %LSlice, ptr %t11706, i32 0, i32 0 %t11710 = load i32, ptr %t11707 %t11711 = load i32, ptr %t11708 %t11712 = icmp sge i32 %t11710, %t11711 br i1 %t11712, label %grow2389, label %put2390 grow2389: %t11713 = mul i32 %t11711, 2 %t11714 = icmp eq i32 %t11711, 0 %t11715 = select i1 %t11714, i32 8, i32 %t11713 %t11716 = getelementptr ptr, ptr null, i32 1 %t11717 = ptrtoint ptr %t11716 to i64 %t11718 = zext i32 %t11715 to i64 %t11719 = mul i64 %t11718, %t11717 %t11720 = load ptr, ptr %t11709 %t11721 = call ptr @realloc(ptr %t11720, i64 %t11719) store ptr %t11721, ptr %t11709 store i32 %t11715, ptr %t11708 br label %put2390 put2390: %t11722 = load ptr, ptr %t11709 %t11723 = getelementptr inbounds ptr, ptr %t11722, i32 %t11710 store ptr @.str8094, ptr %t11723 %t11724 = add i32 %t11710, 1 store i32 %t11724, ptr %t11707 br label %ifend2382 ifend2382: %t11725 = load ptr, ptr %t1 %t11726 = call i32 @lp_str_eq(ptr %t11725, ptr @.str8095) %t11727 = icmp ne i32 %t11726, 0 br i1 %t11727, label %then2391, label %ifend2393 then2391: store ptr @.str8096, ptr %t403 %t11728 = load ptr, ptr %t410 %t11729 = getelementptr inbounds %LSlice, ptr %t11728, i32 0, i32 1 %t11730 = getelementptr inbounds %LSlice, ptr %t11728, i32 0, i32 2 %t11731 = getelementptr inbounds %LSlice, ptr %t11728, i32 0, i32 0 %t11732 = load i32, ptr %t11729 %t11733 = load i32, ptr %t11730 %t11734 = icmp sge i32 %t11732, %t11733 br i1 %t11734, label %grow2394, label %put2395 grow2394: %t11735 = mul i32 %t11733, 2 %t11736 = icmp eq i32 %t11733, 0 %t11737 = select i1 %t11736, i32 8, i32 %t11735 %t11738 = getelementptr ptr, ptr null, i32 1 %t11739 = ptrtoint ptr %t11738 to i64 %t11740 = zext i32 %t11737 to i64 %t11741 = mul i64 %t11740, %t11739 %t11742 = load ptr, ptr %t11731 %t11743 = call ptr @realloc(ptr %t11742, i64 %t11741) store ptr %t11743, ptr %t11731 store i32 %t11737, ptr %t11730 br label %put2395 put2395: %t11744 = load ptr, ptr %t11731 %t11745 = getelementptr inbounds ptr, ptr %t11744, i32 %t11732 store ptr @.str8097, ptr %t11745 %t11746 = add i32 %t11732, 1 store i32 %t11746, ptr %t11729 %t11747 = load ptr, ptr %t410 %t11748 = getelementptr inbounds %LSlice, ptr %t11747, i32 0, i32 1 %t11749 = getelementptr inbounds %LSlice, ptr %t11747, i32 0, i32 2 %t11750 = getelementptr inbounds %LSlice, ptr %t11747, i32 0, i32 0 %t11751 = load i32, ptr %t11748 %t11752 = load i32, ptr %t11749 %t11753 = icmp sge i32 %t11751, %t11752 br i1 %t11753, label %grow2396, label %put2397 grow2396: %t11754 = mul i32 %t11752, 2 %t11755 = icmp eq i32 %t11752, 0 %t11756 = select i1 %t11755, i32 8, i32 %t11754 %t11757 = getelementptr ptr, ptr null, i32 1 %t11758 = ptrtoint ptr %t11757 to i64 %t11759 = zext i32 %t11756 to i64 %t11760 = mul i64 %t11759, %t11758 %t11761 = load ptr, ptr %t11750 %t11762 = call ptr @realloc(ptr %t11761, i64 %t11760) store ptr %t11762, ptr %t11750 store i32 %t11756, ptr %t11749 br label %put2397 put2397: %t11763 = load ptr, ptr %t11750 %t11764 = getelementptr inbounds ptr, ptr %t11763, i32 %t11751 store ptr @.str8098, ptr %t11764 %t11765 = add i32 %t11751, 1 store i32 %t11765, ptr %t11748 br label %ifend2393 ifend2393: %t11766 = load ptr, ptr %t1 %t11767 = call i32 @lp_str_eq(ptr %t11766, ptr @.str8099) %t11768 = icmp ne i32 %t11767, 0 br i1 %t11768, label %then2398, label %ifend2400 then2398: store ptr @.str8100, ptr %t403 %t11769 = load ptr, ptr %t410 %t11770 = getelementptr inbounds %LSlice, ptr %t11769, i32 0, i32 1 %t11771 = getelementptr inbounds %LSlice, ptr %t11769, i32 0, i32 2 %t11772 = getelementptr inbounds %LSlice, ptr %t11769, i32 0, i32 0 %t11773 = load i32, ptr %t11770 %t11774 = load i32, ptr %t11771 %t11775 = icmp sge i32 %t11773, %t11774 br i1 %t11775, label %grow2401, label %put2402 grow2401: %t11776 = mul i32 %t11774, 2 %t11777 = icmp eq i32 %t11774, 0 %t11778 = select i1 %t11777, i32 8, i32 %t11776 %t11779 = getelementptr ptr, ptr null, i32 1 %t11780 = ptrtoint ptr %t11779 to i64 %t11781 = zext i32 %t11778 to i64 %t11782 = mul i64 %t11781, %t11780 %t11783 = load ptr, ptr %t11772 %t11784 = call ptr @realloc(ptr %t11783, i64 %t11782) store ptr %t11784, ptr %t11772 store i32 %t11778, ptr %t11771 br label %put2402 put2402: %t11785 = load ptr, ptr %t11772 %t11786 = getelementptr inbounds ptr, ptr %t11785, i32 %t11773 store ptr @.str8101, ptr %t11786 %t11787 = add i32 %t11773, 1 store i32 %t11787, ptr %t11770 br label %ifend2400 ifend2400: %t11788 = load ptr, ptr %t1 %t11789 = call i32 @lp_str_eq(ptr %t11788, ptr @.str8102) %t11790 = icmp ne i32 %t11789, 0 br i1 %t11790, label %then2403, label %ifend2405 then2403: store ptr @.str8103, ptr %t403 %t11791 = load ptr, ptr %t410 %t11792 = getelementptr inbounds %LSlice, ptr %t11791, i32 0, i32 1 %t11793 = getelementptr inbounds %LSlice, ptr %t11791, i32 0, i32 2 %t11794 = getelementptr inbounds %LSlice, ptr %t11791, i32 0, i32 0 %t11795 = load i32, ptr %t11792 %t11796 = load i32, ptr %t11793 %t11797 = icmp sge i32 %t11795, %t11796 br i1 %t11797, label %grow2406, label %put2407 grow2406: %t11798 = mul i32 %t11796, 2 %t11799 = icmp eq i32 %t11796, 0 %t11800 = select i1 %t11799, i32 8, i32 %t11798 %t11801 = getelementptr ptr, ptr null, i32 1 %t11802 = ptrtoint ptr %t11801 to i64 %t11803 = zext i32 %t11800 to i64 %t11804 = mul i64 %t11803, %t11802 %t11805 = load ptr, ptr %t11794 %t11806 = call ptr @realloc(ptr %t11805, i64 %t11804) store ptr %t11806, ptr %t11794 store i32 %t11800, ptr %t11793 br label %put2407 put2407: %t11807 = load ptr, ptr %t11794 %t11808 = getelementptr inbounds ptr, ptr %t11807, i32 %t11795 store ptr @.str8104, ptr %t11808 %t11809 = add i32 %t11795, 1 store i32 %t11809, ptr %t11792 br label %ifend2405 ifend2405: %t11810 = load ptr, ptr %t1 %t11811 = call i32 @lp_str_eq(ptr %t11810, ptr @.str8105) %t11812 = icmp ne i32 %t11811, 0 br i1 %t11812, label %then2408, label %ifend2410 then2408: store ptr @.str8106, ptr %t403 %t11813 = load ptr, ptr %t410 %t11814 = getelementptr inbounds %LSlice, ptr %t11813, i32 0, i32 1 %t11815 = getelementptr inbounds %LSlice, ptr %t11813, i32 0, i32 2 %t11816 = getelementptr inbounds %LSlice, ptr %t11813, i32 0, i32 0 %t11817 = load i32, ptr %t11814 %t11818 = load i32, ptr %t11815 %t11819 = icmp sge i32 %t11817, %t11818 br i1 %t11819, label %grow2411, label %put2412 grow2411: %t11820 = mul i32 %t11818, 2 %t11821 = icmp eq i32 %t11818, 0 %t11822 = select i1 %t11821, i32 8, i32 %t11820 %t11823 = getelementptr ptr, ptr null, i32 1 %t11824 = ptrtoint ptr %t11823 to i64 %t11825 = zext i32 %t11822 to i64 %t11826 = mul i64 %t11825, %t11824 %t11827 = load ptr, ptr %t11816 %t11828 = call ptr @realloc(ptr %t11827, i64 %t11826) store ptr %t11828, ptr %t11816 store i32 %t11822, ptr %t11815 br label %put2412 put2412: %t11829 = load ptr, ptr %t11816 %t11830 = getelementptr inbounds ptr, ptr %t11829, i32 %t11817 store ptr @.str8107, ptr %t11830 %t11831 = add i32 %t11817, 1 store i32 %t11831, ptr %t11814 %t11832 = load ptr, ptr %t410 %t11833 = getelementptr inbounds %LSlice, ptr %t11832, i32 0, i32 1 %t11834 = getelementptr inbounds %LSlice, ptr %t11832, i32 0, i32 2 %t11835 = getelementptr inbounds %LSlice, ptr %t11832, i32 0, i32 0 %t11836 = load i32, ptr %t11833 %t11837 = load i32, ptr %t11834 %t11838 = icmp sge i32 %t11836, %t11837 br i1 %t11838, label %grow2413, label %put2414 grow2413: %t11839 = mul i32 %t11837, 2 %t11840 = icmp eq i32 %t11837, 0 %t11841 = select i1 %t11840, i32 8, i32 %t11839 %t11842 = getelementptr ptr, ptr null, i32 1 %t11843 = ptrtoint ptr %t11842 to i64 %t11844 = zext i32 %t11841 to i64 %t11845 = mul i64 %t11844, %t11843 %t11846 = load ptr, ptr %t11835 %t11847 = call ptr @realloc(ptr %t11846, i64 %t11845) store ptr %t11847, ptr %t11835 store i32 %t11841, ptr %t11834 br label %put2414 put2414: %t11848 = load ptr, ptr %t11835 %t11849 = getelementptr inbounds ptr, ptr %t11848, i32 %t11836 store ptr @.str8108, ptr %t11849 %t11850 = add i32 %t11836, 1 store i32 %t11850, ptr %t11833 br label %ifend2410 ifend2410: br label %ifend2368 ifend2368: %t11851 = load ptr, ptr %t0 %t11852 = call i32 @lp_str_eq(ptr %t11851, ptr @.str8109) %t11853 = icmp ne i32 %t11852, 0 br i1 %t11853, label %then2415, label %ifend2417 then2415: %t11854 = load ptr, ptr %t1 %t11855 = call i32 @lp_str_eq(ptr %t11854, ptr @.str8110) %t11856 = icmp ne i32 %t11855, 0 br i1 %t11856, label %then2418, label %ifend2420 then2418: store ptr @.str8111, ptr %t403 %t11857 = load ptr, ptr %t410 %t11858 = getelementptr inbounds %LSlice, ptr %t11857, i32 0, i32 1 %t11859 = getelementptr inbounds %LSlice, ptr %t11857, i32 0, i32 2 %t11860 = getelementptr inbounds %LSlice, ptr %t11857, i32 0, i32 0 %t11861 = load i32, ptr %t11858 %t11862 = load i32, ptr %t11859 %t11863 = icmp sge i32 %t11861, %t11862 br i1 %t11863, label %grow2421, label %put2422 grow2421: %t11864 = mul i32 %t11862, 2 %t11865 = icmp eq i32 %t11862, 0 %t11866 = select i1 %t11865, i32 8, i32 %t11864 %t11867 = getelementptr ptr, ptr null, i32 1 %t11868 = ptrtoint ptr %t11867 to i64 %t11869 = zext i32 %t11866 to i64 %t11870 = mul i64 %t11869, %t11868 %t11871 = load ptr, ptr %t11860 %t11872 = call ptr @realloc(ptr %t11871, i64 %t11870) store ptr %t11872, ptr %t11860 store i32 %t11866, ptr %t11859 br label %put2422 put2422: %t11873 = load ptr, ptr %t11860 %t11874 = getelementptr inbounds ptr, ptr %t11873, i32 %t11861 store ptr @.str8112, ptr %t11874 %t11875 = add i32 %t11861, 1 store i32 %t11875, ptr %t11858 br label %ifend2420 ifend2420: %t11876 = load ptr, ptr %t1 %t11877 = call i32 @lp_str_eq(ptr %t11876, ptr @.str8113) %t11878 = icmp ne i32 %t11877, 0 br i1 %t11878, label %then2423, label %ifend2425 then2423: store ptr @.str8114, ptr %t403 %t11879 = load ptr, ptr %t410 %t11880 = getelementptr inbounds %LSlice, ptr %t11879, i32 0, i32 1 %t11881 = getelementptr inbounds %LSlice, ptr %t11879, i32 0, i32 2 %t11882 = getelementptr inbounds %LSlice, ptr %t11879, i32 0, i32 0 %t11883 = load i32, ptr %t11880 %t11884 = load i32, ptr %t11881 %t11885 = icmp sge i32 %t11883, %t11884 br i1 %t11885, label %grow2426, label %put2427 grow2426: %t11886 = mul i32 %t11884, 2 %t11887 = icmp eq i32 %t11884, 0 %t11888 = select i1 %t11887, i32 8, i32 %t11886 %t11889 = getelementptr ptr, ptr null, i32 1 %t11890 = ptrtoint ptr %t11889 to i64 %t11891 = zext i32 %t11888 to i64 %t11892 = mul i64 %t11891, %t11890 %t11893 = load ptr, ptr %t11882 %t11894 = call ptr @realloc(ptr %t11893, i64 %t11892) store ptr %t11894, ptr %t11882 store i32 %t11888, ptr %t11881 br label %put2427 put2427: %t11895 = load ptr, ptr %t11882 %t11896 = getelementptr inbounds ptr, ptr %t11895, i32 %t11883 store ptr @.str8115, ptr %t11896 %t11897 = add i32 %t11883, 1 store i32 %t11897, ptr %t11880 br label %ifend2425 ifend2425: %t11898 = load ptr, ptr %t1 %t11899 = call i32 @lp_str_eq(ptr %t11898, ptr @.str8116) %t11900 = icmp ne i32 %t11899, 0 br i1 %t11900, label %then2428, label %ifend2430 then2428: store ptr @.str8117, ptr %t403 %t11901 = load ptr, ptr %t410 %t11902 = getelementptr inbounds %LSlice, ptr %t11901, i32 0, i32 1 %t11903 = getelementptr inbounds %LSlice, ptr %t11901, i32 0, i32 2 %t11904 = getelementptr inbounds %LSlice, ptr %t11901, i32 0, i32 0 %t11905 = load i32, ptr %t11902 %t11906 = load i32, ptr %t11903 %t11907 = icmp sge i32 %t11905, %t11906 br i1 %t11907, label %grow2431, label %put2432 grow2431: %t11908 = mul i32 %t11906, 2 %t11909 = icmp eq i32 %t11906, 0 %t11910 = select i1 %t11909, i32 8, i32 %t11908 %t11911 = getelementptr ptr, ptr null, i32 1 %t11912 = ptrtoint ptr %t11911 to i64 %t11913 = zext i32 %t11910 to i64 %t11914 = mul i64 %t11913, %t11912 %t11915 = load ptr, ptr %t11904 %t11916 = call ptr @realloc(ptr %t11915, i64 %t11914) store ptr %t11916, ptr %t11904 store i32 %t11910, ptr %t11903 br label %put2432 put2432: %t11917 = load ptr, ptr %t11904 %t11918 = getelementptr inbounds ptr, ptr %t11917, i32 %t11905 store ptr @.str8118, ptr %t11918 %t11919 = add i32 %t11905, 1 store i32 %t11919, ptr %t11902 %t11920 = load ptr, ptr %t410 %t11921 = getelementptr inbounds %LSlice, ptr %t11920, i32 0, i32 1 %t11922 = getelementptr inbounds %LSlice, ptr %t11920, i32 0, i32 2 %t11923 = getelementptr inbounds %LSlice, ptr %t11920, i32 0, i32 0 %t11924 = load i32, ptr %t11921 %t11925 = load i32, ptr %t11922 %t11926 = icmp sge i32 %t11924, %t11925 br i1 %t11926, label %grow2433, label %put2434 grow2433: %t11927 = mul i32 %t11925, 2 %t11928 = icmp eq i32 %t11925, 0 %t11929 = select i1 %t11928, i32 8, i32 %t11927 %t11930 = getelementptr ptr, ptr null, i32 1 %t11931 = ptrtoint ptr %t11930 to i64 %t11932 = zext i32 %t11929 to i64 %t11933 = mul i64 %t11932, %t11931 %t11934 = load ptr, ptr %t11923 %t11935 = call ptr @realloc(ptr %t11934, i64 %t11933) store ptr %t11935, ptr %t11923 store i32 %t11929, ptr %t11922 br label %put2434 put2434: %t11936 = load ptr, ptr %t11923 %t11937 = getelementptr inbounds ptr, ptr %t11936, i32 %t11924 store ptr @.str8119, ptr %t11937 %t11938 = add i32 %t11924, 1 store i32 %t11938, ptr %t11921 %t11939 = load ptr, ptr %t410 %t11940 = getelementptr inbounds %LSlice, ptr %t11939, i32 0, i32 1 %t11941 = getelementptr inbounds %LSlice, ptr %t11939, i32 0, i32 2 %t11942 = getelementptr inbounds %LSlice, ptr %t11939, i32 0, i32 0 %t11943 = load i32, ptr %t11940 %t11944 = load i32, ptr %t11941 %t11945 = icmp sge i32 %t11943, %t11944 br i1 %t11945, label %grow2435, label %put2436 grow2435: %t11946 = mul i32 %t11944, 2 %t11947 = icmp eq i32 %t11944, 0 %t11948 = select i1 %t11947, i32 8, i32 %t11946 %t11949 = getelementptr ptr, ptr null, i32 1 %t11950 = ptrtoint ptr %t11949 to i64 %t11951 = zext i32 %t11948 to i64 %t11952 = mul i64 %t11951, %t11950 %t11953 = load ptr, ptr %t11942 %t11954 = call ptr @realloc(ptr %t11953, i64 %t11952) store ptr %t11954, ptr %t11942 store i32 %t11948, ptr %t11941 br label %put2436 put2436: %t11955 = load ptr, ptr %t11942 %t11956 = getelementptr inbounds ptr, ptr %t11955, i32 %t11943 store ptr @.str8120, ptr %t11956 %t11957 = add i32 %t11943, 1 store i32 %t11957, ptr %t11940 %t11958 = load ptr, ptr %t410 %t11959 = getelementptr inbounds %LSlice, ptr %t11958, i32 0, i32 1 %t11960 = getelementptr inbounds %LSlice, ptr %t11958, i32 0, i32 2 %t11961 = getelementptr inbounds %LSlice, ptr %t11958, i32 0, i32 0 %t11962 = load i32, ptr %t11959 %t11963 = load i32, ptr %t11960 %t11964 = icmp sge i32 %t11962, %t11963 br i1 %t11964, label %grow2437, label %put2438 grow2437: %t11965 = mul i32 %t11963, 2 %t11966 = icmp eq i32 %t11963, 0 %t11967 = select i1 %t11966, i32 8, i32 %t11965 %t11968 = getelementptr ptr, ptr null, i32 1 %t11969 = ptrtoint ptr %t11968 to i64 %t11970 = zext i32 %t11967 to i64 %t11971 = mul i64 %t11970, %t11969 %t11972 = load ptr, ptr %t11961 %t11973 = call ptr @realloc(ptr %t11972, i64 %t11971) store ptr %t11973, ptr %t11961 store i32 %t11967, ptr %t11960 br label %put2438 put2438: %t11974 = load ptr, ptr %t11961 %t11975 = getelementptr inbounds ptr, ptr %t11974, i32 %t11962 store ptr @.str8121, ptr %t11975 %t11976 = add i32 %t11962, 1 store i32 %t11976, ptr %t11959 %t11977 = load ptr, ptr %t410 %t11978 = getelementptr inbounds %LSlice, ptr %t11977, i32 0, i32 1 %t11979 = getelementptr inbounds %LSlice, ptr %t11977, i32 0, i32 2 %t11980 = getelementptr inbounds %LSlice, ptr %t11977, i32 0, i32 0 %t11981 = load i32, ptr %t11978 %t11982 = load i32, ptr %t11979 %t11983 = icmp sge i32 %t11981, %t11982 br i1 %t11983, label %grow2439, label %put2440 grow2439: %t11984 = mul i32 %t11982, 2 %t11985 = icmp eq i32 %t11982, 0 %t11986 = select i1 %t11985, i32 8, i32 %t11984 %t11987 = getelementptr ptr, ptr null, i32 1 %t11988 = ptrtoint ptr %t11987 to i64 %t11989 = zext i32 %t11986 to i64 %t11990 = mul i64 %t11989, %t11988 %t11991 = load ptr, ptr %t11980 %t11992 = call ptr @realloc(ptr %t11991, i64 %t11990) store ptr %t11992, ptr %t11980 store i32 %t11986, ptr %t11979 br label %put2440 put2440: %t11993 = load ptr, ptr %t11980 %t11994 = getelementptr inbounds ptr, ptr %t11993, i32 %t11981 store ptr @.str8122, ptr %t11994 %t11995 = add i32 %t11981, 1 store i32 %t11995, ptr %t11978 %t11996 = load ptr, ptr %t410 %t11997 = getelementptr inbounds %LSlice, ptr %t11996, i32 0, i32 1 %t11998 = getelementptr inbounds %LSlice, ptr %t11996, i32 0, i32 2 %t11999 = getelementptr inbounds %LSlice, ptr %t11996, i32 0, i32 0 %t12000 = load i32, ptr %t11997 %t12001 = load i32, ptr %t11998 %t12002 = icmp sge i32 %t12000, %t12001 br i1 %t12002, label %grow2441, label %put2442 grow2441: %t12003 = mul i32 %t12001, 2 %t12004 = icmp eq i32 %t12001, 0 %t12005 = select i1 %t12004, i32 8, i32 %t12003 %t12006 = getelementptr ptr, ptr null, i32 1 %t12007 = ptrtoint ptr %t12006 to i64 %t12008 = zext i32 %t12005 to i64 %t12009 = mul i64 %t12008, %t12007 %t12010 = load ptr, ptr %t11999 %t12011 = call ptr @realloc(ptr %t12010, i64 %t12009) store ptr %t12011, ptr %t11999 store i32 %t12005, ptr %t11998 br label %put2442 put2442: %t12012 = load ptr, ptr %t11999 %t12013 = getelementptr inbounds ptr, ptr %t12012, i32 %t12000 store ptr @.str8123, ptr %t12013 %t12014 = add i32 %t12000, 1 store i32 %t12014, ptr %t11997 br label %ifend2430 ifend2430: %t12015 = load ptr, ptr %t1 %t12016 = call i32 @lp_str_eq(ptr %t12015, ptr @.str8124) %t12017 = icmp ne i32 %t12016, 0 br i1 %t12017, label %then2443, label %ifend2445 then2443: store ptr @.str8125, ptr %t403 %t12018 = load ptr, ptr %t410 %t12019 = getelementptr inbounds %LSlice, ptr %t12018, i32 0, i32 1 %t12020 = getelementptr inbounds %LSlice, ptr %t12018, i32 0, i32 2 %t12021 = getelementptr inbounds %LSlice, ptr %t12018, i32 0, i32 0 %t12022 = load i32, ptr %t12019 %t12023 = load i32, ptr %t12020 %t12024 = icmp sge i32 %t12022, %t12023 br i1 %t12024, label %grow2446, label %put2447 grow2446: %t12025 = mul i32 %t12023, 2 %t12026 = icmp eq i32 %t12023, 0 %t12027 = select i1 %t12026, i32 8, i32 %t12025 %t12028 = getelementptr ptr, ptr null, i32 1 %t12029 = ptrtoint ptr %t12028 to i64 %t12030 = zext i32 %t12027 to i64 %t12031 = mul i64 %t12030, %t12029 %t12032 = load ptr, ptr %t12021 %t12033 = call ptr @realloc(ptr %t12032, i64 %t12031) store ptr %t12033, ptr %t12021 store i32 %t12027, ptr %t12020 br label %put2447 put2447: %t12034 = load ptr, ptr %t12021 %t12035 = getelementptr inbounds ptr, ptr %t12034, i32 %t12022 store ptr @.str8126, ptr %t12035 %t12036 = add i32 %t12022, 1 store i32 %t12036, ptr %t12019 %t12037 = load ptr, ptr %t410 %t12038 = getelementptr inbounds %LSlice, ptr %t12037, i32 0, i32 1 %t12039 = getelementptr inbounds %LSlice, ptr %t12037, i32 0, i32 2 %t12040 = getelementptr inbounds %LSlice, ptr %t12037, i32 0, i32 0 %t12041 = load i32, ptr %t12038 %t12042 = load i32, ptr %t12039 %t12043 = icmp sge i32 %t12041, %t12042 br i1 %t12043, label %grow2448, label %put2449 grow2448: %t12044 = mul i32 %t12042, 2 %t12045 = icmp eq i32 %t12042, 0 %t12046 = select i1 %t12045, i32 8, i32 %t12044 %t12047 = getelementptr ptr, ptr null, i32 1 %t12048 = ptrtoint ptr %t12047 to i64 %t12049 = zext i32 %t12046 to i64 %t12050 = mul i64 %t12049, %t12048 %t12051 = load ptr, ptr %t12040 %t12052 = call ptr @realloc(ptr %t12051, i64 %t12050) store ptr %t12052, ptr %t12040 store i32 %t12046, ptr %t12039 br label %put2449 put2449: %t12053 = load ptr, ptr %t12040 %t12054 = getelementptr inbounds ptr, ptr %t12053, i32 %t12041 store ptr @.str8127, ptr %t12054 %t12055 = add i32 %t12041, 1 store i32 %t12055, ptr %t12038 %t12056 = load ptr, ptr %t410 %t12057 = getelementptr inbounds %LSlice, ptr %t12056, i32 0, i32 1 %t12058 = getelementptr inbounds %LSlice, ptr %t12056, i32 0, i32 2 %t12059 = getelementptr inbounds %LSlice, ptr %t12056, i32 0, i32 0 %t12060 = load i32, ptr %t12057 %t12061 = load i32, ptr %t12058 %t12062 = icmp sge i32 %t12060, %t12061 br i1 %t12062, label %grow2450, label %put2451 grow2450: %t12063 = mul i32 %t12061, 2 %t12064 = icmp eq i32 %t12061, 0 %t12065 = select i1 %t12064, i32 8, i32 %t12063 %t12066 = getelementptr ptr, ptr null, i32 1 %t12067 = ptrtoint ptr %t12066 to i64 %t12068 = zext i32 %t12065 to i64 %t12069 = mul i64 %t12068, %t12067 %t12070 = load ptr, ptr %t12059 %t12071 = call ptr @realloc(ptr %t12070, i64 %t12069) store ptr %t12071, ptr %t12059 store i32 %t12065, ptr %t12058 br label %put2451 put2451: %t12072 = load ptr, ptr %t12059 %t12073 = getelementptr inbounds ptr, ptr %t12072, i32 %t12060 store ptr @.str8128, ptr %t12073 %t12074 = add i32 %t12060, 1 store i32 %t12074, ptr %t12057 %t12075 = load ptr, ptr %t410 %t12076 = getelementptr inbounds %LSlice, ptr %t12075, i32 0, i32 1 %t12077 = getelementptr inbounds %LSlice, ptr %t12075, i32 0, i32 2 %t12078 = getelementptr inbounds %LSlice, ptr %t12075, i32 0, i32 0 %t12079 = load i32, ptr %t12076 %t12080 = load i32, ptr %t12077 %t12081 = icmp sge i32 %t12079, %t12080 br i1 %t12081, label %grow2452, label %put2453 grow2452: %t12082 = mul i32 %t12080, 2 %t12083 = icmp eq i32 %t12080, 0 %t12084 = select i1 %t12083, i32 8, i32 %t12082 %t12085 = getelementptr ptr, ptr null, i32 1 %t12086 = ptrtoint ptr %t12085 to i64 %t12087 = zext i32 %t12084 to i64 %t12088 = mul i64 %t12087, %t12086 %t12089 = load ptr, ptr %t12078 %t12090 = call ptr @realloc(ptr %t12089, i64 %t12088) store ptr %t12090, ptr %t12078 store i32 %t12084, ptr %t12077 br label %put2453 put2453: %t12091 = load ptr, ptr %t12078 %t12092 = getelementptr inbounds ptr, ptr %t12091, i32 %t12079 store ptr @.str8129, ptr %t12092 %t12093 = add i32 %t12079, 1 store i32 %t12093, ptr %t12076 %t12094 = load ptr, ptr %t410 %t12095 = getelementptr inbounds %LSlice, ptr %t12094, i32 0, i32 1 %t12096 = getelementptr inbounds %LSlice, ptr %t12094, i32 0, i32 2 %t12097 = getelementptr inbounds %LSlice, ptr %t12094, i32 0, i32 0 %t12098 = load i32, ptr %t12095 %t12099 = load i32, ptr %t12096 %t12100 = icmp sge i32 %t12098, %t12099 br i1 %t12100, label %grow2454, label %put2455 grow2454: %t12101 = mul i32 %t12099, 2 %t12102 = icmp eq i32 %t12099, 0 %t12103 = select i1 %t12102, i32 8, i32 %t12101 %t12104 = getelementptr ptr, ptr null, i32 1 %t12105 = ptrtoint ptr %t12104 to i64 %t12106 = zext i32 %t12103 to i64 %t12107 = mul i64 %t12106, %t12105 %t12108 = load ptr, ptr %t12097 %t12109 = call ptr @realloc(ptr %t12108, i64 %t12107) store ptr %t12109, ptr %t12097 store i32 %t12103, ptr %t12096 br label %put2455 put2455: %t12110 = load ptr, ptr %t12097 %t12111 = getelementptr inbounds ptr, ptr %t12110, i32 %t12098 store ptr @.str8130, ptr %t12111 %t12112 = add i32 %t12098, 1 store i32 %t12112, ptr %t12095 %t12113 = load ptr, ptr %t410 %t12114 = getelementptr inbounds %LSlice, ptr %t12113, i32 0, i32 1 %t12115 = getelementptr inbounds %LSlice, ptr %t12113, i32 0, i32 2 %t12116 = getelementptr inbounds %LSlice, ptr %t12113, i32 0, i32 0 %t12117 = load i32, ptr %t12114 %t12118 = load i32, ptr %t12115 %t12119 = icmp sge i32 %t12117, %t12118 br i1 %t12119, label %grow2456, label %put2457 grow2456: %t12120 = mul i32 %t12118, 2 %t12121 = icmp eq i32 %t12118, 0 %t12122 = select i1 %t12121, i32 8, i32 %t12120 %t12123 = getelementptr ptr, ptr null, i32 1 %t12124 = ptrtoint ptr %t12123 to i64 %t12125 = zext i32 %t12122 to i64 %t12126 = mul i64 %t12125, %t12124 %t12127 = load ptr, ptr %t12116 %t12128 = call ptr @realloc(ptr %t12127, i64 %t12126) store ptr %t12128, ptr %t12116 store i32 %t12122, ptr %t12115 br label %put2457 put2457: %t12129 = load ptr, ptr %t12116 %t12130 = getelementptr inbounds ptr, ptr %t12129, i32 %t12117 store ptr @.str8131, ptr %t12130 %t12131 = add i32 %t12117, 1 store i32 %t12131, ptr %t12114 %t12132 = load ptr, ptr %t410 %t12133 = getelementptr inbounds %LSlice, ptr %t12132, i32 0, i32 1 %t12134 = getelementptr inbounds %LSlice, ptr %t12132, i32 0, i32 2 %t12135 = getelementptr inbounds %LSlice, ptr %t12132, i32 0, i32 0 %t12136 = load i32, ptr %t12133 %t12137 = load i32, ptr %t12134 %t12138 = icmp sge i32 %t12136, %t12137 br i1 %t12138, label %grow2458, label %put2459 grow2458: %t12139 = mul i32 %t12137, 2 %t12140 = icmp eq i32 %t12137, 0 %t12141 = select i1 %t12140, i32 8, i32 %t12139 %t12142 = getelementptr ptr, ptr null, i32 1 %t12143 = ptrtoint ptr %t12142 to i64 %t12144 = zext i32 %t12141 to i64 %t12145 = mul i64 %t12144, %t12143 %t12146 = load ptr, ptr %t12135 %t12147 = call ptr @realloc(ptr %t12146, i64 %t12145) store ptr %t12147, ptr %t12135 store i32 %t12141, ptr %t12134 br label %put2459 put2459: %t12148 = load ptr, ptr %t12135 %t12149 = getelementptr inbounds ptr, ptr %t12148, i32 %t12136 store ptr @.str8132, ptr %t12149 %t12150 = add i32 %t12136, 1 store i32 %t12150, ptr %t12133 br label %ifend2445 ifend2445: br label %ifend2417 ifend2417: %t12151 = load ptr, ptr %t0 %t12152 = call i32 @lp_str_eq(ptr %t12151, ptr @.str8133) %t12153 = icmp ne i32 %t12152, 0 br i1 %t12153, label %then2460, label %ifend2462 then2460: %t12154 = load ptr, ptr %t1 %t12155 = call i32 @lp_str_eq(ptr %t12154, ptr @.str8134) %t12156 = icmp ne i32 %t12155, 0 br i1 %t12156, label %then2463, label %ifend2465 then2463: store ptr @.str8135, ptr %t403 %t12157 = load ptr, ptr %t410 %t12158 = getelementptr inbounds %LSlice, ptr %t12157, i32 0, i32 1 %t12159 = getelementptr inbounds %LSlice, ptr %t12157, i32 0, i32 2 %t12160 = getelementptr inbounds %LSlice, ptr %t12157, i32 0, i32 0 %t12161 = load i32, ptr %t12158 %t12162 = load i32, ptr %t12159 %t12163 = icmp sge i32 %t12161, %t12162 br i1 %t12163, label %grow2466, label %put2467 grow2466: %t12164 = mul i32 %t12162, 2 %t12165 = icmp eq i32 %t12162, 0 %t12166 = select i1 %t12165, i32 8, i32 %t12164 %t12167 = getelementptr ptr, ptr null, i32 1 %t12168 = ptrtoint ptr %t12167 to i64 %t12169 = zext i32 %t12166 to i64 %t12170 = mul i64 %t12169, %t12168 %t12171 = load ptr, ptr %t12160 %t12172 = call ptr @realloc(ptr %t12171, i64 %t12170) store ptr %t12172, ptr %t12160 store i32 %t12166, ptr %t12159 br label %put2467 put2467: %t12173 = load ptr, ptr %t12160 %t12174 = getelementptr inbounds ptr, ptr %t12173, i32 %t12161 store ptr @.str8136, ptr %t12174 %t12175 = add i32 %t12161, 1 store i32 %t12175, ptr %t12158 br label %ifend2465 ifend2465: %t12176 = load ptr, ptr %t1 %t12177 = call i32 @lp_str_eq(ptr %t12176, ptr @.str8137) %t12178 = icmp ne i32 %t12177, 0 br i1 %t12178, label %then2468, label %ifend2470 then2468: store ptr @.str8138, ptr %t403 %t12179 = load ptr, ptr %t410 %t12180 = getelementptr inbounds %LSlice, ptr %t12179, i32 0, i32 1 %t12181 = getelementptr inbounds %LSlice, ptr %t12179, i32 0, i32 2 %t12182 = getelementptr inbounds %LSlice, ptr %t12179, i32 0, i32 0 %t12183 = load i32, ptr %t12180 %t12184 = load i32, ptr %t12181 %t12185 = icmp sge i32 %t12183, %t12184 br i1 %t12185, label %grow2471, label %put2472 grow2471: %t12186 = mul i32 %t12184, 2 %t12187 = icmp eq i32 %t12184, 0 %t12188 = select i1 %t12187, i32 8, i32 %t12186 %t12189 = getelementptr ptr, ptr null, i32 1 %t12190 = ptrtoint ptr %t12189 to i64 %t12191 = zext i32 %t12188 to i64 %t12192 = mul i64 %t12191, %t12190 %t12193 = load ptr, ptr %t12182 %t12194 = call ptr @realloc(ptr %t12193, i64 %t12192) store ptr %t12194, ptr %t12182 store i32 %t12188, ptr %t12181 br label %put2472 put2472: %t12195 = load ptr, ptr %t12182 %t12196 = getelementptr inbounds ptr, ptr %t12195, i32 %t12183 store ptr @.str8139, ptr %t12196 %t12197 = add i32 %t12183, 1 store i32 %t12197, ptr %t12180 %t12198 = load ptr, ptr %t410 %t12199 = getelementptr inbounds %LSlice, ptr %t12198, i32 0, i32 1 %t12200 = getelementptr inbounds %LSlice, ptr %t12198, i32 0, i32 2 %t12201 = getelementptr inbounds %LSlice, ptr %t12198, i32 0, i32 0 %t12202 = load i32, ptr %t12199 %t12203 = load i32, ptr %t12200 %t12204 = icmp sge i32 %t12202, %t12203 br i1 %t12204, label %grow2473, label %put2474 grow2473: %t12205 = mul i32 %t12203, 2 %t12206 = icmp eq i32 %t12203, 0 %t12207 = select i1 %t12206, i32 8, i32 %t12205 %t12208 = getelementptr ptr, ptr null, i32 1 %t12209 = ptrtoint ptr %t12208 to i64 %t12210 = zext i32 %t12207 to i64 %t12211 = mul i64 %t12210, %t12209 %t12212 = load ptr, ptr %t12201 %t12213 = call ptr @realloc(ptr %t12212, i64 %t12211) store ptr %t12213, ptr %t12201 store i32 %t12207, ptr %t12200 br label %put2474 put2474: %t12214 = load ptr, ptr %t12201 %t12215 = getelementptr inbounds ptr, ptr %t12214, i32 %t12202 store ptr @.str8140, ptr %t12215 %t12216 = add i32 %t12202, 1 store i32 %t12216, ptr %t12199 br label %ifend2470 ifend2470: %t12217 = load ptr, ptr %t1 %t12218 = call i32 @lp_str_eq(ptr %t12217, ptr @.str8141) %t12219 = icmp ne i32 %t12218, 0 br i1 %t12219, label %then2475, label %ifend2477 then2475: store ptr @.str8142, ptr %t403 br label %ifend2477 ifend2477: %t12220 = load ptr, ptr %t1 %t12221 = call i32 @lp_str_eq(ptr %t12220, ptr @.str8143) %t12222 = icmp ne i32 %t12221, 0 br i1 %t12222, label %then2478, label %ifend2480 then2478: store ptr @.str8144, ptr %t403 %t12223 = load ptr, ptr %t410 %t12224 = getelementptr inbounds %LSlice, ptr %t12223, i32 0, i32 1 %t12225 = getelementptr inbounds %LSlice, ptr %t12223, i32 0, i32 2 %t12226 = getelementptr inbounds %LSlice, ptr %t12223, i32 0, i32 0 %t12227 = load i32, ptr %t12224 %t12228 = load i32, ptr %t12225 %t12229 = icmp sge i32 %t12227, %t12228 br i1 %t12229, label %grow2481, label %put2482 grow2481: %t12230 = mul i32 %t12228, 2 %t12231 = icmp eq i32 %t12228, 0 %t12232 = select i1 %t12231, i32 8, i32 %t12230 %t12233 = getelementptr ptr, ptr null, i32 1 %t12234 = ptrtoint ptr %t12233 to i64 %t12235 = zext i32 %t12232 to i64 %t12236 = mul i64 %t12235, %t12234 %t12237 = load ptr, ptr %t12226 %t12238 = call ptr @realloc(ptr %t12237, i64 %t12236) store ptr %t12238, ptr %t12226 store i32 %t12232, ptr %t12225 br label %put2482 put2482: %t12239 = load ptr, ptr %t12226 %t12240 = getelementptr inbounds ptr, ptr %t12239, i32 %t12227 store ptr @.str8145, ptr %t12240 %t12241 = add i32 %t12227, 1 store i32 %t12241, ptr %t12224 br label %ifend2480 ifend2480: %t12242 = load ptr, ptr %t1 %t12243 = call i32 @lp_str_eq(ptr %t12242, ptr @.str8146) %t12244 = icmp ne i32 %t12243, 0 br i1 %t12244, label %then2483, label %ifend2485 then2483: store ptr @.str8147, ptr %t403 %t12245 = load ptr, ptr %t410 %t12246 = getelementptr inbounds %LSlice, ptr %t12245, i32 0, i32 1 %t12247 = getelementptr inbounds %LSlice, ptr %t12245, i32 0, i32 2 %t12248 = getelementptr inbounds %LSlice, ptr %t12245, i32 0, i32 0 %t12249 = load i32, ptr %t12246 %t12250 = load i32, ptr %t12247 %t12251 = icmp sge i32 %t12249, %t12250 br i1 %t12251, label %grow2486, label %put2487 grow2486: %t12252 = mul i32 %t12250, 2 %t12253 = icmp eq i32 %t12250, 0 %t12254 = select i1 %t12253, i32 8, i32 %t12252 %t12255 = getelementptr ptr, ptr null, i32 1 %t12256 = ptrtoint ptr %t12255 to i64 %t12257 = zext i32 %t12254 to i64 %t12258 = mul i64 %t12257, %t12256 %t12259 = load ptr, ptr %t12248 %t12260 = call ptr @realloc(ptr %t12259, i64 %t12258) store ptr %t12260, ptr %t12248 store i32 %t12254, ptr %t12247 br label %put2487 put2487: %t12261 = load ptr, ptr %t12248 %t12262 = getelementptr inbounds ptr, ptr %t12261, i32 %t12249 store ptr @.str8148, ptr %t12262 %t12263 = add i32 %t12249, 1 store i32 %t12263, ptr %t12246 br label %ifend2485 ifend2485: %t12264 = load ptr, ptr %t1 %t12265 = call i32 @lp_str_eq(ptr %t12264, ptr @.str8149) %t12266 = icmp ne i32 %t12265, 0 br i1 %t12266, label %then2488, label %ifend2490 then2488: store ptr @.str8150, ptr %t403 %t12267 = load ptr, ptr %t410 %t12268 = getelementptr inbounds %LSlice, ptr %t12267, i32 0, i32 1 %t12269 = getelementptr inbounds %LSlice, ptr %t12267, i32 0, i32 2 %t12270 = getelementptr inbounds %LSlice, ptr %t12267, i32 0, i32 0 %t12271 = load i32, ptr %t12268 %t12272 = load i32, ptr %t12269 %t12273 = icmp sge i32 %t12271, %t12272 br i1 %t12273, label %grow2491, label %put2492 grow2491: %t12274 = mul i32 %t12272, 2 %t12275 = icmp eq i32 %t12272, 0 %t12276 = select i1 %t12275, i32 8, i32 %t12274 %t12277 = getelementptr ptr, ptr null, i32 1 %t12278 = ptrtoint ptr %t12277 to i64 %t12279 = zext i32 %t12276 to i64 %t12280 = mul i64 %t12279, %t12278 %t12281 = load ptr, ptr %t12270 %t12282 = call ptr @realloc(ptr %t12281, i64 %t12280) store ptr %t12282, ptr %t12270 store i32 %t12276, ptr %t12269 br label %put2492 put2492: %t12283 = load ptr, ptr %t12270 %t12284 = getelementptr inbounds ptr, ptr %t12283, i32 %t12271 store ptr @.str8151, ptr %t12284 %t12285 = add i32 %t12271, 1 store i32 %t12285, ptr %t12268 %t12286 = load ptr, ptr %t410 %t12287 = getelementptr inbounds %LSlice, ptr %t12286, i32 0, i32 1 %t12288 = getelementptr inbounds %LSlice, ptr %t12286, i32 0, i32 2 %t12289 = getelementptr inbounds %LSlice, ptr %t12286, i32 0, i32 0 %t12290 = load i32, ptr %t12287 %t12291 = load i32, ptr %t12288 %t12292 = icmp sge i32 %t12290, %t12291 br i1 %t12292, label %grow2493, label %put2494 grow2493: %t12293 = mul i32 %t12291, 2 %t12294 = icmp eq i32 %t12291, 0 %t12295 = select i1 %t12294, i32 8, i32 %t12293 %t12296 = getelementptr ptr, ptr null, i32 1 %t12297 = ptrtoint ptr %t12296 to i64 %t12298 = zext i32 %t12295 to i64 %t12299 = mul i64 %t12298, %t12297 %t12300 = load ptr, ptr %t12289 %t12301 = call ptr @realloc(ptr %t12300, i64 %t12299) store ptr %t12301, ptr %t12289 store i32 %t12295, ptr %t12288 br label %put2494 put2494: %t12302 = load ptr, ptr %t12289 %t12303 = getelementptr inbounds ptr, ptr %t12302, i32 %t12290 store ptr @.str8152, ptr %t12303 %t12304 = add i32 %t12290, 1 store i32 %t12304, ptr %t12287 br label %ifend2490 ifend2490: %t12305 = load ptr, ptr %t1 %t12306 = call i32 @lp_str_eq(ptr %t12305, ptr @.str8153) %t12307 = icmp ne i32 %t12306, 0 br i1 %t12307, label %then2495, label %ifend2497 then2495: store ptr @.str8154, ptr %t403 %t12308 = load ptr, ptr %t410 %t12309 = getelementptr inbounds %LSlice, ptr %t12308, i32 0, i32 1 %t12310 = getelementptr inbounds %LSlice, ptr %t12308, i32 0, i32 2 %t12311 = getelementptr inbounds %LSlice, ptr %t12308, i32 0, i32 0 %t12312 = load i32, ptr %t12309 %t12313 = load i32, ptr %t12310 %t12314 = icmp sge i32 %t12312, %t12313 br i1 %t12314, label %grow2498, label %put2499 grow2498: %t12315 = mul i32 %t12313, 2 %t12316 = icmp eq i32 %t12313, 0 %t12317 = select i1 %t12316, i32 8, i32 %t12315 %t12318 = getelementptr ptr, ptr null, i32 1 %t12319 = ptrtoint ptr %t12318 to i64 %t12320 = zext i32 %t12317 to i64 %t12321 = mul i64 %t12320, %t12319 %t12322 = load ptr, ptr %t12311 %t12323 = call ptr @realloc(ptr %t12322, i64 %t12321) store ptr %t12323, ptr %t12311 store i32 %t12317, ptr %t12310 br label %put2499 put2499: %t12324 = load ptr, ptr %t12311 %t12325 = getelementptr inbounds ptr, ptr %t12324, i32 %t12312 store ptr @.str8155, ptr %t12325 %t12326 = add i32 %t12312, 1 store i32 %t12326, ptr %t12309 %t12327 = load ptr, ptr %t410 %t12328 = getelementptr inbounds %LSlice, ptr %t12327, i32 0, i32 1 %t12329 = getelementptr inbounds %LSlice, ptr %t12327, i32 0, i32 2 %t12330 = getelementptr inbounds %LSlice, ptr %t12327, i32 0, i32 0 %t12331 = load i32, ptr %t12328 %t12332 = load i32, ptr %t12329 %t12333 = icmp sge i32 %t12331, %t12332 br i1 %t12333, label %grow2500, label %put2501 grow2500: %t12334 = mul i32 %t12332, 2 %t12335 = icmp eq i32 %t12332, 0 %t12336 = select i1 %t12335, i32 8, i32 %t12334 %t12337 = getelementptr ptr, ptr null, i32 1 %t12338 = ptrtoint ptr %t12337 to i64 %t12339 = zext i32 %t12336 to i64 %t12340 = mul i64 %t12339, %t12338 %t12341 = load ptr, ptr %t12330 %t12342 = call ptr @realloc(ptr %t12341, i64 %t12340) store ptr %t12342, ptr %t12330 store i32 %t12336, ptr %t12329 br label %put2501 put2501: %t12343 = load ptr, ptr %t12330 %t12344 = getelementptr inbounds ptr, ptr %t12343, i32 %t12331 store ptr @.str8156, ptr %t12344 %t12345 = add i32 %t12331, 1 store i32 %t12345, ptr %t12328 br label %ifend2497 ifend2497: %t12346 = load ptr, ptr %t1 %t12347 = call i32 @lp_str_eq(ptr %t12346, ptr @.str8157) %t12348 = icmp ne i32 %t12347, 0 br i1 %t12348, label %then2502, label %ifend2504 then2502: store ptr @.str8158, ptr %t403 %t12349 = load ptr, ptr %t410 %t12350 = getelementptr inbounds %LSlice, ptr %t12349, i32 0, i32 1 %t12351 = getelementptr inbounds %LSlice, ptr %t12349, i32 0, i32 2 %t12352 = getelementptr inbounds %LSlice, ptr %t12349, i32 0, i32 0 %t12353 = load i32, ptr %t12350 %t12354 = load i32, ptr %t12351 %t12355 = icmp sge i32 %t12353, %t12354 br i1 %t12355, label %grow2505, label %put2506 grow2505: %t12356 = mul i32 %t12354, 2 %t12357 = icmp eq i32 %t12354, 0 %t12358 = select i1 %t12357, i32 8, i32 %t12356 %t12359 = getelementptr ptr, ptr null, i32 1 %t12360 = ptrtoint ptr %t12359 to i64 %t12361 = zext i32 %t12358 to i64 %t12362 = mul i64 %t12361, %t12360 %t12363 = load ptr, ptr %t12352 %t12364 = call ptr @realloc(ptr %t12363, i64 %t12362) store ptr %t12364, ptr %t12352 store i32 %t12358, ptr %t12351 br label %put2506 put2506: %t12365 = load ptr, ptr %t12352 %t12366 = getelementptr inbounds ptr, ptr %t12365, i32 %t12353 store ptr @.str8159, ptr %t12366 %t12367 = add i32 %t12353, 1 store i32 %t12367, ptr %t12350 %t12368 = load ptr, ptr %t410 %t12369 = getelementptr inbounds %LSlice, ptr %t12368, i32 0, i32 1 %t12370 = getelementptr inbounds %LSlice, ptr %t12368, i32 0, i32 2 %t12371 = getelementptr inbounds %LSlice, ptr %t12368, i32 0, i32 0 %t12372 = load i32, ptr %t12369 %t12373 = load i32, ptr %t12370 %t12374 = icmp sge i32 %t12372, %t12373 br i1 %t12374, label %grow2507, label %put2508 grow2507: %t12375 = mul i32 %t12373, 2 %t12376 = icmp eq i32 %t12373, 0 %t12377 = select i1 %t12376, i32 8, i32 %t12375 %t12378 = getelementptr ptr, ptr null, i32 1 %t12379 = ptrtoint ptr %t12378 to i64 %t12380 = zext i32 %t12377 to i64 %t12381 = mul i64 %t12380, %t12379 %t12382 = load ptr, ptr %t12371 %t12383 = call ptr @realloc(ptr %t12382, i64 %t12381) store ptr %t12383, ptr %t12371 store i32 %t12377, ptr %t12370 br label %put2508 put2508: %t12384 = load ptr, ptr %t12371 %t12385 = getelementptr inbounds ptr, ptr %t12384, i32 %t12372 store ptr @.str8160, ptr %t12385 %t12386 = add i32 %t12372, 1 store i32 %t12386, ptr %t12369 %t12387 = load ptr, ptr %t410 %t12388 = getelementptr inbounds %LSlice, ptr %t12387, i32 0, i32 1 %t12389 = getelementptr inbounds %LSlice, ptr %t12387, i32 0, i32 2 %t12390 = getelementptr inbounds %LSlice, ptr %t12387, i32 0, i32 0 %t12391 = load i32, ptr %t12388 %t12392 = load i32, ptr %t12389 %t12393 = icmp sge i32 %t12391, %t12392 br i1 %t12393, label %grow2509, label %put2510 grow2509: %t12394 = mul i32 %t12392, 2 %t12395 = icmp eq i32 %t12392, 0 %t12396 = select i1 %t12395, i32 8, i32 %t12394 %t12397 = getelementptr ptr, ptr null, i32 1 %t12398 = ptrtoint ptr %t12397 to i64 %t12399 = zext i32 %t12396 to i64 %t12400 = mul i64 %t12399, %t12398 %t12401 = load ptr, ptr %t12390 %t12402 = call ptr @realloc(ptr %t12401, i64 %t12400) store ptr %t12402, ptr %t12390 store i32 %t12396, ptr %t12389 br label %put2510 put2510: %t12403 = load ptr, ptr %t12390 %t12404 = getelementptr inbounds ptr, ptr %t12403, i32 %t12391 store ptr @.str8161, ptr %t12404 %t12405 = add i32 %t12391, 1 store i32 %t12405, ptr %t12388 br label %ifend2504 ifend2504: %t12406 = load ptr, ptr %t1 %t12407 = call i32 @lp_str_eq(ptr %t12406, ptr @.str8162) %t12408 = icmp ne i32 %t12407, 0 br i1 %t12408, label %then2511, label %ifend2513 then2511: store ptr @.str8163, ptr %t403 %t12409 = load ptr, ptr %t410 %t12410 = getelementptr inbounds %LSlice, ptr %t12409, i32 0, i32 1 %t12411 = getelementptr inbounds %LSlice, ptr %t12409, i32 0, i32 2 %t12412 = getelementptr inbounds %LSlice, ptr %t12409, i32 0, i32 0 %t12413 = load i32, ptr %t12410 %t12414 = load i32, ptr %t12411 %t12415 = icmp sge i32 %t12413, %t12414 br i1 %t12415, label %grow2514, label %put2515 grow2514: %t12416 = mul i32 %t12414, 2 %t12417 = icmp eq i32 %t12414, 0 %t12418 = select i1 %t12417, i32 8, i32 %t12416 %t12419 = getelementptr ptr, ptr null, i32 1 %t12420 = ptrtoint ptr %t12419 to i64 %t12421 = zext i32 %t12418 to i64 %t12422 = mul i64 %t12421, %t12420 %t12423 = load ptr, ptr %t12412 %t12424 = call ptr @realloc(ptr %t12423, i64 %t12422) store ptr %t12424, ptr %t12412 store i32 %t12418, ptr %t12411 br label %put2515 put2515: %t12425 = load ptr, ptr %t12412 %t12426 = getelementptr inbounds ptr, ptr %t12425, i32 %t12413 store ptr @.str8164, ptr %t12426 %t12427 = add i32 %t12413, 1 store i32 %t12427, ptr %t12410 %t12428 = load ptr, ptr %t410 %t12429 = getelementptr inbounds %LSlice, ptr %t12428, i32 0, i32 1 %t12430 = getelementptr inbounds %LSlice, ptr %t12428, i32 0, i32 2 %t12431 = getelementptr inbounds %LSlice, ptr %t12428, i32 0, i32 0 %t12432 = load i32, ptr %t12429 %t12433 = load i32, ptr %t12430 %t12434 = icmp sge i32 %t12432, %t12433 br i1 %t12434, label %grow2516, label %put2517 grow2516: %t12435 = mul i32 %t12433, 2 %t12436 = icmp eq i32 %t12433, 0 %t12437 = select i1 %t12436, i32 8, i32 %t12435 %t12438 = getelementptr ptr, ptr null, i32 1 %t12439 = ptrtoint ptr %t12438 to i64 %t12440 = zext i32 %t12437 to i64 %t12441 = mul i64 %t12440, %t12439 %t12442 = load ptr, ptr %t12431 %t12443 = call ptr @realloc(ptr %t12442, i64 %t12441) store ptr %t12443, ptr %t12431 store i32 %t12437, ptr %t12430 br label %put2517 put2517: %t12444 = load ptr, ptr %t12431 %t12445 = getelementptr inbounds ptr, ptr %t12444, i32 %t12432 store ptr @.str8165, ptr %t12445 %t12446 = add i32 %t12432, 1 store i32 %t12446, ptr %t12429 %t12447 = load ptr, ptr %t410 %t12448 = getelementptr inbounds %LSlice, ptr %t12447, i32 0, i32 1 %t12449 = getelementptr inbounds %LSlice, ptr %t12447, i32 0, i32 2 %t12450 = getelementptr inbounds %LSlice, ptr %t12447, i32 0, i32 0 %t12451 = load i32, ptr %t12448 %t12452 = load i32, ptr %t12449 %t12453 = icmp sge i32 %t12451, %t12452 br i1 %t12453, label %grow2518, label %put2519 grow2518: %t12454 = mul i32 %t12452, 2 %t12455 = icmp eq i32 %t12452, 0 %t12456 = select i1 %t12455, i32 8, i32 %t12454 %t12457 = getelementptr ptr, ptr null, i32 1 %t12458 = ptrtoint ptr %t12457 to i64 %t12459 = zext i32 %t12456 to i64 %t12460 = mul i64 %t12459, %t12458 %t12461 = load ptr, ptr %t12450 %t12462 = call ptr @realloc(ptr %t12461, i64 %t12460) store ptr %t12462, ptr %t12450 store i32 %t12456, ptr %t12449 br label %put2519 put2519: %t12463 = load ptr, ptr %t12450 %t12464 = getelementptr inbounds ptr, ptr %t12463, i32 %t12451 store ptr @.str8166, ptr %t12464 %t12465 = add i32 %t12451, 1 store i32 %t12465, ptr %t12448 %t12466 = load ptr, ptr %t410 %t12467 = getelementptr inbounds %LSlice, ptr %t12466, i32 0, i32 1 %t12468 = getelementptr inbounds %LSlice, ptr %t12466, i32 0, i32 2 %t12469 = getelementptr inbounds %LSlice, ptr %t12466, i32 0, i32 0 %t12470 = load i32, ptr %t12467 %t12471 = load i32, ptr %t12468 %t12472 = icmp sge i32 %t12470, %t12471 br i1 %t12472, label %grow2520, label %put2521 grow2520: %t12473 = mul i32 %t12471, 2 %t12474 = icmp eq i32 %t12471, 0 %t12475 = select i1 %t12474, i32 8, i32 %t12473 %t12476 = getelementptr ptr, ptr null, i32 1 %t12477 = ptrtoint ptr %t12476 to i64 %t12478 = zext i32 %t12475 to i64 %t12479 = mul i64 %t12478, %t12477 %t12480 = load ptr, ptr %t12469 %t12481 = call ptr @realloc(ptr %t12480, i64 %t12479) store ptr %t12481, ptr %t12469 store i32 %t12475, ptr %t12468 br label %put2521 put2521: %t12482 = load ptr, ptr %t12469 %t12483 = getelementptr inbounds ptr, ptr %t12482, i32 %t12470 store ptr @.str8167, ptr %t12483 %t12484 = add i32 %t12470, 1 store i32 %t12484, ptr %t12467 br label %ifend2513 ifend2513: %t12485 = load ptr, ptr %t1 %t12486 = call i32 @lp_str_eq(ptr %t12485, ptr @.str8168) %t12487 = icmp ne i32 %t12486, 0 br i1 %t12487, label %then2522, label %ifend2524 then2522: store ptr @.str8169, ptr %t403 %t12488 = load ptr, ptr %t410 %t12489 = getelementptr inbounds %LSlice, ptr %t12488, i32 0, i32 1 %t12490 = getelementptr inbounds %LSlice, ptr %t12488, i32 0, i32 2 %t12491 = getelementptr inbounds %LSlice, ptr %t12488, i32 0, i32 0 %t12492 = load i32, ptr %t12489 %t12493 = load i32, ptr %t12490 %t12494 = icmp sge i32 %t12492, %t12493 br i1 %t12494, label %grow2525, label %put2526 grow2525: %t12495 = mul i32 %t12493, 2 %t12496 = icmp eq i32 %t12493, 0 %t12497 = select i1 %t12496, i32 8, i32 %t12495 %t12498 = getelementptr ptr, ptr null, i32 1 %t12499 = ptrtoint ptr %t12498 to i64 %t12500 = zext i32 %t12497 to i64 %t12501 = mul i64 %t12500, %t12499 %t12502 = load ptr, ptr %t12491 %t12503 = call ptr @realloc(ptr %t12502, i64 %t12501) store ptr %t12503, ptr %t12491 store i32 %t12497, ptr %t12490 br label %put2526 put2526: %t12504 = load ptr, ptr %t12491 %t12505 = getelementptr inbounds ptr, ptr %t12504, i32 %t12492 store ptr @.str8170, ptr %t12505 %t12506 = add i32 %t12492, 1 store i32 %t12506, ptr %t12489 %t12507 = load ptr, ptr %t410 %t12508 = getelementptr inbounds %LSlice, ptr %t12507, i32 0, i32 1 %t12509 = getelementptr inbounds %LSlice, ptr %t12507, i32 0, i32 2 %t12510 = getelementptr inbounds %LSlice, ptr %t12507, i32 0, i32 0 %t12511 = load i32, ptr %t12508 %t12512 = load i32, ptr %t12509 %t12513 = icmp sge i32 %t12511, %t12512 br i1 %t12513, label %grow2527, label %put2528 grow2527: %t12514 = mul i32 %t12512, 2 %t12515 = icmp eq i32 %t12512, 0 %t12516 = select i1 %t12515, i32 8, i32 %t12514 %t12517 = getelementptr ptr, ptr null, i32 1 %t12518 = ptrtoint ptr %t12517 to i64 %t12519 = zext i32 %t12516 to i64 %t12520 = mul i64 %t12519, %t12518 %t12521 = load ptr, ptr %t12510 %t12522 = call ptr @realloc(ptr %t12521, i64 %t12520) store ptr %t12522, ptr %t12510 store i32 %t12516, ptr %t12509 br label %put2528 put2528: %t12523 = load ptr, ptr %t12510 %t12524 = getelementptr inbounds ptr, ptr %t12523, i32 %t12511 store ptr @.str8171, ptr %t12524 %t12525 = add i32 %t12511, 1 store i32 %t12525, ptr %t12508 br label %ifend2524 ifend2524: %t12526 = load ptr, ptr %t1 %t12527 = call i32 @lp_str_eq(ptr %t12526, ptr @.str8172) %t12528 = icmp ne i32 %t12527, 0 br i1 %t12528, label %then2529, label %ifend2531 then2529: store ptr @.str8173, ptr %t403 %t12529 = load ptr, ptr %t410 %t12530 = getelementptr inbounds %LSlice, ptr %t12529, i32 0, i32 1 %t12531 = getelementptr inbounds %LSlice, ptr %t12529, i32 0, i32 2 %t12532 = getelementptr inbounds %LSlice, ptr %t12529, i32 0, i32 0 %t12533 = load i32, ptr %t12530 %t12534 = load i32, ptr %t12531 %t12535 = icmp sge i32 %t12533, %t12534 br i1 %t12535, label %grow2532, label %put2533 grow2532: %t12536 = mul i32 %t12534, 2 %t12537 = icmp eq i32 %t12534, 0 %t12538 = select i1 %t12537, i32 8, i32 %t12536 %t12539 = getelementptr ptr, ptr null, i32 1 %t12540 = ptrtoint ptr %t12539 to i64 %t12541 = zext i32 %t12538 to i64 %t12542 = mul i64 %t12541, %t12540 %t12543 = load ptr, ptr %t12532 %t12544 = call ptr @realloc(ptr %t12543, i64 %t12542) store ptr %t12544, ptr %t12532 store i32 %t12538, ptr %t12531 br label %put2533 put2533: %t12545 = load ptr, ptr %t12532 %t12546 = getelementptr inbounds ptr, ptr %t12545, i32 %t12533 store ptr @.str8174, ptr %t12546 %t12547 = add i32 %t12533, 1 store i32 %t12547, ptr %t12530 br label %ifend2531 ifend2531: %t12548 = load ptr, ptr %t1 %t12549 = call i32 @lp_str_eq(ptr %t12548, ptr @.str8175) %t12550 = icmp ne i32 %t12549, 0 br i1 %t12550, label %then2534, label %ifend2536 then2534: store ptr @.str8176, ptr %t403 %t12551 = load ptr, ptr %t410 %t12552 = getelementptr inbounds %LSlice, ptr %t12551, i32 0, i32 1 %t12553 = getelementptr inbounds %LSlice, ptr %t12551, i32 0, i32 2 %t12554 = getelementptr inbounds %LSlice, ptr %t12551, i32 0, i32 0 %t12555 = load i32, ptr %t12552 %t12556 = load i32, ptr %t12553 %t12557 = icmp sge i32 %t12555, %t12556 br i1 %t12557, label %grow2537, label %put2538 grow2537: %t12558 = mul i32 %t12556, 2 %t12559 = icmp eq i32 %t12556, 0 %t12560 = select i1 %t12559, i32 8, i32 %t12558 %t12561 = getelementptr ptr, ptr null, i32 1 %t12562 = ptrtoint ptr %t12561 to i64 %t12563 = zext i32 %t12560 to i64 %t12564 = mul i64 %t12563, %t12562 %t12565 = load ptr, ptr %t12554 %t12566 = call ptr @realloc(ptr %t12565, i64 %t12564) store ptr %t12566, ptr %t12554 store i32 %t12560, ptr %t12553 br label %put2538 put2538: %t12567 = load ptr, ptr %t12554 %t12568 = getelementptr inbounds ptr, ptr %t12567, i32 %t12555 store ptr @.str8177, ptr %t12568 %t12569 = add i32 %t12555, 1 store i32 %t12569, ptr %t12552 br label %ifend2536 ifend2536: %t12570 = load ptr, ptr %t1 %t12571 = call i32 @lp_str_eq(ptr %t12570, ptr @.str8178) %t12572 = icmp ne i32 %t12571, 0 br i1 %t12572, label %then2539, label %ifend2541 then2539: store ptr @.str8179, ptr %t403 %t12573 = load ptr, ptr %t410 %t12574 = getelementptr inbounds %LSlice, ptr %t12573, i32 0, i32 1 %t12575 = getelementptr inbounds %LSlice, ptr %t12573, i32 0, i32 2 %t12576 = getelementptr inbounds %LSlice, ptr %t12573, i32 0, i32 0 %t12577 = load i32, ptr %t12574 %t12578 = load i32, ptr %t12575 %t12579 = icmp sge i32 %t12577, %t12578 br i1 %t12579, label %grow2542, label %put2543 grow2542: %t12580 = mul i32 %t12578, 2 %t12581 = icmp eq i32 %t12578, 0 %t12582 = select i1 %t12581, i32 8, i32 %t12580 %t12583 = getelementptr ptr, ptr null, i32 1 %t12584 = ptrtoint ptr %t12583 to i64 %t12585 = zext i32 %t12582 to i64 %t12586 = mul i64 %t12585, %t12584 %t12587 = load ptr, ptr %t12576 %t12588 = call ptr @realloc(ptr %t12587, i64 %t12586) store ptr %t12588, ptr %t12576 store i32 %t12582, ptr %t12575 br label %put2543 put2543: %t12589 = load ptr, ptr %t12576 %t12590 = getelementptr inbounds ptr, ptr %t12589, i32 %t12577 store ptr @.str8180, ptr %t12590 %t12591 = add i32 %t12577, 1 store i32 %t12591, ptr %t12574 br label %ifend2541 ifend2541: %t12592 = load ptr, ptr %t1 %t12593 = call i32 @lp_str_eq(ptr %t12592, ptr @.str8181) %t12594 = icmp ne i32 %t12593, 0 br i1 %t12594, label %then2544, label %ifend2546 then2544: store ptr @.str8182, ptr %t403 %t12595 = load ptr, ptr %t410 %t12596 = getelementptr inbounds %LSlice, ptr %t12595, i32 0, i32 1 %t12597 = getelementptr inbounds %LSlice, ptr %t12595, i32 0, i32 2 %t12598 = getelementptr inbounds %LSlice, ptr %t12595, i32 0, i32 0 %t12599 = load i32, ptr %t12596 %t12600 = load i32, ptr %t12597 %t12601 = icmp sge i32 %t12599, %t12600 br i1 %t12601, label %grow2547, label %put2548 grow2547: %t12602 = mul i32 %t12600, 2 %t12603 = icmp eq i32 %t12600, 0 %t12604 = select i1 %t12603, i32 8, i32 %t12602 %t12605 = getelementptr ptr, ptr null, i32 1 %t12606 = ptrtoint ptr %t12605 to i64 %t12607 = zext i32 %t12604 to i64 %t12608 = mul i64 %t12607, %t12606 %t12609 = load ptr, ptr %t12598 %t12610 = call ptr @realloc(ptr %t12609, i64 %t12608) store ptr %t12610, ptr %t12598 store i32 %t12604, ptr %t12597 br label %put2548 put2548: %t12611 = load ptr, ptr %t12598 %t12612 = getelementptr inbounds ptr, ptr %t12611, i32 %t12599 store ptr @.str8183, ptr %t12612 %t12613 = add i32 %t12599, 1 store i32 %t12613, ptr %t12596 %t12614 = load ptr, ptr %t410 %t12615 = getelementptr inbounds %LSlice, ptr %t12614, i32 0, i32 1 %t12616 = getelementptr inbounds %LSlice, ptr %t12614, i32 0, i32 2 %t12617 = getelementptr inbounds %LSlice, ptr %t12614, i32 0, i32 0 %t12618 = load i32, ptr %t12615 %t12619 = load i32, ptr %t12616 %t12620 = icmp sge i32 %t12618, %t12619 br i1 %t12620, label %grow2549, label %put2550 grow2549: %t12621 = mul i32 %t12619, 2 %t12622 = icmp eq i32 %t12619, 0 %t12623 = select i1 %t12622, i32 8, i32 %t12621 %t12624 = getelementptr ptr, ptr null, i32 1 %t12625 = ptrtoint ptr %t12624 to i64 %t12626 = zext i32 %t12623 to i64 %t12627 = mul i64 %t12626, %t12625 %t12628 = load ptr, ptr %t12617 %t12629 = call ptr @realloc(ptr %t12628, i64 %t12627) store ptr %t12629, ptr %t12617 store i32 %t12623, ptr %t12616 br label %put2550 put2550: %t12630 = load ptr, ptr %t12617 %t12631 = getelementptr inbounds ptr, ptr %t12630, i32 %t12618 store ptr @.str8184, ptr %t12631 %t12632 = add i32 %t12618, 1 store i32 %t12632, ptr %t12615 br label %ifend2546 ifend2546: br label %ifend2462 ifend2462: %t12633 = load ptr, ptr %t0 %t12634 = call i32 @lp_str_eq(ptr %t12633, ptr @.str8185) %t12635 = icmp ne i32 %t12634, 0 br i1 %t12635, label %then2551, label %ifend2553 then2551: %t12636 = load ptr, ptr %t1 %t12637 = call i32 @lp_str_eq(ptr %t12636, ptr @.str8186) %t12638 = icmp ne i32 %t12637, 0 br i1 %t12638, label %then2554, label %ifend2556 then2554: store ptr @.str8187, ptr %t403 br label %ifend2556 ifend2556: %t12639 = load ptr, ptr %t1 %t12640 = call i32 @lp_str_eq(ptr %t12639, ptr @.str8188) %t12641 = icmp ne i32 %t12640, 0 br i1 %t12641, label %then2557, label %ifend2559 then2557: store ptr @.str8189, ptr %t403 %t12642 = load ptr, ptr %t410 %t12643 = getelementptr inbounds %LSlice, ptr %t12642, i32 0, i32 1 %t12644 = getelementptr inbounds %LSlice, ptr %t12642, i32 0, i32 2 %t12645 = getelementptr inbounds %LSlice, ptr %t12642, i32 0, i32 0 %t12646 = load i32, ptr %t12643 %t12647 = load i32, ptr %t12644 %t12648 = icmp sge i32 %t12646, %t12647 br i1 %t12648, label %grow2560, label %put2561 grow2560: %t12649 = mul i32 %t12647, 2 %t12650 = icmp eq i32 %t12647, 0 %t12651 = select i1 %t12650, i32 8, i32 %t12649 %t12652 = getelementptr ptr, ptr null, i32 1 %t12653 = ptrtoint ptr %t12652 to i64 %t12654 = zext i32 %t12651 to i64 %t12655 = mul i64 %t12654, %t12653 %t12656 = load ptr, ptr %t12645 %t12657 = call ptr @realloc(ptr %t12656, i64 %t12655) store ptr %t12657, ptr %t12645 store i32 %t12651, ptr %t12644 br label %put2561 put2561: %t12658 = load ptr, ptr %t12645 %t12659 = getelementptr inbounds ptr, ptr %t12658, i32 %t12646 store ptr @.str8190, ptr %t12659 %t12660 = add i32 %t12646, 1 store i32 %t12660, ptr %t12643 br label %ifend2559 ifend2559: %t12661 = load ptr, ptr %t1 %t12662 = call i32 @lp_str_eq(ptr %t12661, ptr @.str8191) %t12663 = icmp ne i32 %t12662, 0 br i1 %t12663, label %then2562, label %ifend2564 then2562: store ptr @.str8192, ptr %t403 %t12664 = load ptr, ptr %t410 %t12665 = getelementptr inbounds %LSlice, ptr %t12664, i32 0, i32 1 %t12666 = getelementptr inbounds %LSlice, ptr %t12664, i32 0, i32 2 %t12667 = getelementptr inbounds %LSlice, ptr %t12664, i32 0, i32 0 %t12668 = load i32, ptr %t12665 %t12669 = load i32, ptr %t12666 %t12670 = icmp sge i32 %t12668, %t12669 br i1 %t12670, label %grow2565, label %put2566 grow2565: %t12671 = mul i32 %t12669, 2 %t12672 = icmp eq i32 %t12669, 0 %t12673 = select i1 %t12672, i32 8, i32 %t12671 %t12674 = getelementptr ptr, ptr null, i32 1 %t12675 = ptrtoint ptr %t12674 to i64 %t12676 = zext i32 %t12673 to i64 %t12677 = mul i64 %t12676, %t12675 %t12678 = load ptr, ptr %t12667 %t12679 = call ptr @realloc(ptr %t12678, i64 %t12677) store ptr %t12679, ptr %t12667 store i32 %t12673, ptr %t12666 br label %put2566 put2566: %t12680 = load ptr, ptr %t12667 %t12681 = getelementptr inbounds ptr, ptr %t12680, i32 %t12668 store ptr @.str8193, ptr %t12681 %t12682 = add i32 %t12668, 1 store i32 %t12682, ptr %t12665 br label %ifend2564 ifend2564: %t12683 = load ptr, ptr %t1 %t12684 = call i32 @lp_str_eq(ptr %t12683, ptr @.str8194) %t12685 = icmp ne i32 %t12684, 0 br i1 %t12685, label %then2567, label %ifend2569 then2567: store ptr @.str8195, ptr %t403 %t12686 = load ptr, ptr %t410 %t12687 = getelementptr inbounds %LSlice, ptr %t12686, i32 0, i32 1 %t12688 = getelementptr inbounds %LSlice, ptr %t12686, i32 0, i32 2 %t12689 = getelementptr inbounds %LSlice, ptr %t12686, i32 0, i32 0 %t12690 = load i32, ptr %t12687 %t12691 = load i32, ptr %t12688 %t12692 = icmp sge i32 %t12690, %t12691 br i1 %t12692, label %grow2570, label %put2571 grow2570: %t12693 = mul i32 %t12691, 2 %t12694 = icmp eq i32 %t12691, 0 %t12695 = select i1 %t12694, i32 8, i32 %t12693 %t12696 = getelementptr ptr, ptr null, i32 1 %t12697 = ptrtoint ptr %t12696 to i64 %t12698 = zext i32 %t12695 to i64 %t12699 = mul i64 %t12698, %t12697 %t12700 = load ptr, ptr %t12689 %t12701 = call ptr @realloc(ptr %t12700, i64 %t12699) store ptr %t12701, ptr %t12689 store i32 %t12695, ptr %t12688 br label %put2571 put2571: %t12702 = load ptr, ptr %t12689 %t12703 = getelementptr inbounds ptr, ptr %t12702, i32 %t12690 store ptr @.str8196, ptr %t12703 %t12704 = add i32 %t12690, 1 store i32 %t12704, ptr %t12687 br label %ifend2569 ifend2569: %t12705 = load ptr, ptr %t1 %t12706 = call i32 @lp_str_eq(ptr %t12705, ptr @.str8197) %t12707 = icmp ne i32 %t12706, 0 br i1 %t12707, label %then2572, label %ifend2574 then2572: store ptr @.str8198, ptr %t403 %t12708 = load ptr, ptr %t410 %t12709 = getelementptr inbounds %LSlice, ptr %t12708, i32 0, i32 1 %t12710 = getelementptr inbounds %LSlice, ptr %t12708, i32 0, i32 2 %t12711 = getelementptr inbounds %LSlice, ptr %t12708, i32 0, i32 0 %t12712 = load i32, ptr %t12709 %t12713 = load i32, ptr %t12710 %t12714 = icmp sge i32 %t12712, %t12713 br i1 %t12714, label %grow2575, label %put2576 grow2575: %t12715 = mul i32 %t12713, 2 %t12716 = icmp eq i32 %t12713, 0 %t12717 = select i1 %t12716, i32 8, i32 %t12715 %t12718 = getelementptr ptr, ptr null, i32 1 %t12719 = ptrtoint ptr %t12718 to i64 %t12720 = zext i32 %t12717 to i64 %t12721 = mul i64 %t12720, %t12719 %t12722 = load ptr, ptr %t12711 %t12723 = call ptr @realloc(ptr %t12722, i64 %t12721) store ptr %t12723, ptr %t12711 store i32 %t12717, ptr %t12710 br label %put2576 put2576: %t12724 = load ptr, ptr %t12711 %t12725 = getelementptr inbounds ptr, ptr %t12724, i32 %t12712 store ptr @.str8199, ptr %t12725 %t12726 = add i32 %t12712, 1 store i32 %t12726, ptr %t12709 br label %ifend2574 ifend2574: %t12727 = load ptr, ptr %t1 %t12728 = call i32 @lp_str_eq(ptr %t12727, ptr @.str8200) %t12729 = icmp ne i32 %t12728, 0 br i1 %t12729, label %then2577, label %ifend2579 then2577: store ptr @.str8201, ptr %t403 br label %ifend2579 ifend2579: %t12730 = load ptr, ptr %t1 %t12731 = call i32 @lp_str_eq(ptr %t12730, ptr @.str8202) %t12732 = icmp ne i32 %t12731, 0 br i1 %t12732, label %then2580, label %ifend2582 then2580: store ptr @.str8203, ptr %t403 br label %ifend2582 ifend2582: %t12733 = load ptr, ptr %t1 %t12734 = call i32 @lp_str_eq(ptr %t12733, ptr @.str8204) %t12735 = icmp ne i32 %t12734, 0 br i1 %t12735, label %then2583, label %ifend2585 then2583: store ptr @.str8205, ptr %t403 %t12736 = load ptr, ptr %t410 %t12737 = getelementptr inbounds %LSlice, ptr %t12736, i32 0, i32 1 %t12738 = getelementptr inbounds %LSlice, ptr %t12736, i32 0, i32 2 %t12739 = getelementptr inbounds %LSlice, ptr %t12736, i32 0, i32 0 %t12740 = load i32, ptr %t12737 %t12741 = load i32, ptr %t12738 %t12742 = icmp sge i32 %t12740, %t12741 br i1 %t12742, label %grow2586, label %put2587 grow2586: %t12743 = mul i32 %t12741, 2 %t12744 = icmp eq i32 %t12741, 0 %t12745 = select i1 %t12744, i32 8, i32 %t12743 %t12746 = getelementptr ptr, ptr null, i32 1 %t12747 = ptrtoint ptr %t12746 to i64 %t12748 = zext i32 %t12745 to i64 %t12749 = mul i64 %t12748, %t12747 %t12750 = load ptr, ptr %t12739 %t12751 = call ptr @realloc(ptr %t12750, i64 %t12749) store ptr %t12751, ptr %t12739 store i32 %t12745, ptr %t12738 br label %put2587 put2587: %t12752 = load ptr, ptr %t12739 %t12753 = getelementptr inbounds ptr, ptr %t12752, i32 %t12740 store ptr @.str8206, ptr %t12753 %t12754 = add i32 %t12740, 1 store i32 %t12754, ptr %t12737 %t12755 = load ptr, ptr %t410 %t12756 = getelementptr inbounds %LSlice, ptr %t12755, i32 0, i32 1 %t12757 = getelementptr inbounds %LSlice, ptr %t12755, i32 0, i32 2 %t12758 = getelementptr inbounds %LSlice, ptr %t12755, i32 0, i32 0 %t12759 = load i32, ptr %t12756 %t12760 = load i32, ptr %t12757 %t12761 = icmp sge i32 %t12759, %t12760 br i1 %t12761, label %grow2588, label %put2589 grow2588: %t12762 = mul i32 %t12760, 2 %t12763 = icmp eq i32 %t12760, 0 %t12764 = select i1 %t12763, i32 8, i32 %t12762 %t12765 = getelementptr ptr, ptr null, i32 1 %t12766 = ptrtoint ptr %t12765 to i64 %t12767 = zext i32 %t12764 to i64 %t12768 = mul i64 %t12767, %t12766 %t12769 = load ptr, ptr %t12758 %t12770 = call ptr @realloc(ptr %t12769, i64 %t12768) store ptr %t12770, ptr %t12758 store i32 %t12764, ptr %t12757 br label %put2589 put2589: %t12771 = load ptr, ptr %t12758 %t12772 = getelementptr inbounds ptr, ptr %t12771, i32 %t12759 store ptr @.str8207, ptr %t12772 %t12773 = add i32 %t12759, 1 store i32 %t12773, ptr %t12756 br label %ifend2585 ifend2585: %t12774 = load ptr, ptr %t1 %t12775 = call i32 @lp_str_eq(ptr %t12774, ptr @.str8208) %t12776 = icmp ne i32 %t12775, 0 br i1 %t12776, label %then2590, label %ifend2592 then2590: store ptr @.str8209, ptr %t403 %t12777 = load ptr, ptr %t410 %t12778 = getelementptr inbounds %LSlice, ptr %t12777, i32 0, i32 1 %t12779 = getelementptr inbounds %LSlice, ptr %t12777, i32 0, i32 2 %t12780 = getelementptr inbounds %LSlice, ptr %t12777, i32 0, i32 0 %t12781 = load i32, ptr %t12778 %t12782 = load i32, ptr %t12779 %t12783 = icmp sge i32 %t12781, %t12782 br i1 %t12783, label %grow2593, label %put2594 grow2593: %t12784 = mul i32 %t12782, 2 %t12785 = icmp eq i32 %t12782, 0 %t12786 = select i1 %t12785, i32 8, i32 %t12784 %t12787 = getelementptr ptr, ptr null, i32 1 %t12788 = ptrtoint ptr %t12787 to i64 %t12789 = zext i32 %t12786 to i64 %t12790 = mul i64 %t12789, %t12788 %t12791 = load ptr, ptr %t12780 %t12792 = call ptr @realloc(ptr %t12791, i64 %t12790) store ptr %t12792, ptr %t12780 store i32 %t12786, ptr %t12779 br label %put2594 put2594: %t12793 = load ptr, ptr %t12780 %t12794 = getelementptr inbounds ptr, ptr %t12793, i32 %t12781 store ptr @.str8210, ptr %t12794 %t12795 = add i32 %t12781, 1 store i32 %t12795, ptr %t12778 %t12796 = load ptr, ptr %t410 %t12797 = getelementptr inbounds %LSlice, ptr %t12796, i32 0, i32 1 %t12798 = getelementptr inbounds %LSlice, ptr %t12796, i32 0, i32 2 %t12799 = getelementptr inbounds %LSlice, ptr %t12796, i32 0, i32 0 %t12800 = load i32, ptr %t12797 %t12801 = load i32, ptr %t12798 %t12802 = icmp sge i32 %t12800, %t12801 br i1 %t12802, label %grow2595, label %put2596 grow2595: %t12803 = mul i32 %t12801, 2 %t12804 = icmp eq i32 %t12801, 0 %t12805 = select i1 %t12804, i32 8, i32 %t12803 %t12806 = getelementptr ptr, ptr null, i32 1 %t12807 = ptrtoint ptr %t12806 to i64 %t12808 = zext i32 %t12805 to i64 %t12809 = mul i64 %t12808, %t12807 %t12810 = load ptr, ptr %t12799 %t12811 = call ptr @realloc(ptr %t12810, i64 %t12809) store ptr %t12811, ptr %t12799 store i32 %t12805, ptr %t12798 br label %put2596 put2596: %t12812 = load ptr, ptr %t12799 %t12813 = getelementptr inbounds ptr, ptr %t12812, i32 %t12800 store ptr @.str8211, ptr %t12813 %t12814 = add i32 %t12800, 1 store i32 %t12814, ptr %t12797 %t12815 = load ptr, ptr %t410 %t12816 = getelementptr inbounds %LSlice, ptr %t12815, i32 0, i32 1 %t12817 = getelementptr inbounds %LSlice, ptr %t12815, i32 0, i32 2 %t12818 = getelementptr inbounds %LSlice, ptr %t12815, i32 0, i32 0 %t12819 = load i32, ptr %t12816 %t12820 = load i32, ptr %t12817 %t12821 = icmp sge i32 %t12819, %t12820 br i1 %t12821, label %grow2597, label %put2598 grow2597: %t12822 = mul i32 %t12820, 2 %t12823 = icmp eq i32 %t12820, 0 %t12824 = select i1 %t12823, i32 8, i32 %t12822 %t12825 = getelementptr ptr, ptr null, i32 1 %t12826 = ptrtoint ptr %t12825 to i64 %t12827 = zext i32 %t12824 to i64 %t12828 = mul i64 %t12827, %t12826 %t12829 = load ptr, ptr %t12818 %t12830 = call ptr @realloc(ptr %t12829, i64 %t12828) store ptr %t12830, ptr %t12818 store i32 %t12824, ptr %t12817 br label %put2598 put2598: %t12831 = load ptr, ptr %t12818 %t12832 = getelementptr inbounds ptr, ptr %t12831, i32 %t12819 store ptr @.str8212, ptr %t12832 %t12833 = add i32 %t12819, 1 store i32 %t12833, ptr %t12816 br label %ifend2592 ifend2592: %t12834 = load ptr, ptr %t1 %t12835 = call i32 @lp_str_eq(ptr %t12834, ptr @.str8213) %t12836 = icmp ne i32 %t12835, 0 br i1 %t12836, label %then2599, label %ifend2601 then2599: store ptr @.str8214, ptr %t403 %t12837 = load ptr, ptr %t410 %t12838 = getelementptr inbounds %LSlice, ptr %t12837, i32 0, i32 1 %t12839 = getelementptr inbounds %LSlice, ptr %t12837, i32 0, i32 2 %t12840 = getelementptr inbounds %LSlice, ptr %t12837, i32 0, i32 0 %t12841 = load i32, ptr %t12838 %t12842 = load i32, ptr %t12839 %t12843 = icmp sge i32 %t12841, %t12842 br i1 %t12843, label %grow2602, label %put2603 grow2602: %t12844 = mul i32 %t12842, 2 %t12845 = icmp eq i32 %t12842, 0 %t12846 = select i1 %t12845, i32 8, i32 %t12844 %t12847 = getelementptr ptr, ptr null, i32 1 %t12848 = ptrtoint ptr %t12847 to i64 %t12849 = zext i32 %t12846 to i64 %t12850 = mul i64 %t12849, %t12848 %t12851 = load ptr, ptr %t12840 %t12852 = call ptr @realloc(ptr %t12851, i64 %t12850) store ptr %t12852, ptr %t12840 store i32 %t12846, ptr %t12839 br label %put2603 put2603: %t12853 = load ptr, ptr %t12840 %t12854 = getelementptr inbounds ptr, ptr %t12853, i32 %t12841 store ptr @.str8215, ptr %t12854 %t12855 = add i32 %t12841, 1 store i32 %t12855, ptr %t12838 %t12856 = load ptr, ptr %t410 %t12857 = getelementptr inbounds %LSlice, ptr %t12856, i32 0, i32 1 %t12858 = getelementptr inbounds %LSlice, ptr %t12856, i32 0, i32 2 %t12859 = getelementptr inbounds %LSlice, ptr %t12856, i32 0, i32 0 %t12860 = load i32, ptr %t12857 %t12861 = load i32, ptr %t12858 %t12862 = icmp sge i32 %t12860, %t12861 br i1 %t12862, label %grow2604, label %put2605 grow2604: %t12863 = mul i32 %t12861, 2 %t12864 = icmp eq i32 %t12861, 0 %t12865 = select i1 %t12864, i32 8, i32 %t12863 %t12866 = getelementptr ptr, ptr null, i32 1 %t12867 = ptrtoint ptr %t12866 to i64 %t12868 = zext i32 %t12865 to i64 %t12869 = mul i64 %t12868, %t12867 %t12870 = load ptr, ptr %t12859 %t12871 = call ptr @realloc(ptr %t12870, i64 %t12869) store ptr %t12871, ptr %t12859 store i32 %t12865, ptr %t12858 br label %put2605 put2605: %t12872 = load ptr, ptr %t12859 %t12873 = getelementptr inbounds ptr, ptr %t12872, i32 %t12860 store ptr @.str8216, ptr %t12873 %t12874 = add i32 %t12860, 1 store i32 %t12874, ptr %t12857 br label %ifend2601 ifend2601: %t12875 = load ptr, ptr %t1 %t12876 = call i32 @lp_str_eq(ptr %t12875, ptr @.str8217) %t12877 = icmp ne i32 %t12876, 0 br i1 %t12877, label %then2606, label %ifend2608 then2606: store ptr @.str8218, ptr %t403 %t12878 = load ptr, ptr %t410 %t12879 = getelementptr inbounds %LSlice, ptr %t12878, i32 0, i32 1 %t12880 = getelementptr inbounds %LSlice, ptr %t12878, i32 0, i32 2 %t12881 = getelementptr inbounds %LSlice, ptr %t12878, i32 0, i32 0 %t12882 = load i32, ptr %t12879 %t12883 = load i32, ptr %t12880 %t12884 = icmp sge i32 %t12882, %t12883 br i1 %t12884, label %grow2609, label %put2610 grow2609: %t12885 = mul i32 %t12883, 2 %t12886 = icmp eq i32 %t12883, 0 %t12887 = select i1 %t12886, i32 8, i32 %t12885 %t12888 = getelementptr ptr, ptr null, i32 1 %t12889 = ptrtoint ptr %t12888 to i64 %t12890 = zext i32 %t12887 to i64 %t12891 = mul i64 %t12890, %t12889 %t12892 = load ptr, ptr %t12881 %t12893 = call ptr @realloc(ptr %t12892, i64 %t12891) store ptr %t12893, ptr %t12881 store i32 %t12887, ptr %t12880 br label %put2610 put2610: %t12894 = load ptr, ptr %t12881 %t12895 = getelementptr inbounds ptr, ptr %t12894, i32 %t12882 store ptr @.str8219, ptr %t12895 %t12896 = add i32 %t12882, 1 store i32 %t12896, ptr %t12879 %t12897 = load ptr, ptr %t410 %t12898 = getelementptr inbounds %LSlice, ptr %t12897, i32 0, i32 1 %t12899 = getelementptr inbounds %LSlice, ptr %t12897, i32 0, i32 2 %t12900 = getelementptr inbounds %LSlice, ptr %t12897, i32 0, i32 0 %t12901 = load i32, ptr %t12898 %t12902 = load i32, ptr %t12899 %t12903 = icmp sge i32 %t12901, %t12902 br i1 %t12903, label %grow2611, label %put2612 grow2611: %t12904 = mul i32 %t12902, 2 %t12905 = icmp eq i32 %t12902, 0 %t12906 = select i1 %t12905, i32 8, i32 %t12904 %t12907 = getelementptr ptr, ptr null, i32 1 %t12908 = ptrtoint ptr %t12907 to i64 %t12909 = zext i32 %t12906 to i64 %t12910 = mul i64 %t12909, %t12908 %t12911 = load ptr, ptr %t12900 %t12912 = call ptr @realloc(ptr %t12911, i64 %t12910) store ptr %t12912, ptr %t12900 store i32 %t12906, ptr %t12899 br label %put2612 put2612: %t12913 = load ptr, ptr %t12900 %t12914 = getelementptr inbounds ptr, ptr %t12913, i32 %t12901 store ptr @.str8220, ptr %t12914 %t12915 = add i32 %t12901, 1 store i32 %t12915, ptr %t12898 br label %ifend2608 ifend2608: %t12916 = load ptr, ptr %t1 %t12917 = call i32 @lp_str_eq(ptr %t12916, ptr @.str8221) %t12918 = icmp ne i32 %t12917, 0 br i1 %t12918, label %then2613, label %ifend2615 then2613: store ptr @.str8222, ptr %t403 %t12919 = load ptr, ptr %t410 %t12920 = getelementptr inbounds %LSlice, ptr %t12919, i32 0, i32 1 %t12921 = getelementptr inbounds %LSlice, ptr %t12919, i32 0, i32 2 %t12922 = getelementptr inbounds %LSlice, ptr %t12919, i32 0, i32 0 %t12923 = load i32, ptr %t12920 %t12924 = load i32, ptr %t12921 %t12925 = icmp sge i32 %t12923, %t12924 br i1 %t12925, label %grow2616, label %put2617 grow2616: %t12926 = mul i32 %t12924, 2 %t12927 = icmp eq i32 %t12924, 0 %t12928 = select i1 %t12927, i32 8, i32 %t12926 %t12929 = getelementptr ptr, ptr null, i32 1 %t12930 = ptrtoint ptr %t12929 to i64 %t12931 = zext i32 %t12928 to i64 %t12932 = mul i64 %t12931, %t12930 %t12933 = load ptr, ptr %t12922 %t12934 = call ptr @realloc(ptr %t12933, i64 %t12932) store ptr %t12934, ptr %t12922 store i32 %t12928, ptr %t12921 br label %put2617 put2617: %t12935 = load ptr, ptr %t12922 %t12936 = getelementptr inbounds ptr, ptr %t12935, i32 %t12923 store ptr @.str8223, ptr %t12936 %t12937 = add i32 %t12923, 1 store i32 %t12937, ptr %t12920 %t12938 = load ptr, ptr %t410 %t12939 = getelementptr inbounds %LSlice, ptr %t12938, i32 0, i32 1 %t12940 = getelementptr inbounds %LSlice, ptr %t12938, i32 0, i32 2 %t12941 = getelementptr inbounds %LSlice, ptr %t12938, i32 0, i32 0 %t12942 = load i32, ptr %t12939 %t12943 = load i32, ptr %t12940 %t12944 = icmp sge i32 %t12942, %t12943 br i1 %t12944, label %grow2618, label %put2619 grow2618: %t12945 = mul i32 %t12943, 2 %t12946 = icmp eq i32 %t12943, 0 %t12947 = select i1 %t12946, i32 8, i32 %t12945 %t12948 = getelementptr ptr, ptr null, i32 1 %t12949 = ptrtoint ptr %t12948 to i64 %t12950 = zext i32 %t12947 to i64 %t12951 = mul i64 %t12950, %t12949 %t12952 = load ptr, ptr %t12941 %t12953 = call ptr @realloc(ptr %t12952, i64 %t12951) store ptr %t12953, ptr %t12941 store i32 %t12947, ptr %t12940 br label %put2619 put2619: %t12954 = load ptr, ptr %t12941 %t12955 = getelementptr inbounds ptr, ptr %t12954, i32 %t12942 store ptr @.str8224, ptr %t12955 %t12956 = add i32 %t12942, 1 store i32 %t12956, ptr %t12939 br label %ifend2615 ifend2615: %t12957 = load ptr, ptr %t1 %t12958 = call i32 @lp_str_eq(ptr %t12957, ptr @.str8225) %t12959 = icmp ne i32 %t12958, 0 br i1 %t12959, label %then2620, label %ifend2622 then2620: store ptr @.str8226, ptr %t403 %t12960 = load ptr, ptr %t410 %t12961 = getelementptr inbounds %LSlice, ptr %t12960, i32 0, i32 1 %t12962 = getelementptr inbounds %LSlice, ptr %t12960, i32 0, i32 2 %t12963 = getelementptr inbounds %LSlice, ptr %t12960, i32 0, i32 0 %t12964 = load i32, ptr %t12961 %t12965 = load i32, ptr %t12962 %t12966 = icmp sge i32 %t12964, %t12965 br i1 %t12966, label %grow2623, label %put2624 grow2623: %t12967 = mul i32 %t12965, 2 %t12968 = icmp eq i32 %t12965, 0 %t12969 = select i1 %t12968, i32 8, i32 %t12967 %t12970 = getelementptr ptr, ptr null, i32 1 %t12971 = ptrtoint ptr %t12970 to i64 %t12972 = zext i32 %t12969 to i64 %t12973 = mul i64 %t12972, %t12971 %t12974 = load ptr, ptr %t12963 %t12975 = call ptr @realloc(ptr %t12974, i64 %t12973) store ptr %t12975, ptr %t12963 store i32 %t12969, ptr %t12962 br label %put2624 put2624: %t12976 = load ptr, ptr %t12963 %t12977 = getelementptr inbounds ptr, ptr %t12976, i32 %t12964 store ptr @.str8227, ptr %t12977 %t12978 = add i32 %t12964, 1 store i32 %t12978, ptr %t12961 %t12979 = load ptr, ptr %t410 %t12980 = getelementptr inbounds %LSlice, ptr %t12979, i32 0, i32 1 %t12981 = getelementptr inbounds %LSlice, ptr %t12979, i32 0, i32 2 %t12982 = getelementptr inbounds %LSlice, ptr %t12979, i32 0, i32 0 %t12983 = load i32, ptr %t12980 %t12984 = load i32, ptr %t12981 %t12985 = icmp sge i32 %t12983, %t12984 br i1 %t12985, label %grow2625, label %put2626 grow2625: %t12986 = mul i32 %t12984, 2 %t12987 = icmp eq i32 %t12984, 0 %t12988 = select i1 %t12987, i32 8, i32 %t12986 %t12989 = getelementptr ptr, ptr null, i32 1 %t12990 = ptrtoint ptr %t12989 to i64 %t12991 = zext i32 %t12988 to i64 %t12992 = mul i64 %t12991, %t12990 %t12993 = load ptr, ptr %t12982 %t12994 = call ptr @realloc(ptr %t12993, i64 %t12992) store ptr %t12994, ptr %t12982 store i32 %t12988, ptr %t12981 br label %put2626 put2626: %t12995 = load ptr, ptr %t12982 %t12996 = getelementptr inbounds ptr, ptr %t12995, i32 %t12983 store ptr @.str8228, ptr %t12996 %t12997 = add i32 %t12983, 1 store i32 %t12997, ptr %t12980 br label %ifend2622 ifend2622: %t12998 = load ptr, ptr %t1 %t12999 = call i32 @lp_str_eq(ptr %t12998, ptr @.str8229) %t13000 = icmp ne i32 %t12999, 0 br i1 %t13000, label %then2627, label %ifend2629 then2627: store ptr @.str8230, ptr %t403 %t13001 = load ptr, ptr %t410 %t13002 = getelementptr inbounds %LSlice, ptr %t13001, i32 0, i32 1 %t13003 = getelementptr inbounds %LSlice, ptr %t13001, i32 0, i32 2 %t13004 = getelementptr inbounds %LSlice, ptr %t13001, i32 0, i32 0 %t13005 = load i32, ptr %t13002 %t13006 = load i32, ptr %t13003 %t13007 = icmp sge i32 %t13005, %t13006 br i1 %t13007, label %grow2630, label %put2631 grow2630: %t13008 = mul i32 %t13006, 2 %t13009 = icmp eq i32 %t13006, 0 %t13010 = select i1 %t13009, i32 8, i32 %t13008 %t13011 = getelementptr ptr, ptr null, i32 1 %t13012 = ptrtoint ptr %t13011 to i64 %t13013 = zext i32 %t13010 to i64 %t13014 = mul i64 %t13013, %t13012 %t13015 = load ptr, ptr %t13004 %t13016 = call ptr @realloc(ptr %t13015, i64 %t13014) store ptr %t13016, ptr %t13004 store i32 %t13010, ptr %t13003 br label %put2631 put2631: %t13017 = load ptr, ptr %t13004 %t13018 = getelementptr inbounds ptr, ptr %t13017, i32 %t13005 store ptr @.str8231, ptr %t13018 %t13019 = add i32 %t13005, 1 store i32 %t13019, ptr %t13002 br label %ifend2629 ifend2629: %t13020 = load ptr, ptr %t1 %t13021 = call i32 @lp_str_eq(ptr %t13020, ptr @.str8232) %t13022 = icmp ne i32 %t13021, 0 br i1 %t13022, label %then2632, label %ifend2634 then2632: store ptr @.str8233, ptr %t403 %t13023 = load ptr, ptr %t410 %t13024 = getelementptr inbounds %LSlice, ptr %t13023, i32 0, i32 1 %t13025 = getelementptr inbounds %LSlice, ptr %t13023, i32 0, i32 2 %t13026 = getelementptr inbounds %LSlice, ptr %t13023, i32 0, i32 0 %t13027 = load i32, ptr %t13024 %t13028 = load i32, ptr %t13025 %t13029 = icmp sge i32 %t13027, %t13028 br i1 %t13029, label %grow2635, label %put2636 grow2635: %t13030 = mul i32 %t13028, 2 %t13031 = icmp eq i32 %t13028, 0 %t13032 = select i1 %t13031, i32 8, i32 %t13030 %t13033 = getelementptr ptr, ptr null, i32 1 %t13034 = ptrtoint ptr %t13033 to i64 %t13035 = zext i32 %t13032 to i64 %t13036 = mul i64 %t13035, %t13034 %t13037 = load ptr, ptr %t13026 %t13038 = call ptr @realloc(ptr %t13037, i64 %t13036) store ptr %t13038, ptr %t13026 store i32 %t13032, ptr %t13025 br label %put2636 put2636: %t13039 = load ptr, ptr %t13026 %t13040 = getelementptr inbounds ptr, ptr %t13039, i32 %t13027 store ptr @.str8234, ptr %t13040 %t13041 = add i32 %t13027, 1 store i32 %t13041, ptr %t13024 br label %ifend2634 ifend2634: %t13042 = load ptr, ptr %t1 %t13043 = call i32 @lp_str_eq(ptr %t13042, ptr @.str8235) %t13044 = icmp ne i32 %t13043, 0 br i1 %t13044, label %then2637, label %ifend2639 then2637: store ptr @.str8236, ptr %t403 %t13045 = load ptr, ptr %t410 %t13046 = getelementptr inbounds %LSlice, ptr %t13045, i32 0, i32 1 %t13047 = getelementptr inbounds %LSlice, ptr %t13045, i32 0, i32 2 %t13048 = getelementptr inbounds %LSlice, ptr %t13045, i32 0, i32 0 %t13049 = load i32, ptr %t13046 %t13050 = load i32, ptr %t13047 %t13051 = icmp sge i32 %t13049, %t13050 br i1 %t13051, label %grow2640, label %put2641 grow2640: %t13052 = mul i32 %t13050, 2 %t13053 = icmp eq i32 %t13050, 0 %t13054 = select i1 %t13053, i32 8, i32 %t13052 %t13055 = getelementptr ptr, ptr null, i32 1 %t13056 = ptrtoint ptr %t13055 to i64 %t13057 = zext i32 %t13054 to i64 %t13058 = mul i64 %t13057, %t13056 %t13059 = load ptr, ptr %t13048 %t13060 = call ptr @realloc(ptr %t13059, i64 %t13058) store ptr %t13060, ptr %t13048 store i32 %t13054, ptr %t13047 br label %put2641 put2641: %t13061 = load ptr, ptr %t13048 %t13062 = getelementptr inbounds ptr, ptr %t13061, i32 %t13049 store ptr @.str8237, ptr %t13062 %t13063 = add i32 %t13049, 1 store i32 %t13063, ptr %t13046 br label %ifend2639 ifend2639: %t13064 = load ptr, ptr %t1 %t13065 = call i32 @lp_str_eq(ptr %t13064, ptr @.str8238) %t13066 = icmp ne i32 %t13065, 0 br i1 %t13066, label %then2642, label %ifend2644 then2642: store ptr @.str8239, ptr %t403 %t13067 = load ptr, ptr %t410 %t13068 = getelementptr inbounds %LSlice, ptr %t13067, i32 0, i32 1 %t13069 = getelementptr inbounds %LSlice, ptr %t13067, i32 0, i32 2 %t13070 = getelementptr inbounds %LSlice, ptr %t13067, i32 0, i32 0 %t13071 = load i32, ptr %t13068 %t13072 = load i32, ptr %t13069 %t13073 = icmp sge i32 %t13071, %t13072 br i1 %t13073, label %grow2645, label %put2646 grow2645: %t13074 = mul i32 %t13072, 2 %t13075 = icmp eq i32 %t13072, 0 %t13076 = select i1 %t13075, i32 8, i32 %t13074 %t13077 = getelementptr ptr, ptr null, i32 1 %t13078 = ptrtoint ptr %t13077 to i64 %t13079 = zext i32 %t13076 to i64 %t13080 = mul i64 %t13079, %t13078 %t13081 = load ptr, ptr %t13070 %t13082 = call ptr @realloc(ptr %t13081, i64 %t13080) store ptr %t13082, ptr %t13070 store i32 %t13076, ptr %t13069 br label %put2646 put2646: %t13083 = load ptr, ptr %t13070 %t13084 = getelementptr inbounds ptr, ptr %t13083, i32 %t13071 store ptr @.str8240, ptr %t13084 %t13085 = add i32 %t13071, 1 store i32 %t13085, ptr %t13068 br label %ifend2644 ifend2644: br label %ifend2553 ifend2553: %t13086 = load ptr, ptr %t0 %t13087 = call i32 @lp_str_eq(ptr %t13086, ptr @.str8241) %t13088 = icmp ne i32 %t13087, 0 br i1 %t13088, label %then2647, label %ifend2649 then2647: %t13089 = load ptr, ptr %t1 %t13090 = call i32 @lp_str_eq(ptr %t13089, ptr @.str8242) %t13091 = icmp ne i32 %t13090, 0 br i1 %t13091, label %then2650, label %ifend2652 then2650: store ptr @.str8243, ptr %t403 %t13092 = load ptr, ptr %t410 %t13093 = getelementptr inbounds %LSlice, ptr %t13092, i32 0, i32 1 %t13094 = getelementptr inbounds %LSlice, ptr %t13092, i32 0, i32 2 %t13095 = getelementptr inbounds %LSlice, ptr %t13092, i32 0, i32 0 %t13096 = load i32, ptr %t13093 %t13097 = load i32, ptr %t13094 %t13098 = icmp sge i32 %t13096, %t13097 br i1 %t13098, label %grow2653, label %put2654 grow2653: %t13099 = mul i32 %t13097, 2 %t13100 = icmp eq i32 %t13097, 0 %t13101 = select i1 %t13100, i32 8, i32 %t13099 %t13102 = getelementptr ptr, ptr null, i32 1 %t13103 = ptrtoint ptr %t13102 to i64 %t13104 = zext i32 %t13101 to i64 %t13105 = mul i64 %t13104, %t13103 %t13106 = load ptr, ptr %t13095 %t13107 = call ptr @realloc(ptr %t13106, i64 %t13105) store ptr %t13107, ptr %t13095 store i32 %t13101, ptr %t13094 br label %put2654 put2654: %t13108 = load ptr, ptr %t13095 %t13109 = getelementptr inbounds ptr, ptr %t13108, i32 %t13096 store ptr @.str8244, ptr %t13109 %t13110 = add i32 %t13096, 1 store i32 %t13110, ptr %t13093 br label %ifend2652 ifend2652: %t13111 = load ptr, ptr %t1 %t13112 = call i32 @lp_str_eq(ptr %t13111, ptr @.str8245) %t13113 = icmp ne i32 %t13112, 0 br i1 %t13113, label %then2655, label %ifend2657 then2655: store ptr @.str8246, ptr %t403 %t13114 = load ptr, ptr %t410 %t13115 = getelementptr inbounds %LSlice, ptr %t13114, i32 0, i32 1 %t13116 = getelementptr inbounds %LSlice, ptr %t13114, i32 0, i32 2 %t13117 = getelementptr inbounds %LSlice, ptr %t13114, i32 0, i32 0 %t13118 = load i32, ptr %t13115 %t13119 = load i32, ptr %t13116 %t13120 = icmp sge i32 %t13118, %t13119 br i1 %t13120, label %grow2658, label %put2659 grow2658: %t13121 = mul i32 %t13119, 2 %t13122 = icmp eq i32 %t13119, 0 %t13123 = select i1 %t13122, i32 8, i32 %t13121 %t13124 = getelementptr ptr, ptr null, i32 1 %t13125 = ptrtoint ptr %t13124 to i64 %t13126 = zext i32 %t13123 to i64 %t13127 = mul i64 %t13126, %t13125 %t13128 = load ptr, ptr %t13117 %t13129 = call ptr @realloc(ptr %t13128, i64 %t13127) store ptr %t13129, ptr %t13117 store i32 %t13123, ptr %t13116 br label %put2659 put2659: %t13130 = load ptr, ptr %t13117 %t13131 = getelementptr inbounds ptr, ptr %t13130, i32 %t13118 store ptr @.str8247, ptr %t13131 %t13132 = add i32 %t13118, 1 store i32 %t13132, ptr %t13115 br label %ifend2657 ifend2657: br label %ifend2649 ifend2649: %t13133 = load ptr, ptr %t0 %t13134 = call i32 @lp_str_eq(ptr %t13133, ptr @.str8248) %t13135 = icmp ne i32 %t13134, 0 br i1 %t13135, label %then2660, label %ifend2662 then2660: %t13136 = load ptr, ptr %t1 %t13137 = call i32 @lp_str_eq(ptr %t13136, ptr @.str8249) %t13138 = icmp ne i32 %t13137, 0 br i1 %t13138, label %then2663, label %ifend2665 then2663: store ptr @.str8250, ptr %t403 %t13139 = load ptr, ptr %t410 %t13140 = getelementptr inbounds %LSlice, ptr %t13139, i32 0, i32 1 %t13141 = getelementptr inbounds %LSlice, ptr %t13139, i32 0, i32 2 %t13142 = getelementptr inbounds %LSlice, ptr %t13139, i32 0, i32 0 %t13143 = load i32, ptr %t13140 %t13144 = load i32, ptr %t13141 %t13145 = icmp sge i32 %t13143, %t13144 br i1 %t13145, label %grow2666, label %put2667 grow2666: %t13146 = mul i32 %t13144, 2 %t13147 = icmp eq i32 %t13144, 0 %t13148 = select i1 %t13147, i32 8, i32 %t13146 %t13149 = getelementptr ptr, ptr null, i32 1 %t13150 = ptrtoint ptr %t13149 to i64 %t13151 = zext i32 %t13148 to i64 %t13152 = mul i64 %t13151, %t13150 %t13153 = load ptr, ptr %t13142 %t13154 = call ptr @realloc(ptr %t13153, i64 %t13152) store ptr %t13154, ptr %t13142 store i32 %t13148, ptr %t13141 br label %put2667 put2667: %t13155 = load ptr, ptr %t13142 %t13156 = getelementptr inbounds ptr, ptr %t13155, i32 %t13143 store ptr @.str8251, ptr %t13156 %t13157 = add i32 %t13143, 1 store i32 %t13157, ptr %t13140 br label %ifend2665 ifend2665: %t13158 = load ptr, ptr %t1 %t13159 = call i32 @lp_str_eq(ptr %t13158, ptr @.str8252) %t13160 = icmp ne i32 %t13159, 0 br i1 %t13160, label %then2668, label %ifend2670 then2668: store ptr @.str8253, ptr %t403 %t13161 = load ptr, ptr %t410 %t13162 = getelementptr inbounds %LSlice, ptr %t13161, i32 0, i32 1 %t13163 = getelementptr inbounds %LSlice, ptr %t13161, i32 0, i32 2 %t13164 = getelementptr inbounds %LSlice, ptr %t13161, i32 0, i32 0 %t13165 = load i32, ptr %t13162 %t13166 = load i32, ptr %t13163 %t13167 = icmp sge i32 %t13165, %t13166 br i1 %t13167, label %grow2671, label %put2672 grow2671: %t13168 = mul i32 %t13166, 2 %t13169 = icmp eq i32 %t13166, 0 %t13170 = select i1 %t13169, i32 8, i32 %t13168 %t13171 = getelementptr ptr, ptr null, i32 1 %t13172 = ptrtoint ptr %t13171 to i64 %t13173 = zext i32 %t13170 to i64 %t13174 = mul i64 %t13173, %t13172 %t13175 = load ptr, ptr %t13164 %t13176 = call ptr @realloc(ptr %t13175, i64 %t13174) store ptr %t13176, ptr %t13164 store i32 %t13170, ptr %t13163 br label %put2672 put2672: %t13177 = load ptr, ptr %t13164 %t13178 = getelementptr inbounds ptr, ptr %t13177, i32 %t13165 store ptr @.str8254, ptr %t13178 %t13179 = add i32 %t13165, 1 store i32 %t13179, ptr %t13162 br label %ifend2670 ifend2670: %t13180 = load ptr, ptr %t1 %t13181 = call i32 @lp_str_eq(ptr %t13180, ptr @.str8255) %t13182 = icmp ne i32 %t13181, 0 br i1 %t13182, label %then2673, label %ifend2675 then2673: store ptr @.str8256, ptr %t403 %t13183 = load ptr, ptr %t410 %t13184 = getelementptr inbounds %LSlice, ptr %t13183, i32 0, i32 1 %t13185 = getelementptr inbounds %LSlice, ptr %t13183, i32 0, i32 2 %t13186 = getelementptr inbounds %LSlice, ptr %t13183, i32 0, i32 0 %t13187 = load i32, ptr %t13184 %t13188 = load i32, ptr %t13185 %t13189 = icmp sge i32 %t13187, %t13188 br i1 %t13189, label %grow2676, label %put2677 grow2676: %t13190 = mul i32 %t13188, 2 %t13191 = icmp eq i32 %t13188, 0 %t13192 = select i1 %t13191, i32 8, i32 %t13190 %t13193 = getelementptr ptr, ptr null, i32 1 %t13194 = ptrtoint ptr %t13193 to i64 %t13195 = zext i32 %t13192 to i64 %t13196 = mul i64 %t13195, %t13194 %t13197 = load ptr, ptr %t13186 %t13198 = call ptr @realloc(ptr %t13197, i64 %t13196) store ptr %t13198, ptr %t13186 store i32 %t13192, ptr %t13185 br label %put2677 put2677: %t13199 = load ptr, ptr %t13186 %t13200 = getelementptr inbounds ptr, ptr %t13199, i32 %t13187 store ptr @.str8257, ptr %t13200 %t13201 = add i32 %t13187, 1 store i32 %t13201, ptr %t13184 br label %ifend2675 ifend2675: %t13202 = load ptr, ptr %t1 %t13203 = call i32 @lp_str_eq(ptr %t13202, ptr @.str8258) %t13204 = icmp ne i32 %t13203, 0 br i1 %t13204, label %then2678, label %ifend2680 then2678: store ptr @.str8259, ptr %t403 %t13205 = load ptr, ptr %t410 %t13206 = getelementptr inbounds %LSlice, ptr %t13205, i32 0, i32 1 %t13207 = getelementptr inbounds %LSlice, ptr %t13205, i32 0, i32 2 %t13208 = getelementptr inbounds %LSlice, ptr %t13205, i32 0, i32 0 %t13209 = load i32, ptr %t13206 %t13210 = load i32, ptr %t13207 %t13211 = icmp sge i32 %t13209, %t13210 br i1 %t13211, label %grow2681, label %put2682 grow2681: %t13212 = mul i32 %t13210, 2 %t13213 = icmp eq i32 %t13210, 0 %t13214 = select i1 %t13213, i32 8, i32 %t13212 %t13215 = getelementptr ptr, ptr null, i32 1 %t13216 = ptrtoint ptr %t13215 to i64 %t13217 = zext i32 %t13214 to i64 %t13218 = mul i64 %t13217, %t13216 %t13219 = load ptr, ptr %t13208 %t13220 = call ptr @realloc(ptr %t13219, i64 %t13218) store ptr %t13220, ptr %t13208 store i32 %t13214, ptr %t13207 br label %put2682 put2682: %t13221 = load ptr, ptr %t13208 %t13222 = getelementptr inbounds ptr, ptr %t13221, i32 %t13209 store ptr @.str8260, ptr %t13222 %t13223 = add i32 %t13209, 1 store i32 %t13223, ptr %t13206 %t13224 = load ptr, ptr %t410 %t13225 = getelementptr inbounds %LSlice, ptr %t13224, i32 0, i32 1 %t13226 = getelementptr inbounds %LSlice, ptr %t13224, i32 0, i32 2 %t13227 = getelementptr inbounds %LSlice, ptr %t13224, i32 0, i32 0 %t13228 = load i32, ptr %t13225 %t13229 = load i32, ptr %t13226 %t13230 = icmp sge i32 %t13228, %t13229 br i1 %t13230, label %grow2683, label %put2684 grow2683: %t13231 = mul i32 %t13229, 2 %t13232 = icmp eq i32 %t13229, 0 %t13233 = select i1 %t13232, i32 8, i32 %t13231 %t13234 = getelementptr ptr, ptr null, i32 1 %t13235 = ptrtoint ptr %t13234 to i64 %t13236 = zext i32 %t13233 to i64 %t13237 = mul i64 %t13236, %t13235 %t13238 = load ptr, ptr %t13227 %t13239 = call ptr @realloc(ptr %t13238, i64 %t13237) store ptr %t13239, ptr %t13227 store i32 %t13233, ptr %t13226 br label %put2684 put2684: %t13240 = load ptr, ptr %t13227 %t13241 = getelementptr inbounds ptr, ptr %t13240, i32 %t13228 store ptr @.str8261, ptr %t13241 %t13242 = add i32 %t13228, 1 store i32 %t13242, ptr %t13225 br label %ifend2680 ifend2680: %t13243 = load ptr, ptr %t1 %t13244 = call i32 @lp_str_eq(ptr %t13243, ptr @.str8262) %t13245 = icmp ne i32 %t13244, 0 br i1 %t13245, label %then2685, label %ifend2687 then2685: store ptr @.str8263, ptr %t403 %t13246 = load ptr, ptr %t410 %t13247 = getelementptr inbounds %LSlice, ptr %t13246, i32 0, i32 1 %t13248 = getelementptr inbounds %LSlice, ptr %t13246, i32 0, i32 2 %t13249 = getelementptr inbounds %LSlice, ptr %t13246, i32 0, i32 0 %t13250 = load i32, ptr %t13247 %t13251 = load i32, ptr %t13248 %t13252 = icmp sge i32 %t13250, %t13251 br i1 %t13252, label %grow2688, label %put2689 grow2688: %t13253 = mul i32 %t13251, 2 %t13254 = icmp eq i32 %t13251, 0 %t13255 = select i1 %t13254, i32 8, i32 %t13253 %t13256 = getelementptr ptr, ptr null, i32 1 %t13257 = ptrtoint ptr %t13256 to i64 %t13258 = zext i32 %t13255 to i64 %t13259 = mul i64 %t13258, %t13257 %t13260 = load ptr, ptr %t13249 %t13261 = call ptr @realloc(ptr %t13260, i64 %t13259) store ptr %t13261, ptr %t13249 store i32 %t13255, ptr %t13248 br label %put2689 put2689: %t13262 = load ptr, ptr %t13249 %t13263 = getelementptr inbounds ptr, ptr %t13262, i32 %t13250 store ptr @.str8264, ptr %t13263 %t13264 = add i32 %t13250, 1 store i32 %t13264, ptr %t13247 %t13265 = load ptr, ptr %t410 %t13266 = getelementptr inbounds %LSlice, ptr %t13265, i32 0, i32 1 %t13267 = getelementptr inbounds %LSlice, ptr %t13265, i32 0, i32 2 %t13268 = getelementptr inbounds %LSlice, ptr %t13265, i32 0, i32 0 %t13269 = load i32, ptr %t13266 %t13270 = load i32, ptr %t13267 %t13271 = icmp sge i32 %t13269, %t13270 br i1 %t13271, label %grow2690, label %put2691 grow2690: %t13272 = mul i32 %t13270, 2 %t13273 = icmp eq i32 %t13270, 0 %t13274 = select i1 %t13273, i32 8, i32 %t13272 %t13275 = getelementptr ptr, ptr null, i32 1 %t13276 = ptrtoint ptr %t13275 to i64 %t13277 = zext i32 %t13274 to i64 %t13278 = mul i64 %t13277, %t13276 %t13279 = load ptr, ptr %t13268 %t13280 = call ptr @realloc(ptr %t13279, i64 %t13278) store ptr %t13280, ptr %t13268 store i32 %t13274, ptr %t13267 br label %put2691 put2691: %t13281 = load ptr, ptr %t13268 %t13282 = getelementptr inbounds ptr, ptr %t13281, i32 %t13269 store ptr @.str8265, ptr %t13282 %t13283 = add i32 %t13269, 1 store i32 %t13283, ptr %t13266 %t13284 = load ptr, ptr %t410 %t13285 = getelementptr inbounds %LSlice, ptr %t13284, i32 0, i32 1 %t13286 = getelementptr inbounds %LSlice, ptr %t13284, i32 0, i32 2 %t13287 = getelementptr inbounds %LSlice, ptr %t13284, i32 0, i32 0 %t13288 = load i32, ptr %t13285 %t13289 = load i32, ptr %t13286 %t13290 = icmp sge i32 %t13288, %t13289 br i1 %t13290, label %grow2692, label %put2693 grow2692: %t13291 = mul i32 %t13289, 2 %t13292 = icmp eq i32 %t13289, 0 %t13293 = select i1 %t13292, i32 8, i32 %t13291 %t13294 = getelementptr ptr, ptr null, i32 1 %t13295 = ptrtoint ptr %t13294 to i64 %t13296 = zext i32 %t13293 to i64 %t13297 = mul i64 %t13296, %t13295 %t13298 = load ptr, ptr %t13287 %t13299 = call ptr @realloc(ptr %t13298, i64 %t13297) store ptr %t13299, ptr %t13287 store i32 %t13293, ptr %t13286 br label %put2693 put2693: %t13300 = load ptr, ptr %t13287 %t13301 = getelementptr inbounds ptr, ptr %t13300, i32 %t13288 store ptr @.str8266, ptr %t13301 %t13302 = add i32 %t13288, 1 store i32 %t13302, ptr %t13285 br label %ifend2687 ifend2687: %t13303 = load ptr, ptr %t1 %t13304 = call i32 @lp_str_eq(ptr %t13303, ptr @.str8267) %t13305 = icmp ne i32 %t13304, 0 br i1 %t13305, label %then2694, label %ifend2696 then2694: store ptr @.str8268, ptr %t403 %t13306 = load ptr, ptr %t410 %t13307 = getelementptr inbounds %LSlice, ptr %t13306, i32 0, i32 1 %t13308 = getelementptr inbounds %LSlice, ptr %t13306, i32 0, i32 2 %t13309 = getelementptr inbounds %LSlice, ptr %t13306, i32 0, i32 0 %t13310 = load i32, ptr %t13307 %t13311 = load i32, ptr %t13308 %t13312 = icmp sge i32 %t13310, %t13311 br i1 %t13312, label %grow2697, label %put2698 grow2697: %t13313 = mul i32 %t13311, 2 %t13314 = icmp eq i32 %t13311, 0 %t13315 = select i1 %t13314, i32 8, i32 %t13313 %t13316 = getelementptr ptr, ptr null, i32 1 %t13317 = ptrtoint ptr %t13316 to i64 %t13318 = zext i32 %t13315 to i64 %t13319 = mul i64 %t13318, %t13317 %t13320 = load ptr, ptr %t13309 %t13321 = call ptr @realloc(ptr %t13320, i64 %t13319) store ptr %t13321, ptr %t13309 store i32 %t13315, ptr %t13308 br label %put2698 put2698: %t13322 = load ptr, ptr %t13309 %t13323 = getelementptr inbounds ptr, ptr %t13322, i32 %t13310 store ptr @.str8269, ptr %t13323 %t13324 = add i32 %t13310, 1 store i32 %t13324, ptr %t13307 %t13325 = load ptr, ptr %t410 %t13326 = getelementptr inbounds %LSlice, ptr %t13325, i32 0, i32 1 %t13327 = getelementptr inbounds %LSlice, ptr %t13325, i32 0, i32 2 %t13328 = getelementptr inbounds %LSlice, ptr %t13325, i32 0, i32 0 %t13329 = load i32, ptr %t13326 %t13330 = load i32, ptr %t13327 %t13331 = icmp sge i32 %t13329, %t13330 br i1 %t13331, label %grow2699, label %put2700 grow2699: %t13332 = mul i32 %t13330, 2 %t13333 = icmp eq i32 %t13330, 0 %t13334 = select i1 %t13333, i32 8, i32 %t13332 %t13335 = getelementptr ptr, ptr null, i32 1 %t13336 = ptrtoint ptr %t13335 to i64 %t13337 = zext i32 %t13334 to i64 %t13338 = mul i64 %t13337, %t13336 %t13339 = load ptr, ptr %t13328 %t13340 = call ptr @realloc(ptr %t13339, i64 %t13338) store ptr %t13340, ptr %t13328 store i32 %t13334, ptr %t13327 br label %put2700 put2700: %t13341 = load ptr, ptr %t13328 %t13342 = getelementptr inbounds ptr, ptr %t13341, i32 %t13329 store ptr @.str8270, ptr %t13342 %t13343 = add i32 %t13329, 1 store i32 %t13343, ptr %t13326 br label %ifend2696 ifend2696: %t13344 = load ptr, ptr %t1 %t13345 = call i32 @lp_str_eq(ptr %t13344, ptr @.str8271) %t13346 = icmp ne i32 %t13345, 0 br i1 %t13346, label %then2701, label %ifend2703 then2701: store ptr @.str8272, ptr %t403 %t13347 = load ptr, ptr %t410 %t13348 = getelementptr inbounds %LSlice, ptr %t13347, i32 0, i32 1 %t13349 = getelementptr inbounds %LSlice, ptr %t13347, i32 0, i32 2 %t13350 = getelementptr inbounds %LSlice, ptr %t13347, i32 0, i32 0 %t13351 = load i32, ptr %t13348 %t13352 = load i32, ptr %t13349 %t13353 = icmp sge i32 %t13351, %t13352 br i1 %t13353, label %grow2704, label %put2705 grow2704: %t13354 = mul i32 %t13352, 2 %t13355 = icmp eq i32 %t13352, 0 %t13356 = select i1 %t13355, i32 8, i32 %t13354 %t13357 = getelementptr ptr, ptr null, i32 1 %t13358 = ptrtoint ptr %t13357 to i64 %t13359 = zext i32 %t13356 to i64 %t13360 = mul i64 %t13359, %t13358 %t13361 = load ptr, ptr %t13350 %t13362 = call ptr @realloc(ptr %t13361, i64 %t13360) store ptr %t13362, ptr %t13350 store i32 %t13356, ptr %t13349 br label %put2705 put2705: %t13363 = load ptr, ptr %t13350 %t13364 = getelementptr inbounds ptr, ptr %t13363, i32 %t13351 store ptr @.str8273, ptr %t13364 %t13365 = add i32 %t13351, 1 store i32 %t13365, ptr %t13348 br label %ifend2703 ifend2703: %t13366 = load ptr, ptr %t1 %t13367 = call i32 @lp_str_eq(ptr %t13366, ptr @.str8274) %t13368 = icmp ne i32 %t13367, 0 br i1 %t13368, label %then2706, label %ifend2708 then2706: store ptr @.str8275, ptr %t403 %t13369 = load ptr, ptr %t410 %t13370 = getelementptr inbounds %LSlice, ptr %t13369, i32 0, i32 1 %t13371 = getelementptr inbounds %LSlice, ptr %t13369, i32 0, i32 2 %t13372 = getelementptr inbounds %LSlice, ptr %t13369, i32 0, i32 0 %t13373 = load i32, ptr %t13370 %t13374 = load i32, ptr %t13371 %t13375 = icmp sge i32 %t13373, %t13374 br i1 %t13375, label %grow2709, label %put2710 grow2709: %t13376 = mul i32 %t13374, 2 %t13377 = icmp eq i32 %t13374, 0 %t13378 = select i1 %t13377, i32 8, i32 %t13376 %t13379 = getelementptr ptr, ptr null, i32 1 %t13380 = ptrtoint ptr %t13379 to i64 %t13381 = zext i32 %t13378 to i64 %t13382 = mul i64 %t13381, %t13380 %t13383 = load ptr, ptr %t13372 %t13384 = call ptr @realloc(ptr %t13383, i64 %t13382) store ptr %t13384, ptr %t13372 store i32 %t13378, ptr %t13371 br label %put2710 put2710: %t13385 = load ptr, ptr %t13372 %t13386 = getelementptr inbounds ptr, ptr %t13385, i32 %t13373 store ptr @.str8276, ptr %t13386 %t13387 = add i32 %t13373, 1 store i32 %t13387, ptr %t13370 br label %ifend2708 ifend2708: %t13388 = load ptr, ptr %t1 %t13389 = call i32 @lp_str_eq(ptr %t13388, ptr @.str8277) %t13390 = icmp ne i32 %t13389, 0 br i1 %t13390, label %then2711, label %ifend2713 then2711: store ptr @.str8278, ptr %t403 %t13391 = load ptr, ptr %t410 %t13392 = getelementptr inbounds %LSlice, ptr %t13391, i32 0, i32 1 %t13393 = getelementptr inbounds %LSlice, ptr %t13391, i32 0, i32 2 %t13394 = getelementptr inbounds %LSlice, ptr %t13391, i32 0, i32 0 %t13395 = load i32, ptr %t13392 %t13396 = load i32, ptr %t13393 %t13397 = icmp sge i32 %t13395, %t13396 br i1 %t13397, label %grow2714, label %put2715 grow2714: %t13398 = mul i32 %t13396, 2 %t13399 = icmp eq i32 %t13396, 0 %t13400 = select i1 %t13399, i32 8, i32 %t13398 %t13401 = getelementptr ptr, ptr null, i32 1 %t13402 = ptrtoint ptr %t13401 to i64 %t13403 = zext i32 %t13400 to i64 %t13404 = mul i64 %t13403, %t13402 %t13405 = load ptr, ptr %t13394 %t13406 = call ptr @realloc(ptr %t13405, i64 %t13404) store ptr %t13406, ptr %t13394 store i32 %t13400, ptr %t13393 br label %put2715 put2715: %t13407 = load ptr, ptr %t13394 %t13408 = getelementptr inbounds ptr, ptr %t13407, i32 %t13395 store ptr @.str8279, ptr %t13408 %t13409 = add i32 %t13395, 1 store i32 %t13409, ptr %t13392 %t13410 = load ptr, ptr %t410 %t13411 = getelementptr inbounds %LSlice, ptr %t13410, i32 0, i32 1 %t13412 = getelementptr inbounds %LSlice, ptr %t13410, i32 0, i32 2 %t13413 = getelementptr inbounds %LSlice, ptr %t13410, i32 0, i32 0 %t13414 = load i32, ptr %t13411 %t13415 = load i32, ptr %t13412 %t13416 = icmp sge i32 %t13414, %t13415 br i1 %t13416, label %grow2716, label %put2717 grow2716: %t13417 = mul i32 %t13415, 2 %t13418 = icmp eq i32 %t13415, 0 %t13419 = select i1 %t13418, i32 8, i32 %t13417 %t13420 = getelementptr ptr, ptr null, i32 1 %t13421 = ptrtoint ptr %t13420 to i64 %t13422 = zext i32 %t13419 to i64 %t13423 = mul i64 %t13422, %t13421 %t13424 = load ptr, ptr %t13413 %t13425 = call ptr @realloc(ptr %t13424, i64 %t13423) store ptr %t13425, ptr %t13413 store i32 %t13419, ptr %t13412 br label %put2717 put2717: %t13426 = load ptr, ptr %t13413 %t13427 = getelementptr inbounds ptr, ptr %t13426, i32 %t13414 store ptr @.str8280, ptr %t13427 %t13428 = add i32 %t13414, 1 store i32 %t13428, ptr %t13411 br label %ifend2713 ifend2713: %t13429 = load ptr, ptr %t1 %t13430 = call i32 @lp_str_eq(ptr %t13429, ptr @.str8281) %t13431 = icmp ne i32 %t13430, 0 br i1 %t13431, label %then2718, label %ifend2720 then2718: store ptr @.str8282, ptr %t403 %t13432 = load ptr, ptr %t410 %t13433 = getelementptr inbounds %LSlice, ptr %t13432, i32 0, i32 1 %t13434 = getelementptr inbounds %LSlice, ptr %t13432, i32 0, i32 2 %t13435 = getelementptr inbounds %LSlice, ptr %t13432, i32 0, i32 0 %t13436 = load i32, ptr %t13433 %t13437 = load i32, ptr %t13434 %t13438 = icmp sge i32 %t13436, %t13437 br i1 %t13438, label %grow2721, label %put2722 grow2721: %t13439 = mul i32 %t13437, 2 %t13440 = icmp eq i32 %t13437, 0 %t13441 = select i1 %t13440, i32 8, i32 %t13439 %t13442 = getelementptr ptr, ptr null, i32 1 %t13443 = ptrtoint ptr %t13442 to i64 %t13444 = zext i32 %t13441 to i64 %t13445 = mul i64 %t13444, %t13443 %t13446 = load ptr, ptr %t13435 %t13447 = call ptr @realloc(ptr %t13446, i64 %t13445) store ptr %t13447, ptr %t13435 store i32 %t13441, ptr %t13434 br label %put2722 put2722: %t13448 = load ptr, ptr %t13435 %t13449 = getelementptr inbounds ptr, ptr %t13448, i32 %t13436 store ptr @.str8283, ptr %t13449 %t13450 = add i32 %t13436, 1 store i32 %t13450, ptr %t13433 %t13451 = load ptr, ptr %t410 %t13452 = getelementptr inbounds %LSlice, ptr %t13451, i32 0, i32 1 %t13453 = getelementptr inbounds %LSlice, ptr %t13451, i32 0, i32 2 %t13454 = getelementptr inbounds %LSlice, ptr %t13451, i32 0, i32 0 %t13455 = load i32, ptr %t13452 %t13456 = load i32, ptr %t13453 %t13457 = icmp sge i32 %t13455, %t13456 br i1 %t13457, label %grow2723, label %put2724 grow2723: %t13458 = mul i32 %t13456, 2 %t13459 = icmp eq i32 %t13456, 0 %t13460 = select i1 %t13459, i32 8, i32 %t13458 %t13461 = getelementptr ptr, ptr null, i32 1 %t13462 = ptrtoint ptr %t13461 to i64 %t13463 = zext i32 %t13460 to i64 %t13464 = mul i64 %t13463, %t13462 %t13465 = load ptr, ptr %t13454 %t13466 = call ptr @realloc(ptr %t13465, i64 %t13464) store ptr %t13466, ptr %t13454 store i32 %t13460, ptr %t13453 br label %put2724 put2724: %t13467 = load ptr, ptr %t13454 %t13468 = getelementptr inbounds ptr, ptr %t13467, i32 %t13455 store ptr @.str8284, ptr %t13468 %t13469 = add i32 %t13455, 1 store i32 %t13469, ptr %t13452 br label %ifend2720 ifend2720: %t13470 = load ptr, ptr %t1 %t13471 = call i32 @lp_str_eq(ptr %t13470, ptr @.str8285) %t13472 = icmp ne i32 %t13471, 0 br i1 %t13472, label %then2725, label %ifend2727 then2725: store ptr @.str8286, ptr %t403 %t13473 = load ptr, ptr %t410 %t13474 = getelementptr inbounds %LSlice, ptr %t13473, i32 0, i32 1 %t13475 = getelementptr inbounds %LSlice, ptr %t13473, i32 0, i32 2 %t13476 = getelementptr inbounds %LSlice, ptr %t13473, i32 0, i32 0 %t13477 = load i32, ptr %t13474 %t13478 = load i32, ptr %t13475 %t13479 = icmp sge i32 %t13477, %t13478 br i1 %t13479, label %grow2728, label %put2729 grow2728: %t13480 = mul i32 %t13478, 2 %t13481 = icmp eq i32 %t13478, 0 %t13482 = select i1 %t13481, i32 8, i32 %t13480 %t13483 = getelementptr ptr, ptr null, i32 1 %t13484 = ptrtoint ptr %t13483 to i64 %t13485 = zext i32 %t13482 to i64 %t13486 = mul i64 %t13485, %t13484 %t13487 = load ptr, ptr %t13476 %t13488 = call ptr @realloc(ptr %t13487, i64 %t13486) store ptr %t13488, ptr %t13476 store i32 %t13482, ptr %t13475 br label %put2729 put2729: %t13489 = load ptr, ptr %t13476 %t13490 = getelementptr inbounds ptr, ptr %t13489, i32 %t13477 store ptr @.str8287, ptr %t13490 %t13491 = add i32 %t13477, 1 store i32 %t13491, ptr %t13474 %t13492 = load ptr, ptr %t410 %t13493 = getelementptr inbounds %LSlice, ptr %t13492, i32 0, i32 1 %t13494 = getelementptr inbounds %LSlice, ptr %t13492, i32 0, i32 2 %t13495 = getelementptr inbounds %LSlice, ptr %t13492, i32 0, i32 0 %t13496 = load i32, ptr %t13493 %t13497 = load i32, ptr %t13494 %t13498 = icmp sge i32 %t13496, %t13497 br i1 %t13498, label %grow2730, label %put2731 grow2730: %t13499 = mul i32 %t13497, 2 %t13500 = icmp eq i32 %t13497, 0 %t13501 = select i1 %t13500, i32 8, i32 %t13499 %t13502 = getelementptr ptr, ptr null, i32 1 %t13503 = ptrtoint ptr %t13502 to i64 %t13504 = zext i32 %t13501 to i64 %t13505 = mul i64 %t13504, %t13503 %t13506 = load ptr, ptr %t13495 %t13507 = call ptr @realloc(ptr %t13506, i64 %t13505) store ptr %t13507, ptr %t13495 store i32 %t13501, ptr %t13494 br label %put2731 put2731: %t13508 = load ptr, ptr %t13495 %t13509 = getelementptr inbounds ptr, ptr %t13508, i32 %t13496 store ptr @.str8288, ptr %t13509 %t13510 = add i32 %t13496, 1 store i32 %t13510, ptr %t13493 br label %ifend2727 ifend2727: br label %ifend2662 ifend2662: %t13511 = load ptr, ptr %t0 %t13512 = call i32 @lp_str_eq(ptr %t13511, ptr @.str8289) %t13513 = icmp ne i32 %t13512, 0 br i1 %t13513, label %then2732, label %ifend2734 then2732: %t13514 = load ptr, ptr %t1 %t13515 = call i32 @lp_str_eq(ptr %t13514, ptr @.str8290) %t13516 = icmp ne i32 %t13515, 0 br i1 %t13516, label %then2735, label %ifend2737 then2735: store ptr @.str8291, ptr %t403 %t13517 = load ptr, ptr %t410 %t13518 = getelementptr inbounds %LSlice, ptr %t13517, i32 0, i32 1 %t13519 = getelementptr inbounds %LSlice, ptr %t13517, i32 0, i32 2 %t13520 = getelementptr inbounds %LSlice, ptr %t13517, i32 0, i32 0 %t13521 = load i32, ptr %t13518 %t13522 = load i32, ptr %t13519 %t13523 = icmp sge i32 %t13521, %t13522 br i1 %t13523, label %grow2738, label %put2739 grow2738: %t13524 = mul i32 %t13522, 2 %t13525 = icmp eq i32 %t13522, 0 %t13526 = select i1 %t13525, i32 8, i32 %t13524 %t13527 = getelementptr ptr, ptr null, i32 1 %t13528 = ptrtoint ptr %t13527 to i64 %t13529 = zext i32 %t13526 to i64 %t13530 = mul i64 %t13529, %t13528 %t13531 = load ptr, ptr %t13520 %t13532 = call ptr @realloc(ptr %t13531, i64 %t13530) store ptr %t13532, ptr %t13520 store i32 %t13526, ptr %t13519 br label %put2739 put2739: %t13533 = load ptr, ptr %t13520 %t13534 = getelementptr inbounds ptr, ptr %t13533, i32 %t13521 store ptr @.str8292, ptr %t13534 %t13535 = add i32 %t13521, 1 store i32 %t13535, ptr %t13518 br label %ifend2737 ifend2737: %t13536 = load ptr, ptr %t1 %t13537 = call i32 @lp_str_eq(ptr %t13536, ptr @.str8293) %t13538 = icmp ne i32 %t13537, 0 br i1 %t13538, label %then2740, label %ifend2742 then2740: store ptr @.str8294, ptr %t403 %t13539 = load ptr, ptr %t410 %t13540 = getelementptr inbounds %LSlice, ptr %t13539, i32 0, i32 1 %t13541 = getelementptr inbounds %LSlice, ptr %t13539, i32 0, i32 2 %t13542 = getelementptr inbounds %LSlice, ptr %t13539, i32 0, i32 0 %t13543 = load i32, ptr %t13540 %t13544 = load i32, ptr %t13541 %t13545 = icmp sge i32 %t13543, %t13544 br i1 %t13545, label %grow2743, label %put2744 grow2743: %t13546 = mul i32 %t13544, 2 %t13547 = icmp eq i32 %t13544, 0 %t13548 = select i1 %t13547, i32 8, i32 %t13546 %t13549 = getelementptr ptr, ptr null, i32 1 %t13550 = ptrtoint ptr %t13549 to i64 %t13551 = zext i32 %t13548 to i64 %t13552 = mul i64 %t13551, %t13550 %t13553 = load ptr, ptr %t13542 %t13554 = call ptr @realloc(ptr %t13553, i64 %t13552) store ptr %t13554, ptr %t13542 store i32 %t13548, ptr %t13541 br label %put2744 put2744: %t13555 = load ptr, ptr %t13542 %t13556 = getelementptr inbounds ptr, ptr %t13555, i32 %t13543 store ptr @.str8295, ptr %t13556 %t13557 = add i32 %t13543, 1 store i32 %t13557, ptr %t13540 br label %ifend2742 ifend2742: br label %ifend2734 ifend2734: %t13558 = load ptr, ptr %t0 %t13559 = call i32 @lp_str_eq(ptr %t13558, ptr @.str8296) %t13560 = icmp ne i32 %t13559, 0 br i1 %t13560, label %then2745, label %ifend2747 then2745: %t13561 = load ptr, ptr %t1 %t13562 = call i32 @lp_str_eq(ptr %t13561, ptr @.str8297) %t13563 = icmp ne i32 %t13562, 0 br i1 %t13563, label %then2748, label %ifend2750 then2748: store ptr @.str8298, ptr %t403 %t13564 = load ptr, ptr %t410 %t13565 = getelementptr inbounds %LSlice, ptr %t13564, i32 0, i32 1 %t13566 = getelementptr inbounds %LSlice, ptr %t13564, i32 0, i32 2 %t13567 = getelementptr inbounds %LSlice, ptr %t13564, i32 0, i32 0 %t13568 = load i32, ptr %t13565 %t13569 = load i32, ptr %t13566 %t13570 = icmp sge i32 %t13568, %t13569 br i1 %t13570, label %grow2751, label %put2752 grow2751: %t13571 = mul i32 %t13569, 2 %t13572 = icmp eq i32 %t13569, 0 %t13573 = select i1 %t13572, i32 8, i32 %t13571 %t13574 = getelementptr ptr, ptr null, i32 1 %t13575 = ptrtoint ptr %t13574 to i64 %t13576 = zext i32 %t13573 to i64 %t13577 = mul i64 %t13576, %t13575 %t13578 = load ptr, ptr %t13567 %t13579 = call ptr @realloc(ptr %t13578, i64 %t13577) store ptr %t13579, ptr %t13567 store i32 %t13573, ptr %t13566 br label %put2752 put2752: %t13580 = load ptr, ptr %t13567 %t13581 = getelementptr inbounds ptr, ptr %t13580, i32 %t13568 store ptr @.str8299, ptr %t13581 %t13582 = add i32 %t13568, 1 store i32 %t13582, ptr %t13565 br label %ifend2750 ifend2750: %t13583 = load ptr, ptr %t1 %t13584 = call i32 @lp_str_eq(ptr %t13583, ptr @.str8300) %t13585 = icmp ne i32 %t13584, 0 br i1 %t13585, label %then2753, label %ifend2755 then2753: store ptr @.str8301, ptr %t403 %t13586 = load ptr, ptr %t410 %t13587 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 1 %t13588 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 2 %t13589 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 0 %t13590 = load i32, ptr %t13587 %t13591 = load i32, ptr %t13588 %t13592 = icmp sge i32 %t13590, %t13591 br i1 %t13592, label %grow2756, label %put2757 grow2756: %t13593 = mul i32 %t13591, 2 %t13594 = icmp eq i32 %t13591, 0 %t13595 = select i1 %t13594, i32 8, i32 %t13593 %t13596 = getelementptr ptr, ptr null, i32 1 %t13597 = ptrtoint ptr %t13596 to i64 %t13598 = zext i32 %t13595 to i64 %t13599 = mul i64 %t13598, %t13597 %t13600 = load ptr, ptr %t13589 %t13601 = call ptr @realloc(ptr %t13600, i64 %t13599) store ptr %t13601, ptr %t13589 store i32 %t13595, ptr %t13588 br label %put2757 put2757: %t13602 = load ptr, ptr %t13589 %t13603 = getelementptr inbounds ptr, ptr %t13602, i32 %t13590 store ptr @.str8302, ptr %t13603 %t13604 = add i32 %t13590, 1 store i32 %t13604, ptr %t13587 br label %ifend2755 ifend2755: %t13605 = load ptr, ptr %t1 %t13606 = call i32 @lp_str_eq(ptr %t13605, ptr @.str8303) %t13607 = icmp ne i32 %t13606, 0 br i1 %t13607, label %then2758, label %ifend2760 then2758: store ptr @.str8304, ptr %t403 %t13608 = load ptr, ptr %t410 %t13609 = getelementptr inbounds %LSlice, ptr %t13608, i32 0, i32 1 %t13610 = getelementptr inbounds %LSlice, ptr %t13608, i32 0, i32 2 %t13611 = getelementptr inbounds %LSlice, ptr %t13608, i32 0, i32 0 %t13612 = load i32, ptr %t13609 %t13613 = load i32, ptr %t13610 %t13614 = icmp sge i32 %t13612, %t13613 br i1 %t13614, label %grow2761, label %put2762 grow2761: %t13615 = mul i32 %t13613, 2 %t13616 = icmp eq i32 %t13613, 0 %t13617 = select i1 %t13616, i32 8, i32 %t13615 %t13618 = getelementptr ptr, ptr null, i32 1 %t13619 = ptrtoint ptr %t13618 to i64 %t13620 = zext i32 %t13617 to i64 %t13621 = mul i64 %t13620, %t13619 %t13622 = load ptr, ptr %t13611 %t13623 = call ptr @realloc(ptr %t13622, i64 %t13621) store ptr %t13623, ptr %t13611 store i32 %t13617, ptr %t13610 br label %put2762 put2762: %t13624 = load ptr, ptr %t13611 %t13625 = getelementptr inbounds ptr, ptr %t13624, i32 %t13612 store ptr @.str8305, ptr %t13625 %t13626 = add i32 %t13612, 1 store i32 %t13626, ptr %t13609 br label %ifend2760 ifend2760: %t13627 = load ptr, ptr %t1 %t13628 = call i32 @lp_str_eq(ptr %t13627, ptr @.str8306) %t13629 = icmp ne i32 %t13628, 0 br i1 %t13629, label %then2763, label %ifend2765 then2763: store ptr @.str8307, ptr %t403 %t13630 = load ptr, ptr %t410 %t13631 = getelementptr inbounds %LSlice, ptr %t13630, i32 0, i32 1 %t13632 = getelementptr inbounds %LSlice, ptr %t13630, i32 0, i32 2 %t13633 = getelementptr inbounds %LSlice, ptr %t13630, i32 0, i32 0 %t13634 = load i32, ptr %t13631 %t13635 = load i32, ptr %t13632 %t13636 = icmp sge i32 %t13634, %t13635 br i1 %t13636, label %grow2766, label %put2767 grow2766: %t13637 = mul i32 %t13635, 2 %t13638 = icmp eq i32 %t13635, 0 %t13639 = select i1 %t13638, i32 8, i32 %t13637 %t13640 = getelementptr ptr, ptr null, i32 1 %t13641 = ptrtoint ptr %t13640 to i64 %t13642 = zext i32 %t13639 to i64 %t13643 = mul i64 %t13642, %t13641 %t13644 = load ptr, ptr %t13633 %t13645 = call ptr @realloc(ptr %t13644, i64 %t13643) store ptr %t13645, ptr %t13633 store i32 %t13639, ptr %t13632 br label %put2767 put2767: %t13646 = load ptr, ptr %t13633 %t13647 = getelementptr inbounds ptr, ptr %t13646, i32 %t13634 store ptr @.str8308, ptr %t13647 %t13648 = add i32 %t13634, 1 store i32 %t13648, ptr %t13631 %t13649 = load ptr, ptr %t410 %t13650 = getelementptr inbounds %LSlice, ptr %t13649, i32 0, i32 1 %t13651 = getelementptr inbounds %LSlice, ptr %t13649, i32 0, i32 2 %t13652 = getelementptr inbounds %LSlice, ptr %t13649, i32 0, i32 0 %t13653 = load i32, ptr %t13650 %t13654 = load i32, ptr %t13651 %t13655 = icmp sge i32 %t13653, %t13654 br i1 %t13655, label %grow2768, label %put2769 grow2768: %t13656 = mul i32 %t13654, 2 %t13657 = icmp eq i32 %t13654, 0 %t13658 = select i1 %t13657, i32 8, i32 %t13656 %t13659 = getelementptr ptr, ptr null, i32 1 %t13660 = ptrtoint ptr %t13659 to i64 %t13661 = zext i32 %t13658 to i64 %t13662 = mul i64 %t13661, %t13660 %t13663 = load ptr, ptr %t13652 %t13664 = call ptr @realloc(ptr %t13663, i64 %t13662) store ptr %t13664, ptr %t13652 store i32 %t13658, ptr %t13651 br label %put2769 put2769: %t13665 = load ptr, ptr %t13652 %t13666 = getelementptr inbounds ptr, ptr %t13665, i32 %t13653 store ptr @.str8309, ptr %t13666 %t13667 = add i32 %t13653, 1 store i32 %t13667, ptr %t13650 %t13668 = load ptr, ptr %t410 %t13669 = getelementptr inbounds %LSlice, ptr %t13668, i32 0, i32 1 %t13670 = getelementptr inbounds %LSlice, ptr %t13668, i32 0, i32 2 %t13671 = getelementptr inbounds %LSlice, ptr %t13668, i32 0, i32 0 %t13672 = load i32, ptr %t13669 %t13673 = load i32, ptr %t13670 %t13674 = icmp sge i32 %t13672, %t13673 br i1 %t13674, label %grow2770, label %put2771 grow2770: %t13675 = mul i32 %t13673, 2 %t13676 = icmp eq i32 %t13673, 0 %t13677 = select i1 %t13676, i32 8, i32 %t13675 %t13678 = getelementptr ptr, ptr null, i32 1 %t13679 = ptrtoint ptr %t13678 to i64 %t13680 = zext i32 %t13677 to i64 %t13681 = mul i64 %t13680, %t13679 %t13682 = load ptr, ptr %t13671 %t13683 = call ptr @realloc(ptr %t13682, i64 %t13681) store ptr %t13683, ptr %t13671 store i32 %t13677, ptr %t13670 br label %put2771 put2771: %t13684 = load ptr, ptr %t13671 %t13685 = getelementptr inbounds ptr, ptr %t13684, i32 %t13672 store ptr @.str8310, ptr %t13685 %t13686 = add i32 %t13672, 1 store i32 %t13686, ptr %t13669 %t13687 = load ptr, ptr %t410 %t13688 = getelementptr inbounds %LSlice, ptr %t13687, i32 0, i32 1 %t13689 = getelementptr inbounds %LSlice, ptr %t13687, i32 0, i32 2 %t13690 = getelementptr inbounds %LSlice, ptr %t13687, i32 0, i32 0 %t13691 = load i32, ptr %t13688 %t13692 = load i32, ptr %t13689 %t13693 = icmp sge i32 %t13691, %t13692 br i1 %t13693, label %grow2772, label %put2773 grow2772: %t13694 = mul i32 %t13692, 2 %t13695 = icmp eq i32 %t13692, 0 %t13696 = select i1 %t13695, i32 8, i32 %t13694 %t13697 = getelementptr ptr, ptr null, i32 1 %t13698 = ptrtoint ptr %t13697 to i64 %t13699 = zext i32 %t13696 to i64 %t13700 = mul i64 %t13699, %t13698 %t13701 = load ptr, ptr %t13690 %t13702 = call ptr @realloc(ptr %t13701, i64 %t13700) store ptr %t13702, ptr %t13690 store i32 %t13696, ptr %t13689 br label %put2773 put2773: %t13703 = load ptr, ptr %t13690 %t13704 = getelementptr inbounds ptr, ptr %t13703, i32 %t13691 store ptr @.str8311, ptr %t13704 %t13705 = add i32 %t13691, 1 store i32 %t13705, ptr %t13688 br label %ifend2765 ifend2765: %t13706 = load ptr, ptr %t1 %t13707 = call i32 @lp_str_eq(ptr %t13706, ptr @.str8312) %t13708 = icmp ne i32 %t13707, 0 br i1 %t13708, label %then2774, label %ifend2776 then2774: store ptr @.str8313, ptr %t403 %t13709 = load ptr, ptr %t410 %t13710 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 1 %t13711 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 2 %t13712 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 0 %t13713 = load i32, ptr %t13710 %t13714 = load i32, ptr %t13711 %t13715 = icmp sge i32 %t13713, %t13714 br i1 %t13715, label %grow2777, label %put2778 grow2777: %t13716 = mul i32 %t13714, 2 %t13717 = icmp eq i32 %t13714, 0 %t13718 = select i1 %t13717, i32 8, i32 %t13716 %t13719 = getelementptr ptr, ptr null, i32 1 %t13720 = ptrtoint ptr %t13719 to i64 %t13721 = zext i32 %t13718 to i64 %t13722 = mul i64 %t13721, %t13720 %t13723 = load ptr, ptr %t13712 %t13724 = call ptr @realloc(ptr %t13723, i64 %t13722) store ptr %t13724, ptr %t13712 store i32 %t13718, ptr %t13711 br label %put2778 put2778: %t13725 = load ptr, ptr %t13712 %t13726 = getelementptr inbounds ptr, ptr %t13725, i32 %t13713 store ptr @.str8314, ptr %t13726 %t13727 = add i32 %t13713, 1 store i32 %t13727, ptr %t13710 %t13728 = load ptr, ptr %t410 %t13729 = getelementptr inbounds %LSlice, ptr %t13728, i32 0, i32 1 %t13730 = getelementptr inbounds %LSlice, ptr %t13728, i32 0, i32 2 %t13731 = getelementptr inbounds %LSlice, ptr %t13728, i32 0, i32 0 %t13732 = load i32, ptr %t13729 %t13733 = load i32, ptr %t13730 %t13734 = icmp sge i32 %t13732, %t13733 br i1 %t13734, label %grow2779, label %put2780 grow2779: %t13735 = mul i32 %t13733, 2 %t13736 = icmp eq i32 %t13733, 0 %t13737 = select i1 %t13736, i32 8, i32 %t13735 %t13738 = getelementptr ptr, ptr null, i32 1 %t13739 = ptrtoint ptr %t13738 to i64 %t13740 = zext i32 %t13737 to i64 %t13741 = mul i64 %t13740, %t13739 %t13742 = load ptr, ptr %t13731 %t13743 = call ptr @realloc(ptr %t13742, i64 %t13741) store ptr %t13743, ptr %t13731 store i32 %t13737, ptr %t13730 br label %put2780 put2780: %t13744 = load ptr, ptr %t13731 %t13745 = getelementptr inbounds ptr, ptr %t13744, i32 %t13732 store ptr @.str8315, ptr %t13745 %t13746 = add i32 %t13732, 1 store i32 %t13746, ptr %t13729 br label %ifend2776 ifend2776: %t13747 = load ptr, ptr %t1 %t13748 = call i32 @lp_str_eq(ptr %t13747, ptr @.str8316) %t13749 = icmp ne i32 %t13748, 0 br i1 %t13749, label %then2781, label %ifend2783 then2781: store ptr @.str8317, ptr %t403 %t13750 = load ptr, ptr %t410 %t13751 = getelementptr inbounds %LSlice, ptr %t13750, i32 0, i32 1 %t13752 = getelementptr inbounds %LSlice, ptr %t13750, i32 0, i32 2 %t13753 = getelementptr inbounds %LSlice, ptr %t13750, i32 0, i32 0 %t13754 = load i32, ptr %t13751 %t13755 = load i32, ptr %t13752 %t13756 = icmp sge i32 %t13754, %t13755 br i1 %t13756, label %grow2784, label %put2785 grow2784: %t13757 = mul i32 %t13755, 2 %t13758 = icmp eq i32 %t13755, 0 %t13759 = select i1 %t13758, i32 8, i32 %t13757 %t13760 = getelementptr ptr, ptr null, i32 1 %t13761 = ptrtoint ptr %t13760 to i64 %t13762 = zext i32 %t13759 to i64 %t13763 = mul i64 %t13762, %t13761 %t13764 = load ptr, ptr %t13753 %t13765 = call ptr @realloc(ptr %t13764, i64 %t13763) store ptr %t13765, ptr %t13753 store i32 %t13759, ptr %t13752 br label %put2785 put2785: %t13766 = load ptr, ptr %t13753 %t13767 = getelementptr inbounds ptr, ptr %t13766, i32 %t13754 store ptr @.str8318, ptr %t13767 %t13768 = add i32 %t13754, 1 store i32 %t13768, ptr %t13751 br label %ifend2783 ifend2783: %t13769 = load ptr, ptr %t1 %t13770 = call i32 @lp_str_eq(ptr %t13769, ptr @.str8319) %t13771 = icmp ne i32 %t13770, 0 br i1 %t13771, label %then2786, label %ifend2788 then2786: store ptr @.str8320, ptr %t403 %t13772 = load ptr, ptr %t410 %t13773 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 1 %t13774 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 2 %t13775 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 0 %t13776 = load i32, ptr %t13773 %t13777 = load i32, ptr %t13774 %t13778 = icmp sge i32 %t13776, %t13777 br i1 %t13778, label %grow2789, label %put2790 grow2789: %t13779 = mul i32 %t13777, 2 %t13780 = icmp eq i32 %t13777, 0 %t13781 = select i1 %t13780, i32 8, i32 %t13779 %t13782 = getelementptr ptr, ptr null, i32 1 %t13783 = ptrtoint ptr %t13782 to i64 %t13784 = zext i32 %t13781 to i64 %t13785 = mul i64 %t13784, %t13783 %t13786 = load ptr, ptr %t13775 %t13787 = call ptr @realloc(ptr %t13786, i64 %t13785) store ptr %t13787, ptr %t13775 store i32 %t13781, ptr %t13774 br label %put2790 put2790: %t13788 = load ptr, ptr %t13775 %t13789 = getelementptr inbounds ptr, ptr %t13788, i32 %t13776 store ptr @.str8321, ptr %t13789 %t13790 = add i32 %t13776, 1 store i32 %t13790, ptr %t13773 br label %ifend2788 ifend2788: %t13791 = load ptr, ptr %t1 %t13792 = call i32 @lp_str_eq(ptr %t13791, ptr @.str8322) %t13793 = icmp ne i32 %t13792, 0 br i1 %t13793, label %then2791, label %ifend2793 then2791: store ptr @.str8323, ptr %t403 %t13794 = load ptr, ptr %t410 %t13795 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 1 %t13796 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 2 %t13797 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 0 %t13798 = load i32, ptr %t13795 %t13799 = load i32, ptr %t13796 %t13800 = icmp sge i32 %t13798, %t13799 br i1 %t13800, label %grow2794, label %put2795 grow2794: %t13801 = mul i32 %t13799, 2 %t13802 = icmp eq i32 %t13799, 0 %t13803 = select i1 %t13802, i32 8, i32 %t13801 %t13804 = getelementptr ptr, ptr null, i32 1 %t13805 = ptrtoint ptr %t13804 to i64 %t13806 = zext i32 %t13803 to i64 %t13807 = mul i64 %t13806, %t13805 %t13808 = load ptr, ptr %t13797 %t13809 = call ptr @realloc(ptr %t13808, i64 %t13807) store ptr %t13809, ptr %t13797 store i32 %t13803, ptr %t13796 br label %put2795 put2795: %t13810 = load ptr, ptr %t13797 %t13811 = getelementptr inbounds ptr, ptr %t13810, i32 %t13798 store ptr @.str8324, ptr %t13811 %t13812 = add i32 %t13798, 1 store i32 %t13812, ptr %t13795 br label %ifend2793 ifend2793: %t13813 = load ptr, ptr %t1 %t13814 = call i32 @lp_str_eq(ptr %t13813, ptr @.str8325) %t13815 = icmp ne i32 %t13814, 0 br i1 %t13815, label %then2796, label %ifend2798 then2796: store ptr @.str8326, ptr %t403 %t13816 = load ptr, ptr %t410 %t13817 = getelementptr inbounds %LSlice, ptr %t13816, i32 0, i32 1 %t13818 = getelementptr inbounds %LSlice, ptr %t13816, i32 0, i32 2 %t13819 = getelementptr inbounds %LSlice, ptr %t13816, i32 0, i32 0 %t13820 = load i32, ptr %t13817 %t13821 = load i32, ptr %t13818 %t13822 = icmp sge i32 %t13820, %t13821 br i1 %t13822, label %grow2799, label %put2800 grow2799: %t13823 = mul i32 %t13821, 2 %t13824 = icmp eq i32 %t13821, 0 %t13825 = select i1 %t13824, i32 8, i32 %t13823 %t13826 = getelementptr ptr, ptr null, i32 1 %t13827 = ptrtoint ptr %t13826 to i64 %t13828 = zext i32 %t13825 to i64 %t13829 = mul i64 %t13828, %t13827 %t13830 = load ptr, ptr %t13819 %t13831 = call ptr @realloc(ptr %t13830, i64 %t13829) store ptr %t13831, ptr %t13819 store i32 %t13825, ptr %t13818 br label %put2800 put2800: %t13832 = load ptr, ptr %t13819 %t13833 = getelementptr inbounds ptr, ptr %t13832, i32 %t13820 store ptr @.str8327, ptr %t13833 %t13834 = add i32 %t13820, 1 store i32 %t13834, ptr %t13817 %t13835 = load ptr, ptr %t410 %t13836 = getelementptr inbounds %LSlice, ptr %t13835, i32 0, i32 1 %t13837 = getelementptr inbounds %LSlice, ptr %t13835, i32 0, i32 2 %t13838 = getelementptr inbounds %LSlice, ptr %t13835, i32 0, i32 0 %t13839 = load i32, ptr %t13836 %t13840 = load i32, ptr %t13837 %t13841 = icmp sge i32 %t13839, %t13840 br i1 %t13841, label %grow2801, label %put2802 grow2801: %t13842 = mul i32 %t13840, 2 %t13843 = icmp eq i32 %t13840, 0 %t13844 = select i1 %t13843, i32 8, i32 %t13842 %t13845 = getelementptr ptr, ptr null, i32 1 %t13846 = ptrtoint ptr %t13845 to i64 %t13847 = zext i32 %t13844 to i64 %t13848 = mul i64 %t13847, %t13846 %t13849 = load ptr, ptr %t13838 %t13850 = call ptr @realloc(ptr %t13849, i64 %t13848) store ptr %t13850, ptr %t13838 store i32 %t13844, ptr %t13837 br label %put2802 put2802: %t13851 = load ptr, ptr %t13838 %t13852 = getelementptr inbounds ptr, ptr %t13851, i32 %t13839 store ptr @.str8328, ptr %t13852 %t13853 = add i32 %t13839, 1 store i32 %t13853, ptr %t13836 br label %ifend2798 ifend2798: %t13854 = load ptr, ptr %t1 %t13855 = call i32 @lp_str_eq(ptr %t13854, ptr @.str8329) %t13856 = icmp ne i32 %t13855, 0 br i1 %t13856, label %then2803, label %ifend2805 then2803: store ptr @.str8330, ptr %t403 %t13857 = load ptr, ptr %t410 %t13858 = getelementptr inbounds %LSlice, ptr %t13857, i32 0, i32 1 %t13859 = getelementptr inbounds %LSlice, ptr %t13857, i32 0, i32 2 %t13860 = getelementptr inbounds %LSlice, ptr %t13857, i32 0, i32 0 %t13861 = load i32, ptr %t13858 %t13862 = load i32, ptr %t13859 %t13863 = icmp sge i32 %t13861, %t13862 br i1 %t13863, label %grow2806, label %put2807 grow2806: %t13864 = mul i32 %t13862, 2 %t13865 = icmp eq i32 %t13862, 0 %t13866 = select i1 %t13865, i32 8, i32 %t13864 %t13867 = getelementptr ptr, ptr null, i32 1 %t13868 = ptrtoint ptr %t13867 to i64 %t13869 = zext i32 %t13866 to i64 %t13870 = mul i64 %t13869, %t13868 %t13871 = load ptr, ptr %t13860 %t13872 = call ptr @realloc(ptr %t13871, i64 %t13870) store ptr %t13872, ptr %t13860 store i32 %t13866, ptr %t13859 br label %put2807 put2807: %t13873 = load ptr, ptr %t13860 %t13874 = getelementptr inbounds ptr, ptr %t13873, i32 %t13861 store ptr @.str8331, ptr %t13874 %t13875 = add i32 %t13861, 1 store i32 %t13875, ptr %t13858 %t13876 = load ptr, ptr %t410 %t13877 = getelementptr inbounds %LSlice, ptr %t13876, i32 0, i32 1 %t13878 = getelementptr inbounds %LSlice, ptr %t13876, i32 0, i32 2 %t13879 = getelementptr inbounds %LSlice, ptr %t13876, i32 0, i32 0 %t13880 = load i32, ptr %t13877 %t13881 = load i32, ptr %t13878 %t13882 = icmp sge i32 %t13880, %t13881 br i1 %t13882, label %grow2808, label %put2809 grow2808: %t13883 = mul i32 %t13881, 2 %t13884 = icmp eq i32 %t13881, 0 %t13885 = select i1 %t13884, i32 8, i32 %t13883 %t13886 = getelementptr ptr, ptr null, i32 1 %t13887 = ptrtoint ptr %t13886 to i64 %t13888 = zext i32 %t13885 to i64 %t13889 = mul i64 %t13888, %t13887 %t13890 = load ptr, ptr %t13879 %t13891 = call ptr @realloc(ptr %t13890, i64 %t13889) store ptr %t13891, ptr %t13879 store i32 %t13885, ptr %t13878 br label %put2809 put2809: %t13892 = load ptr, ptr %t13879 %t13893 = getelementptr inbounds ptr, ptr %t13892, i32 %t13880 store ptr @.str8332, ptr %t13893 %t13894 = add i32 %t13880, 1 store i32 %t13894, ptr %t13877 %t13895 = load ptr, ptr %t410 %t13896 = getelementptr inbounds %LSlice, ptr %t13895, i32 0, i32 1 %t13897 = getelementptr inbounds %LSlice, ptr %t13895, i32 0, i32 2 %t13898 = getelementptr inbounds %LSlice, ptr %t13895, i32 0, i32 0 %t13899 = load i32, ptr %t13896 %t13900 = load i32, ptr %t13897 %t13901 = icmp sge i32 %t13899, %t13900 br i1 %t13901, label %grow2810, label %put2811 grow2810: %t13902 = mul i32 %t13900, 2 %t13903 = icmp eq i32 %t13900, 0 %t13904 = select i1 %t13903, i32 8, i32 %t13902 %t13905 = getelementptr ptr, ptr null, i32 1 %t13906 = ptrtoint ptr %t13905 to i64 %t13907 = zext i32 %t13904 to i64 %t13908 = mul i64 %t13907, %t13906 %t13909 = load ptr, ptr %t13898 %t13910 = call ptr @realloc(ptr %t13909, i64 %t13908) store ptr %t13910, ptr %t13898 store i32 %t13904, ptr %t13897 br label %put2811 put2811: %t13911 = load ptr, ptr %t13898 %t13912 = getelementptr inbounds ptr, ptr %t13911, i32 %t13899 store ptr @.str8333, ptr %t13912 %t13913 = add i32 %t13899, 1 store i32 %t13913, ptr %t13896 br label %ifend2805 ifend2805: %t13914 = load ptr, ptr %t1 %t13915 = call i32 @lp_str_eq(ptr %t13914, ptr @.str8334) %t13916 = icmp ne i32 %t13915, 0 br i1 %t13916, label %then2812, label %ifend2814 then2812: store ptr @.str8335, ptr %t403 %t13917 = load ptr, ptr %t410 %t13918 = getelementptr inbounds %LSlice, ptr %t13917, i32 0, i32 1 %t13919 = getelementptr inbounds %LSlice, ptr %t13917, i32 0, i32 2 %t13920 = getelementptr inbounds %LSlice, ptr %t13917, i32 0, i32 0 %t13921 = load i32, ptr %t13918 %t13922 = load i32, ptr %t13919 %t13923 = icmp sge i32 %t13921, %t13922 br i1 %t13923, label %grow2815, label %put2816 grow2815: %t13924 = mul i32 %t13922, 2 %t13925 = icmp eq i32 %t13922, 0 %t13926 = select i1 %t13925, i32 8, i32 %t13924 %t13927 = getelementptr ptr, ptr null, i32 1 %t13928 = ptrtoint ptr %t13927 to i64 %t13929 = zext i32 %t13926 to i64 %t13930 = mul i64 %t13929, %t13928 %t13931 = load ptr, ptr %t13920 %t13932 = call ptr @realloc(ptr %t13931, i64 %t13930) store ptr %t13932, ptr %t13920 store i32 %t13926, ptr %t13919 br label %put2816 put2816: %t13933 = load ptr, ptr %t13920 %t13934 = getelementptr inbounds ptr, ptr %t13933, i32 %t13921 store ptr @.str8336, ptr %t13934 %t13935 = add i32 %t13921, 1 store i32 %t13935, ptr %t13918 %t13936 = load ptr, ptr %t410 %t13937 = getelementptr inbounds %LSlice, ptr %t13936, i32 0, i32 1 %t13938 = getelementptr inbounds %LSlice, ptr %t13936, i32 0, i32 2 %t13939 = getelementptr inbounds %LSlice, ptr %t13936, i32 0, i32 0 %t13940 = load i32, ptr %t13937 %t13941 = load i32, ptr %t13938 %t13942 = icmp sge i32 %t13940, %t13941 br i1 %t13942, label %grow2817, label %put2818 grow2817: %t13943 = mul i32 %t13941, 2 %t13944 = icmp eq i32 %t13941, 0 %t13945 = select i1 %t13944, i32 8, i32 %t13943 %t13946 = getelementptr ptr, ptr null, i32 1 %t13947 = ptrtoint ptr %t13946 to i64 %t13948 = zext i32 %t13945 to i64 %t13949 = mul i64 %t13948, %t13947 %t13950 = load ptr, ptr %t13939 %t13951 = call ptr @realloc(ptr %t13950, i64 %t13949) store ptr %t13951, ptr %t13939 store i32 %t13945, ptr %t13938 br label %put2818 put2818: %t13952 = load ptr, ptr %t13939 %t13953 = getelementptr inbounds ptr, ptr %t13952, i32 %t13940 store ptr @.str8337, ptr %t13953 %t13954 = add i32 %t13940, 1 store i32 %t13954, ptr %t13937 %t13955 = load ptr, ptr %t410 %t13956 = getelementptr inbounds %LSlice, ptr %t13955, i32 0, i32 1 %t13957 = getelementptr inbounds %LSlice, ptr %t13955, i32 0, i32 2 %t13958 = getelementptr inbounds %LSlice, ptr %t13955, i32 0, i32 0 %t13959 = load i32, ptr %t13956 %t13960 = load i32, ptr %t13957 %t13961 = icmp sge i32 %t13959, %t13960 br i1 %t13961, label %grow2819, label %put2820 grow2819: %t13962 = mul i32 %t13960, 2 %t13963 = icmp eq i32 %t13960, 0 %t13964 = select i1 %t13963, i32 8, i32 %t13962 %t13965 = getelementptr ptr, ptr null, i32 1 %t13966 = ptrtoint ptr %t13965 to i64 %t13967 = zext i32 %t13964 to i64 %t13968 = mul i64 %t13967, %t13966 %t13969 = load ptr, ptr %t13958 %t13970 = call ptr @realloc(ptr %t13969, i64 %t13968) store ptr %t13970, ptr %t13958 store i32 %t13964, ptr %t13957 br label %put2820 put2820: %t13971 = load ptr, ptr %t13958 %t13972 = getelementptr inbounds ptr, ptr %t13971, i32 %t13959 store ptr @.str8338, ptr %t13972 %t13973 = add i32 %t13959, 1 store i32 %t13973, ptr %t13956 %t13974 = load ptr, ptr %t410 %t13975 = getelementptr inbounds %LSlice, ptr %t13974, i32 0, i32 1 %t13976 = getelementptr inbounds %LSlice, ptr %t13974, i32 0, i32 2 %t13977 = getelementptr inbounds %LSlice, ptr %t13974, i32 0, i32 0 %t13978 = load i32, ptr %t13975 %t13979 = load i32, ptr %t13976 %t13980 = icmp sge i32 %t13978, %t13979 br i1 %t13980, label %grow2821, label %put2822 grow2821: %t13981 = mul i32 %t13979, 2 %t13982 = icmp eq i32 %t13979, 0 %t13983 = select i1 %t13982, i32 8, i32 %t13981 %t13984 = getelementptr ptr, ptr null, i32 1 %t13985 = ptrtoint ptr %t13984 to i64 %t13986 = zext i32 %t13983 to i64 %t13987 = mul i64 %t13986, %t13985 %t13988 = load ptr, ptr %t13977 %t13989 = call ptr @realloc(ptr %t13988, i64 %t13987) store ptr %t13989, ptr %t13977 store i32 %t13983, ptr %t13976 br label %put2822 put2822: %t13990 = load ptr, ptr %t13977 %t13991 = getelementptr inbounds ptr, ptr %t13990, i32 %t13978 store ptr @.str8339, ptr %t13991 %t13992 = add i32 %t13978, 1 store i32 %t13992, ptr %t13975 br label %ifend2814 ifend2814: %t13993 = load ptr, ptr %t1 %t13994 = call i32 @lp_str_eq(ptr %t13993, ptr @.str8340) %t13995 = icmp ne i32 %t13994, 0 br i1 %t13995, label %then2823, label %ifend2825 then2823: store ptr @.str8341, ptr %t403 %t13996 = load ptr, ptr %t410 %t13997 = getelementptr inbounds %LSlice, ptr %t13996, i32 0, i32 1 %t13998 = getelementptr inbounds %LSlice, ptr %t13996, i32 0, i32 2 %t13999 = getelementptr inbounds %LSlice, ptr %t13996, i32 0, i32 0 %t14000 = load i32, ptr %t13997 %t14001 = load i32, ptr %t13998 %t14002 = icmp sge i32 %t14000, %t14001 br i1 %t14002, label %grow2826, label %put2827 grow2826: %t14003 = mul i32 %t14001, 2 %t14004 = icmp eq i32 %t14001, 0 %t14005 = select i1 %t14004, i32 8, i32 %t14003 %t14006 = getelementptr ptr, ptr null, i32 1 %t14007 = ptrtoint ptr %t14006 to i64 %t14008 = zext i32 %t14005 to i64 %t14009 = mul i64 %t14008, %t14007 %t14010 = load ptr, ptr %t13999 %t14011 = call ptr @realloc(ptr %t14010, i64 %t14009) store ptr %t14011, ptr %t13999 store i32 %t14005, ptr %t13998 br label %put2827 put2827: %t14012 = load ptr, ptr %t13999 %t14013 = getelementptr inbounds ptr, ptr %t14012, i32 %t14000 store ptr @.str8342, ptr %t14013 %t14014 = add i32 %t14000, 1 store i32 %t14014, ptr %t13997 %t14015 = load ptr, ptr %t410 %t14016 = getelementptr inbounds %LSlice, ptr %t14015, i32 0, i32 1 %t14017 = getelementptr inbounds %LSlice, ptr %t14015, i32 0, i32 2 %t14018 = getelementptr inbounds %LSlice, ptr %t14015, i32 0, i32 0 %t14019 = load i32, ptr %t14016 %t14020 = load i32, ptr %t14017 %t14021 = icmp sge i32 %t14019, %t14020 br i1 %t14021, label %grow2828, label %put2829 grow2828: %t14022 = mul i32 %t14020, 2 %t14023 = icmp eq i32 %t14020, 0 %t14024 = select i1 %t14023, i32 8, i32 %t14022 %t14025 = getelementptr ptr, ptr null, i32 1 %t14026 = ptrtoint ptr %t14025 to i64 %t14027 = zext i32 %t14024 to i64 %t14028 = mul i64 %t14027, %t14026 %t14029 = load ptr, ptr %t14018 %t14030 = call ptr @realloc(ptr %t14029, i64 %t14028) store ptr %t14030, ptr %t14018 store i32 %t14024, ptr %t14017 br label %put2829 put2829: %t14031 = load ptr, ptr %t14018 %t14032 = getelementptr inbounds ptr, ptr %t14031, i32 %t14019 store ptr @.str8343, ptr %t14032 %t14033 = add i32 %t14019, 1 store i32 %t14033, ptr %t14016 %t14034 = load ptr, ptr %t410 %t14035 = getelementptr inbounds %LSlice, ptr %t14034, i32 0, i32 1 %t14036 = getelementptr inbounds %LSlice, ptr %t14034, i32 0, i32 2 %t14037 = getelementptr inbounds %LSlice, ptr %t14034, i32 0, i32 0 %t14038 = load i32, ptr %t14035 %t14039 = load i32, ptr %t14036 %t14040 = icmp sge i32 %t14038, %t14039 br i1 %t14040, label %grow2830, label %put2831 grow2830: %t14041 = mul i32 %t14039, 2 %t14042 = icmp eq i32 %t14039, 0 %t14043 = select i1 %t14042, i32 8, i32 %t14041 %t14044 = getelementptr ptr, ptr null, i32 1 %t14045 = ptrtoint ptr %t14044 to i64 %t14046 = zext i32 %t14043 to i64 %t14047 = mul i64 %t14046, %t14045 %t14048 = load ptr, ptr %t14037 %t14049 = call ptr @realloc(ptr %t14048, i64 %t14047) store ptr %t14049, ptr %t14037 store i32 %t14043, ptr %t14036 br label %put2831 put2831: %t14050 = load ptr, ptr %t14037 %t14051 = getelementptr inbounds ptr, ptr %t14050, i32 %t14038 store ptr @.str8344, ptr %t14051 %t14052 = add i32 %t14038, 1 store i32 %t14052, ptr %t14035 br label %ifend2825 ifend2825: %t14053 = load ptr, ptr %t1 %t14054 = call i32 @lp_str_eq(ptr %t14053, ptr @.str8345) %t14055 = icmp ne i32 %t14054, 0 br i1 %t14055, label %then2832, label %ifend2834 then2832: store ptr @.str8346, ptr %t403 %t14056 = load ptr, ptr %t410 %t14057 = getelementptr inbounds %LSlice, ptr %t14056, i32 0, i32 1 %t14058 = getelementptr inbounds %LSlice, ptr %t14056, i32 0, i32 2 %t14059 = getelementptr inbounds %LSlice, ptr %t14056, i32 0, i32 0 %t14060 = load i32, ptr %t14057 %t14061 = load i32, ptr %t14058 %t14062 = icmp sge i32 %t14060, %t14061 br i1 %t14062, label %grow2835, label %put2836 grow2835: %t14063 = mul i32 %t14061, 2 %t14064 = icmp eq i32 %t14061, 0 %t14065 = select i1 %t14064, i32 8, i32 %t14063 %t14066 = getelementptr ptr, ptr null, i32 1 %t14067 = ptrtoint ptr %t14066 to i64 %t14068 = zext i32 %t14065 to i64 %t14069 = mul i64 %t14068, %t14067 %t14070 = load ptr, ptr %t14059 %t14071 = call ptr @realloc(ptr %t14070, i64 %t14069) store ptr %t14071, ptr %t14059 store i32 %t14065, ptr %t14058 br label %put2836 put2836: %t14072 = load ptr, ptr %t14059 %t14073 = getelementptr inbounds ptr, ptr %t14072, i32 %t14060 store ptr @.str8347, ptr %t14073 %t14074 = add i32 %t14060, 1 store i32 %t14074, ptr %t14057 %t14075 = load ptr, ptr %t410 %t14076 = getelementptr inbounds %LSlice, ptr %t14075, i32 0, i32 1 %t14077 = getelementptr inbounds %LSlice, ptr %t14075, i32 0, i32 2 %t14078 = getelementptr inbounds %LSlice, ptr %t14075, i32 0, i32 0 %t14079 = load i32, ptr %t14076 %t14080 = load i32, ptr %t14077 %t14081 = icmp sge i32 %t14079, %t14080 br i1 %t14081, label %grow2837, label %put2838 grow2837: %t14082 = mul i32 %t14080, 2 %t14083 = icmp eq i32 %t14080, 0 %t14084 = select i1 %t14083, i32 8, i32 %t14082 %t14085 = getelementptr ptr, ptr null, i32 1 %t14086 = ptrtoint ptr %t14085 to i64 %t14087 = zext i32 %t14084 to i64 %t14088 = mul i64 %t14087, %t14086 %t14089 = load ptr, ptr %t14078 %t14090 = call ptr @realloc(ptr %t14089, i64 %t14088) store ptr %t14090, ptr %t14078 store i32 %t14084, ptr %t14077 br label %put2838 put2838: %t14091 = load ptr, ptr %t14078 %t14092 = getelementptr inbounds ptr, ptr %t14091, i32 %t14079 store ptr @.str8348, ptr %t14092 %t14093 = add i32 %t14079, 1 store i32 %t14093, ptr %t14076 br label %ifend2834 ifend2834: %t14094 = load ptr, ptr %t1 %t14095 = call i32 @lp_str_eq(ptr %t14094, ptr @.str8349) %t14096 = icmp ne i32 %t14095, 0 br i1 %t14096, label %then2839, label %ifend2841 then2839: store ptr @.str8350, ptr %t403 %t14097 = load ptr, ptr %t410 %t14098 = getelementptr inbounds %LSlice, ptr %t14097, i32 0, i32 1 %t14099 = getelementptr inbounds %LSlice, ptr %t14097, i32 0, i32 2 %t14100 = getelementptr inbounds %LSlice, ptr %t14097, i32 0, i32 0 %t14101 = load i32, ptr %t14098 %t14102 = load i32, ptr %t14099 %t14103 = icmp sge i32 %t14101, %t14102 br i1 %t14103, label %grow2842, label %put2843 grow2842: %t14104 = mul i32 %t14102, 2 %t14105 = icmp eq i32 %t14102, 0 %t14106 = select i1 %t14105, i32 8, i32 %t14104 %t14107 = getelementptr ptr, ptr null, i32 1 %t14108 = ptrtoint ptr %t14107 to i64 %t14109 = zext i32 %t14106 to i64 %t14110 = mul i64 %t14109, %t14108 %t14111 = load ptr, ptr %t14100 %t14112 = call ptr @realloc(ptr %t14111, i64 %t14110) store ptr %t14112, ptr %t14100 store i32 %t14106, ptr %t14099 br label %put2843 put2843: %t14113 = load ptr, ptr %t14100 %t14114 = getelementptr inbounds ptr, ptr %t14113, i32 %t14101 store ptr @.str8351, ptr %t14114 %t14115 = add i32 %t14101, 1 store i32 %t14115, ptr %t14098 %t14116 = load ptr, ptr %t410 %t14117 = getelementptr inbounds %LSlice, ptr %t14116, i32 0, i32 1 %t14118 = getelementptr inbounds %LSlice, ptr %t14116, i32 0, i32 2 %t14119 = getelementptr inbounds %LSlice, ptr %t14116, i32 0, i32 0 %t14120 = load i32, ptr %t14117 %t14121 = load i32, ptr %t14118 %t14122 = icmp sge i32 %t14120, %t14121 br i1 %t14122, label %grow2844, label %put2845 grow2844: %t14123 = mul i32 %t14121, 2 %t14124 = icmp eq i32 %t14121, 0 %t14125 = select i1 %t14124, i32 8, i32 %t14123 %t14126 = getelementptr ptr, ptr null, i32 1 %t14127 = ptrtoint ptr %t14126 to i64 %t14128 = zext i32 %t14125 to i64 %t14129 = mul i64 %t14128, %t14127 %t14130 = load ptr, ptr %t14119 %t14131 = call ptr @realloc(ptr %t14130, i64 %t14129) store ptr %t14131, ptr %t14119 store i32 %t14125, ptr %t14118 br label %put2845 put2845: %t14132 = load ptr, ptr %t14119 %t14133 = getelementptr inbounds ptr, ptr %t14132, i32 %t14120 store ptr @.str8352, ptr %t14133 %t14134 = add i32 %t14120, 1 store i32 %t14134, ptr %t14117 br label %ifend2841 ifend2841: %t14135 = load ptr, ptr %t1 %t14136 = call i32 @lp_str_eq(ptr %t14135, ptr @.str8353) %t14137 = icmp ne i32 %t14136, 0 br i1 %t14137, label %then2846, label %ifend2848 then2846: store ptr @.str8354, ptr %t403 %t14138 = load ptr, ptr %t410 %t14139 = getelementptr inbounds %LSlice, ptr %t14138, i32 0, i32 1 %t14140 = getelementptr inbounds %LSlice, ptr %t14138, i32 0, i32 2 %t14141 = getelementptr inbounds %LSlice, ptr %t14138, i32 0, i32 0 %t14142 = load i32, ptr %t14139 %t14143 = load i32, ptr %t14140 %t14144 = icmp sge i32 %t14142, %t14143 br i1 %t14144, label %grow2849, label %put2850 grow2849: %t14145 = mul i32 %t14143, 2 %t14146 = icmp eq i32 %t14143, 0 %t14147 = select i1 %t14146, i32 8, i32 %t14145 %t14148 = getelementptr ptr, ptr null, i32 1 %t14149 = ptrtoint ptr %t14148 to i64 %t14150 = zext i32 %t14147 to i64 %t14151 = mul i64 %t14150, %t14149 %t14152 = load ptr, ptr %t14141 %t14153 = call ptr @realloc(ptr %t14152, i64 %t14151) store ptr %t14153, ptr %t14141 store i32 %t14147, ptr %t14140 br label %put2850 put2850: %t14154 = load ptr, ptr %t14141 %t14155 = getelementptr inbounds ptr, ptr %t14154, i32 %t14142 store ptr @.str8355, ptr %t14155 %t14156 = add i32 %t14142, 1 store i32 %t14156, ptr %t14139 %t14157 = load ptr, ptr %t410 %t14158 = getelementptr inbounds %LSlice, ptr %t14157, i32 0, i32 1 %t14159 = getelementptr inbounds %LSlice, ptr %t14157, i32 0, i32 2 %t14160 = getelementptr inbounds %LSlice, ptr %t14157, i32 0, i32 0 %t14161 = load i32, ptr %t14158 %t14162 = load i32, ptr %t14159 %t14163 = icmp sge i32 %t14161, %t14162 br i1 %t14163, label %grow2851, label %put2852 grow2851: %t14164 = mul i32 %t14162, 2 %t14165 = icmp eq i32 %t14162, 0 %t14166 = select i1 %t14165, i32 8, i32 %t14164 %t14167 = getelementptr ptr, ptr null, i32 1 %t14168 = ptrtoint ptr %t14167 to i64 %t14169 = zext i32 %t14166 to i64 %t14170 = mul i64 %t14169, %t14168 %t14171 = load ptr, ptr %t14160 %t14172 = call ptr @realloc(ptr %t14171, i64 %t14170) store ptr %t14172, ptr %t14160 store i32 %t14166, ptr %t14159 br label %put2852 put2852: %t14173 = load ptr, ptr %t14160 %t14174 = getelementptr inbounds ptr, ptr %t14173, i32 %t14161 store ptr @.str8356, ptr %t14174 %t14175 = add i32 %t14161, 1 store i32 %t14175, ptr %t14158 br label %ifend2848 ifend2848: %t14176 = load ptr, ptr %t1 %t14177 = call i32 @lp_str_eq(ptr %t14176, ptr @.str8357) %t14178 = icmp ne i32 %t14177, 0 br i1 %t14178, label %then2853, label %ifend2855 then2853: store ptr @.str8358, ptr %t403 %t14179 = load ptr, ptr %t410 %t14180 = getelementptr inbounds %LSlice, ptr %t14179, i32 0, i32 1 %t14181 = getelementptr inbounds %LSlice, ptr %t14179, i32 0, i32 2 %t14182 = getelementptr inbounds %LSlice, ptr %t14179, i32 0, i32 0 %t14183 = load i32, ptr %t14180 %t14184 = load i32, ptr %t14181 %t14185 = icmp sge i32 %t14183, %t14184 br i1 %t14185, label %grow2856, label %put2857 grow2856: %t14186 = mul i32 %t14184, 2 %t14187 = icmp eq i32 %t14184, 0 %t14188 = select i1 %t14187, i32 8, i32 %t14186 %t14189 = getelementptr ptr, ptr null, i32 1 %t14190 = ptrtoint ptr %t14189 to i64 %t14191 = zext i32 %t14188 to i64 %t14192 = mul i64 %t14191, %t14190 %t14193 = load ptr, ptr %t14182 %t14194 = call ptr @realloc(ptr %t14193, i64 %t14192) store ptr %t14194, ptr %t14182 store i32 %t14188, ptr %t14181 br label %put2857 put2857: %t14195 = load ptr, ptr %t14182 %t14196 = getelementptr inbounds ptr, ptr %t14195, i32 %t14183 store ptr @.str8359, ptr %t14196 %t14197 = add i32 %t14183, 1 store i32 %t14197, ptr %t14180 %t14198 = load ptr, ptr %t410 %t14199 = getelementptr inbounds %LSlice, ptr %t14198, i32 0, i32 1 %t14200 = getelementptr inbounds %LSlice, ptr %t14198, i32 0, i32 2 %t14201 = getelementptr inbounds %LSlice, ptr %t14198, i32 0, i32 0 %t14202 = load i32, ptr %t14199 %t14203 = load i32, ptr %t14200 %t14204 = icmp sge i32 %t14202, %t14203 br i1 %t14204, label %grow2858, label %put2859 grow2858: %t14205 = mul i32 %t14203, 2 %t14206 = icmp eq i32 %t14203, 0 %t14207 = select i1 %t14206, i32 8, i32 %t14205 %t14208 = getelementptr ptr, ptr null, i32 1 %t14209 = ptrtoint ptr %t14208 to i64 %t14210 = zext i32 %t14207 to i64 %t14211 = mul i64 %t14210, %t14209 %t14212 = load ptr, ptr %t14201 %t14213 = call ptr @realloc(ptr %t14212, i64 %t14211) store ptr %t14213, ptr %t14201 store i32 %t14207, ptr %t14200 br label %put2859 put2859: %t14214 = load ptr, ptr %t14201 %t14215 = getelementptr inbounds ptr, ptr %t14214, i32 %t14202 store ptr @.str8360, ptr %t14215 %t14216 = add i32 %t14202, 1 store i32 %t14216, ptr %t14199 br label %ifend2855 ifend2855: %t14217 = load ptr, ptr %t1 %t14218 = call i32 @lp_str_eq(ptr %t14217, ptr @.str8361) %t14219 = icmp ne i32 %t14218, 0 br i1 %t14219, label %then2860, label %ifend2862 then2860: store ptr @.str8362, ptr %t403 %t14220 = load ptr, ptr %t410 %t14221 = getelementptr inbounds %LSlice, ptr %t14220, i32 0, i32 1 %t14222 = getelementptr inbounds %LSlice, ptr %t14220, i32 0, i32 2 %t14223 = getelementptr inbounds %LSlice, ptr %t14220, i32 0, i32 0 %t14224 = load i32, ptr %t14221 %t14225 = load i32, ptr %t14222 %t14226 = icmp sge i32 %t14224, %t14225 br i1 %t14226, label %grow2863, label %put2864 grow2863: %t14227 = mul i32 %t14225, 2 %t14228 = icmp eq i32 %t14225, 0 %t14229 = select i1 %t14228, i32 8, i32 %t14227 %t14230 = getelementptr ptr, ptr null, i32 1 %t14231 = ptrtoint ptr %t14230 to i64 %t14232 = zext i32 %t14229 to i64 %t14233 = mul i64 %t14232, %t14231 %t14234 = load ptr, ptr %t14223 %t14235 = call ptr @realloc(ptr %t14234, i64 %t14233) store ptr %t14235, ptr %t14223 store i32 %t14229, ptr %t14222 br label %put2864 put2864: %t14236 = load ptr, ptr %t14223 %t14237 = getelementptr inbounds ptr, ptr %t14236, i32 %t14224 store ptr @.str8363, ptr %t14237 %t14238 = add i32 %t14224, 1 store i32 %t14238, ptr %t14221 br label %ifend2862 ifend2862: %t14239 = load ptr, ptr %t1 %t14240 = call i32 @lp_str_eq(ptr %t14239, ptr @.str8364) %t14241 = icmp ne i32 %t14240, 0 br i1 %t14241, label %then2865, label %ifend2867 then2865: store ptr @.str8365, ptr %t403 %t14242 = load ptr, ptr %t410 %t14243 = getelementptr inbounds %LSlice, ptr %t14242, i32 0, i32 1 %t14244 = getelementptr inbounds %LSlice, ptr %t14242, i32 0, i32 2 %t14245 = getelementptr inbounds %LSlice, ptr %t14242, i32 0, i32 0 %t14246 = load i32, ptr %t14243 %t14247 = load i32, ptr %t14244 %t14248 = icmp sge i32 %t14246, %t14247 br i1 %t14248, label %grow2868, label %put2869 grow2868: %t14249 = mul i32 %t14247, 2 %t14250 = icmp eq i32 %t14247, 0 %t14251 = select i1 %t14250, i32 8, i32 %t14249 %t14252 = getelementptr ptr, ptr null, i32 1 %t14253 = ptrtoint ptr %t14252 to i64 %t14254 = zext i32 %t14251 to i64 %t14255 = mul i64 %t14254, %t14253 %t14256 = load ptr, ptr %t14245 %t14257 = call ptr @realloc(ptr %t14256, i64 %t14255) store ptr %t14257, ptr %t14245 store i32 %t14251, ptr %t14244 br label %put2869 put2869: %t14258 = load ptr, ptr %t14245 %t14259 = getelementptr inbounds ptr, ptr %t14258, i32 %t14246 store ptr @.str8366, ptr %t14259 %t14260 = add i32 %t14246, 1 store i32 %t14260, ptr %t14243 %t14261 = load ptr, ptr %t410 %t14262 = getelementptr inbounds %LSlice, ptr %t14261, i32 0, i32 1 %t14263 = getelementptr inbounds %LSlice, ptr %t14261, i32 0, i32 2 %t14264 = getelementptr inbounds %LSlice, ptr %t14261, i32 0, i32 0 %t14265 = load i32, ptr %t14262 %t14266 = load i32, ptr %t14263 %t14267 = icmp sge i32 %t14265, %t14266 br i1 %t14267, label %grow2870, label %put2871 grow2870: %t14268 = mul i32 %t14266, 2 %t14269 = icmp eq i32 %t14266, 0 %t14270 = select i1 %t14269, i32 8, i32 %t14268 %t14271 = getelementptr ptr, ptr null, i32 1 %t14272 = ptrtoint ptr %t14271 to i64 %t14273 = zext i32 %t14270 to i64 %t14274 = mul i64 %t14273, %t14272 %t14275 = load ptr, ptr %t14264 %t14276 = call ptr @realloc(ptr %t14275, i64 %t14274) store ptr %t14276, ptr %t14264 store i32 %t14270, ptr %t14263 br label %put2871 put2871: %t14277 = load ptr, ptr %t14264 %t14278 = getelementptr inbounds ptr, ptr %t14277, i32 %t14265 store ptr @.str8367, ptr %t14278 %t14279 = add i32 %t14265, 1 store i32 %t14279, ptr %t14262 %t14280 = load ptr, ptr %t410 %t14281 = getelementptr inbounds %LSlice, ptr %t14280, i32 0, i32 1 %t14282 = getelementptr inbounds %LSlice, ptr %t14280, i32 0, i32 2 %t14283 = getelementptr inbounds %LSlice, ptr %t14280, i32 0, i32 0 %t14284 = load i32, ptr %t14281 %t14285 = load i32, ptr %t14282 %t14286 = icmp sge i32 %t14284, %t14285 br i1 %t14286, label %grow2872, label %put2873 grow2872: %t14287 = mul i32 %t14285, 2 %t14288 = icmp eq i32 %t14285, 0 %t14289 = select i1 %t14288, i32 8, i32 %t14287 %t14290 = getelementptr ptr, ptr null, i32 1 %t14291 = ptrtoint ptr %t14290 to i64 %t14292 = zext i32 %t14289 to i64 %t14293 = mul i64 %t14292, %t14291 %t14294 = load ptr, ptr %t14283 %t14295 = call ptr @realloc(ptr %t14294, i64 %t14293) store ptr %t14295, ptr %t14283 store i32 %t14289, ptr %t14282 br label %put2873 put2873: %t14296 = load ptr, ptr %t14283 %t14297 = getelementptr inbounds ptr, ptr %t14296, i32 %t14284 store ptr @.str8368, ptr %t14297 %t14298 = add i32 %t14284, 1 store i32 %t14298, ptr %t14281 br label %ifend2867 ifend2867: %t14299 = load ptr, ptr %t1 %t14300 = call i32 @lp_str_eq(ptr %t14299, ptr @.str8369) %t14301 = icmp ne i32 %t14300, 0 br i1 %t14301, label %then2874, label %ifend2876 then2874: store ptr @.str8370, ptr %t403 %t14302 = load ptr, ptr %t410 %t14303 = getelementptr inbounds %LSlice, ptr %t14302, i32 0, i32 1 %t14304 = getelementptr inbounds %LSlice, ptr %t14302, i32 0, i32 2 %t14305 = getelementptr inbounds %LSlice, ptr %t14302, i32 0, i32 0 %t14306 = load i32, ptr %t14303 %t14307 = load i32, ptr %t14304 %t14308 = icmp sge i32 %t14306, %t14307 br i1 %t14308, label %grow2877, label %put2878 grow2877: %t14309 = mul i32 %t14307, 2 %t14310 = icmp eq i32 %t14307, 0 %t14311 = select i1 %t14310, i32 8, i32 %t14309 %t14312 = getelementptr ptr, ptr null, i32 1 %t14313 = ptrtoint ptr %t14312 to i64 %t14314 = zext i32 %t14311 to i64 %t14315 = mul i64 %t14314, %t14313 %t14316 = load ptr, ptr %t14305 %t14317 = call ptr @realloc(ptr %t14316, i64 %t14315) store ptr %t14317, ptr %t14305 store i32 %t14311, ptr %t14304 br label %put2878 put2878: %t14318 = load ptr, ptr %t14305 %t14319 = getelementptr inbounds ptr, ptr %t14318, i32 %t14306 store ptr @.str8371, ptr %t14319 %t14320 = add i32 %t14306, 1 store i32 %t14320, ptr %t14303 %t14321 = load ptr, ptr %t410 %t14322 = getelementptr inbounds %LSlice, ptr %t14321, i32 0, i32 1 %t14323 = getelementptr inbounds %LSlice, ptr %t14321, i32 0, i32 2 %t14324 = getelementptr inbounds %LSlice, ptr %t14321, i32 0, i32 0 %t14325 = load i32, ptr %t14322 %t14326 = load i32, ptr %t14323 %t14327 = icmp sge i32 %t14325, %t14326 br i1 %t14327, label %grow2879, label %put2880 grow2879: %t14328 = mul i32 %t14326, 2 %t14329 = icmp eq i32 %t14326, 0 %t14330 = select i1 %t14329, i32 8, i32 %t14328 %t14331 = getelementptr ptr, ptr null, i32 1 %t14332 = ptrtoint ptr %t14331 to i64 %t14333 = zext i32 %t14330 to i64 %t14334 = mul i64 %t14333, %t14332 %t14335 = load ptr, ptr %t14324 %t14336 = call ptr @realloc(ptr %t14335, i64 %t14334) store ptr %t14336, ptr %t14324 store i32 %t14330, ptr %t14323 br label %put2880 put2880: %t14337 = load ptr, ptr %t14324 %t14338 = getelementptr inbounds ptr, ptr %t14337, i32 %t14325 store ptr @.str8372, ptr %t14338 %t14339 = add i32 %t14325, 1 store i32 %t14339, ptr %t14322 br label %ifend2876 ifend2876: %t14340 = load ptr, ptr %t1 %t14341 = call i32 @lp_str_eq(ptr %t14340, ptr @.str8373) %t14342 = icmp ne i32 %t14341, 0 br i1 %t14342, label %then2881, label %ifend2883 then2881: store ptr @.str8374, ptr %t403 %t14343 = load ptr, ptr %t410 %t14344 = getelementptr inbounds %LSlice, ptr %t14343, i32 0, i32 1 %t14345 = getelementptr inbounds %LSlice, ptr %t14343, i32 0, i32 2 %t14346 = getelementptr inbounds %LSlice, ptr %t14343, i32 0, i32 0 %t14347 = load i32, ptr %t14344 %t14348 = load i32, ptr %t14345 %t14349 = icmp sge i32 %t14347, %t14348 br i1 %t14349, label %grow2884, label %put2885 grow2884: %t14350 = mul i32 %t14348, 2 %t14351 = icmp eq i32 %t14348, 0 %t14352 = select i1 %t14351, i32 8, i32 %t14350 %t14353 = getelementptr ptr, ptr null, i32 1 %t14354 = ptrtoint ptr %t14353 to i64 %t14355 = zext i32 %t14352 to i64 %t14356 = mul i64 %t14355, %t14354 %t14357 = load ptr, ptr %t14346 %t14358 = call ptr @realloc(ptr %t14357, i64 %t14356) store ptr %t14358, ptr %t14346 store i32 %t14352, ptr %t14345 br label %put2885 put2885: %t14359 = load ptr, ptr %t14346 %t14360 = getelementptr inbounds ptr, ptr %t14359, i32 %t14347 store ptr @.str8375, ptr %t14360 %t14361 = add i32 %t14347, 1 store i32 %t14361, ptr %t14344 %t14362 = load ptr, ptr %t410 %t14363 = getelementptr inbounds %LSlice, ptr %t14362, i32 0, i32 1 %t14364 = getelementptr inbounds %LSlice, ptr %t14362, i32 0, i32 2 %t14365 = getelementptr inbounds %LSlice, ptr %t14362, i32 0, i32 0 %t14366 = load i32, ptr %t14363 %t14367 = load i32, ptr %t14364 %t14368 = icmp sge i32 %t14366, %t14367 br i1 %t14368, label %grow2886, label %put2887 grow2886: %t14369 = mul i32 %t14367, 2 %t14370 = icmp eq i32 %t14367, 0 %t14371 = select i1 %t14370, i32 8, i32 %t14369 %t14372 = getelementptr ptr, ptr null, i32 1 %t14373 = ptrtoint ptr %t14372 to i64 %t14374 = zext i32 %t14371 to i64 %t14375 = mul i64 %t14374, %t14373 %t14376 = load ptr, ptr %t14365 %t14377 = call ptr @realloc(ptr %t14376, i64 %t14375) store ptr %t14377, ptr %t14365 store i32 %t14371, ptr %t14364 br label %put2887 put2887: %t14378 = load ptr, ptr %t14365 %t14379 = getelementptr inbounds ptr, ptr %t14378, i32 %t14366 store ptr @.str8376, ptr %t14379 %t14380 = add i32 %t14366, 1 store i32 %t14380, ptr %t14363 br label %ifend2883 ifend2883: %t14381 = load ptr, ptr %t1 %t14382 = call i32 @lp_str_eq(ptr %t14381, ptr @.str8377) %t14383 = icmp ne i32 %t14382, 0 br i1 %t14383, label %then2888, label %ifend2890 then2888: store ptr @.str8378, ptr %t403 %t14384 = load ptr, ptr %t410 %t14385 = getelementptr inbounds %LSlice, ptr %t14384, i32 0, i32 1 %t14386 = getelementptr inbounds %LSlice, ptr %t14384, i32 0, i32 2 %t14387 = getelementptr inbounds %LSlice, ptr %t14384, i32 0, i32 0 %t14388 = load i32, ptr %t14385 %t14389 = load i32, ptr %t14386 %t14390 = icmp sge i32 %t14388, %t14389 br i1 %t14390, label %grow2891, label %put2892 grow2891: %t14391 = mul i32 %t14389, 2 %t14392 = icmp eq i32 %t14389, 0 %t14393 = select i1 %t14392, i32 8, i32 %t14391 %t14394 = getelementptr ptr, ptr null, i32 1 %t14395 = ptrtoint ptr %t14394 to i64 %t14396 = zext i32 %t14393 to i64 %t14397 = mul i64 %t14396, %t14395 %t14398 = load ptr, ptr %t14387 %t14399 = call ptr @realloc(ptr %t14398, i64 %t14397) store ptr %t14399, ptr %t14387 store i32 %t14393, ptr %t14386 br label %put2892 put2892: %t14400 = load ptr, ptr %t14387 %t14401 = getelementptr inbounds ptr, ptr %t14400, i32 %t14388 store ptr @.str8379, ptr %t14401 %t14402 = add i32 %t14388, 1 store i32 %t14402, ptr %t14385 %t14403 = load ptr, ptr %t410 %t14404 = getelementptr inbounds %LSlice, ptr %t14403, i32 0, i32 1 %t14405 = getelementptr inbounds %LSlice, ptr %t14403, i32 0, i32 2 %t14406 = getelementptr inbounds %LSlice, ptr %t14403, i32 0, i32 0 %t14407 = load i32, ptr %t14404 %t14408 = load i32, ptr %t14405 %t14409 = icmp sge i32 %t14407, %t14408 br i1 %t14409, label %grow2893, label %put2894 grow2893: %t14410 = mul i32 %t14408, 2 %t14411 = icmp eq i32 %t14408, 0 %t14412 = select i1 %t14411, i32 8, i32 %t14410 %t14413 = getelementptr ptr, ptr null, i32 1 %t14414 = ptrtoint ptr %t14413 to i64 %t14415 = zext i32 %t14412 to i64 %t14416 = mul i64 %t14415, %t14414 %t14417 = load ptr, ptr %t14406 %t14418 = call ptr @realloc(ptr %t14417, i64 %t14416) store ptr %t14418, ptr %t14406 store i32 %t14412, ptr %t14405 br label %put2894 put2894: %t14419 = load ptr, ptr %t14406 %t14420 = getelementptr inbounds ptr, ptr %t14419, i32 %t14407 store ptr @.str8380, ptr %t14420 %t14421 = add i32 %t14407, 1 store i32 %t14421, ptr %t14404 %t14422 = load ptr, ptr %t410 %t14423 = getelementptr inbounds %LSlice, ptr %t14422, i32 0, i32 1 %t14424 = getelementptr inbounds %LSlice, ptr %t14422, i32 0, i32 2 %t14425 = getelementptr inbounds %LSlice, ptr %t14422, i32 0, i32 0 %t14426 = load i32, ptr %t14423 %t14427 = load i32, ptr %t14424 %t14428 = icmp sge i32 %t14426, %t14427 br i1 %t14428, label %grow2895, label %put2896 grow2895: %t14429 = mul i32 %t14427, 2 %t14430 = icmp eq i32 %t14427, 0 %t14431 = select i1 %t14430, i32 8, i32 %t14429 %t14432 = getelementptr ptr, ptr null, i32 1 %t14433 = ptrtoint ptr %t14432 to i64 %t14434 = zext i32 %t14431 to i64 %t14435 = mul i64 %t14434, %t14433 %t14436 = load ptr, ptr %t14425 %t14437 = call ptr @realloc(ptr %t14436, i64 %t14435) store ptr %t14437, ptr %t14425 store i32 %t14431, ptr %t14424 br label %put2896 put2896: %t14438 = load ptr, ptr %t14425 %t14439 = getelementptr inbounds ptr, ptr %t14438, i32 %t14426 store ptr @.str8381, ptr %t14439 %t14440 = add i32 %t14426, 1 store i32 %t14440, ptr %t14423 br label %ifend2890 ifend2890: %t14441 = load ptr, ptr %t1 %t14442 = call i32 @lp_str_eq(ptr %t14441, ptr @.str8382) %t14443 = icmp ne i32 %t14442, 0 br i1 %t14443, label %then2897, label %ifend2899 then2897: store ptr @.str8383, ptr %t403 %t14444 = load ptr, ptr %t410 %t14445 = getelementptr inbounds %LSlice, ptr %t14444, i32 0, i32 1 %t14446 = getelementptr inbounds %LSlice, ptr %t14444, i32 0, i32 2 %t14447 = getelementptr inbounds %LSlice, ptr %t14444, i32 0, i32 0 %t14448 = load i32, ptr %t14445 %t14449 = load i32, ptr %t14446 %t14450 = icmp sge i32 %t14448, %t14449 br i1 %t14450, label %grow2900, label %put2901 grow2900: %t14451 = mul i32 %t14449, 2 %t14452 = icmp eq i32 %t14449, 0 %t14453 = select i1 %t14452, i32 8, i32 %t14451 %t14454 = getelementptr ptr, ptr null, i32 1 %t14455 = ptrtoint ptr %t14454 to i64 %t14456 = zext i32 %t14453 to i64 %t14457 = mul i64 %t14456, %t14455 %t14458 = load ptr, ptr %t14447 %t14459 = call ptr @realloc(ptr %t14458, i64 %t14457) store ptr %t14459, ptr %t14447 store i32 %t14453, ptr %t14446 br label %put2901 put2901: %t14460 = load ptr, ptr %t14447 %t14461 = getelementptr inbounds ptr, ptr %t14460, i32 %t14448 store ptr @.str8384, ptr %t14461 %t14462 = add i32 %t14448, 1 store i32 %t14462, ptr %t14445 br label %ifend2899 ifend2899: %t14463 = load ptr, ptr %t1 %t14464 = call i32 @lp_str_eq(ptr %t14463, ptr @.str8385) %t14465 = icmp ne i32 %t14464, 0 br i1 %t14465, label %then2902, label %ifend2904 then2902: store ptr @.str8386, ptr %t403 %t14466 = load ptr, ptr %t410 %t14467 = getelementptr inbounds %LSlice, ptr %t14466, i32 0, i32 1 %t14468 = getelementptr inbounds %LSlice, ptr %t14466, i32 0, i32 2 %t14469 = getelementptr inbounds %LSlice, ptr %t14466, i32 0, i32 0 %t14470 = load i32, ptr %t14467 %t14471 = load i32, ptr %t14468 %t14472 = icmp sge i32 %t14470, %t14471 br i1 %t14472, label %grow2905, label %put2906 grow2905: %t14473 = mul i32 %t14471, 2 %t14474 = icmp eq i32 %t14471, 0 %t14475 = select i1 %t14474, i32 8, i32 %t14473 %t14476 = getelementptr ptr, ptr null, i32 1 %t14477 = ptrtoint ptr %t14476 to i64 %t14478 = zext i32 %t14475 to i64 %t14479 = mul i64 %t14478, %t14477 %t14480 = load ptr, ptr %t14469 %t14481 = call ptr @realloc(ptr %t14480, i64 %t14479) store ptr %t14481, ptr %t14469 store i32 %t14475, ptr %t14468 br label %put2906 put2906: %t14482 = load ptr, ptr %t14469 %t14483 = getelementptr inbounds ptr, ptr %t14482, i32 %t14470 store ptr @.str8387, ptr %t14483 %t14484 = add i32 %t14470, 1 store i32 %t14484, ptr %t14467 %t14485 = load ptr, ptr %t410 %t14486 = getelementptr inbounds %LSlice, ptr %t14485, i32 0, i32 1 %t14487 = getelementptr inbounds %LSlice, ptr %t14485, i32 0, i32 2 %t14488 = getelementptr inbounds %LSlice, ptr %t14485, i32 0, i32 0 %t14489 = load i32, ptr %t14486 %t14490 = load i32, ptr %t14487 %t14491 = icmp sge i32 %t14489, %t14490 br i1 %t14491, label %grow2907, label %put2908 grow2907: %t14492 = mul i32 %t14490, 2 %t14493 = icmp eq i32 %t14490, 0 %t14494 = select i1 %t14493, i32 8, i32 %t14492 %t14495 = getelementptr ptr, ptr null, i32 1 %t14496 = ptrtoint ptr %t14495 to i64 %t14497 = zext i32 %t14494 to i64 %t14498 = mul i64 %t14497, %t14496 %t14499 = load ptr, ptr %t14488 %t14500 = call ptr @realloc(ptr %t14499, i64 %t14498) store ptr %t14500, ptr %t14488 store i32 %t14494, ptr %t14487 br label %put2908 put2908: %t14501 = load ptr, ptr %t14488 %t14502 = getelementptr inbounds ptr, ptr %t14501, i32 %t14489 store ptr @.str8388, ptr %t14502 %t14503 = add i32 %t14489, 1 store i32 %t14503, ptr %t14486 br label %ifend2904 ifend2904: %t14504 = load ptr, ptr %t1 %t14505 = call i32 @lp_str_eq(ptr %t14504, ptr @.str8389) %t14506 = icmp ne i32 %t14505, 0 br i1 %t14506, label %then2909, label %ifend2911 then2909: store ptr @.str8390, ptr %t403 %t14507 = load ptr, ptr %t410 %t14508 = getelementptr inbounds %LSlice, ptr %t14507, i32 0, i32 1 %t14509 = getelementptr inbounds %LSlice, ptr %t14507, i32 0, i32 2 %t14510 = getelementptr inbounds %LSlice, ptr %t14507, i32 0, i32 0 %t14511 = load i32, ptr %t14508 %t14512 = load i32, ptr %t14509 %t14513 = icmp sge i32 %t14511, %t14512 br i1 %t14513, label %grow2912, label %put2913 grow2912: %t14514 = mul i32 %t14512, 2 %t14515 = icmp eq i32 %t14512, 0 %t14516 = select i1 %t14515, i32 8, i32 %t14514 %t14517 = getelementptr ptr, ptr null, i32 1 %t14518 = ptrtoint ptr %t14517 to i64 %t14519 = zext i32 %t14516 to i64 %t14520 = mul i64 %t14519, %t14518 %t14521 = load ptr, ptr %t14510 %t14522 = call ptr @realloc(ptr %t14521, i64 %t14520) store ptr %t14522, ptr %t14510 store i32 %t14516, ptr %t14509 br label %put2913 put2913: %t14523 = load ptr, ptr %t14510 %t14524 = getelementptr inbounds ptr, ptr %t14523, i32 %t14511 store ptr @.str8391, ptr %t14524 %t14525 = add i32 %t14511, 1 store i32 %t14525, ptr %t14508 %t14526 = load ptr, ptr %t410 %t14527 = getelementptr inbounds %LSlice, ptr %t14526, i32 0, i32 1 %t14528 = getelementptr inbounds %LSlice, ptr %t14526, i32 0, i32 2 %t14529 = getelementptr inbounds %LSlice, ptr %t14526, i32 0, i32 0 %t14530 = load i32, ptr %t14527 %t14531 = load i32, ptr %t14528 %t14532 = icmp sge i32 %t14530, %t14531 br i1 %t14532, label %grow2914, label %put2915 grow2914: %t14533 = mul i32 %t14531, 2 %t14534 = icmp eq i32 %t14531, 0 %t14535 = select i1 %t14534, i32 8, i32 %t14533 %t14536 = getelementptr ptr, ptr null, i32 1 %t14537 = ptrtoint ptr %t14536 to i64 %t14538 = zext i32 %t14535 to i64 %t14539 = mul i64 %t14538, %t14537 %t14540 = load ptr, ptr %t14529 %t14541 = call ptr @realloc(ptr %t14540, i64 %t14539) store ptr %t14541, ptr %t14529 store i32 %t14535, ptr %t14528 br label %put2915 put2915: %t14542 = load ptr, ptr %t14529 %t14543 = getelementptr inbounds ptr, ptr %t14542, i32 %t14530 store ptr @.str8392, ptr %t14543 %t14544 = add i32 %t14530, 1 store i32 %t14544, ptr %t14527 br label %ifend2911 ifend2911: %t14545 = load ptr, ptr %t1 %t14546 = call i32 @lp_str_eq(ptr %t14545, ptr @.str8393) %t14547 = icmp ne i32 %t14546, 0 br i1 %t14547, label %then2916, label %ifend2918 then2916: store ptr @.str8394, ptr %t403 %t14548 = load ptr, ptr %t410 %t14549 = getelementptr inbounds %LSlice, ptr %t14548, i32 0, i32 1 %t14550 = getelementptr inbounds %LSlice, ptr %t14548, i32 0, i32 2 %t14551 = getelementptr inbounds %LSlice, ptr %t14548, i32 0, i32 0 %t14552 = load i32, ptr %t14549 %t14553 = load i32, ptr %t14550 %t14554 = icmp sge i32 %t14552, %t14553 br i1 %t14554, label %grow2919, label %put2920 grow2919: %t14555 = mul i32 %t14553, 2 %t14556 = icmp eq i32 %t14553, 0 %t14557 = select i1 %t14556, i32 8, i32 %t14555 %t14558 = getelementptr ptr, ptr null, i32 1 %t14559 = ptrtoint ptr %t14558 to i64 %t14560 = zext i32 %t14557 to i64 %t14561 = mul i64 %t14560, %t14559 %t14562 = load ptr, ptr %t14551 %t14563 = call ptr @realloc(ptr %t14562, i64 %t14561) store ptr %t14563, ptr %t14551 store i32 %t14557, ptr %t14550 br label %put2920 put2920: %t14564 = load ptr, ptr %t14551 %t14565 = getelementptr inbounds ptr, ptr %t14564, i32 %t14552 store ptr @.str8395, ptr %t14565 %t14566 = add i32 %t14552, 1 store i32 %t14566, ptr %t14549 %t14567 = load ptr, ptr %t410 %t14568 = getelementptr inbounds %LSlice, ptr %t14567, i32 0, i32 1 %t14569 = getelementptr inbounds %LSlice, ptr %t14567, i32 0, i32 2 %t14570 = getelementptr inbounds %LSlice, ptr %t14567, i32 0, i32 0 %t14571 = load i32, ptr %t14568 %t14572 = load i32, ptr %t14569 %t14573 = icmp sge i32 %t14571, %t14572 br i1 %t14573, label %grow2921, label %put2922 grow2921: %t14574 = mul i32 %t14572, 2 %t14575 = icmp eq i32 %t14572, 0 %t14576 = select i1 %t14575, i32 8, i32 %t14574 %t14577 = getelementptr ptr, ptr null, i32 1 %t14578 = ptrtoint ptr %t14577 to i64 %t14579 = zext i32 %t14576 to i64 %t14580 = mul i64 %t14579, %t14578 %t14581 = load ptr, ptr %t14570 %t14582 = call ptr @realloc(ptr %t14581, i64 %t14580) store ptr %t14582, ptr %t14570 store i32 %t14576, ptr %t14569 br label %put2922 put2922: %t14583 = load ptr, ptr %t14570 %t14584 = getelementptr inbounds ptr, ptr %t14583, i32 %t14571 store ptr @.str8396, ptr %t14584 %t14585 = add i32 %t14571, 1 store i32 %t14585, ptr %t14568 br label %ifend2918 ifend2918: %t14586 = load ptr, ptr %t1 %t14587 = call i32 @lp_str_eq(ptr %t14586, ptr @.str8397) %t14588 = icmp ne i32 %t14587, 0 br i1 %t14588, label %then2923, label %ifend2925 then2923: store ptr @.str8398, ptr %t403 %t14589 = load ptr, ptr %t410 %t14590 = getelementptr inbounds %LSlice, ptr %t14589, i32 0, i32 1 %t14591 = getelementptr inbounds %LSlice, ptr %t14589, i32 0, i32 2 %t14592 = getelementptr inbounds %LSlice, ptr %t14589, i32 0, i32 0 %t14593 = load i32, ptr %t14590 %t14594 = load i32, ptr %t14591 %t14595 = icmp sge i32 %t14593, %t14594 br i1 %t14595, label %grow2926, label %put2927 grow2926: %t14596 = mul i32 %t14594, 2 %t14597 = icmp eq i32 %t14594, 0 %t14598 = select i1 %t14597, i32 8, i32 %t14596 %t14599 = getelementptr ptr, ptr null, i32 1 %t14600 = ptrtoint ptr %t14599 to i64 %t14601 = zext i32 %t14598 to i64 %t14602 = mul i64 %t14601, %t14600 %t14603 = load ptr, ptr %t14592 %t14604 = call ptr @realloc(ptr %t14603, i64 %t14602) store ptr %t14604, ptr %t14592 store i32 %t14598, ptr %t14591 br label %put2927 put2927: %t14605 = load ptr, ptr %t14592 %t14606 = getelementptr inbounds ptr, ptr %t14605, i32 %t14593 store ptr @.str8399, ptr %t14606 %t14607 = add i32 %t14593, 1 store i32 %t14607, ptr %t14590 br label %ifend2925 ifend2925: %t14608 = load ptr, ptr %t1 %t14609 = call i32 @lp_str_eq(ptr %t14608, ptr @.str8400) %t14610 = icmp ne i32 %t14609, 0 br i1 %t14610, label %then2928, label %ifend2930 then2928: store ptr @.str8401, ptr %t403 %t14611 = load ptr, ptr %t410 %t14612 = getelementptr inbounds %LSlice, ptr %t14611, i32 0, i32 1 %t14613 = getelementptr inbounds %LSlice, ptr %t14611, i32 0, i32 2 %t14614 = getelementptr inbounds %LSlice, ptr %t14611, i32 0, i32 0 %t14615 = load i32, ptr %t14612 %t14616 = load i32, ptr %t14613 %t14617 = icmp sge i32 %t14615, %t14616 br i1 %t14617, label %grow2931, label %put2932 grow2931: %t14618 = mul i32 %t14616, 2 %t14619 = icmp eq i32 %t14616, 0 %t14620 = select i1 %t14619, i32 8, i32 %t14618 %t14621 = getelementptr ptr, ptr null, i32 1 %t14622 = ptrtoint ptr %t14621 to i64 %t14623 = zext i32 %t14620 to i64 %t14624 = mul i64 %t14623, %t14622 %t14625 = load ptr, ptr %t14614 %t14626 = call ptr @realloc(ptr %t14625, i64 %t14624) store ptr %t14626, ptr %t14614 store i32 %t14620, ptr %t14613 br label %put2932 put2932: %t14627 = load ptr, ptr %t14614 %t14628 = getelementptr inbounds ptr, ptr %t14627, i32 %t14615 store ptr @.str8402, ptr %t14628 %t14629 = add i32 %t14615, 1 store i32 %t14629, ptr %t14612 br label %ifend2930 ifend2930: %t14630 = load ptr, ptr %t1 %t14631 = call i32 @lp_str_eq(ptr %t14630, ptr @.str8403) %t14632 = icmp ne i32 %t14631, 0 br i1 %t14632, label %then2933, label %ifend2935 then2933: store ptr @.str8404, ptr %t403 %t14633 = load ptr, ptr %t410 %t14634 = getelementptr inbounds %LSlice, ptr %t14633, i32 0, i32 1 %t14635 = getelementptr inbounds %LSlice, ptr %t14633, i32 0, i32 2 %t14636 = getelementptr inbounds %LSlice, ptr %t14633, i32 0, i32 0 %t14637 = load i32, ptr %t14634 %t14638 = load i32, ptr %t14635 %t14639 = icmp sge i32 %t14637, %t14638 br i1 %t14639, label %grow2936, label %put2937 grow2936: %t14640 = mul i32 %t14638, 2 %t14641 = icmp eq i32 %t14638, 0 %t14642 = select i1 %t14641, i32 8, i32 %t14640 %t14643 = getelementptr ptr, ptr null, i32 1 %t14644 = ptrtoint ptr %t14643 to i64 %t14645 = zext i32 %t14642 to i64 %t14646 = mul i64 %t14645, %t14644 %t14647 = load ptr, ptr %t14636 %t14648 = call ptr @realloc(ptr %t14647, i64 %t14646) store ptr %t14648, ptr %t14636 store i32 %t14642, ptr %t14635 br label %put2937 put2937: %t14649 = load ptr, ptr %t14636 %t14650 = getelementptr inbounds ptr, ptr %t14649, i32 %t14637 store ptr @.str8405, ptr %t14650 %t14651 = add i32 %t14637, 1 store i32 %t14651, ptr %t14634 %t14652 = load ptr, ptr %t410 %t14653 = getelementptr inbounds %LSlice, ptr %t14652, i32 0, i32 1 %t14654 = getelementptr inbounds %LSlice, ptr %t14652, i32 0, i32 2 %t14655 = getelementptr inbounds %LSlice, ptr %t14652, i32 0, i32 0 %t14656 = load i32, ptr %t14653 %t14657 = load i32, ptr %t14654 %t14658 = icmp sge i32 %t14656, %t14657 br i1 %t14658, label %grow2938, label %put2939 grow2938: %t14659 = mul i32 %t14657, 2 %t14660 = icmp eq i32 %t14657, 0 %t14661 = select i1 %t14660, i32 8, i32 %t14659 %t14662 = getelementptr ptr, ptr null, i32 1 %t14663 = ptrtoint ptr %t14662 to i64 %t14664 = zext i32 %t14661 to i64 %t14665 = mul i64 %t14664, %t14663 %t14666 = load ptr, ptr %t14655 %t14667 = call ptr @realloc(ptr %t14666, i64 %t14665) store ptr %t14667, ptr %t14655 store i32 %t14661, ptr %t14654 br label %put2939 put2939: %t14668 = load ptr, ptr %t14655 %t14669 = getelementptr inbounds ptr, ptr %t14668, i32 %t14656 store ptr @.str8406, ptr %t14669 %t14670 = add i32 %t14656, 1 store i32 %t14670, ptr %t14653 %t14671 = load ptr, ptr %t410 %t14672 = getelementptr inbounds %LSlice, ptr %t14671, i32 0, i32 1 %t14673 = getelementptr inbounds %LSlice, ptr %t14671, i32 0, i32 2 %t14674 = getelementptr inbounds %LSlice, ptr %t14671, i32 0, i32 0 %t14675 = load i32, ptr %t14672 %t14676 = load i32, ptr %t14673 %t14677 = icmp sge i32 %t14675, %t14676 br i1 %t14677, label %grow2940, label %put2941 grow2940: %t14678 = mul i32 %t14676, 2 %t14679 = icmp eq i32 %t14676, 0 %t14680 = select i1 %t14679, i32 8, i32 %t14678 %t14681 = getelementptr ptr, ptr null, i32 1 %t14682 = ptrtoint ptr %t14681 to i64 %t14683 = zext i32 %t14680 to i64 %t14684 = mul i64 %t14683, %t14682 %t14685 = load ptr, ptr %t14674 %t14686 = call ptr @realloc(ptr %t14685, i64 %t14684) store ptr %t14686, ptr %t14674 store i32 %t14680, ptr %t14673 br label %put2941 put2941: %t14687 = load ptr, ptr %t14674 %t14688 = getelementptr inbounds ptr, ptr %t14687, i32 %t14675 store ptr @.str8407, ptr %t14688 %t14689 = add i32 %t14675, 1 store i32 %t14689, ptr %t14672 br label %ifend2935 ifend2935: %t14690 = load ptr, ptr %t1 %t14691 = call i32 @lp_str_eq(ptr %t14690, ptr @.str8408) %t14692 = icmp ne i32 %t14691, 0 br i1 %t14692, label %then2942, label %ifend2944 then2942: store ptr @.str8409, ptr %t403 %t14693 = load ptr, ptr %t410 %t14694 = getelementptr inbounds %LSlice, ptr %t14693, i32 0, i32 1 %t14695 = getelementptr inbounds %LSlice, ptr %t14693, i32 0, i32 2 %t14696 = getelementptr inbounds %LSlice, ptr %t14693, i32 0, i32 0 %t14697 = load i32, ptr %t14694 %t14698 = load i32, ptr %t14695 %t14699 = icmp sge i32 %t14697, %t14698 br i1 %t14699, label %grow2945, label %put2946 grow2945: %t14700 = mul i32 %t14698, 2 %t14701 = icmp eq i32 %t14698, 0 %t14702 = select i1 %t14701, i32 8, i32 %t14700 %t14703 = getelementptr ptr, ptr null, i32 1 %t14704 = ptrtoint ptr %t14703 to i64 %t14705 = zext i32 %t14702 to i64 %t14706 = mul i64 %t14705, %t14704 %t14707 = load ptr, ptr %t14696 %t14708 = call ptr @realloc(ptr %t14707, i64 %t14706) store ptr %t14708, ptr %t14696 store i32 %t14702, ptr %t14695 br label %put2946 put2946: %t14709 = load ptr, ptr %t14696 %t14710 = getelementptr inbounds ptr, ptr %t14709, i32 %t14697 store ptr @.str8410, ptr %t14710 %t14711 = add i32 %t14697, 1 store i32 %t14711, ptr %t14694 %t14712 = load ptr, ptr %t410 %t14713 = getelementptr inbounds %LSlice, ptr %t14712, i32 0, i32 1 %t14714 = getelementptr inbounds %LSlice, ptr %t14712, i32 0, i32 2 %t14715 = getelementptr inbounds %LSlice, ptr %t14712, i32 0, i32 0 %t14716 = load i32, ptr %t14713 %t14717 = load i32, ptr %t14714 %t14718 = icmp sge i32 %t14716, %t14717 br i1 %t14718, label %grow2947, label %put2948 grow2947: %t14719 = mul i32 %t14717, 2 %t14720 = icmp eq i32 %t14717, 0 %t14721 = select i1 %t14720, i32 8, i32 %t14719 %t14722 = getelementptr ptr, ptr null, i32 1 %t14723 = ptrtoint ptr %t14722 to i64 %t14724 = zext i32 %t14721 to i64 %t14725 = mul i64 %t14724, %t14723 %t14726 = load ptr, ptr %t14715 %t14727 = call ptr @realloc(ptr %t14726, i64 %t14725) store ptr %t14727, ptr %t14715 store i32 %t14721, ptr %t14714 br label %put2948 put2948: %t14728 = load ptr, ptr %t14715 %t14729 = getelementptr inbounds ptr, ptr %t14728, i32 %t14716 store ptr @.str8411, ptr %t14729 %t14730 = add i32 %t14716, 1 store i32 %t14730, ptr %t14713 %t14731 = load ptr, ptr %t410 %t14732 = getelementptr inbounds %LSlice, ptr %t14731, i32 0, i32 1 %t14733 = getelementptr inbounds %LSlice, ptr %t14731, i32 0, i32 2 %t14734 = getelementptr inbounds %LSlice, ptr %t14731, i32 0, i32 0 %t14735 = load i32, ptr %t14732 %t14736 = load i32, ptr %t14733 %t14737 = icmp sge i32 %t14735, %t14736 br i1 %t14737, label %grow2949, label %put2950 grow2949: %t14738 = mul i32 %t14736, 2 %t14739 = icmp eq i32 %t14736, 0 %t14740 = select i1 %t14739, i32 8, i32 %t14738 %t14741 = getelementptr ptr, ptr null, i32 1 %t14742 = ptrtoint ptr %t14741 to i64 %t14743 = zext i32 %t14740 to i64 %t14744 = mul i64 %t14743, %t14742 %t14745 = load ptr, ptr %t14734 %t14746 = call ptr @realloc(ptr %t14745, i64 %t14744) store ptr %t14746, ptr %t14734 store i32 %t14740, ptr %t14733 br label %put2950 put2950: %t14747 = load ptr, ptr %t14734 %t14748 = getelementptr inbounds ptr, ptr %t14747, i32 %t14735 store ptr @.str8412, ptr %t14748 %t14749 = add i32 %t14735, 1 store i32 %t14749, ptr %t14732 br label %ifend2944 ifend2944: %t14750 = load ptr, ptr %t1 %t14751 = call i32 @lp_str_eq(ptr %t14750, ptr @.str8413) %t14752 = icmp ne i32 %t14751, 0 br i1 %t14752, label %then2951, label %ifend2953 then2951: store ptr @.str8414, ptr %t403 %t14753 = load ptr, ptr %t410 %t14754 = getelementptr inbounds %LSlice, ptr %t14753, i32 0, i32 1 %t14755 = getelementptr inbounds %LSlice, ptr %t14753, i32 0, i32 2 %t14756 = getelementptr inbounds %LSlice, ptr %t14753, i32 0, i32 0 %t14757 = load i32, ptr %t14754 %t14758 = load i32, ptr %t14755 %t14759 = icmp sge i32 %t14757, %t14758 br i1 %t14759, label %grow2954, label %put2955 grow2954: %t14760 = mul i32 %t14758, 2 %t14761 = icmp eq i32 %t14758, 0 %t14762 = select i1 %t14761, i32 8, i32 %t14760 %t14763 = getelementptr ptr, ptr null, i32 1 %t14764 = ptrtoint ptr %t14763 to i64 %t14765 = zext i32 %t14762 to i64 %t14766 = mul i64 %t14765, %t14764 %t14767 = load ptr, ptr %t14756 %t14768 = call ptr @realloc(ptr %t14767, i64 %t14766) store ptr %t14768, ptr %t14756 store i32 %t14762, ptr %t14755 br label %put2955 put2955: %t14769 = load ptr, ptr %t14756 %t14770 = getelementptr inbounds ptr, ptr %t14769, i32 %t14757 store ptr @.str8415, ptr %t14770 %t14771 = add i32 %t14757, 1 store i32 %t14771, ptr %t14754 %t14772 = load ptr, ptr %t410 %t14773 = getelementptr inbounds %LSlice, ptr %t14772, i32 0, i32 1 %t14774 = getelementptr inbounds %LSlice, ptr %t14772, i32 0, i32 2 %t14775 = getelementptr inbounds %LSlice, ptr %t14772, i32 0, i32 0 %t14776 = load i32, ptr %t14773 %t14777 = load i32, ptr %t14774 %t14778 = icmp sge i32 %t14776, %t14777 br i1 %t14778, label %grow2956, label %put2957 grow2956: %t14779 = mul i32 %t14777, 2 %t14780 = icmp eq i32 %t14777, 0 %t14781 = select i1 %t14780, i32 8, i32 %t14779 %t14782 = getelementptr ptr, ptr null, i32 1 %t14783 = ptrtoint ptr %t14782 to i64 %t14784 = zext i32 %t14781 to i64 %t14785 = mul i64 %t14784, %t14783 %t14786 = load ptr, ptr %t14775 %t14787 = call ptr @realloc(ptr %t14786, i64 %t14785) store ptr %t14787, ptr %t14775 store i32 %t14781, ptr %t14774 br label %put2957 put2957: %t14788 = load ptr, ptr %t14775 %t14789 = getelementptr inbounds ptr, ptr %t14788, i32 %t14776 store ptr @.str8416, ptr %t14789 %t14790 = add i32 %t14776, 1 store i32 %t14790, ptr %t14773 %t14791 = load ptr, ptr %t410 %t14792 = getelementptr inbounds %LSlice, ptr %t14791, i32 0, i32 1 %t14793 = getelementptr inbounds %LSlice, ptr %t14791, i32 0, i32 2 %t14794 = getelementptr inbounds %LSlice, ptr %t14791, i32 0, i32 0 %t14795 = load i32, ptr %t14792 %t14796 = load i32, ptr %t14793 %t14797 = icmp sge i32 %t14795, %t14796 br i1 %t14797, label %grow2958, label %put2959 grow2958: %t14798 = mul i32 %t14796, 2 %t14799 = icmp eq i32 %t14796, 0 %t14800 = select i1 %t14799, i32 8, i32 %t14798 %t14801 = getelementptr ptr, ptr null, i32 1 %t14802 = ptrtoint ptr %t14801 to i64 %t14803 = zext i32 %t14800 to i64 %t14804 = mul i64 %t14803, %t14802 %t14805 = load ptr, ptr %t14794 %t14806 = call ptr @realloc(ptr %t14805, i64 %t14804) store ptr %t14806, ptr %t14794 store i32 %t14800, ptr %t14793 br label %put2959 put2959: %t14807 = load ptr, ptr %t14794 %t14808 = getelementptr inbounds ptr, ptr %t14807, i32 %t14795 store ptr @.str8417, ptr %t14808 %t14809 = add i32 %t14795, 1 store i32 %t14809, ptr %t14792 br label %ifend2953 ifend2953: %t14810 = load ptr, ptr %t1 %t14811 = call i32 @lp_str_eq(ptr %t14810, ptr @.str8418) %t14812 = icmp ne i32 %t14811, 0 br i1 %t14812, label %then2960, label %ifend2962 then2960: store ptr @.str8419, ptr %t403 %t14813 = load ptr, ptr %t410 %t14814 = getelementptr inbounds %LSlice, ptr %t14813, i32 0, i32 1 %t14815 = getelementptr inbounds %LSlice, ptr %t14813, i32 0, i32 2 %t14816 = getelementptr inbounds %LSlice, ptr %t14813, i32 0, i32 0 %t14817 = load i32, ptr %t14814 %t14818 = load i32, ptr %t14815 %t14819 = icmp sge i32 %t14817, %t14818 br i1 %t14819, label %grow2963, label %put2964 grow2963: %t14820 = mul i32 %t14818, 2 %t14821 = icmp eq i32 %t14818, 0 %t14822 = select i1 %t14821, i32 8, i32 %t14820 %t14823 = getelementptr ptr, ptr null, i32 1 %t14824 = ptrtoint ptr %t14823 to i64 %t14825 = zext i32 %t14822 to i64 %t14826 = mul i64 %t14825, %t14824 %t14827 = load ptr, ptr %t14816 %t14828 = call ptr @realloc(ptr %t14827, i64 %t14826) store ptr %t14828, ptr %t14816 store i32 %t14822, ptr %t14815 br label %put2964 put2964: %t14829 = load ptr, ptr %t14816 %t14830 = getelementptr inbounds ptr, ptr %t14829, i32 %t14817 store ptr @.str8420, ptr %t14830 %t14831 = add i32 %t14817, 1 store i32 %t14831, ptr %t14814 %t14832 = load ptr, ptr %t410 %t14833 = getelementptr inbounds %LSlice, ptr %t14832, i32 0, i32 1 %t14834 = getelementptr inbounds %LSlice, ptr %t14832, i32 0, i32 2 %t14835 = getelementptr inbounds %LSlice, ptr %t14832, i32 0, i32 0 %t14836 = load i32, ptr %t14833 %t14837 = load i32, ptr %t14834 %t14838 = icmp sge i32 %t14836, %t14837 br i1 %t14838, label %grow2965, label %put2966 grow2965: %t14839 = mul i32 %t14837, 2 %t14840 = icmp eq i32 %t14837, 0 %t14841 = select i1 %t14840, i32 8, i32 %t14839 %t14842 = getelementptr ptr, ptr null, i32 1 %t14843 = ptrtoint ptr %t14842 to i64 %t14844 = zext i32 %t14841 to i64 %t14845 = mul i64 %t14844, %t14843 %t14846 = load ptr, ptr %t14835 %t14847 = call ptr @realloc(ptr %t14846, i64 %t14845) store ptr %t14847, ptr %t14835 store i32 %t14841, ptr %t14834 br label %put2966 put2966: %t14848 = load ptr, ptr %t14835 %t14849 = getelementptr inbounds ptr, ptr %t14848, i32 %t14836 store ptr @.str8421, ptr %t14849 %t14850 = add i32 %t14836, 1 store i32 %t14850, ptr %t14833 %t14851 = load ptr, ptr %t410 %t14852 = getelementptr inbounds %LSlice, ptr %t14851, i32 0, i32 1 %t14853 = getelementptr inbounds %LSlice, ptr %t14851, i32 0, i32 2 %t14854 = getelementptr inbounds %LSlice, ptr %t14851, i32 0, i32 0 %t14855 = load i32, ptr %t14852 %t14856 = load i32, ptr %t14853 %t14857 = icmp sge i32 %t14855, %t14856 br i1 %t14857, label %grow2967, label %put2968 grow2967: %t14858 = mul i32 %t14856, 2 %t14859 = icmp eq i32 %t14856, 0 %t14860 = select i1 %t14859, i32 8, i32 %t14858 %t14861 = getelementptr ptr, ptr null, i32 1 %t14862 = ptrtoint ptr %t14861 to i64 %t14863 = zext i32 %t14860 to i64 %t14864 = mul i64 %t14863, %t14862 %t14865 = load ptr, ptr %t14854 %t14866 = call ptr @realloc(ptr %t14865, i64 %t14864) store ptr %t14866, ptr %t14854 store i32 %t14860, ptr %t14853 br label %put2968 put2968: %t14867 = load ptr, ptr %t14854 %t14868 = getelementptr inbounds ptr, ptr %t14867, i32 %t14855 store ptr @.str8422, ptr %t14868 %t14869 = add i32 %t14855, 1 store i32 %t14869, ptr %t14852 br label %ifend2962 ifend2962: %t14870 = load ptr, ptr %t1 %t14871 = call i32 @lp_str_eq(ptr %t14870, ptr @.str8423) %t14872 = icmp ne i32 %t14871, 0 br i1 %t14872, label %then2969, label %ifend2971 then2969: store ptr @.str8424, ptr %t403 %t14873 = load ptr, ptr %t410 %t14874 = getelementptr inbounds %LSlice, ptr %t14873, i32 0, i32 1 %t14875 = getelementptr inbounds %LSlice, ptr %t14873, i32 0, i32 2 %t14876 = getelementptr inbounds %LSlice, ptr %t14873, i32 0, i32 0 %t14877 = load i32, ptr %t14874 %t14878 = load i32, ptr %t14875 %t14879 = icmp sge i32 %t14877, %t14878 br i1 %t14879, label %grow2972, label %put2973 grow2972: %t14880 = mul i32 %t14878, 2 %t14881 = icmp eq i32 %t14878, 0 %t14882 = select i1 %t14881, i32 8, i32 %t14880 %t14883 = getelementptr ptr, ptr null, i32 1 %t14884 = ptrtoint ptr %t14883 to i64 %t14885 = zext i32 %t14882 to i64 %t14886 = mul i64 %t14885, %t14884 %t14887 = load ptr, ptr %t14876 %t14888 = call ptr @realloc(ptr %t14887, i64 %t14886) store ptr %t14888, ptr %t14876 store i32 %t14882, ptr %t14875 br label %put2973 put2973: %t14889 = load ptr, ptr %t14876 %t14890 = getelementptr inbounds ptr, ptr %t14889, i32 %t14877 store ptr @.str8425, ptr %t14890 %t14891 = add i32 %t14877, 1 store i32 %t14891, ptr %t14874 %t14892 = load ptr, ptr %t410 %t14893 = getelementptr inbounds %LSlice, ptr %t14892, i32 0, i32 1 %t14894 = getelementptr inbounds %LSlice, ptr %t14892, i32 0, i32 2 %t14895 = getelementptr inbounds %LSlice, ptr %t14892, i32 0, i32 0 %t14896 = load i32, ptr %t14893 %t14897 = load i32, ptr %t14894 %t14898 = icmp sge i32 %t14896, %t14897 br i1 %t14898, label %grow2974, label %put2975 grow2974: %t14899 = mul i32 %t14897, 2 %t14900 = icmp eq i32 %t14897, 0 %t14901 = select i1 %t14900, i32 8, i32 %t14899 %t14902 = getelementptr ptr, ptr null, i32 1 %t14903 = ptrtoint ptr %t14902 to i64 %t14904 = zext i32 %t14901 to i64 %t14905 = mul i64 %t14904, %t14903 %t14906 = load ptr, ptr %t14895 %t14907 = call ptr @realloc(ptr %t14906, i64 %t14905) store ptr %t14907, ptr %t14895 store i32 %t14901, ptr %t14894 br label %put2975 put2975: %t14908 = load ptr, ptr %t14895 %t14909 = getelementptr inbounds ptr, ptr %t14908, i32 %t14896 store ptr @.str8426, ptr %t14909 %t14910 = add i32 %t14896, 1 store i32 %t14910, ptr %t14893 br label %ifend2971 ifend2971: %t14911 = load ptr, ptr %t1 %t14912 = call i32 @lp_str_eq(ptr %t14911, ptr @.str8427) %t14913 = icmp ne i32 %t14912, 0 br i1 %t14913, label %then2976, label %ifend2978 then2976: store ptr @.str8428, ptr %t403 %t14914 = load ptr, ptr %t410 %t14915 = getelementptr inbounds %LSlice, ptr %t14914, i32 0, i32 1 %t14916 = getelementptr inbounds %LSlice, ptr %t14914, i32 0, i32 2 %t14917 = getelementptr inbounds %LSlice, ptr %t14914, i32 0, i32 0 %t14918 = load i32, ptr %t14915 %t14919 = load i32, ptr %t14916 %t14920 = icmp sge i32 %t14918, %t14919 br i1 %t14920, label %grow2979, label %put2980 grow2979: %t14921 = mul i32 %t14919, 2 %t14922 = icmp eq i32 %t14919, 0 %t14923 = select i1 %t14922, i32 8, i32 %t14921 %t14924 = getelementptr ptr, ptr null, i32 1 %t14925 = ptrtoint ptr %t14924 to i64 %t14926 = zext i32 %t14923 to i64 %t14927 = mul i64 %t14926, %t14925 %t14928 = load ptr, ptr %t14917 %t14929 = call ptr @realloc(ptr %t14928, i64 %t14927) store ptr %t14929, ptr %t14917 store i32 %t14923, ptr %t14916 br label %put2980 put2980: %t14930 = load ptr, ptr %t14917 %t14931 = getelementptr inbounds ptr, ptr %t14930, i32 %t14918 store ptr @.str8429, ptr %t14931 %t14932 = add i32 %t14918, 1 store i32 %t14932, ptr %t14915 %t14933 = load ptr, ptr %t410 %t14934 = getelementptr inbounds %LSlice, ptr %t14933, i32 0, i32 1 %t14935 = getelementptr inbounds %LSlice, ptr %t14933, i32 0, i32 2 %t14936 = getelementptr inbounds %LSlice, ptr %t14933, i32 0, i32 0 %t14937 = load i32, ptr %t14934 %t14938 = load i32, ptr %t14935 %t14939 = icmp sge i32 %t14937, %t14938 br i1 %t14939, label %grow2981, label %put2982 grow2981: %t14940 = mul i32 %t14938, 2 %t14941 = icmp eq i32 %t14938, 0 %t14942 = select i1 %t14941, i32 8, i32 %t14940 %t14943 = getelementptr ptr, ptr null, i32 1 %t14944 = ptrtoint ptr %t14943 to i64 %t14945 = zext i32 %t14942 to i64 %t14946 = mul i64 %t14945, %t14944 %t14947 = load ptr, ptr %t14936 %t14948 = call ptr @realloc(ptr %t14947, i64 %t14946) store ptr %t14948, ptr %t14936 store i32 %t14942, ptr %t14935 br label %put2982 put2982: %t14949 = load ptr, ptr %t14936 %t14950 = getelementptr inbounds ptr, ptr %t14949, i32 %t14937 store ptr @.str8430, ptr %t14950 %t14951 = add i32 %t14937, 1 store i32 %t14951, ptr %t14934 br label %ifend2978 ifend2978: %t14952 = load ptr, ptr %t1 %t14953 = call i32 @lp_str_eq(ptr %t14952, ptr @.str8431) %t14954 = icmp ne i32 %t14953, 0 br i1 %t14954, label %then2983, label %ifend2985 then2983: store ptr @.str8432, ptr %t403 %t14955 = load ptr, ptr %t410 %t14956 = getelementptr inbounds %LSlice, ptr %t14955, i32 0, i32 1 %t14957 = getelementptr inbounds %LSlice, ptr %t14955, i32 0, i32 2 %t14958 = getelementptr inbounds %LSlice, ptr %t14955, i32 0, i32 0 %t14959 = load i32, ptr %t14956 %t14960 = load i32, ptr %t14957 %t14961 = icmp sge i32 %t14959, %t14960 br i1 %t14961, label %grow2986, label %put2987 grow2986: %t14962 = mul i32 %t14960, 2 %t14963 = icmp eq i32 %t14960, 0 %t14964 = select i1 %t14963, i32 8, i32 %t14962 %t14965 = getelementptr ptr, ptr null, i32 1 %t14966 = ptrtoint ptr %t14965 to i64 %t14967 = zext i32 %t14964 to i64 %t14968 = mul i64 %t14967, %t14966 %t14969 = load ptr, ptr %t14958 %t14970 = call ptr @realloc(ptr %t14969, i64 %t14968) store ptr %t14970, ptr %t14958 store i32 %t14964, ptr %t14957 br label %put2987 put2987: %t14971 = load ptr, ptr %t14958 %t14972 = getelementptr inbounds ptr, ptr %t14971, i32 %t14959 store ptr @.str8433, ptr %t14972 %t14973 = add i32 %t14959, 1 store i32 %t14973, ptr %t14956 %t14974 = load ptr, ptr %t410 %t14975 = getelementptr inbounds %LSlice, ptr %t14974, i32 0, i32 1 %t14976 = getelementptr inbounds %LSlice, ptr %t14974, i32 0, i32 2 %t14977 = getelementptr inbounds %LSlice, ptr %t14974, i32 0, i32 0 %t14978 = load i32, ptr %t14975 %t14979 = load i32, ptr %t14976 %t14980 = icmp sge i32 %t14978, %t14979 br i1 %t14980, label %grow2988, label %put2989 grow2988: %t14981 = mul i32 %t14979, 2 %t14982 = icmp eq i32 %t14979, 0 %t14983 = select i1 %t14982, i32 8, i32 %t14981 %t14984 = getelementptr ptr, ptr null, i32 1 %t14985 = ptrtoint ptr %t14984 to i64 %t14986 = zext i32 %t14983 to i64 %t14987 = mul i64 %t14986, %t14985 %t14988 = load ptr, ptr %t14977 %t14989 = call ptr @realloc(ptr %t14988, i64 %t14987) store ptr %t14989, ptr %t14977 store i32 %t14983, ptr %t14976 br label %put2989 put2989: %t14990 = load ptr, ptr %t14977 %t14991 = getelementptr inbounds ptr, ptr %t14990, i32 %t14978 store ptr @.str8434, ptr %t14991 %t14992 = add i32 %t14978, 1 store i32 %t14992, ptr %t14975 br label %ifend2985 ifend2985: %t14993 = load ptr, ptr %t1 %t14994 = call i32 @lp_str_eq(ptr %t14993, ptr @.str8435) %t14995 = icmp ne i32 %t14994, 0 br i1 %t14995, label %then2990, label %ifend2992 then2990: store ptr @.str8436, ptr %t403 %t14996 = load ptr, ptr %t410 %t14997 = getelementptr inbounds %LSlice, ptr %t14996, i32 0, i32 1 %t14998 = getelementptr inbounds %LSlice, ptr %t14996, i32 0, i32 2 %t14999 = getelementptr inbounds %LSlice, ptr %t14996, i32 0, i32 0 %t15000 = load i32, ptr %t14997 %t15001 = load i32, ptr %t14998 %t15002 = icmp sge i32 %t15000, %t15001 br i1 %t15002, label %grow2993, label %put2994 grow2993: %t15003 = mul i32 %t15001, 2 %t15004 = icmp eq i32 %t15001, 0 %t15005 = select i1 %t15004, i32 8, i32 %t15003 %t15006 = getelementptr ptr, ptr null, i32 1 %t15007 = ptrtoint ptr %t15006 to i64 %t15008 = zext i32 %t15005 to i64 %t15009 = mul i64 %t15008, %t15007 %t15010 = load ptr, ptr %t14999 %t15011 = call ptr @realloc(ptr %t15010, i64 %t15009) store ptr %t15011, ptr %t14999 store i32 %t15005, ptr %t14998 br label %put2994 put2994: %t15012 = load ptr, ptr %t14999 %t15013 = getelementptr inbounds ptr, ptr %t15012, i32 %t15000 store ptr @.str8437, ptr %t15013 %t15014 = add i32 %t15000, 1 store i32 %t15014, ptr %t14997 %t15015 = load ptr, ptr %t410 %t15016 = getelementptr inbounds %LSlice, ptr %t15015, i32 0, i32 1 %t15017 = getelementptr inbounds %LSlice, ptr %t15015, i32 0, i32 2 %t15018 = getelementptr inbounds %LSlice, ptr %t15015, i32 0, i32 0 %t15019 = load i32, ptr %t15016 %t15020 = load i32, ptr %t15017 %t15021 = icmp sge i32 %t15019, %t15020 br i1 %t15021, label %grow2995, label %put2996 grow2995: %t15022 = mul i32 %t15020, 2 %t15023 = icmp eq i32 %t15020, 0 %t15024 = select i1 %t15023, i32 8, i32 %t15022 %t15025 = getelementptr ptr, ptr null, i32 1 %t15026 = ptrtoint ptr %t15025 to i64 %t15027 = zext i32 %t15024 to i64 %t15028 = mul i64 %t15027, %t15026 %t15029 = load ptr, ptr %t15018 %t15030 = call ptr @realloc(ptr %t15029, i64 %t15028) store ptr %t15030, ptr %t15018 store i32 %t15024, ptr %t15017 br label %put2996 put2996: %t15031 = load ptr, ptr %t15018 %t15032 = getelementptr inbounds ptr, ptr %t15031, i32 %t15019 store ptr @.str8438, ptr %t15032 %t15033 = add i32 %t15019, 1 store i32 %t15033, ptr %t15016 br label %ifend2992 ifend2992: %t15034 = load ptr, ptr %t1 %t15035 = call i32 @lp_str_eq(ptr %t15034, ptr @.str8439) %t15036 = icmp ne i32 %t15035, 0 br i1 %t15036, label %then2997, label %ifend2999 then2997: store ptr @.str8440, ptr %t403 %t15037 = load ptr, ptr %t410 %t15038 = getelementptr inbounds %LSlice, ptr %t15037, i32 0, i32 1 %t15039 = getelementptr inbounds %LSlice, ptr %t15037, i32 0, i32 2 %t15040 = getelementptr inbounds %LSlice, ptr %t15037, i32 0, i32 0 %t15041 = load i32, ptr %t15038 %t15042 = load i32, ptr %t15039 %t15043 = icmp sge i32 %t15041, %t15042 br i1 %t15043, label %grow3000, label %put3001 grow3000: %t15044 = mul i32 %t15042, 2 %t15045 = icmp eq i32 %t15042, 0 %t15046 = select i1 %t15045, i32 8, i32 %t15044 %t15047 = getelementptr ptr, ptr null, i32 1 %t15048 = ptrtoint ptr %t15047 to i64 %t15049 = zext i32 %t15046 to i64 %t15050 = mul i64 %t15049, %t15048 %t15051 = load ptr, ptr %t15040 %t15052 = call ptr @realloc(ptr %t15051, i64 %t15050) store ptr %t15052, ptr %t15040 store i32 %t15046, ptr %t15039 br label %put3001 put3001: %t15053 = load ptr, ptr %t15040 %t15054 = getelementptr inbounds ptr, ptr %t15053, i32 %t15041 store ptr @.str8441, ptr %t15054 %t15055 = add i32 %t15041, 1 store i32 %t15055, ptr %t15038 %t15056 = load ptr, ptr %t410 %t15057 = getelementptr inbounds %LSlice, ptr %t15056, i32 0, i32 1 %t15058 = getelementptr inbounds %LSlice, ptr %t15056, i32 0, i32 2 %t15059 = getelementptr inbounds %LSlice, ptr %t15056, i32 0, i32 0 %t15060 = load i32, ptr %t15057 %t15061 = load i32, ptr %t15058 %t15062 = icmp sge i32 %t15060, %t15061 br i1 %t15062, label %grow3002, label %put3003 grow3002: %t15063 = mul i32 %t15061, 2 %t15064 = icmp eq i32 %t15061, 0 %t15065 = select i1 %t15064, i32 8, i32 %t15063 %t15066 = getelementptr ptr, ptr null, i32 1 %t15067 = ptrtoint ptr %t15066 to i64 %t15068 = zext i32 %t15065 to i64 %t15069 = mul i64 %t15068, %t15067 %t15070 = load ptr, ptr %t15059 %t15071 = call ptr @realloc(ptr %t15070, i64 %t15069) store ptr %t15071, ptr %t15059 store i32 %t15065, ptr %t15058 br label %put3003 put3003: %t15072 = load ptr, ptr %t15059 %t15073 = getelementptr inbounds ptr, ptr %t15072, i32 %t15060 store ptr @.str8442, ptr %t15073 %t15074 = add i32 %t15060, 1 store i32 %t15074, ptr %t15057 br label %ifend2999 ifend2999: %t15075 = load ptr, ptr %t1 %t15076 = call i32 @lp_str_eq(ptr %t15075, ptr @.str8443) %t15077 = icmp ne i32 %t15076, 0 br i1 %t15077, label %then3004, label %ifend3006 then3004: store ptr @.str8444, ptr %t403 %t15078 = load ptr, ptr %t410 %t15079 = getelementptr inbounds %LSlice, ptr %t15078, i32 0, i32 1 %t15080 = getelementptr inbounds %LSlice, ptr %t15078, i32 0, i32 2 %t15081 = getelementptr inbounds %LSlice, ptr %t15078, i32 0, i32 0 %t15082 = load i32, ptr %t15079 %t15083 = load i32, ptr %t15080 %t15084 = icmp sge i32 %t15082, %t15083 br i1 %t15084, label %grow3007, label %put3008 grow3007: %t15085 = mul i32 %t15083, 2 %t15086 = icmp eq i32 %t15083, 0 %t15087 = select i1 %t15086, i32 8, i32 %t15085 %t15088 = getelementptr ptr, ptr null, i32 1 %t15089 = ptrtoint ptr %t15088 to i64 %t15090 = zext i32 %t15087 to i64 %t15091 = mul i64 %t15090, %t15089 %t15092 = load ptr, ptr %t15081 %t15093 = call ptr @realloc(ptr %t15092, i64 %t15091) store ptr %t15093, ptr %t15081 store i32 %t15087, ptr %t15080 br label %put3008 put3008: %t15094 = load ptr, ptr %t15081 %t15095 = getelementptr inbounds ptr, ptr %t15094, i32 %t15082 store ptr @.str8445, ptr %t15095 %t15096 = add i32 %t15082, 1 store i32 %t15096, ptr %t15079 br label %ifend3006 ifend3006: %t15097 = load ptr, ptr %t1 %t15098 = call i32 @lp_str_eq(ptr %t15097, ptr @.str8446) %t15099 = icmp ne i32 %t15098, 0 br i1 %t15099, label %then3009, label %ifend3011 then3009: store ptr @.str8447, ptr %t403 %t15100 = load ptr, ptr %t410 %t15101 = getelementptr inbounds %LSlice, ptr %t15100, i32 0, i32 1 %t15102 = getelementptr inbounds %LSlice, ptr %t15100, i32 0, i32 2 %t15103 = getelementptr inbounds %LSlice, ptr %t15100, i32 0, i32 0 %t15104 = load i32, ptr %t15101 %t15105 = load i32, ptr %t15102 %t15106 = icmp sge i32 %t15104, %t15105 br i1 %t15106, label %grow3012, label %put3013 grow3012: %t15107 = mul i32 %t15105, 2 %t15108 = icmp eq i32 %t15105, 0 %t15109 = select i1 %t15108, i32 8, i32 %t15107 %t15110 = getelementptr ptr, ptr null, i32 1 %t15111 = ptrtoint ptr %t15110 to i64 %t15112 = zext i32 %t15109 to i64 %t15113 = mul i64 %t15112, %t15111 %t15114 = load ptr, ptr %t15103 %t15115 = call ptr @realloc(ptr %t15114, i64 %t15113) store ptr %t15115, ptr %t15103 store i32 %t15109, ptr %t15102 br label %put3013 put3013: %t15116 = load ptr, ptr %t15103 %t15117 = getelementptr inbounds ptr, ptr %t15116, i32 %t15104 store ptr @.str8448, ptr %t15117 %t15118 = add i32 %t15104, 1 store i32 %t15118, ptr %t15101 br label %ifend3011 ifend3011: %t15119 = load ptr, ptr %t1 %t15120 = call i32 @lp_str_eq(ptr %t15119, ptr @.str8449) %t15121 = icmp ne i32 %t15120, 0 br i1 %t15121, label %then3014, label %ifend3016 then3014: store ptr @.str8450, ptr %t403 %t15122 = load ptr, ptr %t410 %t15123 = getelementptr inbounds %LSlice, ptr %t15122, i32 0, i32 1 %t15124 = getelementptr inbounds %LSlice, ptr %t15122, i32 0, i32 2 %t15125 = getelementptr inbounds %LSlice, ptr %t15122, i32 0, i32 0 %t15126 = load i32, ptr %t15123 %t15127 = load i32, ptr %t15124 %t15128 = icmp sge i32 %t15126, %t15127 br i1 %t15128, label %grow3017, label %put3018 grow3017: %t15129 = mul i32 %t15127, 2 %t15130 = icmp eq i32 %t15127, 0 %t15131 = select i1 %t15130, i32 8, i32 %t15129 %t15132 = getelementptr ptr, ptr null, i32 1 %t15133 = ptrtoint ptr %t15132 to i64 %t15134 = zext i32 %t15131 to i64 %t15135 = mul i64 %t15134, %t15133 %t15136 = load ptr, ptr %t15125 %t15137 = call ptr @realloc(ptr %t15136, i64 %t15135) store ptr %t15137, ptr %t15125 store i32 %t15131, ptr %t15124 br label %put3018 put3018: %t15138 = load ptr, ptr %t15125 %t15139 = getelementptr inbounds ptr, ptr %t15138, i32 %t15126 store ptr @.str8451, ptr %t15139 %t15140 = add i32 %t15126, 1 store i32 %t15140, ptr %t15123 %t15141 = load ptr, ptr %t410 %t15142 = getelementptr inbounds %LSlice, ptr %t15141, i32 0, i32 1 %t15143 = getelementptr inbounds %LSlice, ptr %t15141, i32 0, i32 2 %t15144 = getelementptr inbounds %LSlice, ptr %t15141, i32 0, i32 0 %t15145 = load i32, ptr %t15142 %t15146 = load i32, ptr %t15143 %t15147 = icmp sge i32 %t15145, %t15146 br i1 %t15147, label %grow3019, label %put3020 grow3019: %t15148 = mul i32 %t15146, 2 %t15149 = icmp eq i32 %t15146, 0 %t15150 = select i1 %t15149, i32 8, i32 %t15148 %t15151 = getelementptr ptr, ptr null, i32 1 %t15152 = ptrtoint ptr %t15151 to i64 %t15153 = zext i32 %t15150 to i64 %t15154 = mul i64 %t15153, %t15152 %t15155 = load ptr, ptr %t15144 %t15156 = call ptr @realloc(ptr %t15155, i64 %t15154) store ptr %t15156, ptr %t15144 store i32 %t15150, ptr %t15143 br label %put3020 put3020: %t15157 = load ptr, ptr %t15144 %t15158 = getelementptr inbounds ptr, ptr %t15157, i32 %t15145 store ptr @.str8452, ptr %t15158 %t15159 = add i32 %t15145, 1 store i32 %t15159, ptr %t15142 br label %ifend3016 ifend3016: br label %ifend2747 ifend2747: %t15161 = load ptr, ptr %t0 %t15162 = call i32 @lp_str_eq(ptr %t15161, ptr @.str8453) %t15163 = icmp ne i32 %t15162, 0 %t15164 = zext i1 %t15163 to i32 store i32 %t15164, ptr %t15160 br i1 %t15163, label %sc3021, label %scend3022 sc3021: %t15165 = load ptr, ptr %t403 %t15166 = icmp eq ptr %t15165, null %t15167 = zext i1 %t15166 to i32 %t15168 = icmp ne i32 %t15167, 0 %t15169 = zext i1 %t15168 to i32 store i32 %t15169, ptr %t15160 br label %scend3022 scend3022: %t15170 = load i32, ptr %t15160 %t15171 = icmp ne i32 %t15170, 0 br i1 %t15171, label %then3023, label %ifend3025 then3023: %t15172 = load ptr, ptr %t1 %t15173 = call ptr @lp_str_concat(ptr @.str8454, ptr %t15172) store ptr %t15173, ptr %t403 %t15174 = load ptr, ptr %t403 %t15175 = call ptr @fn_find_fn(ptr %t15174) store ptr %t15175, ptr %t15176 %t15177 = load ptr, ptr %t15176 %t15178 = icmp eq ptr %t15177, null %t15179 = zext i1 %t15178 to i32 %t15180 = icmp ne i32 %t15179, 0 br i1 %t15180, label %then3026, label %ifend3028 then3026: %t15181 = load ptr, ptr %t403 %t15182 = call ptr @fn_find_extern(ptr %t15181) store ptr %t15182, ptr %t15176 br label %ifend3028 ifend3028: %t15183 = load ptr, ptr %t15176 %t15184 = icmp ne ptr %t15183, null %t15185 = zext i1 %t15184 to i32 %t15186 = icmp ne i32 %t15185, 0 br i1 %t15186, label %then3029, label %ifend3031 then3029: %t15187 = load ptr, ptr %t15176 %t15188 = call ptr @fn_param_labels(ptr %t15187) store ptr %t15188, ptr %t15189 store i32 0, ptr %t15190 br label %wcond3032 wcond3032: %t15191 = load i32, ptr %t15190 %t15192 = load ptr, ptr %t15189 %t15193 = getelementptr inbounds %LSlice, ptr %t15192, i32 0, i32 1 %t15194 = load i32, ptr %t15193 %t15195 = icmp slt i32 %t15191, %t15194 %t15196 = zext i1 %t15195 to i32 %t15197 = icmp ne i32 %t15196, 0 br i1 %t15197, label %wbody3033, label %wend3034 wbody3033: %t15198 = load ptr, ptr %t410 %t15199 = load ptr, ptr %t15189 %t15200 = getelementptr inbounds %LSlice, ptr %t15199, i32 0, i32 0 %t15201 = load ptr, ptr %t15200 %t15202 = load i32, ptr %t15190 %t15203 = getelementptr inbounds ptr, ptr %t15201, i32 %t15202 %t15204 = load ptr, ptr %t15203 %t15205 = getelementptr inbounds %LSlice, ptr %t15198, i32 0, i32 1 %t15206 = getelementptr inbounds %LSlice, ptr %t15198, i32 0, i32 2 %t15207 = getelementptr inbounds %LSlice, ptr %t15198, i32 0, i32 0 %t15208 = load i32, ptr %t15205 %t15209 = load i32, ptr %t15206 %t15210 = icmp sge i32 %t15208, %t15209 br i1 %t15210, label %grow3035, label %put3036 grow3035: %t15211 = mul i32 %t15209, 2 %t15212 = icmp eq i32 %t15209, 0 %t15213 = select i1 %t15212, i32 8, i32 %t15211 %t15214 = getelementptr ptr, ptr null, i32 1 %t15215 = ptrtoint ptr %t15214 to i64 %t15216 = zext i32 %t15213 to i64 %t15217 = mul i64 %t15216, %t15215 %t15218 = load ptr, ptr %t15207 %t15219 = call ptr @realloc(ptr %t15218, i64 %t15217) store ptr %t15219, ptr %t15207 store i32 %t15213, ptr %t15206 br label %put3036 put3036: %t15220 = load ptr, ptr %t15207 %t15221 = getelementptr inbounds ptr, ptr %t15220, i32 %t15208 store ptr %t15204, ptr %t15221 %t15222 = add i32 %t15208, 1 store i32 %t15222, ptr %t15205 %t15223 = load i32, ptr %t15190 %t15224 = add i32 %t15223, 1 store i32 %t15224, ptr %t15190 br label %wcond3032 wend3034: br label %ifend3031 ifend3031: br label %ifend3025 ifend3025: %t15226 = load ptr, ptr %t0 %t15227 = call i32 @lp_str_eq(ptr %t15226, ptr @.str8455) %t15228 = icmp ne i32 %t15227, 0 %t15229 = zext i1 %t15228 to i32 store i32 %t15229, ptr %t15225 br i1 %t15228, label %sc3037, label %scend3038 sc3037: %t15230 = load ptr, ptr %t403 %t15231 = icmp eq ptr %t15230, null %t15232 = zext i1 %t15231 to i32 %t15233 = icmp ne i32 %t15232, 0 %t15234 = zext i1 %t15233 to i32 store i32 %t15234, ptr %t15225 br label %scend3038 scend3038: %t15235 = load i32, ptr %t15225 %t15236 = icmp ne i32 %t15235, 0 br i1 %t15236, label %then3039, label %ifend3041 then3039: %t15237 = load ptr, ptr %t1 %t15238 = call ptr @lp_str_concat(ptr @.str8456, ptr %t15237) store ptr %t15238, ptr %t403 %t15239 = load ptr, ptr %t403 %t15240 = call ptr @fn_find_fn(ptr %t15239) store ptr %t15240, ptr %t15241 %t15242 = load ptr, ptr %t15241 %t15243 = icmp eq ptr %t15242, null %t15244 = zext i1 %t15243 to i32 %t15245 = icmp ne i32 %t15244, 0 br i1 %t15245, label %then3042, label %ifend3044 then3042: %t15246 = load ptr, ptr %t403 %t15247 = call ptr @fn_find_extern(ptr %t15246) store ptr %t15247, ptr %t15241 br label %ifend3044 ifend3044: %t15248 = load ptr, ptr %t15241 %t15249 = icmp ne ptr %t15248, null %t15250 = zext i1 %t15249 to i32 %t15251 = icmp ne i32 %t15250, 0 br i1 %t15251, label %then3045, label %ifend3047 then3045: %t15252 = load ptr, ptr %t15241 %t15253 = call ptr @fn_param_labels(ptr %t15252) store ptr %t15253, ptr %t15254 store i32 0, ptr %t15255 br label %wcond3048 wcond3048: %t15256 = load i32, ptr %t15255 %t15257 = load ptr, ptr %t15254 %t15258 = getelementptr inbounds %LSlice, ptr %t15257, i32 0, i32 1 %t15259 = load i32, ptr %t15258 %t15260 = icmp slt i32 %t15256, %t15259 %t15261 = zext i1 %t15260 to i32 %t15262 = icmp ne i32 %t15261, 0 br i1 %t15262, label %wbody3049, label %wend3050 wbody3049: %t15263 = load ptr, ptr %t410 %t15264 = load ptr, ptr %t15254 %t15265 = getelementptr inbounds %LSlice, ptr %t15264, i32 0, i32 0 %t15266 = load ptr, ptr %t15265 %t15267 = load i32, ptr %t15255 %t15268 = getelementptr inbounds ptr, ptr %t15266, i32 %t15267 %t15269 = load ptr, ptr %t15268 %t15270 = getelementptr inbounds %LSlice, ptr %t15263, i32 0, i32 1 %t15271 = getelementptr inbounds %LSlice, ptr %t15263, i32 0, i32 2 %t15272 = getelementptr inbounds %LSlice, ptr %t15263, i32 0, i32 0 %t15273 = load i32, ptr %t15270 %t15274 = load i32, ptr %t15271 %t15275 = icmp sge i32 %t15273, %t15274 br i1 %t15275, label %grow3051, label %put3052 grow3051: %t15276 = mul i32 %t15274, 2 %t15277 = icmp eq i32 %t15274, 0 %t15278 = select i1 %t15277, i32 8, i32 %t15276 %t15279 = getelementptr ptr, ptr null, i32 1 %t15280 = ptrtoint ptr %t15279 to i64 %t15281 = zext i32 %t15278 to i64 %t15282 = mul i64 %t15281, %t15280 %t15283 = load ptr, ptr %t15272 %t15284 = call ptr @realloc(ptr %t15283, i64 %t15282) store ptr %t15284, ptr %t15272 store i32 %t15278, ptr %t15271 br label %put3052 put3052: %t15285 = load ptr, ptr %t15272 %t15286 = getelementptr inbounds ptr, ptr %t15285, i32 %t15273 store ptr %t15269, ptr %t15286 %t15287 = add i32 %t15273, 1 store i32 %t15287, ptr %t15270 %t15288 = load i32, ptr %t15255 %t15289 = add i32 %t15288, 1 store i32 %t15289, ptr %t15255 br label %wcond3048 wend3050: br label %ifend3047 ifend3047: br label %ifend3041 ifend3041: %t15291 = load ptr, ptr %t403 %t15292 = icmp eq ptr %t15291, null %t15293 = zext i1 %t15292 to i32 %t15294 = icmp ne i32 %t15293, 0 %t15295 = zext i1 %t15294 to i32 store i32 %t15295, ptr %t15290 br i1 %t15294, label %sc3053, label %scend3054 sc3053: %t15296 = load ptr, ptr %t0 %t15297 = call i32 @fn_is_registered_namespace(ptr %t15296) %t15298 = icmp ne i32 %t15297, 0 %t15299 = zext i1 %t15298 to i32 store i32 %t15299, ptr %t15290 br label %scend3054 scend3054: %t15300 = load i32, ptr %t15290 %t15301 = icmp ne i32 %t15300, 0 br i1 %t15301, label %then3055, label %ifend3057 then3055: %t15302 = load ptr, ptr %t0 %t15303 = call ptr @fn_ns_lower(ptr %t15302) %t15304 = call ptr @lp_str_concat(ptr %t15303, ptr @.str8457) %t15305 = load ptr, ptr %t1 %t15306 = call ptr @lp_str_concat(ptr %t15304, ptr %t15305) store ptr %t15306, ptr %t403 %t15308 = load ptr, ptr %t0 %t15309 = call i32 @fn_is_ns_block(ptr %t15308) %t15310 = icmp ne i32 %t15309, 0 %t15311 = zext i1 %t15310 to i32 store i32 %t15311, ptr %t15307 br i1 %t15310, label %sc3058, label %scend3059 sc3058: %t15312 = load ptr, ptr %t403 %t15313 = call i32 @fn_ns_export_has(ptr %t15312) %t15314 = icmp eq i32 %t15313, 0 %t15315 = zext i1 %t15314 to i32 %t15316 = icmp ne i32 %t15315, 0 %t15317 = zext i1 %t15316 to i32 store i32 %t15317, ptr %t15307 br label %scend3059 scend3059: %t15318 = load i32, ptr %t15307 %t15319 = icmp ne i32 %t15318, 0 br i1 %t15319, label %then3060, label %ifend3062 then3060: %t15320 = load ptr, ptr %t0 %t15321 = call ptr @lp_str_concat(ptr %t15320, ptr @.str8458) %t15322 = load ptr, ptr %t1 %t15323 = call ptr @lp_str_concat(ptr %t15321, ptr %t15322) %t15324 = call ptr @lp_str_concat(ptr %t15323, ptr @.str8459) %t15325 = load ptr, ptr %t0 %t15326 = call ptr @lp_str_concat(ptr %t15324, ptr %t15325) call void @fn_perr(ptr %t15326) br label %ifend3062 ifend3062: %t15327 = load ptr, ptr %t403 %t15328 = call ptr @fn_find_fn(ptr %t15327) store ptr %t15328, ptr %t15329 %t15330 = load ptr, ptr %t15329 %t15331 = icmp ne ptr %t15330, null %t15332 = zext i1 %t15331 to i32 %t15333 = icmp ne i32 %t15332, 0 br i1 %t15333, label %then3063, label %ifend3065 then3063: %t15334 = load ptr, ptr %t15329 %t15335 = call ptr @fn_param_labels(ptr %t15334) store ptr %t15335, ptr %t15336 store i32 0, ptr %t15337 br label %wcond3066 wcond3066: %t15338 = load i32, ptr %t15337 %t15339 = load ptr, ptr %t15336 %t15340 = getelementptr inbounds %LSlice, ptr %t15339, i32 0, i32 1 %t15341 = load i32, ptr %t15340 %t15342 = icmp slt i32 %t15338, %t15341 %t15343 = zext i1 %t15342 to i32 %t15344 = icmp ne i32 %t15343, 0 br i1 %t15344, label %wbody3067, label %wend3068 wbody3067: %t15345 = load ptr, ptr %t410 %t15346 = load ptr, ptr %t15336 %t15347 = getelementptr inbounds %LSlice, ptr %t15346, i32 0, i32 0 %t15348 = load ptr, ptr %t15347 %t15349 = load i32, ptr %t15337 %t15350 = getelementptr inbounds ptr, ptr %t15348, i32 %t15349 %t15351 = load ptr, ptr %t15350 %t15352 = getelementptr inbounds %LSlice, ptr %t15345, i32 0, i32 1 %t15353 = getelementptr inbounds %LSlice, ptr %t15345, i32 0, i32 2 %t15354 = getelementptr inbounds %LSlice, ptr %t15345, i32 0, i32 0 %t15355 = load i32, ptr %t15352 %t15356 = load i32, ptr %t15353 %t15357 = icmp sge i32 %t15355, %t15356 br i1 %t15357, label %grow3069, label %put3070 grow3069: %t15358 = mul i32 %t15356, 2 %t15359 = icmp eq i32 %t15356, 0 %t15360 = select i1 %t15359, i32 8, i32 %t15358 %t15361 = getelementptr ptr, ptr null, i32 1 %t15362 = ptrtoint ptr %t15361 to i64 %t15363 = zext i32 %t15360 to i64 %t15364 = mul i64 %t15363, %t15362 %t15365 = load ptr, ptr %t15354 %t15366 = call ptr @realloc(ptr %t15365, i64 %t15364) store ptr %t15366, ptr %t15354 store i32 %t15360, ptr %t15353 br label %put3070 put3070: %t15367 = load ptr, ptr %t15354 %t15368 = getelementptr inbounds ptr, ptr %t15367, i32 %t15355 store ptr %t15351, ptr %t15368 %t15369 = add i32 %t15355, 1 store i32 %t15369, ptr %t15352 %t15370 = load i32, ptr %t15337 %t15371 = add i32 %t15370, 1 store i32 %t15371, ptr %t15337 br label %wcond3066 wend3068: br label %ifend3065 ifend3065: br label %ifend3057 ifend3057: %t15372 = load ptr, ptr %t403 %t15373 = icmp eq ptr %t15372, null %t15374 = zext i1 %t15373 to i32 %t15375 = icmp ne i32 %t15374, 0 br i1 %t15375, label %then3071, label %ifend3073 then3071: %t15376 = load ptr, ptr %t0 %t15377 = call ptr @lp_str_concat(ptr @.str8460, ptr %t15376) %t15378 = call ptr @lp_str_concat(ptr %t15377, ptr @.str8461) %t15379 = load ptr, ptr %t1 %t15380 = call ptr @lp_str_concat(ptr %t15378, ptr %t15379) call void @fn_perr(ptr %t15380) br label %ifend3073 ifend3073: %t15381 = load ptr, ptr %t2 %t15382 = load ptr, ptr %t410 call void @fn_reorder_named(ptr %t15381, ptr %t15382) %t15383 = call ptr @fn_node(i32 33) store ptr %t15383, ptr %t15384 %t15385 = load ptr, ptr %t15384 %t15386 = getelementptr inbounds %Cmp_Node, ptr %t15385, i32 0, i32 1 %t15387 = load ptr, ptr %t403 store ptr %t15387, ptr %t15386 %t15388 = load ptr, ptr %t2 %t15389 = getelementptr inbounds %Cmp_Node, ptr %t15388, i32 0, i32 4 %t15390 = load ptr, ptr %t15384 store ptr %t15390, ptr %t15389 %t15391 = load ptr, ptr %t2 %t15392 = call ptr @fn_emit_call(ptr %t15391) store ptr %t15392, ptr %retval br label %ret ret: %t15393 = load ptr, ptr %retval ret ptr %t15393 } 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 @.str8462, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str8463) %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 @.str8464) %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 @.str8465, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str8466) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str8467) %t46 = load i32, ptr %t1 %t47 = call ptr @fn_itoa(i32 %t46) call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str8468) %t48 = load ptr, ptr %t45 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str8469) 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 @.str8470) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str8471) %t81 = load ptr, ptr %t45 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str8472) %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 @.str8473) call void @fn_emit(ptr @.str8474) %t86 = load ptr, ptr %t65 %t87 = call ptr @fn_llty(ptr %t86) call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str8475) %t88 = load ptr, ptr %t77 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str8476) %t89 = load ptr, ptr %t79 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str8477) %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 %t819 = alloca ptr %t843 = alloca ptr %t850 = alloca ptr %t852 = alloca ptr %t854 = alloca ptr %t874 = alloca ptr %t884 = alloca ptr %t887 = alloca ptr %t902 = alloca i32 %t922 = alloca ptr %t924 = alloca ptr %t929 = alloca ptr %t937 = alloca ptr %t949 = alloca ptr %t955 = alloca i32 %t975 = alloca ptr %t977 = alloca ptr %t982 = alloca ptr %t990 = alloca ptr %t998 = alloca ptr %t1009 = alloca i32 %t1029 = alloca ptr %t1036 = alloca ptr %t1040 = alloca ptr %t1045 = alloca ptr %t1051 = alloca i32 %t1071 = alloca ptr %t1078 = alloca ptr %t1082 = alloca ptr %t1087 = alloca ptr %t1093 = alloca i32 %t1113 = alloca ptr %t1115 = alloca ptr %t1120 = alloca ptr %t1128 = alloca ptr %t1138 = alloca i32 %t1151 = alloca ptr %t1156 = alloca ptr %t1164 = alloca ptr %t1170 = alloca i32 %t1190 = alloca ptr %t1197 = alloca ptr %t1201 = alloca ptr %t1206 = alloca ptr %t1212 = alloca i32 %t1232 = alloca ptr %t1239 = alloca ptr %t1243 = alloca ptr %t1248 = alloca ptr %t1254 = alloca i32 %t1274 = alloca ptr %t1283 = alloca ptr %t1290 = alloca ptr %t1294 = alloca ptr %t1301 = alloca ptr %t1305 = alloca ptr %t1310 = alloca ptr %t1333 = alloca ptr %t1352 = alloca ptr %t1361 = alloca ptr %t1385 = alloca ptr %t1394 = alloca ptr %t1403 = alloca ptr %t1420 = alloca ptr %t1437 = alloca ptr %t1446 = alloca ptr %t1455 = alloca ptr %t1464 = alloca ptr %t1471 = alloca ptr %t1494 = alloca ptr %t1503 = alloca ptr %t1532 = alloca ptr %t1551 = alloca ptr %t1570 = alloca ptr %t1579 = alloca ptr %t1603 = alloca ptr %t1612 = alloca ptr %t1636 = alloca ptr %t1645 = alloca ptr %t1664 = alloca ptr %t1673 = alloca ptr %t1692 = alloca ptr %t1716 = alloca ptr %t1735 = alloca ptr %t1754 = alloca ptr %t1763 = alloca ptr %t1787 = alloca ptr %t1796 = alloca ptr %t1829 = alloca ptr %t1843 = alloca ptr %t1850 = alloca ptr %t1851 = alloca i32 %t1870 = alloca ptr %t1921 = alloca ptr %t1922 = alloca ptr %t1969 = alloca ptr %t1982 = alloca ptr %t1984 = alloca ptr %t1991 = alloca ptr %t2006 = alloca ptr %t2013 = alloca ptr %t2020 = alloca ptr %t2021 = alloca i32 %t2040 = alloca ptr %t2044 = alloca ptr %t2106 = alloca ptr %t2107 = 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 @.str8478) 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 @.str8479) %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 @.str8480, ptr @.str8481) 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 @.str8482, ptr %t53) %t55 = call ptr @fn_emit_bind(ptr %t54) %t56 = call ptr @fn_val(ptr %t55, ptr @.str8483) store ptr %t56, ptr %retval br label %ret ifend8: %t57 = load ptr, ptr %t38 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str8484) %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then12, label %ifend14 then12: %t60 = call ptr @fn_emit_bind(ptr @.str8485) %t61 = call ptr @fn_val(ptr %t60, ptr @.str8486) store ptr %t61, ptr %retval br label %ret ifend14: %t62 = load ptr, ptr %t38 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str8487) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str8488) %t65 = call ptr @fn_val(ptr @.str8489, ptr @.str8490) store ptr %t65, ptr %retval br label %ret ifend17: %t66 = load ptr, ptr %t38 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str8491) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str8492) %t69 = call ptr @fn_val(ptr @.str8493, ptr @.str8494) store ptr %t69, ptr %retval br label %ret ifend20: %t70 = load ptr, ptr %t38 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str8495) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then21, label %ifend23 then21: %t73 = call ptr @fn_emit_bind(ptr @.str8496) %t74 = call ptr @fn_val(ptr %t73, ptr @.str8497) store ptr %t74, ptr %retval br label %ret ifend23: %t75 = load ptr, ptr %t38 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str8498) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then24, label %ifend26 then24: %t78 = call ptr @fn_emit_bind(ptr @.str8499) %t79 = call ptr @fn_val(ptr %t78, ptr @.str8500) store ptr %t79, ptr %retval br label %ret ifend26: %t80 = load ptr, ptr %t38 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str8501) %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 @.str8502, ptr %t94) %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str8503) %t97 = call ptr @fn_emit_bind(ptr %t96) %t98 = call ptr @fn_val(ptr %t97, ptr @.str8504) store ptr %t98, ptr %retval br label %ret ifend29: %t99 = load ptr, ptr %t38 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str8505) %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 @.str8506) %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 @.str8507) %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 @.str8508) %t126 = call ptr @fn_val(ptr @.str8509, ptr @.str8510) store ptr %t126, ptr %retval br label %ret ifend32: %t127 = load ptr, ptr %t38 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str8511) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then33, label %ifend35 then33: call void @fn_emit(ptr @.str8512) %t130 = call ptr @fn_val(ptr @.str8513, ptr @.str8514) store ptr %t130, ptr %retval br label %ret ifend35: %t131 = load ptr, ptr %t38 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str8515) %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 @.str8516, ptr %t154) %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str8517) %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 @.str8518) %t162 = call ptr @fn_emit_bind(ptr %t161) %t163 = call ptr @fn_val(ptr %t162, ptr @.str8519) store ptr %t163, ptr %retval br label %ret ifend38: %t164 = load ptr, ptr %t38 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str8520) %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 @.str8521) %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 @.str8522) %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 @.str8523) %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 @.str8524) %t203 = call ptr @fn_val(ptr @.str8525, ptr @.str8526) store ptr %t203, ptr %retval br label %ret ifend41: %t204 = load ptr, ptr %t38 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str8527) %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 @.str8528, ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str8529) %t221 = call ptr @fn_emit_bind(ptr %t220) %t222 = call ptr @fn_val(ptr %t221, ptr @.str8530) store ptr %t222, ptr %retval br label %ret ifend44: %t223 = load ptr, ptr %t38 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str8531) %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 @.str8532, ptr %t237) %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str8533) %t240 = call ptr @fn_emit_bind(ptr %t239) %t241 = call ptr @fn_val(ptr %t240, ptr @.str8534) store ptr %t241, ptr %retval br label %ret ifend47: %t242 = load ptr, ptr %t38 %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str8535) %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 @.str8536) %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 @.str8537) %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 @.str8538) %t269 = call ptr @fn_val(ptr @.str8539, ptr @.str8540) store ptr %t269, ptr %retval br label %ret ifend50: %t270 = load ptr, ptr %t38 %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str8541) %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 @.str8542, ptr %t284) %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str8543) %t287 = call ptr @fn_emit_bind(ptr %t286) %t288 = call ptr @fn_val(ptr %t287, ptr @.str8544) store ptr %t288, ptr %retval br label %ret ifend53: %t289 = load ptr, ptr %t38 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str8545) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then54, label %ifend56 then54: %t292 = call ptr @fn_emit_bind(ptr @.str8546) store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t293 %t295 = call ptr @lp_str_concat(ptr @.str8547, ptr %t294) %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str8548) %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 @.str8549, ptr %t299) %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str8550) %t302 = call ptr @fn_emit_bind(ptr %t301) %t303 = call ptr @fn_val(ptr %t302, ptr @.str8551) store ptr %t303, ptr %retval br label %ret ifend56: %t304 = load ptr, ptr %t38 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str8552) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then57, label %ifend59 then57: %t307 = call ptr @fn_emit_bind(ptr @.str8553) %t308 = call ptr @fn_val(ptr %t307, ptr @.str8554) store ptr %t308, ptr %retval br label %ret ifend59: %t309 = load ptr, ptr %t38 %t310 = call i32 @lp_str_eq(ptr %t309, ptr @.str8555) %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then60, label %ifend62 then60: call void @fn_emit(ptr @.str8556) %t312 = call ptr @fn_val(ptr @.str8557, ptr @.str8558) store ptr %t312, ptr %retval br label %ret ifend62: %t313 = load ptr, ptr %t38 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str8559) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then63, label %ifend65 then63: call void @fn_emit(ptr @.str8560) %t316 = call ptr @fn_val(ptr @.str8561, ptr @.str8562) store ptr %t316, ptr %retval br label %ret ifend65: %t317 = load ptr, ptr %t38 %t318 = call i32 @lp_str_eq(ptr %t317, ptr @.str8563) %t319 = icmp ne i32 %t318, 0 br i1 %t319, label %then66, label %ifend68 then66: call void @fn_emit(ptr @.str8564) %t320 = call ptr @fn_val(ptr @.str8565, ptr @.str8566) store ptr %t320, ptr %retval br label %ret ifend68: %t321 = load ptr, ptr %t38 %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str8567) %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 @.str8568) %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 @.str8569) %t336 = call ptr @fn_val(ptr @.str8570, ptr @.str8571) store ptr %t336, ptr %retval br label %ret ifend71: %t337 = load ptr, ptr %t38 %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str8572) %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 @.str8573) %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 @.str8574) %t352 = call ptr @fn_val(ptr @.str8575, ptr @.str8576) store ptr %t352, ptr %retval br label %ret ifend74: %t354 = load ptr, ptr %t38 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str8577) %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 @.str8578) %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 @.str8579) %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 @.str8580) %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 @.str8581) %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 @.str8582) %t401 = call ptr @fn_val(ptr @.str8583, ptr @.str8584) store ptr %t401, ptr %retval br label %ret ifend79: %t403 = load ptr, ptr %t38 %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str8585) %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 @.str8586) %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 @.str8587, ptr %t434) %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str8588) %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 @.str8589) %t442 = call ptr @fn_emit_bind(ptr %t441) %t443 = call ptr @fn_val(ptr %t442, ptr @.str8590) store ptr %t443, ptr %retval br label %ret ifend84: %t444 = load ptr, ptr %t38 %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str8591) %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 @.str8592) %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 @.str8593) %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 @.str8594) %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 @.str8595) %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 @.str8596, ptr %t481) %t483 = call ptr @lp_str_concat(ptr %t482, ptr @.str8597) %t484 = call ptr @fn_emit_bind(ptr %t483) %t485 = call ptr @fn_val(ptr %t484, ptr @.str8598) 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 @.str8599, ptr %t488) %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str8600) %t491 = call ptr @fn_emit_bind(ptr %t490) %t492 = call ptr @fn_val(ptr %t491, ptr @.str8601) store ptr %t492, ptr %retval br label %ret ifend93: %t493 = load ptr, ptr %t38 %t494 = call i32 @lp_str_eq(ptr %t493, ptr @.str8602) %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 @.str8603) %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 @.str8605) %t515 = call ptr @lp_str_concat(ptr @.str8604, 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 @.str8606) %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 @.str8608) %t526 = call ptr @lp_str_concat(ptr @.str8607, 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 @.str8610) %t531 = call ptr @lp_str_concat(ptr @.str8609, ptr %t530) call void @fn_emit(ptr %t531) br label %ifend108 ifend108: br label %ifend105 ifend105: %t532 = call ptr @fn_val(ptr @.str8611, ptr @.str8612) store ptr %t532, ptr %retval br label %ret ifend102: %t533 = load ptr, ptr %t38 %t534 = call i32 @lp_str_eq(ptr %t533, ptr @.str8613) %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 @.str8614, ptr %t547) %t549 = call ptr @lp_str_concat(ptr %t548, ptr @.str8615) %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 @.str8616, ptr %t552) %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str8617) %t555 = call ptr @fn_emit_bind(ptr %t554) %t556 = call ptr @fn_val(ptr %t555, ptr @.str8618) store ptr %t556, ptr %retval br label %ret ifend111: %t557 = load ptr, ptr %t38 %t558 = call i32 @lp_str_eq(ptr %t557, ptr @.str8619) %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 @.str8620, ptr %t571) %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str8621) %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 @.str8622, ptr %t576) %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str8623) %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 @.str8624, ptr %t581) %t583 = call ptr @lp_str_concat(ptr %t582, ptr @.str8625) %t584 = call ptr @fn_emit_bind(ptr %t583) %t585 = call ptr @fn_val(ptr %t584, ptr @.str8626) store ptr %t585, ptr %retval br label %ret ifend114: %t586 = load ptr, ptr %t38 %t587 = call i32 @lp_str_eq(ptr %t586, ptr @.str8627) %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 @.str8628, ptr %t600) %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str8629) %t603 = call ptr @fn_emit_bind(ptr %t602) %t604 = call ptr @fn_val(ptr %t603, ptr @.str8630) store ptr %t604, ptr %retval br label %ret ifend117: %t605 = load ptr, ptr %t38 %t606 = call i32 @lp_str_eq(ptr %t605, ptr @.str8631) %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 @.str8632, ptr %t619) %t621 = call ptr @lp_str_concat(ptr %t620, ptr @.str8633) %t622 = call ptr @fn_emit_bind(ptr %t621) %t623 = call ptr @fn_val(ptr %t622, ptr @.str8634) store ptr %t623, ptr %retval br label %ret ifend120: %t624 = load ptr, ptr %t38 %t625 = call i32 @lp_str_eq(ptr %t624, ptr @.str8635) %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 @.str8636, ptr %t638) %t640 = call ptr @lp_str_concat(ptr %t639, ptr @.str8637) %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 @.str8638) %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 @.str8639) %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 @.str8640, ptr @.str8641) %t655 = call ptr @fn_val(ptr @.str8642, ptr @.str8643) store ptr %t655, ptr %retval br label %ret ifend123: %t656 = load ptr, ptr %t38 %t657 = call i32 @lp_str_eq(ptr %t656, ptr @.str8644) %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 @.str8645, ptr %t679) %t681 = call ptr @lp_str_concat(ptr %t680, ptr @.str8646) %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 @.str8647) %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 @.str8648) %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 @.str8649, ptr @.str8650) store ptr %t706, ptr %retval br label %ret ifend126: %t707 = load ptr, ptr %t38 %t708 = call i32 @lp_str_eq(ptr %t707, ptr @.str8651) %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 @.str8652, ptr %t739) %t741 = call ptr @lp_str_concat(ptr %t740, ptr @.str8653) %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 @.str8654, 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 @.str8655, ptr %t752) %t754 = call ptr @lp_str_concat(ptr %t753, ptr @.str8656) %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 @.str8657, ptr %t757) %t759 = call ptr @lp_str_concat(ptr %t758, ptr @.str8658) %t760 = load ptr, ptr %t751 %t761 = call ptr @lp_str_concat(ptr %t759, ptr %t760) %t762 = call ptr @lp_str_concat(ptr %t761, ptr @.str8659) %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 @.str8660, ptr %t767) %t769 = call ptr @lp_str_concat(ptr %t768, ptr @.str8661) %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 @.str8662) %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 @.str8663) %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 @.str8664, ptr @.str8665) store ptr %t794, ptr %retval br label %ret ifend129: %t795 = load ptr, ptr %t38 %t796 = call i32 @lp_str_eq(ptr %t795, ptr @.str8666) %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 @.str8667) %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 @.str8668) %t815 = call ptr @fn_emit_str_const(ptr %t814) store ptr %t815, ptr %t816 %t817 = call ptr @fn_stdstream_rhs(i32 2) %t818 = call ptr @fn_emit_bind(ptr %t817) store ptr %t818, ptr %t819 %t820 = load ptr, ptr %t819 %t821 = call ptr @lp_str_concat(ptr @.str8669, ptr %t820) %t822 = call ptr @lp_str_concat(ptr %t821, ptr @.str8670) %t823 = load ptr, ptr %t816 %t824 = call ptr @lp_str_concat(ptr %t822, ptr %t823) %t825 = call ptr @lp_str_concat(ptr %t824, ptr @.str8671) %t826 = load ptr, ptr %t806 %t827 = getelementptr inbounds %Cmp_Val, ptr %t826, i32 0, i32 0 %t828 = load ptr, ptr %t827 %t829 = call ptr @lp_str_concat(ptr %t825, ptr %t828) %t830 = call ptr @lp_str_concat(ptr %t829, ptr @.str8672) call void @fn_emit(ptr %t830) call void @fn_emit(ptr @.str8673) store i32 1, ptr @g_g_term %t831 = call ptr @fn_val(ptr @.str8674, ptr @.str8675) store ptr %t831, ptr %retval br label %ret ifend132: %t832 = load ptr, ptr %t38 %t833 = call i32 @lp_str_eq(ptr %t832, ptr @.str8676) %t834 = icmp ne i32 %t833, 0 br i1 %t834, label %then133, label %ifend135 then133: store i32 1, ptr @g_g_uses_panic %t835 = load ptr, ptr %t0 %t836 = getelementptr inbounds %Cmp_Node, ptr %t835, i32 0, i32 7 %t837 = load ptr, ptr %t836 %t838 = getelementptr inbounds %LSlice, ptr %t837, i32 0, i32 0 %t839 = load ptr, ptr %t838 %t840 = getelementptr inbounds ptr, ptr %t839, i32 0 %t841 = load ptr, ptr %t840 %t842 = call ptr @fn_emit_expr(ptr %t841) store ptr %t842, ptr %t843 %t844 = load ptr, ptr %t843 %t845 = getelementptr inbounds %Cmp_Val, ptr %t844, i32 0, i32 0 %t846 = load ptr, ptr %t845 %t847 = call ptr @lp_str_concat(ptr @.str8677, ptr %t846) %t848 = call ptr @lp_str_concat(ptr %t847, ptr @.str8678) %t849 = call ptr @fn_emit_bind(ptr %t848) store ptr %t849, ptr %t850 %t851 = call ptr @fn_lbl(ptr @.str8679) store ptr %t851, ptr %t852 %t853 = call ptr @fn_lbl(ptr @.str8680) store ptr %t853, ptr %t854 %t855 = load ptr, ptr %t850 %t856 = call ptr @lp_str_concat(ptr @.str8681, ptr %t855) %t857 = call ptr @lp_str_concat(ptr %t856, ptr @.str8682) %t858 = load ptr, ptr %t852 %t859 = call ptr @lp_str_concat(ptr %t857, ptr %t858) %t860 = call ptr @lp_str_concat(ptr %t859, ptr @.str8683) %t861 = load ptr, ptr %t854 %t862 = call ptr @lp_str_concat(ptr %t860, ptr %t861) %t863 = call ptr @lp_str_concat(ptr %t862, ptr @.str8684) call void @fn_emit(ptr %t863) %t864 = load ptr, ptr %t854 %t865 = call ptr @lp_str_concat(ptr %t864, ptr @.str8685) call void @fn_emit(ptr %t865) %t866 = load ptr, ptr %t0 %t867 = getelementptr inbounds %Cmp_Node, ptr %t866, i32 0, i32 7 %t868 = load ptr, ptr %t867 %t869 = getelementptr inbounds %LSlice, ptr %t868, i32 0, i32 0 %t870 = load ptr, ptr %t869 %t871 = getelementptr inbounds ptr, ptr %t870, i32 1 %t872 = load ptr, ptr %t871 %t873 = call ptr @fn_emit_expr(ptr %t872) store ptr %t873, ptr %t874 %t875 = load ptr, ptr @g_g_src_name %t876 = call ptr @lp_str_concat(ptr %t875, ptr @.str8686) %t877 = load ptr, ptr %t0 %t878 = getelementptr inbounds %Cmp_Node, ptr %t877, i32 0, i32 8 %t879 = load i32, ptr %t878 %t880 = call ptr @fn_itoa(i32 %t879) %t881 = call ptr @lp_str_concat(ptr %t876, ptr %t880) %t882 = call ptr @lp_str_concat(ptr %t881, ptr @.str8687) %t883 = call ptr @fn_emit_str_const(ptr %t882) store ptr %t883, ptr %t884 %t885 = call ptr @fn_stdstream_rhs(i32 2) %t886 = call ptr @fn_emit_bind(ptr %t885) store ptr %t886, ptr %t887 %t888 = load ptr, ptr %t887 %t889 = call ptr @lp_str_concat(ptr @.str8688, ptr %t888) %t890 = call ptr @lp_str_concat(ptr %t889, ptr @.str8689) %t891 = load ptr, ptr %t884 %t892 = call ptr @lp_str_concat(ptr %t890, ptr %t891) %t893 = call ptr @lp_str_concat(ptr %t892, ptr @.str8690) %t894 = load ptr, ptr %t874 %t895 = getelementptr inbounds %Cmp_Val, ptr %t894, i32 0, i32 0 %t896 = load ptr, ptr %t895 %t897 = call ptr @lp_str_concat(ptr %t893, ptr %t896) %t898 = call ptr @lp_str_concat(ptr %t897, ptr @.str8691) call void @fn_emit(ptr %t898) call void @fn_emit(ptr @.str8692) %t899 = load ptr, ptr %t852 %t900 = call ptr @lp_str_concat(ptr %t899, ptr @.str8693) call void @fn_emit(ptr %t900) %t901 = call ptr @fn_val(ptr @.str8694, ptr @.str8695) store ptr %t901, ptr %retval br label %ret ifend135: %t903 = load ptr, ptr %t38 %t904 = call i32 @lp_str_eq(ptr %t903, ptr @.str8696) %t905 = icmp ne i32 %t904, 0 %t906 = zext i1 %t905 to i32 store i32 %t906, ptr %t902 br i1 %t905, label %sc136, label %scend137 sc136: %t907 = call ptr @fn_find_fn(ptr @.str8697) %t908 = icmp eq ptr %t907, null %t909 = zext i1 %t908 to i32 %t910 = icmp ne i32 %t909, 0 %t911 = zext i1 %t910 to i32 store i32 %t911, ptr %t902 br label %scend137 scend137: %t912 = load i32, ptr %t902 %t913 = icmp ne i32 %t912, 0 br i1 %t913, label %then138, label %ifend140 then138: store i32 1, ptr @g_g_uses_result %t914 = load ptr, ptr %t0 %t915 = getelementptr inbounds %Cmp_Node, ptr %t914, i32 0, i32 7 %t916 = load ptr, ptr %t915 %t917 = getelementptr inbounds %LSlice, ptr %t916, i32 0, i32 0 %t918 = load ptr, ptr %t917 %t919 = getelementptr inbounds ptr, ptr %t918, i32 0 %t920 = load ptr, ptr %t919 %t921 = call ptr @fn_emit_expr(ptr %t920) store ptr %t921, ptr %t922 %t923 = call ptr @fn_emit_bind(ptr @.str8698) store ptr %t923, ptr %t924 %t925 = load ptr, ptr %t924 %t926 = call ptr @lp_str_concat(ptr @.str8699, ptr %t925) %t927 = call ptr @lp_str_concat(ptr %t926, ptr @.str8700) %t928 = call ptr @fn_emit_bind(ptr %t927) store ptr %t928, ptr %t929 %t930 = load ptr, ptr %t929 %t931 = call ptr @lp_str_concat(ptr @.str8701, ptr %t930) %t932 = call ptr @lp_str_concat(ptr %t931, ptr @.str8702) call void @fn_emit(ptr %t932) %t933 = load ptr, ptr %t924 %t934 = call ptr @lp_str_concat(ptr @.str8703, ptr %t933) %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str8704) %t936 = call ptr @fn_emit_bind(ptr %t935) store ptr %t936, ptr %t937 %t938 = load ptr, ptr %t922 %t939 = call ptr @fn_coerce_code(ptr %t938, ptr @.str8706) %t940 = call ptr @lp_str_concat(ptr @.str8705, ptr %t939) %t941 = call ptr @lp_str_concat(ptr %t940, ptr @.str8707) %t942 = load ptr, ptr %t937 %t943 = call ptr @lp_str_concat(ptr %t941, ptr %t942) %t944 = call ptr @lp_str_concat(ptr %t943, ptr @.str8708) call void @fn_emit(ptr %t944) %t945 = load ptr, ptr %t924 %t946 = call ptr @lp_str_concat(ptr @.str8709, ptr %t945) %t947 = call ptr @lp_str_concat(ptr %t946, ptr @.str8710) %t948 = call ptr @fn_emit_bind(ptr %t947) store ptr %t948, ptr %t949 %t950 = load ptr, ptr %t949 %t951 = call ptr @lp_str_concat(ptr @.str8711, ptr %t950) %t952 = call ptr @lp_str_concat(ptr %t951, ptr @.str8712) call void @fn_emit(ptr %t952) %t953 = load ptr, ptr %t924 %t954 = call ptr @fn_val(ptr %t953, ptr @.str8713) store ptr %t954, ptr %retval br label %ret ifend140: %t956 = load ptr, ptr %t38 %t957 = call i32 @lp_str_eq(ptr %t956, ptr @.str8714) %t958 = icmp ne i32 %t957, 0 %t959 = zext i1 %t958 to i32 store i32 %t959, ptr %t955 br i1 %t958, label %sc141, label %scend142 sc141: %t960 = call ptr @fn_find_fn(ptr @.str8715) %t961 = icmp eq ptr %t960, null %t962 = zext i1 %t961 to i32 %t963 = icmp ne i32 %t962, 0 %t964 = zext i1 %t963 to i32 store i32 %t964, ptr %t955 br label %scend142 scend142: %t965 = load i32, ptr %t955 %t966 = icmp ne i32 %t965, 0 br i1 %t966, label %then143, label %ifend145 then143: store i32 1, ptr @g_g_uses_result %t967 = load ptr, ptr %t0 %t968 = getelementptr inbounds %Cmp_Node, ptr %t967, i32 0, i32 7 %t969 = load ptr, ptr %t968 %t970 = getelementptr inbounds %LSlice, ptr %t969, i32 0, i32 0 %t971 = load ptr, ptr %t970 %t972 = getelementptr inbounds ptr, ptr %t971, i32 0 %t973 = load ptr, ptr %t972 %t974 = call ptr @fn_emit_expr(ptr %t973) store ptr %t974, ptr %t975 %t976 = call ptr @fn_emit_bind(ptr @.str8716) store ptr %t976, ptr %t977 %t978 = load ptr, ptr %t977 %t979 = call ptr @lp_str_concat(ptr @.str8717, ptr %t978) %t980 = call ptr @lp_str_concat(ptr %t979, ptr @.str8718) %t981 = call ptr @fn_emit_bind(ptr %t980) store ptr %t981, ptr %t982 %t983 = load ptr, ptr %t982 %t984 = call ptr @lp_str_concat(ptr @.str8719, ptr %t983) %t985 = call ptr @lp_str_concat(ptr %t984, ptr @.str8720) call void @fn_emit(ptr %t985) %t986 = load ptr, ptr %t977 %t987 = call ptr @lp_str_concat(ptr @.str8721, ptr %t986) %t988 = call ptr @lp_str_concat(ptr %t987, ptr @.str8722) %t989 = call ptr @fn_emit_bind(ptr %t988) store ptr %t989, ptr %t990 %t991 = load ptr, ptr %t990 %t992 = call ptr @lp_str_concat(ptr @.str8723, ptr %t991) %t993 = call ptr @lp_str_concat(ptr %t992, ptr @.str8724) call void @fn_emit(ptr %t993) %t994 = load ptr, ptr %t977 %t995 = call ptr @lp_str_concat(ptr @.str8725, ptr %t994) %t996 = call ptr @lp_str_concat(ptr %t995, ptr @.str8726) %t997 = call ptr @fn_emit_bind(ptr %t996) store ptr %t997, ptr %t998 %t999 = load ptr, ptr %t975 %t1000 = getelementptr inbounds %Cmp_Val, ptr %t999, i32 0, i32 0 %t1001 = load ptr, ptr %t1000 %t1002 = call ptr @lp_str_concat(ptr @.str8727, ptr %t1001) %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str8728) %t1004 = load ptr, ptr %t998 %t1005 = call ptr @lp_str_concat(ptr %t1003, ptr %t1004) %t1006 = call ptr @lp_str_concat(ptr %t1005, ptr @.str8729) call void @fn_emit(ptr %t1006) %t1007 = load ptr, ptr %t977 %t1008 = call ptr @fn_val(ptr %t1007, ptr @.str8730) store ptr %t1008, ptr %retval br label %ret ifend145: %t1010 = load ptr, ptr %t38 %t1011 = call i32 @lp_str_eq(ptr %t1010, ptr @.str8731) %t1012 = icmp ne i32 %t1011, 0 %t1013 = zext i1 %t1012 to i32 store i32 %t1013, ptr %t1009 br i1 %t1012, label %sc146, label %scend147 sc146: %t1014 = call ptr @fn_find_fn(ptr @.str8732) %t1015 = icmp eq ptr %t1014, null %t1016 = zext i1 %t1015 to i32 %t1017 = icmp ne i32 %t1016, 0 %t1018 = zext i1 %t1017 to i32 store i32 %t1018, ptr %t1009 br label %scend147 scend147: %t1019 = load i32, ptr %t1009 %t1020 = icmp ne i32 %t1019, 0 br i1 %t1020, label %then148, label %ifend150 then148: %t1021 = load ptr, ptr %t0 %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 %t1029 %t1031 = getelementptr inbounds %Cmp_Val, ptr %t1030, i32 0, i32 0 %t1032 = load ptr, ptr %t1031 %t1033 = call ptr @lp_str_concat(ptr @.str8733, ptr %t1032) %t1034 = call ptr @lp_str_concat(ptr %t1033, ptr @.str8734) %t1035 = call ptr @fn_emit_bind(ptr %t1034) store ptr %t1035, ptr %t1036 %t1037 = load ptr, ptr %t1036 %t1038 = call ptr @lp_str_concat(ptr @.str8735, ptr %t1037) %t1039 = call ptr @fn_emit_bind(ptr %t1038) store ptr %t1039, ptr %t1040 %t1041 = load ptr, ptr %t1040 %t1042 = call ptr @lp_str_concat(ptr @.str8736, ptr %t1041) %t1043 = call ptr @lp_str_concat(ptr %t1042, ptr @.str8737) %t1044 = call ptr @fn_emit_bind(ptr %t1043) store ptr %t1044, ptr %t1045 %t1046 = load ptr, ptr %t1045 %t1047 = call ptr @lp_str_concat(ptr @.str8738, ptr %t1046) %t1048 = call ptr @lp_str_concat(ptr %t1047, ptr @.str8739) %t1049 = call ptr @fn_emit_bind(ptr %t1048) %t1050 = call ptr @fn_val(ptr %t1049, ptr @.str8740) store ptr %t1050, ptr %retval br label %ret ifend150: %t1052 = load ptr, ptr %t38 %t1053 = call i32 @lp_str_eq(ptr %t1052, ptr @.str8741) %t1054 = icmp ne i32 %t1053, 0 %t1055 = zext i1 %t1054 to i32 store i32 %t1055, ptr %t1051 br i1 %t1054, label %sc151, label %scend152 sc151: %t1056 = call ptr @fn_find_fn(ptr @.str8742) %t1057 = icmp eq ptr %t1056, null %t1058 = zext i1 %t1057 to i32 %t1059 = icmp ne i32 %t1058, 0 %t1060 = zext i1 %t1059 to i32 store i32 %t1060, ptr %t1051 br label %scend152 scend152: %t1061 = load i32, ptr %t1051 %t1062 = icmp ne i32 %t1061, 0 br i1 %t1062, label %then153, label %ifend155 then153: %t1063 = load ptr, ptr %t0 %t1064 = getelementptr inbounds %Cmp_Node, ptr %t1063, i32 0, i32 7 %t1065 = load ptr, ptr %t1064 %t1066 = getelementptr inbounds %LSlice, ptr %t1065, i32 0, i32 0 %t1067 = load ptr, ptr %t1066 %t1068 = getelementptr inbounds ptr, ptr %t1067, i32 0 %t1069 = load ptr, ptr %t1068 %t1070 = call ptr @fn_emit_expr(ptr %t1069) store ptr %t1070, ptr %t1071 %t1072 = load ptr, ptr %t1071 %t1073 = getelementptr inbounds %Cmp_Val, ptr %t1072, i32 0, i32 0 %t1074 = load ptr, ptr %t1073 %t1075 = call ptr @lp_str_concat(ptr @.str8743, ptr %t1074) %t1076 = call ptr @lp_str_concat(ptr %t1075, ptr @.str8744) %t1077 = call ptr @fn_emit_bind(ptr %t1076) store ptr %t1077, ptr %t1078 %t1079 = load ptr, ptr %t1078 %t1080 = call ptr @lp_str_concat(ptr @.str8745, ptr %t1079) %t1081 = call ptr @fn_emit_bind(ptr %t1080) store ptr %t1081, ptr %t1082 %t1083 = load ptr, ptr %t1082 %t1084 = call ptr @lp_str_concat(ptr @.str8746, ptr %t1083) %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str8747) %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 @.str8748, ptr %t1088) %t1090 = call ptr @lp_str_concat(ptr %t1089, ptr @.str8749) %t1091 = call ptr @fn_emit_bind(ptr %t1090) %t1092 = call ptr @fn_val(ptr %t1091, ptr @.str8750) store ptr %t1092, ptr %retval br label %ret ifend155: %t1094 = load ptr, ptr %t38 %t1095 = call i32 @lp_str_eq(ptr %t1094, ptr @.str8751) %t1096 = icmp ne i32 %t1095, 0 %t1097 = zext i1 %t1096 to i32 store i32 %t1097, ptr %t1093 br i1 %t1096, label %sc156, label %scend157 sc156: %t1098 = call ptr @fn_find_fn(ptr @.str8752) %t1099 = icmp eq ptr %t1098, null %t1100 = zext i1 %t1099 to i32 %t1101 = icmp ne i32 %t1100, 0 %t1102 = zext i1 %t1101 to i32 store i32 %t1102, ptr %t1093 br label %scend157 scend157: %t1103 = load i32, ptr %t1093 %t1104 = icmp ne i32 %t1103, 0 br i1 %t1104, label %then158, label %ifend160 then158: store i32 1, ptr @g_g_uses_option %t1105 = load ptr, ptr %t0 %t1106 = getelementptr inbounds %Cmp_Node, ptr %t1105, i32 0, i32 7 %t1107 = load ptr, ptr %t1106 %t1108 = getelementptr inbounds %LSlice, ptr %t1107, i32 0, i32 0 %t1109 = load ptr, ptr %t1108 %t1110 = getelementptr inbounds ptr, ptr %t1109, i32 0 %t1111 = load ptr, ptr %t1110 %t1112 = call ptr @fn_emit_expr(ptr %t1111) store ptr %t1112, ptr %t1113 %t1114 = call ptr @fn_emit_bind(ptr @.str8753) store ptr %t1114, ptr %t1115 %t1116 = load ptr, ptr %t1115 %t1117 = call ptr @lp_str_concat(ptr @.str8754, ptr %t1116) %t1118 = call ptr @lp_str_concat(ptr %t1117, ptr @.str8755) %t1119 = call ptr @fn_emit_bind(ptr %t1118) store ptr %t1119, ptr %t1120 %t1121 = load ptr, ptr %t1120 %t1122 = call ptr @lp_str_concat(ptr @.str8756, ptr %t1121) %t1123 = call ptr @lp_str_concat(ptr %t1122, ptr @.str8757) call void @fn_emit(ptr %t1123) %t1124 = load ptr, ptr %t1115 %t1125 = call ptr @lp_str_concat(ptr @.str8758, ptr %t1124) %t1126 = call ptr @lp_str_concat(ptr %t1125, ptr @.str8759) %t1127 = call ptr @fn_emit_bind(ptr %t1126) store ptr %t1127, ptr %t1128 %t1129 = load ptr, ptr %t1113 %t1130 = call ptr @fn_coerce_code(ptr %t1129, ptr @.str8761) %t1131 = call ptr @lp_str_concat(ptr @.str8760, ptr %t1130) %t1132 = call ptr @lp_str_concat(ptr %t1131, ptr @.str8762) %t1133 = load ptr, ptr %t1128 %t1134 = call ptr @lp_str_concat(ptr %t1132, ptr %t1133) %t1135 = call ptr @lp_str_concat(ptr %t1134, ptr @.str8763) call void @fn_emit(ptr %t1135) %t1136 = load ptr, ptr %t1115 %t1137 = call ptr @fn_val(ptr %t1136, ptr @.str8764) store ptr %t1137, ptr %retval br label %ret ifend160: %t1139 = load ptr, ptr %t38 %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str8765) %t1141 = icmp ne i32 %t1140, 0 %t1142 = zext i1 %t1141 to i32 store i32 %t1142, ptr %t1138 br i1 %t1141, label %sc161, label %scend162 sc161: %t1143 = call ptr @fn_find_fn(ptr @.str8766) %t1144 = icmp eq ptr %t1143, null %t1145 = zext i1 %t1144 to i32 %t1146 = icmp ne i32 %t1145, 0 %t1147 = zext i1 %t1146 to i32 store i32 %t1147, ptr %t1138 br label %scend162 scend162: %t1148 = load i32, ptr %t1138 %t1149 = icmp ne i32 %t1148, 0 br i1 %t1149, label %then163, label %ifend165 then163: store i32 1, ptr @g_g_uses_option %t1150 = call ptr @fn_emit_bind(ptr @.str8767) store ptr %t1150, ptr %t1151 %t1152 = load ptr, ptr %t1151 %t1153 = call ptr @lp_str_concat(ptr @.str8768, ptr %t1152) %t1154 = call ptr @lp_str_concat(ptr %t1153, ptr @.str8769) %t1155 = call ptr @fn_emit_bind(ptr %t1154) store ptr %t1155, ptr %t1156 %t1157 = load ptr, ptr %t1156 %t1158 = call ptr @lp_str_concat(ptr @.str8770, ptr %t1157) %t1159 = call ptr @lp_str_concat(ptr %t1158, ptr @.str8771) call void @fn_emit(ptr %t1159) %t1160 = load ptr, ptr %t1151 %t1161 = call ptr @lp_str_concat(ptr @.str8772, ptr %t1160) %t1162 = call ptr @lp_str_concat(ptr %t1161, ptr @.str8773) %t1163 = call ptr @fn_emit_bind(ptr %t1162) store ptr %t1163, ptr %t1164 %t1165 = load ptr, ptr %t1164 %t1166 = call ptr @lp_str_concat(ptr @.str8774, ptr %t1165) %t1167 = call ptr @lp_str_concat(ptr %t1166, ptr @.str8775) call void @fn_emit(ptr %t1167) %t1168 = load ptr, ptr %t1151 %t1169 = call ptr @fn_val(ptr %t1168, ptr @.str8776) store ptr %t1169, ptr %retval br label %ret ifend165: %t1171 = load ptr, ptr %t38 %t1172 = call i32 @lp_str_eq(ptr %t1171, ptr @.str8777) %t1173 = icmp ne i32 %t1172, 0 %t1174 = zext i1 %t1173 to i32 store i32 %t1174, ptr %t1170 br i1 %t1173, label %sc166, label %scend167 sc166: %t1175 = call ptr @fn_find_fn(ptr @.str8778) %t1176 = icmp eq ptr %t1175, null %t1177 = zext i1 %t1176 to i32 %t1178 = icmp ne i32 %t1177, 0 %t1179 = zext i1 %t1178 to i32 store i32 %t1179, ptr %t1170 br label %scend167 scend167: %t1180 = load i32, ptr %t1170 %t1181 = icmp ne i32 %t1180, 0 br i1 %t1181, label %then168, label %ifend170 then168: %t1182 = load ptr, ptr %t0 %t1183 = getelementptr inbounds %Cmp_Node, ptr %t1182, i32 0, i32 7 %t1184 = load ptr, ptr %t1183 %t1185 = getelementptr inbounds %LSlice, ptr %t1184, i32 0, i32 0 %t1186 = load ptr, ptr %t1185 %t1187 = getelementptr inbounds ptr, ptr %t1186, i32 0 %t1188 = load ptr, ptr %t1187 %t1189 = call ptr @fn_emit_expr(ptr %t1188) store ptr %t1189, ptr %t1190 %t1191 = load ptr, ptr %t1190 %t1192 = getelementptr inbounds %Cmp_Val, ptr %t1191, i32 0, i32 0 %t1193 = load ptr, ptr %t1192 %t1194 = call ptr @lp_str_concat(ptr @.str8779, ptr %t1193) %t1195 = call ptr @lp_str_concat(ptr %t1194, ptr @.str8780) %t1196 = call ptr @fn_emit_bind(ptr %t1195) store ptr %t1196, ptr %t1197 %t1198 = load ptr, ptr %t1197 %t1199 = call ptr @lp_str_concat(ptr @.str8781, ptr %t1198) %t1200 = call ptr @fn_emit_bind(ptr %t1199) store ptr %t1200, ptr %t1201 %t1202 = load ptr, ptr %t1201 %t1203 = call ptr @lp_str_concat(ptr @.str8782, ptr %t1202) %t1204 = call ptr @lp_str_concat(ptr %t1203, ptr @.str8783) %t1205 = call ptr @fn_emit_bind(ptr %t1204) store ptr %t1205, ptr %t1206 %t1207 = load ptr, ptr %t1206 %t1208 = call ptr @lp_str_concat(ptr @.str8784, ptr %t1207) %t1209 = call ptr @lp_str_concat(ptr %t1208, ptr @.str8785) %t1210 = call ptr @fn_emit_bind(ptr %t1209) %t1211 = call ptr @fn_val(ptr %t1210, ptr @.str8786) store ptr %t1211, ptr %retval br label %ret ifend170: %t1213 = load ptr, ptr %t38 %t1214 = call i32 @lp_str_eq(ptr %t1213, ptr @.str8787) %t1215 = icmp ne i32 %t1214, 0 %t1216 = zext i1 %t1215 to i32 store i32 %t1216, ptr %t1212 br i1 %t1215, label %sc171, label %scend172 sc171: %t1217 = call ptr @fn_find_fn(ptr @.str8788) %t1218 = icmp eq ptr %t1217, null %t1219 = zext i1 %t1218 to i32 %t1220 = icmp ne i32 %t1219, 0 %t1221 = zext i1 %t1220 to i32 store i32 %t1221, ptr %t1212 br label %scend172 scend172: %t1222 = load i32, ptr %t1212 %t1223 = icmp ne i32 %t1222, 0 br i1 %t1223, label %then173, label %ifend175 then173: %t1224 = load ptr, ptr %t0 %t1225 = getelementptr inbounds %Cmp_Node, ptr %t1224, i32 0, i32 7 %t1226 = load ptr, ptr %t1225 %t1227 = getelementptr inbounds %LSlice, ptr %t1226, i32 0, i32 0 %t1228 = load ptr, ptr %t1227 %t1229 = getelementptr inbounds ptr, ptr %t1228, i32 0 %t1230 = load ptr, ptr %t1229 %t1231 = call ptr @fn_emit_expr(ptr %t1230) store ptr %t1231, ptr %t1232 %t1233 = load ptr, ptr %t1232 %t1234 = getelementptr inbounds %Cmp_Val, ptr %t1233, i32 0, i32 0 %t1235 = load ptr, ptr %t1234 %t1236 = call ptr @lp_str_concat(ptr @.str8789, ptr %t1235) %t1237 = call ptr @lp_str_concat(ptr %t1236, ptr @.str8790) %t1238 = call ptr @fn_emit_bind(ptr %t1237) store ptr %t1238, ptr %t1239 %t1240 = load ptr, ptr %t1239 %t1241 = call ptr @lp_str_concat(ptr @.str8791, ptr %t1240) %t1242 = call ptr @fn_emit_bind(ptr %t1241) store ptr %t1242, ptr %t1243 %t1244 = load ptr, ptr %t1243 %t1245 = call ptr @lp_str_concat(ptr @.str8792, ptr %t1244) %t1246 = call ptr @lp_str_concat(ptr %t1245, ptr @.str8793) %t1247 = call ptr @fn_emit_bind(ptr %t1246) store ptr %t1247, ptr %t1248 %t1249 = load ptr, ptr %t1248 %t1250 = call ptr @lp_str_concat(ptr @.str8794, ptr %t1249) %t1251 = call ptr @lp_str_concat(ptr %t1250, ptr @.str8795) %t1252 = call ptr @fn_emit_bind(ptr %t1251) %t1253 = call ptr @fn_val(ptr %t1252, ptr @.str8796) store ptr %t1253, ptr %retval br label %ret ifend175: %t1255 = load ptr, ptr %t38 %t1256 = call i32 @lp_str_eq(ptr %t1255, ptr @.str8797) %t1257 = icmp ne i32 %t1256, 0 %t1258 = zext i1 %t1257 to i32 store i32 %t1258, ptr %t1254 br i1 %t1257, label %sc176, label %scend177 sc176: %t1259 = call ptr @fn_find_fn(ptr @.str8798) %t1260 = icmp eq ptr %t1259, null %t1261 = zext i1 %t1260 to i32 %t1262 = icmp ne i32 %t1261, 0 %t1263 = zext i1 %t1262 to i32 store i32 %t1263, ptr %t1254 br label %scend177 scend177: %t1264 = load i32, ptr %t1254 %t1265 = icmp ne i32 %t1264, 0 br i1 %t1265, label %then178, label %ifend180 then178: %t1266 = load ptr, ptr %t0 %t1267 = getelementptr inbounds %Cmp_Node, ptr %t1266, i32 0, i32 7 %t1268 = load ptr, ptr %t1267 %t1269 = getelementptr inbounds %LSlice, ptr %t1268, i32 0, i32 0 %t1270 = load ptr, ptr %t1269 %t1271 = getelementptr inbounds ptr, ptr %t1270, i32 0 %t1272 = load ptr, ptr %t1271 %t1273 = call ptr @fn_emit_expr(ptr %t1272) store ptr %t1273, ptr %t1274 %t1275 = load ptr, ptr %t0 %t1276 = getelementptr inbounds %Cmp_Node, ptr %t1275, i32 0, i32 7 %t1277 = load ptr, ptr %t1276 %t1278 = getelementptr inbounds %LSlice, ptr %t1277, i32 0, i32 0 %t1279 = load ptr, ptr %t1278 %t1280 = getelementptr inbounds ptr, ptr %t1279, i32 1 %t1281 = load ptr, ptr %t1280 %t1282 = call ptr @fn_emit_expr(ptr %t1281) store ptr %t1282, ptr %t1283 %t1284 = load ptr, ptr %t1274 %t1285 = getelementptr inbounds %Cmp_Val, ptr %t1284, i32 0, i32 0 %t1286 = load ptr, ptr %t1285 %t1287 = call ptr @lp_str_concat(ptr @.str8799, ptr %t1286) %t1288 = call ptr @lp_str_concat(ptr %t1287, ptr @.str8800) %t1289 = call ptr @fn_emit_bind(ptr %t1288) store ptr %t1289, ptr %t1290 %t1291 = load ptr, ptr %t1290 %t1292 = call ptr @lp_str_concat(ptr @.str8801, ptr %t1291) %t1293 = call ptr @fn_emit_bind(ptr %t1292) store ptr %t1293, ptr %t1294 %t1295 = load ptr, ptr %t1274 %t1296 = getelementptr inbounds %Cmp_Val, ptr %t1295, i32 0, i32 0 %t1297 = load ptr, ptr %t1296 %t1298 = call ptr @lp_str_concat(ptr @.str8802, ptr %t1297) %t1299 = call ptr @lp_str_concat(ptr %t1298, ptr @.str8803) %t1300 = call ptr @fn_emit_bind(ptr %t1299) store ptr %t1300, ptr %t1301 %t1302 = load ptr, ptr %t1301 %t1303 = call ptr @lp_str_concat(ptr @.str8804, ptr %t1302) %t1304 = call ptr @fn_emit_bind(ptr %t1303) store ptr %t1304, ptr %t1305 %t1306 = load ptr, ptr %t1294 %t1307 = call ptr @lp_str_concat(ptr @.str8805, ptr %t1306) %t1308 = call ptr @lp_str_concat(ptr %t1307, ptr @.str8806) %t1309 = call ptr @fn_emit_bind(ptr %t1308) store ptr %t1309, ptr %t1310 %t1311 = load ptr, ptr %t1310 %t1312 = call ptr @lp_str_concat(ptr @.str8807, ptr %t1311) %t1313 = call ptr @lp_str_concat(ptr %t1312, ptr @.str8808) %t1314 = load ptr, ptr %t1305 %t1315 = call ptr @lp_str_concat(ptr %t1313, ptr %t1314) %t1316 = call ptr @lp_str_concat(ptr %t1315, ptr @.str8809) %t1317 = load ptr, ptr %t1283 %t1318 = call ptr @fn_coerce_code(ptr %t1317, ptr @.str8810) %t1319 = call ptr @lp_str_concat(ptr %t1316, ptr %t1318) %t1320 = call ptr @fn_emit_bind(ptr %t1319) %t1321 = call ptr @fn_val(ptr %t1320, ptr @.str8811) store ptr %t1321, ptr %retval br label %ret ifend180: %t1322 = load ptr, ptr %t38 %t1323 = call i32 @lp_str_eq(ptr %t1322, ptr @.str8812) %t1324 = icmp ne i32 %t1323, 0 br i1 %t1324, label %then181, label %ifend183 then181: %t1325 = load ptr, ptr %t0 %t1326 = getelementptr inbounds %Cmp_Node, ptr %t1325, i32 0, i32 7 %t1327 = load ptr, ptr %t1326 %t1328 = getelementptr inbounds %LSlice, ptr %t1327, i32 0, i32 0 %t1329 = load ptr, ptr %t1328 %t1330 = getelementptr inbounds ptr, ptr %t1329, i32 0 %t1331 = load ptr, ptr %t1330 %t1332 = call ptr @fn_emit_expr(ptr %t1331) store ptr %t1332, ptr %t1333 %t1334 = load ptr, ptr %t1333 %t1335 = getelementptr inbounds %Cmp_Val, ptr %t1334, i32 0, i32 0 %t1336 = load ptr, ptr %t1335 %t1337 = call ptr @lp_str_concat(ptr @.str8813, ptr %t1336) %t1338 = call ptr @lp_str_concat(ptr %t1337, ptr @.str8814) %t1339 = call ptr @fn_emit_bind(ptr %t1338) %t1340 = call ptr @fn_val(ptr %t1339, ptr @.str8815) store ptr %t1340, ptr %retval br label %ret ifend183: %t1341 = load ptr, ptr %t38 %t1342 = call i32 @lp_str_eq(ptr %t1341, ptr @.str8816) %t1343 = icmp ne i32 %t1342, 0 br i1 %t1343, label %then184, label %ifend186 then184: %t1344 = load ptr, ptr %t0 %t1345 = getelementptr inbounds %Cmp_Node, ptr %t1344, i32 0, i32 7 %t1346 = load ptr, ptr %t1345 %t1347 = getelementptr inbounds %LSlice, ptr %t1346, i32 0, i32 0 %t1348 = load ptr, ptr %t1347 %t1349 = getelementptr inbounds ptr, ptr %t1348, i32 0 %t1350 = load ptr, ptr %t1349 %t1351 = call ptr @fn_emit_expr(ptr %t1350) store ptr %t1351, ptr %t1352 %t1353 = load ptr, ptr %t0 %t1354 = getelementptr inbounds %Cmp_Node, ptr %t1353, i32 0, i32 7 %t1355 = load ptr, ptr %t1354 %t1356 = getelementptr inbounds %LSlice, ptr %t1355, i32 0, i32 0 %t1357 = load ptr, ptr %t1356 %t1358 = getelementptr inbounds ptr, ptr %t1357, i32 1 %t1359 = load ptr, ptr %t1358 %t1360 = call ptr @fn_emit_expr(ptr %t1359) store ptr %t1360, ptr %t1361 %t1362 = load ptr, ptr %t1352 %t1363 = getelementptr inbounds %Cmp_Val, ptr %t1362, i32 0, i32 0 %t1364 = load ptr, ptr %t1363 %t1365 = call ptr @lp_str_concat(ptr @.str8817, ptr %t1364) %t1366 = call ptr @lp_str_concat(ptr %t1365, ptr @.str8818) %t1367 = load ptr, ptr %t1361 %t1368 = getelementptr inbounds %Cmp_Val, ptr %t1367, i32 0, i32 0 %t1369 = load ptr, ptr %t1368 %t1370 = call ptr @lp_str_concat(ptr %t1366, ptr %t1369) %t1371 = call ptr @lp_str_concat(ptr %t1370, ptr @.str8819) %t1372 = call ptr @fn_emit_bind(ptr %t1371) %t1373 = call ptr @fn_val(ptr %t1372, ptr @.str8820) store ptr %t1373, ptr %retval br label %ret ifend186: %t1374 = load ptr, ptr %t38 %t1375 = call i32 @lp_str_eq(ptr %t1374, ptr @.str8821) %t1376 = icmp ne i32 %t1375, 0 br i1 %t1376, label %then187, label %ifend189 then187: %t1377 = load ptr, ptr %t0 %t1378 = getelementptr inbounds %Cmp_Node, ptr %t1377, i32 0, i32 7 %t1379 = load ptr, ptr %t1378 %t1380 = getelementptr inbounds %LSlice, ptr %t1379, i32 0, i32 0 %t1381 = load ptr, ptr %t1380 %t1382 = getelementptr inbounds ptr, ptr %t1381, i32 0 %t1383 = load ptr, ptr %t1382 %t1384 = call ptr @fn_emit_expr(ptr %t1383) store ptr %t1384, ptr %t1385 %t1386 = load ptr, ptr %t0 %t1387 = getelementptr inbounds %Cmp_Node, ptr %t1386, i32 0, i32 7 %t1388 = load ptr, ptr %t1387 %t1389 = getelementptr inbounds %LSlice, ptr %t1388, i32 0, i32 0 %t1390 = load ptr, ptr %t1389 %t1391 = getelementptr inbounds ptr, ptr %t1390, i32 1 %t1392 = load ptr, ptr %t1391 %t1393 = call ptr @fn_emit_expr(ptr %t1392) store ptr %t1393, ptr %t1394 %t1395 = load ptr, ptr %t0 %t1396 = getelementptr inbounds %Cmp_Node, ptr %t1395, i32 0, i32 7 %t1397 = load ptr, ptr %t1396 %t1398 = getelementptr inbounds %LSlice, ptr %t1397, i32 0, i32 0 %t1399 = load ptr, ptr %t1398 %t1400 = getelementptr inbounds ptr, ptr %t1399, i32 2 %t1401 = load ptr, ptr %t1400 %t1402 = call ptr @fn_emit_expr(ptr %t1401) store ptr %t1402, ptr %t1403 %t1404 = load ptr, ptr %t1385 %t1405 = getelementptr inbounds %Cmp_Val, ptr %t1404, i32 0, i32 0 %t1406 = load ptr, ptr %t1405 %t1407 = call ptr @lp_str_concat(ptr @.str8822, ptr %t1406) %t1408 = call ptr @lp_str_concat(ptr %t1407, ptr @.str8823) %t1409 = load ptr, ptr %t1394 %t1410 = getelementptr inbounds %Cmp_Val, ptr %t1409, i32 0, i32 0 %t1411 = load ptr, ptr %t1410 %t1412 = call ptr @lp_str_concat(ptr %t1408, ptr %t1411) %t1413 = call ptr @lp_str_concat(ptr %t1412, ptr @.str8824) %t1414 = load ptr, ptr %t1403 %t1415 = getelementptr inbounds %Cmp_Val, ptr %t1414, i32 0, i32 0 %t1416 = load ptr, ptr %t1415 %t1417 = call ptr @lp_str_concat(ptr %t1413, ptr %t1416) %t1418 = call ptr @lp_str_concat(ptr %t1417, ptr @.str8825) %t1419 = call ptr @fn_emit_bind(ptr %t1418) store ptr %t1419, ptr %t1420 %t1421 = load ptr, ptr %t1420 %t1422 = call ptr @lp_str_concat(ptr @.str8826, ptr %t1421) %t1423 = call ptr @lp_str_concat(ptr %t1422, ptr @.str8827) %t1424 = call ptr @fn_emit_bind(ptr %t1423) %t1425 = call ptr @fn_val(ptr %t1424, ptr @.str8828) store ptr %t1425, ptr %retval br label %ret ifend189: %t1426 = load ptr, ptr %t38 %t1427 = call i32 @lp_str_eq(ptr %t1426, ptr @.str8829) %t1428 = icmp ne i32 %t1427, 0 br i1 %t1428, label %then190, label %ifend192 then190: %t1429 = load ptr, ptr %t0 %t1430 = getelementptr inbounds %Cmp_Node, ptr %t1429, i32 0, i32 7 %t1431 = load ptr, ptr %t1430 %t1432 = getelementptr inbounds %LSlice, ptr %t1431, i32 0, i32 0 %t1433 = load ptr, ptr %t1432 %t1434 = getelementptr inbounds ptr, ptr %t1433, i32 0 %t1435 = load ptr, ptr %t1434 %t1436 = call ptr @fn_emit_expr(ptr %t1435) store ptr %t1436, ptr %t1437 %t1438 = load ptr, ptr %t0 %t1439 = getelementptr inbounds %Cmp_Node, ptr %t1438, i32 0, i32 7 %t1440 = load ptr, ptr %t1439 %t1441 = getelementptr inbounds %LSlice, ptr %t1440, i32 0, i32 0 %t1442 = load ptr, ptr %t1441 %t1443 = getelementptr inbounds ptr, ptr %t1442, i32 1 %t1444 = load ptr, ptr %t1443 %t1445 = call ptr @fn_emit_expr(ptr %t1444) store ptr %t1445, ptr %t1446 %t1447 = load ptr, ptr %t0 %t1448 = getelementptr inbounds %Cmp_Node, ptr %t1447, i32 0, i32 7 %t1449 = load ptr, ptr %t1448 %t1450 = getelementptr inbounds %LSlice, ptr %t1449, i32 0, i32 0 %t1451 = load ptr, ptr %t1450 %t1452 = getelementptr inbounds ptr, ptr %t1451, i32 2 %t1453 = load ptr, ptr %t1452 %t1454 = call ptr @fn_emit_expr(ptr %t1453) store ptr %t1454, ptr %t1455 %t1456 = load ptr, ptr %t0 %t1457 = getelementptr inbounds %Cmp_Node, ptr %t1456, i32 0, i32 7 %t1458 = load ptr, ptr %t1457 %t1459 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 0 %t1460 = load ptr, ptr %t1459 %t1461 = getelementptr inbounds ptr, ptr %t1460, i32 3 %t1462 = load ptr, ptr %t1461 %t1463 = call ptr @fn_emit_expr(ptr %t1462) store ptr %t1463, ptr %t1464 %t1465 = load ptr, ptr %t1464 %t1466 = getelementptr inbounds %Cmp_Val, ptr %t1465, i32 0, i32 0 %t1467 = load ptr, ptr %t1466 %t1468 = call ptr @lp_str_concat(ptr @.str8830, ptr %t1467) %t1469 = call ptr @lp_str_concat(ptr %t1468, ptr @.str8831) %t1470 = call ptr @fn_emit_bind(ptr %t1469) store ptr %t1470, ptr %t1471 call void @fn_emit(ptr @.str8832) %t1472 = load ptr, ptr %t1437 %t1473 = getelementptr inbounds %Cmp_Val, ptr %t1472, i32 0, i32 0 %t1474 = load ptr, ptr %t1473 call void @fn_emit(ptr %t1474) call void @fn_emit(ptr @.str8833) %t1475 = load ptr, ptr %t1446 %t1476 = getelementptr inbounds %Cmp_Val, ptr %t1475, i32 0, i32 0 %t1477 = load ptr, ptr %t1476 call void @fn_emit(ptr %t1477) call void @fn_emit(ptr @.str8834) %t1478 = load ptr, ptr %t1455 %t1479 = getelementptr inbounds %Cmp_Val, ptr %t1478, i32 0, i32 0 %t1480 = load ptr, ptr %t1479 call void @fn_emit(ptr %t1480) call void @fn_emit(ptr @.str8835) %t1481 = load ptr, ptr %t1471 call void @fn_emit(ptr %t1481) call void @fn_emit(ptr @.str8836) %t1482 = call ptr @fn_val(ptr @.str8837, ptr @.str8838) store ptr %t1482, ptr %retval br label %ret ifend192: %t1483 = load ptr, ptr %t38 %t1484 = call i32 @lp_str_eq(ptr %t1483, ptr @.str8839) %t1485 = icmp ne i32 %t1484, 0 br i1 %t1485, label %then193, label %ifend195 then193: %t1486 = load ptr, ptr %t0 %t1487 = getelementptr inbounds %Cmp_Node, ptr %t1486, i32 0, i32 7 %t1488 = load ptr, ptr %t1487 %t1489 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 0 %t1490 = load ptr, ptr %t1489 %t1491 = getelementptr inbounds ptr, ptr %t1490, i32 0 %t1492 = load ptr, ptr %t1491 %t1493 = call ptr @fn_emit_expr(ptr %t1492) store ptr %t1493, ptr %t1494 %t1495 = load ptr, ptr %t0 %t1496 = getelementptr inbounds %Cmp_Node, ptr %t1495, i32 0, i32 7 %t1497 = load ptr, ptr %t1496 %t1498 = getelementptr inbounds %LSlice, ptr %t1497, i32 0, i32 0 %t1499 = load ptr, ptr %t1498 %t1500 = getelementptr inbounds ptr, ptr %t1499, i32 1 %t1501 = load ptr, ptr %t1500 %t1502 = call ptr @fn_emit_expr(ptr %t1501) store ptr %t1502, ptr %t1503 %t1504 = load ptr, ptr %t1494 %t1505 = getelementptr inbounds %Cmp_Val, ptr %t1504, i32 0, i32 0 %t1506 = load ptr, ptr %t1505 %t1507 = call ptr @lp_str_concat(ptr @.str8840, ptr %t1506) %t1508 = call ptr @lp_str_concat(ptr %t1507, ptr @.str8841) %t1509 = load ptr, ptr %t1503 %t1510 = getelementptr inbounds %Cmp_Val, ptr %t1509, i32 0, i32 0 %t1511 = load ptr, ptr %t1510 %t1512 = call ptr @lp_str_concat(ptr %t1508, ptr %t1511) %t1513 = call ptr @lp_str_concat(ptr %t1512, ptr @.str8842) %t1514 = call ptr @fn_emit_bind(ptr %t1513) %t1515 = call ptr @fn_val(ptr %t1514, ptr @.str8843) store ptr %t1515, ptr %retval br label %ret ifend195: %t1516 = load ptr, ptr %t38 %t1517 = call i32 @lp_str_eq(ptr %t1516, ptr @.str8844) %t1518 = icmp ne i32 %t1517, 0 br i1 %t1518, label %then196, label %ifend198 then196: %t1519 = call ptr @fn_emit_bind(ptr @.str8845) %t1520 = call ptr @fn_val(ptr %t1519, ptr @.str8846) store ptr %t1520, ptr %retval br label %ret ifend198: %t1521 = load ptr, ptr %t38 %t1522 = call i32 @lp_str_eq(ptr %t1521, ptr @.str8847) %t1523 = icmp ne i32 %t1522, 0 br i1 %t1523, label %then199, label %ifend201 then199: %t1524 = load ptr, ptr %t0 %t1525 = getelementptr inbounds %Cmp_Node, ptr %t1524, i32 0, i32 7 %t1526 = load ptr, ptr %t1525 %t1527 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 0 %t1528 = load ptr, ptr %t1527 %t1529 = getelementptr inbounds ptr, ptr %t1528, i32 0 %t1530 = load ptr, ptr %t1529 %t1531 = call ptr @fn_emit_expr(ptr %t1530) store ptr %t1531, ptr %t1532 %t1533 = load ptr, ptr %t1532 %t1534 = getelementptr inbounds %Cmp_Val, ptr %t1533, i32 0, i32 0 %t1535 = load ptr, ptr %t1534 %t1536 = call ptr @lp_str_concat(ptr @.str8848, ptr %t1535) %t1537 = call ptr @lp_str_concat(ptr %t1536, ptr @.str8849) %t1538 = call ptr @fn_emit_bind(ptr %t1537) %t1539 = call ptr @fn_val(ptr %t1538, ptr @.str8850) store ptr %t1539, ptr %retval br label %ret ifend201: %t1540 = load ptr, ptr %t38 %t1541 = call i32 @lp_str_eq(ptr %t1540, ptr @.str8851) %t1542 = icmp ne i32 %t1541, 0 br i1 %t1542, label %then202, label %ifend204 then202: %t1543 = load ptr, ptr %t0 %t1544 = getelementptr inbounds %Cmp_Node, ptr %t1543, i32 0, i32 7 %t1545 = load ptr, ptr %t1544 %t1546 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 0 %t1547 = load ptr, ptr %t1546 %t1548 = getelementptr inbounds ptr, ptr %t1547, i32 0 %t1549 = load ptr, ptr %t1548 %t1550 = call ptr @fn_emit_expr(ptr %t1549) store ptr %t1550, ptr %t1551 %t1552 = load ptr, ptr %t1551 %t1553 = getelementptr inbounds %Cmp_Val, ptr %t1552, i32 0, i32 0 %t1554 = load ptr, ptr %t1553 %t1555 = call ptr @lp_str_concat(ptr @.str8852, ptr %t1554) %t1556 = call ptr @lp_str_concat(ptr %t1555, ptr @.str8853) %t1557 = call ptr @fn_emit_bind(ptr %t1556) %t1558 = call ptr @fn_val(ptr %t1557, ptr @.str8854) store ptr %t1558, ptr %retval br label %ret ifend204: %t1559 = load ptr, ptr %t38 %t1560 = call i32 @lp_str_eq(ptr %t1559, ptr @.str8855) %t1561 = icmp ne i32 %t1560, 0 br i1 %t1561, label %then205, label %ifend207 then205: %t1562 = load ptr, ptr %t0 %t1563 = getelementptr inbounds %Cmp_Node, ptr %t1562, i32 0, i32 7 %t1564 = load ptr, ptr %t1563 %t1565 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 0 %t1566 = load ptr, ptr %t1565 %t1567 = getelementptr inbounds ptr, ptr %t1566, i32 0 %t1568 = load ptr, ptr %t1567 %t1569 = call ptr @fn_emit_expr(ptr %t1568) store ptr %t1569, ptr %t1570 %t1571 = load ptr, ptr %t0 %t1572 = getelementptr inbounds %Cmp_Node, ptr %t1571, i32 0, i32 7 %t1573 = load ptr, ptr %t1572 %t1574 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 0 %t1575 = load ptr, ptr %t1574 %t1576 = getelementptr inbounds ptr, ptr %t1575, i32 1 %t1577 = load ptr, ptr %t1576 %t1578 = call ptr @fn_emit_expr(ptr %t1577) store ptr %t1578, ptr %t1579 %t1580 = load ptr, ptr %t1570 %t1581 = getelementptr inbounds %Cmp_Val, ptr %t1580, i32 0, i32 0 %t1582 = load ptr, ptr %t1581 %t1583 = call ptr @lp_str_concat(ptr @.str8856, ptr %t1582) %t1584 = call ptr @lp_str_concat(ptr %t1583, ptr @.str8857) %t1585 = load ptr, ptr %t1579 %t1586 = getelementptr inbounds %Cmp_Val, ptr %t1585, i32 0, i32 0 %t1587 = load ptr, ptr %t1586 %t1588 = call ptr @lp_str_concat(ptr %t1584, ptr %t1587) %t1589 = call ptr @lp_str_concat(ptr %t1588, ptr @.str8858) %t1590 = call ptr @fn_emit_bind(ptr %t1589) %t1591 = call ptr @fn_val(ptr %t1590, ptr @.str8859) store ptr %t1591, ptr %retval br label %ret ifend207: %t1592 = load ptr, ptr %t38 %t1593 = call i32 @lp_str_eq(ptr %t1592, ptr @.str8860) %t1594 = icmp ne i32 %t1593, 0 br i1 %t1594, label %then208, label %ifend210 then208: %t1595 = load ptr, ptr %t0 %t1596 = getelementptr inbounds %Cmp_Node, ptr %t1595, i32 0, i32 7 %t1597 = load ptr, ptr %t1596 %t1598 = getelementptr inbounds %LSlice, ptr %t1597, i32 0, i32 0 %t1599 = load ptr, ptr %t1598 %t1600 = getelementptr inbounds ptr, ptr %t1599, i32 0 %t1601 = load ptr, ptr %t1600 %t1602 = call ptr @fn_emit_expr(ptr %t1601) store ptr %t1602, ptr %t1603 %t1604 = load ptr, ptr %t0 %t1605 = getelementptr inbounds %Cmp_Node, ptr %t1604, i32 0, i32 7 %t1606 = load ptr, ptr %t1605 %t1607 = getelementptr inbounds %LSlice, ptr %t1606, i32 0, i32 0 %t1608 = load ptr, ptr %t1607 %t1609 = getelementptr inbounds ptr, ptr %t1608, i32 1 %t1610 = load ptr, ptr %t1609 %t1611 = call ptr @fn_emit_expr(ptr %t1610) store ptr %t1611, ptr %t1612 %t1613 = load ptr, ptr %t1603 %t1614 = getelementptr inbounds %Cmp_Val, ptr %t1613, i32 0, i32 0 %t1615 = load ptr, ptr %t1614 %t1616 = call ptr @lp_str_concat(ptr @.str8861, ptr %t1615) %t1617 = call ptr @lp_str_concat(ptr %t1616, ptr @.str8862) %t1618 = load ptr, ptr %t1612 %t1619 = getelementptr inbounds %Cmp_Val, ptr %t1618, i32 0, i32 0 %t1620 = load ptr, ptr %t1619 %t1621 = call ptr @lp_str_concat(ptr %t1617, ptr %t1620) %t1622 = call ptr @lp_str_concat(ptr %t1621, ptr @.str8863) %t1623 = call ptr @fn_emit_bind(ptr %t1622) %t1624 = call ptr @fn_val(ptr %t1623, ptr @.str8864) store ptr %t1624, ptr %retval br label %ret ifend210: %t1625 = load ptr, ptr %t38 %t1626 = call i32 @lp_str_eq(ptr %t1625, ptr @.str8865) %t1627 = icmp ne i32 %t1626, 0 br i1 %t1627, label %then211, label %ifend213 then211: %t1628 = load ptr, ptr %t0 %t1629 = getelementptr inbounds %Cmp_Node, ptr %t1628, i32 0, i32 7 %t1630 = load ptr, ptr %t1629 %t1631 = getelementptr inbounds %LSlice, ptr %t1630, i32 0, i32 0 %t1632 = load ptr, ptr %t1631 %t1633 = getelementptr inbounds ptr, ptr %t1632, i32 0 %t1634 = load ptr, ptr %t1633 %t1635 = call ptr @fn_emit_expr(ptr %t1634) store ptr %t1635, ptr %t1636 %t1637 = load ptr, ptr %t0 %t1638 = getelementptr inbounds %Cmp_Node, ptr %t1637, i32 0, i32 7 %t1639 = load ptr, ptr %t1638 %t1640 = getelementptr inbounds %LSlice, ptr %t1639, i32 0, i32 0 %t1641 = load ptr, ptr %t1640 %t1642 = getelementptr inbounds ptr, ptr %t1641, i32 1 %t1643 = load ptr, ptr %t1642 %t1644 = call ptr @fn_emit_expr(ptr %t1643) store ptr %t1644, ptr %t1645 call void @fn_emit(ptr @.str8866) %t1646 = load ptr, ptr %t1636 %t1647 = getelementptr inbounds %Cmp_Val, ptr %t1646, i32 0, i32 0 %t1648 = load ptr, ptr %t1647 call void @fn_emit(ptr %t1648) call void @fn_emit(ptr @.str8867) %t1649 = load ptr, ptr %t1645 %t1650 = getelementptr inbounds %Cmp_Val, ptr %t1649, i32 0, i32 0 %t1651 = load ptr, ptr %t1650 call void @fn_emit(ptr %t1651) call void @fn_emit(ptr @.str8868) %t1652 = call ptr @fn_val(ptr @.str8869, ptr @.str8870) store ptr %t1652, ptr %retval br label %ret ifend213: %t1653 = load ptr, ptr %t38 %t1654 = call i32 @lp_str_eq(ptr %t1653, ptr @.str8871) %t1655 = icmp ne i32 %t1654, 0 br i1 %t1655, label %then214, label %ifend216 then214: %t1656 = load ptr, ptr %t0 %t1657 = getelementptr inbounds %Cmp_Node, ptr %t1656, i32 0, i32 7 %t1658 = load ptr, ptr %t1657 %t1659 = getelementptr inbounds %LSlice, ptr %t1658, i32 0, i32 0 %t1660 = load ptr, ptr %t1659 %t1661 = getelementptr inbounds ptr, ptr %t1660, i32 0 %t1662 = load ptr, ptr %t1661 %t1663 = call ptr @fn_emit_expr(ptr %t1662) store ptr %t1663, ptr %t1664 %t1665 = load ptr, ptr %t0 %t1666 = getelementptr inbounds %Cmp_Node, ptr %t1665, i32 0, i32 7 %t1667 = load ptr, ptr %t1666 %t1668 = getelementptr inbounds %LSlice, ptr %t1667, i32 0, i32 0 %t1669 = load ptr, ptr %t1668 %t1670 = getelementptr inbounds ptr, ptr %t1669, i32 1 %t1671 = load ptr, ptr %t1670 %t1672 = call ptr @fn_emit_expr(ptr %t1671) store ptr %t1672, ptr %t1673 call void @fn_emit(ptr @.str8872) %t1674 = load ptr, ptr %t1664 %t1675 = getelementptr inbounds %Cmp_Val, ptr %t1674, i32 0, i32 0 %t1676 = load ptr, ptr %t1675 call void @fn_emit(ptr %t1676) call void @fn_emit(ptr @.str8873) %t1677 = load ptr, ptr %t1673 %t1678 = getelementptr inbounds %Cmp_Val, ptr %t1677, i32 0, i32 0 %t1679 = load ptr, ptr %t1678 call void @fn_emit(ptr %t1679) call void @fn_emit(ptr @.str8874) %t1680 = call ptr @fn_val(ptr @.str8875, ptr @.str8876) store ptr %t1680, ptr %retval br label %ret ifend216: %t1681 = load ptr, ptr %t38 %t1682 = call i32 @lp_str_eq(ptr %t1681, ptr @.str8877) %t1683 = icmp ne i32 %t1682, 0 br i1 %t1683, label %then217, label %ifend219 then217: %t1684 = load ptr, ptr %t0 %t1685 = getelementptr inbounds %Cmp_Node, ptr %t1684, i32 0, i32 7 %t1686 = load ptr, ptr %t1685 %t1687 = getelementptr inbounds %LSlice, ptr %t1686, i32 0, i32 0 %t1688 = load ptr, ptr %t1687 %t1689 = getelementptr inbounds ptr, ptr %t1688, i32 0 %t1690 = load ptr, ptr %t1689 %t1691 = call ptr @fn_emit_expr(ptr %t1690) store ptr %t1691, ptr %t1692 %t1693 = load ptr, ptr %t1692 %t1694 = getelementptr inbounds %Cmp_Val, ptr %t1693, i32 0, i32 0 %t1695 = load ptr, ptr %t1694 %t1696 = call ptr @lp_str_concat(ptr @.str8878, ptr %t1695) %t1697 = call ptr @lp_str_concat(ptr %t1696, ptr @.str8879) %t1698 = call ptr @fn_emit_bind(ptr %t1697) %t1699 = call ptr @fn_val(ptr %t1698, ptr @.str8880) store ptr %t1699, ptr %retval br label %ret ifend219: %t1700 = load ptr, ptr %t38 %t1701 = call i32 @lp_str_eq(ptr %t1700, ptr @.str8881) %t1702 = icmp ne i32 %t1701, 0 br i1 %t1702, label %then220, label %ifend222 then220: %t1703 = call ptr @fn_emit_bind(ptr @.str8882) %t1704 = call ptr @fn_val(ptr %t1703, ptr @.str8883) store ptr %t1704, ptr %retval br label %ret ifend222: %t1705 = load ptr, ptr %t38 %t1706 = call i32 @lp_str_eq(ptr %t1705, ptr @.str8884) %t1707 = icmp ne i32 %t1706, 0 br i1 %t1707, label %then223, label %ifend225 then223: %t1708 = load ptr, ptr %t0 %t1709 = getelementptr inbounds %Cmp_Node, ptr %t1708, i32 0, i32 7 %t1710 = load ptr, ptr %t1709 %t1711 = getelementptr inbounds %LSlice, ptr %t1710, i32 0, i32 0 %t1712 = load ptr, ptr %t1711 %t1713 = getelementptr inbounds ptr, ptr %t1712, i32 0 %t1714 = load ptr, ptr %t1713 %t1715 = call ptr @fn_emit_expr(ptr %t1714) store ptr %t1715, ptr %t1716 %t1717 = load ptr, ptr %t1716 %t1718 = getelementptr inbounds %Cmp_Val, ptr %t1717, i32 0, i32 0 %t1719 = load ptr, ptr %t1718 %t1720 = call ptr @lp_str_concat(ptr @.str8885, ptr %t1719) %t1721 = call ptr @lp_str_concat(ptr %t1720, ptr @.str8886) %t1722 = call ptr @fn_emit_bind(ptr %t1721) %t1723 = call ptr @fn_val(ptr %t1722, ptr @.str8887) store ptr %t1723, ptr %retval br label %ret ifend225: %t1724 = load ptr, ptr %t38 %t1725 = call i32 @lp_str_eq(ptr %t1724, ptr @.str8888) %t1726 = icmp ne i32 %t1725, 0 br i1 %t1726, label %then226, label %ifend228 then226: %t1727 = load ptr, ptr %t0 %t1728 = getelementptr inbounds %Cmp_Node, ptr %t1727, i32 0, i32 7 %t1729 = load ptr, ptr %t1728 %t1730 = getelementptr inbounds %LSlice, ptr %t1729, i32 0, i32 0 %t1731 = load ptr, ptr %t1730 %t1732 = getelementptr inbounds ptr, ptr %t1731, i32 0 %t1733 = load ptr, ptr %t1732 %t1734 = call ptr @fn_emit_expr(ptr %t1733) store ptr %t1734, ptr %t1735 %t1736 = load ptr, ptr %t1735 %t1737 = getelementptr inbounds %Cmp_Val, ptr %t1736, i32 0, i32 0 %t1738 = load ptr, ptr %t1737 %t1739 = call ptr @lp_str_concat(ptr @.str8889, ptr %t1738) %t1740 = call ptr @lp_str_concat(ptr %t1739, ptr @.str8890) %t1741 = call ptr @fn_emit_bind(ptr %t1740) %t1742 = call ptr @fn_val(ptr %t1741, ptr @.str8891) store ptr %t1742, ptr %retval br label %ret ifend228: %t1743 = load ptr, ptr %t38 %t1744 = call i32 @lp_str_eq(ptr %t1743, ptr @.str8892) %t1745 = icmp ne i32 %t1744, 0 br i1 %t1745, label %then229, label %ifend231 then229: %t1746 = load ptr, ptr %t0 %t1747 = getelementptr inbounds %Cmp_Node, ptr %t1746, i32 0, i32 7 %t1748 = load ptr, ptr %t1747 %t1749 = getelementptr inbounds %LSlice, ptr %t1748, i32 0, i32 0 %t1750 = load ptr, ptr %t1749 %t1751 = getelementptr inbounds ptr, ptr %t1750, i32 0 %t1752 = load ptr, ptr %t1751 %t1753 = call ptr @fn_emit_expr(ptr %t1752) store ptr %t1753, ptr %t1754 %t1755 = load ptr, ptr %t0 %t1756 = getelementptr inbounds %Cmp_Node, ptr %t1755, i32 0, i32 7 %t1757 = load ptr, ptr %t1756 %t1758 = getelementptr inbounds %LSlice, ptr %t1757, i32 0, i32 0 %t1759 = load ptr, ptr %t1758 %t1760 = getelementptr inbounds ptr, ptr %t1759, i32 1 %t1761 = load ptr, ptr %t1760 %t1762 = call ptr @fn_emit_expr(ptr %t1761) store ptr %t1762, ptr %t1763 %t1764 = load ptr, ptr %t1754 %t1765 = getelementptr inbounds %Cmp_Val, ptr %t1764, i32 0, i32 0 %t1766 = load ptr, ptr %t1765 %t1767 = call ptr @lp_str_concat(ptr @.str8893, ptr %t1766) %t1768 = call ptr @lp_str_concat(ptr %t1767, ptr @.str8894) %t1769 = load ptr, ptr %t1763 %t1770 = getelementptr inbounds %Cmp_Val, ptr %t1769, i32 0, i32 0 %t1771 = load ptr, ptr %t1770 %t1772 = call ptr @lp_str_concat(ptr %t1768, ptr %t1771) %t1773 = call ptr @lp_str_concat(ptr %t1772, ptr @.str8895) %t1774 = call ptr @fn_emit_bind(ptr %t1773) %t1775 = call ptr @fn_val(ptr %t1774, ptr @.str8896) store ptr %t1775, ptr %retval br label %ret ifend231: %t1776 = load ptr, ptr %t38 %t1777 = call i32 @lp_str_eq(ptr %t1776, ptr @.str8897) %t1778 = icmp ne i32 %t1777, 0 br i1 %t1778, label %then232, label %ifend234 then232: %t1779 = load ptr, ptr %t0 %t1780 = getelementptr inbounds %Cmp_Node, ptr %t1779, i32 0, i32 7 %t1781 = load ptr, ptr %t1780 %t1782 = getelementptr inbounds %LSlice, ptr %t1781, i32 0, i32 0 %t1783 = load ptr, ptr %t1782 %t1784 = getelementptr inbounds ptr, ptr %t1783, i32 0 %t1785 = load ptr, ptr %t1784 %t1786 = call ptr @fn_emit_expr(ptr %t1785) store ptr %t1786, ptr %t1787 %t1788 = load ptr, ptr %t0 %t1789 = getelementptr inbounds %Cmp_Node, ptr %t1788, i32 0, i32 7 %t1790 = load ptr, ptr %t1789 %t1791 = getelementptr inbounds %LSlice, ptr %t1790, i32 0, i32 0 %t1792 = load ptr, ptr %t1791 %t1793 = getelementptr inbounds ptr, ptr %t1792, i32 1 %t1794 = load ptr, ptr %t1793 %t1795 = call ptr @fn_emit_expr(ptr %t1794) store ptr %t1795, ptr %t1796 %t1797 = load ptr, ptr %t1787 %t1798 = getelementptr inbounds %Cmp_Val, ptr %t1797, i32 0, i32 0 %t1799 = load ptr, ptr %t1798 %t1800 = call ptr @lp_str_concat(ptr @.str8898, ptr %t1799) %t1801 = call ptr @lp_str_concat(ptr %t1800, ptr @.str8899) %t1802 = load ptr, ptr %t1796 %t1803 = getelementptr inbounds %Cmp_Val, ptr %t1802, i32 0, i32 0 %t1804 = load ptr, ptr %t1803 %t1805 = call ptr @lp_str_concat(ptr %t1801, ptr %t1804) %t1806 = call ptr @lp_str_concat(ptr %t1805, ptr @.str8900) %t1807 = call ptr @fn_emit_bind(ptr %t1806) %t1808 = call ptr @fn_val(ptr %t1807, ptr @.str8901) store ptr %t1808, ptr %retval br label %ret ifend234: %t1809 = load ptr, ptr %t38 %t1810 = call i32 @fn_is_intrinsic(ptr %t1809) %t1811 = icmp ne i32 %t1810, 0 br i1 %t1811, label %then235, label %ifend237 then235: %t1812 = load ptr, ptr %t38 %t1813 = load ptr, ptr %t0 %t1814 = call ptr @fn_emit_intrinsic(ptr %t1812, ptr %t1813) store ptr %t1814, ptr %retval br label %ret ifend237: %t1815 = load ptr, ptr %t38 %t1816 = call i32 @fn_is_intrinsic2(ptr %t1815) %t1817 = icmp ne i32 %t1816, 0 br i1 %t1817, label %then238, label %ifend240 then238: %t1818 = load ptr, ptr %t38 %t1819 = load ptr, ptr %t0 %t1820 = call ptr @fn_emit_intrinsic2(ptr %t1818, ptr %t1819) store ptr %t1820, ptr %retval br label %ret ifend240: %t1821 = load ptr, ptr %t38 %t1822 = call i32 @fn_is_math_builtin(ptr %t1821) %t1823 = icmp ne i32 %t1822, 0 br i1 %t1823, label %then241, label %ifend243 then241: %t1824 = load ptr, ptr %t38 %t1825 = load ptr, ptr %t0 %t1826 = call ptr @fn_emit_math_builtin(ptr %t1824, ptr %t1825) store ptr %t1826, ptr %retval br label %ret ifend243: %t1827 = load ptr, ptr %t38 %t1828 = call ptr @fn_find_extern(ptr %t1827) store ptr %t1828, ptr %t1829 %t1830 = load ptr, ptr %t1829 %t1831 = icmp ne ptr %t1830, null %t1832 = zext i1 %t1831 to i32 %t1833 = icmp ne i32 %t1832, 0 br i1 %t1833, label %then244, label %ifend246 then244: %t1834 = load ptr, ptr %t0 %t1835 = load ptr, ptr %t1829 %t1836 = call ptr @fn_param_labels(ptr %t1835) call void @fn_reorder_named(ptr %t1834, ptr %t1836) %t1837 = getelementptr %LSlice, ptr null, i32 1 %t1838 = ptrtoint ptr %t1837 to i64 %t1839 = call ptr @malloc(i64 %t1838) %t1840 = getelementptr inbounds %LSlice, ptr %t1839, i32 0, i32 0 store ptr null, ptr %t1840 %t1841 = getelementptr inbounds %LSlice, ptr %t1839, i32 0, i32 1 store i32 0, ptr %t1841 %t1842 = getelementptr inbounds %LSlice, ptr %t1839, i32 0, i32 2 store i32 0, ptr %t1842 store ptr %t1839, ptr %t1843 %t1844 = getelementptr %LSlice, ptr null, i32 1 %t1845 = ptrtoint ptr %t1844 to i64 %t1846 = call ptr @malloc(i64 %t1845) %t1847 = getelementptr inbounds %LSlice, ptr %t1846, i32 0, i32 0 store ptr null, ptr %t1847 %t1848 = getelementptr inbounds %LSlice, ptr %t1846, i32 0, i32 1 store i32 0, ptr %t1848 %t1849 = getelementptr inbounds %LSlice, ptr %t1846, i32 0, i32 2 store i32 0, ptr %t1849 store ptr %t1846, ptr %t1850 store i32 0, ptr %t1851 br label %wcond247 wcond247: %t1852 = load i32, ptr %t1851 %t1853 = load ptr, ptr %t0 %t1854 = getelementptr inbounds %Cmp_Node, ptr %t1853, i32 0, i32 7 %t1855 = load ptr, ptr %t1854 %t1856 = getelementptr inbounds %LSlice, ptr %t1855, i32 0, i32 1 %t1857 = load i32, ptr %t1856 %t1858 = icmp slt i32 %t1852, %t1857 %t1859 = zext i1 %t1858 to i32 %t1860 = icmp ne i32 %t1859, 0 br i1 %t1860, label %wbody248, label %wend249 wbody248: %t1861 = load ptr, ptr %t0 %t1862 = getelementptr inbounds %Cmp_Node, ptr %t1861, i32 0, i32 7 %t1863 = load ptr, ptr %t1862 %t1864 = getelementptr inbounds %LSlice, ptr %t1863, i32 0, i32 0 %t1865 = load ptr, ptr %t1864 %t1866 = load i32, ptr %t1851 %t1867 = getelementptr inbounds ptr, ptr %t1865, i32 %t1866 %t1868 = load ptr, ptr %t1867 %t1869 = call ptr @fn_emit_expr(ptr %t1868) store ptr %t1869, ptr %t1870 %t1871 = load ptr, ptr %t1843 %t1872 = load ptr, ptr %t1870 %t1873 = getelementptr inbounds %Cmp_Val, ptr %t1872, i32 0, i32 0 %t1874 = load ptr, ptr %t1873 %t1875 = getelementptr inbounds %LSlice, ptr %t1871, i32 0, i32 1 %t1876 = getelementptr inbounds %LSlice, ptr %t1871, i32 0, i32 2 %t1877 = getelementptr inbounds %LSlice, ptr %t1871, i32 0, i32 0 %t1878 = load i32, ptr %t1875 %t1879 = load i32, ptr %t1876 %t1880 = icmp sge i32 %t1878, %t1879 br i1 %t1880, label %grow250, label %put251 grow250: %t1881 = mul i32 %t1879, 2 %t1882 = icmp eq i32 %t1879, 0 %t1883 = select i1 %t1882, i32 8, i32 %t1881 %t1884 = getelementptr ptr, ptr null, i32 1 %t1885 = ptrtoint ptr %t1884 to i64 %t1886 = zext i32 %t1883 to i64 %t1887 = mul i64 %t1886, %t1885 %t1888 = load ptr, ptr %t1877 %t1889 = call ptr @realloc(ptr %t1888, i64 %t1887) store ptr %t1889, ptr %t1877 store i32 %t1883, ptr %t1876 br label %put251 put251: %t1890 = load ptr, ptr %t1877 %t1891 = getelementptr inbounds ptr, ptr %t1890, i32 %t1878 store ptr %t1874, ptr %t1891 %t1892 = add i32 %t1878, 1 store i32 %t1892, ptr %t1875 %t1893 = load ptr, ptr %t1850 %t1894 = load ptr, ptr %t1870 %t1895 = getelementptr inbounds %Cmp_Val, ptr %t1894, i32 0, i32 1 %t1896 = load ptr, ptr %t1895 %t1897 = getelementptr inbounds %LSlice, ptr %t1893, i32 0, i32 1 %t1898 = getelementptr inbounds %LSlice, ptr %t1893, i32 0, i32 2 %t1899 = getelementptr inbounds %LSlice, ptr %t1893, i32 0, i32 0 %t1900 = load i32, ptr %t1897 %t1901 = load i32, ptr %t1898 %t1902 = icmp sge i32 %t1900, %t1901 br i1 %t1902, label %grow252, label %put253 grow252: %t1903 = mul i32 %t1901, 2 %t1904 = icmp eq i32 %t1901, 0 %t1905 = select i1 %t1904, i32 8, i32 %t1903 %t1906 = getelementptr ptr, ptr null, i32 1 %t1907 = ptrtoint ptr %t1906 to i64 %t1908 = zext i32 %t1905 to i64 %t1909 = mul i64 %t1908, %t1907 %t1910 = load ptr, ptr %t1899 %t1911 = call ptr @realloc(ptr %t1910, i64 %t1909) store ptr %t1911, ptr %t1899 store i32 %t1905, ptr %t1898 br label %put253 put253: %t1912 = load ptr, ptr %t1899 %t1913 = getelementptr inbounds ptr, ptr %t1912, i32 %t1900 store ptr %t1896, ptr %t1913 %t1914 = add i32 %t1900, 1 store i32 %t1914, ptr %t1897 %t1915 = load i32, ptr %t1851 %t1916 = add i32 %t1915, 1 store i32 %t1916, ptr %t1851 br label %wcond247 wend249: %t1917 = load ptr, ptr %t1829 %t1918 = getelementptr inbounds %Cmp_Node, ptr %t1917, i32 0, i32 3 %t1919 = load ptr, ptr %t1918 %t1920 = call ptr @fn_llty(ptr %t1919) store ptr %t1920, ptr %t1921 call void @fn_emit(ptr @.str8902) store ptr @.str8903, ptr %t1922 %t1923 = load ptr, ptr %t1921 %t1924 = call i32 @lp_str_eq(ptr %t1923, ptr @.str8904) %t1925 = icmp eq i32 %t1924, 0 %t1926 = zext i1 %t1925 to i32 %t1927 = icmp ne i32 %t1926, 0 br i1 %t1927, label %then254, label %ifend256 then254: %t1928 = call ptr @fn_nreg() store ptr %t1928, ptr %t1922 %t1929 = load ptr, ptr %t1922 call void @fn_emit(ptr %t1929) call void @fn_emit(ptr @.str8905) br label %ifend256 ifend256: call void @fn_emit(ptr @.str8906) %t1930 = load ptr, ptr %t1921 call void @fn_emit(ptr %t1930) call void @fn_emit(ptr @.str8907) %t1931 = load ptr, ptr %t1829 %t1932 = getelementptr inbounds %Cmp_Node, ptr %t1931, i32 0, i32 4 %t1933 = load ptr, ptr %t1932 %t1934 = getelementptr inbounds %Cmp_Node, ptr %t1933, i32 0, i32 1 %t1935 = load ptr, ptr %t1934 call void @fn_emit(ptr %t1935) call void @fn_emit(ptr @.str8908) store i32 0, ptr %t1851 br label %wcond257 wcond257: %t1936 = load i32, ptr %t1851 %t1937 = load ptr, ptr %t1843 %t1938 = getelementptr inbounds %LSlice, ptr %t1937, i32 0, i32 1 %t1939 = load i32, ptr %t1938 %t1940 = icmp slt i32 %t1936, %t1939 %t1941 = zext i1 %t1940 to i32 %t1942 = icmp ne i32 %t1941, 0 br i1 %t1942, label %wbody258, label %wend259 wbody258: %t1943 = load i32, ptr %t1851 %t1944 = icmp sgt i32 %t1943, 0 %t1945 = zext i1 %t1944 to i32 %t1946 = icmp ne i32 %t1945, 0 br i1 %t1946, label %then260, label %ifend262 then260: call void @fn_emit(ptr @.str8909) br label %ifend262 ifend262: %t1947 = load ptr, ptr %t1850 %t1948 = getelementptr inbounds %LSlice, ptr %t1947, i32 0, i32 0 %t1949 = load ptr, ptr %t1948 %t1950 = load i32, ptr %t1851 %t1951 = getelementptr inbounds ptr, ptr %t1949, i32 %t1950 %t1952 = load ptr, ptr %t1951 %t1953 = call ptr @fn_llty(ptr %t1952) call void @fn_emit(ptr %t1953) call void @fn_emit(ptr @.str8910) %t1954 = load ptr, ptr %t1843 %t1955 = getelementptr inbounds %LSlice, ptr %t1954, i32 0, i32 0 %t1956 = load ptr, ptr %t1955 %t1957 = load i32, ptr %t1851 %t1958 = getelementptr inbounds ptr, ptr %t1956, i32 %t1957 %t1959 = load ptr, ptr %t1958 call void @fn_emit(ptr %t1959) %t1960 = load i32, ptr %t1851 %t1961 = add i32 %t1960, 1 store i32 %t1961, ptr %t1851 br label %wcond257 wend259: call void @fn_emit(ptr @.str8911) %t1962 = load ptr, ptr %t1922 %t1963 = load ptr, ptr %t1829 %t1964 = getelementptr inbounds %Cmp_Node, ptr %t1963, i32 0, i32 3 %t1965 = load ptr, ptr %t1964 %t1966 = call ptr @fn_val(ptr %t1962, ptr %t1965) store ptr %t1966, ptr %retval br label %ret ifend246: %t1967 = load ptr, ptr %t38 %t1968 = call ptr @fn_variant_enum(ptr %t1967) store ptr %t1968, ptr %t1969 %t1970 = load ptr, ptr %t1969 %t1971 = icmp ne ptr %t1970, null %t1972 = zext i1 %t1971 to i32 %t1973 = icmp ne i32 %t1972, 0 br i1 %t1973, label %then263, label %ifend265 then263: %t1974 = load ptr, ptr %t1969 %t1975 = load i32, ptr @g_g_var_ord %t1976 = load ptr, ptr %t0 %t1977 = getelementptr inbounds %Cmp_Node, ptr %t1976, i32 0, i32 7 %t1978 = load ptr, ptr %t1977 %t1979 = call ptr @fn_emit_variant_new(ptr %t1974, i32 %t1975, ptr %t1978) store ptr %t1979, ptr %retval br label %ret ifend265: %t1980 = load ptr, ptr %t38 %t1981 = call ptr @fn_find_fn(ptr %t1980) store ptr %t1981, ptr %t1982 %t1983 = load ptr, ptr %t38 store ptr %t1983, ptr %t1984 %t1985 = load ptr, ptr %t1982 %t1986 = icmp eq ptr %t1985, null %t1987 = zext i1 %t1986 to i32 %t1988 = icmp ne i32 %t1987, 0 br i1 %t1988, label %then266, label %ifend268 then266: %t1989 = load ptr, ptr %t38 %t1990 = call ptr @lp_str_concat(ptr @.str8912, ptr %t1989) store ptr %t1990, ptr %t1991 %t1992 = load ptr, ptr %t1991 %t1993 = call ptr @fn_find_fn(ptr %t1992) store ptr %t1993, ptr %t1982 %t1994 = load ptr, ptr %t1982 %t1995 = icmp eq ptr %t1994, null %t1996 = zext i1 %t1995 to i32 %t1997 = icmp ne i32 %t1996, 0 br i1 %t1997, label %then269, label %ifend271 then269: %t1998 = load ptr, ptr %t38 %t1999 = call ptr @lp_str_concat(ptr @.str8913, ptr %t1998) call void @fn_perr(ptr %t1999) br label %ifend271 ifend271: %t2000 = load ptr, ptr %t1991 store ptr %t2000, ptr %t1984 br label %ifend268 ifend268: %t2001 = load ptr, ptr %t0 %t2002 = load ptr, ptr %t1982 %t2003 = call ptr @fn_param_labels(ptr %t2002) call void @fn_reorder_named(ptr %t2001, ptr %t2003) %t2004 = load ptr, ptr %t1982 %t2005 = call ptr @fn_param_types(ptr %t2004) store ptr %t2005, ptr %t2006 %t2007 = getelementptr %LSlice, ptr null, i32 1 %t2008 = ptrtoint ptr %t2007 to i64 %t2009 = call ptr @malloc(i64 %t2008) %t2010 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 0 store ptr null, ptr %t2010 %t2011 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 1 store i32 0, ptr %t2011 %t2012 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 2 store i32 0, ptr %t2012 store ptr %t2009, ptr %t2013 %t2014 = getelementptr %LSlice, ptr null, i32 1 %t2015 = ptrtoint ptr %t2014 to i64 %t2016 = call ptr @malloc(i64 %t2015) %t2017 = getelementptr inbounds %LSlice, ptr %t2016, i32 0, i32 0 store ptr null, ptr %t2017 %t2018 = getelementptr inbounds %LSlice, ptr %t2016, i32 0, i32 1 store i32 0, ptr %t2018 %t2019 = getelementptr inbounds %LSlice, ptr %t2016, i32 0, i32 2 store i32 0, ptr %t2019 store ptr %t2016, ptr %t2020 store i32 0, ptr %t2021 br label %wcond272 wcond272: %t2022 = load i32, ptr %t2021 %t2023 = load ptr, ptr %t0 %t2024 = getelementptr inbounds %Cmp_Node, ptr %t2023, i32 0, i32 7 %t2025 = load ptr, ptr %t2024 %t2026 = getelementptr inbounds %LSlice, ptr %t2025, i32 0, i32 1 %t2027 = load i32, ptr %t2026 %t2028 = icmp slt i32 %t2022, %t2027 %t2029 = zext i1 %t2028 to i32 %t2030 = icmp ne i32 %t2029, 0 br i1 %t2030, label %wbody273, label %wend274 wbody273: %t2031 = load ptr, ptr %t0 %t2032 = getelementptr inbounds %Cmp_Node, ptr %t2031, i32 0, i32 7 %t2033 = load ptr, ptr %t2032 %t2034 = getelementptr inbounds %LSlice, ptr %t2033, i32 0, i32 0 %t2035 = load ptr, ptr %t2034 %t2036 = load i32, ptr %t2021 %t2037 = getelementptr inbounds ptr, ptr %t2035, i32 %t2036 %t2038 = load ptr, ptr %t2037 %t2039 = call ptr @fn_emit_expr(ptr %t2038) store ptr %t2039, ptr %t2040 %t2041 = load ptr, ptr %t2040 %t2042 = getelementptr inbounds %Cmp_Val, ptr %t2041, i32 0, i32 1 %t2043 = load ptr, ptr %t2042 store ptr %t2043, ptr %t2044 %t2045 = load i32, ptr %t2021 %t2046 = load ptr, ptr %t2006 %t2047 = getelementptr inbounds %LSlice, ptr %t2046, i32 0, i32 1 %t2048 = load i32, ptr %t2047 %t2049 = icmp slt i32 %t2045, %t2048 %t2050 = zext i1 %t2049 to i32 %t2051 = icmp ne i32 %t2050, 0 br i1 %t2051, label %then275, label %ifend277 then275: %t2052 = load ptr, ptr %t2006 %t2053 = getelementptr inbounds %LSlice, ptr %t2052, i32 0, i32 0 %t2054 = load ptr, ptr %t2053 %t2055 = load i32, ptr %t2021 %t2056 = getelementptr inbounds ptr, ptr %t2054, i32 %t2055 %t2057 = load ptr, ptr %t2056 store ptr %t2057, ptr %t2044 br label %ifend277 ifend277: %t2058 = load ptr, ptr %t2013 %t2059 = load ptr, ptr %t2040 %t2060 = load ptr, ptr %t2044 %t2061 = call ptr @fn_coerce_code(ptr %t2059, ptr %t2060) %t2062 = getelementptr inbounds %LSlice, ptr %t2058, i32 0, i32 1 %t2063 = getelementptr inbounds %LSlice, ptr %t2058, i32 0, i32 2 %t2064 = getelementptr inbounds %LSlice, ptr %t2058, i32 0, i32 0 %t2065 = load i32, ptr %t2062 %t2066 = load i32, ptr %t2063 %t2067 = icmp sge i32 %t2065, %t2066 br i1 %t2067, label %grow278, label %put279 grow278: %t2068 = mul i32 %t2066, 2 %t2069 = icmp eq i32 %t2066, 0 %t2070 = select i1 %t2069, i32 8, i32 %t2068 %t2071 = getelementptr ptr, ptr null, i32 1 %t2072 = ptrtoint ptr %t2071 to i64 %t2073 = zext i32 %t2070 to i64 %t2074 = mul i64 %t2073, %t2072 %t2075 = load ptr, ptr %t2064 %t2076 = call ptr @realloc(ptr %t2075, i64 %t2074) store ptr %t2076, ptr %t2064 store i32 %t2070, ptr %t2063 br label %put279 put279: %t2077 = load ptr, ptr %t2064 %t2078 = getelementptr inbounds ptr, ptr %t2077, i32 %t2065 store ptr %t2061, ptr %t2078 %t2079 = add i32 %t2065, 1 store i32 %t2079, ptr %t2062 %t2080 = load ptr, ptr %t2020 %t2081 = load ptr, ptr %t2044 %t2082 = getelementptr inbounds %LSlice, ptr %t2080, i32 0, i32 1 %t2083 = getelementptr inbounds %LSlice, ptr %t2080, i32 0, i32 2 %t2084 = getelementptr inbounds %LSlice, ptr %t2080, i32 0, i32 0 %t2085 = load i32, ptr %t2082 %t2086 = load i32, ptr %t2083 %t2087 = icmp sge i32 %t2085, %t2086 br i1 %t2087, label %grow280, label %put281 grow280: %t2088 = mul i32 %t2086, 2 %t2089 = icmp eq i32 %t2086, 0 %t2090 = select i1 %t2089, i32 8, i32 %t2088 %t2091 = getelementptr ptr, ptr null, i32 1 %t2092 = ptrtoint ptr %t2091 to i64 %t2093 = zext i32 %t2090 to i64 %t2094 = mul i64 %t2093, %t2092 %t2095 = load ptr, ptr %t2084 %t2096 = call ptr @realloc(ptr %t2095, i64 %t2094) store ptr %t2096, ptr %t2084 store i32 %t2090, ptr %t2083 br label %put281 put281: %t2097 = load ptr, ptr %t2084 %t2098 = getelementptr inbounds ptr, ptr %t2097, i32 %t2085 store ptr %t2081, ptr %t2098 %t2099 = add i32 %t2085, 1 store i32 %t2099, ptr %t2082 %t2100 = load i32, ptr %t2021 %t2101 = add i32 %t2100, 1 store i32 %t2101, ptr %t2021 br label %wcond272 wend274: %t2102 = load ptr, ptr %t1982 %t2103 = getelementptr inbounds %Cmp_Node, ptr %t2102, i32 0, i32 3 %t2104 = load ptr, ptr %t2103 %t2105 = call ptr @fn_llty(ptr %t2104) store ptr %t2105, ptr %t2106 call void @fn_emit(ptr @.str8914) store ptr @.str8915, ptr %t2107 %t2108 = load ptr, ptr %t2106 %t2109 = call i32 @lp_str_eq(ptr %t2108, ptr @.str8916) %t2110 = icmp eq i32 %t2109, 0 %t2111 = zext i1 %t2110 to i32 %t2112 = icmp ne i32 %t2111, 0 br i1 %t2112, label %then282, label %ifend284 then282: %t2113 = call ptr @fn_nreg() store ptr %t2113, ptr %t2107 %t2114 = load ptr, ptr %t2107 call void @fn_emit(ptr %t2114) call void @fn_emit(ptr @.str8917) br label %ifend284 ifend284: call void @fn_emit(ptr @.str8918) %t2115 = load ptr, ptr %t2106 call void @fn_emit(ptr %t2115) call void @fn_emit(ptr @.str8919) %t2116 = load ptr, ptr %t1984 call void @fn_emit(ptr %t2116) call void @fn_emit(ptr @.str8920) store i32 0, ptr %t2021 br label %wcond285 wcond285: %t2117 = load i32, ptr %t2021 %t2118 = load ptr, ptr %t2013 %t2119 = getelementptr inbounds %LSlice, ptr %t2118, i32 0, i32 1 %t2120 = load i32, ptr %t2119 %t2121 = icmp slt i32 %t2117, %t2120 %t2122 = zext i1 %t2121 to i32 %t2123 = icmp ne i32 %t2122, 0 br i1 %t2123, label %wbody286, label %wend287 wbody286: %t2124 = load i32, ptr %t2021 %t2125 = icmp sgt i32 %t2124, 0 %t2126 = zext i1 %t2125 to i32 %t2127 = icmp ne i32 %t2126, 0 br i1 %t2127, label %then288, label %ifend290 then288: call void @fn_emit(ptr @.str8921) br label %ifend290 ifend290: %t2128 = load ptr, ptr %t2020 %t2129 = getelementptr inbounds %LSlice, ptr %t2128, i32 0, i32 0 %t2130 = load ptr, ptr %t2129 %t2131 = load i32, ptr %t2021 %t2132 = getelementptr inbounds ptr, ptr %t2130, i32 %t2131 %t2133 = load ptr, ptr %t2132 %t2134 = call ptr @fn_llty(ptr %t2133) call void @fn_emit(ptr %t2134) call void @fn_emit(ptr @.str8922) %t2135 = load ptr, ptr %t2013 %t2136 = getelementptr inbounds %LSlice, ptr %t2135, i32 0, i32 0 %t2137 = load ptr, ptr %t2136 %t2138 = load i32, ptr %t2021 %t2139 = getelementptr inbounds ptr, ptr %t2137, i32 %t2138 %t2140 = load ptr, ptr %t2139 call void @fn_emit(ptr %t2140) %t2141 = load i32, ptr %t2021 %t2142 = add i32 %t2141, 1 store i32 %t2142, ptr %t2021 br label %wcond285 wend287: call void @fn_emit(ptr @.str8923) %t2143 = load ptr, ptr %t2107 %t2144 = load ptr, ptr %t1982 %t2145 = getelementptr inbounds %Cmp_Node, ptr %t2144, i32 0, i32 3 %t2146 = load ptr, ptr %t2145 %t2147 = call ptr @fn_val(ptr %t2143, ptr %t2146) store ptr %t2147, ptr %retval br label %ret ret: %t2148 = load ptr, ptr %retval ret ptr %t2148 } 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 ptr %t158 = alloca i32 %t176 = alloca i32 %t179 = alloca i32 %t231 = alloca i32 %t253 = alloca ptr %t279 = alloca ptr %t300 = alloca ptr %t343 = alloca i32 %t366 = alloca i32 %t387 = alloca i32 %t399 = alloca ptr %t404 = alloca i32 %t409 = alloca i32 %t431 = alloca ptr %t452 = alloca ptr %t465 = alloca ptr %t477 = alloca ptr %t484 = alloca ptr %t535 = alloca ptr %t602 = 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 @.str8924, ptr @.str8925) 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 @.str8926) 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 @.str8927) 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 @.str8928) 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 @.str8929, ptr @.str8930) 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 @.str8931) 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 @.str8932, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str8933) %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 @.str8934) %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 @.str8935) %t91 = call ptr @fn_emit_bind(ptr %t90) %t92 = call ptr @fn_val(ptr %t91, ptr @.str8936) 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 @.str8937) 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, 55 %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 ptr @fn_find_fn(ptr %t142) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t144 %t146 = icmp eq ptr %t145, null %t147 = zext i1 %t146 to i32 %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then36, label %ifend38 then36: %t149 = load ptr, ptr %t0 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 1 %t151 = load ptr, ptr %t150 %t152 = call ptr @lp_str_concat(ptr @.str8938, ptr %t151) %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str8939) %t154 = load ptr, ptr %t0 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 1 %t156 = load ptr, ptr %t155 %t157 = call ptr @lp_str_concat(ptr %t153, ptr %t156) call void @fn_perr(ptr %t157) br label %ifend38 ifend38: %t159 = load ptr, ptr %t144 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 7 %t161 = load ptr, ptr %t160 %t162 = getelementptr inbounds %LSlice, ptr %t161, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp eq i32 %t163, 2 %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t158 br i1 %t166, label %sc39, label %scend40 sc39: %t168 = load ptr, ptr %t144 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 3 %t170 = load ptr, ptr %t169 %t171 = call ptr @fn_llty(ptr %t170) %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str8940) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t158 br label %scend40 scend40: %t175 = load i32, ptr %t158 store i32 %t175, ptr %t176 %t177 = load i32, ptr %t176 %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then41, label %ifend43 then41: %t180 = load ptr, ptr %t144 %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 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 3 %t188 = load ptr, ptr %t187 %t189 = call ptr @fn_llty(ptr %t188) %t190 = call i32 @lp_str_eq(ptr %t189, ptr @.str8941) %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t179 br i1 %t191, label %sc44, label %scend45 sc44: %t193 = load ptr, ptr %t144 %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 1 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 3 %t201 = load ptr, ptr %t200 %t202 = call ptr @fn_llty(ptr %t201) %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str8942) %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t179 br label %scend45 scend45: %t206 = load i32, ptr %t179 store i32 %t206, ptr %t176 br label %ifend43 ifend43: %t207 = load i32, ptr %t176 %t208 = icmp eq i32 %t207, 0 %t209 = zext i1 %t208 to i32 %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then46, label %ifend48 then46: %t211 = load ptr, ptr %t0 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 1 %t213 = load ptr, ptr %t212 %t214 = call ptr @lp_str_concat(ptr @.str8943, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str8944) call void @fn_perr(ptr %t215) br label %ifend48 ifend48: %t216 = load ptr, ptr %t0 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 1 %t218 = load ptr, ptr %t217 %t219 = call ptr @lp_str_concat(ptr @.str8945, ptr %t218) %t220 = call ptr @fn_val(ptr %t219, ptr @.str8946) store ptr %t220, ptr %retval br label %ret ifend35: %t221 = load ptr, ptr %t0 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 0 %t223 = load i32, ptr %t222 %t224 = icmp eq i32 %t223, 33 %t225 = zext i1 %t224 to i32 %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then49, label %ifend51 then49: %t227 = load ptr, ptr %t0 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 1 %t229 = load ptr, ptr %t228 %t230 = call i32 @fn_loc_find(ptr %t229) store i32 %t230, ptr %t231 %t232 = load i32, ptr %t231 %t233 = icmp sge i32 %t232, 0 %t234 = zext i1 %t233 to i32 %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then52, label %ifend54 then52: %t236 = load ptr, ptr @g_loc_reg %t237 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 %t238 = load ptr, ptr %t237 %t239 = load i32, ptr %t231 %t240 = getelementptr inbounds ptr, ptr %t238, i32 %t239 %t241 = load ptr, ptr %t240 %t242 = load ptr, ptr @g_loc_ty %t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 0 %t244 = load ptr, ptr %t243 %t245 = load i32, ptr %t231 %t246 = getelementptr inbounds ptr, ptr %t244, i32 %t245 %t247 = load ptr, ptr %t246 %t248 = call ptr @fn_emit_load_at(ptr %t241, ptr %t247) store ptr %t248, ptr %retval br label %ret ifend54: %t249 = load ptr, ptr %t0 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 1 %t251 = load ptr, ptr %t250 %t252 = call ptr @fn_find_global(ptr %t251) store ptr %t252, ptr %t253 %t254 = load ptr, ptr %t253 %t255 = icmp ne ptr %t254, null %t256 = zext i1 %t255 to i32 %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %then55, label %ifend57 then55: %t258 = load ptr, ptr %t253 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 0 %t260 = load i32, ptr %t259 %t261 = icmp eq i32 %t260, 3 %t262 = zext i1 %t261 to i32 %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %then58, label %ifend60 then58: %t264 = load ptr, ptr %t253 %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 4 %t266 = load ptr, ptr %t265 %t267 = call ptr @fn_emit_expr(ptr %t266) store ptr %t267, ptr %retval br label %ret ifend60: %t268 = load ptr, ptr %t253 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 3 %t270 = load ptr, ptr %t269 %t271 = call ptr @fn_llty(ptr %t270) %t272 = call ptr @lp_str_concat(ptr @.str8947, ptr %t271) %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str8948) %t274 = load ptr, ptr %t0 %t275 = getelementptr inbounds %Cmp_Node, ptr %t274, i32 0, i32 1 %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 %t253 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 3 %t283 = load ptr, ptr %t282 %t284 = call ptr @fn_val(ptr %t280, ptr %t283) store ptr %t284, ptr %retval br label %ret ifend57: %t285 = load ptr, ptr %t0 %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 1 %t287 = load ptr, ptr %t286 %t288 = call i32 @fn_is_ui_ident(ptr %t287) %t289 = icmp ne i32 %t288, 0 br i1 %t289, label %then61, label %ifend63 then61: %t290 = load ptr, ptr %t0 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 1 %t292 = load ptr, ptr %t291 %t293 = call i32 @fn_ui_index_of(ptr %t292) %t294 = call ptr @fn_itoa(i32 %t293) %t295 = call ptr @fn_val(ptr %t294, ptr @.str8949) store ptr %t295, ptr %retval br label %ret ifend63: %t296 = load ptr, ptr %t0 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 1 %t298 = load ptr, ptr %t297 %t299 = call ptr @fn_variant_enum(ptr %t298) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t300 %t302 = icmp ne ptr %t301, null %t303 = zext i1 %t302 to i32 %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then64, label %ifend66 then64: %t305 = load ptr, ptr %t300 %t306 = load i32, ptr @g_g_var_ord %t307 = getelementptr %LSlice, ptr null, i32 1 %t308 = ptrtoint ptr %t307 to i64 %t309 = call ptr @malloc(i64 %t308) %t310 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 0 store ptr null, ptr %t310 %t311 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 1 store i32 0, ptr %t311 %t312 = getelementptr inbounds %LSlice, ptr %t309, i32 0, i32 2 store i32 0, ptr %t312 %t313 = call ptr @fn_emit_variant_new(ptr %t305, i32 %t306, ptr %t309) store ptr %t313, ptr %retval br label %ret ifend66: %t314 = load ptr, ptr %t0 %t315 = getelementptr inbounds %Cmp_Node, ptr %t314, i32 0, i32 1 %t316 = load ptr, ptr %t315 %t317 = call ptr @lp_str_concat(ptr @.str8950, ptr %t316) call void @fn_perr(ptr %t317) br label %ifend51 ifend51: %t318 = load ptr, ptr %t0 %t319 = getelementptr inbounds %Cmp_Node, ptr %t318, i32 0, i32 0 %t320 = load i32, ptr %t319 %t321 = icmp eq i32 %t320, 35 %t322 = zext i1 %t321 to i32 %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then67, label %ifend69 then67: %t324 = load ptr, ptr %t0 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 4 %t326 = load ptr, ptr %t325 %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 0 %t328 = load i32, ptr %t327 %t329 = icmp eq i32 %t328, 33 %t330 = zext i1 %t329 to i32 %t331 = icmp ne i32 %t330, 0 br i1 %t331, label %then70, label %ifend72 then70: %t332 = load ptr, ptr %t0 %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 4 %t334 = load ptr, ptr %t333 %t335 = getelementptr inbounds %Cmp_Node, ptr %t334, i32 0, i32 1 %t336 = load ptr, ptr %t335 %t337 = call i32 @lp_str_eq(ptr %t336, ptr @.str8951) %t338 = icmp ne i32 %t337, 0 br i1 %t338, label %then73, label %ifend75 then73: %t339 = load ptr, ptr %t0 %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 1 %t341 = load ptr, ptr %t340 %t342 = call i32 @fn_color_lookup(ptr %t341) store i32 %t342, ptr %t343 %t344 = load i32, ptr %t343 %t345 = icmp slt i32 %t344, 0 %t346 = zext i1 %t345 to i32 %t347 = icmp ne i32 %t346, 0 br i1 %t347, label %then76, label %ifend78 then76: %t348 = load ptr, ptr %t0 %t349 = getelementptr inbounds %Cmp_Node, ptr %t348, i32 0, i32 1 %t350 = load ptr, ptr %t349 %t351 = call ptr @lp_str_concat(ptr @.str8952, ptr %t350) call void @fn_perr(ptr %t351) br label %ifend78 ifend78: %t352 = load i32, ptr %t343 %t353 = call ptr @fn_itoa(i32 %t352) %t354 = call ptr @fn_val(ptr %t353, ptr @.str8953) store ptr %t354, ptr %retval br label %ret ifend75: %t355 = load ptr, ptr %t0 %t356 = getelementptr inbounds %Cmp_Node, ptr %t355, i32 0, i32 4 %t357 = load ptr, ptr %t356 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 1 %t359 = load ptr, ptr %t358 %t360 = call i32 @lp_str_eq(ptr %t359, ptr @.str8954) %t361 = icmp ne i32 %t360, 0 br i1 %t361, label %then79, label %ifend81 then79: %t362 = load ptr, ptr %t0 %t363 = getelementptr inbounds %Cmp_Node, ptr %t362, i32 0, i32 1 %t364 = load ptr, ptr %t363 %t365 = call i32 @fn_key_lookup(ptr %t364) store i32 %t365, ptr %t366 %t367 = load i32, ptr %t366 %t368 = icmp slt i32 %t367, 0 %t369 = zext i1 %t368 to i32 %t370 = icmp ne i32 %t369, 0 br i1 %t370, label %then82, label %ifend84 then82: %t371 = load ptr, ptr %t0 %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 1 %t373 = load ptr, ptr %t372 %t374 = call ptr @lp_str_concat(ptr @.str8955, ptr %t373) call void @fn_perr(ptr %t374) br label %ifend84 ifend84: %t375 = load i32, ptr %t366 %t376 = call ptr @fn_itoa(i32 %t375) %t377 = call ptr @fn_val(ptr %t376, ptr @.str8956) store ptr %t377, ptr %retval br label %ret ifend81: %t378 = load ptr, ptr %t0 %t379 = getelementptr inbounds %Cmp_Node, ptr %t378, i32 0, i32 4 %t380 = load ptr, ptr %t379 %t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 1 %t382 = load ptr, ptr %t381 %t383 = load ptr, ptr %t0 %t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 1 %t385 = load ptr, ptr %t384 %t386 = call i32 @fn_enum_ordinal(ptr %t382, ptr %t385) store i32 %t386, ptr %t387 %t388 = load i32, ptr %t387 %t389 = icmp sge i32 %t388, 0 %t390 = zext i1 %t389 to i32 %t391 = icmp ne i32 %t390, 0 br i1 %t391, label %then85, label %ifend87 then85: %t392 = load i32, ptr %t387 %t393 = call ptr @fn_itoa(i32 %t392) %t394 = call ptr @fn_val(ptr %t393, ptr @.str8957) store ptr %t394, ptr %retval br label %ret ifend87: br label %ifend72 ifend72: %t395 = load ptr, ptr %t0 %t396 = getelementptr inbounds %Cmp_Node, ptr %t395, i32 0, i32 4 %t397 = load ptr, ptr %t396 %t398 = call ptr @fn_static_type(ptr %t397) store ptr %t398, ptr %t399 %t400 = load ptr, ptr %t399 %t401 = icmp ne ptr %t400, null %t402 = zext i1 %t401 to i32 %t403 = icmp ne i32 %t402, 0 br i1 %t403, label %then88, label %ifend90 then88: %t405 = load ptr, ptr %t399 %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str8958) %t407 = icmp ne i32 %t406, 0 %t408 = zext i1 %t407 to i32 store i32 %t408, ptr %t404 br i1 %t407, label %sc91, label %scend92 sc91: %t410 = load ptr, ptr %t0 %t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 1 %t412 = load ptr, ptr %t411 %t413 = call i32 @lp_str_eq(ptr %t412, ptr @.str8959) %t414 = icmp ne i32 %t413, 0 %t415 = zext i1 %t414 to i32 store i32 %t415, ptr %t409 br i1 %t414, label %scend94, label %sc93 sc93: %t416 = load ptr, ptr %t0 %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 1 %t418 = load ptr, ptr %t417 %t419 = call i32 @lp_str_eq(ptr %t418, ptr @.str8960) %t420 = icmp ne i32 %t419, 0 %t421 = zext i1 %t420 to i32 store i32 %t421, ptr %t409 br label %scend94 scend94: %t422 = load i32, ptr %t409 %t423 = icmp ne i32 %t422, 0 %t424 = zext i1 %t423 to i32 store i32 %t424, ptr %t404 br label %scend92 scend92: %t425 = load i32, ptr %t404 %t426 = icmp ne i32 %t425, 0 br i1 %t426, label %then95, label %ifend97 then95: %t427 = load ptr, ptr %t0 %t428 = getelementptr inbounds %Cmp_Node, ptr %t427, i32 0, i32 4 %t429 = load ptr, ptr %t428 %t430 = call ptr @fn_emit_expr(ptr %t429) store ptr %t430, ptr %t431 %t432 = load ptr, ptr %t0 %t433 = getelementptr inbounds %Cmp_Node, ptr %t432, i32 0, i32 1 %t434 = load ptr, ptr %t433 %t435 = call i32 @lp_str_eq(ptr %t434, ptr @.str8961) %t436 = icmp ne i32 %t435, 0 br i1 %t436, label %then98, label %ifend100 then98: %t437 = load ptr, ptr %t431 %t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0 %t439 = load ptr, ptr %t438 %t440 = call ptr @fn_vec_x(ptr %t439) %t441 = call ptr @fn_val(ptr %t440, ptr @.str8962) store ptr %t441, ptr %retval br label %ret ifend100: %t442 = load ptr, ptr %t431 %t443 = getelementptr inbounds %Cmp_Val, ptr %t442, i32 0, i32 0 %t444 = load ptr, ptr %t443 %t445 = call ptr @fn_vec_y(ptr %t444) %t446 = call ptr @fn_val(ptr %t445, ptr @.str8963) store ptr %t446, ptr %retval br label %ret ifend97: %t447 = load ptr, ptr %t399 %t448 = load ptr, ptr %t0 %t449 = getelementptr inbounds %Cmp_Node, ptr %t448, i32 0, i32 1 %t450 = load ptr, ptr %t449 %t451 = call ptr @fn_computed_expr(ptr %t447, ptr %t450) store ptr %t451, ptr %t452 %t453 = load ptr, ptr %t452 %t454 = icmp ne ptr %t453, null %t455 = zext i1 %t454 to i32 %t456 = icmp ne i32 %t455, 0 br i1 %t456, label %then101, label %ifend103 then101: %t457 = load ptr, ptr %t452 %t458 = load ptr, ptr %t0 %t459 = getelementptr inbounds %Cmp_Node, ptr %t458, i32 0, i32 4 %t460 = load ptr, ptr %t459 %t461 = call ptr @fn_qualify_fields(ptr %t457, ptr %t460) %t462 = call ptr @fn_emit_expr(ptr %t461) store ptr %t462, ptr %retval br label %ret ifend103: br label %ifend90 ifend90: %t463 = load ptr, ptr %t0 %t464 = call ptr @fn_emit_member_addr(ptr %t463) store ptr %t464, ptr %t465 %t466 = load ptr, ptr %t465 %t467 = load ptr, ptr @g_g_addr_ty %t468 = call ptr @fn_emit_load_at(ptr %t466, ptr %t467) store ptr %t468, ptr %retval br label %ret ifend69: %t469 = load ptr, ptr %t0 %t470 = getelementptr inbounds %Cmp_Node, ptr %t469, i32 0, i32 0 %t471 = load i32, ptr %t470 %t472 = icmp eq i32 %t471, 36 %t473 = zext i1 %t472 to i32 %t474 = icmp ne i32 %t473, 0 br i1 %t474, label %then104, label %ifend106 then104: %t475 = load ptr, ptr %t0 %t476 = call ptr @fn_emit_index_addr(ptr %t475) store ptr %t476, ptr %t477 %t478 = load ptr, ptr @g_g_addr_ty %t479 = call i32 @lp_str_eq(ptr %t478, ptr @.str8964) %t480 = icmp ne i32 %t479, 0 br i1 %t480, label %then107, label %ifend109 then107: %t481 = load ptr, ptr %t477 %t482 = call ptr @lp_str_concat(ptr @.str8965, ptr %t481) %t483 = call ptr @fn_emit_bind(ptr %t482) store ptr %t483, ptr %t484 %t485 = load ptr, ptr %t484 %t486 = call ptr @lp_str_concat(ptr @.str8966, ptr %t485) %t487 = call ptr @lp_str_concat(ptr %t486, ptr @.str8967) %t488 = call ptr @fn_emit_bind(ptr %t487) %t489 = call ptr @fn_val(ptr %t488, ptr @.str8968) store ptr %t489, ptr %retval br label %ret ifend109: %t490 = load ptr, ptr %t477 %t491 = load ptr, ptr @g_g_addr_ty %t492 = call ptr @fn_emit_load_at(ptr %t490, ptr %t491) store ptr %t492, ptr %retval br label %ret ifend106: %t493 = load ptr, ptr %t0 %t494 = getelementptr inbounds %Cmp_Node, ptr %t493, i32 0, i32 0 %t495 = load i32, ptr %t494 %t496 = icmp eq i32 %t495, 49 %t497 = zext i1 %t496 to i32 %t498 = icmp ne i32 %t497, 0 br i1 %t498, label %then110, label %ifend112 then110: %t499 = load ptr, ptr %t0 %t500 = call ptr @fn_emit_emit(ptr %t499) store ptr %t500, ptr %retval br label %ret ifend112: %t501 = load ptr, ptr %t0 %t502 = getelementptr inbounds %Cmp_Node, ptr %t501, i32 0, i32 0 %t503 = load i32, ptr %t502 %t504 = icmp eq i32 %t503, 52 %t505 = zext i1 %t504 to i32 %t506 = icmp ne i32 %t505, 0 br i1 %t506, label %then113, label %ifend115 then113: %t507 = load ptr, ptr %t0 %t508 = call ptr @fn_emit_try(ptr %t507) store ptr %t508, ptr %retval br label %ret ifend115: %t509 = load ptr, ptr %t0 %t510 = getelementptr inbounds %Cmp_Node, ptr %t509, i32 0, i32 0 %t511 = load i32, ptr %t510 %t512 = icmp eq i32 %t511, 34 %t513 = zext i1 %t512 to i32 %t514 = icmp ne i32 %t513, 0 br i1 %t514, label %then116, label %ifend118 then116: %t515 = load ptr, ptr %t0 %t516 = call ptr @fn_emit_call(ptr %t515) store ptr %t516, ptr %retval br label %ret ifend118: %t517 = load ptr, ptr %t0 %t518 = getelementptr inbounds %Cmp_Node, ptr %t517, i32 0, i32 0 %t519 = load i32, ptr %t518 %t520 = icmp eq i32 %t519, 37 %t521 = zext i1 %t520 to i32 %t522 = icmp ne i32 %t521, 0 br i1 %t522, label %then119, label %ifend121 then119: %t523 = load ptr, ptr %t0 %t524 = call ptr @fn_emit_bin(ptr %t523) store ptr %t524, ptr %retval br label %ret ifend121: %t525 = load ptr, ptr %t0 %t526 = getelementptr inbounds %Cmp_Node, ptr %t525, i32 0, i32 0 %t527 = load i32, ptr %t526 %t528 = icmp eq i32 %t527, 38 %t529 = zext i1 %t528 to i32 %t530 = icmp ne i32 %t529, 0 br i1 %t530, label %then122, label %ifend124 then122: %t531 = load ptr, ptr %t0 %t532 = getelementptr inbounds %Cmp_Node, ptr %t531, i32 0, i32 4 %t533 = load ptr, ptr %t532 %t534 = call ptr @fn_emit_expr(ptr %t533) store ptr %t534, ptr %t535 %t536 = load ptr, ptr %t535 %t537 = getelementptr inbounds %Cmp_Val, ptr %t536, i32 0, i32 1 %t538 = load ptr, ptr %t537 %t539 = call ptr @fn_llty(ptr %t538) %t540 = call i32 @lp_str_eq(ptr %t539, ptr @.str8969) %t541 = icmp ne i32 %t540, 0 br i1 %t541, label %then125, label %ifend127 then125: %t542 = load ptr, ptr %t0 %t543 = getelementptr inbounds %Cmp_Node, ptr %t542, i32 0, i32 1 %t544 = load ptr, ptr %t543 %t545 = call i32 @lp_str_eq(ptr %t544, ptr @.str8970) %t546 = icmp ne i32 %t545, 0 br i1 %t546, label %then128, label %ifend130 then128: %t547 = load ptr, ptr %t535 %t548 = getelementptr inbounds %Cmp_Val, ptr %t547, i32 0, i32 0 %t549 = load ptr, ptr %t548 %t550 = call ptr @lp_str_concat(ptr @.str8971, ptr %t549) %t551 = call ptr @fn_emit_bind(ptr %t550) %t552 = call ptr @fn_val(ptr %t551, ptr @.str8972) store ptr %t552, ptr %retval br label %ret ifend130: %t553 = load ptr, ptr %t0 %t554 = getelementptr inbounds %Cmp_Node, ptr %t553, i32 0, i32 1 %t555 = load ptr, ptr %t554 %t556 = call i32 @lp_str_eq(ptr %t555, ptr @.str8973) %t557 = icmp ne i32 %t556, 0 br i1 %t557, label %then131, label %ifend133 then131: %t558 = load ptr, ptr %t535 %t559 = getelementptr inbounds %Cmp_Val, ptr %t558, i32 0, i32 0 %t560 = load ptr, ptr %t559 %t561 = call ptr @lp_str_concat(ptr @.str8974, ptr %t560) %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str8975) %t563 = call ptr @fn_emit_bind(ptr %t562) %t564 = call ptr @fn_val(ptr %t563, ptr @.str8976) store ptr %t564, ptr %retval br label %ret ifend133: br label %ifend127 ifend127: %t565 = load ptr, ptr %t0 %t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 1 %t567 = load ptr, ptr %t566 %t568 = call i32 @lp_str_eq(ptr %t567, ptr @.str8977) %t569 = icmp ne i32 %t568, 0 br i1 %t569, label %then134, label %ifend136 then134: %t570 = load ptr, ptr %t535 %t571 = getelementptr inbounds %Cmp_Val, ptr %t570, i32 0, i32 0 %t572 = load ptr, ptr %t571 %t573 = call ptr @lp_str_concat(ptr @.str8978, ptr %t572) %t574 = call ptr @fn_emit_bind(ptr %t573) %t575 = load ptr, ptr %t535 %t576 = getelementptr inbounds %Cmp_Val, ptr %t575, i32 0, i32 1 %t577 = load ptr, ptr %t576 %t578 = call ptr @fn_arith_ty(ptr %t577) %t579 = call ptr @fn_val(ptr %t574, ptr %t578) store ptr %t579, ptr %retval br label %ret ifend136: %t580 = load ptr, ptr %t0 %t581 = getelementptr inbounds %Cmp_Node, ptr %t580, i32 0, i32 1 %t582 = load ptr, ptr %t581 %t583 = call i32 @lp_str_eq(ptr %t582, ptr @.str8979) %t584 = icmp ne i32 %t583, 0 br i1 %t584, label %then137, label %ifend139 then137: %t585 = load ptr, ptr %t535 %t586 = getelementptr inbounds %Cmp_Val, ptr %t585, i32 0, i32 0 %t587 = load ptr, ptr %t586 %t588 = call ptr @lp_str_concat(ptr @.str8980, ptr %t587) %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str8981) %t590 = call ptr @fn_emit_bind(ptr %t589) %t591 = load ptr, ptr %t535 %t592 = getelementptr inbounds %Cmp_Val, ptr %t591, i32 0, i32 1 %t593 = load ptr, ptr %t592 %t594 = call ptr @fn_arith_ty(ptr %t593) %t595 = call ptr @fn_val(ptr %t590, ptr %t594) store ptr %t595, ptr %retval br label %ret ifend139: %t596 = load ptr, ptr %t535 %t597 = getelementptr inbounds %Cmp_Val, ptr %t596, i32 0, i32 0 %t598 = load ptr, ptr %t597 %t599 = call ptr @lp_str_concat(ptr @.str8982, ptr %t598) %t600 = call ptr @lp_str_concat(ptr %t599, ptr @.str8983) %t601 = call ptr @fn_emit_bind(ptr %t600) store ptr %t601, ptr %t602 %t603 = load ptr, ptr %t602 %t604 = call ptr @lp_str_concat(ptr @.str8984, ptr %t603) %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str8985) %t606 = call ptr @fn_emit_bind(ptr %t605) %t607 = call ptr @fn_val(ptr %t606, ptr @.str8986) store ptr %t607, ptr %retval br label %ret ifend124: call void @fn_perr(ptr @.str8987) %t608 = call ptr @fn_val(ptr @.str8988, ptr @.str8989) store ptr %t608, ptr %retval br label %ret ret: %t609 = load ptr, ptr %retval ret ptr %t609 } 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 @.str8990) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str8991) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str8992) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str8993) 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 @.str8994, ptr %t5 store ptr @.str8995, 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 @.str8996, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str8997) %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 @.str8998, 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 @.str8999, 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 @.str9000) 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 @.str9001) %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 @.str9002, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str9003) %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 @.str9004) %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 @.str9005, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str9006) %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 @.str9007, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9008) %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 @.str9009) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str9010) store ptr %t21, ptr %t22 %t23 = call ptr @fn_lbl(ptr @.str9011) 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 @.str9012) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9013) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9014) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9015) br label %ifend2 else1: call void @fn_emit(ptr @.str9016) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9017) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9018) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str9019) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9020) 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 @.str9021) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9022) 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 @.str9023) 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 @.str9024) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9025) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9026) 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 @.str9027) store ptr %t1, ptr %t2 %t3 = call ptr @fn_lbl(ptr @.str9028) store ptr %t3, ptr %t4 %t5 = call ptr @fn_lbl(ptr @.str9029) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str9030) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str9031) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str9032) %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 @.str9033, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str9034) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str9035) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str9036) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str9037) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9038) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9039) 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 @.str9040) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9041) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9042) 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 @.str9043) 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 @.str9044, 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 @.str9045) %t16 = call ptr @fn_lbl(ptr @.str9046) store ptr %t16, ptr %t17 %t18 = call ptr @fn_lbl(ptr @.str9047) store ptr %t18, ptr %t19 %t20 = call ptr @fn_lbl(ptr @.str9048) store ptr %t20, ptr %t21 %t22 = call ptr @fn_lbl(ptr @.str9049) store ptr %t22, ptr %t23 call void @fn_emit(ptr @.str9050) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9051) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9052) %t26 = load ptr, ptr %t2 %t27 = call ptr @lp_str_concat(ptr @.str9053, 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 @.str9054, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9055) %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 @.str9056) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str9057) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9058) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9059) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9060) 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 @.str9061) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str9062) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str9063) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str9064, 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 @.str9065, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9066) %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 @.str9067, ptr %t68, ptr %t69) call void @fn_emit(ptr @.str9068) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9069) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str9070) 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 @.str9071) br label %ifend2 ifend2: call void @fn_emit(ptr @.str9072) 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 @.str9073) %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 @.str9074, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str9075) %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 @.str9076) %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 @.str9077, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str9078) %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 @.str9079) 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 @.str9080) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str9081) %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 @.str9082) %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 @.str9083) %t115 = load ptr, ptr %t104 %t116 = call ptr @lp_str_concat(ptr @.str9084, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str9085) %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 @.str9086, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = call ptr @fn_lbl(ptr @.str9087) 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 @.str9088, 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 @.str9089, ptr %t82) %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str9090) %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 @.str9091, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str9092) %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 @.str9093, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str9094) %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 @.str9095) store ptr %t112, ptr %t113 %t114 = call ptr @fn_lbl(ptr @.str9096) store ptr %t114, ptr %t115 call void @fn_emit(ptr @.str9097) %t116 = load ptr, ptr %t36 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str9098) %t117 = load ptr, ptr %t113 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str9099) %t118 = load ptr, ptr %t115 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9100) %t119 = load ptr, ptr %t113 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9101) 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 @.str9102) %t137 = load ptr, ptr %t10 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str9103) br label %ifend23 ifend23: %t138 = load ptr, ptr %t115 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str9104) 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 @.str9105, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str9106) %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 @.str9107) 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 @.str9108) %t203 = load ptr, ptr %t10 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str9109) br label %ifend38 ifend38: %t204 = load ptr, ptr %t10 call void @fn_emit(ptr %t204) call void @fn_emit(ptr @.str9110) 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 @.str9111) 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 @.str9112, 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 @.str9113, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str9114) %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 @.str9115, ptr %t80) %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str9116) %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 @.str9117) store ptr %t88, ptr %t89 %t90 = call ptr @fn_lbl(ptr @.str9118) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str9119) %t92 = load ptr, ptr %t44 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str9120) %t93 = load ptr, ptr %t89 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str9121) %t94 = load ptr, ptr %t91 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str9122) %t95 = load ptr, ptr %t89 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str9123) 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 @.str9124) %t103 = load ptr, ptr %t19 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str9125) br label %ifend17 ifend17: %t104 = load ptr, ptr %t91 call void @fn_emit(ptr %t104) call void @fn_emit(ptr @.str9126) 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 @.str9127) %t118 = load ptr, ptr %t19 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9128) br label %ifend23 ifend23: %t119 = load ptr, ptr %t19 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9129) 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 @.str9130, 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 @.str9131, ptr %t96 %t97 = load ptr, ptr %t95 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str9132) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then12, label %ifend14 then12: store ptr @.str9133, 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 @.str9134) %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str9135) call void @fn_emit(ptr @.str9136) %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 @.str9137) %t180 = load ptr, ptr %t173 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str9138) 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 @.str9139) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str9140) %t195 = load i32, ptr %t181 %t196 = call ptr @fn_itoa(i32 %t195) call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str9141) call void @fn_emit(ptr @.str9142) %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 @.str9143) %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 @.str9144) %t209 = load ptr, ptr %t193 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str9145) %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 @.str9146, 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 @.str9147) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then31, label %ifend33 then31: store ptr @.str9148, ptr %t225 br label %ifend33 ifend33: %t231 = call ptr @fn_find_extern(ptr @.str9149) %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 @.str9150) %t235 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str9151) %t236 = load ptr, ptr %t225 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str9152) %t237 = load i32, ptr %t181 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str9153) %t239 = call ptr @fn_val(ptr @.str9154, ptr @.str9155) 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 @.str9156) 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 @.str9157) %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 @.str9158) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str9159) %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 @.str9160) %t284 = load ptr, ptr %t241 %t285 = call ptr @fn_buf_str(ptr %t284) call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str9161) %t286 = load ptr, ptr %t279 %t287 = call ptr @fn_val(ptr %t286, ptr @.str9162) store ptr %t287, ptr %retval br label %ret ifend45: call void @fn_emit(ptr @.str9163) %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 @.str9164) %t291 = load ptr, ptr %t241 %t292 = call ptr @fn_buf_str(ptr %t291) call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str9165) %t293 = call ptr @fn_val(ptr @.str9166, ptr @.str9167) 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 @.str9168, ptr %t60 %t61 = load ptr, ptr %t19 %t62 = call ptr @fn_llty(ptr %t61) %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str9169) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then9, label %ifend11 then9: store ptr @.str9170, 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 @.str9171) %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 @.str9172) 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 @.str9173) %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 @.str9174) 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 @.str9175) br label %ifend62 ifend62: call void @fn_emit(ptr @.str9176) %t219 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t219) call void @fn_emit(ptr @.str9177) 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 @.str9178) 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 @.str9179) %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 @.str9180) call void @fn_emith(ptr @.str9181) call void @fn_emith(ptr @.str9182) %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 @.str9183) br label %ifend2 ifend2: call void @fn_emith(ptr @.str9184) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str9185, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9186) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 %t12 = call ptr @lp_str_concat(ptr @.str9187, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str9188) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr @.str9189, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str9190) call void @fn_emith(ptr %t16) call void @fn_emith(ptr @.str9191) %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 @.str9192) call void @fn_emith(ptr @.str9193) 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 @.str9194, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str9195) 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 @.str9196, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9197) %t50 = load ptr, ptr %t7 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str9198) %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 @.str9199) 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 @.str9200, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str9201) %t63 = load ptr, ptr %t7 %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9202) 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 @.str9203, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str9204) 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 @.str9205, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9206) 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 @.str9207, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str9208) 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 @.str9209) 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 @.str9210, ptr %t22) store ptr %t23, ptr %t24 call void @fn_emit(ptr @.str9211) %t25 = load ptr, ptr %t24 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9212) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9213) %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 @.str9214) call void @fn_emit(ptr @.str9215) %t35 = load ptr, ptr %t24 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9216) 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 @.str9217) %t38 = load ptr, ptr %t1 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str9218) call void @fn_emit(ptr @.str9219) %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 @.str9220) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9221) call void @fn_emit(ptr @.str9222) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9223) call void @fn_emit(ptr @.str9224) call void @fn_emit(ptr @.str9225) call void @fn_emit(ptr @.str9226) call void @fn_emit(ptr @.str9227) call void @fn_emit(ptr @.str9228) call void @fn_emit(ptr @.str9229) call void @fn_emit(ptr @.str9230) call void @fn_emit(ptr @.str9231) %t42 = load ptr, ptr %t1 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str9232) call void @fn_emit(ptr @.str9233) call void @fn_emit(ptr @.str9234) call void @fn_emit(ptr @.str9235) call void @fn_emit(ptr @.str9236) call void @fn_emit(ptr @.str9237) call void @fn_emit(ptr @.str9238) call void @fn_emit(ptr @.str9239) call void @fn_emit(ptr @.str9240) call void @fn_emit(ptr @.str9241) call void @fn_emit(ptr @.str9242) call void @fn_emit(ptr @.str9243) %t43 = load ptr, ptr %t1 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str9244) call void @fn_emit(ptr @.str9245) call void @fn_emit(ptr @.str9246) call void @fn_emit(ptr @.str9247) call void @fn_emit(ptr @.str9248) %t44 = load ptr, ptr %t1 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str9249) call void @fn_emit(ptr @.str9250) call void @fn_emit(ptr @.str9251) call void @fn_emit(ptr @.str9252) call void @fn_emit(ptr @.str9253) %t45 = load ptr, ptr %t1 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9254) call void @fn_emit(ptr @.str9255) call void @fn_emit(ptr @.str9256) call void @fn_emit(ptr @.str9257) call void @fn_emit(ptr @.str9258) 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 @.str9259) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str9260, ptr @.str9261, 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 @.str9262) store ptr %t41, ptr %t42 %t43 = call ptr @fn_lbl(ptr @.str9263) store ptr %t43, ptr %t44 %t45 = call ptr @fn_lbl(ptr @.str9264) store ptr %t45, ptr %t46 %t47 = call ptr @fn_lbl(ptr @.str9265) store ptr %t47, ptr %t48 call void @fn_emit(ptr @.str9266) %t49 = load ptr, ptr %t42 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9267) %t50 = load ptr, ptr %t42 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9268) %t51 = load ptr, ptr %t4 %t52 = call ptr @lp_str_concat(ptr @.str9269, ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 %t55 = call ptr @fn_emit_bind(ptr @.str9270) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t54 %t58 = call ptr @lp_str_concat(ptr @.str9271, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str9272) %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 @.str9273) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9274) %t65 = load ptr, ptr %t44 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9275) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9276) %t67 = load ptr, ptr %t44 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9277) store i32 0, ptr @g_g_term %t68 = load ptr, ptr %t4 %t69 = call ptr @lp_str_concat(ptr @.str9278, 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 @.str9279) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9280) %t75 = load ptr, ptr %t2 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9281) %t76 = load ptr, ptr %t71 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9282) %t77 = load ptr, ptr %t73 %t78 = call ptr @lp_str_concat(ptr @.str9283, 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 @.str9284, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str9285) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = call ptr @fn_lbl(ptr @.str9286) store ptr %t86, ptr %t87 call void @fn_emit(ptr @.str9287) %t88 = load ptr, ptr %t85 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str9288) %t89 = load ptr, ptr %t87 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str9289) %t90 = load ptr, ptr %t46 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str9290) %t91 = load ptr, ptr %t87 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str9291) %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 @.str9292, 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 @.str9293) %t127 = load ptr, ptr %t126 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str9294) %t128 = load ptr, ptr %t2 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str9295) %t129 = load ptr, ptr %t71 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str9296) %t130 = load ptr, ptr %t126 %t131 = call ptr @lp_str_concat(ptr @.str9297, 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 @.str9298, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str9299) %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 @.str9300, 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 @.str9301, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str9302) %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 @.str9303, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9304) %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 @.str9305) %t161 = load ptr, ptr %t160 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str9306) %t162 = load ptr, ptr %t2 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str9307) %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 @.str9308) %t166 = load ptr, ptr %t71 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str9309) %t167 = load ptr, ptr %t160 %t168 = call ptr @lp_str_concat(ptr @.str9310, 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 @.str9311, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str9312) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t120 br label %ifend10 ifend10: %t175 = call ptr @fn_lbl(ptr @.str9313) store ptr %t175, ptr %t176 call void @fn_emit(ptr @.str9314) %t177 = load ptr, ptr %t120 call void @fn_emit(ptr %t177) call void @fn_emit(ptr @.str9315) %t178 = load ptr, ptr %t176 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str9316) %t179 = load ptr, ptr %t46 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str9317) %t180 = load ptr, ptr %t176 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str9318) %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 @.str9319) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str9320) %t234 = load ptr, ptr %t2 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str9321) %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 @.str9322) %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 @.str9323) %t241 = load ptr, ptr %t71 call void @fn_emit(ptr %t241) call void @fn_emit(ptr @.str9324) %t242 = call ptr @fn_emit_alloca(ptr @.str9325) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str9326) %t244 = load ptr, ptr %t232 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str9327) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str9328) %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 @.str9329, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str9330) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 %t282 = call ptr @fn_lbl(ptr @.str9331) store ptr %t282, ptr %t283 call void @fn_emit(ptr @.str9332) %t284 = load ptr, ptr %t281 call void @fn_emit(ptr %t284) call void @fn_emit(ptr @.str9333) %t285 = load ptr, ptr %t283 call void @fn_emit(ptr %t285) call void @fn_emit(ptr @.str9334) %t286 = load ptr, ptr %t46 call void @fn_emit(ptr %t286) call void @fn_emit(ptr @.str9335) %t287 = load ptr, ptr %t283 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str9336) 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 @.str9337) %t298 = load ptr, ptr %t46 call void @fn_emit(ptr %t298) call void @fn_emit(ptr @.str9338) br label %ifend27 ifend27: %t299 = load ptr, ptr %t46 call void @fn_emit(ptr %t299) call void @fn_emit(ptr @.str9339) %t300 = load ptr, ptr %t4 %t301 = call ptr @lp_str_concat(ptr @.str9340, 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 @.str9341, ptr %t304) %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str9342) %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 @.str9343, ptr %t309, ptr %t310) call void @fn_emit(ptr @.str9344) %t311 = load ptr, ptr %t42 call void @fn_emit(ptr %t311) call void @fn_emit(ptr @.str9345) %t312 = load ptr, ptr %t48 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str9346) 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 @.str9347) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str9348) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str9349) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str9350) %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 @.str9351, 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 @.str9352) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str9353) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str9354) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str9355) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str9356) call void @fn_emit(ptr @.str9357) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9358) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str9359) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9360) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9361) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9362) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9363) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9364) 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 @.str9365) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9366) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9367) %t51 = load ptr, ptr %t22 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str9368) %t52 = load i32, ptr %t28 %t53 = call ptr @fn_itoa(i32 %t52) call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str9369) %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 @.str9370, ptr %t59 %t60 = load ptr, ptr %t58 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str9371) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then6, label %ifend8 then6: store ptr @.str9372, 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 @.str9373) %t77 = load ptr, ptr %t58 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str9374) %t78 = load ptr, ptr %t59 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9375) %t79 = load ptr, ptr %t48 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9376) %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 @.str9377) %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str9378) %t118 = load ptr, ptr %t1 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9379) %t119 = load ptr, ptr %t22 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9380) %t120 = load i32, ptr %t110 %t121 = call ptr @fn_itoa(i32 %t120) call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str9381) %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 @.str9382) %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 @.str9383) %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 @.str9384) %t136 = load ptr, ptr %t116 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str9385) 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 @.str9386) store ptr %t148, ptr %t149 call void @fn_emit(ptr @.str9387) %t150 = load ptr, ptr %t22 call void @fn_emit(ptr %t150) call void @fn_emit(ptr @.str9388) %t151 = load ptr, ptr %t149 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str9389) %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 @.str9390, ptr %t158) %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str9391) 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 @.str9392) %t167 = load ptr, ptr %t161 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str9393) %t168 = load ptr, ptr %t0 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str9394) 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 @.str9395) %t27 = load ptr, ptr %t26 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9396) %t28 = load ptr, ptr %t3 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9397) %t29 = load ptr, ptr %t24 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9398) %t30 = load ptr, ptr %t24 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9399) %t31 = load ptr, ptr %t1 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9400) %t32 = call ptr @fn_emit_alloca(ptr @.str9401) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str9402) %t34 = load ptr, ptr %t26 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9403) %t35 = load ptr, ptr %t33 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9404) %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 @.str9405, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9406) call void @fn_perr(ptr %t24) br label %ifend8 ifend8: br label %wcond0 wend2: %t25 = load ptr, ptr %t2 store ptr %t25, ptr %retval br label %ret ret: %t26 = load ptr, ptr %retval ret ptr %t26 } define ptr @fn_prefab_record(ptr %arg_name, ptr %arg_cn) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_cn, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_find_prefab(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = icmp eq ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t4 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 %t11 = load ptr, ptr %t10 %t12 = load ptr, ptr %t1 %t13 = call ptr @fn_prefab_record(ptr %t11, ptr %t12) %t14 = load ptr, ptr %t4 %t15 = load ptr, ptr %t1 %t16 = call ptr @fn_spawn_record(ptr %t14, ptr %t15) %t17 = call ptr @fn_merge_records(ptr %t13, ptr %t16) store ptr %t17, ptr %retval br label %ret ret: %t18 = load ptr, ptr %retval ret ptr %t18 } define void @fn_emit_worker_guard(ptr %arg_what, i32 %arg_line) { entry: %t0 = alloca ptr %t1 = alloca i32 %t7 = alloca ptr %t12 = alloca ptr %t14 = alloca ptr %t16 = alloca ptr %t35 = alloca ptr %t39 = alloca ptr %t42 = alloca ptr store ptr %arg_what, ptr %t0 store i32 %arg_line, ptr %t1 %t2 = load i32, ptr @g_g_uses_jobs %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: br label %ret ifend2: store i32 1, ptr @g_g_uses_panic %t6 = call ptr @fn_emit_bind(ptr @.str9407) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str9408, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9409) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str9410) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str9411) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t12 %t18 = call ptr @lp_str_concat(ptr @.str9412, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str9413) %t20 = load ptr, ptr %t16 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str9414) %t23 = load ptr, ptr %t14 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str9415) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t16 %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str9416) call void @fn_emit(ptr %t27) %t28 = load ptr, ptr @g_g_src_name %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str9417) %t30 = load i32, ptr %t1 %t31 = call ptr @fn_itoa(i32 %t30) %t32 = call ptr @lp_str_concat(ptr %t29, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str9418) %t34 = call ptr @fn_emit_str_const(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t0 %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9419) %t38 = call ptr @fn_emit_str_const(ptr %t37) store ptr %t38, ptr %t39 %t40 = call ptr @fn_stdstream_rhs(i32 2) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = call ptr @lp_str_concat(ptr @.str9420, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str9421) %t46 = load ptr, ptr %t35 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str9422) %t49 = load ptr, ptr %t39 %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str9423) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str9424) %t52 = load ptr, ptr %t14 %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str9425) call void @fn_emit(ptr %t53) br label %ret ret: ret void } define ptr @fn_emit_spawn(ptr %arg_st) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t10 = alloca ptr %t13 = alloca i32 %t14 = alloca i32 %t42 = alloca ptr %t44 = alloca ptr %t53 = alloca ptr %t54 = alloca i32 %t74 = alloca ptr %t90 = alloca ptr %t96 = alloca i32 %t105 = alloca ptr %t113 = alloca i32 store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 8 %t3 = load i32, ptr %t2 call void @fn_emit_worker_guard(ptr @.str9426, i32 %t3) %t4 = call ptr @fn_emit_bind(ptr @.str9427) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_spawn_model(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = call i32 @fn_find_arch_id(ptr %t11) store i32 %t12, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 %t18 = call ptr @fn_find_prefab(ptr %t17) %t19 = icmp ne ptr %t18, null %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t14 br i1 %t21, label %sc0, label %scend1 sc0: %t23 = load i32, ptr %t13 %t24 = icmp eq i32 %t23, 0 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t14 br label %scend1 scend1: %t28 = load i32, ptr %t14 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then2, label %ifend4 then2: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 %t32 = load ptr, ptr %t31 %t33 = call ptr @lp_str_concat(ptr @.str9428, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str9429) %t35 = load ptr, ptr %t10 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) call void @fn_perr(ptr %t36) br label %ifend4 ifend4: %t37 = load i32, ptr %t13 %t38 = icmp sgt i32 %t37, 0 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then5, label %else6 then5: %t41 = call ptr @fn_itoa(i32 1024) store ptr %t41, ptr %t42 %t43 = call ptr @fn_nreg() store ptr %t43, ptr %t44 call void @fn_emit(ptr @.str9430) %t45 = load ptr, ptr %t44 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str9431) %t46 = load ptr, ptr %t42 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9432) %t47 = load ptr, ptr %t5 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9433) call void @fn_emit(ptr @.str9434) %t48 = load i32, ptr %t13 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9435) %t50 = load ptr, ptr %t44 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9436) %t51 = load ptr, ptr %t10 %t52 = call ptr @fn_find_arch(ptr %t51) store ptr %t52, ptr %t53 store i32 0, ptr %t54 br label %wcond8 wcond8: %t55 = load i32, ptr %t54 %t56 = load ptr, ptr %t53 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp slt i32 %t55, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody9, label %wend10 wbody9: %t64 = load ptr, ptr %t53 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = load i32, ptr %t54 %t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t5 %t76 = load ptr, ptr %t74 %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 %t80 = load ptr, ptr %t74 %t81 = call ptr @fn_prefab_record(ptr %t79, ptr %t80) %t82 = load ptr, ptr %t0 %t83 = load ptr, ptr %t74 %t84 = call ptr @fn_spawn_record(ptr %t82, ptr %t83) %t85 = call ptr @fn_merge_records(ptr %t81, ptr %t84) call void @fn_emit_init_component(ptr %t75, ptr %t76, ptr %t85) %t86 = load i32, ptr %t54 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t54 br label %wcond8 wend10: %t88 = load ptr, ptr %t10 %t89 = call ptr @fn_onspawn_body(ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t90 %t92 = icmp ne ptr %t91, null %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then11, label %ifend13 then11: %t95 = load i32, ptr @g_nloc store i32 %t95, ptr %t96 %t97 = load ptr, ptr %t53 %t98 = load ptr, ptr %t5 call void @fn_emit_bind_props(ptr %t97, ptr %t98) %t99 = load ptr, ptr %t5 %t100 = load ptr, ptr %t90 call void @fn_emit_hook_with_self(ptr %t99, ptr %t100) %t101 = load i32, ptr %t96 store i32 %t101, ptr @g_nloc br label %ifend13 ifend13: %t102 = load ptr, ptr %t10 %t103 = call ptr @lp_str_concat(ptr @.str9437, ptr %t102) %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str9438) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t105 %t107 = call ptr @fn_find_event(ptr %t106) %t108 = icmp ne ptr %t107, null %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then14, label %ifend16 then14: call void @fn_emit(ptr @.str9439) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str9440) %t112 = load ptr, ptr %t5 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str9441) br label %ifend16 ifend16: br label %ifend7 else6: store i32 0, ptr %t113 br label %wcond17 wcond17: %t114 = load i32, ptr %t113 %t115 = load ptr, ptr %t0 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp slt i32 %t114, %t119 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %wbody18, label %wend19 wbody18: %t123 = load ptr, ptr %t5 %t124 = load ptr, ptr %t0 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7 %t126 = load ptr, ptr %t125 %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = load i32, ptr %t113 %t130 = getelementptr inbounds ptr, ptr %t128, i32 %t129 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 1 %t133 = load ptr, ptr %t132 %t134 = load ptr, ptr %t0 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 7 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = load i32, ptr %t113 %t140 = getelementptr inbounds ptr, ptr %t138, i32 %t139 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 4 %t143 = load ptr, ptr %t142 call void @fn_emit_init_component(ptr %t123, ptr %t133, ptr %t143) %t144 = load i32, ptr %t113 %t145 = add i32 %t144, 1 store i32 %t145, ptr %t113 br label %wcond17 wend19: br label %ifend7 ifend7: %t146 = load ptr, ptr %t5 store ptr %t146, ptr %retval br label %ret ret: %t147 = load ptr, ptr %retval ret ptr %t147 } define void @fn_emit_despawn(ptr %arg_st) { entry: %t0 = alloca ptr %t8 = alloca ptr %t16 = alloca ptr %t18 = alloca ptr %t27 = alloca ptr %t28 = alloca i32 %t44 = alloca ptr %t53 = alloca ptr %t55 = alloca ptr %t57 = alloca ptr %t69 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 8 %t3 = load i32, ptr %t2 call void @fn_emit_worker_guard(ptr @.str9442, i32 %t3) %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4 %t6 = load ptr, ptr %t5 %t7 = call ptr @fn_emit_expr(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr @g_g_ondespawn %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp sgt i32 %t11, 0 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: %t15 = call ptr @fn_itoa(i32 1024) store ptr %t15, ptr %t16 %t17 = call ptr @fn_nreg() store ptr %t17, ptr %t18 call void @fn_emit(ptr @.str9443) %t19 = load ptr, ptr %t18 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str9444) %t20 = load ptr, ptr %t16 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9445) %t21 = load ptr, ptr %t8 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9446) %t24 = load ptr, ptr %t18 %t25 = call ptr @lp_str_concat(ptr @.str9447, ptr %t24) %t26 = call ptr @fn_emit_bind(ptr %t25) store ptr %t26, ptr %t27 store i32 0, ptr %t28 br label %wcond3 wcond3: %t29 = load i32, ptr %t28 %t30 = load ptr, ptr @g_g_ondespawn %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp slt i32 %t29, %t32 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %wbody4, label %wend5 wbody4: %t36 = load ptr, ptr @g_g_ondespawn %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t28 %t40 = getelementptr inbounds ptr, ptr %t38, i32 %t39 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t27 %t46 = call ptr @lp_str_concat(ptr @.str9448, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str9449) %t48 = load ptr, ptr %t44 %t49 = call i32 @fn_find_arch_id(ptr %t48) %t50 = call ptr @fn_itoa(i32 %t49) %t51 = call ptr @lp_str_concat(ptr %t47, ptr %t50) %t52 = call ptr @fn_emit_bind(ptr %t51) store ptr %t52, ptr %t53 %t54 = call ptr @fn_lbl(ptr @.str9450) store ptr %t54, ptr %t55 %t56 = call ptr @fn_lbl(ptr @.str9451) store ptr %t56, ptr %t57 call void @fn_emit(ptr @.str9452) %t58 = load ptr, ptr %t53 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str9453) %t59 = load ptr, ptr %t55 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str9454) %t60 = load ptr, ptr %t57 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str9455) %t61 = load ptr, ptr %t55 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str9456) %t62 = load ptr, ptr %t44 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9457) %t63 = load ptr, ptr %t8 %t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9458) %t66 = load ptr, ptr %t44 %t67 = call ptr @lp_str_concat(ptr @.str9459, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str9460) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_find_event(ptr %t70) %t72 = icmp ne ptr %t71, null %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str9461) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9462) %t76 = load ptr, ptr %t8 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9463) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9464) %t79 = load ptr, ptr %t57 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9465) %t80 = load ptr, ptr %t57 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9466) %t81 = load i32, ptr %t28 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t28 br label %wcond3 wend5: br label %ifend2 ifend2: %t83 = load ptr, ptr @g_g_events %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp sgt i32 %t85, 0 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then9, label %ifend11 then9: call void @fn_emit(ptr @.str9467) %t89 = load ptr, ptr %t8 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str9468) br label %ifend11 ifend11: call void @fn_emit(ptr @.str9469) %t92 = load ptr, ptr %t8 %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str9470) 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 @.str9471) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str9472) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str9473) %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 @.str9474) %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 @.str9475) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str9476, 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 @.str9477, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9478) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str9479) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str9480) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str9481) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9482) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str9483) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9484) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9485) 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 @.str9486) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9487) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9488) 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 @.str9489) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str9490) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str9491) %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 @.str9492) %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 @.str9493) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str9494, 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 @.str9495, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9496) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str9497) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str9498) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str9499) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str9500) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str9501) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9502) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9503) store i32 0, ptr @g_g_term call void @fn_emit(ptr @.str9504) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9505) %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 @.str9506) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9507) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9508) %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 @.str9509) %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 @.str9510) %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 @.str9511) %t60 = call ptr @fn_emit_alloca(ptr @.str9512) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str9513) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9514) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9515) %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 @.str9516, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str9517) 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 @.str9518) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str9519) %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 @.str9520) 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 @.str9521) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str9522) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str9523) 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 @.str9524, 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 @.str9525, 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 @.str9526) %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 @.str9527) %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 @.str9528) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str9529) %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 @.str9530) %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 @.str9531, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str9532) 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 @.str9533, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str9534) 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 @.str9535) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9536) 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 @.str9537) %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str9538) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str9539) %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 @.str9540) %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 @.str9541) call void @fn_emit(ptr @.str9542) %t90 = load ptr, ptr %t1 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str9543) %t91 = load ptr, ptr %t81 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str9544) 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 @.str9545) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str9546) %t116 = load ptr, ptr %t79 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str9547) %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 @.str9548) %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 @.str9549) %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 @.str9550) %t126 = call ptr @fn_emit_alloca(ptr @.str9551) store ptr %t126, ptr %t127 call void @fn_emit(ptr @.str9552) %t128 = load ptr, ptr %t114 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str9553) %t129 = load ptr, ptr %t127 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str9554) %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 @.str9555, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str9556) 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 @.str9557, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9558) 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 @.str9559) %t161 = load ptr, ptr %t144 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str9560) %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 @.str9561) br label %ifend33 ifend33: br label %ifend21 else20: store ptr @.str9562, 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 @.str9563, 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 @.str9564) %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 @.str9565) %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 @.str9566) %t210 = load ptr, ptr %t1 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str9567) %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 @.str9568) 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 @.str9569, 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 @.str9570) br label %ifend2 ifend2: call void @fn_emit(ptr @.str9571) %t17 = load ptr, ptr %t8 store ptr %t17, ptr @g_code call void @fn_emit(ptr @.str9572) %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 @.str9573) %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 @.str9574) 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 @.str9575, 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 @.str9576, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str9577) %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 @.str9578, 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 @.str9579, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str9580) %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 @.str9581, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str9582) %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 @.str9583) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr @.str9584, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str9585) %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 @.str9586, ptr %t62) %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str9587) %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 @.str9588) store ptr %t68, ptr %t69 %t70 = call ptr @fn_lbl(ptr @.str9589) store ptr %t70, ptr %t71 call void @fn_emit(ptr @.str9590) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str9591) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9592) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9593) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9594) %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 @.str9595) call void @fn_emit(ptr @.str9596) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9597) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9598) 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 @.str9599) %t20 = load ptr, ptr %t1 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str9600) 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 @.str9601) %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 @.str9602) %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 @.str9603) 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 @.str9604) 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 @.str9605) %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 @.str9606) br label %ifend21 ifend21: br label %ifend8 ifend8: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str9607) %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 @.str9608) %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 @.str9609) 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 @.str9610) call void @fn_emit(ptr @.str9611) call void @fn_emit(ptr @.str9612) call void @fn_emit(ptr @.str9613) call void @fn_emit(ptr @.str9614) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str9615) call void @fn_emit(ptr @.str9616) 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 @.str9617) %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 @.str9618) %t59 = load ptr, ptr %t54 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str9619) call void @fn_emit(ptr @.str9620) %t60 = load ptr, ptr %t54 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str9621) %t61 = load ptr, ptr %t1 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str9622) %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 @.str9623) call void @fn_emit(ptr @.str9624) %t65 = load ptr, ptr %t54 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9625) %t66 = load ptr, ptr %t54 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9626) call void @fn_emit(ptr @.str9627) %t67 = load ptr, ptr %t54 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9628) %t68 = load ptr, ptr %t54 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str9629) call void @fn_emit(ptr @.str9630) %t69 = load ptr, ptr %t54 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str9631) %t70 = load ptr, ptr %t54 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9632) %t71 = load ptr, ptr %t58 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str9633) call void @fn_emit(ptr @.str9634) %t72 = load ptr, ptr %t54 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str9635) call void @fn_emit(ptr @.str9636) %t73 = load ptr, ptr %t54 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9637) %t74 = load ptr, ptr %t1 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9638) %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 @.str9639) %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 @.str9640) 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 @.str9641) %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 @.str9642) %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 @.str9643) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str9644) %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 @.str9645) %t112 = load ptr, ptr %t54 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str9646) %t113 = load i32, ptr %t26 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str9647) call void @fn_emit(ptr @.str9648) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str9649) %t116 = load ptr, ptr %t107 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str9650) call void @fn_emit(ptr @.str9651) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str9652) %t118 = load ptr, ptr %t107 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str9653) call void @fn_emit(ptr @.str9654) %t119 = load ptr, ptr %t107 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str9655) %t120 = load ptr, ptr %t107 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str9656) call void @fn_emit(ptr @.str9657) %t121 = load ptr, ptr %t107 call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str9658) %t122 = load ptr, ptr %t107 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str9659) %t123 = load ptr, ptr %t107 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str9660) %t124 = load ptr, ptr %t107 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str9661) call void @fn_emit(ptr @.str9662) %t125 = load ptr, ptr %t107 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str9663) %t126 = load ptr, ptr %t107 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str9664) 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 @.str9665) %t129 = load ptr, ptr %t58 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str9666) %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 @.str9667) %t134 = load i32, ptr %t3 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str9668) call void @fn_emit(ptr @.str9669) 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 @.str9670, 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 @.str9671) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str9672) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code call void @fn_emit(ptr @.str9673) %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 @.str9674) %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 @.str9675) 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 @.str9676, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str9677) %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 @.str9678, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str9679) %t73 = call ptr @fn_emit_bind(ptr %t72) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str9680) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str9681) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str9682) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9683) %t80 = load ptr, ptr %t76 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9684) %t81 = load ptr, ptr %t78 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str9685) %t82 = load ptr, ptr %t76 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str9686) %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 @.str9687, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9688) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 call void @fn_emit(ptr @.str9689) %t90 = load ptr, ptr %t89 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str9690) %t91 = load ptr, ptr %t78 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str9691) 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 @.str9692) %t94 = load ptr, ptr %t31 store ptr %t94, ptr @g_code call void @fn_emit(ptr @.str9693) %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 @.str9694) 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 @.str9695) %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 @.str9696) %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 @.str9697) %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 @.str9698) %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 @.str9699) %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 @.str9700) %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 @.str9701) %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 @.str9702) %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 @.str9703, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str9704) 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 @.str9705) %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 @.str9706) %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 @.str9707) %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 @.str9708) %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 @.str9709) %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 @.str9710) %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 @.str9711) %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 @.str9712) call void @fn_emith(ptr @.str9713) call void @fn_emith(ptr @.str9714) call void @fn_emith(ptr @.str9715) call void @fn_emith(ptr @.str9716) call void @fn_emith(ptr @.str9717) call void @fn_emith(ptr @.str9718) call void @fn_emith(ptr @.str9719) call void @fn_emith(ptr @.str9720) call void @fn_emith(ptr @.str9721) call void @fn_emith(ptr @.str9722) call void @fn_emith(ptr @.str9723) call void @fn_emith(ptr @.str9724) call void @fn_emith(ptr @.str9725) call void @fn_emith(ptr @.str9726) call void @fn_emith(ptr @.str9727) call void @fn_emith(ptr @.str9728) call void @fn_emith(ptr @.str9729) call void @fn_emith(ptr @.str9730) call void @fn_emit(ptr @.str9731) %t0 = call ptr @fn_find_fn(ptr @.str9732) %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 @.str9733) 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 @.str9734) %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 @.str9735) %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 @.str9736) %t26 = load i32, ptr %t4 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t4 br label %wcond3 wend5: call void @fn_emit(ptr @.str9737) call void @fn_emith(ptr @.str9738) 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 @.str9739) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str9740) call void @fn_emith(ptr @.str9741) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) call void @fn_emith(ptr @.str9742) call void @fn_emith(ptr @.str9743) call void @fn_emit(ptr @.str9744) call void @fn_emit(ptr @.str9745) call void @fn_emit(ptr @.str9746) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str9747) call void @fn_emit(ptr @.str9748) call void @fn_emit(ptr @.str9749) call void @fn_emit(ptr @.str9750) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str9751) call void @fn_emit(ptr @.str9752) call void @fn_emit(ptr @.str9753) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str9754) call void @fn_emit(ptr @.str9755) call void @fn_emit(ptr @.str9756) call void @fn_emit(ptr @.str9757) 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 @.str9758) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str9759) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str9760) store ptr %t15, ptr %t16 %t17 = call ptr @fn_lbl(ptr @.str9761) store ptr %t17, ptr %t18 %t19 = call ptr @fn_lbl(ptr @.str9762) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str9763) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str9764) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9765) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9766) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9767) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9768) call void @fn_emit(ptr @.str9769) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str9770) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str9771) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9772) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9773) %t31 = call ptr @fn_emit_bind(ptr @.str9774) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 %t34 = call ptr @lp_str_concat(ptr @.str9775, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str9776) %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 @.str9777) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str9778) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str9779) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str9780) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str9781) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str9782) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str9783) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9784) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9785) %t49 = load ptr, ptr %t45 %t50 = call ptr @lp_str_concat(ptr @.str9786, 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 @.str9787, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str9788) %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 @.str9789) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str9790) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str9791) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9792) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9793) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 call void @fn_emit(ptr @.str9794) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9795) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9796) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str9797) %t69 = load ptr, ptr %t65 %t70 = call ptr @lp_str_concat(ptr @.str9798, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 call void @fn_emit(ptr @.str9799) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9800) call void @fn_emit(ptr @.str9801) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9802) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9803) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9804) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str9805) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9806) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9807) 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 @.str9808) 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 @.str9809, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str9810) %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 @.str9811) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str9812) store ptr %t152, ptr %t153 call void @fn_emit(ptr @.str9813) %t154 = load ptr, ptr %t149 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str9814) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str9815) %t156 = load ptr, ptr %t153 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str9816) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str9817) %t158 = load ptr, ptr %t109 call void @fn_emit_call_one(ptr %t158) call void @fn_emit(ptr @.str9818) %t159 = load ptr, ptr %t153 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str9819) %t160 = load ptr, ptr %t153 call void @fn_emit(ptr %t160) call void @fn_emit(ptr @.str9820) 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 @.str9821) %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 @.str9822) 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 @.str9823, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str9824) %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 @.str9825) store ptr %t58, ptr %t59 %t60 = call ptr @fn_lbl(ptr @.str9826) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str9827) %t62 = load ptr, ptr %t57 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str9828) %t63 = load ptr, ptr %t59 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str9829) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str9830) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str9831) call void @fn_emit(ptr @.str9832) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str9833) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9834) 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 @.str9835, 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 @.str9836) %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 @.str9837) %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 @.str9838) br label %ifend7 ifend7: call void @fn_emit(ptr @.str9839) %t26 = load ptr, ptr %t3 %t27 = call ptr @lp_str_concat(ptr @.str9840, 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 @.str9841) 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 @.str9842) %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 @.str9843) 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 @.str9844, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9845) %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 @.str9846) %t67 = load ptr, ptr %t52 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str9847) 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 @.str9848) br label %ifend23 ifend23: call void @fn_emit(ptr @.str9849) %t72 = load ptr, ptr %t8 store ptr %t72, ptr @g_code call void @fn_emit(ptr @.str9850) %t73 = load ptr, ptr %t1 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9851) %t74 = load ptr, ptr %t0 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9852) %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 @.str9853) 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 @.str9854, 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 @.str9855, 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 @.str9856) call void @fn_emit(ptr @.str9857) 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 @.str9858) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str9859) %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 @.str9860) call void @fn_emit(ptr @.str9861) %t23 = load ptr, ptr %t17 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str9862) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str9863) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str9864) call void @fn_emit(ptr @.str9865) %t26 = load ptr, ptr %t17 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str9866) %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 @.str9867) call void @fn_emit(ptr @.str9868) %t30 = load ptr, ptr %t17 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9869) %t31 = load i32, ptr %t0 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t0 br label %wcond0 wend2: call void @fn_emit(ptr @.str9870) 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 @.str9871, 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 @.str9872) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str9873) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9874) %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 @.str9875) br label %ifend5 ifend5: %t39 = load ptr, ptr %t19 call void @fn_emit_bind_props(ptr %t39, ptr @.str9876) %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 @.str9877) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9878) %t47 = load ptr, ptr %t24 store ptr %t47, ptr @g_code call void @fn_emit(ptr @.str9879) %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 @.str9880) %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 @.str9881) %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 @.str9882) %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 @.str9883) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str9884) call void @fn_emit(ptr @.str9885) 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 @.str9886) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str9887) %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 @.str9888) call void @fn_emit(ptr @.str9889) %t33 = load ptr, ptr %t28 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str9890) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9891) %t35 = load ptr, ptr %t28 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9892) call void @fn_emit(ptr @.str9893) %t36 = load ptr, ptr %t28 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str9894) %t37 = load ptr, ptr %t25 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str9895) %t38 = load ptr, ptr %t25 %t39 = call ptr @lp_str_concat(ptr @.str9896, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str9897) 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 @.str9898) %t47 = load ptr, ptr %t41 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str9899) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9900) %t48 = load ptr, ptr %t28 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9901) call void @fn_emit(ptr @.str9902) %t49 = load ptr, ptr %t28 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9903) %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 @.str9904) br label %ifend11 ifend11: call void @fn_emit(ptr @.str9905) call void @fn_emit(ptr @.str9906) 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 @.str9907) call void @fn_emit(ptr @.str9908) call void @fn_emit(ptr @.str9909) call void @fn_emit(ptr @.str9910) call void @fn_emit(ptr @.str9911) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str9912) call void @fn_emit(ptr @.str9913) call void @fn_emit(ptr @.str9914) call void @fn_emit(ptr @.str9915) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) call void @fn_emit(ptr @.str9916) call void @fn_emit(ptr @.str9917) 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 @.str9918) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str9919) %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 @.str9920) call void @fn_emit(ptr @.str9921) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str9922) %t35 = load ptr, ptr %t29 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str9923) %t36 = load ptr, ptr %t29 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str9924) call void @fn_emit(ptr @.str9925) %t37 = load ptr, ptr %t29 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str9926) %t38 = load ptr, ptr %t26 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str9927) %t39 = load ptr, ptr %t26 %t40 = call ptr @lp_str_concat(ptr @.str9928, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str9929) 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 @.str9930) %t48 = load ptr, ptr %t42 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str9931) br label %ifend8 ifend8: call void @fn_emit(ptr @.str9932) %t49 = load ptr, ptr %t29 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str9933) call void @fn_emit(ptr @.str9934) %t50 = load ptr, ptr %t29 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str9935) %t51 = load i32, ptr %t10 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t10 br label %wcond3 wend5: call void @fn_emit(ptr @.str9936) call void @fn_emit(ptr @.str9937) call void @fn_emit(ptr @.str9938) 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 @.str9939) 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 @.str9940) %t21 = load ptr, ptr %t18 call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str9941) 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 @.str9942) 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 @.str9943) br label %ifend14 ifend14: call void @fn_emith(ptr @.str9944) br label %ifend11 ifend11: call void @fn_emith(ptr @.str9945) call void @fn_emith(ptr @.str9946) %t63 = load ptr, ptr %t18 call void @fn_emith(ptr %t63) call void @fn_emith(ptr @.str9947) %t64 = load ptr, ptr %t20 call void @fn_emith(ptr %t64) call void @fn_emith(ptr @.str9948) call void @fn_emith(ptr @.str9949) %t65 = load ptr, ptr %t18 call void @fn_emith(ptr %t65) call void @fn_emith(ptr @.str9950) call void @fn_emith(ptr @.str9951) %t66 = load ptr, ptr %t18 call void @fn_emith(ptr %t66) call void @fn_emith(ptr @.str9952) %t67 = load ptr, ptr %t20 call void @fn_emith(ptr %t67) call void @fn_emith(ptr @.str9953) call void @fn_emit(ptr @.str9954) %t68 = load ptr, ptr %t18 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str9955) call void @fn_emit(ptr @.str9956) %t69 = load ptr, ptr %t18 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str9957) call void @fn_emit(ptr @.str9958) %t70 = load ptr, ptr %t20 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str9959) call void @fn_emit(ptr @.str9960) call void @fn_emit(ptr @.str9961) %t71 = load ptr, ptr %t20 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str9962) %t72 = load ptr, ptr %t18 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str9963) call void @fn_emit(ptr @.str9964) call void @fn_emit(ptr @.str9965) %t73 = load ptr, ptr %t20 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str9966) %t74 = load ptr, ptr %t18 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str9967) call void @fn_emit(ptr @.str9968) call void @fn_emit(ptr @.str9969) %t75 = load ptr, ptr %t18 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str9970) call void @fn_emit(ptr @.str9971) call void @fn_emit(ptr @.str9972) %t76 = load ptr, ptr %t18 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str9973) call void @fn_emit(ptr @.str9974) %t77 = load ptr, ptr %t18 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str9975) call void @fn_emit(ptr @.str9976) %t78 = load ptr, ptr %t20 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str9977) call void @fn_emit(ptr @.str9978) call void @fn_emit(ptr @.str9979) %t79 = load ptr, ptr %t20 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str9980) %t80 = load ptr, ptr %t18 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str9981) call void @fn_emit(ptr @.str9982) call void @fn_emit(ptr @.str9983) %t81 = load ptr, ptr %t20 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str9984) %t82 = load ptr, ptr %t18 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str9985) call void @fn_emit(ptr @.str9986) call void @fn_emit(ptr @.str9987) %t83 = load ptr, ptr %t18 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str9988) call void @fn_emit(ptr @.str9989) call void @fn_emit(ptr @.str9990) %t84 = load ptr, ptr %t18 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str9991) call void @fn_emit(ptr @.str9992) %t85 = load ptr, ptr %t18 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str9993) call void @fn_emit(ptr @.str9994) call void @fn_emit(ptr @.str9995) call void @fn_emit(ptr @.str9996) %t86 = load ptr, ptr %t20 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str9997) %t87 = load ptr, ptr %t18 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str9998) call void @fn_emit(ptr @.str9999) call void @fn_emit(ptr @.str10000) 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 @.str10001, 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 @.str10002) call void @fn_emit(ptr @.str10003) %t94 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str10004) call void @fn_emit(ptr @.str10005) call void @fn_emit(ptr @.str10006) %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 @.str10007) br label %ifend17 else16: call void @fn_emit(ptr @.str10008) br label %ifend17 ifend17: call void @fn_emit(ptr @.str10009) call void @fn_emit(ptr @.str10010) %t101 = load ptr, ptr %t18 %t102 = call ptr @lp_str_concat(ptr @.str10011, 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 @.str10012) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str10013) %t132 = load ptr, ptr %t18 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str10014) %t133 = load ptr, ptr %t104 call void @fn_emit(ptr %t133) call void @fn_emit(ptr @.str10015) %t134 = load i32, ptr %t105 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str10016) call void @fn_emit(ptr @.str10017) %t136 = load ptr, ptr %t128 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str10018) %t137 = load i32, ptr %t105 %t138 = call ptr @fn_itoa(i32 %t137) call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str10019) %t139 = load ptr, ptr %t130 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str10020) %t140 = load ptr, ptr %t128 %t141 = call ptr @fn_emit_alloca(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str10021) %t143 = load ptr, ptr %t128 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10022) %t144 = load i32, ptr %t105 %t145 = call ptr @fn_itoa(i32 %t144) call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str10023) %t146 = load ptr, ptr %t142 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str10024) %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 @.str10025) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str10026) %t165 = load ptr, ptr %t18 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str10027) %t166 = load ptr, ptr %t104 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str10028) %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 @.str10029) call void @fn_emit(ptr @.str10030) %t173 = load ptr, ptr %t156 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str10031) %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 @.str10032) store ptr %t211, ptr %t212 call void @fn_emit(ptr @.str10033) %t213 = load ptr, ptr %t212 call void @fn_emit(ptr %t213) call void @fn_emit(ptr @.str10034) %t214 = call ptr @fn_lbl(ptr @.str10035) store ptr %t214, ptr %t215 %t216 = call ptr @fn_lbl(ptr @.str10036) store ptr %t216, ptr %t217 %t218 = call ptr @fn_lbl(ptr @.str10037) store ptr %t218, ptr %t219 call void @fn_emit(ptr @.str10038) %t220 = load ptr, ptr %t215 call void @fn_emit(ptr %t220) call void @fn_emit(ptr @.str10039) %t221 = load ptr, ptr %t215 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str10040) %t222 = load ptr, ptr %t212 %t223 = call ptr @lp_str_concat(ptr @.str10041, 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 @.str10042, 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 @.str10043, ptr %t230) %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str10044) %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 @.str10045) %t237 = load ptr, ptr %t236 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str10046) %t238 = load ptr, ptr %t217 call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str10047) %t239 = load ptr, ptr %t219 call void @fn_emit(ptr %t239) call void @fn_emit(ptr @.str10048) %t240 = load ptr, ptr %t217 call void @fn_emit(ptr %t240) call void @fn_emit(ptr @.str10049) %t241 = call ptr @fn_nreg() store ptr %t241, ptr %t242 call void @fn_emit(ptr @.str10050) %t243 = load ptr, ptr %t242 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str10051) %t244 = load ptr, ptr %t20 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str10052) %t245 = load ptr, ptr %t18 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str10053) %t246 = load ptr, ptr %t225 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str10054) %t247 = load ptr, ptr %t242 %t248 = call ptr @lp_str_concat(ptr @.str10055, 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 @.str10056, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str10057) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 %t256 = call ptr @fn_lbl(ptr @.str10058) store ptr %t256, ptr %t257 %t258 = call ptr @fn_lbl(ptr @.str10059) store ptr %t258, ptr %t259 call void @fn_emit(ptr @.str10060) %t260 = load ptr, ptr %t255 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str10061) %t261 = load ptr, ptr %t259 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str10062) %t262 = load ptr, ptr %t257 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str10063) %t263 = load ptr, ptr %t257 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str10064) call void @fn_emit(ptr @.str10065) %t264 = load ptr, ptr %t250 call void @fn_emit(ptr %t264) call void @fn_emit(ptr @.str10066) %t265 = load ptr, ptr %t104 call void @fn_emit(ptr %t265) call void @fn_emit(ptr @.str10067) call void @fn_emit(ptr @.str10068) %t266 = load ptr, ptr %t259 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str10069) %t267 = load ptr, ptr %t259 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str10070) %t268 = load ptr, ptr %t225 %t269 = call ptr @lp_str_concat(ptr @.str10071, ptr %t268) %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str10072) %t271 = call ptr @fn_emit_bind(ptr %t270) store ptr %t271, ptr %t272 call void @fn_emit(ptr @.str10073) %t273 = load ptr, ptr %t272 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str10074) %t274 = load ptr, ptr %t212 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str10075) call void @fn_emit(ptr @.str10076) %t275 = load ptr, ptr %t215 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str10077) %t276 = load ptr, ptr %t219 call void @fn_emit(ptr %t276) call void @fn_emit(ptr @.str10078) call void @fn_emit(ptr @.str10079) br label %ifend32 ifend32: call void @fn_emit(ptr @.str10080) call void @fn_emit(ptr @.str10081) %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 @.str10082, ptr %t283) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str10083) %t287 = load ptr, ptr %t286 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str10084) br label %ifend35 else34: call void @fn_emit(ptr @.str10085) 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 @.str10086, 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 @.str10087, ptr %t289 br label %ifend38 ifend38: call void @fn_emit(ptr @.str10088) %t296 = load ptr, ptr %t289 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str10089) %t297 = load ptr, ptr %t18 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str10090) 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 @.str10091) 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 @.str10092) %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 @.str10093) %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 @.str10094) %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 @.str10095) 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 @.str10096) %t355 = load ptr, ptr %t354 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str10097) call void @fn_emit(ptr @.str10098) %t356 = load ptr, ptr %t354 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str10099) call void @fn_emit(ptr @.str10100) %t357 = load ptr, ptr %t354 call void @fn_emit(ptr %t357) call void @fn_emit(ptr @.str10101) %t358 = load ptr, ptr %t351 call void @fn_emit(ptr %t358) call void @fn_emit(ptr @.str10102) call void @fn_emit(ptr @.str10103) %t359 = load ptr, ptr %t354 call void @fn_emit(ptr %t359) call void @fn_emit(ptr @.str10104) %t360 = load ptr, ptr %t354 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str10105) %t361 = load ptr, ptr %t354 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str10106) call void @fn_emit(ptr @.str10107) %t362 = load ptr, ptr %t354 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str10108) %t363 = load ptr, ptr %t354 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str10109) %t364 = load ptr, ptr %t354 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str10110) call void @fn_emit(ptr @.str10111) %t365 = load ptr, ptr %t354 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str10112) call void @fn_emit(ptr @.str10113) %t366 = load ptr, ptr %t354 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str10114) %t367 = load ptr, ptr %t334 call void @fn_emit(ptr %t367) call void @fn_emit(ptr @.str10115) %t368 = load ptr, ptr %t351 call void @fn_emit(ptr %t368) call void @fn_emit(ptr @.str10116) %t369 = load ptr, ptr %t354 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str10117) call void @fn_emit(ptr @.str10118) %t370 = load ptr, ptr %t354 call void @fn_emit(ptr %t370) call void @fn_emit(ptr @.str10119) %t371 = load ptr, ptr %t354 call void @fn_emit(ptr %t371) call void @fn_emit(ptr @.str10120) call void @fn_emit(ptr @.str10121) %t372 = load ptr, ptr %t354 call void @fn_emit(ptr %t372) call void @fn_emit(ptr @.str10122) %t373 = load ptr, ptr %t354 call void @fn_emit(ptr %t373) call void @fn_emit(ptr @.str10123) call void @fn_emit(ptr @.str10124) %t374 = load ptr, ptr %t354 call void @fn_emit(ptr %t374) call void @fn_emit(ptr @.str10125) %t375 = load ptr, ptr %t354 call void @fn_emit(ptr %t375) call void @fn_emit(ptr @.str10126) %t376 = load ptr, ptr %t354 call void @fn_emit(ptr %t376) call void @fn_emit(ptr @.str10127) call void @fn_emit(ptr @.str10128) %t377 = load ptr, ptr %t354 call void @fn_emit(ptr %t377) call void @fn_emit(ptr @.str10129) call void @fn_emit(ptr @.str10130) %t378 = load ptr, ptr %t354 call void @fn_emit(ptr %t378) call void @fn_emit(ptr @.str10131) %t379 = load ptr, ptr %t334 call void @fn_emit(ptr %t379) call void @fn_emit(ptr @.str10132) %t380 = load ptr, ptr %t351 call void @fn_emit(ptr %t380) call void @fn_emit(ptr @.str10133) %t381 = load ptr, ptr %t354 call void @fn_emit(ptr %t381) call void @fn_emit(ptr @.str10134) call void @fn_emit(ptr @.str10135) %t382 = load ptr, ptr %t354 call void @fn_emit(ptr %t382) call void @fn_emit(ptr @.str10136) %t383 = load ptr, ptr %t354 call void @fn_emit(ptr %t383) call void @fn_emit(ptr @.str10137) call void @fn_emit(ptr @.str10138) %t384 = load ptr, ptr %t354 call void @fn_emit(ptr %t384) call void @fn_emit(ptr @.str10139) call void @fn_emit(ptr @.str10140) %t385 = load ptr, ptr %t354 call void @fn_emit(ptr %t385) call void @fn_emit(ptr @.str10141) %t386 = load ptr, ptr %t354 call void @fn_emit(ptr %t386) call void @fn_emit(ptr @.str10142) %t387 = load ptr, ptr %t354 call void @fn_emit(ptr %t387) call void @fn_emit(ptr @.str10143) %t388 = load ptr, ptr %t354 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str10144) call void @fn_emit(ptr @.str10145) %t389 = load ptr, ptr %t354 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str10146) %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 @.str10147) %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 @.str10148) br label %ifend50 else49: call void @fn_emit(ptr @.str10149) 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 @.str10150) 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 @.str10151) call void @fn_emith(ptr @.str10152) call void @fn_emith(ptr @.str10153) call void @fn_emith(ptr @.str10154) call void @fn_emith(ptr @.str10155) call void @fn_emit(ptr @.str10156) 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 @.str10157) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10158) %t63 = load ptr, ptr %t58 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10159) call void @fn_emit(ptr @.str10160) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10161) %t65 = load ptr, ptr %t61 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10162) call void @fn_emit(ptr @.str10163) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10164) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10165) %t68 = load ptr, ptr %t61 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10166) call void @fn_emit(ptr @.str10167) %t69 = load ptr, ptr %t61 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10168) %t70 = load ptr, ptr %t61 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10169) call void @fn_emit(ptr @.str10170) %t71 = load ptr, ptr %t61 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10171) %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 @.str10172) call void @fn_emit(ptr @.str10173) call void @fn_emit(ptr @.str10174) call void @fn_emit(ptr @.str10175) %t76 = load ptr, ptr %t28 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10176) call void @fn_emit(ptr @.str10177) call void @fn_emit(ptr @.str10178) call void @fn_emit(ptr @.str10179) 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 @.str10180) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str10181) %t106 = load ptr, ptr %t104 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str10182) call void @fn_emit(ptr @.str10183) %t107 = load ptr, ptr %t104 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10184) %t108 = load ptr, ptr %t104 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10185) %t109 = load ptr, ptr %t104 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str10186) call void @fn_emit(ptr @.str10187) %t110 = load ptr, ptr %t104 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str10188) 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 @.str10189) %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 @.str10190) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str10191) %t140 = load ptr, ptr %t132 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str10192) call void @fn_emit(ptr @.str10193) %t141 = load ptr, ptr %t138 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str10194) %t142 = load ptr, ptr %t138 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str10195) call void @fn_emit(ptr @.str10196) %t143 = load ptr, ptr %t138 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10197) %t144 = load ptr, ptr %t138 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str10198) %t145 = load ptr, ptr %t138 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str10199) call void @fn_emit(ptr @.str10200) %t146 = load ptr, ptr %t138 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str10201) %t147 = load i32, ptr %t111 %t148 = call ptr @fn_itoa(i32 %t147) call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str10202) call void @fn_emit(ptr @.str10203) %t149 = load ptr, ptr %t138 call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str10204) %t150 = load i32, ptr %t111 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t111 br label %wcond18 wend20: call void @fn_emit(ptr @.str10205) call void @fn_emit(ptr @.str10206) %t152 = load ptr, ptr %t104 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str10207) %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 @.str10208) call void @fn_emit(ptr @.str10209) 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 @.str10210) %t189 = load ptr, ptr %t188 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str10211) %t190 = load ptr, ptr %t188 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str10212) call void @fn_emit(ptr @.str10213) %t191 = load ptr, ptr %t188 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str10214) %t192 = load ptr, ptr %t188 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str10215) %t193 = load ptr, ptr %t188 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str10216) call void @fn_emit(ptr @.str10217) %t194 = load ptr, ptr %t188 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str10218) call void @fn_emit(ptr @.str10219) %t195 = load ptr, ptr %t188 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str10220) %t196 = load ptr, ptr %t1 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str10221) %t197 = load ptr, ptr %t185 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str10222) %t198 = load ptr, ptr %t185 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str10223) 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 @.str10224) %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 @.str10225) %t227 = load ptr, ptr %t226 call void @fn_emit(ptr %t227) call void @fn_emit(ptr @.str10226) %t228 = load i32, ptr %t199 %t229 = call ptr @fn_itoa(i32 %t228) call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str10227) call void @fn_emit(ptr @.str10228) %t230 = load ptr, ptr %t226 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str10229) %t231 = load ptr, ptr %t226 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str10230) %t232 = load ptr, ptr %t226 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str10231) call void @fn_emit(ptr @.str10232) %t233 = load ptr, ptr %t226 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str10233) call void @fn_emit(ptr @.str10234) %t234 = load ptr, ptr %t226 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str10235) %t235 = load ptr, ptr %t185 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str10236) %t236 = load ptr, ptr %t188 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str10237) %t237 = load i32, ptr %t199 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str10238) %t239 = load ptr, ptr %t220 %t240 = call i32 @lp_str_eq(ptr %t239, ptr @.str10239) %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then30, label %else31 then30: call void @fn_emit(ptr @.str10240) %t242 = load ptr, ptr %t226 call void @fn_emit(ptr %t242) call void @fn_emit(ptr @.str10241) %t243 = load ptr, ptr %t226 call void @fn_emit(ptr %t243) call void @fn_emit(ptr @.str10242) call void @fn_emit(ptr @.str10243) %t244 = load ptr, ptr %t226 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str10244) %t245 = load ptr, ptr %t226 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str10245) %t246 = load ptr, ptr %t226 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str10246) br label %ifend32 else31: %t247 = load ptr, ptr %t220 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str10247) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then33, label %else34 then33: call void @fn_emit(ptr @.str10248) %t250 = load ptr, ptr %t226 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str10249) %t251 = load ptr, ptr %t226 call void @fn_emit(ptr %t251) call void @fn_emit(ptr @.str10250) call void @fn_emit(ptr @.str10251) %t252 = load ptr, ptr %t226 call void @fn_emit(ptr %t252) call void @fn_emit(ptr @.str10252) %t253 = load ptr, ptr %t226 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str10253) %t254 = load ptr, ptr %t226 call void @fn_emit(ptr %t254) call void @fn_emit(ptr @.str10254) br label %ifend35 else34: call void @fn_emit(ptr @.str10255) %t255 = load ptr, ptr %t226 call void @fn_emit(ptr %t255) call void @fn_emit(ptr @.str10256) %t256 = load ptr, ptr %t226 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str10257) call void @fn_emit(ptr @.str10258) %t257 = load ptr, ptr %t226 call void @fn_emit(ptr %t257) call void @fn_emit(ptr @.str10259) %t258 = load ptr, ptr %t226 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str10260) %t259 = load ptr, ptr %t226 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str10261) br label %ifend35 ifend35: br label %ifend32 ifend32: call void @fn_emit(ptr @.str10262) %t260 = load ptr, ptr %t226 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str10263) %t261 = load i32, ptr %t199 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t199 br label %wcond27 wend29: call void @fn_emit(ptr @.str10264) call void @fn_emit(ptr @.str10265) %t263 = load ptr, ptr %t188 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str10266) %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 @.str10267) %t268 = load ptr, ptr %t28 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str10268) call void @fn_emit(ptr @.str10269) call void @fn_emit(ptr @.str10270) call void @fn_emit(ptr @.str10271) call void @fn_emit(ptr @.str10272) call void @fn_emit(ptr @.str10273) call void @fn_emit(ptr @.str10274) 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 @.str10275) %t301 = load ptr, ptr %t300 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str10276) %t302 = load ptr, ptr %t300 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str10277) call void @fn_emit(ptr @.str10278) %t303 = load ptr, ptr %t300 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str10279) %t304 = load ptr, ptr %t300 call void @fn_emit(ptr %t304) call void @fn_emit(ptr @.str10280) %t305 = load ptr, ptr %t300 call void @fn_emit(ptr %t305) call void @fn_emit(ptr @.str10281) call void @fn_emit(ptr @.str10282) %t306 = load ptr, ptr %t300 call void @fn_emit(ptr %t306) call void @fn_emit(ptr @.str10283) call void @fn_emit(ptr @.str10284) %t307 = load ptr, ptr %t300 call void @fn_emit(ptr %t307) call void @fn_emit(ptr @.str10285) %t308 = load ptr, ptr %t1 call void @fn_emit(ptr %t308) call void @fn_emit(ptr @.str10286) %t309 = load ptr, ptr %t297 call void @fn_emit(ptr %t309) call void @fn_emit(ptr @.str10287) %t310 = load ptr, ptr %t297 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str10288) 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 @.str10289) %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 @.str10290) %t339 = load ptr, ptr %t338 call void @fn_emit(ptr %t339) call void @fn_emit(ptr @.str10291) %t340 = load i32, ptr %t311 %t341 = call ptr @fn_itoa(i32 %t340) call void @fn_emit(ptr %t341) call void @fn_emit(ptr @.str10292) call void @fn_emit(ptr @.str10293) %t342 = load ptr, ptr %t338 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str10294) %t343 = load ptr, ptr %t338 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str10295) %t344 = load ptr, ptr %t338 call void @fn_emit(ptr %t344) call void @fn_emit(ptr @.str10296) call void @fn_emit(ptr @.str10297) %t345 = load ptr, ptr %t338 call void @fn_emit(ptr %t345) call void @fn_emit(ptr @.str10298) call void @fn_emit(ptr @.str10299) %t346 = load ptr, ptr %t338 call void @fn_emit(ptr %t346) call void @fn_emit(ptr @.str10300) %t347 = load ptr, ptr %t297 call void @fn_emit(ptr %t347) call void @fn_emit(ptr @.str10301) %t348 = load ptr, ptr %t300 call void @fn_emit(ptr %t348) call void @fn_emit(ptr @.str10302) %t349 = load i32, ptr %t311 %t350 = call ptr @fn_itoa(i32 %t349) call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str10303) %t351 = load ptr, ptr %t332 %t352 = call i32 @lp_str_eq(ptr %t351, ptr @.str10304) %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then45, label %else46 then45: call void @fn_emit(ptr @.str10305) %t354 = load ptr, ptr %t338 call void @fn_emit(ptr %t354) call void @fn_emit(ptr @.str10306) call void @fn_emit(ptr @.str10307) %t355 = load ptr, ptr %t338 call void @fn_emit(ptr %t355) call void @fn_emit(ptr @.str10308) %t356 = load ptr, ptr %t338 call void @fn_emit(ptr %t356) call void @fn_emit(ptr @.str10309) br label %ifend47 else46: %t357 = load ptr, ptr %t332 %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str10310) %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then48, label %else49 then48: call void @fn_emit(ptr @.str10311) %t360 = load ptr, ptr %t338 call void @fn_emit(ptr %t360) call void @fn_emit(ptr @.str10312) call void @fn_emit(ptr @.str10313) %t361 = load ptr, ptr %t338 call void @fn_emit(ptr %t361) call void @fn_emit(ptr @.str10314) %t362 = load ptr, ptr %t338 call void @fn_emit(ptr %t362) call void @fn_emit(ptr @.str10315) br label %ifend50 else49: call void @fn_emit(ptr @.str10316) %t363 = load ptr, ptr %t338 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str10317) call void @fn_emit(ptr @.str10318) %t364 = load ptr, ptr %t338 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str10319) %t365 = load ptr, ptr %t338 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str10320) br label %ifend50 ifend50: br label %ifend47 ifend47: call void @fn_emit(ptr @.str10321) %t366 = load ptr, ptr %t338 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str10322) %t367 = load i32, ptr %t311 %t368 = add i32 %t367, 1 store i32 %t368, ptr %t311 br label %wcond42 wend44: call void @fn_emit(ptr @.str10323) call void @fn_emit(ptr @.str10324) %t369 = load ptr, ptr %t300 call void @fn_emit(ptr %t369) call void @fn_emit(ptr @.str10325) %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 @.str10326) %t374 = load ptr, ptr %t28 call void @fn_emit(ptr %t374) 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(ptr @.str10331) call void @fn_emit(ptr @.str10332) call void @fn_emit(ptr @.str10333) 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 @.str10334) %t405 = load ptr, ptr %t404 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str10335) %t406 = load ptr, ptr %t404 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str10336) call void @fn_emit(ptr @.str10337) %t407 = load ptr, ptr %t404 call void @fn_emit(ptr %t407) call void @fn_emit(ptr @.str10338) %t408 = load ptr, ptr %t404 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str10339) %t409 = load ptr, ptr %t404 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str10340) call void @fn_emit(ptr @.str10341) %t410 = load ptr, ptr %t404 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str10342) call void @fn_emit(ptr @.str10343) %t411 = load ptr, ptr %t404 call void @fn_emit(ptr %t411) call void @fn_emit(ptr @.str10344) %t412 = load ptr, ptr %t1 call void @fn_emit(ptr %t412) call void @fn_emit(ptr @.str10345) %t413 = load ptr, ptr %t401 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str10346) call void @fn_emit(ptr @.str10347) %t414 = load ptr, ptr %t404 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str10348) %t415 = load ptr, ptr %t404 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str10349) call void @fn_emit(ptr @.str10350) %t416 = load ptr, ptr %t404 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str10351) %t417 = load ptr, ptr %t404 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str10352) %t418 = load ptr, ptr %t404 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str10353) call void @fn_emit(ptr @.str10354) %t419 = load ptr, ptr %t404 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str10355) %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 @.str10356) %t424 = load ptr, ptr %t28 call void @fn_emit(ptr %t424) call void @fn_emit(ptr @.str10357) call void @fn_emit(ptr @.str10358) call void @fn_emit(ptr @.str10359) call void @fn_emit(ptr @.str10360) call void @fn_emit(ptr @.str10361) call void @fn_emit(ptr @.str10362) call void @fn_emit(ptr @.str10363) %t425 = load ptr, ptr %t1 call void @fn_emit(ptr %t425) call void @fn_emit(ptr @.str10364) call void @fn_emit(ptr @.str10365) call void @fn_emit(ptr @.str10366) call void @fn_emit(ptr @.str10367) %t426 = load ptr, ptr %t1 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str10368) %t427 = load ptr, ptr %t1 call void @fn_emit(ptr %t427) call void @fn_emit(ptr @.str10369) call void @fn_emit(ptr @.str10370) call void @fn_emit(ptr @.str10371) call void @fn_emit(ptr @.str10372) call void @fn_emit(ptr @.str10373) %t428 = load ptr, ptr %t28 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str10374) call void @fn_emit(ptr @.str10375) call void @fn_emit(ptr @.str10376) call void @fn_emit(ptr @.str10377) %t429 = load ptr, ptr %t28 call void @fn_emit(ptr %t429) call void @fn_emit(ptr @.str10378) call void @fn_emit(ptr @.str10379) call void @fn_emit(ptr @.str10380) %t430 = load ptr, ptr %t28 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str10381) call void @fn_emit(ptr @.str10382) call void @fn_emit(ptr @.str10383) call void @fn_emit(ptr @.str10384) %t431 = load ptr, ptr %t1 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str10385) call void @fn_emit(ptr @.str10386) call void @fn_emit(ptr @.str10387) 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 @.str10388) %t463 = load ptr, ptr %t462 call void @fn_emit(ptr %t463) call void @fn_emit(ptr @.str10389) %t464 = load ptr, ptr %t459 call void @fn_emit(ptr %t464) call void @fn_emit(ptr @.str10390) call void @fn_emit(ptr @.str10391) %t465 = load ptr, ptr %t462 call void @fn_emit(ptr %t465) call void @fn_emit(ptr @.str10392) %t466 = load ptr, ptr %t462 call void @fn_emit(ptr %t466) call void @fn_emit(ptr @.str10393) call void @fn_emit(ptr @.str10394) %t467 = load ptr, ptr %t462 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str10395) %t468 = load ptr, ptr %t462 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str10396) %t469 = load ptr, ptr %t462 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str10397) call void @fn_emit(ptr @.str10398) %t470 = load ptr, ptr %t462 call void @fn_emit(ptr %t470) call void @fn_emit(ptr @.str10399) %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 @.str10400) call void @fn_emit(ptr @.str10401) %t481 = load ptr, ptr %t462 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str10402) %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 @.str10403) 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 @.str10404, 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 @.str10405) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) call void @fn_emit(ptr @.str10406) %t528 = load ptr, ptr %t517 store ptr %t528, ptr @g_code call void @fn_emit(ptr @.str10407) %t529 = load ptr, ptr %t512 call void @fn_emit(ptr %t529) call void @fn_emit(ptr @.str10408) %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 @.str10409) 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 @.str10410) 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 @.str10411) %t566 = load ptr, ptr %t565 call void @fn_emit(ptr %t566) call void @fn_emit(ptr @.str10412) %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 @.str10413) call void @fn_emit(ptr @.str10414) %t570 = load ptr, ptr %t565 call void @fn_emit(ptr %t570) call void @fn_emit(ptr @.str10415) %t571 = load ptr, ptr %t565 call void @fn_emit(ptr %t571) call void @fn_emit(ptr @.str10416) %t572 = load ptr, ptr %t565 call void @fn_emit(ptr %t572) call void @fn_emit(ptr @.str10417) call void @fn_emit(ptr @.str10418) %t573 = load ptr, ptr %t565 call void @fn_emit(ptr %t573) call void @fn_emit(ptr @.str10419) %t574 = load ptr, ptr %t565 call void @fn_emit(ptr %t574) call void @fn_emit(ptr @.str10420) %t575 = load ptr, ptr %t562 call void @fn_emit(ptr %t575) call void @fn_emit(ptr @.str10421) %t576 = load ptr, ptr %t565 call void @fn_emit(ptr %t576) call void @fn_emit(ptr @.str10422) call void @fn_emit(ptr @.str10423) %t577 = load ptr, ptr %t565 call void @fn_emit(ptr %t577) call void @fn_emit(ptr @.str10424) %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 @.str10425) call void @fn_emit(ptr @.str10426) call void @fn_emit(ptr @.str10427) call void @fn_emit(ptr @.str10428) call void @fn_emit(ptr @.str10429) call void @fn_emit(ptr @.str10430) %t582 = load ptr, ptr %t1 call void @fn_emit(ptr %t582) call void @fn_emit(ptr @.str10431) call void @fn_emit(ptr @.str10432) call void @fn_emit(ptr @.str10433) call void @fn_emit(ptr @.str10434) call void @fn_emit(ptr @.str10435) call void @fn_emit(ptr @.str10436) 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 @.str10437) store ptr %t0, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str10438) 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 @.str10439) call void @fn_emit(ptr @.str10440) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10441) call void @fn_emit(ptr @.str10442) 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 @.str10443) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10444) %t65 = load ptr, ptr %t63 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10445) call void @fn_emit(ptr @.str10446) %t66 = load ptr, ptr %t63 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10447) %t67 = load ptr, ptr %t63 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str10448) %t68 = load ptr, ptr %t63 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10449) call void @fn_emit(ptr @.str10450) %t69 = load ptr, ptr %t63 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10451) %t70 = load ptr, ptr %t60 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10452) call void @fn_emit(ptr @.str10453) %t71 = load ptr, ptr %t63 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10454) %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 @.str10455) %t76 = load ptr, ptr %t30 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10456) call void @fn_emit(ptr @.str10457) call void @fn_emit(ptr @.str10458) call void @fn_emit(ptr @.str10459) %t77 = load ptr, ptr %t1 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10460) call void @fn_emit(ptr @.str10461) 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 @.str10462) %t106 = load ptr, ptr %t105 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str10463) %t107 = load ptr, ptr %t105 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10464) call void @fn_emit(ptr @.str10465) %t108 = load ptr, ptr %t105 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10466) %t109 = load ptr, ptr %t105 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str10467) %t110 = load ptr, ptr %t105 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str10468) call void @fn_emit(ptr @.str10469) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str10470) %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 @.str10471) call void @fn_emit(ptr @.str10472) %t118 = load ptr, ptr %t105 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str10473) %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 @.str10474) %t123 = load ptr, ptr %t30 call void @fn_emit(ptr %t123) 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) 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 @.str10480) %t152 = load ptr, ptr %t151 call void @fn_emit(ptr %t152) call void @fn_emit(ptr @.str10481) %t153 = load ptr, ptr %t151 call void @fn_emit(ptr %t153) call void @fn_emit(ptr @.str10482) call void @fn_emit(ptr @.str10483) %t154 = load ptr, ptr %t151 call void @fn_emit(ptr %t154) call void @fn_emit(ptr @.str10484) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str10485) %t156 = load ptr, ptr %t151 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str10486) call void @fn_emit(ptr @.str10487) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str10488) 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 @.str10489) %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 @.str10490) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str10491) %t187 = load i32, ptr %t158 %t188 = call ptr @fn_itoa(i32 %t187) call void @fn_emit(ptr %t188) call void @fn_emit(ptr @.str10492) call void @fn_emit(ptr @.str10493) %t189 = load ptr, ptr %t185 call void @fn_emit(ptr %t189) call void @fn_emit(ptr @.str10494) %t190 = load ptr, ptr %t185 call void @fn_emit(ptr %t190) call void @fn_emit(ptr @.str10495) %t191 = load ptr, ptr %t185 call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str10496) call void @fn_emit(ptr @.str10497) %t192 = load ptr, ptr %t185 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str10498) %t193 = load ptr, ptr %t179 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str10499) call void @fn_emit(ptr @.str10500) %t194 = load ptr, ptr %t185 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str10501) %t195 = load i32, ptr %t158 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t158 br label %wcond24 wend26: call void @fn_emit(ptr @.str10502) %t197 = load ptr, ptr %t1 call void @fn_emit(ptr %t197) call void @fn_emit(ptr @.str10503) call void @fn_emit(ptr @.str10504) %t198 = load ptr, ptr %t151 call void @fn_emit(ptr %t198) call void @fn_emit(ptr @.str10505) %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 @.str10506) %t203 = load ptr, ptr %t1 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str10507) call void @fn_emit(ptr @.str10508) 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 @.str10509) %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str10510) %t233 = load ptr, ptr %t231 call void @fn_emit(ptr %t233) call void @fn_emit(ptr @.str10511) call void @fn_emit(ptr @.str10512) %t234 = load ptr, ptr %t231 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str10513) %t235 = load ptr, ptr %t231 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str10514) %t236 = load ptr, ptr %t231 call void @fn_emit(ptr %t236) call void @fn_emit(ptr @.str10515) call void @fn_emit(ptr @.str10516) %t237 = load ptr, ptr %t231 call void @fn_emit(ptr %t237) call void @fn_emit(ptr @.str10517) 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 @.str10518) %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 @.str10519) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str10520) %t267 = load i32, ptr %t238 %t268 = call ptr @fn_itoa(i32 %t267) call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str10521) call void @fn_emit(ptr @.str10522) %t269 = load ptr, ptr %t265 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str10523) %t270 = load ptr, ptr %t265 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str10524) %t271 = load ptr, ptr %t265 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str10525) call void @fn_emit(ptr @.str10526) %t272 = load ptr, ptr %t265 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str10527) %t273 = load ptr, ptr %t259 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str10528) call void @fn_emit(ptr @.str10529) %t274 = load ptr, ptr %t265 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str10530) %t275 = load i32, ptr %t238 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t238 br label %wcond33 wend35: call void @fn_emit(ptr @.str10531) %t277 = load ptr, ptr %t3 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str10532) call void @fn_emit(ptr @.str10533) %t278 = load ptr, ptr %t231 call void @fn_emit(ptr %t278) call void @fn_emit(ptr @.str10534) %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 @.str10535) %t283 = load ptr, ptr %t3 call void @fn_emit(ptr %t283) call void @fn_emit(ptr @.str10536) br label %ret ret: ret void } define void @fn_emit_tick_helpers() { entry: call void @fn_emit(ptr @.str10537) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str10538) call void @fn_emit_calls_for_phase(ptr @.str10539) call void @fn_emit_calls_for_phase(ptr @.str10540) call void @fn_emit_calls_for_phase(ptr @.str10541) call void @fn_emit(ptr @.str10542) call void @fn_emit(ptr @.str10543) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str10544) call void @fn_emit_calls_for_phase(ptr @.str10545) call void @fn_emit(ptr @.str10546) 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 @.str10547) call void @fn_emit(ptr @.str10548) call void @fn_emit(ptr @.str10549) %t0 = call ptr @fn_find_fn(ptr @.str10550) %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 @.str10551) br label %ifend2 ifend2: call void @fn_emit(ptr @.str10552) call void @fn_emit_calls_for_phase(ptr @.str10553) %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 @.str10554) %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 @.str10555) 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 @.str10556) %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 @.str10557) 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 @.str10558) %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 @.str10559) br label %ifend14 ifend14: call void @fn_emit(ptr @.str10560) call void @fn_emit(ptr @.str10561) %t46 = call ptr @fn_emit_bind(ptr @.str10562) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = call ptr @lp_str_concat(ptr @.str10563, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str10564) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = call ptr @fn_find_fn(ptr @.str10565) %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 @.str10566) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr @.str10567, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10568) %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 @.str10569, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10570) %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 @.str10571) %t71 = load ptr, ptr %t70 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10572) br label %ifend17 else16: call void @fn_emit(ptr @.str10573) %t72 = load ptr, ptr %t52 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10574) br label %ifend17 ifend17: call void @fn_emit(ptr @.str10575) %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 @.str10576) %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 @.str10577) store ptr %t84, ptr %t85 call void @fn_emit(ptr @.str10578) %t86 = load ptr, ptr %t85 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str10579) br label %ifend22 else21: %t87 = call ptr @fn_find_fn(ptr @.str10580) %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 @.str10581) store ptr %t91, ptr %t92 call void @fn_emit(ptr @.str10582) %t93 = load ptr, ptr %t92 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10583) 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 @.str10584) %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 @.str10585) store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str10586) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10587) br label %ifend30 ifend30: call void @fn_emit_calls_for_phase(ptr @.str10588) call void @fn_emit_calls_for_phase(ptr @.str10589) call void @fn_emit_calls_for_phase(ptr @.str10590) call void @fn_emit_calls_for_phase(ptr @.str10591) %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 @.str10592) %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 @.str10593) %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 @.str10594) br label %ifend35 ifend35: call void @fn_emit_calls_for_phase(ptr @.str10595) call void @fn_emit_calls_for_phase(ptr @.str10596) %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 @.str10597) %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 @.str10598) br label %ifend40 ifend40: %t136 = call ptr @fn_emit_bind(ptr @.str10599) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t137 %t139 = call ptr @lp_str_concat(ptr @.str10600, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str10601) %t141 = call ptr @fn_emit_bind(ptr %t140) store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str10602) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str10603) call void @fn_emit(ptr @.str10604) call void @fn_emit(ptr @.str10605) %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 @.str10606) br label %ifend43 ifend43: call void @fn_emit_calls_for_phase(ptr @.str10607) %t150 = call ptr @fn_find_event(ptr @.str10608) %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 @.str10609) br label %ifend46 ifend46: %t154 = call ptr @fn_find_fn(ptr @.str10610) %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 @.str10611) br label %ifend49 ifend49: call void @fn_emit(ptr @.str10612) 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 @.str10613, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str10614) %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 @.str10615, 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 @.str10616, 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 @.str10617, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10618) %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 @.str10619) 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 @.str10620, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str10621) %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 @.str10622) store ptr %t96, ptr %t97 %t98 = call ptr @fn_lbl(ptr @.str10623) store ptr %t98, ptr %t99 call void @fn_emit(ptr @.str10624) %t100 = load ptr, ptr %t95 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str10625) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str10626) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str10627) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str10628) 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 @.str10629) %t111 = load ptr, ptr %t65 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str10630) br label %ifend13 ifend13: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10631) 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 @.str10632) %t119 = load ptr, ptr %t65 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str10633) br label %ifend16 ifend16: %t120 = load ptr, ptr %t65 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str10634) 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 @.str10635) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10636) %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 @.str10637) 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 @.str10638) %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 @.str10639) %t80 = load ptr, ptr %t61 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10640) 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 @.str10641, 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 @.str10642) %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 @.str10643) br label %ifend20 else19: call void @fn_emit(ptr @.str10644) br label %ifend20 ifend20: call void @fn_emit(ptr @.str10645) %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 @.str10646) call void @fn_emit(ptr @.str10647) %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 @.str10648) 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 @.str10649) %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 @.str10650, 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 @.str10651) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str10652) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str10653) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str10654) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str10655) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str10656) %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 @.str10657, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str10658) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10659) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10660) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10661) %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 @.str10662, ptr %t30) store ptr %t31, ptr %t32 call void @fn_emit(ptr @.str10663) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10664) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10665) %t35 = load ptr, ptr @g_g_snap_mode %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str10666) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: call void @fn_emit(ptr @.str10667) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str10668) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str10669) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10670) br label %ifend8 else7: call void @fn_emit(ptr @.str10671) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str10672) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str10673) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str10674) 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 @.str10675, ptr %t45) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str10676) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10677) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10678) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10679) %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 @.str10680, 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 @.str10681, ptr @.str10682) %t4 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t4, ptr @.str10683, ptr @.str10684) call void @fn_emit(ptr @.str10685) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str10686) %t6 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t6, ptr @.str10687, ptr @.str10688) %t7 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t7, ptr @.str10689, ptr @.str10690) %t8 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t8, ptr @.str10691, ptr @.str10692) %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 @.str10693, ptr @.str10694) 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 @.str10695, ptr %t39) call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str10696) 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 @.str10697, ptr %t72) store ptr %t73, ptr %t74 call void @fn_emit(ptr @.str10698) %t75 = load ptr, ptr %t74 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10699) %t76 = load ptr, ptr %t70 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10700) %t77 = load ptr, ptr %t2 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10701) %t78 = load ptr, ptr %t0 %t79 = load ptr, ptr %t70 %t80 = call ptr @lp_str_concat(ptr @.str10702, 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 @.str10703, 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 @.str10704, ptr @g_g_snap_mode call void @fn_emith(ptr @.str10705) call void @fn_emith(ptr @.str10706) call void @fn_emith(ptr @.str10707) %t0 = call ptr @fn_find_fn(ptr @.str10708) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 %t4 = call ptr @fn_find_fn(ptr @.str10709) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 call void @fn_emit(ptr @.str10710) call void @fn_emit(ptr @.str10711) call void @fn_emit(ptr @.str10712) call void @fn_emit(ptr @.str10713) call void @fn_emit_snapshot_blocks(ptr @.str10714) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str10715) br label %ifend2 ifend2: call void @fn_emit(ptr @.str10716) call void @fn_emit(ptr @.str10717) call void @fn_emit(ptr @.str10718) call void @fn_emit(ptr @.str10719) call void @fn_emit(ptr @.str10720) call void @fn_emit_snapshot_blocks(ptr @.str10721) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str10722) br label %ifend5 ifend5: call void @fn_emit(ptr @.str10723) call void @fn_emit(ptr @.str10724) store ptr @.str10725, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str10726) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) %t14 = call ptr @lp_str_concat(ptr @.str10727, ptr %t13) store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str10728) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str10729) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10730) call void @fn_emit(ptr @.str10731) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str10732) call void @fn_emit(ptr @.str10733) store ptr @.str10734, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str10735) call void @fn_emit(ptr @.str10736) call void @fn_emit(ptr @.str10737) store ptr @.str10738, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str10739) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) %t21 = call ptr @lp_str_concat(ptr @.str10740, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str10741) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10742) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10743) call void @fn_emit(ptr @.str10744) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10745) store ptr @.str10746, 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 @.str10747) %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 @.str10748) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str10749, ptr %retval br label %ret ifend2: store ptr @.str10750, 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 = call ptr @lp_win_stdio(i32 2) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = zext i32 23 to i64 %t5 = call i64 @fwrite(ptr @.str10751, 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 @.str10752, 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 @.str10753) %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 @.str10754, ptr %t104) %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str10755) %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 @.str10756) 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 @.str10757, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10758) %t130 = load ptr, ptr %t59 %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str10759) 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 @.str10760) %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 @.str10761) 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 @.str10762) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10763) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str10764) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str10765) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10766) 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 @.str10767) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10768) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str10769) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10770) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str10771) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str10772) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str10773) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str10774) call void @fn_emit(ptr @.str10775) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str10776) %t102 = load ptr, ptr %t90 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str10777) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str10778) %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 @.str10779) %t121 = load i32, ptr %t6 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str10780) 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 @.str10781) %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 @.str10782) 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 @.str10783) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10784) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str10785) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str10786) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10787) 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 @.str10788) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10789) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str10790) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10791) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str10792) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 call void @fn_emit(ptr @.str10793) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str10794) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str10795) call void @fn_emit(ptr @.str10796) %t101 = load ptr, ptr %t90 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str10797) %t102 = load ptr, ptr %t97 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str10798) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str10799) %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 @.str10800) 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 @.str10801) call void @fn_emit(ptr @.str10802) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str10803) 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 @.str10804) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10805) %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 @.str10806) call void @fn_emit(ptr @.str10807) %t52 = load ptr, ptr %t47 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str10808) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10809) %t54 = load ptr, ptr %t47 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str10810) call void @fn_emit(ptr @.str10811) %t55 = load ptr, ptr %t47 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str10812) %t56 = load ptr, ptr %t47 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str10813) %t57 = load ptr, ptr %t44 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str10814) %t58 = load ptr, ptr %t47 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str10815) call void @fn_emit(ptr @.str10816) %t59 = load ptr, ptr %t47 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str10817) %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 @.str10818) call void @fn_emit(ptr @.str10819) call void @fn_emit(ptr @.str10820) %t64 = load ptr, ptr %t1 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10821) 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 @.str10822) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10823) %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 @.str10824) call void @fn_emit(ptr @.str10825) %t112 = load ptr, ptr %t107 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10826) %t113 = load ptr, ptr %t107 call void @fn_emit(ptr %t113) call void @fn_emit(ptr @.str10827) %t114 = load ptr, ptr %t107 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str10828) call void @fn_emit(ptr @.str10829) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10830) %t116 = load ptr, ptr %t104 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10831) call void @fn_emit(ptr @.str10832) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str10833) %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 @.str10834) call void @fn_emit(ptr @.str10835) call void @fn_emit(ptr @.str10836) %t122 = load ptr, ptr %t1 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str10837) 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 @.str10838) %t166 = load ptr, ptr %t165 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str10839) %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 @.str10840) call void @fn_emit(ptr @.str10841) %t170 = load ptr, ptr %t165 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str10842) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str10843) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str10844) call void @fn_emit(ptr @.str10845) %t173 = load ptr, ptr %t165 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str10846) %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 @.str10847) call void @fn_emit(ptr @.str10848) %t182 = load ptr, ptr %t165 call void @fn_emit(ptr %t182) call void @fn_emit(ptr @.str10849) %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 @.str10850) 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 @.str10851) call void @fn_emit(ptr @.str10852) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str10853) call void @fn_emit(ptr @.str10854) call void @fn_emit(ptr @.str10855) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str10856) call void @fn_emit(ptr @.str10857) call void @fn_emit(ptr @.str10858) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str10859) call void @fn_emit(ptr @.str10860) br label %ret ret: ret void } define void @fn_emit_loopback() { entry: call void @fn_emith(ptr @.str10861) call void @fn_emith(ptr @.str10862) call void @fn_emith(ptr @.str10863) call void @fn_emith(ptr @.str10864) call void @fn_emit(ptr @.str10865) call void @fn_emit(ptr @.str10866) call void @fn_emit(ptr @.str10867) call void @fn_emit(ptr @.str10868) call void @fn_emit(ptr @.str10869) call void @fn_emit(ptr @.str10870) call void @fn_emit(ptr @.str10871) call void @fn_emit(ptr @.str10872) call void @fn_emit(ptr @.str10873) call void @fn_emit(ptr @.str10874) call void @fn_emit(ptr @.str10875) call void @fn_emit(ptr @.str10876) call void @fn_emit(ptr @.str10877) call void @fn_emit(ptr @.str10878) call void @fn_emit(ptr @.str10879) call void @fn_emit(ptr @.str10880) call void @fn_emit(ptr @.str10881) call void @fn_emit(ptr @.str10882) call void @fn_emit(ptr @.str10883) call void @fn_emit(ptr @.str10884) call void @fn_emit(ptr @.str10885) call void @fn_emit(ptr @.str10886) 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 @.str10887) 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 @.str10888, 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 @.str10889) 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 @.str10890, 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 @.str10891) %t0 = call ptr @fn_find_extern(ptr @.str10892) %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 @.str10893) call void @fn_emit(ptr @.str10894) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str10895) call void @fn_emit(ptr @.str10896) call void @fn_emit(ptr @.str10897) 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 @.str10898) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10899) %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 @.str10900) call void @fn_emit(ptr @.str10901) %t37 = load ptr, ptr %t30 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str10902) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str10903) %t39 = load ptr, ptr %t30 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str10904) call void @fn_emit(ptr @.str10905) %t40 = load ptr, ptr %t30 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10906) 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 @.str10907) %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 @.str10908) %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str10909) %t73 = load i32, ptr %t41 %t74 = call ptr @fn_itoa(i32 %t73) call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str10910) call void @fn_emit(ptr @.str10911) %t75 = load ptr, ptr %t71 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str10912) %t76 = load ptr, ptr %t65 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str10913) %t77 = load ptr, ptr %t71 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str10914) %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 @.str10915) 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 @.str10916) %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 @.str10917) %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 @.str10918) %t106 = load ptr, ptr %t44 %t107 = call ptr @fn_buf_str(ptr %t106) call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str10919) call void @fn_emit(ptr @.str10920) call void @fn_emit(ptr @.str10921) %t108 = load ptr, ptr %t30 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str10922) 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 @.str10923) call void @fn_emit(ptr @.str10924) 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 @.str10925) 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 @.str10926) %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 @.str10927) %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 @.str10928) %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 @.str10929) %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 @.str10930) %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 @.str10931) %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 @.str10932) %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 @.str10933, 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 @.str10934, 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 @.str10935, 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 @.str10936, 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 @.str10937) 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 @.str10938) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str10939) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str10940) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str10941) 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 @.str10942) %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 @.str10943) %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 @.str10944) %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 @.str10945) %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 @.str10946) %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 @.str10947) %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 @.str10948) %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 @.str10949) %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 @.str10950) %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 @.str10951) %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 @.str10952) %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 @.str10953) %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 @.str10954) %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 @.str10955) %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 @.str10956) %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 @.str10957) 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 @.str10958) 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 @.str10959) %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 @.str10960) %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 @.str10961) %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 @.str10962) %t89 = load i32, ptr %t10 %t90 = call ptr @fn_itoa(i32 %t89) call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10963) %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 @.str10964) br label %ifend16 else15: %t95 = load ptr, ptr %t65 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str10965) %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 @.str10966) %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 @.str10967, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str10968) %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 @.str10969) %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 @.str10970) %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 @.str10971) %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 @.str10972) %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 @.str10973) 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 @.str10974) %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 @.str10975) 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 @.str10976) 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 @.str10977) %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 @.str10978) %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 @.str10979) %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 @.str10980) 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 @.str10981) %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 @.str10982) %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 @.str10983) %t54 = load ptr, ptr %t46 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str10984) %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 @.str10985) br label %ifend8 ifend8: call void @fn_emit(ptr @.str10986) %t71 = load ptr, ptr %t12 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str10987) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then9, label %else10 then9: call void @fn_emit(ptr @.str10988) br label %ifend11 else10: %t74 = load ptr, ptr %t12 %t75 = call ptr @lp_str_concat(ptr @.str10989, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str10990) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str10991) %t79 = load ptr, ptr %t12 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10992) %t80 = load ptr, ptr %t78 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10993) br label %ifend11 ifend11: %t81 = load ptr, ptr %t8 store ptr %t81, ptr @g_code call void @fn_emit(ptr @.str10994) %t82 = load ptr, ptr %t12 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10995) %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 @.str10996) %t86 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t86) call void @fn_emit(ptr @.str10997) %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 @.str10998) 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 @.str10999, 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 @.str11000) call void @fn_emit(ptr @.str11001) call void @fn_emit(ptr @.str11002) call void @fn_emit(ptr @.str11003) %t8 = call ptr @fn_find_fn(ptr @.str11004) %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 @.str11005) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11006) %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 @.str11007) br label %ifend5 ifend5: call void @fn_emit(ptr @.str11008) %t19 = call ptr @fn_emit_bind(ptr @.str11009) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str11010) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str11011) %t22 = load ptr, ptr %t5 store ptr %t22, ptr @g_code call void @fn_emit(ptr @.str11012) %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 @.str11013) 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 @.str11014, 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 @.str11015) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11016) %t15 = load ptr, ptr %t6 store ptr %t15, ptr @g_code call void @fn_emit(ptr @.str11017) %t16 = load i32, ptr %t1 %t17 = call ptr @fn_itoa(i32 %t16) call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str11018) %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 @.str11019) 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 @.str11020) call void @fn_emith(ptr @.str11021) 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 @.str11022) br label %ifend5 ifend5: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit(ptr @.str11023) call void @fn_emit(ptr @.str11024) call void @fn_emit(ptr @.str11025) call void @fn_emit(ptr @.str11026) %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 @.str11027) br label %ifend8 ifend8: call void @fn_emit(ptr @.str11028) 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 @.str11029, 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 @.str11030, ptr %t46) %t48 = call ptr @fn_emit_str_const(ptr %t47) store ptr %t48, ptr %t49 call void @fn_emit(ptr @.str11031) %t50 = load i32, ptr %t0 %t51 = call ptr @fn_itoa(i32 %t50) %t52 = call ptr @lp_str_concat(ptr @.str11032, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str11033) call void @fn_emit(ptr %t53) %t54 = call ptr @fn_emit_bind(ptr @.str11034) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 %t57 = call ptr @lp_str_concat(ptr @.str11035, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str11036) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 %t61 = call ptr @fn_lbl(ptr @.str11037) store ptr %t61, ptr %t62 %t63 = call ptr @fn_lbl(ptr @.str11038) store ptr %t63, ptr %t64 %t65 = call ptr @fn_lbl(ptr @.str11039) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t60 %t68 = call ptr @lp_str_concat(ptr @.str11040, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str11041) %t70 = load ptr, ptr %t64 %t71 = call ptr @lp_str_concat(ptr %t69, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str11042) %t73 = load ptr, ptr %t62 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str11043) call void @fn_emit(ptr %t75) %t76 = load ptr, ptr %t62 %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str11044) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t38 %t79 = call ptr @lp_str_concat(ptr @.str11045, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str11046) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t66 %t82 = call ptr @lp_str_concat(ptr @.str11047, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str11048) call void @fn_emit(ptr %t83) %t84 = load ptr, ptr %t64 %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str11049) call void @fn_emit(ptr %t85) %t86 = call ptr @fn_emit_bind(ptr @.str11050) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 %t89 = call ptr @lp_str_concat(ptr @.str11051, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str11052) %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 @.str11053, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str11054) call void @fn_emit(ptr %t95) %t96 = load ptr, ptr %t49 %t97 = call ptr @lp_str_concat(ptr @.str11055, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str11056) call void @fn_emit(ptr %t98) %t99 = load ptr, ptr %t66 %t100 = call ptr @lp_str_concat(ptr @.str11057, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str11058) call void @fn_emit(ptr %t101) %t102 = load ptr, ptr %t66 %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str11059) 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 @.str11060) 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 @.str11061, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str11062) %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 @.str11063, ptr %t118) %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str11064) %t121 = load ptr, ptr %t107 %t122 = call ptr @lp_str_concat(ptr %t120, ptr %t121) %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str11065) call void @fn_emit(ptr %t123) %t124 = load ptr, ptr %t107 %t125 = call ptr @lp_str_concat(ptr @.str11066, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str11067) %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 @.str11068, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str11069) %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 @.str11070, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str11071) 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 @.str11072, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str11073) %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 @.str11074) %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 @.str11075) 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 %t204 = 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: %t205 = load i32, ptr @g_g_uses_pid %t206 = icmp ne i32 %t205, 0 %t207 = zext i1 %t206 to i32 store i32 %t207, ptr %t204 br i1 %t206, label %sc95, label %scend96 sc95: %t208 = load i32, ptr @g_g_target_win %t209 = icmp eq 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 %t204 br label %scend96 scend96: %t213 = load i32, ptr %t204 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then97, label %ifend99 then97: call void @fn_emith(ptr @.str11076) br label %ifend99 ifend99: %t215 = load i32, ptr @g_g_uses_unicodert %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then100, label %ifend102 then100: call void @fn_emit_unicode_prelude() br label %ifend102 ifend102: %t217 = load i32, ptr @g_g_uses_fsrt %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then103, label %ifend105 then103: call void @fn_emit_fs_prelude() br label %ifend105 ifend105: %t219 = load i32, ptr @g_g_uses_pak %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then106, label %ifend108 then106: call void @fn_emit_pak_prelude() br label %ifend108 ifend108: %t221 = load i32, ptr @g_g_uses_datert %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then109, label %ifend111 then109: call void @fn_emit_datetime_prelude() br label %ifend111 ifend111: %t223 = load i32, ptr @g_g_uses_panic %t224 = icmp ne i32 %t223, 0 br i1 %t224, label %then112, label %ifend114 then112: call void @fn_emith(ptr @.str11077) call void @fn_emith(ptr @.str11078) br label %ifend114 ifend114: %t225 = load i32, ptr @g_g_uses_result %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then115, label %ifend117 then115: call void @fn_emith(ptr @.str11079) br label %ifend117 ifend117: %t227 = load i32, ptr @g_g_uses_option %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then118, label %ifend120 then118: call void @fn_emith(ptr @.str11080) br label %ifend120 ifend120: call void @fn_emit_cov_runtime() %t229 = load i32, ptr @g_g_emit_module %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then121, label %ifend123 then121: call void @fn_emit_module_glue() br label %ifend123 ifend123: 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 @.str11081) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) call void @fn_emith(ptr @.str11082) 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 @.str11083) br label %ifend11 ifend11: call void @fn_emith(ptr @.str11084) %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 @.str11085) call void @fn_emith(ptr @.str11086) %t35 = load ptr, ptr %t14 call void @fn_emith(ptr %t35) call void @fn_emith(ptr @.str11087) %t36 = load ptr, ptr %t14 %t37 = call ptr @lp_str_concat(ptr @.str11088, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str11089) 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 @.str11090) store ptr %t42, ptr %t43 %t44 = call ptr @fn_emit_str_const(ptr @.str11091) store ptr %t44, ptr %t45 %t46 = call ptr @fn_emit_str_const(ptr @.str11092) store ptr %t46, ptr %t47 call void @fn_emith(ptr @.str11093) call void @fn_emith(ptr @.str11094) %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 @.str11095) br label %ifend14 ifend14: call void @fn_emith(ptr @.str11096) call void @fn_emit(ptr @.str11097) %t52 = load ptr, ptr %t43 %t53 = call ptr @lp_str_concat(ptr @.str11098, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str11099) call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str11100) %t55 = load ptr, ptr %t45 %t56 = call ptr @lp_str_concat(ptr @.str11101, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str11102) call void @fn_emit(ptr %t57) %t58 = load ptr, ptr %t47 %t59 = call ptr @lp_str_concat(ptr @.str11103, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str11104) call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str11105) call void @fn_emit(ptr @.str11106) call void @fn_emit(ptr @.str11107) %t61 = load ptr, ptr %t41 %t62 = call ptr @lp_str_concat(ptr @.str11108, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str11109) call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str11110) call void @fn_emit(ptr @.str11111) call void @fn_emit(ptr @.str11112) %t64 = load ptr, ptr %t14 %t65 = call ptr @lp_str_concat(ptr @.str11113, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str11114) call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11115) call void @fn_emit(ptr @.str11116) call void @fn_emit(ptr @.str11117) %t67 = load ptr, ptr %t14 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str11118) call void @fn_emit(ptr @.str11119) call void @fn_emit(ptr @.str11120) %t68 = load ptr, ptr %t14 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str11121) call void @fn_emit(ptr @.str11122) call void @fn_emit(ptr @.str11123) call void @fn_emit(ptr @.str11124) call void @fn_emit(ptr @.str11125) call void @fn_emit(ptr @.str11126) call void @fn_emit(ptr @.str11127) call void @fn_emit(ptr @.str11128) call void @fn_emit(ptr @.str11129) call void @fn_emit(ptr @.str11130) call void @fn_emit(ptr @.str11131) call void @fn_emit(ptr @.str11132) call void @fn_emith(ptr @.str11133) 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 = call ptr @lp_win_stdio(i32 1) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = load ptr, ptr %t3 %t15 = load ptr, ptr %t3 %t16 = call i64 @strlen(ptr %t15) %t17 = trunc i64 %t16 to i32 %t18 = zext i32 %t17 to i64 %t19 = call i64 @fwrite(ptr %t14, i64 1, i64 %t18, ptr %t13) %t20 = trunc i64 %t19 to i32 %t21 = load ptr, ptr %t12 %t22 = load ptr, ptr %t6 %t23 = load ptr, ptr %t6 %t24 = call i64 @strlen(ptr %t23) %t25 = trunc i64 %t24 to i32 %t26 = zext i32 %t25 to i64 %t27 = call i64 @fwrite(ptr %t22, i64 1, i64 %t26, ptr %t21) %t28 = trunc i64 %t27 to i32 store i32 1, ptr %retval br label %ret ifend2: %t29 = load ptr, ptr %t0 %t30 = call ptr @lp_pak_open(ptr %t29, ptr @.str11134) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = icmp eq ptr %t32, null %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: %t36 = load ptr, ptr %t31 %t37 = load ptr, ptr %t3 %t38 = load ptr, ptr %t3 %t39 = call i64 @strlen(ptr %t38) %t40 = trunc i64 %t39 to i32 %t41 = zext i32 %t40 to i64 %t42 = call i64 @fwrite(ptr %t37, i64 1, i64 %t41, ptr %t36) %t43 = trunc i64 %t42 to i32 %t44 = load ptr, ptr %t31 %t45 = load ptr, ptr %t6 %t46 = load ptr, ptr %t6 %t47 = call i64 @strlen(ptr %t46) %t48 = trunc i64 %t47 to i32 %t49 = zext i32 %t48 to i64 %t50 = call i64 @fwrite(ptr %t45, i64 1, i64 %t49, ptr %t44) %t51 = trunc i64 %t50 to i32 %t52 = load ptr, ptr %t31 call i32 @fclose(ptr %t52) store i32 1, ptr %retval br label %ret ret: %t53 = load i32, ptr %retval ret i32 %t53 } define ptr @fn_base_name(ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_path, ptr %t0 %t1 = sub i32 0, 1 store i32 %t1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load ptr, ptr %t0 %t5 = load i32, ptr %t3 %t6 = getelementptr inbounds i8, ptr %t4, i32 %t5 %t7 = load i8, ptr %t6 %t8 = zext i8 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = load i32, ptr %t3 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 %t17 = call i32 @fn_is_sep(i32 %t16) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load i32, ptr %t3 store i32 %t19, ptr %t2 br label %ifend5 ifend5: %t20 = load i32, ptr %t3 %t21 = add i32 %t20, 1 store i32 %t21, ptr %t3 br label %wcond0 wend2: %t22 = load ptr, ptr %t0 %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 %t25 = load i32, ptr %t3 %t26 = call ptr @lp_str_slice(ptr %t22, i32 %t24, i32 %t25) store ptr %t26, ptr %retval br label %ret ret: %t27 = load ptr, ptr %retval ret ptr %t27 } define ptr @fn_strip_ludic(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = icmp sgt i32 %t5, 6 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t0 %t10 = load i32, ptr %t4 %t11 = sub i32 %t10, 6 %t12 = load i32, ptr %t4 %t13 = call ptr @lp_str_slice(ptr %t9, i32 %t11, i32 %t12) %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str11135) %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 @.str11136) 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 = call ptr @lp_win_stdio(i32 2) %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %t6 = zext i32 %t5 to i64 %t7 = call i64 @fwrite(ptr %t2, i64 1, i64 %t6, ptr %t1) %t8 = trunc i64 %t7 to i32 call void @exit(i32 1) unreachable ret: ret void } define ptr @fn_chomp(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 br label %wcond0 wcond0: %t6 = load i32, ptr %t4 %t7 = icmp sgt i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t5 br i1 %t9, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t4 %t15 = sub i32 %t14, 1 %t16 = getelementptr inbounds i8, ptr %t13, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = icmp eq i32 %t18, 10 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t12 br i1 %t21, label %scend6, label %sc5 sc5: %t23 = load ptr, ptr %t0 %t24 = load i32, ptr %t4 %t25 = sub i32 %t24, 1 %t26 = getelementptr inbounds i8, ptr %t23, i32 %t25 %t27 = load i8, ptr %t26 %t28 = zext i8 %t27 to i32 %t29 = icmp eq i32 %t28, 13 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t12 br label %scend6 scend6: %t33 = load i32, ptr %t12 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t11 br i1 %t34, label %scend8, label %sc7 sc7: %t36 = load ptr, ptr %t0 %t37 = load i32, ptr %t4 %t38 = sub i32 %t37, 1 %t39 = getelementptr inbounds i8, ptr %t36, i32 %t38 %t40 = load i8, ptr %t39 %t41 = zext i8 %t40 to i32 %t42 = icmp eq i32 %t41, 32 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t11 br label %scend8 scend8: %t46 = load i32, ptr %t11 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t5 br label %scend4 scend4: %t49 = load i32, ptr %t5 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %wbody1, label %wend2 wbody1: %t51 = load i32, ptr %t4 %t52 = sub i32 %t51, 1 store i32 %t52, ptr %t4 br label %wcond0 wend2: %t53 = load ptr, ptr %t0 %t54 = load i32, ptr %t4 %t55 = call ptr @lp_str_slice(ptr %t53, i32 0, i32 %t54) store ptr %t55, ptr %retval br label %ret ret: %t56 = load ptr, ptr %retval ret ptr %t56 } define i32 @fn_has_sub(ptr %arg_s, ptr %arg_sub) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t5 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_sub, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i64 @strlen(ptr %t2) %t4 = trunc i64 %t3 to i32 store i32 %t4, ptr %t5 %t6 = load ptr, ptr %t1 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 store i32 %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load i32, ptr %t9 %t13 = add i32 %t11, %t12 %t14 = load i32, ptr %t5 %t15 = icmp sle i32 %t13, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr %t0 %t19 = load i32, ptr %t10 %t20 = load i32, ptr %t10 %t21 = load i32, ptr %t9 %t22 = add i32 %t20, %t21 %t23 = call ptr @lp_str_slice(ptr %t18, i32 %t19, i32 %t22) %t24 = load ptr, ptr %t1 %t25 = call i32 @lp_str_eq(ptr %t23, ptr %t24) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t27 = load i32, ptr %t10 %t28 = add i32 %t27, 1 store i32 %t28, ptr %t10 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } define ptr @fn_win_path(ptr %arg_p) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t9 = alloca ptr %t10 = alloca i32 store ptr %arg_p, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = add i32 %t5, 1 %t7 = zext i32 %t6 to i64 %t8 = call ptr @malloc(i64 %t7) store ptr %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load i32, ptr %t4 %t13 = icmp slt i32 %t11, %t12 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %wbody1, label %wend2 wbody1: %t16 = load ptr, ptr %t0 %t17 = load i32, ptr %t10 %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 %t21 = icmp eq i32 %t20, 47 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %else4 then3: %t24 = load ptr, ptr %t9 %t25 = load i32, ptr %t10 %t26 = getelementptr inbounds i8, ptr %t24, i32 %t25 %t27 = trunc i32 92 to i8 store i8 %t27, ptr %t26 br label %ifend5 else4: %t28 = load ptr, ptr %t9 %t29 = load i32, ptr %t10 %t30 = getelementptr inbounds i8, ptr %t28, i32 %t29 %t31 = load ptr, ptr %t0 %t32 = load i32, ptr %t10 %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 %t34 = load i8, ptr %t33 %t35 = zext i8 %t34 to i32 %t36 = trunc i32 %t35 to i8 store i8 %t36, ptr %t30 br label %ifend5 ifend5: %t37 = load i32, ptr %t10 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t10 br label %wcond0 wend2: %t39 = load ptr, ptr %t9 %t40 = load i32, ptr %t4 %t41 = getelementptr inbounds i8, ptr %t39, i32 %t40 %t42 = trunc i32 0 to i8 store i8 %t42, ptr %t41 %t43 = load ptr, ptr %t9 store ptr %t43, ptr %retval br label %ret ret: %t44 = load ptr, ptr %retval ret ptr %t44 } define void @fn_make_dir(ptr %arg_d) { entry: %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_d, ptr %t0 %t1 = call i32 @fn_host_is_windows() %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %else1 then0: %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_win_path(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = call ptr @lp_str_concat(ptr @.str11137, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str11138) %t9 = load ptr, ptr %t5 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str11139) %t12 = call i32 @system(ptr %t11) br label %ifend2 else1: %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr @.str11140, ptr %t13) %t15 = call i32 @system(ptr %t14) br label %ifend2 ifend2: br label %ret ret: ret void } define void @fn_remove_file(ptr %arg_p) { entry: %t0 = alloca ptr store ptr %arg_p, ptr %t0 %t1 = call i32 @fn_host_is_windows() %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %else1 then0: %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_win_path(ptr %t3) %t5 = call ptr @lp_str_concat(ptr @.str11141, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str11142) %t7 = call i32 @system(ptr %t6) br label %ifend2 else1: %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str11143, ptr %t8) %t10 = call i32 @system(ptr %t9) br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_find_cc() { entry: %retval = alloca ptr %t1 = alloca ptr %t9 = alloca ptr %t12 = alloca ptr %t0 = call ptr @getenv(ptr @.str11144) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 store ptr %t6, ptr %retval br label %ret ifend2: %t7 = call i32 @fn_host_is_windows() %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: store ptr @.str11145, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str11146) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = icmp ne ptr %t13, null %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then6, label %ifend8 then6: %t17 = load ptr, ptr %t12 call i32 @fclose(ptr %t17) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str11147, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str11148) store ptr %t20, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: store ptr @.str11149, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval ret ptr %t21 } define void @fn_show_version() { entry: %t3 = alloca ptr %t0 = call ptr @fn_ludic_home() %t1 = call ptr @fn_join_path(ptr %t0, ptr @.str11150) %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 @.str11151) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) %t10 = call ptr @lp_str_concat(ptr @.str11152, 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 @.str11153, ptr @g_g_parse_file store ptr @.str11154, ptr @g_g_err_file store ptr @.str11155, 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 ptr %t8 = alloca i32 %t15 = alloca ptr %t16 = alloca i32 %t26 = alloca ptr %t128 = alloca ptr %t153 = alloca ptr %t169 = alloca i32 %t179 = alloca i32 %t188 = alloca i32 %t205 = alloca i32 %t234 = alloca i32 %t235 = alloca i32 %t254 = alloca ptr %t264 = alloca ptr %t271 = alloca ptr %t273 = alloca ptr %t278 = alloca ptr %t285 = alloca ptr %t295 = alloca ptr %t305 = alloca ptr %t315 = alloca ptr %t341 = alloca ptr %t349 = alloca ptr %t361 = alloca ptr %t364 = alloca ptr %t367 = alloca ptr %t385 = alloca ptr %t388 = alloca ptr %t401 = alloca ptr %t404 = alloca ptr %t416 = alloca i32 %t427 = alloca i32 %t452 = alloca ptr %t460 = alloca i32 %t481 = alloca i32 store i32 %argc, ptr @L_argc store ptr %argv, ptr @L_argv store i32 0, ptr %retval call void @L_init_globals() store ptr null, ptr %t0 store ptr null, ptr %t1 store i32 0, ptr %t2 store i32 0, ptr %t3 store i32 0, ptr %t4 store i32 0, ptr %t5 store i32 0, ptr %t6 store ptr null, ptr %t7 store i32 0, ptr %t8 %t9 = getelementptr %LSlice, ptr null, i32 1 %t10 = ptrtoint ptr %t9 to i64 %t11 = call ptr @malloc(i64 %t10) %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 store ptr null, ptr %t12 %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 store i32 0, ptr %t13 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 2 store i32 0, ptr %t14 store ptr %t11, ptr %t15 store i32 0, ptr @g_g_coverage store i32 1, ptr %t16 br label %wcond0 wcond0: %t17 = load i32, ptr %t16 %t18 = load i32, ptr @L_argc %t19 = icmp slt i32 %t17, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: %t22 = load i32, ptr %t16 %t23 = load ptr, ptr @L_argv %t24 = getelementptr ptr, ptr %t23, i32 %t22 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str11156) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then3, label %else4 then3: call void @fn_show_version() br label %ifend5 else4: %t30 = load ptr, ptr %t26 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11157) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then6, label %else7 then6: store i32 1, ptr %t2 br label %ifend8 else7: %t33 = load ptr, ptr %t26 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str11158) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then9, label %else10 then9: store i32 2, ptr %t2 br label %ifend11 else10: %t36 = load ptr, ptr %t26 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str11159) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then12, label %else13 then12: store i32 1, ptr %t3 br label %ifend14 else13: %t39 = load ptr, ptr %t26 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str11160) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then15, label %else16 then15: store i32 1, ptr @g_g_emit_module store i32 1, ptr %t3 br label %ifend17 else16: %t42 = load ptr, ptr %t26 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str11161) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then18, label %else19 then18: store i32 1, ptr %t4 br label %ifend20 else19: %t45 = load ptr, ptr %t26 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str11162) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then21, label %else22 then21: store i32 1, ptr %t5 br label %ifend23 else22: %t48 = load ptr, ptr %t26 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str11163) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then24, label %else25 then24: store i32 1, ptr %t6 br label %ifend26 else25: %t51 = load ptr, ptr %t26 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str11164) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then27, label %else28 then27: store i32 1, ptr @g_g_coverage br label %ifend29 else28: %t54 = load ptr, ptr %t26 %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str11165) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then30, label %else31 then30: %t57 = load i32, ptr %t16 %t58 = add i32 %t57, 1 store i32 %t58, ptr %t16 %t59 = load i32, ptr %t16 %t60 = load i32, ptr @L_argc %t61 = icmp slt i32 %t59, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then33, label %ifend35 then33: %t64 = load i32, ptr %t16 %t65 = load ptr, ptr @L_argv %t66 = getelementptr ptr, ptr %t65, i32 %t64 %t67 = load ptr, ptr %t66 store ptr %t67, ptr %t7 br label %ifend35 ifend35: br label %ifend32 else31: %t68 = load ptr, ptr %t26 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str11166) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then36, label %else37 then36: store i32 1, ptr %t8 br label %ifend38 else37: %t71 = load ptr, ptr %t26 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11167) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then39, label %else40 then39: %t74 = load i32, ptr %t16 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t16 %t76 = load i32, ptr %t16 %t77 = load i32, ptr @L_argc %t78 = icmp slt i32 %t76, %t77 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then42, label %ifend44 then42: %t81 = load ptr, ptr %t15 %t82 = load i32, ptr %t16 %t83 = load ptr, ptr @L_argv %t84 = getelementptr ptr, ptr %t83, i32 %t82 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t87 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 2 %t88 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t89 = load i32, ptr %t86 %t90 = load i32, ptr %t87 %t91 = icmp sge i32 %t89, %t90 br i1 %t91, label %grow45, label %put46 grow45: %t92 = mul i32 %t90, 2 %t93 = icmp eq i32 %t90, 0 %t94 = select i1 %t93, i32 8, i32 %t92 %t95 = getelementptr ptr, ptr null, i32 1 %t96 = ptrtoint ptr %t95 to i64 %t97 = zext i32 %t94 to i64 %t98 = mul i64 %t97, %t96 %t99 = load ptr, ptr %t88 %t100 = call ptr @realloc(ptr %t99, i64 %t98) store ptr %t100, ptr %t88 store i32 %t94, ptr %t87 br label %put46 put46: %t101 = load ptr, ptr %t88 %t102 = getelementptr inbounds ptr, ptr %t101, i32 %t89 store ptr %t85, ptr %t102 %t103 = add i32 %t89, 1 store i32 %t103, ptr %t86 br label %ifend44 ifend44: br label %ifend41 else40: %t104 = load ptr, ptr %t26 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str11168) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then47, label %else48 then47: %t107 = load i32, ptr %t16 %t108 = add i32 %t107, 1 store i32 %t108, ptr %t16 %t109 = load i32, ptr %t16 %t110 = load i32, ptr @L_argc %t111 = icmp slt i32 %t109, %t110 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then50, label %ifend52 then50: %t114 = load i32, ptr %t16 %t115 = load ptr, ptr @L_argv %t116 = getelementptr ptr, ptr %t115, i32 %t114 %t117 = load ptr, ptr %t116 store ptr %t117, ptr %t1 br label %ifend52 ifend52: br label %ifend49 else48: %t118 = load ptr, ptr %t26 %t119 = getelementptr inbounds i8, ptr %t118, i32 0 %t120 = load i8, ptr %t119 %t121 = zext i8 %t120 to i32 %t122 = icmp eq i32 %t121, 45 %t123 = zext i1 %t122 to i32 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then53, label %else54 then53: %t125 = load ptr, ptr %t26 %t126 = call ptr @lp_str_concat(ptr @.str11169, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str11170) store ptr %t127, ptr %t128 %t129 = call ptr @lp_win_stdio(i32 2) %t130 = load ptr, ptr %t128 %t131 = load ptr, ptr %t128 %t132 = call i64 @strlen(ptr %t131) %t133 = trunc i64 %t132 to i32 %t134 = zext i32 %t133 to i64 %t135 = call i64 @fwrite(ptr %t130, i64 1, i64 %t134, ptr %t129) %t136 = trunc i64 %t135 to i32 br label %ifend55 else54: %t137 = load ptr, ptr %t26 store ptr %t137, ptr %t0 br label %ifend55 ifend55: br label %ifend49 ifend49: br label %ifend41 ifend41: br label %ifend38 ifend38: br label %ifend32 ifend32: br label %ifend29 ifend29: br label %ifend26 ifend26: br label %ifend23 ifend23: br label %ifend20 ifend20: br label %ifend17 ifend17: br label %ifend14 ifend14: br label %ifend11 ifend11: br label %ifend8 ifend8: br label %ifend5 ifend5: %t138 = load i32, ptr %t16 %t139 = add i32 %t138, 1 store i32 %t139, ptr %t16 br label %wcond0 wend2: %t140 = load ptr, ptr %t0 %t141 = icmp eq ptr %t140, null %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then56, label %ifend58 then56: call void @fn_die(ptr @.str11171) br label %ifend58 ifend58: %t144 = load ptr, ptr %t7 %t145 = icmp ne ptr %t144, null %t146 = zext i1 %t145 to i32 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then59, label %else60 then59: %t148 = load ptr, ptr %t7 %t149 = call i32 @fn_has_sub(ptr %t148, ptr @.str11172) store i32 %t149, ptr @g_g_target_win br label %ifend61 else60: %t150 = call i32 @fn_host_is_windows() store i32 %t150, ptr @g_g_target_win br label %ifend61 ifend61: %t151 = load ptr, ptr %t0 %t152 = call ptr @fn_read_file(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = icmp eq ptr %t154, null %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then62, label %ifend64 then62: call void @fn_die(ptr @.str11173) br label %ifend64 ifend64: %t158 = load ptr, ptr %t0 %t159 = call ptr @fn_dir_of(ptr %t158) store ptr %t159, ptr @g_cur_dir %t160 = load ptr, ptr %t0 %t161 = call ptr @fn_base_name(ptr %t160) store ptr %t161, ptr @g_g_src_name %t162 = load ptr, ptr %t0 store ptr %t162, ptr @g_g_parse_file %t163 = load ptr, ptr %t153 call void @fn_lex(ptr %t163) call void @fn_parse_program() %t164 = load ptr, ptr @g_prog %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 %t166 = load i32, ptr %t165 store i32 %t166, ptr @g_g_prog_user_end %t167 = load i32, ptr %t4 %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then65, label %ifend67 then65: call void @exit(i32 0) unreachable ifend67: call void @fn_maybe_splice_runtime() call void @fn_ui_register_gotos() %t170 = load i32, ptr %t6 %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t169 br i1 %t171, label %scend69, label %sc68 sc68: %t173 = load ptr, ptr %t1 %t174 = icmp ne ptr %t173, null %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t169 br label %scend69 scend69: %t178 = load i32, ptr %t169 store i32 %t178, ptr %t179 %t180 = load i32, ptr %t2 %t181 = icmp eq i32 %t180, 1 %t182 = zext i1 %t181 to i32 %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then70, label %else71 then70: store i32 1, ptr @g_g_windowed br label %ifend72 else71: %t184 = load i32, ptr %t2 %t185 = icmp eq i32 %t184, 2 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then73, label %else74 then73: store i32 0, ptr @g_g_windowed br label %ifend75 else74: %t189 = load i32, ptr %t179 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t188 br i1 %t190, label %sc76, label %scend77 sc76: %t192 = call i32 @fn_has_systems() %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t188 br label %scend77 scend77: %t195 = load i32, ptr %t188 store i32 %t195, ptr @g_g_windowed br label %ifend75 ifend75: br label %ifend72 ifend72: store i32 0, ptr @g_g_parsing call void @fn_emit_program() %t196 = load i32, ptr %t3 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then78, label %ifend80 then78: %t198 = load ptr, ptr %t1 %t199 = call i32 @fn_ir_flush(ptr %t198) br label %ret ifend80: %t200 = load i32, ptr %t179 %t201 = icmp eq i32 %t200, 0 %t202 = zext i1 %t201 to i32 %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then81, label %ifend83 then81: %t204 = call i32 @fn_ir_flush(ptr null) br label %ret ifend83: %t206 = load i32, ptr %t6 %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 store i32 %t208, ptr %t205 br i1 %t207, label %sc84, label %scend85 sc84: %t209 = load ptr, ptr %t1 %t210 = icmp eq ptr %t209, null %t211 = zext i1 %t210 to i32 %t212 = icmp ne i32 %t211, 0 %t213 = zext i1 %t212 to i32 store i32 %t213, ptr %t205 br label %scend85 scend85: %t214 = load i32, ptr %t205 %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then86, label %ifend88 then86: %t216 = call i32 @fn_host_is_windows() %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then89, label %else90 then89: %t218 = call ptr @fn_getenv_or(ptr @.str11174, ptr @.str11175) %t219 = call ptr @fn_fwd_slashes(ptr %t218) %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str11176) %t221 = load ptr, ptr %t0 %t222 = call ptr @fn_base_name(ptr %t221) %t223 = call ptr @fn_strip_ludic(ptr %t222) %t224 = call ptr @lp_str_concat(ptr %t220, ptr %t223) store ptr %t224, ptr %t1 br label %ifend91 else90: %t225 = load ptr, ptr %t0 %t226 = call ptr @fn_base_name(ptr %t225) %t227 = call ptr @fn_strip_ludic(ptr %t226) %t228 = call ptr @lp_str_concat(ptr @.str11177, ptr %t227) store ptr %t228, ptr %t1 br label %ifend91 ifend91: br label %ifend88 ifend88: %t229 = load i32, ptr @g_g_target_win %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then92, label %ifend94 then92: %t231 = load ptr, ptr %t1 %t232 = call i64 @strlen(ptr %t231) %t233 = trunc i64 %t232 to i32 store i32 %t233, ptr %t234 store i32 0, ptr %t235 %t236 = load i32, ptr %t234 %t237 = icmp sge i32 %t236, 4 %t238 = zext i1 %t237 to i32 %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then95, label %ifend97 then95: %t240 = load ptr, ptr %t1 %t241 = load i32, ptr %t234 %t242 = sub i32 %t241, 4 %t243 = load i32, ptr %t234 %t244 = call ptr @lp_str_slice(ptr %t240, i32 %t242, i32 %t243) %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str11178) store i32 %t245, ptr %t235 br label %ifend97 ifend97: %t246 = load i32, ptr %t235 %t247 = icmp eq i32 %t246, 0 %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then98, label %ifend100 then98: %t250 = load ptr, ptr %t1 %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str11179) store ptr %t251, ptr %t1 br label %ifend100 ifend100: br label %ifend94 ifend94: %t252 = load ptr, ptr %t1 %t253 = call ptr @fn_dir_of(ptr %t252) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t254 %t256 = call i64 @strlen(ptr %t255) %t257 = trunc i64 %t256 to i32 %t258 = icmp sgt i32 %t257, 0 %t259 = zext i1 %t258 to i32 %t260 = icmp ne i32 %t259, 0 br i1 %t260, label %then101, label %ifend103 then101: %t261 = load ptr, ptr %t254 call void @fn_make_dir(ptr %t261) br label %ifend103 ifend103: %t262 = load ptr, ptr %t1 %t263 = call ptr @lp_str_concat(ptr %t262, ptr @.str11180) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t264 %t266 = call i32 @fn_ir_flush(ptr %t265) %t267 = icmp eq i32 %t266, 0 %t268 = zext i1 %t267 to i32 %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then104, label %ifend106 then104: call void @fn_die(ptr @.str11181) br label %ifend106 ifend106: %t270 = call ptr @fn_find_cc() store ptr %t270, ptr %t271 %t272 = call ptr @fn_ludic_home() store ptr %t272, ptr %t273 %t274 = load ptr, ptr %t271 %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str11182) %t276 = load ptr, ptr %t264 %t277 = call ptr @lp_str_concat(ptr %t275, ptr %t276) store ptr %t277, ptr %t278 %t279 = load i32, ptr @g_g_target_win %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then107, label %else108 then107: %t281 = load i32, ptr @g_g_windowed %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %then110, label %ifend112 then110: %t283 = load ptr, ptr %t273 %t284 = call ptr @fn_join_path(ptr %t283, ptr @.str11183) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t278 %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str11184) %t288 = load ptr, ptr %t285 %t289 = call ptr @lp_str_concat(ptr %t287, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str11185) store ptr %t290, ptr %t278 %t291 = load i32, ptr @g_g_uses_audio %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then113, label %ifend115 then113: %t293 = load ptr, ptr %t273 %t294 = call ptr @fn_join_path(ptr %t293, ptr @.str11186) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t278 %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str11187) %t298 = load ptr, ptr %t295 %t299 = call ptr @lp_str_concat(ptr %t297, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str11188) store ptr %t300, ptr %t278 br label %ifend115 ifend115: br label %ifend112 ifend112: br label %ifend109 else108: %t301 = load i32, ptr @g_g_windowed %t302 = icmp ne i32 %t301, 0 br i1 %t302, label %then116, label %ifend118 then116: %t303 = load ptr, ptr %t273 %t304 = call ptr @fn_join_path(ptr %t303, ptr @.str11189) store ptr %t304, ptr %t305 %t306 = load ptr, ptr %t278 %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str11190) %t308 = load ptr, ptr %t305 %t309 = call ptr @lp_str_concat(ptr %t307, ptr %t308) %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str11191) store ptr %t310, ptr %t278 %t311 = load i32, ptr @g_g_uses_audio %t312 = icmp ne i32 %t311, 0 br i1 %t312, label %then119, label %ifend121 then119: %t313 = load ptr, ptr %t273 %t314 = call ptr @fn_join_path(ptr %t313, ptr @.str11192) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t278 %t317 = call ptr @lp_str_concat(ptr %t316, ptr @.str11193) %t318 = load ptr, ptr %t315 %t319 = call ptr @lp_str_concat(ptr %t317, ptr %t318) %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str11194) store ptr %t320, ptr %t278 br label %ifend121 ifend121: br label %ifend118 ifend118: br label %ifend109 ifend109: %t321 = load i32, ptr @g_g_uses_jobs %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then122, label %ifend124 then122: %t323 = load i32, ptr @g_g_target_win %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %then125, label %else126 then125: %t325 = load ptr, ptr %t278 %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str11195) %t327 = load ptr, ptr %t273 %t328 = call ptr @fn_join_path(ptr %t327, ptr @.str11196) %t329 = call ptr @lp_str_concat(ptr %t326, ptr %t328) store ptr %t329, ptr %t278 br label %ifend127 else126: %t330 = load ptr, ptr %t278 %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str11197) %t332 = load ptr, ptr %t273 %t333 = call ptr @fn_join_path(ptr %t332, ptr @.str11198) %t334 = call ptr @lp_str_concat(ptr %t331, ptr %t333) store ptr %t334, ptr %t278 br label %ifend127 ifend127: br label %ifend124 ifend124: %t335 = load i32, ptr @g_g_uses_http %t336 = icmp ne i32 %t335, 0 br i1 %t336, label %then128, label %ifend130 then128: %t337 = load i32, ptr @g_g_target_win %t338 = icmp ne i32 %t337, 0 br i1 %t338, label %then131, label %else132 then131: %t339 = load ptr, ptr %t273 %t340 = call ptr @fn_join_path(ptr %t339, ptr @.str11199) store ptr %t340, ptr %t341 %t342 = load ptr, ptr %t278 %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str11200) %t344 = load ptr, ptr %t341 %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str11201) store ptr %t346, ptr %t278 br label %ifend133 else132: %t347 = load ptr, ptr %t273 %t348 = call ptr @fn_join_path(ptr %t347, ptr @.str11202) store ptr %t348, ptr %t349 %t350 = load ptr, ptr %t278 %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str11203) %t352 = load ptr, ptr %t349 %t353 = call ptr @lp_str_concat(ptr %t351, ptr %t352) %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str11204) store ptr %t354, ptr %t278 br label %ifend133 ifend133: br label %ifend130 ifend130: %t355 = load i32, ptr @g_g_uses_gl %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then134, label %ifend136 then134: %t357 = load i32, ptr @g_g_target_win %t358 = icmp ne i32 %t357, 0 br i1 %t358, label %then137, label %else138 then137: %t359 = load ptr, ptr %t273 %t360 = call ptr @fn_join_path(ptr %t359, ptr @.str11205) store ptr %t360, ptr %t361 %t362 = load ptr, ptr %t273 %t363 = call ptr @fn_join_path(ptr %t362, ptr @.str11206) store ptr %t363, ptr %t364 %t365 = load ptr, ptr %t273 %t366 = call ptr @fn_join_path(ptr %t365, ptr @.str11207) store ptr %t366, ptr %t367 %t368 = load i32, ptr @g_g_windowed %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then140, label %ifend142 then140: %t370 = load ptr, ptr %t273 %t371 = call ptr @fn_join_path(ptr %t370, ptr @.str11208) store ptr %t371, ptr %t367 br label %ifend142 ifend142: %t372 = load ptr, ptr %t278 %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str11209) %t374 = load ptr, ptr %t361 %t375 = call ptr @lp_str_concat(ptr %t373, ptr %t374) %t376 = call ptr @lp_str_concat(ptr %t375, ptr @.str11210) %t377 = load ptr, ptr %t364 %t378 = call ptr @lp_str_concat(ptr %t376, ptr %t377) %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str11211) %t380 = load ptr, ptr %t367 %t381 = call ptr @lp_str_concat(ptr %t379, ptr %t380) %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str11212) store ptr %t382, ptr %t278 br label %ifend139 else138: %t383 = load ptr, ptr %t273 %t384 = call ptr @fn_join_path(ptr %t383, ptr @.str11213) store ptr %t384, ptr %t385 %t386 = load ptr, ptr %t273 %t387 = call ptr @fn_join_path(ptr %t386, ptr @.str11214) store ptr %t387, ptr %t388 %t389 = load ptr, ptr %t278 %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str11215) %t391 = load ptr, ptr %t385 %t392 = call ptr @lp_str_concat(ptr %t390, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str11216) %t394 = load ptr, ptr %t388 %t395 = call ptr @lp_str_concat(ptr %t393, ptr %t394) %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str11217) store ptr %t396, ptr %t278 br label %ifend139 ifend139: br label %ifend136 ifend136: %t397 = load i32, ptr @g_g_uses_vk %t398 = icmp ne i32 %t397, 0 br i1 %t398, label %then143, label %ifend145 then143: %t399 = load ptr, ptr %t273 %t400 = call ptr @fn_join_path(ptr %t399, ptr @.str11218) store ptr %t400, ptr %t401 %t402 = load ptr, ptr %t273 %t403 = call ptr @fn_join_path(ptr %t402, ptr @.str11219) store ptr %t403, ptr %t404 %t405 = load i32, ptr @g_g_target_win %t406 = icmp ne i32 %t405, 0 br i1 %t406, label %then146, label %ifend148 then146: %t407 = load ptr, ptr %t273 %t408 = call ptr @fn_join_path(ptr %t407, ptr @.str11220) store ptr %t408, ptr %t404 br label %ifend148 ifend148: %t409 = load ptr, ptr %t278 %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str11221) %t411 = load ptr, ptr %t401 %t412 = call ptr @lp_str_concat(ptr %t410, ptr %t411) %t413 = call ptr @lp_str_concat(ptr %t412, ptr @.str11222) %t414 = load ptr, ptr %t404 %t415 = call ptr @lp_str_concat(ptr %t413, ptr %t414) store ptr %t415, ptr %t278 br label %ifend145 ifend145: %t417 = load i32, ptr @g_g_target_win %t418 = icmp ne i32 %t417, 0 %t419 = zext i1 %t418 to i32 store i32 %t419, ptr %t416 br i1 %t418, label %sc149, label %scend150 sc149: %t420 = load i32, ptr %t8 %t421 = icmp ne i32 %t420, 0 %t422 = zext i1 %t421 to i32 store i32 %t422, ptr %t416 br label %scend150 scend150: %t423 = load i32, ptr %t416 %t424 = icmp ne i32 %t423, 0 br i1 %t424, label %then151, label %ifend153 then151: %t425 = load ptr, ptr %t278 %t426 = call ptr @lp_str_concat(ptr %t425, ptr @.str11223) store ptr %t426, ptr %t278 br label %ifend153 ifend153: store i32 0, ptr %t427 br label %wcond154 wcond154: %t428 = load i32, ptr %t427 %t429 = load ptr, ptr %t15 %t430 = getelementptr inbounds %LSlice, ptr %t429, i32 0, i32 1 %t431 = load i32, ptr %t430 %t432 = icmp slt i32 %t428, %t431 %t433 = zext i1 %t432 to i32 %t434 = icmp ne i32 %t433, 0 br i1 %t434, label %wbody155, label %wend156 wbody155: %t435 = load ptr, ptr %t278 %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str11224) %t437 = load ptr, ptr %t15 %t438 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 0 %t439 = load ptr, ptr %t438 %t440 = load i32, ptr %t427 %t441 = getelementptr inbounds ptr, ptr %t439, i32 %t440 %t442 = load ptr, ptr %t441 %t443 = call ptr @lp_str_concat(ptr %t436, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str11225) store ptr %t444, ptr %t278 %t445 = load i32, ptr %t427 %t446 = add i32 %t445, 1 store i32 %t446, ptr %t427 br label %wcond154 wend156: %t447 = load ptr, ptr %t278 %t448 = call ptr @lp_str_concat(ptr %t447, ptr @.str11226) %t449 = load ptr, ptr %t1 %t450 = call ptr @lp_str_concat(ptr %t448, ptr %t449) store ptr %t450, ptr %t278 %t451 = load ptr, ptr %t278 store ptr %t451, ptr %t452 %t453 = call i32 @fn_host_is_windows() %t454 = icmp ne i32 %t453, 0 br i1 %t454, label %then157, label %ifend159 then157: %t455 = load ptr, ptr %t278 %t456 = call ptr @lp_str_concat(ptr @.str11227, ptr %t455) %t457 = call ptr @lp_str_concat(ptr %t456, ptr @.str11228) store ptr %t457, ptr %t452 br label %ifend159 ifend159: %t458 = load ptr, ptr %t452 %t459 = call i32 @system(ptr %t458) store i32 %t459, ptr %t460 %t461 = load i32, ptr %t5 %t462 = icmp eq i32 %t461, 0 %t463 = zext i1 %t462 to i32 %t464 = icmp ne i32 %t463, 0 br i1 %t464, label %then160, label %ifend162 then160: %t465 = load ptr, ptr %t264 call void @fn_remove_file(ptr %t465) br label %ifend162 ifend162: %t466 = load i32, ptr %t460 %t467 = icmp ne i32 %t466, 0 %t468 = zext i1 %t467 to i32 %t469 = icmp ne i32 %t468, 0 br i1 %t469, label %then163, label %ifend165 then163: call void @fn_die(ptr @.str11229) br label %ifend165 ifend165: %t470 = load i32, ptr %t6 %t471 = icmp ne i32 %t470, 0 br i1 %t471, label %then166, label %ifend168 then166: %t472 = call i32 @fn_host_is_windows() %t473 = icmp ne i32 %t472, 0 br i1 %t473, label %then169, label %ifend171 then169: %t474 = load ptr, ptr %t1 %t475 = call ptr @fn_win_path(ptr %t474) %t476 = call ptr @lp_str_concat(ptr @.str11230, ptr %t475) %t477 = call ptr @lp_str_concat(ptr %t476, ptr @.str11231) %t478 = call i32 @system(ptr %t477) call void @exit(i32 %t478) unreachable ifend171: %t479 = load ptr, ptr %t1 %t480 = call i32 @system(ptr %t479) store i32 %t480, ptr %t481 %t482 = load i32, ptr %t481 %t483 = lshr i32 %t482, 8 %t484 = and i32 %t483, 255 call void @exit(i32 %t484) unreachable ifend168: br label %ret ret: %t485 = load i32, ptr %retval ret i32 %t485 }